Salta para o conteúdo

YOLOv9: Um salto em frente na tecnologia de deteção de objectos

O YOLOv9 marca um avanço significativo na deteção de objectos em tempo real, introduzindo técnicas inovadoras como o Programmable Gradient Information (PGI) e a Generalized Efficient Layer Aggregation Network (GELAN). Este modelo demonstra melhorias notáveis em termos de eficiência, precisão e adaptabilidade, estabelecendo novos padrões de referência no conjunto de dados MS COCO. O projeto YOLOv9, embora desenvolvido por uma equipa de código aberto separada, baseia-se na base de código robusta fornecida por Ultralytics YOLOv5demonstrando o espírito de colaboração da comunidade de investigação em IA.

Comparação do desempenho do YOLOv9

Introdução ao YOLOv9

Na procura de uma deteção óptima de objectos em tempo real, o YOLOv9 destaca-se pela sua abordagem inovadora para ultrapassar os desafios de perda de informação inerentes às redes neurais profundas. Ao integrar o PGI e a versátil arquitetura GELAN, o YOLOv9 não só melhora a capacidade de aprendizagem do modelo, como também assegura a retenção de informações cruciais ao longo do processo de deteção, alcançando assim uma precisão e um desempenho excepcionais.

Principais inovações do YOLOv9

Os avanços do YOLOv9 estão profundamente enraizados na abordagem dos desafios colocados pela perda de informação em redes neurais profundas. O Princípio do Gargalo de Informação e a utilização inovadora de Funções Reversíveis são fundamentais para o seu design, garantindo que o YOLOv9 mantém uma elevada eficiência e precisão.

Princípio do estrangulamento da informação

O Princípio do Gargalo da Informação revela um desafio fundamental na aprendizagem profunda: à medida que os dados passam por camadas sucessivas de uma rede, o potencial de perda de informação aumenta. Este fenómeno é representado matematicamente como:

I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))

onde I denota a informação mútua, e f e g representa funções de transformação com parâmetros theta e phirespetivamente. O YOLOv9 responde a este desafio através da implementação do Programmable Gradient Information (PGI), que ajuda a preservar os dados essenciais ao longo da profundidade da rede, garantindo uma geração de gradientes mais fiável e, consequentemente, uma melhor convergência e desempenho do modelo.

Funções reversíveis

O conceito de Funções Reversíveis é outra pedra angular do design do YOLOv9. Uma função é considerada reversível se puder ser invertida sem qualquer perda de informação, como expresso por:

X = v_zeta(r_psi(X))

com psi e zeta como parâmetros para a função reversível e a sua função inversa, respetivamente. Esta propriedade é crucial para as arquitecturas de aprendizagem profunda, uma vez que permite que a rede retenha um fluxo de informação completo, permitindo assim actualizações mais precisas dos parâmetros do modelo. O YOLOv9 incorpora funções reversíveis na sua arquitetura para mitigar o risco de degradação da informação, especialmente em camadas mais profundas, garantindo a preservação de dados críticos para tarefas de deteção de objectos.

Impacto nos modelos ligeiros

A resolução da perda de informação é particularmente vital para modelos leves, que são muitas vezes sub-parametrizados e propensos a perder informação significativa durante o processo de feedforward. A arquitetura do YOLOv9, através da utilização de funções PGI e reversíveis, garante que, mesmo com um modelo simplificado, a informação essencial necessária para uma deteção precisa de objectos é retida e efetivamente utilizada.

Informação de gradiente programável (PGI)

O PGI é um novo conceito introduzido no YOLOv9 para combater o problema do estrangulamento da informação, garantindo a preservação de dados essenciais em camadas profundas da rede. Isto permite a geração de gradientes fiáveis, facilitando actualizações precisas do modelo e melhorando o desempenho geral da deteção.

Rede de agregação de camadas eficiente e generalizada (GELAN)

O GELAN representa um avanço arquitetónico estratégico, permitindo ao YOLOv9 alcançar uma utilização de parâmetros e uma eficiência computacional superiores. A sua conceção permite a integração flexível de vários blocos computacionais, tornando o YOLOv9 adaptável a uma vasta gama de aplicações sem sacrificar a velocidade ou a precisão.

Comparação da arquitetura do YOLOv9

Desempenho no conjunto de dados MS COCO

O desempenho do YOLOv9 no conjunto de dados COCO exemplifica os seus avanços significativos na deteção de objectos em tempo real, estabelecendo novos padrões de referência em vários tamanhos de modelos. A Tabela 1 apresenta uma comparação abrangente de detectores de objetos em tempo real de última geração, ilustrando a eficiência e a precisão superiores do YOLOv9.

Tabela 1. Comparação dos detectores de objectos em tempo real mais avançados

Quando é que estarão disponíveis outras escalas de modelos?

Apesar de todas as métricas apresentadas para as várias escalas de modelos na tabela abaixo, apenas as configurações para YOLOv9c e YOLOv9e foram publicadas. A equipa de Ultralytics trabalhará rapidamente para adicionar outras configurações à medida que forem ficando disponíveis, por isso não te esqueças de voltar aqui regularmente para veres as actualizações.

Desempenho

Modelo tamanho
(pixéis)
mAPval
50-95
mAPval
50
params
(M)
FLOPs
(B)
YOLOv9t 640 38.3 53.1 2.0 7.7
YOLOv9s 640 46.8 63.4 7.2 26.7
YOLOv9m 640 51.4 68.1 20.1 76.8
YOLOv9c 640 53.0 70.2 25.5 102.8
YOLOv9e 640 55.6 72.8 58.1 192.5
Modelo tamanho
(pixéis)
mAPbox
50-95
mAPmask
50-95
params
(M)
FLOPs
(B)
YOLOv9c-seg 640 52.4 42.2 27.9 159.4
YOLOv9e-seg 640 55.1 44.3 60.5 248.4

As iterações do YOLOv9, que vão desde o pequeno t variante da extensa e demonstra melhorias não só na precisão (métricas mAP), mas também na eficiência com um número reduzido de parâmetros e necessidades computacionais (FLOPs). Esta tabela sublinha a capacidade do YOLOv9 para fornecer uma elevada precisão, mantendo ou reduzindo a sobrecarga computacional em comparação com versões anteriores e modelos concorrentes.

Comparativamente, o YOLOv9 apresenta ganhos notáveis:

  • Modelos leves: O YOLOv9s supera o YOLO MS-S em termos de eficiência de parâmetros e carga computacional, alcançando uma melhoria de 0,4∼0,6% em AP.
  • Modelos médios a grandes: O YOLOv9m e o YOLOv9e mostram avanços notáveis no equilíbrio entre a complexidade do modelo e o desempenho da deteção, oferecendo reduções significativas nos parâmetros e nos cálculos, tendo como pano de fundo uma precisão melhorada.

O modelo YOLOv9c, em particular, destaca a eficácia das optimizações da arquitetura. Funciona com menos 42% de parâmetros e menos 21% de exigências computacionais do que o YOLOv7 AF, mas atinge uma precisão comparável, demonstrando as melhorias significativas de eficiência do YOLOv9. Além disso, o modelo YOLOv9e estabelece um novo padrão para modelos de grandes dimensões, com menos 15% de parâmetros e menos 25% de necessidades computacionais do que o YOLOv7 AF. YOLOv8xe uma melhoria incremental de 1,7% no PA.

Estes resultados demonstram os avanços estratégicos do YOLOv9 na conceção do modelo, realçando a sua maior eficiência sem comprometer a precisão essencial para tarefas de deteção de objectos em tempo real. O modelo não só ultrapassa os limites das métricas de desempenho, mas também enfatiza a importância da eficiência computacional, tornando-o um desenvolvimento fundamental no campo da visão computacional.

Conclusão

O YOLOv9 representa um desenvolvimento fundamental na deteção de objectos em tempo real, oferecendo melhorias significativas em termos de eficiência, precisão e adaptabilidade. Ao abordar desafios críticos através de soluções inovadoras como o PGI e o GELAN, o YOLOv9 estabelece um novo precedente para futuras investigações e aplicações neste domínio. À medida que a comunidade de IA continua a evoluir, o YOLOv9 é um testemunho do poder da colaboração e da inovação na promoção do progresso tecnológico.

Exemplos de utilização

Este exemplo fornece exemplos simples de treinamento e inferência do YOLOv9. Para obter a documentação completa sobre estes e outros modos, consulta as páginas de documentação Predict, Train, Val e Export.

Exemplo

PyTorch pré-treinado *.pt modelos, bem como a configuração *.yaml podem ser passados para o YOLO() para criar uma instância de modelo em python:

from ultralytics import YOLO

# Build a YOLOv9c model from scratch
model = YOLO('yolov9c.yaml')

# Build a YOLOv9c model from pretrained weight
model = YOLO('yolov9c.pt')

# Display model information (optional)
model.info()

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

# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model('path/to/bus.jpg')

CLI estão disponíveis para executar diretamente os modelos:

# Build a YOLOv9c model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv9c model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov9c.yaml source=path/to/bus.jpg

Tarefas e modos suportados

A série YOLOv9 oferece uma gama de modelos, cada um optimizado para a Deteção de Objectos de elevado desempenho. Estes modelos respondem a diferentes necessidades computacionais e requisitos de precisão, tornando-os versáteis para uma vasta gama de aplicações.

Modelo Nomes de ficheiros Tarefas Inferência Validação Formação Exportação
YOLOv9 yolov9c.pt yolov9e.pt Deteção de objectos
YOLOv9-seg yolov9c-seg.pt yolov9e-seg.pt Segmentação de instâncias

Esta tabela fornece uma visão geral detalhada das variantes do modelo YOLOv9, destacando as suas capacidades em tarefas de deteção de objectos e a sua compatibilidade com vários modos operacionais, tais como Inferência, Validação, Treino e Exportação. Este suporte abrangente garante que os utilizadores podem aproveitar totalmente as capacidades dos modelos YOLOv9 numa vasta gama de cenários de deteção de objectos.

Nota

O treinamento dos modelos YOLOv9 exigirá mais recursos e levará mais tempo do que o modeloYOLOv8 de tamanho equivalente.

Citações e agradecimentos

Gostaríamos de agradecer aos autores do YOLOv9 pelas suas contribuições significativas no domínio da deteção de objectos em tempo real:

@article{wang2024yolov9,
  title={{YOLOv9}: Learning What You Want to Learn Using Programmable Gradient Information},
  author={Wang, Chien-Yao  and Liao, Hong-Yuan Mark},
  booktitle={arXiv preprint arXiv:2402.13616},
  year={2024}
}

O artigo original do YOLOv9 pode ser encontrado no arXiv. Os autores tornaram o seu trabalho publicamente disponível e a base de código pode ser acedida no GitHub. Agradecemos os seus esforços para fazer avançar o campo e tornar o seu trabalho acessível à comunidade em geral.



Criado em 2024-02-26, Atualizado em 2024-04-17
Autores: glenn-jocher (4), Burhan-Q (2), Laughing-q (1)

Comentários