YOLOv7 EfficientDet: uma análise aprofundada das arquiteturas de detecção de objetos em tempo real
A evolução da deteção de objetos tem sido marcada por um constante conflito entre precisão e eficiência. Dois pesos pesados nesta área são o YOLOv7, um marco na família «You Only Look Once» lançado em 2022, e o EfficientDet, a arquitetura escalável Google do final de 2019. Embora ambos os modelos tenham influenciado significativamente o campo da visão computacional, eles abordam o problema da detecção de objetos a partir de filosofias arquitetónicas fundamentalmente diferentes.
Este guia fornece uma comparação técnica abrangente para ajudar programadores, investigadores e engenheiros a selecionar a ferramenta certa para os seus projetos específicos de visão computacional. Iremos explorar as suas arquiteturas exclusivas, métricas de desempenho de referência, metodologias de formação e cenários de implementação ideais.
Visão Geral e Origens do Modelo
Antes de mergulhar nas métricas, é essencial compreender a origem destes modelos.
YOLOv7: A Potência do 'Bag-of-Freebies'
Lançado em julho de 2022, YOLOv7 os limites do que era possível com detectores em tempo real. Ele introduziu inovações arquitetónicas projetadas para otimizar o processo de treino sem aumentar os custos de inferência, um conceito que os autores chamaram de «trainable bag-of-freebies» (saco de brindes treináveis).
- Autores: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organização: Instituto de Ciência da Informação, Academia Sinica, Taiwan
- Data: 2022-07-06
- Links:Artigo no ArXiv | Repositório GitHub
EfficientDet: Escalável e Eficiente
Desenvolvido pela equipa Google , o EfficientDet focou-se numa abordagem sistemática para escalonamento. Ele combinou uma nova rede piramidal bidirecional ponderada (BiFPN) com um método de escalonamento composto que escalona uniformemente a resolução, a profundidade e a largura.
- Autores: Mingxing Tan, Ruoming Pang e Quoc V. Le
- Organização:Google Research
- Data: 2019-11-20
- Links:Artigo no ArXiv | Repositório GitHub
Diferenças Arquiteturais
A principal diferença entre esses dois modelos reside na forma como lidam com a agregação de características e o dimensionamento do modelo.
Arquitetura YOLOv7
YOLOv7 a Rede de Agregação de Camadas Eficiente Estendida (E-ELAN). Essa arquitetura permite que o modelo aprenda características mais diversificadas, controlando os caminhos de gradiente mais curtos e mais longos, aprimorando a capacidade de aprendizagem da rede sem destruir o caminho de gradiente original.
As principais características arquitetônicas incluem:
- Escalonamento do modelo: Ao contrário do escalonamento composto do EfficientDet, YOLOv7 os atributos da arquitetura (profundidade e largura) em modelos baseados em concatenação simultaneamente.
- Cabeça auxiliar grosseira a fina: emprega supervisão profunda, em que uma cabeça auxiliar gera rótulos grosseiros para treino, enquanto a cabeça principal lida com o ajuste fino.
- Reparametrização: YOLOv7 camadas RepConv que simplificam estruturas complexas de tempo de treino em convoluções padrão para uma inferência mais rápida, uma técnica crucial para a inferência em tempo real.
Arquitetura EfficientDet
O EfficientDet é construído sobre a espinha dorsal do EfficientNet e introduz o BiFPN.
As principais características arquitetônicas incluem:
- BiFPN: Uma rede piramidal bidirecional ponderada que permite a fusão fácil e rápida de características em múltiplas escalas. Ela aprende a importância das diferentes características de entrada e aplica repetidamente a fusão de características em múltiplas escalas, de cima para baixo e de baixo para cima.
- Escalonamento composto: um coeficiente simples, mas eficaz, que escalona conjuntamente a largura, a profundidade e a resolução da rede, permitindo uma família de modelos (D0 a D7) direcionados a diferentes restrições de recursos.
Comparação de Desempenho
Ao comparar o desempenho, analisamos a precisão média (mAP) no COCO em relação à velocidade de inferência.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
Análise Crítica
- Latência: YOLOv7 significativamente mais rápido em GPU . Por exemplo, o YOLOv7x atinge 53,1% mAP uma TensorRT de ~11,5 ms, enquanto o EfficientDet-d7 requer ~128 ms para atingir um mAP marginalmente superior de 53,7%. Isso torna YOLOv7 10 vezes mais rápido em cenários de alta precisão.
- Eficiência: EfficientDet-d0 a d2 são extremamente leves em termos de FLOPs, tornando-os adequados para CPUs de muito baixa potência, onde GPU não está disponível. No entanto, à medida que se escala para D4 e acima, os ganhos de eficiência diminuem em comparação com YOLO .
- Precisão: Embora o EfficientDet-d7 alcance uma precisão impressionante, o custo computacional é proibitivo para aplicações em tempo real. YOLOv7 um melhor "ponto ideal", mantendo alta precisão sem sacrificar os recursos em tempo real.
Treinamento e Ecossistema
O ecossistema em torno de um modelo determina a sua praticidade para os desenvolvedores. É aqui que a Ultralytics oferece um valor substancial.
Ecossistema EfficientDet
O EfficientDet está principalmente enraizado no TensorFlow . Embora seja poderoso, integrá-lo em pipelines modernos muitas vezes envolve navegar por dependências complexas.
- Complexidade: As ativações BiFPN e swish podem ser mais difíceis de otimizar em determinados aceleradores de borda em comparação com convoluções padrão.
- Manutenção: Muitos repositórios são atualizados com menos frequência em comparação com o rápido ciclo de lançamento da YOLO .
Vantagem do Ecossistema Ultralytics
Uma das vantagens mais notáveis de usar Ultralytics como YOLOv7 e iterações mais recentes) é o ecossistema bem mantido.
- Facilidade de uso: Ultralytics uma Python unificada que simplifica o treinamento, a validação e a implementação.
- Eficiência de treinamento: YOLO utilizam GPU padrão de forma eficaz, reduzindo o tempo e o custo associados ao treinamento em conjuntos de dados personalizados.
- Requisitos de memória: Em comparação com detectores de duas fases mais antigos ou modelos pesados baseados em transformadores, YOLOv7 requer menos CUDA durante o treinamento, permitindo tamanhos de lote maiores em hardware de nível consumidor.
Formação simplificada com Ultralytics
Treinar um YOLO é simples com a Python . Veja como pode iniciar um treinamento:
from ultralytics import YOLO
# Load a model
model = YOLO("yolov7.pt") # load a pretrained model
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Recomendações de Casos de Uso
Quando Escolher YOLOv7
YOLOv7 a escolha preferida para aplicações em tempo real, onde a latência é crítica.
- Condução autónoma: Deteta peões, veículos e sinais a altas taxas de fotogramas, garantindo uma tomada de decisão segura.
- Robótica: Ideal para integrar a visão computacional na robótica, permitindo que os robôs naveguem e interajam com ambientes dinâmicos.
- Análise de vídeo: processa vários fluxos de vídeo simultaneamente para análise de segurança ou retalho sem a necessidade de grandes clusters de computação.
Quando escolher o EfficientDet
O EfficientDet continua a ser relevante para cenários específicos de baixo consumo de energia ou em que o tamanho do modelo (em MB) é a principal restrição, em vez da latência.
- Aplicações móveis: Variantes mais pequenas, como D0-D1, são adequadas para dispositivos móveis onde o espaço de armazenamento é estritamente limitado.
- Sistemas legados: em ambientes já altamente otimizados para os ecossistemas TensorFlow, o EfficientDet pode oferecer uma integração mais fácil.
- Investigação académica: útil para estudar os efeitos do dimensionamento composto ou técnicas de fusão de características, em que a inferência em tempo real não é o objetivo principal.
O futuro: atualização para o YOLO26
Embora YOLOv7 uma ferramenta capaz, o campo da visão computacional evolui rapidamente. Para os desenvolvedores que buscam o melhor desempenho absoluto, o modelo YOLO26, lançado em janeiro de 2026, representa o que há de mais avançado.
O YOLO26 baseia-se no legado dos YOLOs anteriores com um design completo NMS. Isso elimina a necessidade de pós-processamento de supressão não máxima (NMS), simplificando os pipelines de implementação e aumentando a velocidade de inferência.
As principais vantagens do YOLO26 em relação ao YOLOv7 ao EfficientDet incluem:
- MuSGD Optimizer: Um híbrido de SGD Muon, trazendo inovações no treinamento de LLM para a visão computacional, para um treinamento mais estável e uma convergência mais rápida.
- Otimização de borda: com a remoção da perda focal de distribuição (DFL), o YOLO26 é até 43% mais rápido na CPU, tornando-o ainda mais adequado para dispositivos de borda do que o EfficientDet.
- Versatilidade aprimorada: além da detecção, o YOLO26 oferece desempenho de ponta em estimativa de pose, segmentação de instâncias e Oriented Bounding Box (OBB), tudo em uma única estrutura.
- ProgLoss + STAL: Funções de perda aprimoradas proporcionam melhorias notáveis no reconhecimento de pequenos objetos, essenciais para IoT e imagens aéreas.
Conclusão
Tanto YOLOv7 o EfficientDet garantiram seus lugares na história da visão computacional. O EfficientDet introduziu princípios elegantes de dimensionamento, enquanto YOLOv7 a abordagem "bag-of-freebies" para velocidade em tempo real. No entanto, para pipelines de produção modernos que exigem equilíbrio de desempenho, facilidade de uso e versatilidade, o Ultralytics — representado pelo YOLOv7 pelo mais recente YOLO26 — oferece uma vantagem distinta.
Com requisitos de memória mais baixos durante o treinamento e exportação perfeita para formatos como ONNX e TensorRT, Ultralytics garantem que a sua jornada, desde o conjunto de dados até à implementação, seja a mais tranquila possível.
Leitura Adicional
- Modelos: Explore outras arquiteturas como YOLOv8, YOLO11e RT-DETR.
- Plataforma: Use a Ultralytics para gerir conjuntos de dados, treinar modelos e implementar sem esforço.
- Guias: Saiba mais sobre o ajuste de hiperparâmetros para obter o máximo desempenho dos seus modelos.