YOLOv10とYOLOv5の比較#
プロダクション環境で正常に稼働するコンピュータビジョンパイプラインを構築するためには、適切なニューラルネットワークアーキテクチャの選定が不可欠です。このページでは、リアルタイム物体検出の進化において非常に影響力の大きい2つのモデルであるYOLOv10とYOLOv5を比較し、詳細な技術分析を提供します。両モデルともAIコミュニティに大きな影響を与えてきましたが、ディープラーニングのアーキテクチャ設計における異なる時代と哲学を代表しています。
このガイドでは、平均精度平均 (mAP)、推論レイテンシ、パラメータ効率、エコシステムのサポートに基づいてこれらのアーキテクチャを評価し、デプロイの要件に最適なモデルの選定を支援します。
モデルの概要#
YOLOv10: リアルタイム・エンドツーエンド物体検出#
清華大学の研究者によって開発されたYOLOv10は、後処理の必要性を排除するという物体検出への斬新なアプローチを導入しました。
- 著者: Ao Wang, Hui Chen, Lihao Liu, 他
- 組織: Tsinghua University
- 日付: 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)を上回っています。この飛躍は、主に2024年に導入されたNMSフリーの学習戦略とアーキテクチャの改良によるものです。
- 推論レイテンシ: 生のT4 TensorRTベンチマーク(例:1.12msのYOLOv5n)ではYOLOv5モデルが非常に高速ですが、YOLOv10はポストプロセスのNMSステップを完全に排除します。エンドツーエンドの実用的なデプロイにおいて、YOLOv10のNMSフリー設計は、より一貫性のある決定論的なレイテンシを提供します。これは、自動運転車やロボティクスなどのリアルタイムアプリケーションにとって極めて重要です。
- パラメータ効率: YOLOv10モデルは非常に競争力のあるパフォーマンスバランスを維持しています。YOLOv10-Sは7.2Mパラメータで46.7% mAPを達成しますが、YOLOv5sは9.1Mパラメータで37.4% mAPを達成します。
NVIDIA Jetson などの edge AI デバイスにデプロイする場合、NMS ロジックを持たないモデル(YOLOv10 や YOLO26 など)は、TensorRT へのコンパイルがよりクリーンに行われることが多く、CPU へのフォールバック処理を回避できます。
ユースケースと推奨事項#
YOLOv10とYOLOv5のどちらを選択するかは、特定のプロジェクトの要件、デプロイの制約、およびエコシステムの優先順位に依存します。
YOLOv10を選択すべき場合#
YOLOv10は以下の用途に最適です。
- NMSフリーのリアルタイム検出: Non-Maximum Suppression(NMS)を使用しないエンドツーエンド検出のメリットを享受し、デプロイの複雑さを軽減できるアプリケーション。
- バランスの取れた速度と精度のトレードオフ: さまざまなモデルスケール全体で、推論速度と検出精度の強力なバランスを必要とするプロジェクト。
- 一貫したレイテンシが求められるアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が不可欠なデプロイシナリオ。
YOLOv5を選択すべき場合#
YOLOv5は以下のような場合に推奨されます:
- 実証済みの本番システム: YOLOv5の長期にわたる安定性の実績、広範なドキュメント、および膨大なコミュニティサポートが重視される既存のデプロイ環境。
- リソースが制限されたトレーニング: GPUリソースが限られており、YOLOv5の効率的なトレーニングパイプラインと低いメモリ要件が有利に働く環境。
- 豊富なエクスポートフォーマットのサポート: ONNX、TensorRT、CoreML、TFLiteを含む多くのフォーマットにわたるデプロイを必要とするプロジェクト。
Ultralytics (YOLO26) を選択すべき時#
ほとんどの新しいプロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します。
- NMSフリーのエッジ展開: Non-Maximum Suppression後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: GPUアクセラレーションを利用できないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となる場合。
- 小物体検出: ProgLossとSTALにより極小オブジェクトの精度が大幅に向上する、空中ドローン画像やIoTセンサー分析などの困難なシナリオ。
Ultralyticsの利点#
YOLOv10は優れた検出機能を提供しますが、学術的なリポジトリに依存することは、本番環境のパイプラインを複雑にすることがあります。公式のUltralytics Pythonパッケージを使用することで、YOLOv5とYOLOv10の両方をサポートする統合されたエコシステムにアクセスでき、高度な機能も利用できるようになります。
- トレーニング効率: Ultralytics YOLOアーキテクチャは、トレーニング中のメモリ要件を低く抑えるように深く最適化されています。大規模なCUDAメモリを必要とする重いトランスフォーマーモデル(RT-DETRなど)とは異なり、YOLOv5およびYOLOv10は標準的なコンシューマー向けGPUで快適にトレーニングできます。
- エコシステムの統合: 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月にリリースされたこのモデルは、過去5年間の最高のイノベーションを組み合わせることで、絶対的な最先端技術を体現しています。
YOLO26は、YOLOv10が先駆けたエンドツーエンドのNMSフリー設計をネイティブに組み込んでおり、迅速かつ決定的なデプロイを保証します。さらに、YOLO26はいくつかの決定的なブレイクスルーを導入しています:
- 最大43%高速なCPU推論: 分布焦点損失(DFL)モジュールを削除することにより、YOLO26は標準CPUでの大幅な高速化を実現し、モバイルデプロイや低電力IoTセンサーにとって最高の選択肢となっています。
- MuSGDオプティマイザ: Moonshot AIのKimi K2のような大規模言語モデル(LLM)の学習技術に触発されたYOLO26は、SGDとMuonのハイブリッドを利用しています。これにより、YOLOv10で使用されているAdamWオプティマイザと比較して、非常に安定した学習と大幅に加速された収束が保証されます。
- ProgLoss + STAL: これらの高度な損失関数は、小物体認識において顕著な改善をもたらします。これは、ドローン画像や空中セキュリティアプリケーションにおいて極めて重要です。
- タスク固有の習熟: YOLOv10は厳密なバウンディングボックス検出器ですが、YOLO26は、ポーズ推定のためのResidual Log-Likelihood Estimation(RLE)や、指向性バウンディングボックス(OBB)のための特殊な角度損失など、すべてのタスクにおいて専用のアーキテクチャ上の改善を提供します。
物体検出のより広い分野を探索している場合は、これらのアーキテクチャを他のフレームワークと比較することにも興味を持たれるかもしれません。より包括的なベンチマークについては、YOLO11 vs EfficientDetまたはRT-DETR vs YOLOv8に関する詳細な解説をご覧ください。
YOLOv5の堅牢なレガシー、YOLOv10のNMSフリーのイノベーション、あるいはYOLO26の比類なき最先端のパフォーマンスのいずれに依存するとしても、Ultralyticsエコシステムは、ビジョンAIアプリケーションを迅速かつ効率的に実現するために必要なツールを提供します。