YOLOv5 vs YOLOX#
A evolução da visão computacional em tempo real tem registado inúmeros marcos, com diferentes arquiteturas a ultrapassarem os limites da velocidade e da precisão. Dois modelos altamente influentes neste campo são o YOLOv5 e o YOLOX. Embora ambos sejam reconhecidos pelo seu elevado desempenho na deteção de objetos, seguem abordagens arquitetónicas fundamentalmente diferentes.
Este guia apresenta uma análise técnica aprofundada destes dois modelos, comparando as suas arquiteturas, métricas de desempenho, metodologias de treino e cenários ideais de implementação, para ajudar programadores e investigadores a escolher a ferramenta certa para os seus projetos de IA de visão.
Visão geral dos modelos e diferenças arquitetónicas#
Ultralytics YOLOv5#
- Autor: Glenn Jocher
- Organização: Ultralytics
- Data: 2020-06-26
- GitHub: Repositório do Ultralytics YOLOv5
- Documentação: Documentação oficial do YOLOv5
Apresentado pela Ultralytics, o YOLOv5 tornou-se rapidamente um padrão da indústria devido ao seu equilíbrio excecional entre desempenho, facilidade de utilização e eficiência de memória. Criado nativamente sobre a framework PyTorch, o YOLOv5 utiliza uma arquitetura baseada em âncoras. Depende de formas predefinidas de caixas delimitadoras para prever as localizações dos objetos, o que o torna altamente eficaz para tarefas padrão de deteção de objetos.
Um dos maiores pontos fortes do YOLOv5 é o seu ecossistema bem mantido. Inclui documentação abrangente, uma API Python extremamente simples e integração nativa com a Ultralytics Platform. Isto permite aos programadores passar facilmente da anotação do conjunto de dados para o treino e a exportação para formatos como ONNX e TensorRT.
Os modelos YOLO da Ultralytics normalmente exigem significativamente menos memória GPU durante o treino em comparação com alternativas complexas baseadas em Transformer. Esta reduzida utilização de memória torna o YOLOv5 altamente acessível a investigadores que trabalham com hardware de consumo.
Megvii YOLOX#
- Autores: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
- Organização: Megvii
- Data: 2021-07-18
- Arxiv: YOLOX: Exceeding YOLO Series in 2021
- GitHub: Repositório Megvii YOLOX
- Documentação: Documentação do YOLOX no GitHub
Desenvolvido por investigadores da Megvii, o YOLOX seguiu um caminho diferente ao introduzir um design sem âncoras na família YOLO. Ao eliminar as caixas de âncoras, o YOLOX simplifica a cabeça de deteção e reduz significativamente o número de parâmetros heurísticos que precisam de ser ajustados manualmente durante o treino.
O YOLOX também incorpora uma cabeça desacoplada — separando as tarefas de classificação e regressão em diferentes ramificações da rede — e utiliza a estratégia de atribuição de rótulos SimOTA. Estas inovações aproximam a investigação académica das aplicações industriais, tornando o YOLOX particularmente eficaz em ambientes com escalas de objetos muito variadas.
Desempenho e métricas#
Ao avaliar modelos de visão computacional, o compromisso entre a precisão média (mAP) e a velocidade de inferência é fundamental. Ambos os modelos oferecem uma gama de tamanhos (de Nano a Extra-Large) para responder a diferentes limitações de hardware.
| Modelo | tamanho (píxeis) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Embora o YOLOXx alcance uma precisão máxima ligeiramente superior (51.1 mAP), o YOLOv5 disponibiliza um pipeline de implementação muito mais robusto e exaustivamente testado em hardware CPU e GPU. As velocidades do TensorRT para o YOLOv5 evidenciam a sua profunda otimização para dispositivos de computação periférica, tornando-o uma escolha altamente fiável para análise de vídeo em tempo real.
Metodologias de treino e facilidade de utilização#
A experiência do programador varia significativamente entre estas duas arquiteturas.
A abordagem do YOLOX#
Treinar o YOLOX normalmente exige clonar o repositório original, gerir dependências específicas e executar scripts complexos na linha de comandos. Embora suporte funcionalidades avançadas, como treino de precisão mista e configurações com vários nós através do MegEngine, a curva de aprendizagem pode ser acentuada para programadores que precisam de prototipagem rápida.
A vantagem da Ultralytics#
Em contraste, a Ultralytics dá prioridade a uma experiência de utilização excecionalmente simplificada. Com o pacote Python ultralytics, os programadores podem carregar, treinar e validar um modelo com um mínimo de código auxiliar. A Ultralytics trata automaticamente de aumentos de dados complexos, da evolução de hiperparâmetros e do agendamento da taxa de aprendizagem.
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()Além disso, a versatilidade do YOLOv5 estende-se para além da deteção de objetos padrão, oferecendo suporte robusto para classificação de imagens e segmentação de instâncias na mesma API coesa.
Quando o treino estiver concluído, exportar um modelo YOLOv5 para CoreML, TFLite ou OpenVINO é tão simples como executar model.export(format="onnx"). Isto elimina a necessidade de scripts de conversão de terceiros, normalmente exigidos por repositórios orientados para a investigação.
Aplicações no mundo real#
A escolha entre estes modelos depende do teu ambiente de implementação e dos teus requisitos técnicos:
- Retalho e gestão de inventário: para aplicações que exigem reconhecimento de produtos em tempo real em dispositivos periféricos, como o NVIDIA Jetson, o YOLOv5 é particularmente adequado. A sua utilização mínima de memória e as velocidades rápidas de inferência do TensorRT permitem acompanhar várias câmaras sem perder fotogramas.
- Investigação académica e arquiteturas personalizadas: o YOLOX é altamente valorizado na comunidade de investigação. A sua cabeça desacoplada e a sua natureza sem âncoras fazem dele uma excelente referência para engenheiros que pretendam experimentar novas estratégias de atribuição de rótulos ou que trabalhem com conjuntos de dados nos quais as caixas de âncoras tradicionais não conseguem generalizar.
- IA agrícola: para tarefas de agricultura de precisão, como a deteção de frutos ou a identificação de ervas daninhas através de drones, a facilidade de treinar e implementar modelos YOLOv5 utilizando a Ultralytics Platform permite aos especialistas do setor implementar soluções de IA sem precisarem de conhecimentos aprofundados de engenharia de aprendizagem automática.
Casos de uso e recomendações#
A escolha entre YOLOv5 e YOLOX depende dos requisitos específicos do teu projeto, das restrições de implementação e das preferências em relação ao ecossistema.
Quando escolher o YOLOv5#
O YOLOv5 é uma excelente escolha para:
- Sistemas comprovados em produção: Implementações existentes em que o longo historial de estabilidade do YOLOv5, a documentação abrangente e o enorme suporte da comunidade são valorizados.
- Treino com recursos limitados: Ambientes com recursos de GPU limitados, onde o pipeline de treino eficiente do YOLOv5 e os menores requisitos de memória são vantajosos.
- Suporte abrangente a formatos de exportação: Projetos que exigem implementação em vários formatos, incluindo ONNX, TensorRT, CoreML e TFLite.
Quando escolher o YOLOX#
O YOLOX é recomendado para:
- Investigação sobre deteção sem âncoras: Investigação académica que utiliza a arquitetura limpa e sem âncoras do YOLOX como linha de base para experimentar novas cabeças de deteção ou funções de perda.
- Dispositivos de periferia ultraleves: Implementação em microcontroladores ou hardware móvel legado, nos quais a pegada extremamente reduzida da variante YOLOX-Nano (0.91M parâmetros) é fundamental.
- Estudos de atribuição de rótulos SimOTA: Projetos de investigação que analisam estratégias de atribuição de rótulos baseadas no transporte ótimo e o seu impacto na convergência do treino.
Quando escolher Ultralytics (YOLO26)#
Para a maioria dos projetos novos, o Ultralytics YOLO26 oferece a melhor combinação de desempenho e experiência de desenvolvimento:
- Implantação em dispositivos de borda sem NMS: Aplicações que exigem inferência consistente e de baixa latência sem a complexidade do pós-processamento de Supressão de Não-Máximos.
- Ambientes que usam apenas CPU: Dispositivos sem aceleração dedicada por GPU, nos quais a inferência em CPU até 43% mais rápida do YOLO26 oferece uma vantagem decisiva.
- Detecção de objetos pequenos: Cenários desafiadores, como imagens aéreas capturadas por drones ou análise de sensores de IoT, nos quais ProgLoss e STAL aumentam significativamente a precisão em objetos minúsculos.
O futuro da IA de visão: chega o YOLO26#
Embora tanto o YOLOv5 como o YOLOX tenham consolidado o seu lugar na história da visão computacional, o campo está a avançar rapidamente. Para programadores que iniciem novos projetos atualmente, a Ultralytics recomenda vivamente explorar o seu mais recente modelo principal, YOLO26.
Lançado em janeiro de 2026, o YOLO26 representa um enorme salto em frente, tanto em desempenho como em usabilidade. Introduz um design inovador de ponta a ponta sem NMS, eliminando completamente o pós-processamento de supressão de não máximos. Isto reduz significativamente a variabilidade da latência e simplifica a lógica de implementação em dispositivos de baixo consumo.
Além disso, o YOLO26 utiliza o inovador otimizador MuSGD — um híbrido de SGD e Muon inspirado nas inovações do treino de LLM — para uma convergência extremamente estável e rápida. Com a remoção de DFL (Distribution Focal Loss removida para simplificar a exportação e melhorar a compatibilidade com dispositivos periféricos e de baixo consumo), o YOLO26 alcança uma inferência em CPU até 43% mais rápida, consolidando a sua posição como o modelo ideal para computação periférica moderna, robótica e aplicações de IoT. Adicionalmente, ProgLoss + STAL proporciona funções de perda melhoradas, com melhorias notáveis no reconhecimento de objetos pequenos, algo essencial para IoT, robótica e imagens aéreas. Os utilizadores interessados em gerações anteriores também podem consultar o YOLO11, embora o YOLO26 seja a escolha indiscutível no estado da arte.
Conclusão#
Tanto o YOLOv5 como o YOLOX oferecem capacidades incríveis de deteção de objetos. O YOLOX ultrapassou os limites arquitetónicos ao demonstrar, em 2021, que os designs sem âncoras podiam competir com os métodos tradicionais e superá-los. No entanto, o YOLOv5 continua a ser uma força dominante graças à sua facilidade de utilização incomparável, ao seu extenso ecossistema e aos menores requisitos de memória durante o treino.
Para a grande maioria das aplicações comerciais, o ecossistema da Ultralytics oferece o caminho mais rápido desde um conjunto de dados em bruto até um modelo de produção implementado. Quer utilizem o comprovado YOLOv5 ou façam a atualização para o avançado YOLO26, os programadores beneficiam de uma framework concebida para tornar a IA de visão acessível, eficiente e altamente performante.