Ir para o conteúdo

YOLOX vs. YOLOv10: Uma comparação técnica

O campo da deteção de objectos tem registado uma rápida evolução, impulsionada pela necessidade de modelos que equilibrem uma elevada precisão com velocidades de inferência em tempo real. O YOLOX e o YOLOv10 representam dois marcos significativos nesta linha do tempo. O YOLOX, lançado em 2021, revitalizou a família YOLO ao introduzir uma arquitetura sem âncoras, enquanto YOLOv10, lançado em 2024, estabelece um novo padrão ao eliminar a necessidade de Supressão Não MáximaNMS), reduzindo significativamente a latência de inferência.

Esta análise abrangente explora as inovações arquitectónicas, as métricas de desempenho e os casos de utilização ideais para ambos os modelos, ajudando os programadores e investigadores a selecionar a melhor ferramenta para as suas aplicações de visão computacional.

YOLOX: O pioneiro sem âncora

O YOLOX foi introduzido pela Megvii em 2021, marcando uma mudança em relação aos designs baseados em âncoras que dominavam as versões anteriores YOLO . Ao adotar um mecanismo sem âncoras e ao integrar técnicas avançadas como cabeças desacopladas e SimOTA, o YOLOX alcançou um desempenho competitivo e colmatou o fosso entre os quadros de investigação e as aplicações industriais.

Detalhes técnicos:
Autores: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organização:Megvii
Data: 2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Docs:https://yolox.readthedocs.io/en/latest/

Arquitetura e Principais Características

O YOLOX divergiu dos seus antecessores, como o YOLOv4 e o YOLOv5 implementando várias alterações arquitectónicas fundamentais concebidas para melhorar a generalização e simplificar o pipeline de treino.

  • Mecanismo sem âncoras: Ao remover as caixas de ancoragem predefinidas, o YOLOX elimina a necessidade de afinação manual da ancoragem, tornando o modelo mais robusto a formas variadas de objectos e reduzindo o número de parâmetros de design.
  • Cabeça desacoplada: Ao contrário das cabeças acopladas que partilham caraterísticas para classificação e localização, o YOLOX utiliza uma cabeça desacoplada. Esta separação permite que cada tarefa optimize os seus parâmetros de forma independente, conduzindo a uma convergência mais rápida e a uma melhor precisão global.
  • Atribuição de etiquetas SimOTA: A YOLOX introduziu o SimOTA (Simplified Optimal Transport Assignment), uma estratégia dinâmica de atribuição de etiquetas que trata o problema de atribuição como uma tarefa de transporte óptima. Este método adapta-se eficazmente a diferentes escalas de objectos e melhora a estabilidade da formação.
  • Aumentos fortes: O pipeline de formação incorpora o aumento de dados MixUp e Mosaic, que foram cruciais para alcançar resultados de ponta na altura do seu lançamento.

Forças e Fraquezas

Forças:

  • Elevada exatidão: O YOLOX apresenta fortes pontuações mAP no conjunto de dadosCOCO , particularmente com as suas variantes maiores, como o YOLOX-x.
  • Desenho simplificado: A abordagem sem âncoras reduz os hiperparâmetros heurísticos, simplificando a configuração do modelo.
  • Suporte legado: Sendo um modelo estabelecido, foi amplamente testado em vários contextos académicos e industriais.

Fraquezas:

  • Latência mais elevada: Em comparação com os detectores modernos, o YOLOX depende do pós-processamento NMS , que pode ser um estrangulamento para aplicações de latência ultra-baixa.
  • Custo computacional: geralmente requer mais FLOPs e parâmetros do que os modelos mais recentes para atingir uma precisão semelhante.
  • Integração: Embora seja de código aberto, não possui a integração perfeita encontrada no ecossistema Ultralytics , o que pode exigir mais esforço para os pipelines de implantação.

Saiba mais sobre o YOLOX.

YOLOv10: Deteção em tempo real de ponta a ponta

Lançado em maio de 2024 por investigadores da Universidade de Tsinghua, YOLOv10 representa uma mudança de paradigma na deteção de objectos em tempo real. Ao eliminar a necessidade de Supressão Não MáximaNMS) e ao otimizar os componentes do modelo para obter eficiência, YOLOv10 atinge uma velocidade e precisão superiores com uma sobrecarga computacional significativamente menor.

Detalhes técnicos:
Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
Organização: Universidade de Tsinghua
Data: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docsultralytics

Arquitetura e inovação

YOLOv10 centra-se na conceção holística de modelos orientados para a eficiência e a precisão, abordando tanto a arquitetura como a cadeia de pós-processamento.

  • TreinoNMS: A caraterística mais inovadora é a utilização de atribuições duplas consistentes. Esta estratégia permite que o modelo seja treinado com sinais de supervisão ricos enquanto permite a correspondência um-para-um durante a inferência. Isso elimina a necessidade de NMS, um gargalo de latência comum na implantação.
  • Projeto de modelo holístico: YOLOv10 emprega cabeças de classificação leves, redução da amostragem desacoplada de canais espaciais e design de blocos guiados por classificação. Estas optimizações reduzem a redundância computacional e a utilização de memória sem sacrificar o desempenho.
  • Convolução de núcleo grande: A arquitetura utiliza seletivamente convoluções de profundidade de núcleo grande para expandir o campo recetivo, melhorando a deteção de objectos pequenos.

Pontos fortes e benefícios

Forças:

  • Eficiência de última geração: YOLOv10 oferece um compromisso inigualável entre velocidade e precisão. O design NMS reduz significativamente a latência de ponta a ponta.
  • Eficiência de parâmetros: Atinge uma maior precisão com menos parâmetros em comparação com as gerações anteriores, tornando-o ideal para dispositivos de IA de ponta como o Raspberry Pi.
  • Integração comUltralytics : O facto de fazer parte do ecossistema Ultralytics garante que é fácil de utilizar, está bem documentado e suporta vários formatos de exportação como ONNX e TensorRT.

Saiba mais sobre o YOLOv10

Análise de Desempenho

A tabela seguinte compara o desempenho do YOLOX e do YOLOv10 no conjunto de dados de referênciaCOCO . As métricas destacam melhorias significativas na eficiência do modelo mais recente.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Análise: Os dados demonstram claramente a superioridade do YOLOv10 em termos de eficiência. Por exemplo, YOLOv10 atinge um mAP significativamente mais elevado de 46,7% em comparação com o YOLOX-s (40,5%), utilizando menos parâmetros (7,2M vs 9,0M). Em particular, YOLOv10 ultrapassa o YOLOX-x em termos de precisão (54,4% vs 51,1%), sendo substancialmente mais rápido (12,2ms vs 16,1ms) e exigindo quase metade dos parâmetros (56,9M vs 99,1M). Esta eficiência faz do YOLOv10 uma escolha muito melhor para sistemas em tempo real.

Perspetiva da eficiência

A eliminação do pós-processamento NMS do YOLOv10 significa que os tempos de inferência são mais estáveis e previsíveis, um fator crítico para aplicações críticas em termos de segurança, como veículos autónomos e robótica industrial.

Metodologias de Treinamento e Ecossistema

Enquanto o YOLOX introduziu técnicas de aumento avançadas que são agora padrão, YOLOv10 beneficia do pipeline de formação Ultralytics maduro e de fácil utilização.

  • Facilidade de utilização: Os modelos Ultralytics são conhecidos pela sua APIPython simplificada. O treino de um modelo YOLOv10 requer apenas algumas linhas de código, ao passo que a utilização do YOLOX envolve frequentemente ficheiros de configuração e gestão de dependências mais complexos.
  • Ecossistema bem mantido: YOLOv10 está totalmente integrado na estrutura Ultralytics . Isto concede aos utilizadores o acesso a funcionalidades como a afinação automática de hiperparâmetros, a gestão perfeita de conjuntos de dados através do Ultralytics Explorer e várias opções de implementação.
  • Eficiência de memória: As optimizações Ultralytics garantem que modelos como o YOLOv10 consomem menos memória CUDA durante o treino em comparação com arquitecturas mais antigas ou modelos de transformadores pesados, permitindo tamanhos de lote maiores em GPUs de consumo.

Exemplo de código: Utilização do YOLOv10

O exemplo seguinte demonstra a facilidade com que os programadores podem carregar um modelo YOLOv10 pré-treinado e executar a inferência numa imagem utilizando a biblioteca Ultralytics .

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Run inference on a local image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

Casos de Uso Ideais

Ambos os modelos têm o seu lugar, mas a arquitetura moderna do YOLOv10 torna-o adequado para uma gama mais vasta de aplicações contemporâneas.

  • IA de borda e IoT: A baixa contagem de parâmetros e a alta velocidade do YOLOv10 tornam-no perfeito para ser implementado em dispositivos com computação limitada, como o NVIDIA Jetson ou câmaras inteligentes.
  • Fabrico a alta velocidade: Na inspeção industrial, onde as correias transportadoras se movem rapidamente, a inferência NMS do YOLOv10 garante que a deteção de objectos acompanha o ritmo das linhas de produção sem estrangulamentos.
  • Vigilância e Segurança: Para analisar vários fluxos de vídeo em simultâneo, a eficiência computacional do YOLOv10 permite uma maior densidade de fluxos por servidor em comparação com o YOLOX.
  • Linhas de base de investigação: O YOLOX continua a ser uma base valiosa para os investigadores que estudam a evolução de detectores sem âncoras e métodos de atribuição de transporte óptimos.

Conclusão

Enquanto o YOLOX desempenhou um papel fundamental na popularização da deteção sem âncoras, YOLOv10 destaca-se como a escolha superior para o desenvolvimento moderno. A sua inovadora arquitetura NMS, combinada com o abrangente ecossistema Ultralytics , proporciona uma solução poderosa que é simultaneamente mais rápida e mais precisa.

Para os programadores que procuram o melhor equilíbrio de desempenho, facilidade de utilização e suporte a longo prazo, YOLOv10 é altamente recomendado. Além disso, para aqueles que exigem ainda mais versatilidade em tarefas como estimativa de pose ou segmentação de instância, o robusto YOLO11 serve como uma excelente alternativa dentro da mesma estrutura de fácil utilização.

Ao escolher os modelos Ultralytics , você garante que seus projetos sejam construídos sobre uma base de pesquisa de ponta, suporte ativo da comunidade e confiabilidade pronta para produção.


Comentários