YOLOv5 .YOLOv9:リアルタイム物体検出の進化
リアルタイム物体検出の分野は、ここ数年で劇的に進化した。一方で YOLOv5 が2020年に実用性と産業導入の基準を確立した一方で、 YOLOv9 は2024年に革新的なアーキテクチャ概念を導入し、精度と効率性の限界を押し広げました。本ガイドでは詳細な技術比較を提供し、開発者が自身のコンピュータビジョンプロジェクトに適したツールを選択する手助けをします。
モデル起源と技術仕様
これらのモデルの由来を理解することは、その設計思想と想定される使用事例を文脈化するのに役立つ。
YOLOv5:産業標準
グレン・ジョチャーと UltralyticsによってYOLOv5 、使いやすさ、エクスポート可能性、そして速度をYOLOv5 。これはPyTorchでネイティブ実装された最初のYOLO となりました。 PyTorchで実装された初のYOLOモデルとなり、膨大なPython コミュニティが利用可能となりました。
- Author: Glenn Jocher
- 組織:Ultralytics
- 日付: 2020-06-26
- リポジトリ:GitHub
- 焦点:ユーザビリティ、堅牢なエクスポート経路(ONNX、CoreML、TFLite)、および高速トレーニング。
YOLOv9: アーキテクチャの革新
2024年2月に中央研究院の王建耀(Chien-Yao Wang)と廖宏源(Hong-Yuan Mark Liao)によってYOLOv9 、深層ネットワークにおける「情報ボトルネック」問題の解決にYOLOv9 。
- 著者: Chien-Yao Wang、Hong-Yuan Mark Liao
- 組織: 中央研究院 情報科学研究所
- 日付: 2024-02-21
- リポジトリ:GitHub
- 論文:arXiv:2402.13616
- 焦点:プログラマブル勾配情報(PGI)を用いたパラメータ効率と深層教師あり学習
アーキテクチャの違い
これらのモデルの中核的な違いは、特徴抽出と勾配の流れをどのように扱うかにある。
YOLOv5 CSPNet(Cross Stage Partial Network)バックボーンを採用しています。この設計は勾配の流れを分割することで、精度を維持しながら計算量を削減し、組み込みシステムに適したコンパクトなモデル作成において画期的でした。そのアンカーベースの検出ヘッドは汎用タスク向けに高度に最適化されており、多くの従来型アプリケーションにおいて競争力のあるバランスを提供します。
YOLOv9 2つの主要な革新を導入:GELAN(汎用効率的層集約ネットワーク)とPGI(プログラマブル勾配情報)。GELANはパラメータ利用率を最適化し、より複雑な特徴を学習しながらモデルの軽量化を実現。PGIは補助的教師信号分岐を提供することで、データが深層を通過する際に生じる情報損失に対処し、非常に深いアーキテクチャにおいても信頼性の高い勾配生成を保証する。
ご存知でしたか?
YOLOv9 アーキテクチャの斬新さをYOLOv9 一方で、 Ultralytics YOLOv5 のエコシステムは、デプロイメントにおいて依然として比類のない存在です。TensorRT TPUといったフォーマットへのエクスポートをネイティブにサポートしており、トレーニングから本番環境への移行プロセスを簡素化します。
パフォーマンス分析
メトリクスを比較すると、YOLOv9 特定のパラメータ数において、特に大規模モデルバリエーションでYOLOv9 高いmAPvalを達成する。しかし、YOLOv5 よりシンプルなアーキテクチャのため、CPUやレガシーハードウェア上での推論速度においてYOLOv5 非常に競争力YOLOv5 。
ベンチマーク指標
以下の表はトレードオフを強調している。YOLOv9cは53.mAPを達成し、YOLOv5x(50.7%)を上回ると同時に、大幅に少ないパラメータ(25.3M対97.2M)を使用している。 これはGELANアーキテクチャの効率性を示しています。一方、YOLOv5 (NanoおよびSmall)は極めて低いレイテンシを実現し、超低消費電力デバイスへの適用を可能にします。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 86.7 | 205.7 |
| 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 |
注:この表は標準COCO メトリクスを反映しています。太字の値はその特定のカテゴリにおける最高のパフォーマンスを示します。
使いやすさとエコシステム
この区別が開発者にとって最も実用的な場面となる。
Ultralytics (YOLOv5)
YOLOv5 開発者体験を重視してYOLOv5 。Ultralytics はシームレスなワークフローを提供します:
- シンプルAPI:数行のPythonコードでモデルを読み込み、学習させます。
- 統合ツール: Comet ClearMLなどの実験追跡ツールとの自動連携。
- デプロイメント:ワンクリックで ONNX、CoreML、TFLite、OpenVINO。
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model
model = YOLO("yolov5su.pt")
# Train on custom data
model.train(data="coco8.yaml", epochs=100)
# Export to ONNX for deployment
model.export(format="onnx")
YOLOv9
非常に高精度である一方、YOLOv9 研究向けです。しかし、YOLOv9 Ultralytics 完全にYOLOv9 、この新しいアーキテクチャにも同様の使いやすさをもたらしています。つまり、最新のアーキテクチャ改良を利用するために使いやすさを犠牲にする必要はなく、モデル名の文字列を切り替えるだけで済みます。
トレーニング効率とメモリ
Ultralytics (YOLOv5 統合されたYOLOv9を含む)の重要な利点は、メモリ効率である。
- GPU : Ultralytics ループはCUDA 最小化するよう最適化されています。これにより、メモリ消費量の多いトランスフォーマーベースのモデルと比較して、NVIDIA 3060/4090などのコンシューマー向けハードウェア上でより大きなバッチサイズでのトレーニングが可能となります。
- 収束性: YOLOv5 「箱から出してすぐに学習可能」な能力でYOLOv5 、最小限のハイパーパラメータ調整しか必要としない。PGI補助ブランチをYOLOv9、アーキテクチャがより複雑であるにもかかわらず、安定した収束性を示している。
現実世界のアプリケーション
適切なモデルの選択は、導入上の制約条件によって異なります。
YOLOv5の理想的なユースケース
- レガシーハードウェア上のエッジAI:古いRaspberry Piモデルやモバイルデバイスに展開する場合、推論レイテンシが1ミリ秒単位で重要となる環境では、YOLOv5n(Nano)が圧倒的な性能を発揮します。
- ラピッドプロトタイピング:ハッカソンやスタートアップが数時間で概念実証(PoC)を必要とする場合、YOLOv5 豊富なドキュメントとコミュニティチュートリアルが開発をYOLOv5 。
- モバイルアプリ:ネイティブサポート iOS CoreML およびAndroid TFLite のネイティブサポートにより、モバイル開発者にとって必須のツールTFLite 。
YOLOv9の理想的な使用例
- 高精度検査:微細な欠陥の検出が重要な製造品質管理において、GELANの優れた特徴抽出能力YOLOv9 優れた選択肢とする。
- 医療画像処理: 腫瘍検出など、純粋な速度よりも精度が最優先されるタスクにおいて、YOLOv9eは必要なmAP を提供する。
- 複雑なシーン:遮蔽や雑多な要素が多い環境では、深層を通じても重要な情報を保持するプログラマブル勾配が効果を発揮する。
未来: YOLO26の展望
YOLOv5 信頼性の高い主力YOLOv5 、YOLOv9 高い精度YOLOv9 、この分野はさらに進化を遂げています。2026年に開始される新規プロジェクトにおいては、Ultralytics 性能と効率性の頂点を示しています。
YOLO26にアップグレードする理由
- ネイティブのエンドツーエンド処理: YOLOv5 v9がNMS 必要とするのとは異なり、YOLO26はNMSであり、デプロイメントパイプラインを簡素化します。
- MuSGDオプティマイザ:LLMトレーニングに着想を得たこのオプティマイザは、より高速で安定したトレーニングを保証します。
- 汎用性:検出、セグメンテーション、姿勢推定、OBB、分類を標準でサポート。
現在YOLOv5をご利用中のユーザー様には、YOLO26への移行により大幅な高速化(CPU 最大43%高速化)とProgLoss + STALによる小型物体検出性能の向上が実現されます。これにより、エッジおよびクラウド展開の両方において推奨される移行先となります。
結論
両方のアーキテクチャにはそれぞれの役割がある。 YOLOv5 は、シンプルさと幅広いデバイス互換性において依然として王者であり、「ただ動く」ソリューションを必要とする開発者に最適です。 YOLOv9 は、プログラム可能な勾配により効率的な深層学習の未来を垣間見せるとともに、最先端の精度を実現している。
ただし、Ultralytics を利用すれば、特定のベンダーに縛られることはありません。YOLOv5、YOLOv9、そして最先端のYOLO26をまったく同じAPIでトレーニングできます。これにより、自社データで各モデルをベンチマークし、特定の用途に最適なモデルを選択することが可能になります。
比較概要
| 機能 | YOLOv5 | YOLOv9 |
|---|---|---|
| 主な焦点 | 速度、使いやすさ、導入 | 精度、パラメータ効率 |
| アーキテクチャ | CSPNet バックボーン、アンカーベース | GELAN バックボーン、PGI、アンカーベース |
| エコシステム | Ultralytics ティブUltralyticsサポート | Ultralyticsに統合 |
| 最適な用途 | モバイル、エッジ、レガシーシステム | 高精度研究、複雑なシーン |
| 推論 | 超高速(GPU) | 高精度 / 低速 |
Ultralytics の他のモデルを探索してください: