EfficientDet vs. YOLOv9: Comparando arquitetura e desempenho
No cenário em rápida evolução da visão computacional, selecionar a arquitetura certa para detecção de objetos é uma decisão crítica que afeta tudo, desde os custos de treinamento até a latência de implementação. Esta análise técnica fornece uma comparação abrangente entre o EfficientDet, uma arquitetura pioneira do Google em escalabilidade eficiente, e o YOLOv9, uma iteração moderna da YOLO que introduz informações de gradiente programáveis para um aprendizado de recursos superior.
Resumo Executivo
Embora o EfficientDet tenha introduzido conceitos inovadores em dimensionamento de modelos e fusão de recursos, ele agora é considerado uma arquitetura legada. Sua dependência de camadas BiFPN complexas muitas vezes leva a velocidades de inferência mais lentas em hardware moderno em comparação com os designs simplificados da YOLO .
YOLOv9 representa um avanço significativo, oferecendo maior precisão com velocidades de inferência muito superiores. Além disso, como parte do Ultralytics , YOLOv9 de uma API unificada, implementação simplificada e suporte robusto da comunidade, tornando-o a escolha recomendada para ambientes de produção.
EfficientDet: Detecção de Objetos Escalável e Eficiente
O EfficientDet foi concebido para resolver o problema do dimensionamento eficiente dos detetores de objetos. Os modelos anteriores frequentemente eram dimensionados simplesmente aumentando a espinha dorsal, o que ignorava o equilíbrio entre resolução, profundidade e largura.
Principais Características Arquitetônicas
- Escalonamento composto: O EfficientDet propõe um método de escalonamento composto que escala uniformemente a resolução, a profundidade e a largura para todas as redes principais, redes de recursos e redes de previsão de caixas/classes.
- BiFPN (Bidirectional Feature Pyramid Network): Uma inovação fundamental que permite a fácil fusão de características em múltiplas escalas. Ao contrário das FPNs tradicionais, a BiFPN adiciona caminhos bottom-up e remove nós com apenas uma entrada, incorporando pesos aprendíveis para compreender a importância das diferentes características de entrada.
- EfficientNet Backbone: Utiliza EfficientNet como backbone, que é otimizado para eficiência de parâmetros.
Autores: Mingxing Tan, Ruoming Pang e Quoc V. Le
Organização:Google
Data: 20/11/2019
Links:Arxiv | GitHub
Saiba mais sobre o EfficientDet
YOLOv9: Informação de Gradiente Programável
YOLOv9 aborda uma questão fundamental no aprendizado profundo: gargalos de informação. À medida que os dados passam pelas camadas de uma rede neural profunda, a informação é inevitavelmente perdida. YOLOv9 isso por meio da Informação de Gradiente Programável (PGI) e uma nova arquitetura chamada GELAN.
Principais Características Arquitetônicas
- GELAN (Generalized Efficient Layer Aggregation Network): Esta arquitetura combina os melhores aspectos da CSPNet e da ELAN. Ela otimiza os caminhos de descida de gradiente, garantindo que o modelo aprenda características leves, mas ricas em informações.
- PGI (Informação de Gradiente Programável): O PGI fornece um ramo de supervisão auxiliar que orienta o processo de aprendizagem, garantindo que o ramo principal retenha as informações críticas necessárias para uma detecção precisa. Isso é particularmente útil para detectar alvos difíceis em ambientes complexos.
- Simplicidade: Apesar destas complexidades internas, a estrutura de inferência permanece simplificada, evitando o elevado custo computacional associado ao BiFPN utilizado no EfficientDet.
Autores: Chien-Yao Wang e Hong-Yuan Mark Liao
Organização: Instituto de Ciência da Informação, Academia Sinica, Taiwan
Data: 21/02/2024
Links:Arxiv | GitHub
Comparação de Desempenho Técnico
Ao comparar esses modelos, torna-se evidente o compromisso entre a eficiência dos parâmetros e a latência real do tempo de execução. Embora o EfficientDet seja eficiente em termos de parâmetros, a sua estrutura gráfica complexa (BiFPN) é menos favorável ao GPU do que as convoluções padrão utilizadas no YOLOv9.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Análise de Desempenho
YOLOv9 supera YOLOv9 o EfficientDet em termos de relação velocidade-precisão. Por exemplo, o YOLOv9c atinge um mAP comparável mAP 53,0%) ao EfficientDet-d6 (52,6%), mas funciona mais de 12 vezes mais rápido em uma GPU T4 GPU 7,16 ms contra 89,29 ms). Isso torna YOLOv9 escolha superior para aplicações em tempo real.
Formação e experiência no ecossistema
Um grande diferencial entre essas arquiteturas é a facilidade de uso e o suporte ao ecossistema oferecido pela Ultralytics.
Desafios do EfficientDet
O treinamento do EfficientDet normalmente envolve navegar pela API de detecçãoTensorFlow ou repositórios legados. Isso pode ser difícil de configurar devido a conflitos de dependência e, muitas vezes, falta suporte para recursos modernos, como treinamento automático de precisão mista ou fácil integração com registro em nuvem.
A Vantagem Ultralytics
A utilização YOLOv9 Ultralytics oferece uma experiência perfeita. O ecossistema lida automaticamente com o aumento de dados, a evolução de hiperparâmetros e a exportação.
- Facilidade de uso: pode começar a treinar com algumas linhas de código.
- Eficiência de memória: Ultralytics são otimizados para usar menos VRAM durante o treinamento, permitindo tamanhos de lote maiores em GPUs de consumo em comparação com redes complexas de múltiplas ramificações.
- Versatilidade: Além da deteção, a Ultralytics suporta segmentação de instâncias e estimativa de poses, funcionalidades que não estão disponíveis de forma nativa nas implementações padrão do EfficientDet.
from ultralytics import YOLO
# Load a pretrained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Aplicações no Mundo Real
A escolha do modelo tem um impacto significativo na viabilidade de diferentes aplicações.
Casos de Uso Ideais para EfficientDet
- Investigação académica: útil para estudar técnicas de fusão de características e teorias de escalonamento composto.
- Cenários de baixa potência/baixa velocidade: em casos extremos muito específicos, em que o hardware antigo é codificado para backbones EfficientNet (por exemplo, certas TPUs Coral mais antigas), as variantes EfficientDet-Lite ainda podem ser relevantes.
Casos de Uso Ideais para YOLOv9
- Navegação autónoma: A alta velocidade de inferência é fundamental para carros autônomos, que precisam processar entradas em milissegundos para garantir a segurança.
- Análise de retalho: para aplicações como gestão de inventário, YOLOv9 a precisão necessária para distinguir entre produtos semelhantes sem travar os sistemas de checkout.
- Saúde: Na análise de imagens médicas, a arquitetura PGI ajuda a reter detalhes minuciosos necessários para detectar pequenas anomalias em raios-X ou ressonâncias magnéticas.
O futuro: atualização para o YOLO26
Embora YOLOv9 uma ferramenta poderosa, Ultralytics a expandir os limites da IA visual. Para os programadores que buscam o que há de mais avançado, o YOLO26 oferece avanços significativos em relação ao EfficientDet e YOLOv9.
O YOLO26 apresenta um design completo NMS, eliminando completamente a necessidade de pós-processamento de supressão não máxima. Isso resulta em pipelines de implementação mais simples e inferência mais rápida. Além disso, com o novo otimizador MuSGD— um híbrido de SGD Muon —, o YOLO26 oferece um treinamento mais estável e uma convergência mais rápida.
Para implementação de ponta, o YOLO26 é otimizado para CPU até 43% mais rápida e inclui a remoção de DFL para melhor compatibilidade com dispositivos de baixa potência. Quer esteja a trabalhar com robótica ou análise de vídeo de alto rendimento, o YOLO26 representa o novo padrão.
Para usuários interessados em outras arquiteturas de última geração, também recomendamos explorar YOLO11 e RT-DETR nos Ultralytics da Ultralytics .