Ir para o conteúdo

YOLOv8 vs. EfficientDet: Um mergulho profundo nas arquiteturas de deteção de objetos

No panorama em rápida evolução da visão computacional, a escolha do modelo correto de deteção de objectos é fundamental para criar aplicações de IA bem sucedidas. Duas arquitecturas proeminentes que definiram o estado da arte nas suas respectivas épocas são YOLOv8 da Ultralytics e a EfficientDet da Google Research. Esta comparação explora as nuances técnicas, as métricas de desempenho e os casos de utilização ideais para ambos os modelos, ajudando os programadores e investigadores a tomar decisões informadas para os seus projectos.

Enquanto o EfficientDet introduziu conceitos inovadores no dimensionamento de modelos e na eficiência aquando do seu lançamento, Ultralytics YOLOv8 representa uma evolução mais moderna, dando prioridade à velocidade de inferência em tempo real, à facilidade de utilização e às capacidades práticas de implementação.

Comparativo de Desempenho: Velocidade, Precisão e Eficiência

A comparação entre YOLOv8 e o EfficientDet destaca uma mudança fundamental na filosofia de design. O EfficientDet concentra-se fortemente na minimização de FLOPs (operações de ponto flutuante) e na contagem de parâmetros, teoricamente tornando-o altamente eficiente. Em contraste, YOLOv8 foi projetado para maximizar o rendimento em hardware moderno, aproveitando o paralelismo GPU para fornecer velocidades de inferência superiores sem comprometer a precisão.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
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 dos parâmetros de referência

  • Domínio da latênciaGPU : Os modelos YOLOv8 são significativamente mais rápidos no hardware GPU . Por exemplo, YOLOv8x alcança um mAP mais alto (53,9) do que o EfficientDet-d7 (53,7) enquanto roda aproximadamente 9 vezes mais rápido em uma GPU T4 (14,37ms vs. 128,07ms). Isto faz do YOLOv8 a escolha preferida para aplicações de inferência em tempo real.
  • Precisão vs. Parâmetros: Enquanto o EfficientDet é famoso pela sua eficiência de parâmetros, YOLOv8 fornece uma precisão competitiva com modelos que são mais fáceis de otimizar. YOLOv8m supera o EfficientDet-d4 em precisão (50,2 vs 49,7 mAP) com velocidades de inferência muito superiores, apesar das diferenças em FLOPs.
  • Eficiência arquitetónica: A menor contagem de FLOP do EfficientDet nem sempre se traduz em menor latência, especialmente em GPUs, onde os custos de acesso à memória e o paralelismo são mais importantes do que a contagem de operações brutas. A arquitetura do YOLOv8 foi concebida para maximizar a utilização do hardware.

Otimização de hardware

Compare sempre os modelos com o seu hardware alvo. Os FLOPs teóricos são um indicador útil da complexidade, mas muitas vezes não conseguem prever a latência real em GPUs ou NPUs, onde a largura de banda da memória e as capacidades de paralelização desempenham um papel mais importante. Use o modo de benchmarkYOLO para testar o desempenho em sua configuração específica.

Visão geral Ultralytics YOLOv8

YOLOv8 é a última grande iteração da série YOLO (You Only Look Once) lançada pela Ultralytics, concebida para ser uma estrutura unificada para deteção de objectos, segmentação de instâncias e classificação de imagens.

  • Autores: Glenn Jocher, Ayush Chaurasia e Jing Qiu
  • Organização:Ultralytics
  • Data: 10 de janeiro de 2023
  • GitHub:ultralytics

YOLOv8 introduz melhorias arquitectónicas importantes, incluindo uma cabeça de deteção sem âncoras, que simplifica o processo de formação e melhora a generalização em diferentes formas de objectos. Também utiliza uma nova rede de backbone e uma rede de agregação de caminhos (PAN-FPN) concebida para uma integração de caraterísticas mais rica.

Saiba mais sobre o YOLOv8.

Pontos Fortes do YOLOv8

  • Desempenho de última geração: Oferece um equilíbrio excecional de velocidade e precisão, estabelecendo padrões de referência no conjunto de dadosCOCO .
  • Ecossistema favorável ao programador: O ultralytics O pacote python oferece uma API simplificada que unifica a formação, a validação e a implementação.
  • Versatilidade: Suporta várias tarefas (Deteção, Segmentação, Pose, OBB, Classificação) num único repositório.
  • Eficiência de treinamento: Aproveitando técnicas como o aumento do Mosaico, os modelos YOLOv8 convergem mais rapidamente e, muitas vezes, requerem menos dados de treino para atingir uma precisão elevada.

Visão geral Google EfficientDet

O EfficientDet, desenvolvido pela equipa Google Brain, é uma família de modelos de deteção de objectos que introduziu o conceito de escalonamento composto na deteção de objectos. Dimensiona a resolução, a profundidade e a largura da rede em simultâneo para obter um desempenho ótimo.

O EfficientDet baseia-se na espinha dorsal do EfficientNet e introduz o BiFPN (Bidirectional Feature Pyramid Network), que permite uma fusão fácil e rápida de caraterísticas em várias escalas.

Saiba mais sobre o EfficientDet

Forças do EfficientDet

  • Eficiência de parâmetros: Atinge alta precisão com relativamente poucos parâmetros e FLOPs.
  • Escalabilidade: O d0 para d7 O método de escalonamento fornece uma forma sistemática de trocar recursos por exatidão.
  • BiFPN: A inovadora rede de pirâmide de caraterísticas funde eficazmente caraterísticas em diferentes resoluções.

Comparação arquitetónica

As diferenças arquitecturais entre YOLOv8 e o EfficientDet determinam as suas caraterísticas de desempenho e a sua adequação a diferentes tarefas.

Backbone e fusão de funcionalidades

  • YOLOv8 utiliza um backbone CSPDarknet modificado com um módulo C2f, que substitui o módulo C3 do YOLOv5. Esta conceção melhora o fluxo de gradientes e é altamente optimizada para o paralelismo GPU .
  • O EfficientDet utiliza um backbone EfficientNet combinado com BiFPN. O BiFPN utiliza pesos aprendíveis para fundir caraterísticas de diferentes níveis, o que é teoricamente eficiente, mas envolve padrões de acesso à memória complexos e irregulares que podem tornar a inferência mais lenta nas GPUs.

Cabeçalho de Detecção

  • YOLOv8 utiliza uma arquitetura de cabeça desacoplada, separando as tarefas de objectos, classificação e regressão. Crucialmente, é livre de âncoras, prevendo diretamente os centros dos objectos. Isso elimina a necessidade de ajuste manual da caixa de ancoragem e reduz o número de hiperparâmetros.
  • O EfficientDet utiliza uma abordagem baseada em âncoras. Embora eficazes, os métodos baseados em âncoras requerem frequentemente uma calibração cuidadosa dos tamanhos das âncoras e dos rácios de aspeto para conjuntos de dados específicos, o que aumenta a complexidade do processo de formação.

Facilidade de utilização e ecossistema

Um dos diferenciais mais significativos é o ecossistema que envolve os modelos. Ultralytics concentrou-se fortemente na democratização da IA, garantindo que YOLOv8 seja acessível tanto para iniciantes quanto para especialistas.

A experiência Ultralytics

A APIPython Ultralytics permite aos utilizadores carregar, treinar e implementar modelos com apenas algumas linhas de código. O ecossistema inclui integrações perfeitas com ferramentas como Weights & Biases para acompanhamento de experiências e Roboflow para a gestão de conjuntos de dados.

from ultralytics import YOLO

# Load a YOLOv8 model
model = YOLO("yolov8n.pt")

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

Em contraste, o EfficientDet é normalmente encontrado em repositórios orientados para a pesquisa (como a implementação original TensorFlow ). Embora poderosas, essas implementações geralmente exigem mais código padrão, arquivos de configuração complexos e conhecimento mais profundo da estrutura subjacenteTensorFlow) para treinar em conjuntos de dados personalizados.

Capacidades de exportação

Os modelos Ultralytics suportam a exportação com um clique para vários formatos, incluindo ONNX, TensorRTCoreML e TFLite. Essa flexibilidade é crucial para a implantação de modelos em diversos ambientes, desde servidores em nuvem até dispositivos de ponta Raspberry Pi.

Casos de Uso Ideais

Quando escolher YOLOv8

YOLOv8 é a escolha recomendada para a grande maioria das aplicações de visão computacional actuais devido ao seu equilíbrio entre velocidade e precisão.

  • Aplicações em tempo real: Condução autónoma, vigilância por vídeo e robótica onde a latência é crítica.
  • Implantação de borda: Executado no NVIDIA Jetson, dispositivos móveis ou unidades de computação de borda onde a eficiência e a velocidade são fundamentais.
  • Prototipagem rápida: Quando é necessário passar rapidamente do conjunto de dados ao modelo implementado, utilizando uma estrutura fiável e bem documentada.
  • Requisitos multitarefa: Se o seu projeto envolve segmentação ou estimativa de pose, YOLOv8 lida com isso de forma nativa.

Quando escolher o EfficientDet

O EfficientDet continua a ser relevante em cenários de nicho, particularmente na investigação académica ou em ambientes CPU altamente limitados.

  • Investigação teórica: Estudo de arquitecturas de rede eficientes e leis de escalonamento.
  • CPUs específicas de baixo consumo: Nalguns casos, a baixa contagem de FLOP pode traduzir-se numa melhor duração da bateria em CPUs com recursos extremamente limitados, embora seja aconselhável efetuar uma análise comparativa.

Conclusão

Enquanto o EfficientDet foi um marco na conceção de redes neurais eficientes, YOLOv8 e o mais recente YOLO11 oferecem um pacote superior para o desenvolvimento moderno de IA. A arquitetura sem âncoras do YOLOv8, o design GPU e o robusto ecossistemaUltralytics oferecem uma vantagem significativa em termos de velocidade de desenvolvimento, latência de inferência e flexibilidade de implantação.

Para os programadores que procuram criar soluções de visão por computador de última geração que sejam simultaneamente rápidas e precisas, os modelos Ultralytics YOLO são a escolha definitiva.

Explore Outros Modelos

Se estiver interessado em comparar estas arquitecturas com outros modelos, consulte estas páginas:


Comentários