Ir para o conteúdo

YOLO11 vs YOLOv5: Evolução da Detecção de Objetos de Última Geração

A evolução da detecção de objetos em tempo real foi significativamente moldada pela série Ultralytics YOLO. O YOLOv5, lançado em 2020, estabeleceu um padrão global de facilidade de uso, velocidade e confiabilidade, tornando-se um dos modelos de IA de visão mais implementados na história. O YOLO11, a iteração mais recente, se baseia nesta base lendária para oferecer precisão, eficiência e versatilidade sem precedentes.

Este guia fornece uma comparação técnica detalhada entre esses dois gigantes, ajudando desenvolvedores e pesquisadores a entender as mudanças arquitetônicas, os ganhos de desempenho e os casos de uso ideais para cada um.

Análise de Desempenho

A lacuna de desempenho entre o YOLO11 e o YOLOv5 destaca os rápidos avanços no design de redes neurais. Embora o YOLOv5 permaneça um modelo capaz, o YOLO11 o supera consistentemente em todas as escalas de modelo, particularmente em termos de velocidade de inferência da CPU e precisão de detecção.

Métricas Chave de Desempenho

A tabela abaixo apresenta uma comparação direta no conjunto de dados COCO. Uma observação crítica é a eficiência do YOLO11n, que atinge um mAP de 39,5, superando significativamente o mAP de 28,0 do YOLOv5n, ao mesmo tempo em que é executado mais rapidamente em hardware de CPU.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9
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

Precisão vs. Eficiência

O YOLO11 representa uma mudança de paradigma na relação "eficiência vs. precisão".

  • Detecção de Objetos Pequenos: YOLO11 melhora significativamente a detecção de objetos pequenos em comparação com YOLOv5, graças às suas camadas de extração de características refinadas.
  • Eficiência Computacional: YOLO11l atinge 53.4 mAP com apenas 25.3M parâmetros. Em contraste, YOLOv5l requer 53.2M parâmetros para atingir um mAP inferior de 49.0. Esta redução de 50% nos parâmetros para maior precisão traduz-se em menor uso de memória e tempos de treinamento mais rápidos.

Livre de Âncoras vs Baseado em Âncoras

Uma das diferenças técnicas mais significativas é o mecanismo do cabeçalho de detecção. O YOLOv5 usa uma abordagem baseada em âncoras, que requer anchor boxes predefinidos que devem ser ajustados para conjuntos de dados específicos para obter um desempenho ideal.

YOLO11 utiliza um design sem âncoras. Isso elimina a necessidade de cálculo manual da caixa delimitadora da âncora, simplifica o pipeline de treino e melhora a generalização em diversos conjuntos de dados sem ajuste de hiperparâmetros.

Arquitetura e Design do Modelo

As diferenças arquitetónicas entre estes dois modelos refletem a progressão da pesquisa em visão computacional ao longo de vários anos.

YOLOv5: O Padrão Comprovado

YOLOv5 introduziu uma implementação PyTorch amigável que tornou a deteção de objetos acessível às massas.

  • Backbone: Utiliza um CSPDarknet53 modificado, que é altamente eficaz, mas computacionalmente mais pesado do que as alternativas modernas.
  • Foco: Priorizou um equilíbrio de velocidade e precisão que foi revolucionário no seu lançamento em 2020.
  • Legado: Permanece uma "escolha segura" para sistemas já profundamente integrados com seus formatos específicos de entrada/saída.

Saiba mais sobre o YOLOv5.

YOLO11: A Vanguarda

YOLO11 integra as mais recentes técnicas de aprendizagem profunda para maximizar a reutilização de recursos e minimizar a sobrecarga computacional.

  • Bloco C3k2: Uma evolução do gargalo CSP, este bloco permite um fluxo de gradiente e fusão de características mais eficientes.
  • Módulo C2PSA: Introduz mecanismos de atenção espacial, permitindo que o modelo se concentre em áreas críticas da imagem para uma melhor localização do objeto.
  • Cabeçalho Multi-Tarefa: Ao contrário do YOLOv5, que requer forks de modelo separados para diferentes tarefas, o YOLO11 suporta nativamente Detecção de Objetos, Segmentação de Instâncias, Estimativa de Pose, Caixas Delimitadoras Orientadas (OBB) e Classificação em uma estrutura unificada.

Saiba mais sobre o YOLO11.

Tabela de Comparação: Especificações Técnicas

FuncionalidadeYOLOv5YOLO11
ArquiteturaBackbone CSPDarknetBackbone Refinado com C3k2 & C2PSA
Cabeçalho de DetecçãoBaseado em ÂncorasLivre de Âncoras
TarefasDetect, Segment, ClassifyDetect, Segment, Classify, Pose, OBB, Track
LicençaAGPL-3.0AGPL-3.0
Data de LançamentoJunho de 2020Setembro de 2024
Facilidade de UsoAlto (Linha de Comando e PyTorch Hub)Muito Alto (SDK python e CLI Unificados)

Treinamento e Ecossistema

Ambos os modelos se beneficiam do robusto ecossistema Ultralytics, que fornece ferramentas contínuas para gerenciamento de dados, treinamento e implantação.

Eficiência do Treinamento

O YOLO11 foi projetado para treinar mais rápido e convergir mais rapidamente do que o YOLOv5.

  • Smart Defaults: O motor Ultralytics configura automaticamente os hiperparâmetros com base no conjunto de dados e no tamanho do modelo, reduzindo a necessidade de ajuste manual de hiperparâmetros.
  • Uso de Memória: Graças à contagem de parâmetros reduzida, os modelos YOLO11 geralmente consomem menos VRAM da GPU durante o treino, permitindo tamanhos de batch maiores em hardware de consumidor.

Exemplo de Código: Treinando o YOLO11

O treinamento do YOLO11 é simplificado usando o ultralytics Pacote Python. O exemplo a seguir demonstra como treinar um modelo YOLO11n no conjunto de dados COCO8.

from ultralytics import YOLO

# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")

# Train the model
# The device argument can be 'cpu', 0 for GPU, or [0, 1] for multi-GPU
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)

Integração do Ecossistema

Embora o YOLOv5 tenha uma vasta coleção de tutoriais de terceiros devido à sua idade, o YOLO11 é nativamente integrado ao pacote Ultralytics moderno. Isso fornece acesso imediato a recursos avançados:

  • Exportação com Um Clique: Exporte para ONNX, OpenVINO, TensorRT e CoreML com um único comando.
  • Tracking: Suporte integrado para object tracking (BoT-SORT, ByteTrack) sem repositórios externos.
  • Explorer: Use a API Ultralytics Explorer para visualizar e consultar seus conjuntos de dados usando SQL e pesquisa semântica.

Casos de Uso Ideais

A escolha do modelo certo depende das restrições e requisitos específicos do seu projeto.

Quando escolher o YOLO11

O YOLO11 é a escolha recomendada para 95% dos novos projetos.

  1. Novos Desenvolvimentos: Se você estiver começando do zero, o YOLO11 oferece a melhor proteção para o futuro, precisão e velocidade.
  2. Implantação em CPU: Para dispositivos de borda rodando em CPU (por exemplo, Raspberry Pi, telefones celulares), YOLO11n é significativamente mais rápido e preciso do que YOLOv5n.
  3. Tarefas Complexas: Projetos que requerem Estimativa de Pose ou OBB (por exemplo, imagens aéreas, análise de documentos) são nativamente suportados pelo YOLO11.
  4. Nuvem e Servidor: O alto rendimento do YOLO11 o torna ideal para processar fluxos de vídeo massivos em tempo real.

Quando manter o YOLOv5

YOLOv5 continua sendo uma opção viável para cenários legados específicos.

  1. Manutenção Legada: Se você tiver um sistema de produção fortemente acoplado ao código-fonte ou formato de saída YOLOv5 específico.
  2. Ajuste de Hardware Específico: Alguns aceleradores incorporados mais antigos podem ter firmware altamente otimizado especificamente validado para camadas YOLOv5 (embora a maioria dos tempos de execução modernos como o OpenVINO agora favoreça arquiteturas mais recentes).
  3. Base Académica: Investigadores que comparam com as bases de referência históricas citam frequentemente o YOLOv5 devido à sua presença de longa data na literatura.

Migração para YOLO11

A migração do YOLOv5 para o YOLO11 é direta. O formato do conjunto de dados (YOLO TXT) permanece idêntico, o que significa que você pode reutilizar seus conjuntos de dados anotados existentes sem modificação. A estrutura da API Python também é muito semelhante, muitas vezes exigindo apenas uma mudança na string do nome do modelo (por exemplo, de yolov5su.pt para yolo11n.pt dentro do ultralytics pacote).

Explorando Outras Opções

A Ultralytics suporta uma ampla gama de modelos além de apenas YOLO11 e YOLOv5. Dependendo das suas necessidades específicas, você pode considerar:

  • YOLOv8: O predecessor direto do YOLO11, oferecendo um ótimo equilíbrio de recursos e ampla adoção na indústria.
  • YOLOv10: Uma arquitetura focada no treinamento sem NMS para menor latência em aplicações específicas em tempo real.
  • RT-DETR: Um detector baseado em transformer que se destaca em precisão para casos em que a velocidade de inferência é menos crítica do que a precisão máxima.
  • YOLOv9: Conhecido pelo seu conceito de Informação de Gradiente Programável (PGI), oferecendo um forte desempenho em tarefas de detecção difíceis.

Conclusão

A transição do YOLOv5 para o YOLO11 marca um marco significativo na história da visão computacional. O YOLOv5 democratizou a IA, tornando a detecção de objetos acessível a todos. O YOLO11 aperfeiçoa esta visão, entregando um modelo que é mais rápido, mais leve e mais preciso.

Para desenvolvedores que buscam o melhor desempenho por watt e o conjunto de recursos mais versátil, YOLO11 é o claro vencedor. Sua integração ao ecossistema ativo da Ultralytics garante que você tenha acesso às ferramentas mais recentes, APIs simples e uma comunidade próspera para apoiar sua jornada de IA.

Pronto para atualizar? Consulte a Documentação YOLO11 ou explore o repositório GitHub para começar hoje mesmo.


Comentários