Ir para o conteúdo

YOLOX vs. YOLO: Um mergulho profundo na evolução da deteção de objectos

O panorama da deteção de objectos está em constante evolução, com os investigadores a ultrapassarem continuamente os limites da precisão, da velocidade de inferência e da eficiência arquitetónica. Duas contribuições notáveis para este campo são o YOLOX e o YOLO. O YOLOX revitalizou a família YOLO introduzindo um mecanismo sem âncoras, enquanto o YOLO aproveitou a Pesquisa de Arquitetura Neural (NAS) para otimizar o desempenho especificamente para aplicações industriais.

Este guia fornece uma comparação técnica abrangente para ajudar os programadores e investigadores a compreender as nuances de cada modelo, os seus casos de utilização ideais e a forma como se comparam com soluções modernas como Ultralytics YOLO11.

YOLOX: O pioneiro sem âncora

Desenvolvido pela Megvii, o YOLOX representou uma mudança significativa na linhagem YOLO quando foi lançado em 2021. Ao mudar para um design sem âncora, simplificou o processo de treinamento e eliminou a necessidade de cálculos complexos de caixa de âncora, que eram um grampo de iterações anteriores como YOLOv4 e YOLOv5.

Detalhes Técnicos:

Saiba mais sobre o YOLOX.

Principais caraterísticas arquitectónicas

O YOLOX integra várias técnicas avançadas para atingir o seu desempenho:

  1. Mecanismo sem âncoras: Ao prever diretamente os centros dos objectos, o YOLOX reduz o número de parâmetros de conceção e os passos de afinação heurística associados aos métodos baseados em âncoras.
  2. Cabeça desacoplada: Ao contrário das cabeças acopladas que tratam a classificação e a regressão em conjunto, o YOLOX separa estas tarefas. Esta separação melhora a velocidade de convergência e a precisão geral.
  3. SimOTA: Uma estratégia avançada de atribuição de etiquetas denominada Simplified Optimal Transport Assignment (SimOTA) atribui dinamicamente amostras positivas a verdades fundamentais, optimizando o objetivo de formação de forma mais eficaz do que a correspondência estática.

Porquê sem âncora?

Os detectores sem âncora simplificam a conceção do modelo, eliminando a necessidade de ajustar manualmente os hiperparâmetros da caixa de âncora (como o tamanho e o rácio de aspeto) para conjuntos de dados específicos. Isto conduz frequentemente a uma melhor generalização entre diversas formas de objectos.

YOLO: Pesquisa de Arquitetura Neural Optimizada

Lançado pelo Grupo Alibaba no final de 2022, o YOLO centra-se em colmatar a lacuna entre o elevado desempenho e a baixa latência. Utiliza técnicas automatizadas de aprendizagem automática para descobrir estruturas de rede eficientes, o que o torna um forte concorrente para aplicações industriais que requerem processamento em tempo real.

Detalhes Técnicos:

Saiba mais sobre o DAMO-YOLO.

Principais caraterísticas arquitectónicas

A YOLO introduz várias "novas tecnologias" no ecossistema YOLO :

  1. Backbone MAE-NAS: O modelo utiliza um backbone gerado através da Pesquisa de Arquitetura Neural (NAS) com base na métrica de Erro Absoluto Médio (MAE). Isto assegura que o extrator de caraterísticas é perfeitamente adaptado à tarefa de deteção.
  2. RepGFPN: Um projeto de pescoço pesado baseado na Rede de Pirâmide de Caraterísticas Generalizadas (GFPN) que usa re-parametrização para maximizar a eficiência da fusão de caraterísticas, mantendo a latência de inferência baixa.
  3. ZeroHead: Uma cabeça de deteção simplificada que reduz a sobrecarga computacional sem sacrificar a precisão das previsões.
  4. AlignedOTA: Uma evolução da atribuição de rótulos que alinha melhor as pontuações de classificação com a precisão da regressão, garantindo que as previsões de alta qualidade sejam priorizadas.

Análise de Desempenho

Quando se comparam estes dois modelos, é crucial analisar os compromissos entre a exatidãomAP) e a velocidade de inferência (latência). O quadro seguinte mostra que, embora o YOLOX continue a ser competitivo, a arquitetura mais recente do YOLO proporciona geralmente uma velocidade superior em hardware GPU para níveis de precisão semelhantes.

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
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3

Pontos críticos de comparação

  • Velocidade vs. Precisão: O YOLO(DAMO-YOLOt) alcança um mAP mais elevado (42,0) do que o YOLOX-Small (40,5), sendo mais rápido (2,32ms vs 2,56ms) e utilizando menos FLOPs. Isso demonstra a eficácia do backbone otimizado para NAS.
  • Eficiência de parâmetros: O YOLOX-Nano é extremamente leve (0,91 M de parâmetros), o que o torna uma opção viável para dispositivos de ponta com recursos extremamente limitados, em que cada byte conta, embora o YOLO não ofereça um concorrente direto a essa escala específica.
  • Desempenho de topo de gama: Embora o YOLOX-X aumente a precisão para 51,1 mAP, fá-lo com uma enorme contagem de parâmetros (99,1M). O YOLO alcança uma precisão comparável de 50,8 mAP com menos de metade dos parâmetros (42,1M), destacando um design mais moderno e eficiente.

Casos de Uso e Aplicações

A escolha entre YOLOX e YOLO depende frequentemente do ambiente de implementação específico.

  • O YOLOX é adequado para ambientes de investigação e cenários que requerem uma implementação direta e sem âncoras. A sua maturidade significa que existem muitos recursos da comunidade e tutoriais disponíveis. É um forte candidato para tarefas de deteção de objectos de uso geral em que é necessária compatibilidade com o legado.
  • O YOLO destaca-se em aplicações de automação industrial e cidades inteligentes, onde a baixa latência no hardware GPU é fundamental. A sua arquitetura optimizada torna-o ideal para análise de vídeo de alto rendimento e deteção de defeitos em tempo real no fabrico.

Ultralytics YOLO11: A alternativa superior

Embora o YOLOX e o YOLO ofereçam capacidades de deteção robustas, estão em grande parte limitados a essa única tarefa e carecem de um ecossistema unificado e de apoio. Para os programadores que procuram uma solução abrangente, Ultralytics YOLO11 representa o estado da arte em IA de visão.

Saiba mais sobre o YOLO11.

Os modelos Ultralytics são concebidos não apenas como arquitecturas, mas como ferramentas completas de desenvolvimento.

Por que escolher o Ultralytics YOLO11?

  1. Versatilidade em todas as tarefas: Ao contrário do YOLOX e do YOLO, que se concentram principalmente na deteção de caixas delimitadoras, YOLO11 suporta nativamente uma vasta gama de tarefas de visão computacional. Isso inclui segmentação de instâncias, estimativa de pose, deteção orientada de objetos (OBB) e classificação de imagens.
  2. Facilidade de utilização inigualável: A APIPython Ultralytics permite-lhe treinar, validar e implementar modelos com apenas algumas linhas de código. Não há necessidade de clonar repositórios complexos ou configurar manualmente caminhos de ambiente.
  3. Ecossistema bem mantido: Ultralytics fornece actualizações frequentes, garantindo a compatibilidade com as versões mais recentes do PyTorch, ONNXe TensorRT. A comunidade ativa e a extensa documentação significam que nunca ficará sem apoio.
  4. Eficiência e memória de treino: YOLO11 foi concebido para ser eficiente. Normalmente, requer menos memória de GPU durante o treinamento em comparação com arquiteturas mais antigas ou modelos baseados em transformadores pesados, permitindo iterações mais rápidas e custos reduzidos de computação em nuvem.
  5. Equilíbrio de desempenho: YOLO11 baseia-se no legado das versões anteriores YOLO para oferecer um equilíbrio ideal de velocidade e precisão, tornando-o adequado para implantação em tudo, desde dispositivos de ponta NVIDIA Jetson até servidores em nuvem de nível empresarial.

Facilidade de utilização com o Ultralytics

O treino de um modelo YOLO11 é incrivelmente simples em comparação com as estruturas tradicionais.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

Conclusão

Tanto o YOLOX como o YOLO conquistaram o seu lugar na história da visão computacional. O YOLOX popularizou com sucesso o paradigma sem âncoras, enquanto o YOLO demonstrou o poder da Pesquisa de Arquitetura Neural para otimizar detectores industriais. No entanto, para aplicações modernas que requerem flexibilidade, suporte a longo prazo e capacidades multitarefa, Ultralytics YOLO11 destaca-se como a principal escolha. A sua integração num ecossistema robusto, combinada com um desempenho de ponta e um espaço mínimo de memória, permite que os programadores criem facilmente soluções de IA escaláveis e eficientes.

Explore Outros Modelos

Para uma perspetiva mais alargada sobre a comparação destes modelos com outras arquitecturas topo de gama, explore as nossas páginas de comparação detalhadas:


Comentários