YOLOv10とYOLOv7の比較#
ここ数年のコンピュータービジョンの急速な進歩により、リアルタイムアプリケーション向けのアーキテクチャはますます効率化されています。YOLOv10とYOLOv7を比較すると、この進化における重要な転換期が明らかになります。YOLOv7が非常に効果的なトレーニング戦略とアーキテクチャのスケーリングを導入した一方で、YOLOv10は長年にわたる非最大抑制(NMS)への依存を排除することで、デプロイメントに革新をもたらしました。
両モデルは、それぞれのリリース時点で物体検出の限界を押し広げましたが、現代のUltralyticsエコシステムとYOLO26のような次世代モデルの登場により、今日のAI実務者にとってはるかに優れたワークフローが提供されています。
モデルの概要と起源#
これらのモデルの起源を理解することは、アーキテクチャ設計上の選択と、それを支える学術研究を理解するうえで有益な背景となります。
YOLOv10の詳細#
- 著者: Ao Wang、Hui Chen、Lihao Liu、ほか
- 組織: 清華大学
- 日付: 2024-05-23
- Arxiv: YOLOv10: Real-Time End-to-End Object Detection
- GitHub: THU-MIG/yolov10
- ドキュメント: Ultralytics YOLOv10 Documentation
YOLOv7の詳細#
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 台湾中央研究院情報科学研究所
- 日付: 2022-07-06
- Arxiv: YOLOv7: Trainable bag-of-freebies sets new state-of-the-art
- GitHub: WongKinYiu/yolov7
- ドキュメント: Ultralytics YOLOv7 Documentation
アーキテクチャのイノベーション#
YOLOv7のアプローチ#
2022年にリリースされたYOLOv7は、勾配経路の最適化に重点を置きました。拡張効率的レイヤー集約ネットワーク(E-ELAN)を導入し、元の勾配経路を破壊することなく、モデルがより多様な特徴を学習できるようにしました。さらに著者らは「トレーニング可能なbag-of-freebies」手法を実装し、トレーニング中に再パラメータ化技術を使用しました。この技術は推論時に融合して取り除くことができ、高速な実行速度を維持できます。これらの優れた最適化にもかかわらず、YOLOv7は後処理でNMSに大きく依存していたため、高密度なシーンの解析時にレイテンシーが変動していました。
YOLOv10のブレークスルー#
YOLOv10はNMSのボトルネックに直接対処しました。トレーニング中に一貫性のあるデュアル割り当てを導入することで、清華大学のチームはNMSなしのエンドツーエンド検出を実現しました。このデュアルヘッドアプローチでは、トレーニング中に豊富な教師信号を得るためのone-to-many割り当てを使用するブランチと、NMSなしの推論のためにone-to-one割り当てを使用する別のブランチを採用しています。このアーキテクチャの転換により、高速動画分析に適した、一貫性のある超低推論レイテンシーが実現します。さらにYOLOv10は、効率と精度を総合的に重視したモデル設計を採用し、従来世代に存在した計算上の冗長性を取り除いています。
NMSの後処理を削除すると、推論が高速化するだけでなく、AIアクセラレーターやNPUなど、カスタムNMS処理のコンパイルが非常に難しいエッジAIハードウェアへのデプロイメントも大幅に簡素化されます。
性能比較#
MS COCOデータセットで生のメトリクスを比較すると、世代間の差が明らかになります。YOLOv10は、パラメーター数、計算要件、精度の間で、より優れたトレードオフを実現しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 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を達成しながら、パラメーター数を約20%削減しています。さらに、軽量なYOLOv10モデル(NanoおよびSmall)は、優れたTensorRTデプロイメント速度を提供するため、モバイルデプロイメントに非常に適しています。
Ultralyticsエコシステムの優位性#
アーキテクチャに関する論文を読むことは有益ですが、現代のコンピュータービジョン開発では、堅牢で適切に保守されたフレームワークが必要です。Ultralyticsがサポートするモデルを選択することで、プロトタイプから本番環境へ迅速に移行したい開発者は大きなメリットを得られます。
開発の効率化#
YOLOv10とYOLOv7は、どちらも標準のUltralytics Pythonパッケージから利用できます。これにより、数千行に及ぶボイラープレートコードがシンプルで直感的なAPIに置き換えられ、比類のない使いやすさが実現します。さらに、Ultralytics YOLOモデルは、重いTransformerアーキテクチャと比較してトレーニング中に必要なCUDAメモリが大幅に少ないため、一般向けハードウェアでもより大きなバッチサイズを使用できます。
比類のない汎用性#
従来のリポジトリではバウンディングボックス検出に厳密に焦点を当てることが多い一方で、統合されたUltralyticsフレームワークは多種多様なタスクをシームレスにサポートします。インスタンスセグメンテーション、ポーズ推定、方向付きバウンディングボックス(OBB)検出のいずれを実行する場合でも、ワークフローは同一です。
コード例:一貫したトレーニングワークフロー#
次のコードスニペットは、データ拡張と学習率スケジューリングを自動的に処理する、シームレスなトレーニングプロセスを示しています。
from ultralytics import YOLO
# Load the desired model (YOLOv10, YOLOv7, or the recommended YOLO26)
model = YOLO("yolo26n.pt")
# Train the model effortlessly on your dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Export to ONNX format for rapid deployment
model.export(format="onnx")ユースケースと推奨事項#
YOLOv10とYOLOv7のどちらを選ぶかは、プロジェクト固有の要件、デプロイメント上の制約、エコシステムに関する好みによって決まります。
YOLOv10を選択する場合#
YOLOv10は次の用途に適しています:
- NMSフリーのリアルタイム検出: Non-Maximum Suppressionを使用しないエンドツーエンド検出のメリットを活かし、デプロイの複雑さを軽減できるアプリケーション。
- 速度と精度のバランスの取れたトレードオフ: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが求められるプロジェクト。
- レイテンシが一貫したアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。
YOLOv7を選ぶタイミング#
YOLOv7は次の場合に推奨されます。
- 学術ベンチマーク: 2022年当時の最先端の結果を再現する場合、またはE-ELANとトレーニング可能なbag-of-freebies技術の効果を研究する場合。
- 再パラメータ化研究: 計画された再パラメータ化畳み込みと、複合モデルスケーリング戦略を調査する場合。
- 既存のカスタムパイプライン: YOLOv7固有のアーキテクチャを中心に構築され、容易にリファクタリングできない高度にカスタマイズされたパイプラインを持つプロジェクト。
Ultralytics (YOLO26)を選ぶタイミング#
ほとんどの新規プロジェクトでは、Ultralytics YOLO26が性能と開発者エクスペリエンスの最適な組み合わせを提供します。
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
- CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。
新たな標準: YOLO26の紹介#
YOLOv10は2024年に大きな飛躍を遂げましたが、コンピュータービジョンの状況は非常に速く変化しています。新規開発では、最新世代のモデルであるUltralytics YOLO26を強く推奨します。2026年1月にリリースされたYOLO26は、リアルタイムビジョンAIの頂点に位置し、YOLOv7とYOLOv10の両方を大幅に上回ります。
YOLO26は、現代のデプロイメント環境向けに特別に設計された、前例のない革新をもたらします。
- エンドツーエンドのNMSフリーデザイン: YOLOv10が築いた基盤を発展させ、YOLO26はNMS後処理をネイティブに排除し、デプロイメントパイプラインを簡素化するとともに、一貫した高速推論を実現します。
- 最大43%高速なCPU推論: 専用GPUを持たないエッジコンピューティングやデバイス向けに高度に最適化されており、ハードウェアコストを大幅に削減できます。
- DFLの削除: Distribution Focal Lossを完全に削除することで、エクスポートロジックを大幅に簡素化し、低消費電力のエッジデバイスやマイクロコントローラーとの互換性を大きく向上させています。
- MuSGDオプティマイザー: Moonshot AIのKimi K2に着想を得たSGDとMuonのハイブリッドであり、大規模言語モデル(LLM)のトレーニングにおける革新をコンピュータービジョンへ直接取り入れ、非常に安定したトレーニングダイナミクスと高速な収束を実現します。
- ProgLoss + STAL: これらの高度な損失関数は、小物体認識を大幅に改善します。小物体認識は従来から困難な領域ですが、ドローン、ロボティクス、スマートシティ監視において重要です。
- タスク固有の改善: YOLO26は単なる検出器ではありません。専用のセマンティックセグメンテーション損失、非常に高精度なポーズトラッキングを実現するResidual Log-Likelihood Estimation(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も幅広くサポートしています。