YOLOv10 YOLOv5比較:アーキテクチャとパフォーマンスのディープダイブ
急速に進化するコンピュータビジョンにおいて、適切な物体検出モデルを選択することはプロジェクトの成功に不可欠です。この比較では YOLOv10との技術的な違いを探ります。 YOLOv5Ultralytics 社の伝説的なモデルで、その堅牢性と業界全体での採用で知られています。どちらのモデルもYou Only Look Onceの系譜を受け継いでいますが、エンジニアリングの優先順位や展開環境は異なります。
モデル概要
YOLOv10:効率のスペシャリスト
清華大学の研究者らによって2024年5月に発表されたYOLOv10 、推論中の非最大抑制(NMS)の必要性を排除するように設計されたアーキテクチャ・メカニズムを導入している。トレーニング中に一貫したデュアル割り当てを利用することで、YOLOv10 エンド・ツー・エンドのレイテンシを削減することを目指しており、推論レイテンシが1ミリ秒単位で重要なエッジ・アプリケーションの有力な候補となっている。
- 著者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 組織: 清華大学
- Date: 2024-05-23
- Arxiv:YOLOv10: リアルタイムエンド・トゥ・エンドオブジェクトdetect
- GitHubTHU-MIG/yolov10
Ultralytics YOLOv5:業界標準
によって2020年にリリースされて以来 UltralyticsYOLOv5 AIコミュニティにおける使いやすさを定義した。YOLOv5は、スピード、精度、エンジニアリングの実用性のバランスを優先しています。YOLOv5 未加工のメトリクスにとどまらず、成熟したエコシステムを提供し、モバイル展開ツール、実験追跡プラットフォーム、データセット管理ワークフローとシームレスに統合します。YOLOv5の多用途性は、検出だけでなく、画像の分類や インスタンスのセグメンテーションにも及んでいる。
- Author: Glenn Jocher
- 組織: Ultralytics
- Date: 2020-06-26
- GitHubyolov5
建築の違い
主な相違点は、予測の処理方法にある。YOLOv5 高度に最適化されたアンカーベースのアーキテクチャを利用し、オーバーラップするバウンディングボックスをフィルタリングするためにNMS 依存している。この方法は、様々なデータセットでテストされており、ロバストである。
対照的に、YOLOv10 一貫した二重割り当て戦略を採用している。これにより、モデルは推論中に各オブジェクトに対して単一のベストボックスを予測することができ、理論的にはNMS ステップを完全に取り除くことができる。この後処理オーバヘッドの削減がYOLOv1010の主な特徴であり、NVIDIA Jetson Orin Nanoのようなエッジデバイスでより低いレイテンシを提供する。さらに、YOLOv10 、パラメータ(params)と浮動小数点演算(FLOPs)を最小化するために、バックボーンとヘッドに全体的な効率設計を組み込んでいる。
メモリ効率
YOLOv5 ようなUltralytics モデルの特徴の1つ(そして、より新しいモデルである YOLO11のようなUltralyticsモデルの特徴の一つは、最適化されたメモリフットプリントです。膨大な量のCUDA メモリを消費する一部のトランスフォーマーベースの検出器とは異なり、Ultralytics モデルはコンシューマーグレードのハードウェアで効率的に学習できるように設計されており、最先端のAIへのアクセスを民主化しています。
パフォーマンス指標
下の表は、パフォーマンスのトレードオフを強調している。YOLOv10 、一般的に、古いYOLOv5 アーキテクチャと比較して、より少ないパラメーターでより高い平均精度(mAP)を達成する。しかし、YOLOv5 5は、特に以下のような最適化されたエクスポート形式を使用する場合、特定のハードウェア構成において、生の推論速度で競争力を維持しています。 TensorRTまたは ONNX.
| モデル | サイズ (ピクセル) | mAP値 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 |
長所と短所
YOLOv10 分析
長所:
- NMS:非最大抑制ステップを削除することで、展開パイプラインが簡素化され、推論の待ち時間が安定する。
- パラメータ効率:より小さなモデル重みで高い精度を実現し、ストレージに制約のあるデバイスに有利。
- 最先端の精度: COCO ベンチマークにおいて、純粋なmAP メトリクスで旧バージョンのYOLO 上回る。
弱点:
- 限られた汎用性:主に物体検出に重点を置いており、新しいUltralytics モデルに見られるポーズ推定や OBB(Oriented Bounding Box)検出のような複雑なタスクをネイティブでサポートしていない。
- 発展途上のエコシステム:研究中心のモデルであるため、Ultralyticsモデルで利用可能な広範なコミュニティプラグイン、実戦でテストされた統合、企業サポートが欠けている可能性がある。
YOLOv5 分析
長所:
- 比類のない汎用性:すぐに検出、セグメンテーション、分類が可能。
- 強固なエコシステム:バックアップ UltralyticsUltralytics HUB、Roboflow、Comet MLなどのツールと簡単に統合できます。
- デプロイに対応: CoreML、TFLite、TensorRT、OpenVINOエクスポートに関する広範なドキュメントが用意されており、スムーズな本番ロールアウトを保証します。
- トレーニング効率:安定したトレーニングダイナミクスと低いメモリ使用量で知られ、シングルGPU セットアップの開発者にも利用しやすい。
弱点:
- 旧式のアーキテクチャ: まだ強力ですが、その純粋なmAP/FLOPs比率は、YOLOv8やYOLO11のような新しいイテレーションによって上回られています。
- アンカーの依存性: 極端なオブジェクトのアスペクト比を持つデータセットの手動調整が必要になる可能性のあるアンカーボックスに依存しています。
理想的なユースケース
この2つのどちらを選択するかは、多くの場合、デプロイ環境の特定の制約に帰着する。
- YOLOv10 次のような場合にお選びください: NMS 計算オーバヘッドを排除することが決定的なスピード・アドバンテージとなる組込み機器専用の物体検出システムを構築している場合、または、小さなモデル・フットプリントで絶対的に高いmAP 必要とする場合。
- YOLOv5 選ぶならプロダクション・パイプラインに信頼性の高いマルチタスク・モデルが必要な場合。インスタンスのセグメンテーションと分類を処理する能力により、ビジョンAIの「スイスアーミーナイフ」となる。さらに、チームが標準的なMLOpsワークフローに依存している場合、YOLOv5 Ultralytics エコシステムにシームレスに統合されているため、開発時間が大幅に短縮されます。
ユーザー・エクスペリエンスとエコシステム
Ultralytics モデルの特徴の一つは、開発者の体験に重点を置いていることです。YOLOv5 "it just works "の基準を設定し、この哲学は続いています。ユーザーは、わずか数行のコードでカスタムデータ上でYOLOv5 モデルをトレーニングすることができ、収束を早めるために事前にトレーニングされた重みを活用することができます。
対照的に、YOLOv10 学術的には優れた結果を出すが、複雑な本番パイプラインに統合するには、よりカスタムエンジニアリングが必要になるかもしれない。Ultralytics 活気あるオープンソースコミュニティーを維持しており、バグが迅速に潰され、実際のユーザーからのフィードバックに基づいて機能が追加されることを保証している。
コード比較
これらのモデルの実行は簡単です。以下は、Python使ったそれぞれのロードと予測方法の例である。
YOLOv10使用:
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Perform inference on an image
results = model("path/to/image.jpg")
results[0].show()
YOLOv5 使用(PyTorch Hub経由):
import torch
# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference
results = model("path/to/image.jpg")
results.show()
結論
この2つのモデルは、コンピュータ・ビジョンにおける重要な成果である。 YOLOv10は、NMS設計によりレイテンシ最適化の限界を押し広げ、特殊で高速な検出タスクに最適な選択肢となっています。
しかし、ほとんどの開発者や企業にとって、Ultralytics エコシステム(ここではYOLOv5の永続的な信頼性に代表されるYOLOv5と最先端のパフォーマンス YOLO11-は、より包括的なソリューションを提供します。使いやすさ、豊富なドキュメント、マルチタスク機能の組み合わせにより、デバッグに費やす時間を減らし、価値を展開する時間を増やすことができます。
YOLOv5 アップグレードをお考えの方で、エコシステムの利点を維持されたい方は、ぜひ以下をご検討ください。 YOLO11は、最先端のパフォーマンス、アンカーフリー検出、OBBや姿勢推定を含むあらゆる視覚タスクのサポートを提供します。