YOLOv5 YOLOv10:リアルタイム物体検出の進化
物体検出の展望は、You Only Look OnceYOLO)シリーズによって大きく形作られてきた。創設以来、YOLO スピードと精度のバランスを保ち、コンピュータ・ビジョン開発者のための最適なアーキテクチャとなった。この比較では、この歴史における2つの重要な瞬間を探ります: Ultralytics YOLOv5信頼性と汎用性の業界標準、そして YOLOv10YOLOv10は、清華大学が最近発表したアカデミック・リリースで、NMS検出を導入し、効率を高めている。
モデル概要
Ultralytics YOLOv5
2020年6月発売グレン・ジョーチャーとUltralytics, YOLOv5は、AIモデルのデプロイ方法を根本的に変えた。使いやすさ、多様なフォーマットCoreML、ONNX、TFLite)へのエクスポート、エッジハードウェア上での堅牢なパフォーマンスを優先した。YOLOv5 は、"it just works "の哲学と広範なコミュニティ・サポートにより、世界的に最も人気があり、広く展開されているビジョン・モデルのひとつであり続けています。
主な著者Glenn Jocher
組織:Ultralytics
リリース日:2020-06-26
GitHub:yolov5
YOLOv10
清華大学の研究者によって2024年5月にリリースされたYOLOv10 、旧バージョンで見られた後処理のボトルネックを解消することを目的としている。NMSトレーニングに一貫したデュアル割り当てを導入することで、推論パイプラインを最適化し、待ち時間と計算オーバーヘッドを削減する。
主要著者Ao Wang, Hui Chen, et al.
Organization:清華大学
公開日:2024-05-23
arXiv:YOLOv10: リアルタイムのエンドツーエンド物体検出
最新イノベーション
これらの強力なアーキテクチャを比較する一方で、新しいプロジェクトを開始する開発者は、次のような評価も行うべきである。 YOLO11.YOLO11 は、両者の長所を基に構築されており、最先端の精度、改善された特徴抽出、ポーズ推定や 指向性オブジェクト検出のような多様なタスクのネイティブサポートを提供する。
建築と技術革新
YOLOv5 YOLOv10 10のアーキテクチャーの違いは、成熟したアンカーベースの信頼性から、最先端のアンカーフリーの効率性へのシフトを強調している。
YOLOv5:アンカー・ベース・スタンダード
YOLOv5 、CSPNet(Cross Stage Partial Network)バックボーンを採用し、精度を維持しながらFLOPSを最小化するために、モデルの深さと幅のバランスをとっている。また、アンカーボックスに依存している。アンカーボックスは、モデルがオブジェクトの寸法を予測するのに役立つ、あらかじめ定義された形状である。
- バックボーン:CSP-Darknet53はグラディエント・フローに焦点を当てた。
- ヘッド:アンカーベースの予測による結合ヘッド。
- 後処理:重複検出をフィルタリングするためにNon-Maximum Suppression(NMS)が必要。
YOLOv10:NMS効率性
YOLOv10 、全体的な効率と精度を重視した設計を導入している。その際立った特徴は、一貫性のあるデュアル割り当てを用いたNMS学習戦略です。これにより、モデルは推論中にオブジェクトごとに正確に1つのバウンディングボックスを予測することができ、待ち時間を誘発するNMS ステップを完全に取り除くことができます。
- バックボーン:ラージカーネル畳み込みと部分的自己アテンションで強化。
- ヘッド:1対多と1対1のラベル割り当てを組み合わせた統一ヘッド。
- 最適化:冗長性を減らすためのランクガイド付きブロック設計。
パフォーマンス分析
次の表は、COCO データセットの性能指標を比較したものである。YOLOv5 、特にNanoバリアントのCPU 速度において競争力を維持しているのに対し、YOLOv10 パラメータと精度mAP)の点で優れた効率性を示している。
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
指標の内訳
- 精度 (mAP): YOLOv10は平均適合率が大幅に向上しています。例えば、YOLOv10nはYOLOv5nの28.0 mAPと比較して39.5 mAPを達成し、困難なオブジェクトをdetectする能力がはるかに高くなっています。
- 効率: YOLOv10 、より少ないパラメーター(Nanoモデルの2.6Mに対して2.3M)でこの結果を達成し、最適化されたアーキテクチャ設計の利点を示している。
- 推論速度:YOLOv5nは、CPU上では驚異的な速さを維持している(73.6ms)。これは、古いRaspberry PiユニットのようなGPU エッジ・デバイスにとって重要である。しかし、GPU ハードウェアTensorRT)上では、YOLOv10 方が精度が高いにもかかわらず、競争力のある速度を維持している。
長所と短所
Ultralytics YOLOv5
- 比類なきエコシステム:長年の開発に裏打ちされた、最大級の活発なコミュニティ。問題は迅速に解決され、リソースも豊富です。
- 汎用性:検出だけでなく、画像のセグメンテーションや 分類もネイティブにサポートします。
- 使いやすさ:APIはシンプルに設計されています。PyTorch Hubからモデルをロードするコードは1行で済みます。
- 展開:携帯電話からクラウドサーバーまで、あらゆるアプリケーションに対応します。
YOLOv10
- 低レイテンシー: NMS 削除により、後処理時間が大幅に短縮されます。これは、ミリ秒単位が重要なリアルタイム・アプリケーションには不可欠です。
- パラメータ効率:パラメーターあたりの精度が高いため、ストレージやメモリーが限られている機器に適しています。
- フォーカス強力ではあるが、主に物体検出に特化しており、Ultralytics YOLO シリーズ(v8、11)に見られるネイティブなマルチタスクの幅(ポーズ推定など)がない。
メモリー要件
どちらのモデルも軽量に設計されています。トレーニング中に膨大なCUDA メモリを消費する大規模なトランスフォーマーモデルとは異なり、Ultralytics YOLO モデルはメモリ効率に最適化されているため、VRAMがそこそこのコンシューマーグレードのGPUでもトレーニングが可能です。
実際のユースケース
YOLOv5選ぶとき
YOLOv5 5は、安定性と幅広いプラットフォーム・サポートを必要とする生産システムにとって、実用的な選択肢である。
- 産業用オートメーション:信頼性が最重要視される製造業の品質管理に広く使用されている。
- モバイルアプリ: iOS CoreML)およびAndroid TFLite)との互換性が証明されているため、デバイス上のアプリとの統合に最適です。
- ラピッドプロトタイピング:膨大な量のチュートリアルとドキュメントにより、開発者はコンセプトからPOCまで数時間で行うことができる。
YOLOv10選ぶとき
YOLOv10 、最高の精度対効率を要求するシナリオに最適です。
- 高速ロボティクス: NMSアーキテクチャは、自律型ロボットの制御ループにとって極めて重要なレイテンシのばらつきを低減する。
- 学術研究: 最新のエンドツーエンドdetectパラダイムに対するベンチマークを検討している研究者は、YOLOv10のアーキテクチャが斬新かつ効果的であることを見出すでしょう。
- 遠隔監視:限られた帯域幅やストレージで運用されるセキュリティシステムに最適ですmAP
トレーニングと使いやすさ
Ultralytics 、合理化された開発者体験を優先します。古典的なYOLOv5 リポジトリでも、最新の ultralytics 新しいモデルのパッケージは、直感的に操作できる。
YOLOv5使う
YOLOv5 5はPyTorch Hub経由で簡単にロードでき、すぐに推論ができることで有名だ。
import torch
# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference on an image
img = "https://ultralytics.com/images/zidane.jpg"
results = model(img)
# Display results
results.show()
YOLOv10使用
YOLOv10 、以下の方法で統合できます。 ultralytics Python パッケージは、同じ強力なAPIの恩恵を受けている。
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on COCO data
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
model.predict("https://ultralytics.com/images/bus.jpg", save=True)
結論
両アーキテクチャは、コンピュータ・ビジョンにおける画期的な出来事である。 YOLOv5は、堅牢で汎用性が高く、大規模なエコシステムによってサポートされている、業界の信頼できる主力製品です。YOLOv5は、多様なデプロイメント・ニーズに対応する、安全で「頼りになる」選択肢です。 YOLOv10は、NMS設計で効率の限界を押し広げ、制約のあるハードウェアで最大限の精度を必要とする、検出タスクに特化したユーザーにとって魅力的なアップグレードを提供します。
Ultralytics 成熟したエコシステムと最先端の精度とスピードを組み合わせた、両世界の最高のものを求める開発者には、以下をお勧めします。 YOLO11.YOLO11 は、これらの進歩を統合し、あらゆるビジョン・タスクに対応できる単一の強力なフレームワークです。
YOLOv5 YOLOv8、またはYOLOv10 YOLO11比較をご覧ください。