Ir para o conteúdo

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

Escolher a arquitetura certa para a deteção de objectos é uma decisão crítica que tem impacto na velocidade, precisão e viabilidade de implementação de projectos de visão computacional. Esta análise compara o YOLOX, um modelo essencial sem âncoras lançado em 2021, e o YOLOv9, uma arquitetura de ponta introduzida em 2024 que aproveita a Informação de Gradiente Programável (PGI).

Enquanto o YOLOX mudou o paradigma para a deteção sem âncoras, YOLOv9 introduz novos mecanismos para reter informações em redes profundas, oferecendo métricas de desempenho superiores. Este guia analisa as suas arquitecturas, referências e casos de utilização ideais para o ajudar a selecionar o melhor modelo para as suas necessidades.

YOLOX: O pioneiro sem âncora

O YOLOX foi lançado para colmatar a lacuna entre a comunidade de investigação e as aplicações industriais, simplificando a cabeça de deteção e eliminando a dependência de caixas de ancoragem predefinidas.

Autores: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organização:Megvii
Data: 2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Docs:YOLOX Documentation

Destaques da arquitetura

O YOLOX introduziu uma arquitetura de cabeça desacoplada, separando as tarefas de classificação e regressão. Esta separação permite ao modelo convergir mais rapidamente e obter uma melhor precisão. Também emprega um mecanismo sem âncoras, que elimina a necessidade de análise de agrupamento para determinar os tamanhos ideais das caixas de âncoras, tornando o modelo mais robusto a formas variadas de objectos. Além disso, o YOLOX utiliza o SimOTA para a atribuição de etiquetas, tratando o processo como um problema de transporte ótimo para melhorar a estabilidade do treino.

Forças e Fraquezas

  • Pontos fortes: O design sem âncoras simplifica o processo de ajuste dos hiperparâmetros. A cabeça desacoplada geralmente produz maior precisão para tarefas de localização em comparação com as cabeças acopladas daquela época.
  • Pontos fracos: Como modelo de 2021, carece das optimizações modernas encontradas nas arquitecturas mais recentes. Pode exigir mais dados de treino para atingir o desempenho máximo em comparação com os modelos que utilizam técnicas avançadas de aumento de dados e agregação de camadas.

YOLOv9: Informação de gradiente programável

YOLOv9 representa um avanço significativo, resolvendo o problema do "estrangulamento da informação" inerente às redes neuronais profundas.

Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
Organização:Instituto de Ciência da Informação, Academia Sinica
Data: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9 Docs

Destaques da arquitetura

YOLOv9 introduz a Informação de Gradiente Programável (PGI) e a Rede de Agregação de Camada Eficiente Generalizada (GELAN). O PGI evita a perda de informações de entrada cruciais à medida que os dados passam por camadas profundas, garantindo uma geração de gradiente fiável para actualizações do modelo. A GELAN optimiza a utilização de parâmetros, permitindo que o modelo seja leve mas preciso. Estas inovações permitem que YOLOv9 supere significativamente os seus antecessores, tanto em termos de eficiência como de precisão média (mAP).

Forças e Fraquezas

  • Pontos fortes: Excecional relação precisão/parâmetro, tornando-o altamente eficiente para aplicações em tempo real. A arquitetura preserva o fluxo de informação melhor do que as iterações anteriores, levando a uma melhor deteção de pequenos objectos.
  • Pontos fracos: Sendo uma arquitetura mais recente, pode exigir drivers CUDA e suporte de hardware actualizados em comparação com os modelos antigos.

Saiba mais sobre o YOLOv9

Comparação de Desempenho

A tabela seguinte compara o desempenho de YOLOX e YOLOv9 no conjunto de dadosCOCO . YOLOv9 demonstra consistentemente pontuações mAP mais elevadas com menos parâmetros, destacando a eficiência da arquitetura GELAN.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
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

Análise: YOLOv9 proporciona uma melhoria substancial na densidade do desempenho. Por exemplo, o YOLOv9c atinge 53,0% de mAP com apenas 25,3M de parâmetros, enquanto o YOLOX-L requer 54,2M de parâmetros para atingir uma pontuação inferior de 49,7% de mAP. Isto indica que YOLOv9 é aproximadamente duas vezes mais eficiente em termos de utilização de parâmetros para este nível de precisão.

A eficiência é importante

Quando se implementa em dispositivos de ponta, olhar para os FLOPs e os parâmetros é tão importante como mAP. A arquitetura GELAN do YOLOv9 reduz significativamente a sobrecarga computacional, conduzindo a dispositivos de funcionamento mais frios e a uma maior duração da bateria em implementações móveis.

A vantagem Ultralytics

Embora o YOLOX seja um repositório autónomo robusto, a utilização do YOLOv9 no EcossistemaUltralytics oferece vantagens distintas para os programadores e investigadores.

Facilidade de utilização e integração

A estrutura Ultralytics unifica a interação do modelo. É possível treinar, validar e implantar YOLOv9 usando uma APIPython simples e intuitiva. Isso contrasta com a base de código do YOLOX, que geralmente exige uma configuração mais manual das variáveis de ambiente e dos caminhos do conjunto de dados.

from ultralytics import YOLO

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

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

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

Ecossistema bem conservado

Os modelos Ultralytics beneficiam de actualizações contínuas, correcções de erros e apoio da comunidade. A integração com o Ultralytics HUB permite MLOps contínuos, permitindo às equipas gerir conjuntos de dados, track experiências e implementar modelos em vários formatosONNX, TensorRT, CoreML) sem escrever scripts de exportação complexos.

Equilíbrio de desempenho e eficiência de memória

Os modelos Ultralytics YOLO são projectados para um equilíbrio prático entre velocidade e precisão. Além disso, normalmente apresentam requisitos de memória mais baixos durante o treino, em comparação com arquitecturas mais antigas ou modelos baseados em transformadores pesados. Essa eficiência reduz os custos de computação em nuvem e torna o treinamento acessível em GPUs de nível de consumidor.

Versatilidade

Embora o YOLOX seja principalmente um detetor de objectos, a estrutura Ultralytics alarga as capacidades dos seus modelos suportados. Os utilizadores podem alternar facilmente entre tarefas como a segmentação de instâncias, a estimativa de pose e a deteção de caixas delimitadoras orientadas (OBB) utilizando uma sintaxe e fluxos de trabalho semelhantes, uma versatilidade que os repositórios de investigação autónomos muitas vezes não possuem.

Casos de Uso Ideais

Quando escolher YOLOv9

  • Sistemas autónomos: A elevada precisão do YOLOv9 é ideal para veículos autónomos em que a deteção de pequenos obstáculos à distância é fundamental para a segurança.
  • Análise em tempo real: Para a gestão de retalho ou de tráfego, o YOLOv9c oferece o ponto ideal de elevadas taxas de fotogramas e deteção precisa.
  • IA de ponta: A eficiência arquitetónica do GELAN torna o YOLOv9t e o YOLOv9s perfeitos para implementação em dispositivos como o NVIDIA Jetson ou o Raspberry Pi.

Quando escolher YOLOX

  • Integração de legado: Se um pipeline de produção existente já estiver fortemente concebido em torno do formato específico de cabeça sem âncora YOLOX.
  • Investigação académica: Os investigadores que investigam especificamente o comportamento das cabeças desacopladas nos primeiros detectores sem âncora podem considerar o YOLOX uma base de comparação valiosa.

Conclusão

Ambas as arquitecturas conquistaram o seu lugar na história da visão por computador. A YOLOX desafiou com sucesso o status quo baseado em âncoras em 2021. No entanto, YOLOv9 representa o padrão moderno, incorporando anos de avanços na otimização do fluxo de gradiente e na agregação de camadas.

Para a maioria dos novos desenvolvimentos, YOLOv9 é a escolha recomendada. O seu desempenho superior por parâmetro, combinado com a facilidade de utilização, a eficiência da formação e as opções de implementação robustas fornecidas pelo ecossistema Ultralytics , garante um caminho mais rápido do conceito à produção.

Explore outras opções modernas no ecossistema, tais como YOLO11 e YOLOv8para encontrar a opção perfeita para as restrições específicas da sua aplicação.


Comentários