YOLOv10とYOLOv7の比較#
ここ数年におけるコンピュータビジョンの急速な進歩により、リアルタイムアプリケーション向けの高効率なアーキテクチャが次々と生み出されています。YOLOv10とYOLOv7の比較は、この進化における極めて重要な移行期を浮き彫りにしています。YOLOv7が非常に効果的な学習戦略とアーキテクチャのスケーリングを導入した一方、YOLOv10は非最大抑制(NMS)への長年の依存を排除することで、デプロイメントに革命をもたらしました。
両モデルはそれぞれのリリース時にobject detectionの限界を押し広げましたが、現代のUltralytics ecosystemやYOLO26のような次世代モデルの登場により、今日のAI実務者に向けてはるかに優れたワークフローが提供されます。
モデルのプロファイルと起源#
これらのモデルの起源を理解することは、そのアーキテクチャ設計の選択と、それらを推進する学術研究に関する貴重なコンテキストを提供します。
YOLOv10の詳細#
- 著者:Ao Wang, Hui Chen, Lihao Liu 他
- 組織:Tsinghua University
- 日付:2024-05-23
- Arxiv: YOLOv10: Real-Time End-to-End Object Detection
- GitHub: THU-MIG/yolov10
- Docs: Ultralytics YOLOv10 Documentation
YOLOv7の詳細#
- 著者: Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao
- 組織: Institute of Information Science, Academia Sinica, Taiwan
- 日付: 2022-07-06
- Arxiv: YOLOv7: Trainable bag-of-freebies sets new state-of-the-art
- GitHub: WongKinYiu/yolov7
- Docs: Ultralytics YOLOv7 Documentation
アーキテクチャの革新#
YOLOv7のアプローチ#
2022年にリリースされたYOLOv7は、勾配経路の最適化に大きく焦点を当てました。E-ELAN(Extended Efficient Layer Aggregation Network)を導入することで、元の勾配経路を破壊することなく、より多様な特徴を学習できるようになりました。さらに、トレーニング中に再パラメータ化技術を利用し、推論時にはそれを融合させて高速な実行速度を維持する「trainable bag-of-freebies」手法を実装しました。これらの目覚ましい最適化にもかかわらず、YOLOv7は後処理で依然としてNMSに大きく依存しており、高密度なシーン解析において遅延にばらつきが生じていました。
YOLOv10のブレイクスルー#
YOLOv10はNMSのボトルネックに直接対処しました。清華大学の研究チームは、学習時に一貫したデュアルアサインメントを導入することで、NMS不要のエンドツーエンド検出を実現しました。このデュアルヘッドアプローチでは、学習時に豊富な教師信号を得るための一対多アサインメントを持つ1つのブランチと、NMS不要の推論のための一対一アサインメントを持つもう1つのブランチを使用します。このアーキテクチャの変更により、高速なビデオ分析に適した、一貫性のある超低inference latencyが保証されます。さらに、YOLOv10は効率と精度の両立を重視した全体的なモデル設計を採用しており、前世代で見られた計算の冗長性を排除しています。
NMS後処理を削除したことで、推論速度が向上しただけでなく、AIアクセラレータやNPUといった、カスタムNMSオペレーションのコンパイルが非常に困難なエッジAIハードウェアへのデプロイが大幅に簡素化されました。
パフォーマンスの比較#
MS COCO dataset上の生メトリックを比較すると、世代間のギャップが明らかになります。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 deployment速度を提供するため、モバイルデプロイメントに非常に魅力的です。
Ultralyticsエコシステムの利点#
アーキテクチャに関する論文を研究することは有益ですが、現代のコンピュータビジョン開発は、堅牢で十分にメンテナンスされたフレームワークに依存しています。Ultralyticsがサポートするモデルを選択することは、プロトタイプから本番環境へ迅速に移行しようとする開発者にとって大きな利点となります。
合理化された開発#
YOLOv10とYOLOv7はどちらも、標準のUltralytics Pythonパッケージからアクセスできます。これにより、数千行のボイラープレートコードがシンプルで直感的なAPIに置き換わり、比類のない使いやすさを提供します。さらに、Ultralytics YOLOモデルは、重厚なTransformerアーキテクチャと比較して、トレーニング中のCUDAメモリ消費量が大幅に少なく、コンシューマー向けのハードウェアでも大きなバッチサイズを使用可能です。
比類なき汎用性#
古いリポジトリではバウンディングボックス検出に厳密に焦点を当てることが多いですが、統合されたUltralyticsフレームワークは多種多様なタスクをシームレスにサポートします。Instance Segmentation、Pose Estimation、またはOriented Bounding Box (OBB)のどの検出を実行する場合でも、ワークフローは同一のままです。
コード例: 一貫したトレーニングワークフロー#
次のコードスニペットは、data augmentationと学習率のスケジューリングを自動的に処理するシームレスな学習プロセスを示しています。
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(NMS)を使用しないエンドツーエンド検出のメリットを享受し、デプロイの複雑さを軽減できるアプリケーション。
- バランスの取れた速度と精度のトレードオフ: さまざまなモデルスケール全体で、推論速度と検出精度の強力なバランスを必要とするプロジェクト。
- 一貫したレイテンシが求められるアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が不可欠なデプロイシナリオ。
YOLOv7を選択すべき時#
YOLOv7は以下の場合に推奨されます:
- 学術的なベンチマーク: 2022年当時の最先端の結果を再現したり、E-ELANやtrainable bag-of-freebies技術の効果を研究したりする場合。
- 再パラメータ化の研究: 計画的な再パラメータ化畳み込みや複合モデルスケーリング戦略を調査する場合。
- 既存のカスタムパイプライン: YOLOv7固有のアーキテクチャを中心に構築され、容易にリファクタリングできない高度にカスタマイズされたパイプラインを持つプロジェクト。
Ultralytics (YOLO26) を選択すべき時#
ほとんどの新しいプロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します。
- NMSフリーのエッジ展開: Non-Maximum Suppression後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: GPUアクセラレーションを利用できないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となる場合。
- 小物体検出: ProgLossとSTALにより極小オブジェクトの精度が大幅に向上する、空中ドローン画像やIoTセンサー分析などの困難なシナリオ。
新しい標準: YOLO26の紹介#
YOLOv10は2024年に大きな飛躍を遂げましたが、コンピュータビジョンの状況は非常に速く変化しています。すべての新規開発において、最新世代モデルであるUltralytics YOLO26を強く推奨します。2026年1月にリリースされたこのモデルは、リアルタイムビジョンAIの頂点であり、YOLOv7およびYOLOv10の両方を大幅に上回っています。
YOLO26は、現代のデプロイメント環境向けに特別に設計された前例のない革新をもたらします。
- エンドツーエンドのNMSフリー設計: YOLOv10で築かれた基盤の上に構築されたYOLO26は、NMS後処理をネイティブに排除し、よりシンプルなデプロイメントパイプラインと一貫した高速推論を実現します。
- CPU推論が最大43%高速化: エッジコンピューティングや専用GPUを搭載していないデバイス向けに大幅に最適化されており、ハードウェアコストの大幅な節約を実現します。
- DFLの削除: Distribution Focal Loss(DFL)が完全に削除されました。これにより、エクスポートロジックが根本的に簡素化され、低電力エッジデバイスやマイクロコントローラーとの互換性が大幅に向上しました。
- MuSGD Optimizer: Moonshot AIのKimi K2にインスピレーションを得た、SGDとMuonのこのハイブリッドは、Large Language Model (LLM)の学習イノベーションをコンピュータビジョンに直接もたらし、信じられないほど安定した学習ダイナミクスとより高速な収束を実現します。
- ProgLoss + STAL: これらの高度な損失関数は、小型オブジェクトの認識における顕著な改善をもたらします。これは、ドローン、ロボット工学、smart city monitoringにとって不可欠な、歴史的に困難な領域です。
- タスク固有の改善: YOLO26は単なる検出モデルではありません。専門的なセマンティックセグメンテーション損失、超高精度な姿勢追跡のための残差対数尤度推定(RLE)、およびOBB境界の問題を排除するための専門的な角度損失アルゴリズムが含まれています。
データセットの管理、YOLO26の学習、およびクラウドへのモデルのデプロイにおいて最高の体験を得るには、Ultralytics Platformをご活用ください。Python SDKを完全に補完するノーコードインターフェースを提供します。
実際のユースケース#
適切なアーキテクチャの選択は、使用するハードウェアとアプリケーションの制約に大きく依存します。
YOLOv7を使用する場合#
YOLOv7は、特定のテンソル構造と深く統合されているレガシーパイプラインを維持する場合や、2022年および2023年の学術的なベンチマークを再現する場合に信頼できる選択肢です。ハイエンドのサーバーGPU上で素晴らしいパフォーマンスを発揮します。
YOLOv10を使用する場合#
YOLOv10は、厳格で変動のないレイテンシが要求されるシナリオで輝きを放ちます。NMSが不要であるため、オブジェクトの数が激しく変動する一方でフレームあたりの処理時間を一定に保つ必要がある、高密度な群衆カウントやmanufacturing defect detectionに最適です。
YOLO26 を使用するタイミング#
YOLO26は、新規プロジェクトにおける決定版です。基本的なRaspberry Piでの高度なsecurity alarm systemsのデプロイから大規模なクラウドベースのビデオ分析の実行まで、その優れたCPU速度と高度な小型オブジェクト検出により、旧世代よりも圧倒的に優れています。
代替の近代的なアーキテクチャの探索に関心のある開発者向けに、RT-DETRのようなTransformerベースの検出器や、Ultralytics YOLO11のような過去の世代の主力モデルに対する幅広いサポートも提供しています。