YOLOv9 vs YOLOv5#
O campo da visão computacional tem testemunhado um crescimento extraordinário, com a deteção de objetos a funcionar como base para inúmeras aplicações industriais e de investigação. Escolher a arquitetura certa exige frequentemente uma avaliação cuidadosa da Precisão Média Média (mAP), da velocidade de inferência e da utilização de memória. Nesta comparação, exploramos dois modelos altamente influentes: YOLOv9, reconhecido pelos seus avanços arquiteturais na retenção de informação de gradiente, e o Ultralytics YOLOv5, o padrão da indústria testado em produção, conhecido pela sua incrível facilidade de utilização e versatilidade de implementação incomparável.
Inovações arquiteturais e origens técnicas#
Compreender os mecanismos subjacentes destes dois modelos fornece um contexto essencial para os respetivos perfis de desempenho.
YOLOv9: Informação de gradiente programável#
Desenvolvido pelos investigadores Chien-Yao Wang e Hong-Yuan Mark Liao no Institute of Information Science da Academia Sinica, em Taiwan, o YOLOv9 foi lançado em 21 de fevereiro de 2024. O modelo introduz dois conceitos revolucionários para resolver o gargalo de informação comum nas redes neuronais profundas: Informação de Gradiente Programável (PGI) e Rede Generalizada de Agregação Eficiente de Camadas (GELAN).
Ao utilizar PGI, o YOLOv9 garante que a informação vital seja preservada ao longo do processo de propagação para a frente, resultando em atualizações de gradiente altamente precisas. Entretanto, a arquitetura GELAN maximiza a eficiência dos parâmetros, permitindo que o modelo alcance uma precisão de última geração com uma sobrecarga computacional surpreendentemente baixa. Podes explorar os detalhes técnicos no artigo YOLOv9 no Arxiv oficial ou consultar o repositório do YOLOv9 no GitHub.
Ultralytics YOLOv5: o padrão de produção#
Criado por Glenn Jocher e lançado pela Ultralytics em 26 de junho de 2020, o YOLOv5 revolucionou a acessibilidade da visão computacional. Sendo um dos primeiros modelos de deteção de objetos desenvolvidos nativamente no framework PyTorch, contornou as complexidades do antigo framework C Darknet. O YOLOv5 utiliza uma backbone CSPNet altamente otimizada e um neck PANet, privilegiando um equilíbrio perfeito entre velocidade e precisão.
A sua maior conquista, contudo, é a integração no ecossistema mais amplo da Ultralytics. O YOLOv5 está fortemente otimizado para uma eficiência de treino rápida e ambientes com pouca memória, o que o torna extremamente estável para implementações na periferia.
Ao avaliares modelos para dispositivos de edge, lembra-te de que os modelos YOLO da Ultralytics normalmente exigem significativamente menos memória GPU durante o treino e a inferência do que arquiteturas pesadas baseadas em Transformer.
Análise de desempenho: velocidade vs. precisão#
Ao conceber um pipeline de visão computacional, os programadores têm de ponderar os compromissos entre precisão e latência. A tabela seguinte ilustra as diferenças de desempenho no conjunto de dados COCO padrão.
| Modelo | tamanho (píxeis) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Análise dos compromissos#
O YOLOv9 estabelece um domínio absoluto em precisão bruta. O YOLOv9e leva os limites da mAP até 55,6%, utilizando as suas camadas GELAN para preservar detalhes de granularidade fina. Isto torna-o uma escolha excecional para imagiologia médica ou cenários que exigem uma precisão rigorosa em objetos pequenos.
Por outro lado, o YOLOv5 destaca-se pela velocidade bruta de implementação e pela flexibilidade de hardware. O YOLOv5n (Nano) é conhecido por ser extremamente leve, executando inferências em apenas 1,12 ms numa GPU T4 através do TensorRT. Se estiveres a implementar em dispositivos IoT com recursos limitados, telemóveis ou Raspberry Pi, a pegada de memória do YOLOv5 torna-o extraordinariamente fiável.
A vantagem do ecossistema Ultralytics#
Uma consideração importante ao selecionar um modelo é o ecossistema de software envolvente. Embora o YOLOv9 forneça referências de investigação de topo, utilizar ambos os modelos através da moderna API Python da Ultralytics colmata essa diferença, oferecendo aos programadores uma experiência unificada e simplificada.
Facilidade de utilização e exportação#
A Ultralytics abstrai obstáculos complexos de engenharia. Funcionalidades como o aumento de dados automático e o ajuste de hiperparâmetros são tratadas de imediato. Transferir modelos para produção é igualmente simples, com comandos de exportação integrados para converter modelos para os formatos ONNX, OpenVINO ou TFLite.
Versatilidade de tarefas#
Embora ambos os modelos sejam excelentes na deteção de objetos, os modelos modernos da Ultralytics foram desenvolvidos para enfrentar uma variedade de desafios de visão computacional. O framework mais amplo fornece suporte nativo para classificação de imagens, segmentação de instâncias, estimativa de pose e caixas delimitadoras orientadas (OBB), permitindo aos programadores resolver vários problemas de visão sem mudar de base de código.
Casos de uso e recomendações#
A escolha entre YOLOv9 e YOLOv5 depende dos requisitos específicos do teu projeto, das restrições de implementação e das tuas preferências relativamente ao ecossistema.
Quando escolher o YOLOv9#
O YOLOv9 é uma escolha sólida para:
- Investigação sobre gargalos de informação: Projetos académicos que estudam as arquiteturas de Informação de Gradiente Programável (PGI) e Rede Generalizada de Agregação de Camadas Eficiente (GELAN).
- Estudos de otimização do fluxo de gradientes: Investigação centrada na compreensão e mitigação da perda de informação nas camadas profundas da rede durante o treino.
- Avaliação comparativa de deteção de alta precisão: Cenários nos quais o forte desempenho do YOLOv9 no benchmark COCO é necessário como ponto de referência para comparações arquiteturais.
Quando escolher o YOLOv5#
O YOLOv5 é recomendado para:
- Sistemas comprovados em produção: Implementações existentes em que o longo historial de estabilidade do YOLOv5, a documentação abrangente e o enorme suporte da comunidade são valorizados.
- Treino com recursos limitados: Ambientes com recursos de GPU limitados, onde o pipeline de treino eficiente do YOLOv5 e os menores requisitos de memória são vantajosos.
- Suporte abrangente a formatos de exportação: Projetos que exigem implementação em vários formatos, incluindo ONNX, TensorRT, CoreML e TFLite.
Quando escolher Ultralytics (YOLO26)#
Para a maioria dos projetos novos, o Ultralytics YOLO26 oferece a melhor combinação de desempenho e experiência de desenvolvimento:
- Implantação em dispositivos de borda sem NMS: Aplicações que exigem inferência consistente e de baixa latência sem a complexidade do pós-processamento de Supressão de Não-Máximos.
- Ambientes que usam apenas CPU: Dispositivos sem aceleração dedicada por GPU, nos quais a inferência em CPU até 43% mais rápida do YOLO26 oferece uma vantagem decisiva.
- Detecção de objetos pequenos: Cenários desafiadores, como imagens aéreas capturadas por drones ou análise de sensores de IoT, nos quais ProgLoss e STAL aumentam significativamente a precisão em objetos minúsculos.
Exemplo de implementação#
A grande vantagem do ecossistema da Ultralytics é poderes alternar entre um modelo YOLOv5 e um modelo YOLOv9 simplesmente alterando a string dos pesos.
from ultralytics import YOLO
# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")
# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")
# Export to ONNX for seamless deployment
model.export(format="onnx")Explorar arquiteturas mais recentes#
Embora YOLOv5 e YOLOv9 sejam modelos excelentes, com vantagens distintas, o campo continua a avançar. Os utilizadores que estejam a explorar novos projetos também podem querer avaliar as iterações mais recentes da Ultralytics.
- YOLO11: Uma evolução poderosa e refinada da linhagem YOLOv8, que oferece um excelente equilíbrio entre velocidade e precisão em todas as tarefas de visão.
- YOLO26: Lançado em 2026, o YOLO26 é a recomendação definitiva para pipelines modernos. Introduz um Design sem NMS de ponta a ponta, eliminando completamente os gargalos de pós-processamento. Com a Remoção de DFL (a Loss Focal de Distribuição removida para simplificar a exportação e melhorar a compatibilidade com dispositivos edge e de baixo consumo), alcança uma inferência CPU até 43% mais rápida. A estabilidade do treino é significativamente melhorada através do novo Otimizador MuSGD, e ProgLoss + STAL fornece funções de perda melhoradas, com melhorias notáveis no reconhecimento de objetos pequenos, essencial para IoT, robótica e imagens aéreas, tornando-o a arquitetura mais robusta para implementações na periferia e na nuvem.
Para equipas que gerem grandes conjuntos de dados e pipelines de implementação complexos, utilizar a Plataforma Ultralytics oferece uma solução sem código para treinar, acompanhar e implementar estes modelos de última geração sem esforço.