YOLOv10とYOLOv8#
リアルタイム物体検出は、画期的なアーキテクチャが次々と登場し、精度、推論速度、計算効率の限界を押し広げながら急速に進化してきました。この包括的な技術ガイドでは、コンピュータービジョン分野の2つの重要なマイルストーンであるYOLOv10とUltralytics YOLOv8を比較します。YOLOv8が汎用性の高い本番環境対応の標準を確立した一方、YOLOv10は後処理のボトルネックを取り除くことを特に目的としたアーキテクチャの転換を導入しました。
これらのモデルの明確な利点、アーキテクチャ、性能指標を理解することは、現実のシナリオで最先端のビジョンAIソリューションをデプロイする開発者や研究者にとって重要です。
技術仕様と開発者#
これらのモデルを適切に評価するには、それぞれの開発の背景と研究チームが重視した点を理解すると役立ちます。
YOLOv10: エンドツーエンドの効率性#
清華大学の研究者によって開発されたYOLOv10は、従来世代の後処理ステップで生じる計算オーバーヘッドに対処するために設計されました。
- 著者: Ao Wang、Hui Chen、Lihao Liuほか
- 組織: 清華大学
- 日付: 2024-05-23
- Arxiv: 2405.14458
- GitHub: THU-MIG/yolov10
- ドキュメント: YOLOv10 ドキュメント
Ultralytics YOLOv8:多用途なスタンダード#
2023年初頭にリリースされたYOLOv8は、堅牢なアーキテクチャと、広範な機械学習エコシステムとの比類ない統合により、すぐに業界の定番となりました。
- 著者: Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織: Ultralytics
- 日付: 2023-01-10
- GitHub: ultralytics/ultralytics
アーキテクチャの革新#
どちらのモデルも従来のYOLOアーキテクチャに大幅な改善をもたらしていますが、パイプラインのやや異なる側面を対象としています。
YOLOv10のアーキテクチャ#
YOLOv10の際立った特徴は、NMSを使用しないトレーニング戦略です。従来、物体検出器は推論時に非最大抑制(NMS)を使用して、重複するバウンディングボックスを除外します。この処理はレイテンシを生じさせ、エンドツーエンドのデプロイを複雑にすることがあります。YOLOv10はトレーニング時に一貫性のあるデュアルアサインメントを採用することで、モデルが各物体に対して正確なバウンディングボックスを1つだけネイティブに予測できるようにします。さらに、効率と精度を総合的に考慮したモデル設計を採用し、さまざまなコンポーネントを最適化してFLOPsとパラメーター数を大幅に削減します。
YOLOv8のアーキテクチャ#
YOLOv8ではアンカーフリーの検出ヘッドが導入され、従来モデルのアンカーベースの手法から移行しました。これによりボックス予測の数が減り、NMS処理が高速化します。また、YOLOv8にはC2fモジュール(2つの畳み込みを備えたクロスステージ部分ボトルネック)が組み込まれており、勾配フローを改善し、計算コストを大幅に増やすことなく、ネットワークがより豊かな特徴表現を学習できるようにします。デカップルドヘッドは分類タスクと回帰タスクを分離するため、収束が速まり、全体的な精度が向上します。
性能とベンチマーク#
モデルをエッジデバイスやクラウドサーバーにデプロイする場合、速度と精度のトレードオフが最も重要です。以下の表では、さまざまなサイズの2つのモデルを直接比較しています。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
注:ダッシュ(-)は、同一のテスト条件で公式に報告されていない指標を示します。
データからわかるように、YOLOv10はパラメーター効率に優れており、パラメーター数とFLOPsを抑えながら、YOLOv8の同等モデルと同等以上のmAPを達成することがよくあります。一方、YOLOv8も非常に競争力を保っており、最新GPUでの推論レイテンシを最小限に抑える、高度に最適化されたTensorRT統合を提供します。
本番環境を対象とする場合、ONNXやTensorRTなどのフォーマットを利用すると、推論速度を大幅に向上できます。YOLOv8とYOLOv10はどちらも、これらの高度に最適化されたグラフ形式へのシームレスなエクスポートに対応しています。
エコシステム、トレーニング効率、多用途性#
モデルの選択は理論上のベンチマークだけにとどまりません。開発者エクスペリエンスと周辺のエコシステムも同様に重要です。
Ultralyticsの強み#
YOLOv8の中核的な強みの1つは、Ultralyticsエコシステムとの緊密な統合です。この環境では、直感的なPython APIと充実したドキュメントを通じて、「ゼロから一流へ」の体験を提供します。複雑な環境設定が必要になることのある研究中心のリポジトリとは異なり、Ultralyticsのモデルは使いやすさで知られています。
さらに、YOLOv8は本質的に多用途です。YOLOv10が物体検出に特化して最適化されている一方、Ultralyticsフレームワークでは、同じライブラリとAPI構造のまま、物体検出、インスタンスセグメンテーション、画像分類、姿勢推定、方向付きバウンディングボックス(OBB)タスクをシームレスに切り替えられます。
メモリ要件とトレーニング#
Ultralytics YOLOモデルは、トレーニング効率を重視して設計されています。複雑なTransformerモデルと比較すると、トレーニング時および推論時のメモリ使用量が一般に少ないため、CUDAメモリを使い果たすことなく、コンシューマー向けハードウェアや標準的なクラウドインスタンスで最先端のモデルをトレーニングできます。適切に調整されたデフォルトのハイパーパラメーターと組み込みのデータ拡張により、速やかな収束を実現できます。
Ultralytics Python APIを使用してモデルを簡単にトレーニングおよび検証する方法を、実用的な例で紹介します。
from ultralytics import YOLO
# 事前学習済みモデルを読み込みます(汎用タスクにはYOLOv8を推奨)
model = YOLO("yolov8n.pt")
# 自動メモリ管理を利用して、COCO8データセットでモデルをトレーニングします
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# テスト画像に対して推論を実行します
predictions = model("https://ultralytics.com/images/zidane.jpg")
predictions[0].show()次世代モデル: YOLO26#
YOLOv8とYOLOv10は優れたマイルストーンですが、機械学習の分野は絶えず進歩しています。新しいプロジェクトを始める開発者には、2026年1月にリリースされたUltralyticsの最新フラッグシップモデル、YOLO26の活用を強くおすすめします。
YOLO26は、過去数年間の優れたアーキテクチャ上の進歩を、高度に最適化された単一のフレームワークに集約しています。YOLOv10などのモデルが先駆けとなったエンドツーエンドのNMSフリーデザインを継承し、デプロイパイプラインを効率化してレイテンシのばらつきを抑えます。さらにYOLO26では、LLMのトレーニング安定性に着想を得たハイブリッド型のMuSGDオプティマイザーを導入し、より速く安定した収束を実現します。
YOLO26の主な改善点は次のとおりです。
- CPU推論が最大43%高速化: Distribution Focal Loss(DFL)を削除し、エッジデバイス向けに大幅に最適化されています。
- ProgLoss + STAL: 小物体認識を大幅に改善する高度な損失関数です。ドローン画像やIoTセンサーで特に重要です。
- タスク固有の強化: セグメンテーション、姿勢推定、OBB向けの専用アーキテクチャにより、あらゆるビジョン領域で高水準の性能を実現します。
最適なユースケースとデプロイ戦略#
これらのアーキテクチャから選択する際は、デプロイ環境の具体的な要件を考慮してください。
- YOLOv10を選ぶ場合: パラメーター効率を徹底的に高めることが重要な、純粋な物体検出パイプラインに取り組んでおり、NMSフリーアーキテクチャの初期実装を試したい場合に適しています。
- Ultralytics YOLOv8を選ぶ場合: 堅牢なUltralytics Platformに支えられた、非常に安定した本番環境対応モデルが必要な場合に適しています。オブジェクトの検出後にセグメンテーションを行うなど、複数のタスクを統一された保守しやすいコードベースで処理するプロジェクトに最適です。
- YOLO26(推奨)を選ぶ場合: 最先端の精度、ネイティブなエンドツーエンドNMSフリーの効率、そしてCPUやエッジハードウェアで可能な限り高速な処理のバランスを求める場合に適しています。
より広い分野を検討している場合は、YOLO11との比較や、ビジョンAIアプリケーションをさらに高速化するためのIntel OpenVINOなど、エッジデプロイ向けの具体的な統合にも関心があるかもしれません。Ultralyticsが提供する統合ツールを活用することで、堅牢なコンピュータービジョンソリューションをこれまで以上に簡単にデプロイできます。