YOLOv5とYOLOv9の比較:詳細な技術的考察
コンピュータービジョンとリアルタイム物体検出の分野は、ここ数年で目覚ましい進歩を遂げました。実績があり、実戦で鍛え上げられたモデルと、新しい研究アーキテクチャのどちらを選択するかは、機械学習エンジニアにとって共通の課題です。本ガイドでは、YOLOファミリーの中でも非常に影響力のある2つのモデル、YOLOv5とYOLOv9を詳細に技術比較します。
制約のあるエッジデバイスへのデプロイ、高精度な特徴抽出の研究、あるいは複雑な物体検出パイプラインの構築など、いずれの目的であっても、これらのモデルのアーキテクチャのニュアンス、パフォーマンス指標、そしてエコシステムの違いを理解することは極めて重要です。
モデルの概要
アーキテクチャの比較に入る前に、各モデルの起源と主要な目的を理解しておくと役立ちます。
Ultralytics YOLOv5
Glenn Jocherによって開発され、2020年6月26日にUltralyticsからリリースされたYOLOv5は、開発者がビジョンモデルと対話する方法のパラダイムシフトを象徴するものでした。PyTorchフレームワークを全面的に採用することで、YOLOv5は、従来のDarknetベースのモデルにおける複雑なコンパイル手順を廃し、直感的でPythonを最優先したユーザーエクスペリエンスを実現しました。
- 作成者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020-06-26
- GitHub: YOLOv5リポジトリ
- ドキュメント: YOLOv5プラットフォームの概要
YOLOv5は、その使いやすさと多様なハードウェア環境における安定したパフォーマンスで知られています。検出だけでなく、画像分類やインスタンスセグメンテーションもサポートしています。
YOLOv9
台湾の中央研究院情報科学研究所のChien-Yao Wang氏とHong-Yuan Mark Liao氏によって導入されたYOLOv9は、ディープニューラルネットワークにおける情報ボトルネックの問題を軽減するため、アーキテクチャの理論に大きく焦点を当てています。
- 著者: Chien-Yao Wang および Hong-Yuan Mark Liao
- 組織: 台湾 中央研究院 情報科学研究所
- 日付: 2024-02-21
- Arxiv: 2402.13616
- GitHub: YOLOv9 Repository
- ドキュメント: YOLOv9 Documentation
YOLOv9の核となるのは、Programmable Gradient Information (PGI) と Generalized Efficient Layer Aggregation Network (GELAN) という2つの主要な理論的革新です。これらのコンセプトは、深層ネットワーク層全体で重要な空間的特徴を維持するのに役立ちます。
YOLOv5とYOLOv9は強力ですが、新しくリリースされたYOLO26は、速度と精度の究極のバランスを実現しています。エンドツーエンドのNMSフリー設計と最大43%の高速なCPU推論を特徴とするYOLO26は、現代のエッジコンピューティングや本番環境へのデプロイに強く推奨されます。
アーキテクチャと技術的な違い
これらのビジョンモデルの内部構造を理解することは、モデルデプロイ戦略を最適化するために不可欠です。
特徴抽出と情報の保持
YOLOv5はCross Stage Partial Network (CSPNet) バックボーンを利用しており、逆伝播中の正確な勾配フローを維持しながら、計算オーバーヘッドを効果的に削減します。この設計は、従来のGPU演算用に高度に最適化されており、重いTransformerベースの代替案と比較して、トレーニング中のメモリ要件を低く抑えることができます。
YOLOv9は、CSPNetの原則を拡張した汎用アーキテクチャであるGELANを導入しています。補助的な可逆ブランチであるPGIと組み合わせることで、YOLOv9は深い層において、正確な目的関数に必要なセマンティックデータが失われないようにします。これにより、YOLOv9は特に小さな物体に対して高い精度を達成できますが、複雑な補助ブランチが原因で、高度に制約されたエッジハードウェアへのエクスポートパイプラインが複雑になる場合があります。
メモリ要件と学習効率
トレーニングの効率性に関しては、YOLOv5は依然として非常に堅牢です。手入れの行き届いたUltralyticsエコシステムにより、YOLOv5モデルは消費するCUDAメモリが大幅に少なく、研究者はコンシューマーグレードのGPUでバッチサイズを最大化できます。YOLOv9は優れたパラメータ効率(サイズに対して高い精度)を実現していますが、最適化されたフレームワークを使用しない場合、トレーニングプロセスがよりリソースを消費する可能性があります。幸いなことに、YOLOv9をUltralytics APIに統合することで、YOLOv5の効率的なリソース管理に匹敵する性能に近づけることができます。
パフォーマンスとメトリクス
これらのアーキテクチャを客観的に評価するために、COCOのような標準データセットでのパフォーマンスを比較します。以下に、mAP (Mean Average Precision)、推論速度、パラメータ数などの指標の詳細な内訳を示します。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
表が示すように、YOLOv9は同等のティアでより高い生の精度を達成しており、その新しいアーキテクチャを反映しています。しかし、YOLOv5nは1.12msという非常に低いTensorRTレイテンシを維持しており、高速でローカライズされたエッジコンピューティングアプリケーションにおける根強い強みを示しています。
トレーニング手法と使いやすさ
今日、コンピュータービジョンを活用する真の利点は、ツールチェーンのアクセシビリティにあります。
Ultralyticsの利点
YOLOv9のようなモデルのオリジナルの研究リポジトリは基礎となるものですが、多くの場合、複雑な依存関係マトリックスやボイラープレートスクリプトが伴います。Ultralytics Python APIは、この複雑さを完全に抽象化します。Ultralyticsエコシステムを使用すれば、同一の統一された構文で、YOLOv5とYOLOv9の両方をトレーニング、評価、エクスポートできます。
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for fast deployment
model_v5 = YOLO("yolov5s.pt")
# Or leverage a YOLOv9 model for high-fidelity accuracy
model_v9 = YOLO("yolov9c.pt")
# Train seamlessly on custom data with automatic MLflow logging
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)
# Export the trained model to ONNX
model_v9.export(format="onnx")このシングルAPIアプローチは、選択したモデルに応じて、検出だけでなく姿勢推定や方向付きバウンディングボックス (OBB)もサポートする、計り知れない汎用性を提供します。さらに、Comet MLやWeights & Biasesなどのツールとの強力な統合が、トレーニングループに直接組み込まれています。
理想的な使用事例と実世界のアプリケーション
これらのアーキテクチャの選択は、主にハードウェアの制約と、アプリケーション領域に求められる精度に依存します。
YOLOv5を選択すべき場合
YOLOv5は、安定性、低いメモリフットプリント、極めて高いエクスポート互換性を優先するデプロイにおいて輝きを放つ、実戦で鍛えられたベテランモデルです。
- モバイルデプロイ: YOLOv5をTFLiteまたはCoreMLにエクスポートして、古いスマートフォンでオンデバイス推論を行うのは非常にシームレスです。
- レガシーエッジハードウェア: Raspberry Piや初期世代のNVIDIA Jetson Nanoのようなデバイスの場合、YOLOv5の単純な畳み込みは、スマートパーキング管理のようなアプリケーションに対して一貫したフレームレートを保証します。
- ラピッドプロトタイピング: コミュニティチュートリアル、カスタムの事前学習済み重み、大規模なデータセットの互換性が広範に利用可能なため、概念実証を検証するための最速の方法となっています。
YOLOv9を選択すべき場合
YOLOv9は、わずかに計算オーバーヘッドが増加しても、複雑な詳細を捉え、偽陰性を最小限に抑えることが絶対に重要なシナリオに最適です。
- 航空および衛星画像: PGIフレームワークは小さな物体の忠実度を維持するのに非常に長けており、ドローンベースの農業監視においてYOLOv9は優れています。
- 医療画像診断: 高解像度のスキャンで微細な異常や病変を検出する場合、GELANの正確な勾配フローが、リコールにおいて必要な優位性を提供します。
- ハイエンドの小売分析: 高密度な棚で重なり合う製品を追跡することは、YOLOv9の優れた特徴保持能力から大きな恩恵を受けます。
視野を広げる
YOLOv5とYOLOv9を比較することで、アーキテクチャが2020年から2024年にかけてどのように進化したかという明確な見通しが得られますが、AIの分野はこれまでになく速いスピードで動いています。究極のパフォーマンスの最前線を追求する開発者には、最新のYOLO26モデルを試すことを強くお勧めします。従来のNon-Maximum SuppressionをネイティブなエンドツーエンドNMSフリー設計に置き換え、高度なMuSGDオプティマイザーを利用することで、YOLO26は研究レベルの精度と実用レベルの速度の間のギャップを埋めます。DFL Removal(エクスポートの簡素化とエッジ/低電力デバイスへの適合性向上のため、Distribution Focal Lossを削除)により、YOLO26は最大43%高速なCPU推論を達成しており、エッジコンピューティングに最適です。さらに、ProgLoss + STALは、IoT、ロボット工学、航空画像に不可欠な、小さな物体の認識における著しい改善を伴う改良された損失関数を提供します。
また、これらのアーキテクチャをRT-DETRや非常に高性能なYOLO11のような他の最先端モデルと比較することにも関心があるかもしれません。統一されたUltralyticsフレームワークを使用すれば、どのモデルを選択しても、開発パイプラインはクリーンで効率的であり、拡張の準備が整った状態を維持できます。