YOLOv5 vs YOLOv9#
O panorama da visão computacional e da deteção de objetos em tempo real registou avanços notáveis nos últimos anos. Navegar na escolha entre modelos estabelecidos e comprovados e novas arquiteturas de investigação é um desafio comum para os engenheiros de machine learning. Este guia fornece uma comparação técnica abrangente entre dois modelos altamente influentes na família YOLO: YOLOv5 e YOLOv9.
Quer estejas a fazer o deploy para dispositivos edge limitados, a pesquisar a extração de características de alta fidelidade ou a construir pipelines complexos de object detection, compreender as nuances arquitetónicas, as métricas de desempenho e as diferenças de ecossistema destes modelos é crucial.
Visão Geral dos Modelos#
Antes de mergulhar nas comparações arquitetónicas, é útil compreender as origens e os objetivos principais de cada modelo.
Ultralytics YOLOv5#
Desenvolvido por Glenn Jocher e lançado pela Ultralytics a 26 de junho de 2020, o YOLOv5 marcou uma mudança de paradigma na forma como os programadores interagiam com os modelos de visão. Ao adotar totalmente o framework PyTorch, o YOLOv5 substituiu os passos de compilação complexos dos modelos anteriores baseados em Darknet por uma experiência de utilizador intuitiva e focada em Python.
- Autor: Glenn Jocher
- Organização: Ultralytics
- Data: 26-06-2020
- GitHub: YOLOv5 Repository
- Docs: Documentação do YOLOv5
O YOLOv5 é conhecido pela sua Facilidade de Utilização e desempenho estável em diversos ambientes de hardware. Suporta não só a deteção, mas também a image classification e a instance segmentation.
YOLOv9#
Introduzido por Chien-Yao Wang e Hong-Yuan Mark Liao do Institute of Information Science da Academia Sinica, Taiwan, o YOLOv9 foca-se fortemente na teoria arquitetónica para mitigar problemas de estrangulamento de informação em redes neuronais profundas.
- Autores: Chien-Yao Wang e Hong-Yuan Mark Liao
- Organização: Institute of Information Science, Academia Sinica, Taiwan
- Data: 21-02-2024
- Arxiv: 2402.13616
- GitHub: Repositório do YOLOv9
- Docs: Documentação do YOLOv9
O núcleo do YOLOv9 baseia-se em duas inovações teóricas principais: Programmable Gradient Information (PGI) e Generalized Efficient Layer Aggregation Network (GELAN). Estes conceitos ajudam o modelo a reter características espaciais críticas através de camadas de rede profundas.
Embora o YOLOv5 e o YOLOv9 sejam poderosos, o recém-lançado YOLO26 representa o equilíbrio definitivo entre velocidade e precisão. Com um design end-to-end sem NMS e inferência em CPU até 43% mais rápida, o YOLOv9 é altamente recomendado para computação edge moderna e deployments de produção.
Diferenças Arquitetónicas e Técnicas#
Compreender o que alimenta estes modelos de visão por baixo do capô é vital para otimizar as estratégias de model deployment.
Extração de Características e Retenção de Informação#
O YOLOv5 utiliza uma espinha dorsal Cross Stage Partial Network (CSPNet), que reduz eficazmente a sobrecarga de computação enquanto mantém um fluxo de gradiente preciso durante a retropropagação. Este design está altamente otimizado para GPU operations tradicionais e garante requisitos de memória mais baixos durante o treino, em comparação com alternativas pesadas baseadas em Transformer.
O YOLOv9 introduz o GELAN, uma arquitetura genérica que expande os princípios do CSPNet. Combinado com o PGI — um ramo reversível auxiliar —, o YOLOv9 garante que as camadas profundas não perdem os dados semânticos necessários para funções objetivo precisas. Isto permite que o YOLOv9 alcance uma elevada accuracy, particularmente em objetos mais pequenos, embora a ramificação auxiliar complexa possa por vezes dificultar os pipelines de exportação para hardware edge profundamente limitado.
Requisitos de Memória e Eficiência de Treinamento#
No que diz respeito à eficiência de treino, o YOLOv5 continua incrivelmente robusto. O Ultralytics ecosystem, bem mantido, garante que os modelos YOLOv5 consomem significativamente menos memória CUDA, permitindo aos investigadores maximizar os batch sizes em GPUs de nível de consumidor. Embora o YOLOv9 alcance uma excelente eficiência de parâmetros (alta precisão em relação ao seu tamanho), o seu processo de treino pode exigir mais recursos caso não utilizes frameworks otimizadas. Felizmente, a integração do YOLOv9 na API do Ultralytics aproxima-o da paridade com a gestão de recursos otimizada do YOLOv5.
Desempenho e Métricas#
Para avaliar objetivamente estas arquiteturas, comparamos o seu desempenho em datasets padrão como o COCO. Abaixo encontra-se uma análise detalhada de métricas como mAP (Mean Average Precision), velocidade de inferência e contagem de parâmetros.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | params (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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Como a tabela mostra, o YOLOv9 alcança maior precisão bruta em níveis equivalentes, refletindo a sua arquitetura mais recente. No entanto, o YOLOv5n mantém uma latência TensorRT incrivelmente baixa de 1,12ms, destacando a sua força duradoura para aplicações de edge computing de alta velocidade e localizadas.
Metodologias de Treino e Facilidade de Utilização#
A verdadeira vantagem de aproveitar a computer vision hoje em dia reside na acessibilidade do conjunto de ferramentas.
A vantagem da Ultralytics#
Embora os repositórios de investigação originais para modelos como o YOLOv9 sejam fundamentais, muitas vezes vêm acompanhados de matrizes de dependência complexas e scripts boilerplate. A Ultralytics Python API abstrai completamente esta complexidade. Com o ecossistema Ultralytics, podes treinar, avaliar e exportar tanto o YOLOv5 como o YOLOv9 com uma sintaxe idêntica e unificada.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for fast deployment
model_v5 = YOLO("yolov5s.pt")
# Or leverage a YOLOv9 model for high-fidelity accuracy
model_v9 = YOLO("yolov9c.pt")
# Train seamlessly on custom data with automatic MLflow logging
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)
# Export the trained model to ONNX
model_v9.export(format="onnx")Esta abordagem de API única proporciona imensa Versatilidade, suportando não só a deteção, mas também a pose estimation e as oriented bounding boxes (OBB), dependendo do modelo escolhido. Além disso, as integrações robustas com ferramentas como Comet ML e Weights & Biases estão integradas diretamente no loop de treino.
Casos de Uso Ideais e Aplicações no Mundo Real#
A escolha entre estas arquiteturas depende muito das restrições do teu hardware e da precisão exigida pelo teu domínio de aplicação.
Quando escolher o YOLOv5#
O YOLOv5 é um veterano testado em batalha que brilha em implementações que priorizam a estabilidade, baixo consumo de memória e extrema compatibilidade de exportação.
- Deployments Móveis: Exportar o YOLOv5 para TFLite ou CoreML para inferência no próprio dispositivo em smartphones mais antigos é incrivelmente simples.
- Hardware Edge Legado: Para dispositivos como o Raspberry Pi ou as primeiras gerações de NVIDIA Jetson Nanos, as convoluções diretas do YOLOv5 garantem taxas de fotogramas consistentes para aplicações como smart parking management.
- Prototipagem Rápida: A vasta disponibilidade de tutoriais da comunidade, pre-trained weights personalizados e compatibilidade massiva com datasets torna-o na forma mais rápida de validar uma prova de conceito.
Quando escolher o YOLOv9#
O YOLOv9 é ideal para cenários onde capturar detalhes intrincados e minimizar falsos negativos é absolutamente crítico, mesmo que isso exija um pouco mais de carga computacional.
- Imagens Aéreas e de Satélite: O framework PGI é altamente hábil a manter a fidelidade de pequenos objetos, tornando o YOLOv9 excelente para agricultural monitoring baseado em drones.
- Diagnóstico por Imagem Médica: Ao detetar anomalias ou lesões minúsculas em exames de alta resolução, o fluxo de gradiente preciso da GELAN fornece uma vantagem necessária no recall.
- Análise de Retalho de Alta Performance: O rastreio de produtos sobrepostos em prateleiras densas beneficia significativamente das capacidades superiores de retenção de características do YOLOv9.
Expandindo os Teus Horizontes#
Embora a comparação entre o YOLOv5 e o YOLOv9 ofereça uma visão clara de como as arquiteturas evoluíram de 2020 para 2024, o campo da IA está a avançar mais depressa do que nunca. Para os programadores que procuram a vanguarda absoluta do desempenho, explorar os mais recentes YOLO26 models é altamente recomendado. Ao substituir a tradicional Non-Maximum Suppression por um End-to-End NMS-Free Design nativo e ao utilizar o avançado MuSGD Optimizer, o YOLO26 preenche a lacuna entre a precisão ao nível da investigação e a velocidade ao nível da produção. Com a DFL Removal (remoção da Distribution Focal Loss para uma exportação simplificada e melhor compatibilidade com dispositivos edge/de baixo consumo), o YOLO26 atinge uma inferência em CPU até 43% mais rápida, tornando-o ideal para edge computing. Adicionalmente, o ProgLoss + STAL fornece funções de perda melhoradas com melhorias notáveis no reconhecimento de pequenos objetos, o que é crítico para IoT, robótica e imagens aéreas.
Também podes estar interessado em comparar estas arquiteturas com outros modelos de ponta, como o RT-DETR ou o altamente capaz YOLO11. Utilizar o framework unificado Ultralytics garante que, independentemente do modelo que escolhas, o teu pipeline de desenvolvimento permanece limpo, eficiente e pronto para escalar.