Ir para o conteúdo

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

Saiba mais sobre o YOLOv5

Análise de Desempenho

A tabela a seguir compara os modelos no conjunto COCO , um benchmark padrão para deteção de objetos.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
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

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.

Saiba mais sobre o YOLOv10

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.

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 .

  1. 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.
  2. Desempenho: Otimizado para computação de ponta, proporcionando CPU até 43% mais rápida em comparação com as gerações anteriores.
  3. 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.
  4. 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.

Saiba mais sobre YOLO26

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.


Comentários