Ir para o conteúdo

YOLOv7 vs. EfficientDet: Uma comparação técnica de arquitecturas de deteção de objectos em tempo real

A deteção de objectos continua a ser uma pedra angular da visão por computador, impulsionando inovações em campos que vão desde a condução autónoma à imagiologia médica. A escolha da arquitetura certa é fundamental para equilibrar precisão, velocidade e recursos computacionais. Esta análise fornece um mergulho profundo no YOLOv7 e EfficientDet, dois modelos influentes que moldaram o panorama da deteção em tempo real.

Desenho arquitetónico e filosofia

A diferença fundamental entre estas duas arquitecturas reside nos seus objectivos de otimização. O EfficientDet, desenvolvido pela equipa Google Brain, dá prioridade à eficiência dos parâmetros e às operações de vírgula flutuante (FLOPs). Aproveita uma arquitetura escalável que permite aos utilizadores trocar recursos por precisão de forma linear. Em contraste, YOLOv7criado pelos autores do YOLOv4 (Chien-Yao Wang et al.), centra-se na maximização da velocidade de inferência no hardware GPU , mantendo a precisão de ponta.

EfficientDet: Escalonamento composto e BiFPN

O EfficientDet é construído sobre a espinha dorsal do EfficientNet, que utiliza um método de escalonamento composto para escalonar uniformemente a resolução, a profundidade e a largura da rede. Uma inovação chave no EfficientDet é 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. Esta conceção torna o EfficientDet altamente eficaz para aplicações de computação periférica em que a memória e os FLOPs são estritamente limitados.

Saiba mais sobre o EfficientDet

YOLOv7: E-ELAN e re-parametrização do modelo

YOLOv7 introduz a Rede de Agregação de Camadas Eficiente Alargada (E-ELAN). Esta arquitetura controla os caminhos de gradiente mais curtos e mais longos para melhorar a capacidade de aprendizagem da rede sem destruir o caminho de gradiente original. Além disso, YOLOv7 emprega a re-parametrização do modelo, uma técnica em que uma estrutura de treinamento complexa é simplificada em uma estrutura de inferência otimizada. Isso resulta em um modelo que é robusto durante o treinamento, mas extremamente rápido durante a implantação em GPUs.

Saiba mais sobre o YOLOv7

Análise de desempenho: Métricas e benchmarks

Ao comparar o desempenho, a escolha geralmente depende do hardware de implantação. O EfficientDet brilha em ambientes de baixo consumo de energia (CPUs), enquanto YOLOv7 é projetado para inferência GPU de alto rendimento.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Principais Conclusões

  • Latência vs. Eficiência: Enquanto o EfficientDet-d0 usa significativamente menos parâmetros (3,9M), o YOLOv7l oferece um mAP muito maior (51,4%) com latência extremamente baixa em GPUs (6,84ms). Isto demonstra a utilização superior do poder de processamento paralelo do YOLOv7.
  • Escalabilidade: O EfficientDet fornece um caminho de escalonamento granular de d0 a d7, permitindo que os desenvolvedores ajustem o tamanho do modelo para restrições específicas CPU .
  • Precisão de ponta: Na extremidade superior, o EfficientDet-d7 atinge uma precisão excelente (53,7% mAP), mas à custa de uma latência elevada (~128ms). O YOLOv7x atinge uma precisão comparável (53,1% mAP) com menos de um décimo do tempo de inferência (11,57ms) numa GPU T4.

Considerações sobre o hardware

Se o alvo da implantação for uma CPU genérica ou um processador móvel, os FLOPs mais baixos dos modelos EfficientDet (especificamente d0-d2) geralmente resultam em melhor duração da bateria e gerenciamento térmico. Para GPUs de ponta (como NVIDIA Jetson) ou servidores de inferência em nuvem, YOLOv7 oferece taxas de quadros significativamente mais altas para análise de vídeo em tempo real.

Metodologias de formação e otimização

As estratégias de formação para estes modelos reflectem os seus objectivos arquitectónicos.

YOLOv7 utiliza uma abordagem "Bag-of-Freebies", incorporando métodos que aumentam o custo de formação mas melhoram a precisão sem afetar a velocidade de inferência. As principais técnicas incluem:

  • Supervisão profunda grosseira a fina: Uma cabeça auxiliar é utilizada para supervisionar as camadas intermédias da rede, com estratégias de atribuição de etiquetas que orientam a cabeça auxiliar de forma diferente da cabeça principal.
  • Atribuição dinâmica de etiquetas: O modelo adapta a atribuição de objectos de verdade terrestre a âncoras durante o treino, melhorando a convergência.

O EfficientDet baseia-se fortemente no AutoML para encontrar a arquitetura ideal de backbone e de rede de caraterísticas. O seu treino envolve normalmente:

  • Profundidade estocástica: Eliminar camadas aleatoriamente durante o treino para melhorar a generalização.
  • Ativação Swish: Uma função suave e não monotónica que supera consistentemente o ReLU em redes mais profundas.

A vantagem Ultralytics

Embora tanto YOLOv7 como o EfficientDet sejam poderosos, o panorama da visão por computador evolui rapidamente. O ecossistemaUltralytics oferece alternativas modernas como o YOLO11 que sintetizam as melhores caraterísticas das arquitecturas anteriores e melhoram a experiência do programador.

Facilidade de utilização e ecossistema

Um dos principais desafios dos repositórios orientados para a investigação (como a base de código original do EfficientDet) é a complexidade da integração. Ultralytics resolve este problema com um pacote Python unificado. Os programadores podem treinar, validar e implementar modelos com apenas algumas linhas de código, apoiados por documentação abrangente e suporte ativo da comunidade.

Equilíbrio entre versatilidade e desempenho

Os modelos Ultralytics não se limitam a caixas delimitadoras. Suportam nativamente a segmentação de instâncias, a estimativa de pose, a classificação e a deteção orientada de objectos (OBB). Em termos de desempenho, as versões modernas YOLO (como o YOLOv8 e YOLO11) atingem frequentemente uma precisão mais elevada por parâmetro do que o EfficientDet e uma inferência mais rápida do que YOLOv7, atingindo um equilíbrio ideal para a implementação no mundo real.

Memória e eficácia do treino

Os modelosYOLO Ultralytics são conhecidos pela sua eficiência de memória. Normalmente, requerem menos memória CUDA durante o treino em comparação com os detectores baseados em Transformer ou arquitecturas escaláveis mais antigas. Isso permite que os pesquisadores treinem modelos de última geração em hardware de nível de consumidor. Além disso, a aprendizagem por transferência é simplificada com pesos pré-treinados de alta qualidade disponíveis para download imediato.

from ultralytics import YOLO

# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")

# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with high speed
predictions = model("https://ultralytics.com/images/bus.jpg")

Especificações do modelo

YOLOv7

EfficientDet

Casos de Uso no Mundo Real

Quando escolher o EfficientDet

O EfficientDet continua a ser um forte candidato para sistemas incorporados em que a aceleração GPU não está disponível.

  • Aplicações móveis: Aplicações iOS que executam a deteção de objectos na CPU.
  • Sensores IoT remotos: Dispositivos alimentados por bateria que monitorizam as alterações ambientais, em que cada miliwatt de computação conta.

Quando escolher YOLOv7

YOLOv7 destaca-se em ambientes industriais de elevado desempenho.

  • Condução autónoma: Deteção de peões e veículos a taxas de fotogramas elevadas para garantir a segurança.
  • Cidades inteligentes: Análise de vários fluxos de vídeo em simultâneo para gestão do tráfego em servidores de ponta.

Conclusão

Ambas as arquitecturas representam marcos significativos na visão por computador. O EfficientDet demonstrou o poder do escalonamento composto para a eficiência dos parâmetros, enquanto o YOLOv7 ultrapassou os limites do que é possível com a otimização da latência GPU .

No entanto, para os programadores que procuram a solução mais moderna, fácil de manter e versátil, o Ultralytics YOLO11 é a família de modelos recomendada. Oferece uma precisão superior - compensações de velocidade, um fluxo de trabalho mais simples e um ecossistema robusto que simplifica o percurso desde a curadoria do conjunto de dados até à implementação.

Explore Outros Modelos

Se estiver interessado em comparar outras arquitecturas de deteção de objectos, considere estes recursos:


Comentários