Meet YOLO26: next-gen vision AI.

Link to this sectionYOLOv9: Um salto em frente na tecnologia de Detecção de Objetos#

O YOLOv9 marca um avanço significativo na detecção de objetos em tempo real, introduzindo técnicas inovadoras como a Programmable Gradient Information (PGI) e a Generalized Efficient Layer Aggregation Network (GELAN). Este modelo demonstra melhorias notáveis em eficiência, precisão e adaptabilidade, estabelecendo novos benchmarks no conjunto de dados MS COCO. O projeto YOLOv9, embora desenvolvido por uma equipe open-source separada, baseia-se na base de código robusta fornecida pelo Ultralytics YOLOv5, demonstrando o espírito colaborativo da comunidade de pesquisa em IA.



Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

Comparação de desempenho do YOLOv9

Link to this sectionIntrodução ao YOLOv9#

Na busca pela detecção de objetos em tempo real ideal, o YOLOv9 destaca-se com a sua abordagem inovadora para superar os desafios de perda de informação inerentes às redes neurais profundas. Ao integrar a PGI e a versátil arquitetura GELAN, o YOLOv9 não só aumenta a capacidade de aprendizagem do modelo, como também garante a retenção de informações cruciais durante todo o processo de detecção, alcançando assim uma precisão e um desempenho excepcionais.

Link to this sectionInovações principais do YOLOv9#

Os avanços do YOLOv9 estão profundamente enraizados na resolução dos desafios colocados pela perda de informação em redes neurais profundas. O Princípio do Gargalo de Informação (Information Bottleneck Principle) e o uso inovador de Funções Reversíveis são centrais para o seu design, garantindo que o YOLOv9 mantenha alta eficiência e precisão.

Link to this sectionPrincípio do Gargalo de Informação#

O Princípio do Gargalo de Informação revela um desafio fundamental no deep learning: à 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 representam funções de transformação com parâmetros theta e phi, respectivamente. O YOLOv9 combate este desafio implementando a Programmable Gradient Information (PGI), que ajuda a preservar dados essenciais ao longo da profundidade da rede, garantindo uma geração de gradiente mais confiável e, consequentemente, uma melhor convergência e desempenho do modelo.

Link to this sectionFunções Reversíveis#

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

X = v_zeta(r_psi(X))

com psi e zeta como parâmetros para a função reversível e a sua inversa, respectivamente. Esta propriedade é crucial para arquiteturas de deep learning, pois permite que a rede retenha um fluxo de informação completo, permitindo atualizaçõ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 detecção de objetos.

Link to this sectionImpacto em Modelos Leves#

Abordar a perda de informação é particularmente vital para modelos leves, que são frequentemente sub-parametrizados e propensos a perder informações significativas durante o processo feedforward. A arquitetura do YOLOv9, através do uso de PGI e funções reversíveis, garante que, mesmo com um modelo simplificado, as informações essenciais necessárias para uma detecção precisa de objetos sejam retidas e utilizadas de forma eficaz.

Link to this sectionProgrammable Gradient Information (PGI)#

A PGI é um conceito novo introduzido no YOLOv9 para combater o problema do gargalo de informação, garantindo a preservação de dados essenciais através das camadas profundas da rede. Isto permite a geração de gradientes confiáveis, facilitando atualizações precisas do modelo e melhorando o desempenho geral da detecção.

Link to this sectionGeneralized Efficient Layer Aggregation Network (GELAN)#

A GELAN representa um avanço arquitetônico estratégico, permitindo que o YOLOv9 alcance uma utilização superior de parâmetros e eficiência computacional. O seu design permite a integração flexível de vários blocos computacionais, tornando o YOLOv9 adaptável a uma ampla gama de aplicações sem sacrificar a velocidade ou a precisão.

Comparação da arquitetura do YOLOv9

Link to this sectionBenchmarks do YOLOv9#

O benchmarking no YOLOv9 usando Ultralytics envolve avaliar o desempenho do teu modelo treinado e validado em cenários do mundo real. Este processo inclui:

  • Avaliação de Desempenho: Avaliar a velocidade e precisão do modelo.
  • Formatos de Exportação: Testar o modelo em diferentes formatos de exportação para garantir que ele atenda aos padrões necessários e tenha um bom desempenho em vários ambientes.
  • Suporte a Frameworks: Fornecer uma estrutura abrangente dentro do Ultralytics YOLOv8 para facilitar essas avaliações e garantir resultados consistentes e confiáveis.

Ao realizar benchmarks, podes garantir que o teu modelo não só tem um bom desempenho em ambientes de teste controlados, como também mantém um alto desempenho em aplicações práticas do mundo real.



Watch: How to Benchmark the YOLOv9 Model Using the Ultralytics Python Package

Link to this sectionDesempenho no Conjunto de Dados MS COCO#

O desempenho do YOLOv9 no conjunto de dados COCO exemplifica os seus avanços significativos na detecção de objetos em tempo real, estabelecendo novos benchmarks 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 superior e a precisão do YOLOv9.

Desempenho
Modelotamanho
(pixels)
mAPval
50-95
mAPval
50
params
(M)
FLOPs
(B)
YOLOv9t64038.353,12.07.7
YOLOv9s64046.863.47.226.7
YOLOv9m64051.468.120.176.8
YOLOv9c64053.070.225.5102.8
YOLOv9e64055.672.858.1192.5

As iterações do YOLOv9, variando desde a variante tiny t até ao modelo extenso e, demonstram melhorias não apenas 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 de oferecer alta precisão enquanto mantém ou reduz a carga 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 na eficiência de parâmetros e carga computacional, enquanto atinge 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 detecção, oferecendo reduções significativas em parâmetros e cálculos face a uma melhoria na precisão.

O modelo YOLOv9c, em particular, destaca a eficácia das otimizações da arquitetura. Opera com 42% menos parâmetros e 21% menos demanda computacional 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 grandes, com 15% menos parâmetros e 25% menos necessidade computacional do que o YOLOv8x, juntamente com uma melhoria incremental de 1.7% em AP.

Estes resultados mostram os avanços estratégicos do YOLOv9 no design de modelos, enfatizando a sua eficiência aprimorada sem comprometer a precisão essencial para tarefas de detecção de objetos em tempo real. O modelo não só ultrapassa os limites das métricas de desempenho, como também enfatiza a importância da eficiência computacional, tornando-se um desenvolvimento fundamental no campo da visão computacional.

Link to this sectionConclusão#

O YOLOv9, lançado em fevereiro de 2024, representou um desenvolvimento fundamental na detecção de objetos 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 PGI e GELAN, o YOLOv9 estabeleceu novos benchmarks na época do seu lançamento. Embora modelos mais novos, como o YOLO11 e o YOLO26, tenham sido lançados posteriormente com melhorias adicionais, as inovações arquitetônicas do YOLOv9 continuam a influenciar o campo.

Link to this sectionExemplos de uso#

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

Exemplo

Modelos PyTorch pré-treinados *.pt, bem como arquivos de configuração *.yaml, podem ser passados para a classe 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")

Link to this sectionTarefas e modos suportados#

A série YOLOv9 oferece uma gama de modelos, cada um otimizado para Detecção de Objetos de alto desempenho. Estes modelos atendem a diversas necessidades computacionais e requisitos de precisão, tornando-os versáteis para uma ampla gama de aplicações.

ModeloNomes de arquivoTarefasInferênciaValidaçãoTreinamentoExportar
YOLOv9yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.ptDetecção de Objetos
YOLOv9-segyolov9c-seg.pt yolov9e-seg.ptSegmentação de instâncias

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

Nota

O treinamento de modelos YOLOv9 exigirá mais recursos e levará mais tempo do que o equivalente em tamanho do modelo YOLOv8.

Link to this sectionCitações e Agradecimentos#

Gostaríamos de agradecer aos autores do YOLOv9 pelas suas contribuições significativas no campo da detecção de objetos em tempo real:

Citação
@inproceedings{wang2024yolov9,
  title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
  author={Wang, Chien-Yao and Yeh, I-Hau and Liao, Hong-Yuan Mark},
  booktitle={Computer Vision -- ECCV 2024},
  pages={1--21},
  year={2024},
  organization={Springer Nature Switzerland}
}

O artigo oficial do YOLOv9 foi publicado nos anais da Springer ECCV 2024, com um preprint no arXiv. Os autores disponibilizaram seu trabalho publicamente, e a base de código pode ser acessada no GitHub. Agradecemos seus esforços em avançar a área e tornar seu trabalho acessível a toda a comunidade.

Link to this sectionFAQ#

Link to this sectionQue inovações o YOLOv9 introduz para a detecção de objetos em tempo real?#

O YOLOv9 introduz técnicas inovadoras como a Programmable Gradient Information (PGI) e a Generalized Efficient Layer Aggregation Network (GELAN). Estas inovações resolvem os desafios de perda de informação em redes neurais profundas, garantindo alta eficiência, precisão e adaptabilidade. A PGI preserva dados essenciais através das camadas da rede, enquanto a GELAN otimiza a utilização de parâmetros e a eficiência computacional. Sabe mais sobre as inovações principais do YOLOv9 que estabeleceram novos benchmarks no conjunto de dados MS COCO.

Link to this sectionComo é que o YOLOv9 tem desempenho no conjunto de dados MS COCO em comparação com outros modelos?#

O YOLOv9 supera detectores de objetos em tempo real de última geração ao atingir maior precisão e eficiência. No conjunto de dados COCO, os modelos YOLOv9 exibem pontuações mAP superiores em vários tamanhos, mantendo ou reduzindo a carga computacional. Por exemplo, o YOLOv9c atinge uma precisão comparável com 42% menos parâmetros e 21% menos demanda computacional do que o YOLOv7 AF. Explora as comparações de desempenho para métricas detalhadas.

Link to this sectionComo posso treinar um modelo YOLOv9 usando Python e CLI?#

Podes treinar um modelo YOLOv9 usando tanto comandos Python como CLI. Para Python, instancia um modelo usando a classe YOLO e chama o método train:

from ultralytics import YOLO

# Build a YOLOv9c model from pretrained weights and train
model = YOLO("yolov9c.pt")
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Para treinamento via CLI, executa:

yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

Sabe mais sobre os exemplos de uso para treinamento e inferência.

Link to this sectionQuais são as vantagens de usar o Ultralytics YOLOv9 para modelos leves?#

O YOLOv9 foi projetado para mitigar a perda de informação, o que é particularmente importante para modelos leves que são frequentemente propensos a perder informações significativas. Ao integrar a Programmable Gradient Information (PGI) e funções reversíveis, o YOLOv9 garante a retenção de dados essenciais, melhorando a precisão e a eficiência do modelo. Isto torna-o altamente adequado para aplicações que exigem modelos compactos com alto desempenho. Para mais detalhes, explora a seção sobre o impacto do YOLOv9 em modelos leves.

Link to this sectionQuais tarefas e modos o YOLOv9 suporta?#

O YOLOv9 suporta várias tarefas, incluindo detecção de objetos e segmentação de instâncias. É compatível com múltiplos modos operacionais, tais como inferência, validação, treinamento e exportação. Esta versatilidade torna o YOLOv9 adaptável a diversas aplicações de visão computacional em tempo real. Consulta a seção tarefas e modos suportados para mais informações.

Comentários