YOLOv5とYOLOv9#
コンピュータービジョンとリアルタイム物体検出の分野は、ここ数年で目覚ましい進歩を遂げています。実績のあるモデルと新しい研究アーキテクチャのどちらを選ぶかは、機械学習エンジニアが直面する一般的な課題です。このガイドでは、YOLOファミリーの中でも特に大きな影響を与えた2つのモデル、YOLOv5とYOLOv9を包括的かつ技術的に比較します。
リソースが限られたエッジデバイスへのデプロイ、高精度な特徴抽出の研究、複雑な物体検出パイプラインの構築のいずれに取り組む場合でも、これらのモデルのアーキテクチャ上の違い、性能指標、エコシステムの違いを理解することが重要です。
モデルの概要#
アーキテクチャを比較する前に、各モデルの起源と主な目的を把握しておくと役立ちます。
Ultralytics YOLOv5#
Glenn Jocherが開発し、2020年6月26日にUltralyticsからリリースされたYOLOv5は、開発者によるビジョンモデルの利用方法に大きな変化をもたらしました。PyTorchフレームワークを全面的に採用することで、従来の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のリポジトリ
- ドキュメント: YOLOv9のドキュメント
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は特に小さな物体で高い精度を実現できますが、複雑な補助分岐によって、リソースが厳しく制約されたエッジハードウェア向けのエクスポートパイプラインが複雑になる場合があります。
メモリ要件とトレーニング効率#
学習効率に関しては、YOLOv5は非常に堅牢です。十分に整備されたUltralyticsエコシステムにより、YOLOv5モデルのCUDAメモリ消費を大幅に抑えられるため、研究者は一般消費者向けGPUでバッチサイズを最大化できます。YOLOv9はパラメーター効率(モデルサイズに対する精度)に優れていますが、最適化されたフレームワークを使用しない場合、学習により多くのリソースが必要になることがあります。幸い、YOLOv9をUltralytics APIに統合することで、リソース管理の効率がYOLOv5に近づきます。
パフォーマンスとメトリクス#
これらのアーキテクチャを客観的に評価するため、COCOなどの標準データセットで性能を比較します。以下では、mAP(平均適合率)、推論速度、パラメーター数などの指標を詳しく示します。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
表が示すように、同じ階層で比較すると、新しいアーキテクチャを反映してYOLOv9の生の精度が高くなっています。ただし、YOLOv5nはTensorRTで1.12msという非常に低いレイテンシを維持しており、ローカルなエッジコンピューティング用途における高い処理速度への対応力が今も優れていることを示しています。
学習手法と使いやすさ#
今日、コンピュータービジョンを活用する大きなメリットは、ツールチェーンを利用しやすいことです。
Ultralyticsの強み#
YOLOv9のようなモデルの研究用リポジトリは基盤として重要ですが、複雑な依存関係や定型的なスクリプトが伴うことも少なくありません。Ultralytics Python APIは、こうした複雑さを完全に抽象化します。Ultralyticsエコシステムを使えば、YOLOv5とYOLOv9の両方を、統一された同一の構文で学習、評価、エクスポートできます。
from ultralytics import YOLO
# 迅速なデプロイ用に学習済みYOLOv5モデルを読み込みます
model_v5 = YOLO("yolov5su.pt") # YOLOv5u: ultralyticsパッケージ向けのアンカーフリーYOLOv5重み
# または、YOLOv9モデルを活用して高精度を実現します
model_v9 = YOLO("yolov9c.pt")
# カスタムデータでシームレスに学習します
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)
# 学習済みモデルをONNXにエクスポートします
model_v9.export(format="onnx")この単一APIのアプローチは高い汎用性を備えており、選択したモデルに応じて、検出だけでなく姿勢推定や回転バウンディングボックス(OBB)にも対応します。さらに、Comet MLやWeights & Biasesなどのツールとの堅牢な連携機能が、学習ループに直接組み込まれています。
最適なユースケースと実際の応用例#
どちらのアーキテクチャを選ぶかは、主にハードウェアの制約と、アプリケーション領域で求められる精度によって決まります。
YOLOv5を選ぶ場合#
YOLOv5は実績豊富なモデルであり、安定性、メモリ使用量の少なさ、幅広いエクスポート互換性を重視するデプロイで力を発揮します。
- モバイルへのデプロイ: YOLOv5をLiteRTまたはCoreMLにエクスポートし、旧型スマートフォンでオンデバイス推論を実行する手順は非常に簡単です。
- 旧世代のエッジハードウェア: Raspberry Piや初期世代のNVIDIA Jetson Nanoのようなデバイスでは、YOLOv5のシンプルな畳み込みにより、スマートパーキング管理などのアプリケーションで安定したフレームレートを実現できます。
- 迅速なプロトタイピング: コミュニティによるチュートリアル、カスタム学習済み重み、幅広いデータセットとの互換性が充実しているため、概念実証を最も迅速に検証できます。
YOLOv9を選ぶ場合#
YOLOv9は、計算オーバーヘッドが多少増えても、詳細な特徴の捉えやすさと偽陰性の最小化が極めて重要な用途に適しています。
- 航空・衛星画像: PGIフレームワークは小さな物体の忠実度を維持するのに優れており、YOLOv9はドローンを活用した農業モニタリングに最適です。
- 医用画像診断: 高解像度スキャンで微細な異常や病変を検出する場合、GELANの正確な勾配フローが再現率の向上に役立ちます。
- ハイエンド小売分析: 商品が密集した棚で重なり合う商品を追跡する場合、YOLOv9の優れた特徴保持能力が大きな効果を発揮します。
視野を広げる#
YOLOv5とYOLOv9を比較すると、2020年から2024年にかけてのアーキテクチャの進化を明確に把握できますが、AI分野はこれまで以上の速さで進歩しています。最高水準の性能を求める開発者には、最新のYOLO26モデルを検討することを強くお勧めします。YOLO26は、従来の非最大値抑制に代わるネイティブのエンドツーエンドNMSフリー設計(nms=False)を選択肢として提供し、高度なMuSGDオプティマイザーを活用することで、研究レベルの精度と本番レベルの速度の隔たりを埋めます。DFLの削除(Distribution Focal Lossを削除してエクスポートを簡素化し、エッジデバイスや低消費電力デバイスとの互換性を向上)により、YOLO26はCPU推論を最大43%高速化し、エッジコンピューティングに最適です。さらに、ProgLoss + STALは損失関数を改良し、小さな物体の認識性能を大幅に向上させます。これはIoT、ロボティクス、航空画像で重要です。
RT-DETRや高性能なYOLO11など、ほかの最先端モデルとの比較にも関心があるかもしれません。統一されたUltralyticsフレームワークを活用すれば、どのモデルを選んでも、開発パイプラインを整理し、効率的かつスケーラブルに保つことができます。