YOLOv9 vs 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) および Generalized Efficient Layer Aggregation Network (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推論が決定的な利点となります。
- 小物体の検出: 航空ドローンの映像 や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は、現代のパイプラインに対する究極の推奨モデルです。End-to-End NMS-Free Designを導入し、後処理のボトルネックを完全に排除しました。DFL Removal(エクスポートの簡素化とエッジ/低消費電力デバイスとの互換性向上のためにDistribution Focal Lossを削除)により、最大43%のCPU推論高速化を実現しています。新しいMuSGD Optimizerによってトレーニングの安定性が大幅に向上し、ProgLoss + STALが改良された損失関数を提供します。これにより、IoT、ロボティクス、航空画像に不可欠な小さなオブジェクトの認識精度が顕著に向上しており、エッジおよびクラウドデプロイメント双方において最も堅牢なアーキテクチャとなっています。
大規模なデータセットと複雑なデプロイパイプラインを管理するチームにとって、Ultralytics Platformを利用すれば、これらの最先端モデルを簡単にトレーニング、追跡、デプロイするためのノーコードソリューションが提供されます。