YOLOv9:PGIとGELANによる物体検出技術の飛躍的進歩#
YOLOv9は、リアルタイムオブジェクト検出における大きな進歩を示し、プログラマブル勾配情報(PGI)や一般化効率的レイヤー集約ネットワーク(GELAN)などの画期的な技術を導入しています。このモデルは、効率、精度、適応性を大幅に向上させ、MS COCOデータセットで新たなベンチマークを確立しています。YOLOv9プロジェクトは、別のオープンソースチームによって開発されましたが、Ultralytics YOLOv5が提供する堅牢なコードベースを基盤としており、AI研究コミュニティの協調精神を示しています。
Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

YOLOv9の概要#
最適なリアルタイムオブジェクト検出を目指す中で、YOLOv9は、深層ニューラルネットワークに固有の情報損失の課題を克服する革新的なアプローチによって際立っています。PGIと柔軟なGELANアーキテクチャを統合することで、YOLOv9はモデルの学習能力を高めるだけでなく、検出プロセス全体で重要な情報を保持し、卓越した精度と性能を実現します。
YOLOv9の主要な革新技術#
YOLOv9の進歩は、深層ニューラルネットワークにおける情報損失の課題への対応に深く根ざしています。情報ボトルネック原理と可逆関数の革新的な利用が設計の中心であり、YOLOv9は高い効率と精度を維持します。
情報ボトルネック原理#
情報ボトルネック原理は、深層学習における根本的な課題を明らかにします。データがネットワークの層を順に通過するにつれて、情報損失の可能性が高まります。この現象は数学的に次のように表されます。
I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))ここで、Iは相互情報量を示し、fとgは、それぞれパラメーターthetaとphiを持つ変換関数を表します。YOLOv9は、プログラマブル勾配情報(PGI)を実装することでこの課題に対処します。PGIはネットワークの深さ全体で重要なデータを保持し、より信頼性の高い勾配生成を実現するとともに、結果としてモデルの収束と性能を向上させます。
可逆関数#
可逆関数の概念は、YOLOv9の設計におけるもう1つの重要な要素です。情報を一切失わずに逆変換できる関数を可逆関数といい、次のように表されます。
X = v_zeta(r_psi(X))ここで、psiとzetaは、それぞれ可逆関数とその逆関数のパラメーターです。この性質は深層学習アーキテクチャにとって重要です。ネットワークが情報の流れ全体を保持できるため、モデルのパラメーターをより正確に更新できます。YOLOv9はアーキテクチャ内に可逆関数を組み込み、特に深い層での情報劣化のリスクを軽減し、オブジェクト検出タスクに必要な重要データを確実に保持します。
軽量モデルへの影響#
情報損失への対応は、パラメーター数が不足しがちで、フィードフォワード処理中に重要な情報を失いやすい軽量モデルにとって特に重要です。YOLOv9のアーキテクチャは、PGIと可逆関数を使用することで、モデルを簡素化した場合でも、正確なオブジェクト検出に必要な情報を保持し、効果的に活用できるようにします。
プログラマブル勾配情報(PGI)#
PGIは、情報ボトルネック問題に対処するためにYOLOv9へ導入された新しい概念であり、深いネットワーク層全体で重要なデータを確実に保持します。これにより信頼性の高い勾配を生成でき、正確なモデル更新を促進するとともに、検出性能全体を向上させます。
一般化効率的レイヤー集約ネットワーク(GELAN)#
GELANは戦略的なアーキテクチャ上の進歩をもたらし、YOLOv9が優れたパラメーター利用効率と計算効率を実現できるようにします。その設計により、さまざまな計算ブロックを柔軟に統合できるため、速度や精度を犠牲にすることなく、YOLOv9を幅広いアプリケーションに適応させられます。

YOLOv9のベンチマーク#
Ultralyticsを使用したYOLOv9のベンチマークでは、学習および検証済みモデルの性能を実際の環境で評価します。このプロセスには次の内容が含まれます。
- 性能評価: モデルの速度と精度を評価します。
- エクスポート形式: さまざまなエクスポート形式でモデルをテストし、必要な標準を満たし、多様な環境で適切に動作することを確認します。
- フレームワークのサポート: Ultralyticsパッケージ内に包括的なフレームワークを提供し、これらの評価を促進し、一貫性と信頼性のある結果を保証します。
ベンチマークを実施することで、モデルが管理されたテスト環境で適切に動作するだけでなく、実際のアプリケーションでも高い性能を維持できることを確認できます。
Watch: How to Benchmark the YOLOv9 Model Using the Ultralytics Python Package
MS COCOデータセットでの性能#
COCOデータセットにおけるYOLOv9の性能は、リアルタイムオブジェクト検出における大幅な進歩を示しており、さまざまなモデルサイズで新たなベンチマークを確立しています。表1では、最先端のリアルタイムオブジェクト検出器を包括的に比較し、YOLOv9の優れた効率と精度を示します。
YOLOv9の反復モデルは、小型のtバリアントから大規模なeモデルまで、精度(mAP指標)だけでなく、パラメーター数と計算要件(FLOPs)を削減することで効率も向上させています。この表は、従来のバージョンや競合モデルと比較して計算オーバーヘッドを維持または削減しながら、高い適合率を実現するYOLOv9の能力を示しています。
比較すると、YOLOv9は次のような顕著な向上を示します。
- 軽量モデル: YOLOv9sは、パラメーター効率と計算負荷においてYOLO MS-Sを上回り、APを0.4∼0.6%向上させています。
- 中規模から大規模のモデル: YOLOv9mとYOLOv9eは、モデルの複雑さと検出性能のトレードオフのバランスにおいて顕著な進歩を示し、精度を向上させながらパラメーター数と計算量を大幅に削減しています。
特にYOLOv9cモデルは、アーキテクチャの最適化の有効性を示しています。YOLOv7 AFよりもパラメーター数が42%、計算負荷が21%少ない一方で、同等の精度を実現しており、YOLOv9の大幅な効率向上を示しています。さらに、YOLOv9eモデルは大規模モデルの新たな基準を確立しています。YOLOv8xよりもパラメーター数が15%、計算要件が25%少なく、APも1.7%向上しています。
これらの結果は、YOLOv9のモデル設計における戦略的な進歩を示しており、リアルタイムオブジェクト検出タスクに不可欠な適合率を損なうことなく効率を高めています。このモデルは性能指標の限界を押し広げるだけでなく、計算効率の重要性も強調しており、コンピュータービジョン分野における重要な発展となっています。
まとめ#
2024年2月にリリースされたYOLOv9は、リアルタイムオブジェクト検出における重要な発展であり、効率、精度、適応性を大幅に向上させました。PGIやGELANなどの革新的な解決策によって重要な課題に対処し、YOLOv9はリリース当時に新たなベンチマークを確立しました。その後、YOLO11やYOLO26など、さらなる改良を加えた新しいモデルがリリースされていますが、YOLOv9のアーキテクチャ上の革新は現在もこの分野に影響を与えています。
使用例#
この例では、YOLOv9の学習と推論の基本的な例を示します。これらおよびその他のモードの完全なドキュメントについては、Predict、Train、Val、Exportのドキュメントページを参照してください。
PyTorchの事前学習済み*.ptモデルと設定用の*.yamlファイルをYOLO()クラスに渡すことで、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")サポートされるタスクとモード#
YOLOv9シリーズには、オブジェクト検出で高性能を発揮するよう最適化されたさまざまなモデルが用意されています。これらのモデルは、異なる計算要件と精度要件に対応しており、幅広いアプリケーションで柔軟に利用できます。
| モデル | ファイル名 | タスク | トレーニング | 検証 | 推論 | エクスポート |
|---|---|---|---|---|---|---|
| YOLOv9 | yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt | オブジェクト検出 | ✅ | ✅ | ✅ | ✅ |
| YOLOv9-seg | yolov9c-seg.pt yolov9e-seg.pt | インスタンスセグメンテーション | ✅ | ✅ | ✅ | ✅ |
この表では、YOLOv9のモデルバリアントの詳細な概要を示し、オブジェクト検出タスクにおける機能と、推論、検証、学習、エクスポートなどのさまざまな運用モードとの互換性を説明しています。この包括的なサポートにより、ユーザーは幅広いオブジェクト検出シナリオでYOLOv9モデルの機能を最大限に活用できます。
YOLOv9モデルの学習には、同等のサイズのYOLOv8モデルよりも多くのリソースが必要で、より時間がかかります。
引用と謝辞#
リアルタイムオブジェクト検出分野における多大な貢献について、YOLOv9の著者の皆様に謝意を表します。
@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}
}YOLOv9の公式論文は、Springer ECCV 2024議事録で公開され、arXivにプレプリントも掲載されています。著者らは研究成果を一般公開しており、コードベースにはGitHubからアクセスできます。分野の発展に貢献し、研究成果をより広いコミュニティに公開した著者らの取り組みに感謝します。
FAQ#
YOLOv9は、プログラマブル勾配情報(PGI)や一般化効率的レイヤー集約ネットワーク(GELAN)などの画期的な技術を導入しています。これらの革新は、深層ニューラルネットワークにおける情報損失の課題に対処し、高い効率、精度、適応性を実現します。PGIはネットワーク層全体で重要なデータを保持し、GELANはパラメーター利用効率と計算効率を最適化します。MS COCOデータセットで新たなベンチマークを確立したYOLOv9の主要な革新技術について詳しく説明します。
YOLOv9は、より高い精度と効率を実現し、最先端のリアルタイムオブジェクト検出器を上回ります。COCOデータセットでは、YOLOv9モデルはさまざまなサイズで優れたmAPスコアを示しながら、計算オーバーヘッドを維持または削減しています。たとえば、YOLOv9cはYOLOv7 AFよりもパラメーター数が42%、計算負荷が21%少ないにもかかわらず、同等の精度を実現します。詳細な指標については、性能比較をご覧ください。
PythonとCLIコマンドの両方を使用してYOLOv9モデルを学習できます。Pythonでは、
YOLOクラスを使用してモデルをインスタンス化し、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)CLIで学習する場合は、次のコマンドを実行します。
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640学習と推論の使用例について詳しく説明します。
YOLOv9は情報損失を軽減するように設計されており、重要な情報を失いやすい軽量モデルにとって特に重要です。プログラマブル勾配情報(PGI)と可逆関数を統合することで、YOLOv9は重要なデータを確実に保持し、モデルの精度と効率を高めます。そのため、高性能なコンパクトモデルを必要とするアプリケーションに非常に適しています。詳細については、YOLOv9の軽量モデルへの影響のセクションをご覧ください。
YOLOv9は、オブジェクト検出やインスタンスセグメンテーションなど、さまざまなタスクをサポートしています。推論、検証、学習、エクスポートなど、複数の運用モードに対応しています。この柔軟性により、YOLOv9は多様なリアルタイムコンピュータービジョンアプリケーションに適応できます。詳細については、サポート対象のタスクとモードのセクションを参照してください。