YOLOv10とYOLOv7#
ここ数年のコンピュータービジョンの急速な進歩により、リアルタイムアプリケーション向けのアーキテクチャはますます効率化しています。YOLOv10とYOLOv7を比較すると、この進化における重要な転換期がわかります。YOLOv7は効果的なトレーニング戦略とアーキテクチャのスケーリングを導入しましたが、YOLOv10は長年依存されてきた非最大抑制(NMS)を排除し、デプロイを一新しました。
どちらのモデルも、リリース当時に物体検出の限界を押し広げました。しかし、現在のUltralyticsエコシステムとYOLO26のような次世代モデルの登場により、今日のAI実務者ははるかに優れたワークフローを利用できます。
モデルの概要と起源#
これらのモデルの起源を理解することは、アーキテクチャ設計の選択や、それを支える学術研究を把握するうえで役立ちます。
YOLOv10の詳細#
- 著者: Ao Wang、Hui Chen、Lihao Liuほか
- 組織: 清華大学
- 日付: 2024-05-23
- Arxiv: YOLOv10:リアルタイムのエンドツーエンド物体検出
- GitHub: THU-MIG/yolov10
- ドキュメント: Ultralytics YOLOv10ドキュメント
YOLOv7の詳細#
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 台湾、中央研究院情報科学研究所
- 日付: 2022-07-06
- Arxiv: YOLOv7:トレーニング可能なbag-of-freebiesが最先端を更新
- GitHub: WongKinYiu/yolov7
- ドキュメント: Ultralytics YOLOv7ドキュメント
アーキテクチャの革新#
YOLOv7の手法#
2022年にリリースされたYOLOv7は、勾配経路の最適化に重点を置いていました。拡張効率的レイヤー集約ネットワーク(E-ELAN)を導入し、元の勾配経路を損なうことなく、モデルがより多様な特徴を学習できるようにしました。さらに著者らは「トレーニング可能なbag-of-freebies」手法を実装しました。トレーニング時に再パラメーター化技術を用い、推論時にはそれらを融合して高速な実行を維持します。こうした優れた最適化にもかかわらず、YOLOv7は後処理でNMSに大きく依存していたため、密集したシーンの解析時にレイテンシが変動していました。
YOLOv10のブレークスルー#
YOLOv10はNMSのボトルネックに直接対処しました。トレーニング時に一貫性のあるデュアルアサインメントを導入することで、清華大学のチームはNMSフリーのエンドツーエンド検出を実現しました。このデュアルヘッド方式では、トレーニング中に豊富な教師信号を得るため、1つのブランチで1対多のアサインメントを使用し、もう1つのブランチでNMSフリー推論向けの1対1のアサインメントを使用します。このアーキテクチャの転換により、高速ビデオ解析に適した、一貫性のある極めて低い推論レイテンシを実現します。さらにYOLOv10は、効率と精度を総合的に考慮したモデル設計を採用し、旧世代に見られた計算の冗長性を取り除いています。
NMSの後処理をなくすことで推論が高速化するだけでなく、カスタムNMS処理のコンパイルが非常に難しいAIアクセラレーターやNPUなど、エッジAIハードウェアへのデプロイも大幅に簡素化されます。
パフォーマンス比較#
MS COCOデータセットの生の指標を比較すると、世代間の差は明らかです。YOLOv10は、パラメーター数、計算要件、精度の間で、より優れたトレードオフを実現しています。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
前述のとおり、YOLOv10xはYOLOv7xの53.1%に対して、より高い54.4%のmAPを達成しながら、パラメーター数を半分未満(29.5M対71.3M)に抑えています。さらに、軽量なYOLOv10モデル(NanoとSmall)は優れたTensorRTデプロイ速度を実現するため、モバイルへのデプロイに非常に適しています。
Ultralyticsエコシステムの利点#
アーキテクチャに関する論文を読むことは有益ですが、現代のコンピュータービジョン開発には、堅牢で適切に保守されたフレームワークが欠かせません。Ultralyticsがサポートするモデルを選べば、プロトタイプから本番環境へ迅速に移行したい開発者に大きな利点があります。
効率化された開発#
YOLOv10は標準のUltralytics Pythonパッケージでネイティブにサポートされています。一方、上流でトレーニングされたYOLOv7のチェックポイントをUltralyticsで実行するには、ONNXまたはTensorRTへのエクスポートが必要です。ネイティブサポートにより、何千行もの定型コードをシンプルで直感的なAPIに置き換え、比類のない使いやすさを実現します。さらに、Ultralytics YOLOモデルは、重いTransformerアーキテクチャと比べてトレーニング時のCUDAメモリ使用量が大幅に少ないため、コンシューマー向けハードウェアでより大きなバッチサイズを使用できます。
比類ない多用途性#
従来のリポジトリがバウンディングボックス検出に特化していることが多いのに対し、統合されたUltralyticsフレームワークは幅広いタスクをシームレスにサポートします。インスタンスセグメンテーション、姿勢推定、方向付きバウンディングボックス(OBB)検出のいずれを行う場合も、ワークフローは同じです。
コード例:一貫したトレーニングワークフロー#
次のコードスニペットでは、データ拡張と学習率スケジューリングを自動的に処理する、シームレスなトレーニングプロセスを紹介します。
from ultralytics import YOLO
# 目的のモデルを読み込みます(例:YOLOv10または推奨モデルのYOLO26)
model = YOLO("yolo26n.pt")
# データセットでモデルを簡単にトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# 迅速なデプロイに向けてONNX形式にエクスポートします
model.export(format="onnx")ユースケースと推奨事項#
YOLOv10とYOLOv7のどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムの好みによって決まります。
YOLOv10を選ぶ場合#
YOLOv10は、次の用途に適しています:
- NMSを使用しないリアルタイム検出: 非最大抑制を使用しないエンドツーエンド検出によって、デプロイを簡素化できるアプリケーション。
- 速度と精度のバランス: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが必要なプロジェクト。
- レイテンシーが安定している必要のあるアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。
YOLOv7を選ぶ場合#
YOLOv7は次の用途におすすめです。
- 学術的なベンチマーク: 2022年当時の最先端の結果を再現する場合、またはE-ELANやトレーニング可能なbag-of-freebies技術の効果を研究する場合。
- 再パラメーター化の研究: 計画的な再パラメーター化畳み込みや、複合モデルスケーリング戦略を調査する場合。
- 既存のカスタムパイプライン: YOLOv7固有のアーキテクチャを中心に高度にカスタマイズされ、容易にリファクタリングできないパイプラインを使用するプロジェクト。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
新たなスタンダード:YOLO26の紹介#
YOLOv10は2024年に大きな進歩を遂げましたが、コンピュータービジョンの状況は非常に速く変化します。新規開発には、最新世代のモデルであるUltralytics YOLO26を強くおすすめします。2026年1月にリリースされたYOLO26は、リアルタイムビジョンAIの最高峰であり、YOLOv7とYOLOv10の両方を大きく上回ります。
YOLO26は、最新のデプロイ環境に特化した革新的な機能を備えています。
- エンドツーエンドのNMSフリーデザイン: YOLOv10が築いた基盤を発展させ、YOLO26のオプションの1対1ヘッド(
nms=False)はNMSの後処理をなくし、デプロイパイプラインを簡素化して、一貫した高速推論を実現します。 - CPU推論が最大43%高速化: エッジコンピューティングや専用GPUのないデバイス向けに高度に最適化されており、ハードウェアコストを大幅に削減できます。
- DFLの削除: Distribution Focal Lossを完全に削除したことで、エクスポートのロジックが大幅に簡素化され、低消費電力のエッジデバイスやマイクロコントローラーとの互換性が大きく向上します。
- MuSGDオプティマイザー: Moonshot AIのKimi K2に着想を得たSGDとMuonのハイブリッドであり、大規模言語モデル(LLM)のトレーニングにおける革新をコンピュータービジョンに直接取り入れ、非常に安定したトレーニング動態と速い収束を実現します。
- ProgLoss + STAL: これらの高度な損失関数は、小物体認識を大きく改善します。これは従来から難しい課題であり、ドローン、ロボティクス、スマートシティの監視で重要です。
- タスク固有の改善: YOLO26は単なる検出器ではありません。専用のセマンティックセグメンテーション損失、非常に正確な姿勢推定を実現する残差対数尤度推定(RLE)、OBBの境界に関する問題を解消する専用の角度損失アルゴリズムを備えています。
データセットの管理、YOLO26のトレーニング、クラウドへのモデルのデプロイを最適に行うには、Ultralytics Platformをご利用ください。Python SDKを補完する、コード不要のインターフェースを提供します。
実際のユースケース#
適切なアーキテクチャの選択は、ハードウェアとアプリケーション上の制約に大きく左右されます。
YOLOv7を使用する場合#
YOLOv7は、特定のテンソル構造と深く統合済みのレガシーパイプラインを維持する場合や、2022年および2023年の学術ベンチマークを再現する場合に、引き続き信頼できる選択肢です。ハイエンドのサーバーGPUでも優れた性能を発揮します。
YOLOv10を使用する場合#
YOLOv10は、厳密で変動しないレイテンシが求められる状況で優れた性能を発揮します。NMSフリーであるため、群衆密度が高い場所での人数カウントや、物体数が大きく変動してもフレームごとの処理時間を一定に保つ必要がある製造不良検出に最適です。
YOLO26を使う場面#
YOLO26は、ゼロから始めるあらゆるプロジェクトに最適な選択肢です。標準的なRaspberry Piで高度なセキュリティアラームシステムを動かす場合から、大規模なクラウドベースのビデオ解析まで、優れたCPU速度と高度な小物体検出により、旧世代のモデルを大幅に上回ります。
ほかの最新アーキテクチャを検討する開発者向けに、RT-DETRのようなTransformerベースの検出器や、前世代の定番であるUltralytics YOLO11も幅広くサポートしています。