コンテンツにスキップ

Ultralytics YOLOv10 .YOLOv5:リアルタイム物体検出の進化

適切な物体検出モデルの選択には、アーキテクチャの効率性、デプロイメントの制約、コミュニティのサポートのバランスが求められます。この包括的な比較では、 YOLOv10(エンドツーエンド検出における学術的ブレークスルー)と YOLOv5(コンピュータビジョンにおける使いやすさの概念を再定義した伝説的な業界標準)の技術を比較検討します。

両モデルYOLO 画期的な飛躍を遂げている。YOLOv5 ユーザー体験と信頼性のゴールドスタンダードをYOLOv5 一方、YOLOv10 推論パイプラインから非最大抑制(NMS)を排除することでレイテンシの限界をYOLOv10 。最先端の速度とエンドツーエンドアーキテクチャを求める開発者向けに、新たにリリースUltralytics これらの基盤を継承しつつ、エッジデバイス向けに優れた最適化を施している。

性能指標の比較

以下の表は、2つのアーキテクチャ間の性能トレードオフを強調しています。YOLOv10 高い精度(mAP)を提供し、NMS 排除します。一方、YOLOv5 幅広いデプロイメントサポートと成熟度により、YOLOv5 非常に競争力のある選択肢YOLOv5 。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

YOLOv10:エンドツーエンドの革新者

YOLOv10 、後処理における非最大抑制(NMS)の必要性を排除することでパラダイムシフトYOLOv10 。これにより真のエンドツーエンド展開が可能となり、推論の遅延と複雑さが軽減される。

主要なアーキテクチャ機能

  • NMS:一貫した二重アサインメントを用いたNMSにより、モデルが直接個別のバウンディングボックスを予測できるようにする。
  • ホリスティック効率設計:様々な構成要素(背骨や首など)を最適化し、計算上の冗長性を削減します。
  • 空間チャネル分離型ダウンサンプリング:特徴マップの縮小処理における情報保持性を向上させる。
  • ランクガイド型ブロック設計:固有ランク解析に基づき、冗長性を低減するためにブロック段階を適応させる。

著者:Ao Wang, Hui Chen, Lihao Liu, et al.
所属機関:清華大学
日付:2024-05-23
リンク:Arxiv|GitHub

エンドツーエンド遅延

NMSすることで、YOLOv10 推論の変動をYOLOv10 低減する。標準的なYOLO 、NMS 検出された物体の数に比例し、混雑したシーンではレイテンシの急増を引き起こす可能性がある。YOLOv10出力YOLOv10、厳格なタイミング制約を持つリアルタイムシステムに理想的である。

YOLOv10について詳しくはこちら

YOLOv5:業界標準

Ultralytics リリースされたYOLOv5 、アーキテクチャだけでなくアクセシビリティの面でもこの分野にYOLOv5 。シームレスな「箱から出してすぐ使える」体験、堅牢なエクスポート機能、そして大規模なサポートエコシステムを優先した。

主な強み

  • 成熟したエコシステム:豊富なドキュメント、チュートリアル、コミュニティサポートにより、トラブルシューティングが容易です。
  • 幅広い互換性: TFLite、CoreML、ONNX、TensorRT へのエクスポート対応により、iOS からエッジTPUまで、事実上あらゆるハードウェアへのデプロイメントをTensorRT
  • 汎用性:検出に加え、インスタンスセグメンテーション画像分類をネイティブでサポート。
  • トレーニングの安定性:ハイパーパラメータの変動に対する頑健性と、多様なカスタムデータセット上での信頼性の高い収束性が特徴。

著者:グレン・ジョチャー
組織:Ultralytics
日付:2020-06-26
リンク:GitHub|ドキュメント

YOLOv5について詳しくはこちら

詳細な比較

アーキテクチャとトレーニング

YOLOv10 はトランスフォーマー型の最適化と高度なチャンネル単位の識別性をYOLOv10 、少ないパラメータで高精度を実現する。その「一貫した二重アサインメント」戦略により、トレーニング中に1対1のマッチングを学習でき、NMS 排除する。

YOLOv5 、速度と精度のバランスを最適化した、古典的なCSPDarknetバックボーンとPANetネックYOLOv5 。アンカーベースの検出方式を採用しており、独自のデータセットで最適な性能を発揮するにはアンカーボックスの慎重な調整が必要ですが、その自動アンカー進化機能により、ほとんどのユーザーにとってこの作業は自動的に処理されます。

ユースケースと実世界アプリケーション

YOLOv10の理想的なシナリオ:

  • 高密度群衆: NMS 、多数のボックスが重なり合うため処理速度が低下する。
  • 低遅延ロボティクス:制御ループにおいて一貫した推論時間が極めて重要となる領域。
  • 学術研究:エンドツーエンド検出メカニズムとラベル割り当て戦略の研究のため。

YOLOv5の理想的なシナリオ:

  • モバイル展開: TFLite CoreMLを使用したAndroid iOS 向けの確立されたパイプライン。
  • 産業用検査: mAP、長期的な安定性と再現性がより重要となる分野。
  • 初心者向けプロジェクト: コンピュータビジョンを学ぶ学生にとって最も簡単な入門ポイント。

使いやすさとエコシステム

YOLOv5 Ultralytics への統合によりYOLOv5 。ユーザーはComet でトレーニングの実行を可視化し、track 、モデルをシームレスにデプロイできます。Ultralytics はさらに、データセット管理とモデルトレーニングのためのノーコードインターフェースを提供することで、このプロセスを簡素化します。

YOLOv10 Ultralytics Python にYOLOv10 、慣れ親しんだ構文が使用可能ですが、主に学術的な貢献として位置付けられています。そのため、Ultralytics コアUltralytics である YOLO11 や最先端のYOLO26ほど頻繁な更新や深いメンテナンスを受けない可能性があります。

コード例

両モデルは統一されたUltralytics を共有しているため、ベンチマーク用にモデルを切り替える作業が容易です。

from ultralytics import YOLO

# Load a pretrained YOLOv10 model
model_v10 = YOLO("yolov10n.pt")

# Train YOLOv10 on a custom dataset
model_v10.train(data="coco8.yaml", epochs=100, imgsz=640)

# Load a pretrained YOLOv5 model (via the v8/v11/26 compatible loader)
model_v5 = YOLO("yolov5nu.pt")

# Train YOLOv5 using the modern Ultralytics engine
model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)

結論: どちらを選ぶべきか?

最先端の精度レイテンシの一貫性、特に混雑したシーンでの性能を最優先とする場合、 YOLOv10 は優れた選択肢です。そのアーキテクチャの革新性は、NMS検出の未来を垣間見せてくれます。

ただし、実戦で実証済みのソリューションで、詳細な導入ガイド、幅広いハードウェアサポート、そして最大限の安定性を求めるなら、 YOLOv5 は依然として強力な選択肢です。

両方の利点を求める開発者——NMS論、優れた精度、Ultralytics 完全なサポート——には、ぜひ YOLO26の検討を強く推奨します。YOLO26はYOLOv10 が先駆けたNMS設計をYOLOv10 MuSGDオプティマイザと最適化された損失関数により、CPU 最大43%高速化しています。

その他のモデルを発見する

  • YOLO11: 前世代のSOTAモデルであり、多様なタスクにおいて優れた汎用性を発揮します。
  • RT-DETR:NMSを除去するトランスフォーマーベースのリアルタイム検出器。
  • YOLO26:Ultralytics最新かつ最先端モデル。エンドツーエンド処理とエッジ最適化を特徴とする。

コメント