YOLOv9: 物体検出技術における飛躍的な進歩
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の設計のもう一つの礎石です。ある関数は、情報の損失なく反転できる場合、可逆であるとみなされ、次のように表現されます。
X = v_zeta(r_psi(X))ここでpsiおよびzetaは、それぞれ可逆関数とその逆関数のパラメータです。この特性はディープラーニングアーキテクチャにとって極めて重要です。ネットワークが完全な情報の流れを維持できるため、モデルのパラメータをより正確に更新することが可能になります。YOLOv9は、特に深い層における情報劣化のリスクを軽減するためにそのアーキテクチャ内に可逆関数を組み込んでおり、物体検出タスクにとって重要なデータの保持を確実にしています。
軽量モデルへの影響
情報損失への対処は、フィードフォワードの過程で重要な情報を失いやすい、パラメータ不足になりがちな軽量モデルにとって特に不可欠です。YOLOv9のアーキテクチャは、PGIと可逆関数を使用することで、効率化されたモデルであっても正確な物体検出に必要な不可欠な情報が保持され、効果的に利用されることを確実にします。
プログラマブル勾配情報(PGI)
PGIは、情報ボトルネックの問題に対処するためにYOLOv9で導入された新しい概念であり、深いネットワーク層全体で不可欠なデータを確実に保持します。これにより信頼性の高い勾配生成が可能になり、正確なモデル更新を促進し、全体的な検出性能を向上させます。
汎用効率的レイヤー集約ネットワーク(GELAN)
GELANは戦略的なアーキテクチャの進歩であり、YOLOv9が優れたパラメータ利用率と計算効率を達成することを可能にしています。その設計により、さまざまな計算ブロックを柔軟に統合できるため、速度や精度を犠牲にすることなく、幅広いアプリケーションにYOLOv9を適合させることが可能です。

YOLOv9のベンチマーク
Ultralyticsを使用したYOLOv9のベンチマークには、学習済みかつ検証済みのモデルを実際のシナリオで評価することが含まれます。このプロセスには以下が含まれます。
- パフォーマンス評価: モデルの速度と精度を評価します。
- エクスポート形式: 必要な基準を満たし、さまざまな環境で適切に動作することを確認するために、異なるエクスポート形式でモデルをテストします。
- フレームワークサポート: これらの評価を促進し、一貫した信頼性の高い結果を保証するために、Ultralytics YOLOv8内で包括的なフレームワークを提供します。
ベンチマークを行うことで、モデルが制御されたテスト環境でうまく機能するだけでなく、実際のアプリケーションにおいても高いパフォーマンスを維持することを確認できます。
Watch: How to Benchmark the YOLOv9 Model Using the Ultralytics Python Package
MS COCOデータセットにおけるパフォーマンス
COCOデータセットにおけるYOLOv9のパフォーマンスは、リアルタイム物体検出における顕著な進歩を実証しており、さまざまなモデルサイズで新しいベンチマークを設定しています。表1は、最先端のリアルタイム物体検出器の包括的な比較を示しており、YOLOv9の優れた効率性と精度を証明しています。
最小のtバリアントから最大規模のeモデルまで、YOLOv9の各イテレーションは、精度の向上(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シリーズは、高性能な物体検出のために最適化されたさまざまなモデルを提供します。これらのモデルは、さまざまな計算ニーズと精度の要件に対応しており、幅広いアプリケーションに対して多目的に使用できます。
| モデル | ファイル名 | タスク | 推論 (Inference) | 検証 | 学習 | Export |
|---|---|---|---|---|---|---|
| YOLOv9 | yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt | 物体検出 | ✅ | ✅ | ✅ | ✅ |
| YOLOv9-seg | yolov9c-seg.pt yolov9e-seg.pt | インスタンスセグメンテーション | ✅ | ✅ | ✅ | ✅ |
この表は、YOLOv9モデルのバリアントの詳細な概要を示しており、物体検出タスクにおける機能や、推論、検証、学習、エクスポートといったさまざまな運用モードとの互換性を強調しています。この包括的なサポートにより、ユーザーは幅広い物体検出シナリオでYOLOv9モデルの機能を最大限に活用できます。
YOLOv9モデルの学習には、同サイズのYOLOv8モデルと比較して、より多くのリソースが必要であり、時間がかかります。
引用と謝辞
リアルタイム物体検出の分野に対する多大な貢献に対し、YOLOv9の著者に感謝の意を表します。
@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}
}オリジナルのYOLOv9論文はarXivで閲覧できます。著者は彼らの成果を公開しており、コードベースはGitHubからアクセス可能です。彼らがこの分野を前進させ、彼らの成果をより広いコミュニティに公開した努力を評価します。
FAQ
YOLOv9は、リアルタイム物体検出のためにどのような革新を導入していますか?
YOLOv9は、プログラマブル勾配情報(PGI)や汎用効率的レイヤー集約ネットワーク(GELAN)といった画期的な技術を導入しています。これらの革新は、ディープニューラルネットワークにおける情報損失の課題に対処し、高い効率性、精度、適応性を確実にします。PGIはネットワーク層全体で不可欠なデータを保持し、GELANはパラメータ利用率と計算効率を最適化します。MS COCOデータセットで新たなベンチマークを設定した、YOLOv9の核心的な革新についてさらに詳しく学びましょう。
YOLOv9は、MS COCOデータセットにおいて他のモデルと比較してどのようなパフォーマンスを発揮しますか?
YOLOv9は、より高い精度と効率性を達成することで、最先端のリアルタイム物体検出器を上回ります。COCOデータセットにおいて、YOLOv9モデルは、計算オーバーヘッドを維持または削減しつつ、さまざまなサイズで優れたmAPスコアを示します。例えば、YOLOv9cは、YOLOv7 AFと比較して、42%少ないパラメータ数と21%少ない計算需要で同等の精度を達成しています。詳細なメトリクスについては、パフォーマンス比較を参照してください。
PythonとCLIを使用してYOLOv9モデルを学習させるにはどうすればよいですか?
YOLOv9モデルは、PythonコマンドとCLIコマンドの両方を使用して学習させることができます。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学習と推論の使用例について詳しく学びましょう。
軽量モデルにUltralytics YOLOv9を使用することの利点は何ですか?
YOLOv9は、重要な情報を失いやすい軽量モデルにとって特に重要な、情報損失を軽減するように設計されています。プログラマブル勾配情報(PGI)と可逆関数を統合することで、YOLOv9は不可欠なデータの保持を確実にし、モデルの精度と効率を向上させます。これにより、高いパフォーマンスを維持しながらコンパクトなモデルを必要とするアプリケーションに非常に適しています。詳細については、YOLOv9が軽量モデルに与える影響のセクションを参照してください。
YOLOv9はどのようなタスクとモードをサポートしていますか?
YOLOv9は、物体検出やインスタンスセグメンテーションを含むさまざまなタスクをサポートしています。推論、検証、学習、エクスポートなど、複数の運用モードと互換性があります。この汎用性により、YOLOv9は多様なリアルタイムコンピュータビジョンアプリケーションに適応可能です。詳細については、サポートされているタスクとモードのセクションを参照してください。