YOLOv5 YOLOv10: Uma comparação técnica de detetores de objetos em tempo real
A evolução da arquitetura You Only Look Once (YOLO) tem sido uma narrativa marcante na história da visão computacional. Dois marcos distintos nessa linha do tempo são YOLOv5, o padrão da indústria em termos de fiabilidade e facilidade de utilização, e YOLOv10, um avanço académico focado na eliminação de gargalos de pós-processamento. Este guia fornece uma comparação técnica detalhada para ajudar os programadores a escolher a ferramenta certa para as suas aplicações, enquanto explora como o mais recente YOLO26 unifica os pontos fortes de ambos.
Origens e especificações do modelo
Antes de mergulhar nas métricas de desempenho, é essencial compreender o contexto de cada modelo.
YOLOv5
Autor: Glenn Jocher
Organização: Ultralytics
Data: 26/06/2020
GitHub: yolov5
Documentação: YOLOv5
YOLOv10
Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
Organização: Universidade de Tsinghua
Data: 23/05/2024
Arxiv: arXiv:2405.14458
GitHub: THU-MIG/yolov10
Documentação: YOLOv10
Análise de Desempenho
A tabela a seguir compara os modelos no conjunto COCO , um benchmark padrão para deteção de objetos.
| Modelo | tamanho (pixels) | 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 |
| 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 |
YOLOv10 atinge uma precisão média (mAP) mais elevada com menos parâmetros, destacando os ganhos de eficiência da sua arquitetura mais recente. No entanto, YOLOv5 competitivo em velocidades GPU , particularmente em hardware antigo, devido às suas CUDA altamente otimizadas.
Arquitetura e Design
YOLOv5: O padrão confiável
YOLOv5 construído sobre uma espinha dorsal CSPNet modificada e um pescoço PANet. Ele utiliza cabeças de detecção padrão baseadas em âncoras, que requerem supressão não máxima (NMS) durante o pós-processamento para filtrar caixas delimitadoras duplicadas.
- Pontos fortes: Base de código extremamente madura, amplamente suportada por ferramentas de terceiros e implementação estável em dispositivos de ponta, como o Raspberry Pi.
- Pontos fracos: Depende do NMS, que pode introduzir variabilidade de latência dependendo do número de objetos na cena.
YOLOv10: O pioneiro NMS
YOLOv10 uma mudança de paradigma ao empregar Atribuições Duplas Consistentes para treinamento NMS. Isso permite que o modelo preveja exatamente uma caixa por objeto, eliminando a necessidade de etapas NMS .
- Pontos fortes: Menor latência de inferência em cenas de alta densidade devido à NMS ; o design eficiente de blocos orientado por classificação reduz a redundância computacional.
- Pontos fracos: A arquitetura mais recente pode exigir configurações de exportação específicas para alguns compiladores; menos suporte histórico da comunidade em comparação com a v5.
O Gargalo do NMS
A supressão não máxima (NMS) é uma etapa de pós-processamento que filtra caixas delimitadoras sobrepostas. Embora eficaz, é sequencial e computacionalmente dispendiosa em CPUs. Removê-la, como feito no YOLOv10 no YOLO26, é crucial para aplicações em tempo real em hardware de ponta.
Ecossistema e Facilidade de Uso
Um dos fatores mais críticos para os desenvolvedores é o ecossistema em torno de um modelo. É aqui que fica clara a distinção entre um repositório de pesquisa e uma plataforma de produção.
A Vantagem Ultralytics
Ambos os modelos podem ser executados através do ultralytics Python , concedendo-lhes acesso a um conjunto robusto de ferramentas.
- Ultralytics : Os utilizadores podem gerir conjuntos de dados, treinar na nuvem e implementar modelos de forma integrada utilizando a Ultralytics .
- Eficiência de treino: Ultralytics são otimizados para eficiência de memória durante o treino, muitas vezes exigindo significativamente menos VRAM do que alternativas baseadas em transformadores.
- Versatilidade: Embora YOLOv10 principalmente um modelo de detecção, o Ultralytics suporta segmentação de imagens, estimativa de poses e detecção de objetos orientados (OBB) em todos os seus modelos principais.
Exemplo de Código
Alternar entre modelos é tão simples quanto alterar a sequência de caracteres do nome do modelo.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model
model_v5 = YOLO("yolov5s.pt")
model_v5.train(data="coco8.yaml", epochs=100)
# Load a pre-trained YOLOv10 model
model_v10 = YOLO("yolov10n.pt")
model_v10.predict("path/to/image.jpg")
Casos de Uso Ideais
Quando Escolher YOLOv5
- Sistemas legados: se tiver um pipeline existente construído em torno dos formatos YOLOv5 .
- Compatibilidade mais ampla: para implementação em sistemas incorporados mais antigos, nos quais os operadores mais recentes podem ainda não ser suportados.
- Recursos da comunidade: quando precisar de acesso a milhares de tutoriais e integrações de terceiros criados nos últimos cinco anos.
Quando Escolher YOLOv10
- Detecção de alta densidade: cenários como contagem de multidões ou análise de tráfego, nos quais NMS o processamento NMS lento.
- Restrições rigorosas de latência: robótica em tempo real ou condução autónoma, onde cada milésimo de segundo de latência de inferência é importante.
- Investigação: Experimentação com os mais recentes avanços em estratégias de atribuição e poda arquitetónica.
A recomendação definitiva: YOLO26
Enquanto YOLOv5 estabilidade e YOLOv10 inferência NMS, o recém-lançado Ultralytics combina essas vantagens em uma única estrutura superior.
Porquê atualizar para o YOLO26? O YOLO26 é nativamente completo, adotando o designNMS pioneiro do YOLOv10 aprimorando-o com o robusto pipeline Ultralytics .
- Otimizador MuSGD: Inspirado no treinamento LLM (especificamente no Kimi K2 da Moonshot AI), este otimizador garante uma convergência estável e um treinamento mais rápido.
- Desempenho: Otimizado para computação de ponta, proporcionando CPU até 43% mais rápida em comparação com as gerações anteriores.
- Precisão: Possui ProgLoss e STAL (Semantic-Token Alignment Loss), melhorando significativamente a deteção de pequenos objetos, que costuma ser um ponto fraco nos modelos anteriores.
- Versatilidade total: Ao contrário YOLOv10 se concentra na detecção, o YOLO26 oferece modelos de última geração para segmentação, pose, classificação e OBB.
Para qualquer novo projeto com início em 2026, o YOLO26 é a escolha recomendada, oferecendo o caminho mais fácil desde a anotação do conjunto de dados até a exportação do modelo.
Conclusão
Tanto YOLOv5 YOLOv10 momentos cruciais na visão computacional. YOLOv5 democratizou a IA, tornando-a acessível e confiável, enquanto o YOLOv10 expandiu os limites técnicos do processamento de ponta a ponta. No entanto, o campo evolui rapidamente. Com o lançamento do YOLO26, os programadores já não precisam escolher entre a confiabilidade do Ultralytics e a velocidade das arquiteturas NMS — o YOLO26 oferece ambos.
Para outras alternativas modernas, você também pode considerar explorar YOLO11 para tarefas de visão de uso geral ou Real-Time DETR (RT-DETR) para detecção baseada em transformador.