YOLOv10とYOLOv5の比較#
本番環境で成功するコンピュータビジョンパイプラインを展開するには、適切なニューラルネットワークアーキテクチャの選択が重要です。このページでは、リアルタイム物体検出の発展に大きな影響を与えた2つのモデル、YOLOv10とYOLOv5を比較し、詳細な技術分析を行います。どちらのモデルもAIコミュニティに大きな影響を与えてきましたが、ディープラーニングのアーキテクチャ設計における異なる時代と思想を代表しています。
このガイドでは、平均適合率(mAP)、推論レイテンシ、パラメータ効率、エコシステムのサポートを基にこれらのアーキテクチャを評価し、デプロイ要件に最適なモデルを選択できるよう支援します。
モデルの概要#
YOLOv10:リアルタイムのエンドツーエンド物体検出#
清華大学の研究者によって開発されたYOLOv10は、後処理を不要にする新しい物体検出アプローチを導入しました。
- 著者: Ao Wang、Hui Chen、Lihao Liu、ほか
- 組織: 清華大学
- 日付: 2024-05-23
- 研究論文: arXiv:2405.14458
- ソースコード: YOLOv10 GitHubリポジトリ
YOLOv10を特徴づける画期的な点は、エンドツーエンドのNMSフリーデザインです。従来、YOLOモデルは冗長なバウンディングボックスを除去するために最大値抑制(NMS)に依存していました。YOLOv10は、NMSフリーの学習に一貫したデュアル割り当てを利用することで、推論レイテンシのばらつきを大幅に削減し、デプロイロジックを簡素化します。さらに、このアーキテクチャは効率と精度を総合的に考慮した設計を採用しており、さまざまなコンポーネントを徹底的に最適化して計算の冗長性を削減します。
YOLOv5:使いやすさにおける業界標準#
Ultralytics PyTorchリポジトリの発足直後にリリースされたYOLOv5は、オープンソースのビジョンAIフレームワークに対する開発者の期待を一新しました。現在も、世界で最も広くデプロイされているアーキテクチャの1つです。
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020-06-26
- ソースコード: YOLOv5 GitHubリポジトリ
YOLOv5は、使いやすさと高度に整備されたエコシステムで高く評価されています。PyTorchだけで記述されており、トレーニング、検証、ONNXやTensorRTなどの形式へのエクスポートをすぐに利用できる、シームレスな「ゼロから達人へ」の体験を提供しました。純粋な物体検出に主眼を置くYOLOv10とは異なり、YOLOv5は同一の統合Python API内でインスタンスセグメンテーションと画像分類をサポートする、卓越した汎用性を示します。
パフォーマンスとメトリクスの比較#
速度と精度の関係を可視化することは、特定の速度制約に対して最も高い精度を提供するモデルを特定するうえで不可欠です。これらのパフォーマンス指標を理解することは、特定のハードウェア制約に適合するモデルを選択するための基本となります。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
技術分析#
- 精度(mAP): YOLOv10は、精度において世代的に明確な優位性を示します。たとえば、YOLOv10-Xモデルは54.4%のmAPvalを達成し、YOLOv5x(50.7% mAP)を上回ります。この飛躍は、主にNMSフリーの学習戦略と、2024年に導入されたアーキテクチャの改良によるものです。
- 推論レイテンシ: YOLOv5モデルは、T4 TensorRTの未処理ベンチマーク(例:YOLOv5nで1.12ms)では非常に高速ですが、YOLOv10は後処理のNMSステップを完全に排除します。エンドツーエンドの実運用デプロイでは、YOLOv10のNMSフリーデザインにより、より一貫性が高く決定論的なレイテンシが実現します。これは、自動運転車やロボティクスなどのリアルタイムアプリケーションにとって重要です。
- パラメータ効率: YOLOv10モデルは、非常に競争力の高いパフォーマンスバランスを維持しています。YOLOv10-Sはわずか720万パラメータで46.7% mAPを達成する一方、YOLOv5sは910万パラメータで37.4% mAPを達成します。
NVIDIA JetsonなどのエッジAIデバイスにデプロイする場合、NMSロジックを持たないモデル(YOLOv10やYOLO26など)はTensorRT向けによりクリーンにコンパイルできることが多く、CPUへのフォールバック処理を回避できます。
ユースケースと推奨事項#
YOLOv10とYOLOv5のどちらを選ぶかは、具体的なプロジェクト要件、デプロイの制約、エコシステムの好みによって決まります。
YOLOv10を選択する場合#
YOLOv10は次の用途に適しています:
- NMSフリーのリアルタイム検出: Non-Maximum Suppressionを使用しないエンドツーエンド検出のメリットを活かし、デプロイの複雑さを軽減できるアプリケーション。
- 速度と精度のバランスの取れたトレードオフ: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが求められるプロジェクト。
- レイテンシが一貫したアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。
YOLOv5を選ぶべきケース#
YOLOv5は、次の用途に推奨されます。
- 実績のある本番システム: YOLOv5の長年にわたる安定性の実績、豊富なドキュメント、広範なコミュニティサポートが重視される既存のデプロイ環境。
- リソースに制約のあるトレーニング: YOLOv5の効率的なトレーニングパイプラインと少ないメモリ要件が有利になる、GPUリソースが限られた環境。
- 幅広いエクスポート形式のサポート: ONNX、TensorRT、CoreML、TFLiteなど、多数の形式にまたがるデプロイが必要なプロジェクト。
Ultralytics (YOLO26)を選ぶタイミング#
ほとんどの新規プロジェクトでは、Ultralytics YOLO26が性能と開発者エクスペリエンスの最適な組み合わせを提供します。
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
- CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。
Ultralyticsの優位性#
YOLOv10は優れた検出性能を提供しますが、学術用リポジトリに依存すると、本番パイプラインが複雑になる場合があります。公式のUltralytics Pythonパッケージを使用すると、YOLOv5とYOLOv10の両方に加え、高度な機能をサポートする統合エコシステムにアクセスできます。
- トレーニング効率: Ultralytics YOLOアーキテクチャは、トレーニング中のメモリ要件を低減するよう高度に最適化されています。大量のCUDAメモリを必要とする重量級Transformerモデル(RT-DETRなど)とは異なり、標準的なコンシューマー向けGPUでYOLOv5とYOLOv10を快適にトレーニングできます。
- エコシステム統合: Ultralytics Platformとの統合により、開発者はデータセットを視覚的に管理し、Weights & Biasesを使用して実験を追跡し、ハイパーパラメータを自動的に調整できます。
コード例:シームレスなトレーニング#
Ultralyticsライブラリを使用すると、これらのアーキテクチャ間の切り替えはモデル文字列を変更するだけで簡単に行えます。トレーニングパイプラインが、データ拡張、スケーリング、オプティマイザー設定を自動的に処理します。
from ultralytics import YOLO
# To use YOLOv5:
# model = YOLO("yolov5s.pt")
# To use YOLOv10:
model = YOLO("yolov10s.pt")
# Train the model on a custom dataset
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=16,
device=0, # Use GPU 0
)
# Export the trained model to ONNX format
path = model.export(format="onnx")次世代:Ultralytics YOLO26#
現在、新しい機械学習プロジェクトを開始する場合は、最新の**Ultralytics YOLO26**を評価することを強く推奨します。2026年1月にリリースされたYOLO26は、過去5年間の最良のイノベーションを組み合わせ、最先端の性能を実現しています。
YOLO26は、YOLOv10が先駆けたエンドツーエンドのNMSフリーデザインをネイティブに統合し、高速で決定論的なデプロイを実現します。さらに、YOLO26は次のような重要なブレークスルーを導入しています。
- 最大43%高速なCPU推論: Distribution Focal Loss(DFL)モジュールを削除することで、YOLO26は標準CPU上で大幅な高速化を実現し、モバイルデプロイや低消費電力IoTセンサーに最適な選択肢となります。
- MuSGDオプティマイザー: Moonshot AIのKimi K2のような大規模言語モデル(LLM)のトレーニング手法に着想を得て、YOLO26はSGDとMuonを組み合わせたハイブリッドを使用します。これにより、YOLOv10で使用されるAdamWオプティマイザーと比較して、非常に安定したトレーニング実行と大幅に高速化された収束を実現します。
- ProgLoss + STAL: これらの高度な損失関数により、小物体認識が大幅に改善されます。これは、ドローン画像や空中セキュリティアプリケーションにとって重要です。
- タスク固有の習熟度: YOLOv10がバウンディングボックス検出に限定されているのに対し、YOLO26はすべてのタスクに向けた専用のアーキテクチャ改良を提供します。これには、Pose向けのResidual Log-Likelihood Estimation(RLE)や、Oriented Bounding Boxes(OBB)向けの特殊な角度損失が含まれます。
物体検出のより広範な状況を調査している場合は、これらのアーキテクチャを他のフレームワークと比較することにも関心があるかもしれません。より包括的なベンチマークについては、YOLO11とEfficientDetの比較またはRT-DETRとYOLOv8の比較に関する詳細な分析をご覧ください。
YOLOv5の実績あるレガシー、YOLOv10のNMSフリーイノベーション、YOLO26の比類ない最先端性能のいずれを活用する場合でも、Ultralyticsエコシステムは、ビジョンAIアプリケーションを迅速かつ効率的に実現するために必要なツールを提供します。