YOLOv8とYOLOv10#
リアルタイムの物体検出は、これまでにない速さで進化しています。最も効率的で高精度なコンピュータービジョンモデルをパイプラインに統合しようとする開発者や研究者にとって、有力なアーキテクチャを比較することが欠かせません。この記事では、Ultralytics YOLOv8とYOLOv10を詳しく比較し、アーキテクチャの違い、性能指標、最適なデプロイシナリオを検討して、次のAIプロジェクトで適切な判断を下せるよう支援します。
モデル概要:YOLOv8#
YOLOの系譜における大きな進歩として登場したYOLOv8は、統一された汎用フレームワークの新たな標準を確立しました。標準的なバウンディングボックス以外の多様なタスクにも対応できるよう、ゼロから設計されており、最新のコンピュータービジョンに非常に柔軟に対応できるツールです。
YOLOv8の詳細:
- 著者: Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織: Ultralytics
- 日付: 2023-01-10
- GitHub: https://github.com/ultralytics/ultralytics
- ドキュメント: https://docs.ultralytics.com/models/yolov8
アーキテクチャと強み#
YOLOv8では、アンカーフリーの検出ヘッドと刷新されたCSPDarknetバックボーンが導入され、精度と推論レイテンシーの両方が大幅に改善されました。アンカーボックスを削除することで、モデルのボックス予測数が減り、後処理における非最大抑制(NMS)が高速化されます。
YOLOv8を選ぶ際の際立った利点の1つは、その幅広い汎用性です。多くのモデルが物体検出に特化する一方、YOLOv8はインスタンスセグメンテーション、画像分類、姿勢推定、Oriented Bounding Boxes(OBB)をネイティブにサポートしています。そのため、さまざまな種類の視覚的理解を同時に必要とする複雑な多段階パイプラインに適した強力なモデルです。さらに、RT-DETRのようなTransformerベースのアーキテクチャと比べ、トレーニング時に必要なメモリ量が大幅に最適化されているため、研究者は一般向けの標準的なGPUで大規模なモデルをトレーニングできます。
モデル概要:YOLOv10#
清華大学の研究者によって開発されたYOLOv10は、YOLOファミリーにおける長年のボトルネックの1つ、すなわちNMSによる後処理への依存に取り組むことを目指しました。
YOLOv10の詳細:
- 著者: Ao Wang、Hui Chen、Lihao Liuほか
- 組織: 清華大学
- 日付: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- ドキュメント: https://docs.ultralytics.com/models/yolov10
アーキテクチャと強み#
YOLOv10の主な革新は、一貫性のあるデュアルアサインメント戦略です。これにより、NMSフリーのトレーニングとエンドツーエンドのデプロイが可能になります。NMSの手順を取り除くことで、特に後処理の計算コストが高くなり得るエッジデバイス上で、YOLOv10は推論レイテンシーを大幅に削減します。
さらにYOLOv10では、効率と精度を総合的に重視したモデル設計を採用し、各レイヤーの計算オーバーヘッドを慎重に調整しています。その結果、パラメーター数とFLOPsを削減しながら、競争力のある平均適合率(mAP)を実現しています。検出タスクにおいてレイテンシーを極限まで抑える必要があるユースケースに適した、優れた学術的成果です。
パフォーマンスと指標の比較#
これら2つのアーキテクチャを比較する際は、パラメーター数、FLOPs、精度のトレードオフを確認することが重要です。以下に、COCOデータセットでの性能指標を正確に比較した結果を示します。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
一部のスケールではYOLOv10のほうが少ないパラメーター数で若干高いmAPを達成しますが、YOLOv8はより堅牢なエコシステムと幅広いタスクへの対応を備えています。そのため、バウンディングボックス以外の機能も必要とする本番環境では、一般にYOLOv8のほうが信頼性の高い選択肢です。
エコシステムとトレーニング手法#
最新の機械学習ワークフローで真の差別化要因となるのは、多くの場合、アーキテクチャを取り巻くエコシステムです。YOLOv8のようなUltralyticsモデルを選ぶと、比類のない使いやすさとシームレスな開発者体験が得られます。
直感的に使えるPython SDKを使えば、開発者はデータのアノテーション、トレーニング、デプロイを最小限の手間で行えます。Ultralyticsのエコシステムは非常に適切に保守されており、頻繁なアップデート、ハイパーパラメーターのチューニングに関する包括的なドキュメント、DiscordやGitHubなどのプラットフォームでの強力なコミュニティサポートを提供しています。
コード例:簡単なトレーニング#
Ultralytics Python APIを使えば、どちらのモデルも簡単にインスタンス化し、トレーニングして検証できます。基盤となるアーキテクチャにかかわらず、同じワークフローを適用できる点に注目してください。
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model efficiently with automated learning rate scheduling
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device=0, # optimized CUDA memory usage
batch=16,
)
# Validate the model to check mAP metrics
metrics = model.val()
print(f"Validation mAP: {metrics.box.map}")
# Export to ONNX for edge deployment
model.export(format="onnx")ユースケースと推奨事項#
YOLOv8とYOLOv10のどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムに関する好みによって決まります。
YOLOv8を選ぶ場合#
YOLOv8は、次のような場合に適しています。
- 汎用的なマルチタスクデプロイ: Ultralyticsエコシステムで、検出、セグメンテーション、分類、ポーズ推定に対応した、実績のあるモデルを必要とするプロジェクト。
- 確立済みの本番システム: 安定性と十分なテストが確認されたデプロイパイプラインを備え、すでにYOLOv8アーキテクチャを基盤として構築されている本番環境。
- 広範なコミュニティとエコシステムのサポート: YOLOv8の豊富なチュートリアル、サードパーティ製ツールとの統合、活発なコミュニティリソースを活用できるアプリケーション。
YOLOv10を選ぶ場合#
YOLOv10は、次のような用途に推奨されます。
- NMSを使用しないリアルタイム検出: 非最大抑制を使用しないエンドツーエンド検出によって、デプロイを簡素化できるアプリケーション。
- 速度と精度のバランス: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが必要なプロジェクト。
- レイテンシーが安定している必要のあるアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
未来:YOLO26へのステップアップ#
YOLOv8は優れた万能モデルであり、YOLOv10はNMSフリーアーキテクチャに関する優れた学術的知見をもたらしますが、コンピュータービジョンの最先端はさらに進化しています。速度、精度、デプロイの容易さを最高のバランスで実現するには、YOLO26への移行を強くお勧めします。
2026年初頭にリリースされたYOLO26は、YOLOファミリーの最高峰です。前世代の優れた機能をシームレスに統合しながら、画期的な新技術を導入しています。
- エンドツーエンドのNMSフリーデザイン: YOLOv10が先駆けた画期的な手法を採用し、YOLO26はオプションのNMSフリー推論(
nms=False)を提供することで、より高速かつシンプルなデプロイを実現します。 - DFLの削除: Distribution Focal Lossを削除することで、モデルをCoreMLやエッジデバイス向けにエクスポートする作業が大幅に容易になります。
- MuSGD Optimizer: 大規模言語モデル (LLM) のトレーニング手法に着想を得たこのハイブリッドオプティマイザーは、より高速な収束と比類のないトレーニング安定性を実現します。
- CPU推論の優位性: YOLO26は前世代と比べてCPU推論を最大43%高速化し、Raspberry PiやIoTアプリケーションに大きな変革をもたらします。
- ProgLoss + STAL: これらの高度な損失関数は、小さな物体の認識を大幅に改善します。これは航空画像やロボティクスにおいて重要です。
現在モデルを評価している場合は、YOLO26の直接の前世代であり、現在もエンタープライズソリューションで広く利用されている、信頼性が高く本番環境ですぐに使えるフレームワークのYOLO11もご検討ください。ただし、将来性とパフォーマンスを最大限に高めるには、YOLO26とUltralytics Platformの高度な機能を活用することが、ビジョンAI戦略を前進させる最善の方法です。