YOLOv10 vs YOLOv7: リアルタイム物体検出の進化
過去数年間のコンピュータビジョンの急速な発展により、リアルタイムアプリケーション向けのアーキテクチャはますます効率化しています。YOLOv10とYOLOv7の比較は、この進化における重要な転換期を浮き彫りにします。YOLOv7は非常に効果的な学習戦略とアーキテクチャの拡張性を導入しましたが、YOLOv10は長年依存してきたNon-Maximum Suppression (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ドキュメント
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ドキュメント
アーキテクチャの革新
YOLOv7のアプローチ
2022年にリリースされたYOLOv7は、勾配経路の最適化に大きく焦点を当てました。モデルが元の勾配経路を損なうことなく、より多様な特徴を学習できるようにするExtended Efficient Layer Aggregation Network (E-ELAN)が導入されました。さらに、著者らは「trainable bag-of-freebies」手法を実装し、学習中に再パラメータ化技術を利用して、推論時にそれを統合して高速な実行速度を維持しました。これらの優れた最適化にもかかわらず、YOLOv7は依然としてポスト処理にNMSを大きく依存しており、高密度なシーン分析において遅延の変動を生じさせていました。
YOLOv10のブレイクスルー
YOLOv10はNMSのボトルネックに直接対処しました。学習中に一貫したデュアルアサインメントを導入することで、清華大学の研究チームはNMS不要のエンドツーエンド物体検出を実現しました。このデュアルヘッドアプローチでは、学習中に豊富な監視信号を得るための「1対多」アサインメントを持つブランチと、NMS不要の推論を行うための「1対1」アサインメントを持つもう一つのブランチを使用します。このアーキテクチャの転換により、高速ビデオ分析に適した、一貫した超低推論遅延が保証されます。さらに、YOLOv10は全体的な効率と精度の向上を重視したモデル設計を採用しており、初期の世代で見られた計算上の冗長性を排除しています。
NMSポスト処理を排除することは、推論を高速化するだけでなく、AIアクセラレータやNPUなどのエッジAIハードウェア上でのデプロイメントを大幅に簡素化します。これらの環境では、カスタムNMSオペレーションのコンパイルが非常に困難なためです。
パフォーマンスの比較
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なしでエンドツーエンドの検出を行い、デプロイの複雑さを軽減できるアプリケーション。
- バランスの取れた速度と精度のトレードオフ: さまざまなモデルスケール全体で、推論速度と検出精度の強力なバランスが求められるプロジェクト。
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
YOLOv7を選択すべき場面
YOLOv7は以下の場合に推奨されます:
- 学術的なベンチマーク: 2022年当時の最先端結果を再現したり、E-ELANおよびtrainable bag-of-freebies技術の効果を研究する場合。
- 再パラメータ化の研究: 計画された再パラメータ化畳み込みや、複合モデルのスケーリング戦略を調査する場合。
- 既存のカスタムパイプライン: YOLOv7固有のアーキテクチャを中心に構築されており、容易にリファクタリングできない高度にカスタマイズされたパイプラインを持つプロジェクト。
Ultralytics (YOLO26) を選択すべき場合
ほとんどの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します:
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションがないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となります。
- 小物体の検出: 航空ドローンの映像 やIoTセンサーの分析など、ProgLossとSTALが小物体の精度を大幅に高めることができる困難なシナリオ。
新しい標準: YOLO26の紹介
YOLOv10は2024年に大きな飛躍を遂げましたが、コンピュータビジョンの分野は非常に急速に変化しています。すべての新規開発には、最新世代のモデルである Ultralytics YOLO26 を強く推奨します。2026年1月にリリースされたこのモデルは、リアルタイムビジョンAIの頂点であり、YOLOv7とYOLOv10の両方を大きく凌駕しています。
YOLO26は、現代のデプロイメント環境のために特別に設計された前例のないイノベーションをもたらします。
- エンドツーエンドNMSフリー設計: YOLOv10が築いた基盤の上に、YOLO26はNMSポスト処理をネイティブに排除し、よりシンプルなデプロイメントパイプラインと一貫した高速推論を実現しました。
- CPU推論が最大43%高速化: エッジコンピューティングや専用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のような前世代の主力モデルに対する広範なサポートも提供しています。