YOLOv9 . EfficientDet: uma comparação técnica de arquitetura e desempenho
No cenário em evolução da visão computacional, selecionar a arquitetura certa para detecção de objetos é uma decisão crítica que afeta a latência, a precisão e a complexidade de implementação do sistema. Este guia fornece uma comparação técnica detalhada entre YOLOv9, um modelo de última geração introduzido no início de 2024, e o EfficientDet, uma arquitetura altamente influente do Google pela sua escalabilidade eficiente. Analisamos as suas diferenças estruturais, métricas de desempenho e adequação para aplicações do mundo real.
Análise de Métricas de Desempenho
A tabela a seguir compara o desempenho de várias escalas de modelos. YOLOv9 demonstra, em geral, relações precisão-parâmetro superiores e velocidades de inferência mais rápidas em hardware moderno, em comparação com a arquitetura EfficientDet mais antiga.
| 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.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 |
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
Visões Gerais do Modelo
YOLOv9
Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
Organização: Instituto de Ciência da Informação, Academia Sinica, Taiwan
Data: 21/02/2024
Links:Arxiv | GitHub | Docs
YOLOv9 inovações arquitetónicas significativas para resolver o problema do «gargalo de informação» em redes profundas. A principal contribuição é a Informação de Gradiente Programável (PGI), que gera gradientes fiáveis através de um ramo de supervisão auxiliar para garantir que as camadas profundas retenham informações críticas. Além disso, utiliza a Rede de Agregação de Camadas Eficiente Generalizada (GELAN), uma arquitetura leve que maximiza a eficiência dos parâmetros.
EfficientDet
Autores: Mingxing Tan, Ruoming Pang, Quoc V. Le
Organização:Google
Data: 20/11/2019
Links:Arxiv | GitHub
O EfficientDet foi um trabalho pioneiro em AutoML que introduziu a Rede Piramidal de Características Bidirecionais (BiFPN). Ao contrário das FPNs tradicionais, a BiFPN permite uma fácil fusão de características em múltiplas escalas através da introdução de pesos aprendíveis. O modelo também emprega o Compound Scaling, um método que escala uniformemente a resolução, profundidade e largura, permitindo-lhe alcançar um excelente desempenho em um amplo espectro de restrições de recursos (de D0 a D7).
Análise Arquitetural Detalhada
Fusão de recursos: GELAN vs. BiFPN
O principal diferencial reside na forma como esses modelos agregam recursos. O EfficientDet depende da complexa estrutura BiFPN, que, embora seja teoricamente eficiente em FLOPs, pode consumir muita memória e ser mais difícil de otimizar para aceleradores de hardware específicos, como o TensorRT.
Em contrapartida, a arquitetura GELAN YOLOv9 combina os melhores aspectos do CSPNet e do ELAN. Ela prioriza o planeamento do caminho do gradiente em detrimento de conexões de fusão complexas. Isso resulta numa rede que não só é mais leve em termos de parâmetros, mas também mais «amigável ao hardware», levando a GPU maior GPU durante o treino e a inferência.
Fluxo de gradiente e perda de informação
O EfficientDet depende da retropropagação padrão através de uma estrutura EfficientNet muito profunda. YOLOv9 o problema em que as redes profundas «esquecem» os detalhes dos dados de entrada. Através do PGI, YOLOv9 um ramo reversível auxiliar que orienta o processo de aprendizagem, garantindo que o ramo principal capte características semânticas robustas sem o custo computacional de manter esses ramos auxiliares durante a inferência.
Advertência: Benefício PGI
A Informação de Gradiente Programável (PGI) permite YOLOv9 alcance uma melhor convergência com menos dados, tornando-o particularmente eficaz para conjuntos de dados personalizados, onde os exemplos anotados podem ser escassos.
Ecossistema e Facilidade de Uso
Uma das diferenças mais profundas para os programadores é o ecossistema que envolve esses modelos.
O EfficientDet está principalmente enraizado no TensorFlow . Embora seja poderoso, a sua utilização requer frequentemente a navegação por cadeias de dependências complexas ou repositórios mais antigos que podem não ter atualizações frequentes.
YOLOv9, integrado ao Ultralytics , oferece uma experiência simplificada. Os programadores podem aceder ao modelo através de uma Python simples, permitindo o treino, a validação e a implementação em minutos. A Ultralytics lida com o aumento de dados, o registo (por exemplo, para MLflow ou Comet) e exportação automaticamente.
from ultralytics import YOLO
# Load a pretrained YOLOv9c model
model = YOLO("yolov9c.pt")
# Train the model on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to ONNX for deployment
model.export(format="onnx")
Este trecho demonstra a facilidade de uso inerente aos Ultralytics . A estrutura também suporta precisão mista automática (AMP) eGPU pronto para uso, garantindo eficiência no treinamento.
Versatilidade e implementação
Suporte a Tarefas
O EfficientDet foi concebido fundamentalmente para a deteção de objetos. Adaptá-lo para tarefas como segmentação ou estimativa de pose requer modificações arquitetónicas significativas e código personalizado.
Ultralytics , incluindo YOLOv9 seus sucessores, são construídos em uma base de código versátil que suporta nativamente:
- Detecção de Objetos
- Segmentação de Instância
- Estimativa de Pose
- Caixa Delimitadora Orientada (OBB)
- Classificação
Compatibilidade com bordas e memória
Embora o EfficientDet-D0 seja pequeno, a expansão para D7 acarreta custos de memória elevados devido à expansão da resolução (até 1536x1536). YOLOv9 uma entrada padrão de 640x640 para a maioria dos benchmarks, ao mesmo tempo que alcança uma precisão superior. Esta resolução de entrada mais baixa reduz significativamente os requisitos de memória para VRAM, permitindo tamanhos de lote maiores e experiências mais rápidas em GPUs de consumo.
Além disso, Ultralytics suportam exportação com um clique para formatos como TFLite para dispositivos móveis, OpenVINO para Intel e CoreML dispositivos Apple, garantindo ampla compatibilidade com dispositivos móveis.
Casos de Uso no Mundo Real
A escolha do modelo muitas vezes determina o sucesso de uma aplicação específica:
- Análise de retalho: para contar produtos nas prateleiras, YOLOv9 é superior devido à sua alta precisão (mAP) em objetos pequenos, impulsionado pela capacidade do PGI de reter detalhes finos.
- Drones autónomos: Em cenários que exigem inferência em tempo real em hardware incorporado (por exemplo, Jetson Orin), a arquitetura GELAN eficiente YOLOv9 fornece o FPS necessário que as camadas BiFPN complexas do EfficientDet muitas vezes têm dificuldade em igualar.
- Sistemas legados:O EfficientDet continua a ser relevante em comparações de investigação ou TPU legadas Google TPU , onde a arquitetura específica do modelo está codificada no pipeline de hardware.
O Futuro: YOLO26
Embora YOLOv9 um desempenho excepcional, o campo da IA evolui rapidamente. Ultralytics a inovar com o YOLO26, a escolha recomendada para novos projetos.
O YOLO26 aproveita os pontos fortes YOLO anteriores YOLO , mas introduz um design nativo de ponta a ponta NMS, eliminando a latência e a complexidade do pós-processamento de supressão não máxima. Ele apresenta o MuSGD Optimizer, um híbrido de SGD Muon, e remove a Distribution Focal Loss (DFL) para uma exportação mais simples. Essas alterações resultam em CPU até 43% mais rápida e maior estabilidade de treinamento.
Além disso, o YOLO26 incorpora ProgLoss + STAL (Soft-Target Anchor Loss), oferecendo melhorias notáveis no reconhecimento de pequenos objetos, o que é fundamental para robótica e imagens aéreas. Para desenvolvedores que buscam o equilíbrio perfeito entre velocidade, precisão e facilidade de implementação, o YOLO26 representa o novo padrão.
Conclusão
Ambas as arquiteturas conquistaram o seu lugar na história da visão computacional. O EfficientDet demonstrou o poder do dimensionamento composto, enquanto o YOLOv9 mostrou como os gradientes programáveis podem recuperar informações em redes profundas. No entanto, para ambientes de produção modernos, o Ultralytics — que suporta tanto YOLOv9 o mais recente YOLO26 — oferece uma vantagem distinta em termos de manutenção, velocidade de treinamento e flexibilidade de implementação.
Veja Também
- YOLOv10 EfficientDet: Comparação com o primeiro YOLO NMS.
- YOLO26 vs YOLOv9: uma análise aprofundada das atualizações da última geração.
- Ultralytics : a maneira mais simples de treinar e implementar os seus modelos.