Ultralytics YOLO27:

YOLOX vs YOLOv10#

A evolução dos modelos de visão computacional em tempo real tem sido marcada por avanços arquiteturais significativos. Dois marcos fundamentais nesta jornada são o YOLOX e o YOLOv10. Lançado em 2021, o YOLOX conseguiu preencher a lacuna entre a investigação académica e a aplicação industrial ao introduzir um design sem âncoras altamente eficaz. Três anos mais tarde, o YOLOv10 revolucionou a área ao eliminar a necessidade de Supressão não máxima (NMS) durante o pós-processamento, ultrapassando os limites de eficiência e velocidade.

Esta comparação técnica abrangente explora as arquiteturas, as métricas de desempenho e os casos de utilização ideais de ambos os modelos, fornecendo informações para te ajudar a escolher a ferramenta certa para o teu próximo projeto de deteção de objetos.

Origens e metadados dos modelos#

Compreender as origens destes modelos fornece contexto para as suas escolhas arquiteturais e os ambientes de implementação pretendidos.

Detalhes do YOLOX

Saiba mais sobre o YOLOX

Detalhes do YOLOv10

Sabe mais sobre o YOLOv10

Inovações arquiteturais#

As principais diferenças entre o YOLOX e o YOLOv10 estão na forma como lidam com as previsões de caixas delimitadoras e o pós-processamento.

YOLOX: Design pioneiro sem âncoras#

O YOLOX ganhou destaque ao mudar a família YOLO para uma arquitetura sem âncoras. Ao prever o centro de um objeto em vez de depender de caixas de âncora predefinidas, o YOLOX reduziu drasticamente o número de parâmetros de design e de ajustes heurísticos necessários para conjuntos de dados personalizados. Além disso, introduziu uma cabeça desacoplada, separando as tarefas de classificação e regressão em vias distintas. Esta abordagem resolveu o conflito entre identificar o que é um objeto e determinar onde ele está, levando a um aumento percetível na velocidade de convergência e na precisão.

YOLOv10: A revolução sem NMS#

Embora o YOLOX tenha simplificado a cabeça de deteção, continuava a depender de NMS para filtrar previsões redundantes de caixas delimitadoras. O YOLOv10 abordou este gargalo fundamental. Ao utilizar atribuições duplas consistentes durante o treino, o YOLOv10 alcança uma deteção nativa de ponta a ponta. Utiliza uma cabeça de um-para-muitos durante o treino para garantir sinais de supervisão ricos, enquanto utiliza uma cabeça de um-para-um durante a inferência para produzir diretamente as previsões finais. Este design holístico, orientado para a eficiência e a precisão, elimina completamente o NMS, reduzindo significativamente a latência de inferência em chips integrados.

O impacto da remoção do NMS

A Supressão não máxima é frequentemente uma operação complexa de acelerar em Unidades de processamento neural (NPUs). Ao removê-la, o YOLOv10 permite que todo o grafo do modelo seja executado de forma contínua em hardware especializado, melhorando drasticamente a compatibilidade com frameworks de otimização como o OpenVINO e o TensorRT.

Métricas de desempenho e comparação#

Ao avaliar modelos para produção, é fundamental equilibrar a precisão com a sobrecarga computacional. A tabela abaixo ilustra os compromissos entre várias escalas do YOLOX e do YOLOv10.

Modelotamanho
(píxeis)
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 dos dados#

As métricas demonstram claramente o salto geracional do YOLOv10. Por exemplo, o YOLOv10-S alcança uma precisão média de 46,7%, em comparação com os 46,9% do YOLOX-m, mas fá-lo utilizando menos de um terço dos parâmetros (7,2M vs 25,3M) e significativamente menos FLOPs. Além disso, o modelo YOLOv10-X topo de gama eleva o mAP para 54,4%, tornando-o altamente competitivo para tarefas que exigem elevada precisão, ao mesmo tempo que é mais rápido do que a arquitetura YOLOX-x mais antiga.

A vantagem do ecossistema Ultralytics#

Embora o YOLOX continue a ser uma implementação de investigação open source robusta, adotar o YOLOv10 proporciona acesso imediato ao ecossistema bem mantido disponibilizado pela Ultralytics. Escolher um modelo suportado pela Ultralytics garante uma experiência de utilização simplificada, caracterizada por uma API simples e documentação abrangente.

Os programadores beneficiam bastante dos requisitos de memória do framework; o treino de modelos da Ultralytics normalmente consome muito menos memória CUDA do que alternativas pesadas baseadas em Transformer, como o RT-DETR. Esta utilização eficiente de memória durante o treino permite lotes maiores em hardware de consumo, acelerando o tempo entre a recolha de dados e a implementação do modelo. Além disso, o framework oferece uma versatilidade incomparável, permitindo alternar facilmente entre deteção de objetos, segmentação de instâncias e estimativa de pose com alterações mínimas no código.

Exemplo de treino e inferência#

A API unificada torna a validação de ideias incrivelmente rápida. O seguinte trecho demonstra como podes treinar e implementar facilmente um modelo YOLOv10 utilizando o backend PyTorch:

from ultralytics import YOLO

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

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

# Run inference on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# Export the model for edge deployment
model.export(format="engine", quantize=16)

Ao tirar partido das rotinas de exportação integradas, converter modelos para formatos como TensorRT ou ONNX requer apenas uma linha de código, contornando completamente os complexos obstáculos de compilação.

Casos de utilização ideais e cenários de implementação#

A escolha entre estas arquiteturas depende sobretudo das limitações do teu hardware e dos requisitos específicos do teu domínio.

Análise de vídeo em tempo real#

Para aplicações que exigem latência ultrabaixa, como condução autónoma ou monitorização de tráfego em tempo real, o YOLOv10 é a escolha superior. O seu design de ponta a ponta sem NMS garante tempos de execução determinísticos, algo fundamental para sistemas de segurança nos quais não é possível tolerar uma latência variável de pós-processamento. Os modelos alcançam facilmente taxas de fotogramas elevadas em dispositivos como a série NVIDIA Jetson.

Referências académicas e microcontroladores de edge#

O YOLOX continua a ter valor em contextos académicos nos quais os investigadores procuram uma referência limpa com cabeça desacoplada para experimentar estratégias de atribuição de etiquetas. Além disso, o excecionalmente pequeno YOLOX-Nano (com menos de 1 milhão de parâmetros) pode ser instalado em microcontroladores de edge altamente limitados, nos quais a memória é medida em quilobytes, desde que o hardware suporte operações de convolução padrão.

O padrão definitivo: Ultralytics YOLO26#

Embora o YOLOv10 tenha representado um enorme salto ao remover o NMS, a área da visão computacional avança rapidamente. Para programadores que pretendem implementar atualmente um desempenho absolutamente superior, recomendamos vivamente explorar o YOLO26.

Lançado como o mais recente padrão em IA para visão, o YOLO26 aproveita as ideias fundamentais dos seus predecessores e eleva-as significativamente. Oferece o equilíbrio de desempenho definitivo, suportando nativamente deteção, segmentação, pose e caixas delimitadoras orientadas.

Eis por que motivo o YOLO26 é a escolha recomendada para pipelines modernos de visão computacional:

  • Design de ponta a ponta sem NMS: Desenvolvendo os avanços do YOLOv10, o YOLO26 é nativamente de ponta a ponta, garantindo tempos de inferência mais rápidos e determinísticos, sem gargalos de pós-processamento.
  • Inferência em CPU até 43% mais rápida: Foi especificamente otimizado para computação de edge, garantindo um desempenho excecional em processadores móveis e dispositivos sem GPUs discretas.
  • Otimizador MuSGD: Inspirado no treino de modelos de linguagem de grande escala (especificamente no Kimi K2 da Moonshot AI), o YOLO26 utiliza uma combinação híbrida de SGD e Muon para um treino incrivelmente estável e uma convergência rápida.
  • ProgLoss + STAL: Estas funções de perda avançadas proporcionam melhorias notáveis no reconhecimento de objetos pequenos, algo fundamental em domínios exigentes como imagens aéreas e navegação de drones.
  • Remoção de DFL: Ao remover a Distribution Focal Loss, o YOLO26 simplifica o grafo do modelo para uma exportação sem complicações para dispositivos de edge e de baixo consumo.
  • Melhorias específicas para cada tarefa: Quer utilizes a Residual Log-Likelihood Estimation (RLE) para estimativa de pose ou uma função de perda angular especializada para OBB, o YOLO26 é ajustado para todas as principais tarefas de visão.

Para programadores prontos para atualizar os seus pipelines com as ferramentas de treino e implementação mais eficientes disponíveis, fazer a transição para a Ultralytics Platform e tirar partido do YOLO26 garante que te manténs na vanguarda da inteligência artificial. Os utilizadores interessados em arquiteturas mais antigas, mas estáveis, também podem consultar o YOLO11 ou o YOLOv8 para obter amplo apoio da comunidade e robustez comprovada.

Comentários