EfficientDet vs. YOLOv5: Equilibrando escalabilidade e desempenho em tempo real
Selecionar a arquitetura de detecção de objetos certa envolve ponderar as vantagens e desvantagens entre precisão, velocidade de inferência e complexidade de implementação. Este guia fornece uma comparação técnica aprofundada entre o EfficientDet, uma arquitetura escalável da Google , e o YOLOv5, o detetor em tempo real amplamente adotado da Ultralytics.
Enquanto o EfficientDet introduziu conceitos inovadores em escalonamento composto, YOLOv5 o campo ao tornar a visão computacional de alto desempenho acessível por meio de uma API simplificada e um ecossistema robusto.
Visão Geral do Modelo
Google EfficientDet
O EfficientDet baseia-se na estrutura EfficientNet, aplicando um método de dimensionamento composto que dimensiona uniformemente a resolução, a profundidade e a largura. Introduziu a Rede Piramidal de Características Bidirecionais (BiFPN) para permitir uma fusão fácil e rápida de características multiescala.
- Autores: Mingxing Tan, Ruoming Pang e Quoc V. Le
- Organização:Google
- Data: 2019-11-20
- Arxiv:EfficientDet: Detecção de Objetos Escalável e Eficiente
- GitHub:Repositório EfficientDet
Ultralytics YOLOv5
YOLOv5 concentra-se na usabilidade e velocidade no mundo real. Emprega uma estrutura CSPDarknet e foi concebido para facilitar a formação e a implementação em diversos tipos de hardware. Continua a ser um dos modelos mais populares devido ao seu equilíbrio entre desempenho e eficiência.
- Autor: Glenn Jocher
- Organização:Ultralytics
- Data: 2020-06-26
- Documentação:Documentação do YOLOv5
- GitHub:Repositório YOLOv5
Comparação da Arquitetura Técnica
As filosofias arquitetónicas destes dois modelos divergem significativamente, influenciando a sua adequação para diferentes tarefas.
EfficientDet: Compound Scaling e BiFPN
A principal inovação da EfficientDet é a BiFPN (Rede Piramidal de Características Bidirecionais Ponderadas). Ao contrário das FPNs padrão, que somam características sem distinção, a BiFPN introduz pesos aprendíveis para compreender a importância das diferentes características de entrada. Isso permite que a rede priorize características mais informativas durante a fusão.
Além disso, o EfficientDet utiliza Compound Scaling, que aumenta simultaneamente a resolução, profundidade e largura da espinha dorsal, rede de recursos e rede de previsão. Isso permite que os utilizadores escolham entre uma família de modelos (D0 a D7) dependendo das suas restrições de recursos. No entanto, essa complexidade pode levar a uma maior latência em dispositivos de ponta que não possuem suporte especializado para essas operações.
YOLOv5: CSPDarknet e PANet
YOLOv5 uma estrutura CSPDarknet, que integra redes Cross Stage Partial. Este design reduz o número de parâmetros e FLOPS, mantendo a precisão ao dividir o mapa de características na camada base.
Para a agregação de características, YOLOv5 uma Rede de Agregação de Caminhos (PANet). Essa estrutura melhora o fluxo de informações das camadas inferiores para as superiores, aprimorando a localização de objetos — crucial para caixas delimitadoras precisas. O cabeçalho é baseado em âncoras, prevendo desvios de caixas de âncora predefinidas. Essa arquitetura é altamente otimizada para GPU , resultando em tempos de inferência mais rápidos em comparação com as complexas operações de dimensionamento do EfficientDet.
A Vantagem do Ecossistema Ultralytics
A escolha YOLOv5 acesso ao Ultralytics , garantindo integração perfeita com ferramentas para anotação de dados, acompanhamento de experiências e treinamento em nuvem através da Ultralytics . Essa estrutura de suporte geralmente está ausente em repositórios focados em pesquisa, como o EfficientDet.
Métricas de Desempenho
Ao avaliar o desempenho, é fundamental analisar tanto a precisão (mAP) e a velocidade (latência). Embora o EfficientDet alcance maior precisão com as suas variantes maiores (D7), muitas vezes sofre uma penalização significativa em termos de velocidade em comparação com YOLOv5 de tamanho comparável.
A tabela abaixo destaca as diferenças de desempenho. Observe como YOLOv5 CPU significativamente mais rápidas, tornando-o muito mais prático para implementação sem aceleradores especializados.
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Análise
- Velocidade vs. Precisão: O EfficientDet-d0 é muito eficiente em termos de FLOPs, mas, na prática, o YOLOv5n e o YOLOv5s costumam funcionar mais rapidamente em GPUs padrão devido a operações mais compatíveis com o hardware (evitando convoluções separáveis em profundidade, que podem ser lentas em alguns CUDA mais antigos).
- Eficiência de memória: YOLOv5 requer menos VRAM durante o treinamento, permitindo tamanhos de lote maiores em hardware de nível consumidor. As conexões complexas do EfficientDet podem aumentar a sobrecarga de memória.
- Otimização: O EfficientDet depende muito das pesquisas do AutoML para arquitetura, que podem ser difíceis de modificar. YOLOv5 uma personalização mais fácil dos múltiplos de profundidade e largura diretamente na configuração YAML.
Treino e Usabilidade
Eficiência do Treinamento
YOLOv5 Ultralytics YOLOv5 conhecido pela sua capacidade de «treinar fora da caixa». O repositório inclui aumento de dados Mosaic, cálculo de âncora automática e evolução de hiperparâmetros. Isto significa que os utilizadores podem obter excelentes resultados em conjuntos de dados personalizados sem ajustes extensivos. As implementações eficientes frequentemente requerem mais configuração manual de TensorFlow e um planeamento cuidadoso da taxa de aprendizagem.
Versatilidade de implementação
Embora o EfficientDet seja principalmente um modelo de deteção de objetos, YOLOv5 os seus sucessores na Ultralytics suportam uma gama mais ampla de tarefas. É possível alternar facilmente para segmentação de instâncias ou classificação de imagens usando a mesma estrutura de API.
Além disso, a implementação YOLOv5 simplificada através do modo de exportação, que suporta a conversão com um clique para ONNX, TensorRT, CoreML e TFLite.
from ultralytics import YOLO
# Load a pretrained YOLOv5 model
model = YOLO("yolov5s.pt")
# Train the model on a custom dataset
model.train(data="coco128.yaml", epochs=100)
# Export to ONNX format for deployment
model.export(format="onnx")
Preparação para o futuro: o caso do YOLO26
Embora YOLOv5 uma opção robusta, o campo avançou. Para desenvolvedores que buscam o que há de mais moderno, o YOLO26 se baseia no legado do YOLOv5 melhorias arquitetónicas significativas.
O YOLO26 apresenta um design completo NMS, eliminando a necessidade de pós-processamento de supressão não máxima. Isso reduz a latência e simplifica o pipeline de implementação, uma grande vantagem em relação ao EfficientDet e YOLOv5. Além disso, o YOLO26 utiliza o otimizador MuSGD, inspirado no treinamento LLM, garantindo uma convergência mais rápida e um treinamento estável, mesmo em conjuntos de dados difíceis.
Se o seu projeto envolve IA de ponta, o YOLO26 é especificamente otimizado para CPU , oferecendo velocidades até 43% mais rápidas do que as gerações anteriores.
Casos de Uso Ideais
Quando escolher o EfficientDet
- Limitações da investigação: Quando o objetivo principal é estudar leis de escala compostas ou reproduzir referências académicas específicas.
- Regimes de baixo FLOP: Em cenários teóricos em que a contagem de FLOP é a única métrica relevante, ignorando os custos de acesso à memória ou a latência real do hardware.
Quando escolher Ultralytics YOLOv5 ou YOLO26)
- Aplicações em tempo real: condução autónoma, análise de vídeo e robótica, onde a baixa latência é imprescindível.
- Implementação de ponta: Executado em Raspberry Pi, NVIDIA ou dispositivos móveis onde a eficiência da memória eTensorRT são essenciais.
- Desenvolvimento rápido: projetos que exigem ciclos de iteração rápidos, fácil gestão de conjuntos de dados e pesos pré-treinados confiáveis.
- Tarefas diversas: se o seu projeto puder ser expandido para incluir estimativa de pose ou deteção de objetos orientados (OBB), a Ultralytics oferece suporte nativo para essas tarefas.
Resumo
Tanto o EfficientDet quanto YOLOv5 significativamente para a visão computacional. O EfficientDet demonstrou o poder do dimensionamento sistemático, enquanto YOLOv5 a detecção de alto desempenho. Para a maioria das aplicações práticas atuais, o Ultralytics — representado pelo YOLOv5 pelo avançado YOLO26— oferece um equilíbrio superior entre velocidade, precisão e facilidade de uso, apoiado por uma base de código continuamente atualizada e uma comunidade próspera.
Para mais informações sobre comparações de modelos, explore como YOLO se comparam a outros, como YOLOv8 EfficientDet ou o modelo baseado em transformador RT-DETR.