YOLOv10とYOLOv9#
リアルタイムコンピュータービジョンは、速度、精度、アーキテクチャ効率の継続的な進歩によって発展してきました。次のデプロイに向けて最新のソリューションを評価する際、YOLOv10とYOLOv9を比較すると、ディープラーニングのボトルネックに対する2つの異なるアプローチが見えてきます。YOLOv9はトレーニング時の勾配情報の流れを最大化する一方、YOLOv10はネイティブなエンドツーエンド設計により、従来の後処理の課題を完全に解消します。
この包括的なガイドでは、アーキテクチャ上の革新、性能指標、適したユースケースを分析し、開発者や研究者がコンピュータービジョンタスクに最適なモデルを選べるよう支援します。
YOLOv10: NMS不要のエンドツーエンド検出を切り開くモデル#
従来の物体検出器におけるレイテンシのボトルネックに対処するために開発されたYOLOv10は、非最大値抑制(NMS)を標準で不要にする画期的なエンドツーエンドアーキテクチャを導入しています。
技術情報と系譜:
- 著者: Ao Wang、Hui Chen、Lihao Liuほか
- 組織: 清華大学
- 日付: 2024年5月23日
- リンク: Arxivの論文、GitHubリポジトリ、Ultralyticsドキュメント
アーキテクチャと強み#
YOLOv10の分野における最も重要な貢献は、NMS不要のトレーニングを実現する一貫性のあるデュアルアサインメント戦略です。NMSをなくすことで、特に後処理がパイプライン全体のボトルネックになり得るエッジデバイスで、推論レイテンシを大幅に削減します。効率と精度の両面からさまざまなコンポーネントを最適化し、速度とパラメーター数の優れたトレードオフを実現しています。たとえばYOLOv10-Sは非常に高速で、高速な動画分析やリアルタイムのロボットナビゲーションに適しています。
弱点#
NMS不要の設計はバウンディングボックス検出における画期的な成果ですが、YOLOv10は主に純粋な物体検出器として最適化されています。インスタンスセグメンテーションや姿勢推定を標準でサポートする新しいエコシステムのような汎用性は備えていません。
YOLOv10を本番環境向けに準備する際は、必ずモデルをTensorRTやONNXなどの最適化された形式にエクスポートしてください。デプロイ時に未加工のPyTorch重みを使用すると、グラフ演算が最適化されていないため、推論速度が予想より遅くなることがあります。
YOLOv9:プログラム可能な勾配情報#
YOLOv10以前には、YOLOv9がディープニューラルネットワークに内在する情報ボトルネックの問題を解決するため、新しいアーキテクチャの概念を導入し、パラメーターを非常に効率よく活用できるようにしました。
技術情報と系譜:
- 著者: Chien-Yao Wang、Hong-Yuan Mark Liao
- 所属機関: 台湾、中央研究院情報科学研究所
- 日付: 2024年2月21日
- リンク: Arxivの論文、GitHubリポジトリ、Ultralyticsドキュメント
アーキテクチャと強み#
YOLOv9は、Programmable Gradient Information(PGI)とGeneralized Efficient Layer Aggregation Network(GELAN)を導入しています。PGIは、データがネットワークの深い層を通過する際に重要なターゲット情報が失われないようにし、重み更新に信頼性の高い勾配を生成します。GELANはネットワークのパラメーター効率を最大化します。これらの革新により、YOLOv9は平均適合率(mAP)においてMS COCOデータセットで非常に高い値を達成し、FLOPsが少なくても大規模なモデルを上回ることがよくあります。理論上の精度指標を最大化したい研究者にとって、優れたモデルです。
弱点#
高精度である一方、YOLOv9は標準的なNMS後処理を引き続き使用します。そのため、ニューラルネットワークの処理が高速でも、最終的なバウンディングボックスのフィルタリングでは、シーン内の物体密度に応じてレイテンシが変動することがあります。また、後発のモデルと比べてトレーニング時のメモリ消費が非常に大きく、カスタムデータセットでファインチューニングするには、より高性能なGPUリソースが必要です。
パフォーマンス比較#
以下の表は、両モデルの主要な指標を示しています。YOLOv10はTensorRTで通常レイテンシを低く抑える一方、YOLOv9は最大構成で精度の上限を押し上げている点に注目してください。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| 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 |
次世代モデル: YOLO26が最適な選択肢である理由#
YOLOv9とYOLOv10は優れた成果ですが、機械学習の分野は急速に進化しています。本番環境では、開発者が統合された、適切に保守されているUltralytics Platformのエコシステムを利用するケースが増えています。2026年現在、研究用途とエンタープライズ用途のどちらにも、新たにリリースされたYOLO26が明確な推奨モデルです。
YOLO26は、前世代モデルの基盤となる概念を引き継ぎ、合理化されたユーザーエクスペリエンス、シンプルなAPI、かさばるTransformerベースのアーキテクチャと比べてトレーニング時のメモリ要件を大幅に低減することで、さらに発展させています。
YOLO26の主な革新#
- エンドツーエンドNMS不要設計: YOLOv10の画期的な成果を発展させ、YOLO26はネイティブなエンドツーエンド推論に対応しています。
nms=Falseを使用してNMSの後処理を省くことで、デプロイを簡素化し、レイテンシを高い決定性で予測できるようにします。 - CPU推論が最大43%高速: 標準でエッジAIに最適化されており、専用GPUを搭載しない組み込みシステムに最適です。
- MuSGDオプティマイザー: SGDとMuonを組み合わせた画期的なハイブリッド方式です。大規模言語モデルの最適化に着想を得ており、非常に安定したトレーニングと極めて速い収束を実現します。
- DFLの削除: Distribution Focal Lossを削除することで、YOLO26はモデルのエクスポートを簡素化し、低消費電力デバイスやさまざまなエッジデプロイフレームワークとの互換性を大幅に高めます。
- タスク固有の機能強化: 単一タスクに特化した検出器とは異なり、YOLO26は幅広い用途に対応します。セマンティックセグメンテーション損失による高精度なピクセル単位の認識、Residual Log-Likelihood Estimation(RLE)による高精度な姿勢推定、専用の角度損失によるOBB(Oriented Bounding Box)の境界問題の解決を実現します。
実践的な実装#
Python SDKを使えば、これらのモデルのトレーニングとデプロイを簡単に行えます。以下の例では、ハイパーパラメーターのスケジューリングと最適なメモリ割り当てを自動処理する、Ultralyticsエコシステムの高効率なトレーニングプロセスの活用方法を示します。
from ultralytics import YOLO
# 推奨される最先端モデルを読み込みます
model = YOLO("yolo26n.pt") # 'yolov10n.pt'または'yolov9c.pt'にも対応しています
# カスタムデータセットでモデルを効率的にトレーニングします
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0, batch=16)
# 超高速の推論を実行します
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# エッジへのデプロイを簡素化するため、ONNXにエクスポートします
model.export(format="onnx")ユースケースと推奨事項#
YOLOv10とYOLOv9のどちらを選ぶかは、プロジェクト固有の要件、デプロイ時の制約、エコシステムの好みによって異なります。
YOLOv10を選ぶ場合#
YOLOv10は、次の用途に適しています:
- NMSを使用しないリアルタイム検出: 非最大抑制を使用しないエンドツーエンド検出によって、デプロイを簡素化できるアプリケーション。
- 速度と精度のバランス: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが必要なプロジェクト。
- レイテンシーが安定している必要のあるアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。
YOLOv9を選ぶ場合#
YOLOv9は、次のような用途に推奨されます。
- 情報ボトルネックの研究: プログラム可能な勾配情報(PGI)や一般化効率的層集約ネットワーク(GELAN)のアーキテクチャを研究する学術プロジェクト。
- 勾配フロー最適化の研究: 学習中の深層ネットワーク層における情報損失の理解と抑制に焦点を当てた研究。
- 高精度検出のベンチマーク: アーキテクチャの比較において、YOLOv9の優れたCOCOベンチマーク性能を基準として必要とするシナリオ。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
結論#
YOLOv9とYOLOv10には、それぞれ独自の強みがあります。YOLOv9は、ネットワークパラメーターの効率と理論上の勾配フローを最大化し、最高水準の精度を実現します。一方、YOLOv10はNMSによるレイテンシのペナルティなしにエンドツーエンドのバウンディングボックス検出を実現した、学術分野の先駆的モデルです。
ただし、性能、汎用性、使いやすさの理想的なバランスを求める開発者にとっては、最新モデルへのアップグレードが重要です。高度なMuSGDオプティマイザー、小物体検出を向上させるProgLoss + STAL機能、包括的なマルチタスク対応を備えたYOLO26は、現実世界のあらゆるコンピュータービジョン課題に対する最先端のソリューションです。