Ir para o conteúdo

YOLO vs. YOLOv9: Uma comparação técnica

No mundo em rápido avanço da visão computacional, a seleção do modelo de deteção de objectos ideal é uma decisão fundamental que tem impacto em tudo, desde a latência do sistema à precisão da deteção. Este guia abrangente fornece uma comparação técnica entre o YOLO, um detetor de alta velocidade do Alibaba Group, e o YOLOv9, uma arquitetura centrada na preservação e eficiência da informação. Analisaremos as suas inovações arquitectónicas, métricas de desempenho e casos de utilização ideais para ajudar os programadores e investigadores a fazerem escolhas informadas.

Embora ambos os modelos ofereçam melhorias significativas em relação aos seus antecessores, YOLOv9particularmente quando aproveitado dentro do ecossistema Ultralytics , fornece uma mistura atraente de precisão de última geração, ferramentas fáceis de desenvolver e opções de implementação versáteis.

YOLO é uma estrutura de deteção de objectos desenvolvida pela Alibaba, concebida com uma metodologia "uma vez por todas". Dá prioridade à baixa latência e ao elevado rendimento, o que o torna um forte concorrente para aplicações industriais que exigem restrições de velocidade estritamente definidas em hardware específico.

Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
Organização:Alibaba Group
Data: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHubYOLO

Inovações arquitectónicas

A YOLO distingue-se por processos de conceção automatizados e componentes eficientes:

  • Pesquisa de Arquitetura Neural (NAS): Em vez de conceber backbones manualmente, a YOLO utiliza a Pesquisa de Arquitetura Neural (NAS) para descobrir estruturas eficientes (TinyNAS) adaptadas a diferentes orçamentos computacionais.
  • RepGFPN Neck: Introduz uma variação eficiente da Rede de Pirâmide de Caraterísticas Generalizadas (GFPN), denominada RepGFPN. Este componente optimiza a fusão de caraterísticas e suporta a re-parametrização, permitindo velocidades de inferência mais rápidas.
  • ZeroHead: O modelo utiliza uma cabeça de deteção leve "ZeroHead", que reduz a sobrecarga computacional tipicamente associada a cabeças de deteção complexas.
  • AlignedOTA: Para melhorar a estabilidade e a precisão do treino, utiliza o AlignedOTA, uma estratégia de atribuição de etiquetas que resolve problemas de desalinhamento entre tarefas de classificação e regressão.

Pontos fortes e limitações

A principal força do YOLO reside na sua velocidade de inferência. A arquitetura está fortemente optimizada para um elevado rendimento GPU , tornando-a adequada para pipelines de análise de vídeo em que o volume de processamento é crítico. Além disso, o uso de destilação melhora o desempenho de seus modelos menores.

No entanto, a YOLO enfrenta desafios no que respeita à maturidade do ecossistema. Em comparação com as ferramentas robustas disponíveis para os modelos Ultralytics , os utilizadores podem encontrar menos recursos para implementação, conversão de formatos e apoio da comunidade. A sua versatilidade de tarefas também está geralmente limitada à deteção de objectos, enquanto as estruturas modernas suportam frequentemente a segmentação e a estimativa de pose de forma nativa.

Saiba mais sobre o DAMO-YOLO.

YOLOv9: Gradientes programáveis para máxima eficiência

YOLOv9 representa uma mudança de paradigma na deteção de objectos em tempo real ao abordar a questão fundamental da perda de informação nas redes neurais profundas. Ao garantir que os dados críticos são preservados ao longo da profundidade da rede, YOLOv9 alcança uma precisão superior com uma eficiência de parâmetros notável.

Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
Organização:Institute of Information Science, Academia Sinica, Taiwan
Data: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Documentaçãoultralytics

Arquitetura de base: PGI e GELAN

YOLOv9 apresenta duas tecnologias inovadoras que o distinguem:

  1. Informação de Gradiente Programável (PGI): As redes profundas sofrem frequentemente de um estrangulamento de informação em que os dados de entrada se perdem à medida que passam pelas camadas. O PGI fornece um ramo de supervisão auxiliar que gera gradientes confiáveis, garantindo que as camadas profundas recebam informações completas para atualizações precisas de peso.
  2. Rede de agregação de camadas eficiente e generalizada (GELAN): Esta nova arquitetura combina os pontos fortes da CSPNet e da ELAN. A GELAN foi projetada para maximizar a utilização de parâmetros, fornecendo um modelo que é ao mesmo tempo leve e incrivelmente poderoso.

Porque é que a IGP é importante

Nos modelos tradicionais de aprendizagem profunda, a função de perda na camada de saída carece frequentemente de informações suficientes para orientar eficazmente as actualizações das camadas superficiais. O PGI actua como uma ponte, preservando a informação de entrada e assegurando que toda a rede aprende caraterísticas robustas, levando a uma melhor convergência e maior precisão.

A vantagem Ultralytics

Ao utilizar YOLOv9 no âmbito do ecossistemaUltralytics , os programadores obtêm vantagens significativas em relação às implementações autónomas:

  • Facilidade de uso: A APIPython e CLI Ultralytics abstraem pipelines de treinamento complexos em comandos simples.
  • Eficiência da formação: As metodologias Ultralytics garantem uma utilização óptima dos recursos. YOLOv9 normalmente requer menos memóriaCUDA durante o treinamento em comparação com detectores baseados em transformadores, tornando-o acessível em uma variedade maior de hardware.
  • Versatilidade: Embora o documento principal YOLOv9 se concentre na deteção, o quadro Ultralytics facilita a extensão destas arquitecturas a outras tarefas e garante uma exportação perfeita para formatos como ONNX, TensorRTe OpenVINO.

Saiba mais sobre o YOLOv9

Análise de desempenho: Exatidão vs. Eficiência

A comparação abaixo destaca as vantagens e desvantagens entre YOLO e YOLOv9. Embora o YOLO ofereça velocidades competitivas em hardware específico, YOLOv9 fornece consistentemente uma maior precisão média (mAP) com menos parâmetros, demonstrando uma eficiência arquitetónica superior.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
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

Principais conclusões:

  • Eficiência de parâmetros: O YOLOv9s atinge um mAP mais elevado (46,8) do que o DAMO-YOLOs (46,0), utilizando menos de metade dos parâmetros (7,1M vs 16,3M). Isto torna YOLOv9 significativamente mais amigo do armazenamento e mais fácil de atualizar over the air para dispositivos de IA de ponta.
  • Precisão de topo: As maiores variantes YOLOv9 (c e e) ultrapassam os limites de precisão da YOLO, atingindo 55,6 mAP.
  • Velocidade: Embora o YOLO mostre uma ligeira vantagem na latência bruta TensorRT para modelos médios, o YOLOv9t é extremamente rápido (2,3 ms), tornando-o ideal para aplicações móveis em tempo real.

Metodologias de Treinamento e Usabilidade

A experiência de formação difere significativamente entre os dois modelos. A dependência do YOLO em relação ao NAS implica uma fase de pesquisa complexa para derivar a arquitetura, ou a utilização de espinhas dorsais pré-procuradas. A sua abordagem "uma vez por todas" pode ser computacionalmente dispendiosa se for necessária a personalização da estrutura de backbone.

Em contrapartida, YOLOv9, suportado pela Ultralytics, oferece um modo de treino simplificado. Os utilizadores podem afinar os modelos em conjuntos de dados personalizados como o Open Images V7 ou colecções especializadas com uma configuração mínima. A integração com o Ultralytics HUB permite o treinamento baseado em nuvem, a visualização e a implantação com um clique, democratizando o acesso à IA avançada sem a necessidade de conhecimento profundo em NAS ou ajuste de hiperparâmetros.

Exemplo de código: Treino YOLOv9

A implementação do YOLOv9 é simples com o pacote Ultralytics Python .

from ultralytics import YOLO

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

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

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

Casos de Uso Ideais

Quando escolher YOLO

  • Processamento de vídeo em grande escala: Se estiver a processar milhares de fluxos de vídeo em GPUs de servidores específicos, em que cada milissegundo de latência se traduz em poupanças significativas de custos de infraestrutura, a otimização do YOLO para um elevado rendimento pode ser benéfica.
  • Restrições fixas de hardware: Para cenários em que o hardware é conhecido e estático, as arquitecturas derivadas do NAS podem ser selecionadas para preencher perfeitamente o orçamento de computação disponível.

Quando escolher YOLOv9

  • Visão computacional de uso geral: Para a maioria dos programadores que trabalham em robótica, segurança ou análise de retalho, YOLOv9 oferece o melhor equilíbrio entre precisão e facilidade de utilização.
  • Implantação na borda: Devido à sua eficiência de parâmetros superior (por exemplo, YOLOv9s), adapta-se melhor a dispositivos limitados como o Raspberry Pi ou o NVIDIA Jetson, deixando mais espaço para outras aplicações.
  • Investigação e desenvolvimento: A arquitetura PGI constitui uma base fascinante para a investigação futura sobre a eficiência da aprendizagem profunda.
  • Exigindo um ecossistema maduro: Se o seu projeto requer um acompanhamento fiável, uma exportação fácil para CoreML ou TFLite e um apoio ativo da comunidade, o ecossistema Ultralytics em torno do YOLOv9 é inigualável.

Conclusão

Tanto o YOLO como YOLOv9 demonstram a rápida inovação no domínio da deteção de objectos. A YOLO prova o valor da Pesquisa de Arquitetura Neural para obter o máximo desempenho em termos de velocidade. No entanto, YOLOv9 destaca-se como a solução mais versátil e potente para a maioria dos utilizadores.

Ao resolver o estrangulamento da informação de supervisão profunda com o PGI e ao otimizar as camadas com o GELAN, YOLOv9 proporciona uma precisão de ponta com uma eficiência notável. Quando combinado com o ecossistema Ultralytics , oferece uma plataforma robusta, bem mantida e de fácil utilização que acelera a viagem do conceito à implementação. Para os programadores que procuram criar aplicações de visão de ponta com confiança, os modelos Ultralytics YOLO continuam a ser a escolha superior.

Explore Outros Modelos

Se estiver interessado em explorar outras opções topo de gama da família Ultralytics ou em fazer uma comparação mais aprofundada, considere estes recursos:


Comentários