Ir para o conteúdo

YOLOv5 vs. YOLOv9: Uma Comparação Técnica Abrangente

A evolução da detecção de objetos em tempo real tem sido marcada por rápidos avanços em precisão e eficiência. Dois marcos significativos nesta jornada são o Ultralytics YOLOv5, um modelo que estabeleceu o padrão da indústria para usabilidade e implantação, e o YOLOv9, uma arquitetura focada em pesquisa que ultrapassa os limites da teoria do aprendizado profundo.

Esta comparação técnica analisa suas arquiteturas, métricas de desempenho e casos de uso ideais para ajudar desenvolvedores e pesquisadores a selecionar a ferramenta certa para seus projetos de visão computacional.

Ultralytics YOLOv5: O Padrão da Indústria para Versatilidade

Desde o seu lançamento, o YOLOv5 tornou-se um dos modelos de IA de visão mais populares globalmente. Desenvolvido pela Ultralytics, prioriza a excelência em engenharia, a facilidade de uso e o desempenho no mundo real. Equilibra velocidade e precisão, proporcionando uma experiência de utilizador perfeita através de um ecossistema robusto.

Detalhes Técnicos:

Arquitetura e Design

YOLOv5 utiliza um backbone CSPDarknet combinado com um PANet neck para extração e agregação eficiente de características. A sua head de deteção baseada em âncoras é altamente otimizada para velocidade, tornando-o adequado para uma vasta gama de hardware. Ao contrário dos modelos puramente académicos, o YOLOv5 foi concebido tendo em mente a implementação, oferecendo suporte nativo para iOS, Android e dispositivos edge.

Principais Pontos Fortes

  • Ecossistema Bem Mantido: YOLOv5 se beneficia de anos de desenvolvimento ativo, resultando em documentação extensa, suporte da comunidade e integrações com ferramentas como Ultralytics HUB.
  • Eficiência do Treinamento: É conhecido pelos tempos de treinamento rápidos e menores requisitos de memória em comparação com arquiteturas baseadas em transformer, tornando-o acessível em GPUs de consumidor padrão.
  • Versatilidade: Além da detect, o YOLOv5 suporta nativamente segmentação de instâncias e classificação de imagens, permitindo que os desenvolvedores abordem várias tarefas de visão com uma única estrutura.
  • Pronto para Implantação: Com recursos de exportação integrados para ONNX, TensorRT, CoreML e TFLite, a transição da pesquisa para a produção é simplificada.

Saiba mais sobre o YOLOv5.

YOLOv9: Inovação Arquitetural para Máxima Precisão

Lançado em 2024, o YOLOv9 se concentra em resolver problemas de perda de informações em redes profundas. Ele introduz novos conceitos para melhorar a forma como os dados se propagam através do modelo, alcançando resultados de última geração em benchmarks como COCO.

Detalhes Técnicos:

Arquitetura e Inovações

O YOLOv9 introduz dois avanços arquitetónicos primários:

  1. Informação de Gradiente Programável (PGI): Uma técnica projetada para mitigar o problema do gargalo de informação, garantindo que a informação de entrada completa esteja disponível para o cálculo da função de perda.
  2. Generalized Efficient Layer Aggregation Network (GELAN): Uma arquitetura de rede leve que otimiza a eficiência dos parâmetros, permitindo que o modelo alcance maior precisão com menos parâmetros do que alguns predecessores.

Principais Pontos Fortes

  • Alta Precisão: YOLOv9 estabelece benchmarks impressionantes para precisão de detecção de objetos, particularmente em suas configurações maiores (YOLOv9-E).
  • Eficiência de Parâmetros: A arquitetura GELAN garante que o modelo use os parâmetros de forma eficaz, proporcionando uma forte relação precisão-peso.
  • Avanço Teórico: Aborda questões fundamentais na aprendizagem profunda relativamente à preservação de informação em camadas profundas.

Saiba mais sobre o YOLOv9

Comparação de Desempenho

Ao comparar esses dois modelos, a compensação normalmente reside entre velocidade e precisão absoluta. O YOLOv9 alcança pontuações mAPval mais altas no conjunto de dados COCO, demonstrando a eficácia do PGI e do GELAN. No entanto, o Ultralytics YOLOv5 continua sendo um concorrente formidável em velocidade de inferência, principalmente em CPUs e dispositivos de borda, onde sua arquitetura otimizada se destaca.

Equilíbrio de Desempenho

Embora o YOLOv9 lidere os gráficos de precisão, o YOLOv5 geralmente oferece um equilíbrio mais prático para aplicações em tempo real, oferecendo velocidades de inferência significativamente mais rápidas (ms) em hardware padrão, mantendo recursos robustos de detecção.

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
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Treino e Recursos

Para desenvolvedores, a eficiência do treinamento é frequentemente tão crítica quanto a velocidade de inferência. Ultralytics YOLOv5 é conhecido por sua simplicidade de "treinar e usar". Ele normalmente requer menos memória durante o treinamento em comparação com arquiteturas mais novas e complexas, especialmente modelos baseados em transformadores (como RT-DETR). Essa barreira de entrada mais baixa permite que os usuários treinem modelos personalizados em configurações de hardware modestas.

O YOLOv9, embora eficiente em parâmetros, pode ser mais intensivo em recursos para treinar devido à complexidade das ramificações auxiliares usadas para PGI, que são removidas durante a inferência, mas adicionam sobrecarga durante o treinamento.

Exemplo de Código: Interface Unificada

Uma das maiores vantagens do ecossistema Ultralytics é a API Python unificada. Você pode alternar entre YOLOv5 e YOLOv9 com uma única linha de código, tornando incrivelmente fácil comparar ambos em seu conjunto de dados específico.

from ultralytics import YOLO

# Load an Ultralytics YOLOv5 model (pre-trained on COCO)
model_v5 = YOLO("yolov5su.pt")

# Train the model on your custom data
results_v5 = model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)

# Load a YOLOv9 model for comparison
model_v9 = YOLO("yolov9c.pt")

# Train YOLOv9 using the exact same API
results_v9 = model_v9.train(data="coco8.yaml", epochs=100, imgsz=640)

Casos de Uso Ideais

A escolha entre esses modelos depende das prioridades do seu projeto:

Quando escolher o Ultralytics YOLOv5

  • Implementação de Borda: Idealmente adequado para Raspberry Pi, aplicativos móveis e sistemas embarcados onde cada milissegundo de latência conta.
  • Protótipagem Rápida: A facilidade de uso, os tutoriais extensivos e o suporte da comunidade permitem ciclos de desenvolvimento incrivelmente rápidos.
  • Requisitos Multi-Tarefa: Se o seu projeto requer segmentação ou classificação juntamente com a detecção, o YOLOv5 fornece uma solução unificada.
  • Restrições de recursos: Projetos com memória GPU limitada para treinamento se beneficiarão da eficiência do YOLOv5.

Quando escolher o YOLOv9

  • Precisão Máxima: Crítica para aplicações como imagens médicas ou inspeção industrial de alta precisão, onde perder uma detecção é dispendioso.
  • Investigação Académica: Excelente para investigadores que exploram o que há de mais recente no fluxo de informação de gradiente e no design de arquitetura de rede.
  • Hardware Poderoso: Melhor utilizado quando recursos computacionais amplos estão disponíveis para treinamento e inferência, a fim de aproveitar todo o seu potencial.

Conclusão

Ambos os modelos representam a excelência no campo da visão computacional. Ultralytics YOLOv5 continua sendo a escolha pragmática para a maioria dos desenvolvedores, oferecendo uma combinação imbatível de velocidade, confiabilidade e suporte ao ecossistema. É um cavalo de batalha testado em batalha para implantação no mundo real. YOLOv9, por outro lado, oferece um vislumbre do futuro da eficiência arquitetônica, fornecendo precisão de alto nível para aqueles que precisam.

Para aqueles que procuram o que há de mais recente em desempenho e versatilidade, também recomendamos explorar o YOLO11, que se baseia nos pontos fortes do YOLOv5 e do YOLOv8 para fornecer resultados de última geração em todas as métricas.

Explore Outros Modelos

Se você tem interesse em explorar mais, confira estes modelos relacionados no ecossistema Ultralytics:

  • YOLO11: O mais recente modelo SOTA, oferecendo desempenho e versatilidade superiores.
  • YOLOv8: Um modelo poderoso sem âncoras que suporta detecção, segmentação, pose e OBB.
  • RT-DETR: Um detector em tempo real baseado em transformer para aplicações de alta precisão.

Comentários