YOLOv10 YOLOv5:包括的な技術比較
適切なニューラルネットワークアーキテクチャの選択は、実運用環境で成功するコンピュータビジョンパイプラインを展開する上で極めて重要です。このページでは、 YOLOv10 と YOLOv5を比較する詳細な技術分析を提供します。両モデルともAIコミュニティに多大な影響を与えた一方で、深層学習アーキテクチャ設計における異なる時代と哲学を体現しています。
本ガイドでは、平均精度(mAP)、推論レイテンシ、パラメータ効率、エコシステムサポートに基づいてこれらのアーキテクチャを評価し、導入ニーズに最適なモデルを選択するお手伝いをします。
モデルの概要
YOLOv10: リアルタイムエンドツーエンド物体検出
清華大学の研究者によって開発されたYOLOv10 、後処理の必要性を排除することで物体検出に新たな手法YOLOv10 。
- 著者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 組織:清華大学
- 日付: 2024-05-23
- 研究論文:arXiv:2405.14458
- ソースコード:YOLOv10 リポジトリ
YOLOv10 決定的なブレークスルーYOLOv10 エンドツーエンドNMS設計 YOLOv10 。従来、YOLO 冗長なバウンディングボックスを除去するために非最大抑制(NMS)に依存していた。YOLOv10 NMSのための一貫した二重アサインメントYOLOv10 、これにより推論遅延の変動が大幅に低減され、デプロイロジックが簡素化された。 さらに、このアーキテクチャは効率性と精度を追求した包括的な設計を採用し、計算上の冗長性を削減するため、様々なコンポーネントを徹底的に最適化している。
YOLOv5:業界標準の使いやすさ
Ultralytics PyTorch の立ち上げ直後にリリースされたYOLOv5 、オープンソースのビジョンAIフレームワークに対する開発者の期待をYOLOv5 。現在も世界で最も広く導入されているアーキテクチャの一つである。
- Author: Glenn Jocher
- 組織:Ultralytics
- 日付: 2020-06-26
- ソースコード:YOLOv5 リポジトリ
YOLOv5 はその使いやすさと、非常に良く整備されたエコシステムでYOLOv5 完全にPyTorchで記述されており、トレーニング、検証、ONNXなどの形式へのエクスポートをすぐに使える状態でサポートすることで、シームレスな「ゼロからヒーローへ」の体験を提供しました。 ONNX や TensorRTといったフォーマットへのエクスポートを標準でサポートし、シームレスな「ゼロからヒーローへ」の体験を提供します。純粋な物体検出に主眼をYOLOv10、YOLOv5 汎用性を示し、同一のPython API内でインスタンスセグメンテーション と画像分類をサポートします。
パフォーマンスとメトリクスの比較
速度と精度の関係を可視化することは、特定の速度制約下で最高の精度を提供するモデルを特定するために不可欠です。これらの性能指標を理解することは、特定のハードウェア制約に適合するモデルを選択する上で基礎となります。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (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 。例えば、YOLOv1054.4%のmAPvalを達成し、YOLOv5x(50.7%mAP)を上回っている。この飛躍は主に、2024年にNMSトレーニング戦略とアーキテクチャの改良によるものである。
- 推論レイテンシ: YOLOv5 生のT4TensorRT では非常に高速ですが(例: YOLOv5nは1.12ms)、YOLOv10 後処理NMS を完全にYOLOv10 エンドツーエンドの実用的な展開において、NMSはより一貫性があり決定論的なレイテンシを提供し、自律走行車やロボティクスなどのリアルタイムアプリケーションにとって極めて重要です。
- パラメータ効率: YOLOv10 高い競争力を維持する性能バランスを実現している。YOLOv10わずか720万mAP 46.mAP を達成する一方、YOLOv5smAP 0mAP 37.mAP を達成する。
デプロイのヒント
NVIDIA のようなエッジAIデバイスに展開する場合、NMS を持たないモデル(YOLOv10 )は、TensorRTコンパイルがよりクリーンに行われ、CPUへのフォールバック操作を回避できることが多い。
ユースケースと推奨事項
YOLOv5 YOLOv10 具体的なプロジェクト要件、デプロイメントの制約、およびエコシステムの選好によってYOLOv5 。
YOLOv10を選択すべき時
YOLOv10 以下に最適YOLOv10 :
- NMSリアルタイム検出:ノンマキシマム抑制なしのエンドツーエンド検出により、導入の複雑さを軽減するアプリケーション。
- 速度と精度のバランスの取れたトレードオフ:様々なモデル規模において、推論速度と検出精度との強力なバランスを必要とするプロジェクト。
- 一貫したレイテンシを必要とするアプリケーション:予測可能な推論時間が極めて重要な展開シナリオ(例:ロボティクスや自律システム)。
YOLOv5を選択すべき時
YOLOv5 以下に推奨YOLOv5 :
- 実績ある生産システム: YOLOv5 track 、豊富なドキュメント、大規模なコミュニティサポートが評価される既存の展開環境。
- リソース制約下でのトレーニング: GPU 限られた環境において、YOLOv5効率的なトレーニングパイプラインと低いメモリ要件が有利に働く。
- 幅広いエクスポート形式のサポート:複数の形式での展開を必要とするプロジェクトに対応 ONNX、 TensorRT、 CoreML、および TFLite。
Ultralytics YOLO26)を選択すべきタイミング
ほとんどの新規プロジェクトにおいて、Ultralytics パフォーマンスと開発者体験の最適な組み合わせを提供します:
- NMSデプロイメント:ノンマキシマムサプレッション(NMS)後処理の複雑さを伴わずに、一貫した低遅延推論を必要とするアプリケーション。
- CPU: GPU を持たないデバイスにおいて、YOLO26のCPU 決定的な優位性を提供する。
- 小型物体検出: ドローン航空写真やIoTセンサー解析といった困難なシナリオにおいて、ProgLossとSTALが微小物体の精度を大幅に向上させる。
Ultralyticsの利点
YOLOv10 優れた検出YOLOv10 、学術リポジトリに依存すると、本番環境のパイプラインが複雑になる場合があります。公式Ultralytics Python を使用することで、YOLOv10 YOLOv5 サポートする統一されたエコシステムと高度な機能を利用できます。
- トレーニング効率: Ultralytics YOLO 、トレーニング時のメモリ要件削減に向けて深く最適化されています。膨大なCUDA 必要とする重いトランスフォーマーモデル(RT-DETRなど)とは異なり、YOLOv5 YOLOv10 標準的なコンシューマーYOLOv10 快適にトレーニングできます。
- エコシステム統合: Ultralytics との統合により、開発者は視覚的にデータセットを管理し、Weights & Biasesを使用してtrack できます。 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
今日新しい機械学習プロジェクトを始めるなら、最新の Ultralytics の評価を強く推奨します。2026年1月にリリースされたこのモデルは、過去5年間の最先端技術を統合し、絶対的な最先端技術を実現しています。
YOLO26は、YOLOv10が先駆けたエンドツーエンドNMS設計をネイティブに組み込み、迅速かつ決定論的な展開を保証します。さらに、YOLO26はいくつかの重要なブレークスルーを導入しています:
- 最大43%高速CPU :分布焦点損失(DFL)モジュールを除去することで、YOLO26は標準CPU上で大幅な高速化を実現し、モバイル展開や低消費電力IoTセンサーにおける最優先選択肢となる。
- MuSGDオプティマイザー:Moonshot AIのKimi K2のような大規模言語モデル(LLM)のトレーニング手法に着想を得て、YOLO26はSGD ミューオンのハイブリッドを採用しています。これにより、YOLOv10で使用されたAdamW と比較して、非常に安定したトレーニング実行と大幅に加速された収束が保証されます。
- ProgLoss + STAL:これらの高度な損失関数は、ドローン画像や航空保安アプリケーションにおいて極めて重要な小規模物体認識において顕著な改善をもたらす。
- タスク特化型習得: YOLOv10 厳密にバウンディングボックス検出器YOLOv10 に対し、YOLOv26は姿勢推定のための残差対数尤度推定(RLE)や方向付きバウンディングボックス(OBB)向けの専用角度損失関数など、全タスク向けに特化したアーキテクチャ改良を提供する。
詳細を見る
物体検出のより広範な領域を探求している場合、これらのアーキテクチャを他のフレームワークと比較することにも興味があるかもしれません。より包括的なベンチマークについては、YOLO11 RT-DETR YOLOv8 YOLO11 詳細な分析記事をご覧ください。
YOLOv5堅牢な実績、YOLOv10 NMS革新性、あるいはYOLO26の比類なき最先端性能のいずれに依存する場合でも、Ultralytics 、ビジョンAIアプリケーションを迅速かつ効率的に実現するために必要なツールを提供します。