YOLOv9 対 YOLOv5#
コンピュータービジョン分野は著しい発展を遂げており、物体検出は数多くの産業・研究用途を支える基盤となっています。適切なアーキテクチャを選択するには、平均適合率(mAP)、推論速度、メモリオーバーヘッドを慎重に評価する必要があります。本比較では、勾配情報の保持における画期的なアーキテクチャを特徴とするYOLOv9と、非常に使いやすく、比類のないデプロイ柔軟性で知られる、実績豊富な業界標準の**Ultralytics YOLOv5**という、特に影響力の大きい2つのモデルを取り上げます。
アーキテクチャの革新と技術的背景#
これら2つのモデルの基盤となる仕組みを理解することは、それぞれの性能特性を把握するうえで重要です。
YOLOv9:プログラマブル勾配情報#
台湾の中央研究院情報科学研究所に所属する研究者 Chien-Yao Wang 氏と Hong-Yuan Mark Liao 氏によって開発された YOLOv9 は、2024年2月21日にリリースされました。このモデルは、深層ニューラルネットワークで一般的に発生する情報ボトルネックに対処するため、Programmable Gradient Information(PGI)と Generalized Efficient Layer Aggregation Network(GELAN)という2つの画期的な概念を導入しています。
PGIを活用することで、YOLOv9はフィードフォワード処理全体を通じて重要な情報を保持し、高精度な勾配更新を実現します。一方、GELANアーキテクチャはパラメーター効率を最大化し、驚くほど低い計算オーバーヘッドで最先端の精度を達成します。技術的な詳細については、公式のYOLOv9 Arxiv論文を参照するか、YOLOv9 GitHubリポジトリをご覧ください。
Ultralytics YOLOv5:本番環境の標準#
Glenn Jocher 氏によって開発され、2020年6月26日に Ultralytics がリリースした YOLOv5 は、コンピュータービジョンをより利用しやすいものへと大きく変革しました。PyTorchフレームワーク上にネイティブに構築された初期の物体検出モデルの1つとして、従来の Darknet Cフレームワークの複雑さを回避しています。YOLOv5は、高度に最適化された CSPNet バックボーンと PANet ネックを活用し、速度と精度のバランスをシームレスに実現することを重視しています。
しかし、その最大の成果は、より広範な Ultralytics エコシステムへの統合です。YOLOv5は高速なトレーニング効率と省メモリ環境向けに高度に最適化されており、エッジデプロイメントにおいて非常に安定しています。
エッジデバイス向けのモデルを評価する際は、Ultralytics YOLOモデルは通常、重量級の Transformer ベースアーキテクチャと比べて、トレーニング時と推論時の両方で必要とする GPU メモリが大幅に少ないことに留意してください。
性能分析:速度と精度#
コンピュータービジョンパイプラインを設計する際、開発者は精度とレイテンシーのトレードオフを考慮する必要があります。次の表は、標準のCOCOデータセットにおける性能の違いを示しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
トレードオフの分析#
YOLOv9は、生の精度において圧倒的な優位性を確立しています。YOLOv9eは、GELANレイヤーによって細かなディテールを保持し、mAPを55.6%まで引き上げます。そのため、医用画像や、小さな物体に対して厳密な精度が求められるシナリオに非常に適しています。
一方、YOLOv5は、実際のデプロイ速度とハードウェアの柔軟性に優れています。YOLOv5n(Nano)は非常に軽量で、TensorRTを使用した T4 GPU 上でわずか1.12msで推論を実行できます。リソースの制約された IoT デバイス、携帯電話、またはRaspberry Piにデプロイする場合、YOLOv5のメモリフットプリントは非常に高い信頼性を発揮します。
Ultralyticsエコシステムの優位性#
モデルを選択する際の重要な考慮事項は、周辺のソフトウェアエコシステムです。YOLOv9は最上位クラスの研究ベンチマークを提供しますが、最新のUltralytics Python APIを介して両モデルを利用することで、その差を埋め、開発者に統一された効率的なエクスペリエンスを提供できます。
使いやすさとエクスポート#
Ultralytics は複雑なエンジニアリング上の課題を抽象化します。自動データ拡張やハイパーパラメータチューニングなどの機能が標準で処理されます。モデルの本番環境への移行も同様に簡単で、組み込みのエクスポートコマンドを使用して、モデルをONNX、OpenVINO、またはTFLite形式に変換できます。
タスクの汎用性#
両モデルとも物体検出に優れていますが、最新の Ultralytics モデルはさまざまなコンピュータービジョンの課題に対応できるように構築されています。より広範なフレームワークは、画像分類、インスタンスセグメンテーション、姿勢推定、方向付きバウンディングボックス(OBB)をネイティブにサポートしており、コードベースを切り替えることなく複数のビジョンタスクに対応できます。
ユースケースと推奨事項#
YOLOv9とYOLOv5のどちらを選ぶかは、具体的なプロジェクト要件、デプロイの制約、エコシステムに関する предпочт性によって決まります。
YOLOv9を選ぶタイミング#
YOLOv9が適しているケース:
- 情報ボトルネックの研究: プログラマブル勾配情報(PGI)および汎用効率的レイヤー集約ネットワーク(GELAN)アーキテクチャを研究する学術プロジェクト。
- 勾配フロー最適化の研究: 学習中の深層ネットワーク層における情報損失の理解と軽減に重点を置く研究。
- 高精度検出のベンチマーク: アーキテクチャ比較の基準点として、YOLOv9の優れたCOCOベンチマーク性能が必要なシナリオ。
YOLOv5を選ぶべきケース#
YOLOv5は、次の用途に推奨されます。
- 実績のある本番システム: YOLOv5の長年にわたる安定性の実績、豊富なドキュメント、広範なコミュニティサポートが重視される既存のデプロイ環境。
- リソースに制約のあるトレーニング: YOLOv5の効率的なトレーニングパイプラインと少ないメモリ要件が有利になる、GPUリソースが限られた環境。
- 幅広いエクスポート形式のサポート: ONNX、TensorRT、CoreML、TFLiteなど、多数の形式にまたがるデプロイが必要なプロジェクト。
Ultralytics (YOLO26)を選ぶタイミング#
ほとんどの新規プロジェクトでは、Ultralytics YOLO26が性能と開発者エクスペリエンスの最適な組み合わせを提供します。
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
- CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。
実装例#
Ultralytics エコシステムの利点は、重みの文字列を変更するだけで、YOLOv5モデルとYOLOv9モデルを切り替えられることです。
from ultralytics import YOLO
# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")
# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")
# Export to ONNX for seamless deployment
model.export(format="onnx")より新しいアーキテクチャを探る#
YOLOv5とYOLOv9はそれぞれ明確な利点を持つ優れたモデルですが、この分野は進化を続けています。新しいプロジェクトを検討しているユーザーは、Ultralytics の最新世代モデルも評価するとよいでしょう。
- YOLO11: YOLOv8 系譜から進化した、強力かつ洗練されたモデルで、あらゆるビジョンタスクにおいて優れた速度と精度のバランスを提供します。
- YOLO26: 2026年にリリースされた YOLO26 は、最新のパイプラインに最適な推奨モデルです。エンドツーエンドのNMSフリーデザインを導入し、後処理のボトルネックを完全に排除します。DFLの削除(Distribution Focal Loss を削除してエクスポートを簡素化し、エッジデバイスや低消費電力デバイスとの互換性を向上)により、CPU推論を最大43%高速化します。新しいMuSGD Optimizerによってトレーニングの安定性が大幅に向上し、ProgLoss + STALは損失関数を改善するとともに、小さな物体の認識も大きく向上させます。これは IoT、ロボティクス、航空画像において重要であり、エッジとクラウドの両方のデプロイに最も堅牢なアーキテクチャとなっています。
大規模なデータセットと複雑なデプロイパイプラインを管理するチームにとって、Ultralytics Platformを利用すると、これらの最先端モデルのトレーニング、追跡、デプロイを容易に行えるノーコードソリューションが得られます。