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-02
Autores: Burhan-Q (2), glenn-jocher (3), Laughing-q (1)

Coment√°rios