YOLOv5 YOLOv8:リアルタイム物体検出の進化
物体検出の進化は、YOLO (You Only Look Once)モデルファミリーによって大きく形作られてきた。開発者 UltralyticsYOLOv5 YOLOv8 、コンピュータビジョンの歴史において極めて重要な瞬間である。YOLOv5 、そのシンプルさとスピードにより、世界で最も愛され、広く使用されている検出アーキテクチャとしての地位を確立しましたが、YOLOv8 、より広範なビジョンタスクをサポートするために、最先端のアーキテクチャの革新と統一されたフレームワークを導入しました。
この2つの強豪のどちらを選ぶかは、特定のプロジェクトの制約、ハードウェアの可用性、マルチタスク機能の必要性によって決まります。このガイドでは、コンピュータ・ビジョンのエンジニアや研究者が正しい判断を下せるよう、深い技術的分析を提供します。
YOLOv5:実績ある業界標準
Author: Glenn Jocher
Organization:Ultralytics
Date: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
Docs:https://docs.ultralytics.com/models/yolov5/
2020年半ばにリリースされたYOLOv5 5は、物体検出のアクセシビリティに革命をもたらした。YOLO モデルとしては初めて PyTorchでネイティブに実装された最初のYOLOモデルであり、前任者が使用していたDarknetフレームワークから移行した。この移行により、開発者はカスタムデータセットの学習、デプロイ、実験が驚くほど簡単になりました。
YOLOv5 CSPDarknetバックボーンを利用し、アンカーベースの検出器です。つまり、オブジェクトの位置を予測するために、あらかじめ定義されたアンカーボックスに依存する。このアプローチでは、独自のデータセットで最適なパフォーマンスを得るためにハイパーパラメータのチューニングが必要だが、非常に効果的であることに変わりはない。そのアーキテクチャは推論速度と低メモリ性能を重視しており、Raspberry Piや NVIDIA Jetsonの初期世代のようなリソースに制約のあるハードウェアでの展開に適している。
YOLOv55の主な強み
- レガシーの安定性:本番環境での長年にわたる積極的な使用により、最も安定したバグのないビジョンモデルの1つとなっています。
- エッジの最適化:特に古いCPUや特定のモバイルプロセッサーでは、YOLOv55のシンプルなアーキテクチャの方が推論レイテンシーが速くなることがある。
- 広大なエコシステム:チュートリアル、サードパーティとの統合、フォーラムでのディスカッションなど、大規模なコミュニティがトラブルシューティングと開発をサポートします。
YOLOv8:マルチタスク・パワーハウス
著者Glenn Jocher、Ayush Chaurasia、Jing Qiu
組織:Ultralytics
日付:2023-01-10
GitHubultralytics
Docsyolov8
YOLOv8 、単なる物体検出器としてではなく、画像分割、姿勢推定、分類、方向バウンディングボックス(OBB)検出のための包括的なフレームワークとして設計されており、大きな飛躍を遂げている。
アーキテクチャ的には、YOLOv8 、オブジェクトネス、分類、回帰の各タスクを分離し、ヘッドを分離した アンカーフリー設計に移行した。また、YOLOv55にあったC3モジュールに代わり、C2fモジュール(Cross Stage Partial BottleNeck with 2 convolutions)が導入された。C2fモジュールは勾配フローと特徴融合を改善し、計算コストを大幅に増加させることなく、モデルがより複雑なパターンを学習できるようにする。
YOLOv88の主な強み
- 最先端の精度: COCO およびカスタムデータセットにおいて、YOLOv5比較して常に高いmAP (平均精度)スコアを達成。
- Anchor-Free Detection: アンカーボックスの計算や調整が不要になり、トレーニングパイプラインが簡素化され、通常とは異なるアスペクト比のオブジェクトに対する一般化が向上します。
- 汎用性:同じAPIを使用して、検出、セグメンテーション、ポーズ推定を切り替えることができるため、複雑なプロジェクトの開発時間が大幅に短縮されます。
テクニカル・ディープ・ダイブアーキテクチャとパフォーマンス
YOLOv5 YOLOv8 移行は、パフォーマンス向上の原動力となるいくつかの "アンダーフード "の変更によって特徴づけられる。
建築シフト
最も顕著な違いは検出ヘッドだ。YOLOv5 5は、分類とローカライゼーションが特徴を共有する結合ヘッドを採用している。YOLOv8 非結合型ヘッドを採用し、ネットワークが、物体が何であるか、どこにあるかを識別するために、重みを独立して調整できるようにしている。これにより、通常、収束性が向上し、精度が向上する。
さらに、バックボーンがC3からC2fに進化したことで、YOLOv8 より豊富な勾配情報を捉えることができるようになった。これによってアーキテクチャは若干複雑になったが、Ultralytics トレーニング効率が高く保たれるように実装を最適化した。
パフォーマンス指標
標準的なCOCO データセットでモデルを比較すると、YOLOv8 優れた精度対計算比を示した。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
イラストの通り、 YOLOv8n(Nano)は37.3のmAP 達成し、37.4を記録した大型のYOLOv5s(Small)に実質的に匹敵するが、FLOP数は大幅に少ない。この効率性は、最新のエッジAIアプリケーションにとって非常に重要です。
トレーニング方法論とエコシステム
Ultralytics モデルの特徴の1つは、開発者のエクスペリエンスに重点を置いていることです。どちらのモデルも包括的なUltralytics エコシステムの恩恵を受けていますが、アクセス方法は若干異なります。
使いやすさとAPI
YOLOv8 ultralytics Python パッケージは、統一されたCLI Python インターフェースです。このパッケージは、依存関係を効果的に管理し、以下のための一貫したAPIを提供します。 トレーニング, 検証、および 予測。興味深いことに、最新の ultralytics パッケージはYOLOv5 モデルをロードして実行することもでき、世代間のギャップを埋める。
from ultralytics import YOLO
# Load a YOLOv8 model (Official)
model_v8 = YOLO("yolov8n.pt")
# Load a YOLOv5 model (Legacy support via Ultralytics package)
model_v5 = YOLO("yolov5nu.pt")
# Training is identical for both
results = model_v8.train(data="coco8.yaml", epochs=100)
メモリと効率
のようなトランスベースのモデルと比較すると RT-DETRに比べて、YOLOv5 YOLOv8 非常にメモリ効率が高い。トランスフォーマーは、収束するまでにかなりのCUDA メモリーと長いトレーニング時間を必要とすることが多い。対照的に、Ultralytics YOLO モデルは、コンシューマーグレードのGPUやCPUでも実行できるように最適化されており、高性能AIへのアクセスを民主化します。
統合エコシステム
どちらのモデルもUltralytics HUBと完全な互換性があり、シームレスなデータセット管理、モデルの視覚化、実世界のデバイスへのワンクリックでのデプロイを可能にします。
理想的なユースケース
適切なモデルを選ぶには、そのモデルが展開される特定の環境に行き着くことが多い。
YOLOv5選ぶとき
YOLOv5 依然として優れた選択肢である:
- レガシーシステム:インフラがすでにYOLOv5 アーキテクチャを中心に構築されている場合、既存のパイプラインを更新する。
- 特定のエッジハードウェア:一部の古いNPU(ニューラル・プロセッシング・ユニット)ドライバーは、YOLOv5 アーキテクチャ向けに高度に最適化されています。
- 超低レイテンシー: CPU 推論のミリ秒単位が重要なシナリオでは、YOLOv5nのシンプルなカップリングヘッドがv8nよりもスピード面で優位に立つことがある。
YOLOv8選ぶとき
YOLOv8 こんな方におすすめです:
- 新しい展開今日からプロジェクトを始めるには、YOLOv8 (または新しい YOLO11)は、より将来性のある道を提供する。
- 複雑なタスク: インスタンスセグメンテーション(例:医療細胞分析)やキーポイント検出(例:スポーツ分析)を必要とするアプリケーション。
- 高精度の要件: 自律走行車の安全システムやセキュリティ監視など、検出漏れが致命的なシナリオ。
結論
YOLOv5 YOLOv8 どちらも、オープンソースのイノベーションに対するUltralyticsコミットメントの証です。 YOLOv5は、信頼性が高く、高速で、広くサポートされている、この分野では伝説的な存在です。しかし YOLOv8は、開発者が期待する使いやすさを犠牲にすることなく、より高い精度と高い汎用性を提供するアーキテクチャの進歩によって、この基盤を改良しています。
大半の新規プロジェクトでは、YOLOv8 8の進化を活用するか、最新の YOLO11へのアップグレードをお勧めします。
その他のモデルを見る
最新の探知技術を探求することに興味があるなら、ぜひ調べてみてほしい:
- YOLO11: 最新の進化版であり、YOLOv8よりも高速な処理と改善された特徴抽出を提供します。
- RT-DETR: GPUメモリの制約が少ない場合に理想的な、リアルタイムアプリケーション向けに高い精度を提供するTransformerベースのモデル。