YOLOv10 vs YOLOv5#
Escolher a arquitetura de rede neural certa é fundamental para implementar pipelines de visão computacional bem-sucedidos em produção. Esta página fornece uma análise técnica aprofundada que compara o YOLOv10 e o YOLOv5, dois modelos altamente influentes na evolução da deteção de objetos em tempo real. Embora ambos os modelos tenham causado um impacto significativo na comunidade de IA, representam eras e filosofias diferentes no design de arquiteturas de deep learning.
Este guia avalia estas arquiteturas com base na média da Precisão Média (mAP), na latência de inferência, na eficiência dos parâmetros e no suporte do ecossistema, ajudando-te a escolher o melhor modelo para as tuas necessidades de implementação.
Visão geral dos modelos#
YOLOv10: deteção de objetos de ponta a ponta em tempo real#
Desenvolvido por investigadores da Universidade de Tsinghua, o YOLOv10 introduziu uma abordagem inovadora à deteção de objetos ao eliminar a necessidade de pós-processamento.
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organização: Tsinghua University
- Data: 2024-05-23
- Artigo de investigação: arXiv:2405.14458
- Código-fonte: Repositório do YOLOv10 no GitHub
A inovação decisiva do YOLOv10 é o seu Design End-to-End sem NMS. Historicamente, os modelos YOLO dependiam da Supressão Não Máxima (NMS) para filtrar caixas delimitadoras redundantes. O YOLOv10 utiliza atribuições duplas consistentes para o treino sem NMS, reduzindo drasticamente a variabilidade da latência de inferência e simplificando a lógica de implementação. Além disso, a arquitetura apresenta um design holístico orientado para a eficiência e a precisão, que otimiza rigorosamente vários componentes para reduzir a redundância computacional.
YOLOv5: o padrão da indústria em usabilidade#
Lançado pouco depois da criação do repositório Ultralytics PyTorch, o YOLOv5 redefiniu as expectativas dos programadores em relação a um framework de IA de visão open source. Continua a ser uma das arquiteturas mais amplamente implementadas em todo o mundo.
- Autor: Glenn Jocher
- Organização: Ultralytics
- Data: 2020-06-26
- Código-fonte: Repositório do YOLOv5 no GitHub
O YOLOv5 é reconhecido pela sua Facilidade de Utilização e pelo seu Ecossistema Bem Mantido. Escrito inteiramente em PyTorch, oferecia uma experiência contínua de "zero a especialista", com suporte imediato para treino, validação e exportação para formatos como ONNX e TensorRT. Ao contrário do YOLOv10, que se concentra principalmente na deteção pura de objetos, o YOLOv5 demonstra uma Versatilidade excecional, suportando segmentação de instâncias e classificação de imagens na mesma API Python unificada.
Comparação de desempenho e métricas#
Visualizar a relação entre velocidade e precisão é essencial para identificar os modelos que oferecem a melhor precisão para uma determinada limitação de velocidade. Compreender estas métricas de desempenho é fundamental para selecionar um modelo alinhado com as tuas limitações específicas de hardware.
| Modelo | tamanho (píxeis) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| 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 |
Análise técnica#
- Precisão (mAP): O YOLOv10 demonstra uma clara vantagem geracional em termos de precisão. Por exemplo, o modelo YOLOv10-X alcança 54,4% de mAPval, superando o YOLOv5x (50,7% de mAP). Este salto deve-se, em grande parte, à estratégia de treino sem NMS e aos refinamentos arquiteturais introduzidos em 2024.
- Latência de inferência: Embora os modelos YOLOv5 sejam excecionalmente rápidos em benchmarks brutos do T4 TensorRT (por exemplo, o YOLOv5n a 1,12 ms), o YOLOv10 elimina completamente a etapa de pós-processamento NMS. Em implementações práticas end-to-end, o design sem NMS do YOLOv10 proporciona uma latência mais consistente e determinística, o que é essencial para aplicações em tempo real, como veículos autónomos e robótica.
- Eficiência dos parâmetros: Os modelos YOLOv10 mantêm um Equilíbrio de Desempenho altamente competitivo. O YOLOv10-S alcança 46,7% de mAP com apenas 7,2 milhões de parâmetros, enquanto o YOLOv5s alcança 37,4% de mAP com 9,1 milhões de parâmetros.
Ao fazer a implementação em dispositivos de IA de edge, como o NVIDIA Jetson, os modelos sem lógica NMS, como o YOLOv10 e o YOLO26, compilam frequentemente de forma mais limpa para TensorRT, evitando operações de fallback no CPU.
Casos de uso e recomendações#
A escolha entre YOLOv10 e YOLOv5 depende dos requisitos específicos do teu projeto, das limitações de implementação e das preferências relativas ao ecossistema.
Quando escolher o YOLOv10#
O YOLOv10 é uma escolha sólida para:
- Detecção em tempo real sem NMS: Aplicações que se beneficiam da detecção de ponta a ponta sem Supressão de Não-Máximos, reduzindo a complexidade da implantação.
- Equilíbrio entre velocidade e precisão: Projetos que exigem um equilíbrio sólido entre velocidade de inferência e precisão de detecção em diferentes escalas de modelo.
- Aplicações com latência consistente: Cenários de implantação nos quais tempos de inferência previsíveis são essenciais, como em robótica ou sistemas autônomos.
Quando escolher o YOLOv5#
O YOLOv5 é recomendado 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 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.
A vantagem da Ultralytics#
Embora o YOLOv10 ofereça excelentes capacidades de deteção, depender de repositórios académicos pode por vezes complicar os pipelines de produção. Ao utilizar o pacote oficial Ultralytics Python, obténs acesso a um ecossistema unificado que suporta tanto o YOLOv5 como o YOLOv10, além de funcionalidades avançadas.
- Eficiência do treino: As arquiteturas YOLO da Ultralytics são profundamente otimizadas para reduzir os requisitos de memória durante o treino. Ao contrário dos modelos Transformer pesados, como o RT-DETR, que exigem uma enorme quantidade de memória CUDA, podes treinar confortavelmente o YOLOv5 e o YOLOv10 em GPU comuns para consumidores.
- Integração com o ecossistema: A integração com a Ultralytics Platform permite aos programadores gerir visualmente conjuntos de dados, acompanhar experiências através do Weights & Biases e ajustar hiperparâmetros automaticamente.
Exemplo de código: treino contínuo#
Ao utilizar a biblioteca Ultralytics, alternar entre estas arquiteturas é tão simples como alterar a string do modelo. O pipeline de treino trata automaticamente do aumento de dados, do redimensionamento e da configuração do otimizador.
from ultralytics import YOLO
# To use YOLOv5:
# model = YOLO("yolov5s.pt")
# To use YOLOv10:
model = YOLO("yolov10s.pt")
# Train the model on a custom dataset
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=16,
device=0, # Use GPU 0
)
# Export the trained model to ONNX format
path = model.export(format="onnx")A próxima geração: Ultralytics YOLO26#
Se estás a iniciar hoje um novo projeto de machine learning, recomendamos vivamente que avalies o mais recente Ultralytics YOLO26. Lançado em janeiro de 2026, representa o estado da arte absoluto ao combinar as melhores inovações dos últimos cinco anos.
O YOLO26 incorpora nativamente o Design End-to-End sem NMS desenvolvido pelo YOLOv10, garantindo uma implementação rápida e determinística. Além disso, o YOLO26 introduz várias inovações importantes:
- Até 43% mais rápido na inferência em CPU: Ao remover o módulo Distribution Focal Loss (DFL), o YOLO26 alcança grandes ganhos de velocidade em CPU comuns, tornando-se a escolha principal para implementação móvel e sensores IoT de baixo consumo.
- Otimizador MuSGD: Inspirado em técnicas de treino de Large Language Model (LLM), como o Kimi K2 da Moonshot AI, o YOLO26 utiliza uma combinação híbrida de SGD e Muon. Isto garante execuções de treino extremamente estáveis e uma convergência muito mais rápida em comparação com os otimizadores AdamW utilizados no YOLOv10.
- ProgLoss + STAL: Estas funções de perda avançadas produzem melhorias notáveis no reconhecimento de objetos pequenos, o que é fundamental para imagens captadas por drones e aplicações de segurança aérea.
- Domínio específico de cada tarefa: Enquanto o YOLOv10 é estritamente um detetor de caixas delimitadoras, o YOLO26 oferece melhorias arquiteturais dedicadas para todas as tarefas, incluindo Residual Log-Likelihood Estimation (RLE) para Pose e perdas angulares especializadas para Oriented Bounding Boxes (OBB).
Se estás a explorar o panorama mais abrangente da deteção de objetos, também poderás ter interesse em comparar estas arquiteturas com outros frameworks. Consulta as nossas análises aprofundadas sobre YOLO11 vs EfficientDet ou RT-DETR vs YOLOv8 para obteres benchmarks mais completos.
Quer dependas do legado sólido do YOLOv5, da inovação sem NMS do YOLOv10 ou do desempenho de vanguarda incomparável do YOLO26, o ecossistema Ultralytics fornece as ferramentas necessárias para dar vida às tuas aplicações de IA de visão de forma rápida e eficiente.