Ir para o conteúdo

YOLOX vs. YOLOv5: Explorando a inovação sem âncora e a eficiência comprovada

No panorama em rápida evolução da deteção de objectos, a seleção da arquitetura certa é fundamental para o sucesso do projeto. Esta comparação explora dois modelos influentes: YOLOX, uma potência académica conhecida pelo seu design sem âncoras, e YOLOv5o padrão da indústria em termos de velocidade e facilidade de implementação. Ambos os modelos moldaram o campo da visão computacional, mas atendem a necessidades distintas, dependendo de sua prioridade ser a precisão de nível de pesquisa ou a eficiência pronta para a produção.

Análise de Desempenho: Velocidade, Precisão e Eficiência

Ao avaliar o YOLOX e YOLOv5, a distinção resume-se frequentemente ao compromisso entre a precisão bruta e a eficiência operacional. O YOLOX introduziu alterações arquitectónicas significativas, como uma cabeça desacoplada e um mecanismo sem âncoras, o que lhe permitiu atingir pontuações mAP (precisão média média) topo de gama aquando do seu lançamento. Destaca-se em cenários onde cada ponto percentual de precisão conta, particularmente em benchmarks difíceis como o COCO.

Por outro lado, Ultralytics YOLOv5 foi projetado com foco no desempenho do "mundo real". Ele prioriza a velocidade de inferência e a baixa latência, tornando-o excecionalmente adequado para aplicativos móveis, sistemas incorporados e dispositivos de IA de ponta. Embora o YOLOX possa ter uma ligeira vantagem em mAP para modelos grandes específicos, YOLOv5 supera-o consistentemente em taxa de transferência (quadros por segundo) e flexibilidade de implantação, aproveitando o abrangente ecossistemaUltralytics .

A tabela abaixo fornece uma comparação detalhada lado a lado dos modelos em vários tamanhos. Observe como YOLOv5 mantém uma precisão competitiva, oferecendo tempos de inferência significativamente mais rápidos, especialmente quando otimizado com o TensorRT.

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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

YOLOX: O concorrente sem âncora

O YOLOX foi desenvolvido por investigadores da Megvii para colmatar a lacuna entre a série YOLO e os avanços académicos na deteção sem âncoras. Ao remover a restrição de caixas de ancoragem predefinidas, o YOLOX simplifica o processo de treinamento e reduz a necessidade de ajuste heurístico.

Arquitetura e Inovações

O YOLOX incorpora uma cabeça desacoplada, que separa as tarefas de classificação e regressão em ramos diferentes. Este design contrasta com as cabeças acopladas das versões anteriores YOLO e melhora a velocidade de convergência e a precisão. Além disso, utiliza o SimOTA, uma estratégia avançada de atribuição de rótulos que atribui dinamicamente amostras positivas, aumentando a robustez do modelo em cenas densas.

Forças e Fraquezas

A principal força do YOLOX reside no seu elevado limite de precisão, particularmente com as suas maiores variantes (YOLOX-x), e no seu design limpo e sem âncoras que atrai os investigadores. No entanto, estas vantagens têm contrapartidas. A cabeça desacoplada acrescenta complexidade computacional, resultando frequentemente numa inferência mais lenta em comparação com o YOLOv5. Além disso, sendo um modelo centrado na investigação, não possui as ferramentas coesas e fáceis de utilizar encontradas no ecossistema Ultralytics , o que pode complicar a integração em pipelines comerciais.

Casos de Uso Ideais

  • Investigação académica: Experimentação de novas arquitecturas de deteção e estratégias de atribuição de etiquetas.
  • Tarefas de alta precisão: Cenários em que um ganho de 1-2% no mAP compensa o custo de uma inferência mais lenta, como a análise de vídeo offline.
  • Deteção de objectos densos: Ambientes com objectos muito desordenados onde o SimOTA tem um bom desempenho.

Saiba mais sobre o YOLOX.

YOLOv5: O padrão de produção

Desde o seu lançamento em 2020, Ultralytics YOLOv5 tornou-se o modelo de referência para desenvolvedores em todo o mundo. Ele atinge um equilíbrio excecional entre desempenho e praticidade, apoiado por uma plataforma projetada para otimizar todo o ciclo de vida das operações de aprendizado de máquina (MLOps).

Arquitetura e ecossistema

YOLOv5 utiliza um backbone CSPNet e um pescoço de rede de agregação de caminhos (PANet), optimizado para uma extração eficiente de caraterísticas. Embora tenha originalmente popularizado a abordagem baseada em âncoras no PyTorch, o seu maior trunfo é o ecossistema circundante. Os utilizadores beneficiam da exportação automática para formatos como ONNX, CoreML e TFLite, bem como da integração perfeita com o Ultralytics HUB para formação e gestão de modelos.

Sabia que?

YOLOv5 não se limita às caixas delimitadoras. Suporta múltiplas tarefas, incluindo a segmentação de instâncias e a classificação de imagens, o que o torna uma ferramenta versátil para pipelines de visão complexos.

Forças e Fraquezas

A facilidade de utilização é a marca registada do YOLOv5. Com uma simples API Python , os programadores podem carregar pesos pré-treinados e executar a inferência em apenas algumas linhas de código. O modelo é altamente otimizado para velocidade, fornecendo consistentemente menor latência em CPUs e GPUs em comparação com o YOLOX. Ele também apresenta requisitos de memória mais baixos durante o treinamento, tornando-o acessível em hardware padrão. Embora o seu design baseado em âncoras exija a evolução das âncoras para conjuntos de dados personalizados (tratados automaticamente pelo YOLOv5), a sua fiabilidade e o ecossistema bem mantido tornam-no superior para a produção.

Casos de Uso Ideais

  • Aplicações em tempo real: Vigilância por vídeo, condução autónoma e robótica em que a baixa latência é fundamental.
  • Implantação no limite: Execução em Raspberry Pi, NVIDIA Jetson ou dispositivos móveis devido à sua arquitetura eficiente.
  • Produtos comerciais: Prototipagem e implementação rápidas onde é necessário um suporte a longo prazo e facilidade de integração.
  • Visão multi-tarefa: Projectos que requerem deteção, segmentação e classificação numa única estrutura.

Saiba mais sobre o YOLOv5.

Exemplo de código: Executando YOLOv5 com Ultralytics

O pacote Ultralytics Python torna a utilização dos modelos YOLOv5 incrivelmente simples. Abaixo está um exemplo de como executar a inferência usando um modelo pré-treinado.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (Nano version for speed)
model = YOLO("yolov5nu.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

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

Conclusão: Fazer a escolha certa

Ambos os modelos representam realizações significativas na visão por computador, mas destinam-se a públicos diferentes. O YOLOX é uma escolha formidável para os investigadores que estão a alargar os limites da deteção sem âncoras e que se sentem confortáveis a navegar num conjunto de ferramentas mais fragmentado.

No entanto, para a grande maioria dos programadores, engenheiros e empresas, Ultralytics YOLOv5 continua a ser a opção superior. A sua combinação vencedora de velocidade inigualável, versatilidade e um ecossistema robusto e ativo garante que pode passar do conceito à implementação com o mínimo de fricção. Além disso, a adoção da estrutura Ultralytics proporciona um caminho de atualização claro para modelos de próxima geração como o YOLO11que combina o melhor do design sem âncoras com a eficiência caraterística do Ultralytics.

Outras Comparações de Modelos

Explore a comparação destes modelos com outras arquitecturas para encontrar a melhor solução para as suas necessidades específicas:


Comentários