YOLOv10 vs YOLOv5#
Escolher a arquitetura de rede neural certa é essencial para implantar pipelines de visão computacional bem-sucedidos em produção. Esta página apresenta uma análise técnica aprofundada que compara YOLOv10 e YOLOv5, dois modelos muito influentes na evolução da detecção de objetos em tempo real. Embora ambos tenham causado um impacto significativo na comunidade de IA, eles representam épocas e filosofias diferentes no design de arquiteturas de aprendizado profundo.
Este guia avalia essas arquiteturas com base na precisão média (mAP), latência de inferência, eficiência de parâmetros e suporte do ecossistema, ajudando você a escolher o melhor modelo para suas necessidades de implantação.
Visão geral dos modelos#
YOLOv10: deteção de objetos ponta a ponta em tempo real#
Desenvolvido por pesquisadores da Universidade Tsinghua, o YOLOv10 introduziu uma abordagem inovadora para a detecção de objetos ao eliminar a necessidade de pós-processamento.
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organização: Universidade Tsinghua
- Data: 2024-05-23
- Artigo de pesquisa: arXiv:2405.14458
- Código-fonte: Repositório do YOLOv10 no GitHub
O avanço que define o YOLOv10 é seu design de ponta a ponta 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 treinamento sem NMS, o que reduz drasticamente a variabilidade da latência de inferência e simplifica a lógica de implantação. Além disso, a arquitetura apresenta um design holístico orientado à eficiência e à precisão que otimiza minuciosamente vários componentes para reduzir a redundância computacional.
YOLOv5: o padrão do setor em usabilidade#
Lançado pouco depois da criação do repositório Ultralytics PyTorch, o YOLOv5 redefiniu as expectativas dos desenvolvedores em relação a um framework de IA de visão de código aberto. Ele continua sendo uma das arquiteturas mais amplamente implantadas no mundo.
- Autor: Glenn Jocher
- Organização: Ultralytics
- Data: 2020-06-26
- Código-fonte: Repositório do YOLOv5 no GitHub
O YOLOv5 é reconhecido pela facilidade de uso e pelo ecossistema bem mantido. Escrito inteiramente em PyTorch, oferecia uma experiência perfeita de “do zero ao especialista”, com suporte pronto para uso a treinamento, validação e exportação para formatos como ONNX e TensorRT. Ao contrário do YOLOv10, que se concentra principalmente na detecção de objetos, o YOLOv5 demonstra versatilidade excepcional, oferecendo suporte à 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 dentro de uma determinada restrição de velocidade. Entender essas métricas de desempenho é fundamental para selecionar um modelo compatível com as restrições específicas do seu hardware.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
Análise técnica#
- Precisão (mAP): o YOLOv10 demonstra uma clara vantagem de precisão entre gerações. Por exemplo, o modelo YOLOv10-X alcança 54,4% de mAPval, superando o YOLOv5x (50,7% de mAP). Esse salto se deve em grande parte à estratégia de treinamento sem NMS e aos refinamentos arquitetônicos introduzidos em 2024.
- Latência de inferência: embora os modelos YOLOv5 sejam excepcionalmente rápidos em benchmarks brutos do TensorRT na T4 (por exemplo, YOLOv5n a 1,12 ms), o YOLOv10 elimina por completo a etapa de pós-processamento NMS. Em implantações práticas de ponta a ponta, o design sem NMS do YOLOv10 proporciona uma latência mais consistente e determinística, essencial para aplicações em tempo real, como veículos autônomos e robótica.
- Eficiência de parâmetros: os modelos YOLOv10 mantêm um equilíbrio de desempenho altamente competitivo. O YOLOv10-S alcança 46,3% de mAP com 7,2 milhões de parâmetros, a mesma quantidade do YOLOv5s, que atinge 37,4% de mAP.
Ao implantar em dispositivos de IA de borda, como o NVIDIA Jetson, os modelos sem lógica NMS (como o YOLOv10 ou o YOLO26 exportado com nms=False) geralmente são compilados com mais facilidade no TensorRT, evitando operações alternativas na CPU.
Casos de uso e recomendações#
A escolha entre YOLOv10 e YOLOv5 depende dos requisitos específicos do teu projeto, das restrições de implantação e das preferências de ecossistema.
Quando escolher o YOLOv10#
O YOLOv10 é uma ótima opção para:
- Detecção em tempo real sem NMS: Aplicações que se beneficiam da detecção de ponta a ponta sem supressão não máxima, reduzindo a complexidade da implantação.
- Equilíbrio entre velocidade e precisão: Projetos que exigem um bom equilíbrio entre velocidade de inferência e precisão de detecção em várias 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 de produção comprovados: implantações existentes em que são valorizados o longo histórico de estabilidade do YOLOv5, sua documentação abrangente e o enorme suporte da comunidade.
- Treinamento com recursos limitados: ambientes com recursos de GPU limitados, nos quais o pipeline de treinamento eficiente e os menores requisitos de memória do YOLOv5 são vantajosos.
- Amplo suporte a formatos de exportação: projetos que exigem implantação em vários formatos, incluindo ONNX, TensorRT, CoreML e LiteRT.
Quando escolher Ultralytics (YOLO26)#
Para a maioria dos projetos novos, Ultralytics YOLO26 oferece a melhor combinação de desempenho e experiência para desenvolvedores:
- Implantação de borda sem NMS: Aplicações que exigem inferência consistente e de baixa latência, sem a complexidade do pós-processamento com supressão não máxima.
- Ambientes que usam apenas CPU: Dispositivos sem aceleração dedicada por GPU, nos quais a inferência na CPU até 43% mais rápida do YOLO26 oferece uma vantagem decisiva.
- Detecção de objetos pequenos: Cenários desafiadores, como imagens aéreas de drones ou análise de sensores de IoT, nos quais ProgLoss e STAL melhoram significativamente a precisão na detecção de objetos minúsculos.
A vantagem da Ultralytics#
Embora o YOLOv10 ofereça excelentes recursos de detecção, depender de repositórios acadêmicos às vezes pode complicar os pipelines de produção. Ao usar o pacote Python oficial da Ultralytics, você tem acesso a um ecossistema unificado compatível com YOLOv5 e YOLOv10, além de recursos avançados.
- Eficiência de treinamento: as arquiteturas Ultralytics YOLO são profundamente otimizadas para reduzir os requisitos de memória durante o treinamento. Ao contrário dos modelos transformer pesados (como o RT-DETR), que exigem muita memória CUDA, você pode treinar YOLOv5 e YOLOv10 com tranquilidade em GPUs convencionais para consumidores.
- Integração com o ecossistema: a integração com a Plataforma Ultralytics permite que os desenvolvedores gerenciem conjuntos de dados visualmente, acompanhem experimentos usando o Weights & Biases e ajustem hiperparâmetros automaticamente.
Exemplo de código: treinamento simplificado#
Usando a biblioteca Ultralytics, alternar entre essas arquiteturas é tão simples quanto mudar a string do modelo. O pipeline de treinamento gerencia automaticamente o aumento de dados, o dimensionamento e a configuração do otimizador.
from ultralytics import YOLO
# Para usar YOLOv5:
# model = YOLO("yolov5su.pt")
# Para usar YOLOv10:
model = YOLO("yolov10s.pt")
# Treina o modelo com um conjunto de dados personalizado
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=16,
device=0, # Usa a GPU 0
)
# Exporta o modelo treinado para o formato ONNX
path = model.export(format="onnx")A próxima geração: Ultralytics YOLO26#
Se você está começando hoje um projeto de aprendizado de máquina, recomendamos fortemente avaliar o mais recente Ultralytics YOLO26. Lançado em janeiro de 2026, ele representa o estado da arte absoluto, combinando as melhores inovações dos últimos cinco anos.
O YOLO26 incorpora nativamente o design de ponta a ponta sem NMS pioneiro do YOLOv10 como uma cabeça one-to-one opcional (nms=False), permitindo uma implantação rápida e determinística. Além disso, o YOLO26 traz vários avanços importantes:
- Inferência na CPU até 43% mais rápida: ao remover o módulo Distribution Focal Loss (DFL), o YOLO26 alcança enormes ganhos de velocidade em CPUs convencionais, tornando-se a principal escolha para implantação em dispositivos móveis e sensores IoT de baixo consumo.
- Otimizador MuSGD: inspirado em técnicas de treinamento de modelos de linguagem grandes (LLM), como o Kimi K2 da Moonshot AI, o YOLO26 utiliza uma combinação híbrida de SGD e Muon. Isso garante treinamentos incrivelmente estáveis e uma convergência muito mais rápida do que com os otimizadores SGD e AdamW padrão usados em modelos YOLO anteriores.
- ProgLoss + STAL: essas funções de perda avançadas proporcionam melhorias notáveis no reconhecimento de objetos pequenos, essencial para imagens capturadas por drones e aplicações de segurança aérea.
- Domínio específico por tarefa: enquanto o YOLOv10 é estritamente um detector de caixas delimitadoras, o YOLO26 oferece melhorias arquitetônicas específicas para todas as tarefas, incluindo Residual Log-Likelihood Estimation (RLE) para pose e funções de perda angular especializadas para caixas delimitadoras orientadas (OBB).
Se você está explorando o panorama mais amplo da detecção de objetos, talvez também queira comparar essas arquiteturas com outros frameworks. Confira nossas análises detalhadas de YOLO11 vs EfficientDet ou RT-DETR vs YOLOv8 para benchmarks mais abrangentes.
Quer você use o legado robusto do YOLOv5, a inovação sem NMS do YOLOv10 ou o desempenho de ponta incomparável do YOLO26, o ecossistema Ultralytics oferece as ferramentas necessárias para dar vida às suas aplicações de IA de visão com rapidez e eficiência.