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フレームワーク上にネイティブ構築された初期の物体検出モデルの一つとして、旧式の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.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 |
| 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 |
トレードオフの分析#
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、LiteRT形式に変換できます。
タスクへの対応力#
両モデルとも物体検出に優れていますが、最新のUltralyticsモデルは多様なコンピュータービジョンの課題に対応できるよう設計されています。より広範なフレームワークは、画像分類、インスタンスセグメンテーション、姿勢推定、回転バウンディングボックス(OBB)をネイティブにサポートするため、開発者はコードベースを切り替えることなく、複数のビジョンタスクに取り組めます。
ユースケースと推奨事項#
YOLOv9とYOLOv5のどちらを選ぶかは、プロジェクトの具体的な要件、デプロイの制約、エコシステムの好みによって異なります。
YOLOv9を選ぶ場合#
YOLOv9が適している用途:
- 情報ボトルネックの研究: プログラム可能な勾配情報(PGI)や一般化効率的層集約ネットワーク(GELAN)のアーキテクチャを研究する学術プロジェクト。
- 勾配フロー最適化の研究: 学習中の深層ネットワーク層における情報損失の理解と抑制に焦点を当てた研究。
- 高精度検出のベンチマーク: アーキテクチャの比較において、YOLOv9の優れたCOCOベンチマーク性能を基準として必要とするシナリオ。
YOLOv5を選ぶ場合#
YOLOv5は、次のような場合に推奨されます。
- 実績のある本番システム: YOLOv5の長年にわたる安定性の実績、充実したドキュメント、幅広いコミュニティサポートが重視される既存のデプロイ環境です。
- リソースが限られたトレーニング: GPUリソースが限られており、YOLOv5の効率的なトレーニングパイプラインと低いメモリ要件が有利となる環境です。
- 幅広いエクスポート形式への対応: ONNX、TensorRT、CoreML、LiteRTなど、多様な形式でのデプロイが必要なプロジェクトです。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
実装例#
Ultralyticsエコシステムの利点は、重みの文字列を変更するだけで、YOLOv5モデルとYOLOv9モデルを簡単に切り替えられることです。
from ultralytics import YOLO
# 事前学習済みのYOLOv9モデルを読み込みます(YOLOv5uを使用するには"yolov5su.pt"に置き換えます)
model = YOLO("yolov9c.pt")
# カスタムデータセットでモデルを効率的にトレーニングします
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 新しい画像で推論を実行します
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")
# スムーズなデプロイに向けてONNXにエクスポートします
model.export(format="onnx")新しいアーキテクチャを探る#
YOLOv5とYOLOv9はそれぞれ明確な強みを持つ優れたモデルですが、この分野は進化を続けています。新しいプロジェクトに取り組むユーザーは、Ultralyticsの最新モデルも評価するとよいでしょう。
- YOLO11: YOLOv8の系譜を受け継いで洗練させた強力なモデルで、あらゆるビジョンタスクで優れた速度と精度のバランスを実現します。
- YOLO26: 2026年にリリースされたYOLO26は、最新のパイプラインに最適なモデルです。オプションのエンドツーエンドNMSフリーデザイン(
nms=False)を導入し、NMSの後処理によるボトルネックを解消します。DFL Removal(Distribution Focal Lossを削除し、エクスポートを簡素化してエッジデバイスや低電力デバイスとの互換性を向上)により、CPU推論を最大43%高速化します。新しいMuSGD Optimizerによってトレーニングの安定性を大幅に高め、ProgLoss + STAL(Progressive Loss and Small-Target-Aware Label Assignment)によって小規模オブジェクトの認識性能を大きく向上させます。これはIoT、ロボティクス、航空画像に重要であり、エッジとクラウドの両方へのデプロイに最も堅牢なアーキテクチャとなっています。
大規模なデータセットや複雑なデプロイパイプラインを管理するチームには、Ultralytics Platformを利用することで、コード不要で最先端モデルのトレーニング、追跡、デプロイを簡単に実現できます。