YOLOv9 vs YOLOv7#
A evolução da deteção de objetos em tempo real tem sido impulsionada pela procura contínua de um equilíbrio entre eficiência computacional e elevada precisão. Duas arquiteturas de referência neste percurso são YOLOv9 e YOLOv7, ambas desenvolvidas por investigadores do Institute of Information Science da Academia Sinica, em Taiwan. Enquanto o YOLOv7 introduziu as revolucionárias técnicas de treino bag-of-freebies, o mais recente YOLOv9 aborda diretamente os estrangulamentos de informação na aprendizagem profunda.
Esta comparação técnica abrangente explora as diferenças arquitetónicas, as métricas de desempenho e os cenários de implementação ideais de ambos os modelos, ajudando engenheiros de aprendizagem automática e investigadores a escolher a ferramenta certa para os seus pipelines de visão computacional.
Comparação de desempenho e métricas#
Ao comparar estes modelos, o desempenho bruto e a eficiência são fatores essenciais. A tabela seguinte apresenta a precisão média (mAP) e os requisitos computacionais dos testes de referência com o conjunto de dados padrão COCO.
| Modelo | tamanho (pixels) | 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.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Repara que o YOLOv9c alcança praticamente a mesma precisão (53,0 mAP) que o YOLOv7x (53,1 mAP), utilizando muito menos parâmetros (25,5 milhões contra 71,3 milhões) e FLOPs. Isto demonstra as melhorias no equilíbrio de desempenho das arquiteturas modernas.
YOLOv9: Resolução do Estrangulamento de Informação#
Apresentado no início de 2024, o YOLOv9 mudou fundamentalmente a forma como as redes neuronais profundas retêm dados ao longo das suas camadas.
- Autores: Chien-Yao Wang e Hong-Yuan Mark Liao
- Organização: Institute of Information Science, Academia Sinica
- Data: 21 de fevereiro de 2024
- Recursos: Artigo no arXiv | Repositório no GitHub
Inovações na Arquitetura#
O YOLOv9 introduz a Rede Generalizada de Agregação Eficiente de Camadas (GELAN) e a Informação de Gradiente Programável (PGI). A GELAN combina os pontos fortes de CSPNet e ELAN para otimizar a eficiência dos parâmetros e o custo computacional, garantindo elevada precisão com menos parâmetros. A PGI é uma estrutura de supervisão auxiliar concebida para evitar a perda de dados em redes profundas, gerando gradientes fiáveis para atualizar os pesos durante o treino.
Pontos Fortes e Limitações#
O principal ponto forte do YOLOv9 é a capacidade de extrair características subtis sem uma sobrecarga computacional elevada, o que o torna extremamente adequado para tarefas que exigem elevada fidelidade de características, como a análise de imagens médicas. No entanto, a estrutura complexa da PGI durante o treino pode dificultar as modificações arquitetónicas personalizadas a principiantes, em comparação com estruturas mais unificadas.
YOLOv7: Pioneiro das Técnicas Bag-of-Freebies#
Lançado em 2022, o YOLOv7 estabeleceu um novo padrão para o que era possível em hardware de consumo, introduzindo inovações estruturais que aumentaram significativamente a velocidade da inferência em tempo real.
- Autores: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organização: Institute of Information Science, Academia Sinica
- Data: 6 de julho de 2022
- Recursos: Artigo no arXiv | Repositório no GitHub
Inovações na Arquitetura#
O principal contributo do YOLOv7 é a Rede Estendida de Agregação Eficiente de Camadas (E-ELAN). Esta arquitetura permite ao modelo aprender continuamente características mais diversificadas. Além disso, o YOLOv7 utiliza técnicas de «bag-of-freebies treináveis», como convoluções reparametrizadas planeadas e atribuição dinâmica de rótulos. Estes métodos melhoram a precisão do modelo durante o treino sem acrescentar custos de inferência na implementação.
Pontos Fortes e Limitações#
O YOLOv7 é altamente otimizado para processamento na borda em tempo real e continua a ser uma opção de referência em sistemas legados e ambientes CUDA mais antigos. Sua principal limitação atualmente é o maior número de parâmetros em comparação com os modelos mais recentes. Como mostra a tabela de desempenho, para alcançar uma precisão de alto nível é necessário usar o modelo YOLOv7x, mais pesado, que exige significativamente mais memória da GPU do que arquiteturas modernas equivalentes.
A Vantagem da Ultralytics: Implementação Simplificada#
Embora os repositórios originais de investigação do YOLOv9 e do YOLOv7 ofereçam excelentes bases académicas, a implementação destes modelos em ambientes de produção pode ser complexa. A integração do YOLOv9 através do pacote ultralytics (o YOLOv7 só é suportado através de modelos exportados para ONNX ou TensorRT) oferece uma Facilidade de Utilização sem paralelo.
Ao utilizar a Plataforma Ultralytics, os programadores beneficiam de um ecossistema bem mantido, com uma API Python intuitiva, suporte ativo da comunidade e acompanhamento de experiências robusto.
Preparar o Futuro com YOLO26#
Se estás a iniciar um novo projeto de visão computacional, recomendamos vivamente que explores o recém-lançado YOLO26 em vez do YOLOv9 e do YOLOv7. Lançado como o novo padrão de ponta, o YOLO26 traz avanços revolucionários:
- Arquitetura Integral sem NMS: Uma cabeça opcional um-para-um (
nms=False) ignora o pós-processamento de supressão não máxima, reduzindo drasticamente a complexidade e a latência da implementação. - Inferência na CPU até 43% mais rápida: Otimizada para ambientes de computação na periferia, garantindo que a tua aplicação funciona sem problemas mesmo sem GPUs dedicadas.
- Otimizador MuSGD: Um otimizador híbrido inspirado no treinamento de LLMs, que proporciona convergência altamente estável e reduz o tempo de treinamento.
- Remoção de DFL: Exportação simplificada do modelo com a remoção da Distribution Focal Loss, melhorando a compatibilidade com dispositivos móveis de baixo consumo.
- ProgLoss + STAL: Melhora drasticamente o desempenho na detecção de objetos pequenos, tornando-se a principal escolha para imagens aéreas e vigilância.
Outras alternativas populares no ecossistema incluem Ultralytics YOLOv8 e YOLO11, que oferecem grande versatilidade em tarefas como segmentação de instâncias e estimativa de pose.
Exemplo de implementação#
Treinar e exportar YOLOv9 ou YOLO26 é incrivelmente simples com a API unificada. O código abaixo demonstra a Eficiência de Treinamento simplificada que caracteriza as ferramentas Ultralytics.
from ultralytics import YOLO
# Inicializa o modelo YOLOv9 ou o modelo YOLO26 recomendado
model = YOLO("yolov9c.pt") # Substitui por "yolo26n.pt" para obter mais velocidade na borda
# Treina com um conjunto de dados personalizado usando o aumento de dados integrado
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Exporta o modelo treinado para o formato ONNX para implantação
model.export(format="onnx")Ao treinar em hardware de consumo, a eficiência de memória é crucial. As implementações Ultralytics de YOLOv9 e YOLO26 são amplamente otimizadas para reduzir picos de VRAM, ao contrário dos modelos baseados em Transformer (como RT-DETR), que costumam sofrer com um consumo excessivo de memória durante o treinamento.
Aplicações no mundo real e casos de uso ideais#
A escolha entre essas arquiteturas geralmente depende das restrições específicas do teu ambiente de produção.
Quando usar YOLOv9: YOLOv9 se destaca em ambientes que exigem a preservação de detalhes minuciosos. A extração robusta de características torna o modelo ideal para análise de varejo, contando produtos agrupados densamente nas prateleiras, e para aplicações agrícolas em que é essencial identificar doenças em estágio inicial em pequenas folhas.
Quando usar YOLOv7: YOLOv7 continua sendo uma opção sólida para pipelines de implantação legados. Se estiveres integrando o modelo a sistemas de hardware mais antigos (como certas gerações do Google Coral Edge TPU), a arquitetura CNN simples do YOLOv7 pode ser mais fácil de compilar do que os modelos mais recentes.
Quando usar YOLO26 (recomendado): Para qualquer implantação moderna — de drones autônomos à gestão de tráfego em cidades inteligentes —, YOLO26 é a melhor opção. A arquitetura sem NMS garante tempos de inferência determinísticos, essenciais para robótica crítica para a segurança, enquanto sua alta precisão supera YOLOv9 e YOLOv7 em todos os aspectos.