Ir para o conteúdo

EfficientDet vs. YOLOv9: A evolução da eficiência da deteção de objectos

No mundo acelerado da visão por computador, a seleção da arquitetura de modelo correta é fundamental para equilibrar o desempenho, a velocidade e os recursos computacionais. Este guia fornece uma comparação técnica abrangente entre o EfficientDet, um modelo de referência desenvolvido pela Google Research, e o YOLOv9o detetor de última geração integrado no ecossistemaUltralytics . Analisaremos as suas inovações arquitectónicas, as métricas de desempenho de referência e determinaremos qual o modelo mais adequado para aplicações modernas de deteção de objectos em tempo real.

EfficientDet: Pioneirismo em eficiência escalável

O EfficientDet, lançado no final de 2019, introduziu uma abordagem sistemática ao dimensionamento de modelos que influenciou anos de investigação subsequente. Desenvolvido pela equipa do Google Research, o seu objetivo era otimizar a eficiência sem comprometer a precisão.

Detalhes Técnicos:

Arquitetura e Principais Características

O EfficientDet baseia-se na espinha dorsal do EfficientNet e introduz a Rede de Pirâmide de Caraterísticas Bi-direcional (BiFPN). Ao contrário das FPNs tradicionais, a BiFPN permite uma fusão fácil e rápida de caraterísticas em várias escalas, introduzindo pesos aprendíveis para aprender a importância de diferentes caraterísticas de entrada. O modelo utiliza um método de escalonamento composto que escalona uniformemente a resolução, a profundidade e a largura de todas as redes de previsão de backbone, rede de caraterísticas e caixa/classe simultaneamente.

Forças e Fraquezas

O EfficientDet foi revolucionário pela sua capacidade de atingir uma elevada precisão com menos parâmetros do que os seus contemporâneos como o YOLOv3. A sua principal força reside na sua escalabilidade; a família de modelos (D0 a D7) permite aos utilizadores escolher um compromisso específico de recursos.

No entanto, de acordo com os padrões actuais, o EfficientDet sofre de velocidades de inferência mais lentas, particularmente em hardware GPU . As suas camadas de fusão de caraterísticas complexas, embora precisas, não são tão compatíveis com o hardware como as arquitecturas mais recentes. Além disso, a implementação original não possui as ferramentas de fácil utilização encontradas nas estruturas modernas, tornando a formação e a implementação mais trabalhosas.

Casos de Uso

O EfficientDet continua a ser relevante para:

  • Investigação académica: Compreensão dos princípios de escalonamento composto e fusão de caraterísticas.
  • Sistemas legados: Manutenção de pipelines existentes criados no ecossistema TensorFlow .
  • AmbientesCPU: Onde a sua eficiência de parâmetros pode ainda oferecer um desempenho razoável para aplicações de baixo FPS.

Saiba mais sobre o EfficientDet

YOLOv9: Redefinindo o desempenho em tempo real

Introduzido no início de 2024, YOLOv9 representa um salto em frente na série YOLO , abordando os estrangulamentos da informação de aprendizagem profunda para alcançar uma eficiência superior. É totalmente suportado no pacotepython Ultralytics , garantindo uma experiência perfeita para os programadores.

Detalhes Técnicos:

Arquitetura e Principais Características

YOLOv9 introduz dois conceitos inovadores: Programmable Gradient Information (PGI) e a Generalized Efficient Layer Aggregation Network (GELAN).

  • O PGI aborda a perda de informação que ocorre quando os dados passam por camadas profundas de uma rede neural, garantindo que os gradientes utilizados para atualizar os pesos do modelo são fiáveis.
  • O GELAN é uma arquitetura leve que dá prioridade à eficiência computacional. Permite que o modelo atinja uma maior precisão com menos parâmetros e custos computacionais (FLOPs) em comparação com os métodos baseados na convolução em profundidade.

Pontos fortes e vantagens

  • Compensação superior entre velocidade e exatidão: Como mostra a avaliação comparativa, YOLOv9 supera significativamente o EfficientDet em termos de latência de inferência, mantendo ou excedendo a exatidão.
  • EcossistemaUltralytics : A integração com o Ultralytics significa acesso a uma API Python simples, ferramentasCLI e exportação fácil para formatos como ONNX, TensorRT e CoreML.
  • Eficiência de treinamento: Os modelos YOLOv9 requerem normalmente menos memória durante o treino e convergem mais rapidamente do que as arquitecturas mais antigas, beneficiando do pipeline de treino optimizado Ultralytics .
  • Versatilidade: Para além da deteção padrão, a arquitetura suporta tarefas complexas, abrindo caminho à segmentação avançada e à aprendizagem multitarefa.

Saiba mais sobre o YOLOv9

Sabia que?

A arquitetura GELAN do YOLOv9 foi concebida para ser independente do hardware, o que significa que funciona de forma eficiente numa grande variedade de dispositivos de inferência, desde TPUs de ponta a GPUs NVIDIA topo de gama, sem necessitar de optimizações de hardware específicas como alguns modelos baseados em transformadores.

Análise de Desempenho

A comparação a seguir destaca as melhorias dramáticas na velocidade de inferência e eficiência que YOLOv9 traz para a mesa em comparação com a família EfficientDet.

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

Informações críticas de referência

  1. Grande vantagem de velocidade: O modelo YOLOv9c atinge um valor competitivo de 53,0 mAP com uma velocidade de inferência de apenas 7,16 ms numa GPU T4. Em contraste, o EfficientDet-d6 comparável (52,6 mAP) rasteja a 89,29 ms. Isto torna YOLOv9 mais de 12x mais rápido para uma precisão semelhante, um fator crítico para aplicações em tempo real, como veículos autónomos ou monitorização de tráfego.
  2. Eficiência de parâmetros: Na extremidade inferior do espetro, o YOLOv9t oferece um forte 38,3 mAP com apenas 2,0 milhões de parâmetros, ultrapassando a linha de base EfficientDet-d0 em termos de precisão, utilizando quase metade dos parâmetros e funcionando significativamente mais rápido.
  3. Precisão de ponta: Para tarefas que exigem a máxima precisão, o YOLOv9e ultrapassa os limites com 55,6 mAP, superando o maior modelo EfficientDet-d7, mantendo uma latência (16,77 ms) que ainda é adequada para o processamento de vídeo, ao contrário dos proibitivos 128 ms do D7.

Integração e facilidade de utilização

Uma das diferenças mais significativas entre estes dois modelos é o ecossistema que os rodeia. Enquanto o EfficientDet se baseia em repositórios TensorFlow mais antigos, YOLOv9 é um cidadão de primeira classe na biblioteca Ultralytics .

A vantagem Ultralytics

A utilização do YOLOv9 com o Ultralytics proporciona um ecossistema bem mantido que simplifica todo o ciclo de vida da aprendizagem automática. Desde a anotação de conjuntos de dados até a implantação em dispositivos de borda, o fluxo de trabalho é simplificado.

  • API simples: Pode treinar, validar e implementar modelos com apenas algumas linhas de código Python .
  • Ampla compatibilidade: Exporte seus modelos sem esforço para ONNX, TensorRT, OpenVINO e CoreML usando o modo de exportação.
  • Suporte da comunidade: A documentação extensa e uma comunidade ativa garantem que as soluções para problemas comuns estão prontamente disponíveis.

Eis um exemplo prático de como é fácil efetuar inferência com o YOLOv9 utilizando a APIPython Ultralytics :

from ultralytics import YOLO

# Load a pre-trained YOLOv9 compact model
model = YOLO("yolov9c.pt")

# Run inference on an image
results = model("path/to/image.jpg")

# Process results
for result in results:
    result.show()  # Display predictions
    result.save()  # Save image to disk

Versatilidade na aplicação

Embora o EfficientDet seja estritamente um detetor de objectos, os princípios arquitectónicos subjacentes ao YOLOv9 e à estrutura Ultralytics suportam uma gama mais vasta de tarefas de visão. Os utilizadores podem alternar facilmente entre deteção de objectos, segmentação de instâncias e estimativa de pose dentro da mesma base de código, reduzindo a dívida técnica para projectos complexos.

Conclusão

Ao comparar o EfficientDet com o YOLOv9, a escolha para o desenvolvimento moderno da visão computacional é clara. Embora o EfficientDet tenha desempenhado um papel histórico na definição da eficiência de escalonamento de modelos, YOLOv9 o supera em praticamente todas as métricas relevantes para os desenvolvedores de hoje.

YOLOv9 oferece uma precisão superior por parâmetro, velocidades de inferência mais rápidas em ordens de grandeza e um ecossistema robusto e fácil de desenvolver. Quer esteja a implementar em dispositivos de ponta limitados ou a processar fluxos de vídeo de elevado débito na nuvem, YOLOv9 proporciona o equilíbrio de desempenho necessário para o sucesso.

Para quem está a iniciar novos projectos, recomendamos vivamente que utilize o YOLOv9 ou a versão mais recente do YOLO11 para garantir que a sua aplicação beneficia dos mais recentes avanços na eficiência da aprendizagem profunda.

Explore Outros Modelos

Se estiver interessado em explorar mais opções dentro da família Ultralytics , considere estes modelos:

  • YOLO11: A mais recente evolução da série YOLO , oferecendo um desempenho topo de gama em tarefas de deteção, segmentação e classificação.
  • YOLOv10: Um detetor de ponta a ponta em tempo real que elimina a necessidade de Supressão Não MáximaNMS).
  • RT-DETR: Um detetor baseado em transformadores que se destaca pela sua precisão, proporcionando uma alternativa moderna às arquitecturas baseadas em CNN.

Comentários