Ir para o conteúdo

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

Saiba mais sobre o YOLOv9

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.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.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.

Explore o poder do YOLO26

Para usuários interessados em outras arquiteturas de última geração, também recomendamos explorar YOLO11 e RT-DETR nos Ultralytics da Ultralytics .


Comentários