YOLOv5とYOLOv8の詳細な比較
物体検出のためのUltralytics YOLOv5とUltralytics YOLOv8を比較すると、各モデルの大きな進歩と明確な強みが明らかになります。Ultralyticsによって開発された両方のモデルは、その速度と精度で有名ですが、コンピュータビジョンの分野で異なるユーザーのニーズと優先順位に対応しています。このページでは、ユーザーがプロジェクトの要件に基づいて情報に基づいた意思決定を行うのに役立つ技術的な比較を提供し、Ultralyticsエコシステムの利点を強調しています。
YOLOv5:確立された汎用性の高い標準
Author: Glenn Jocher
Organization: Ultralytics
Date: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Docs: https://docs.ultralytics.com/models/yolov5/
Ultralytics YOLOv5は、リリース後すぐに業界標準となり、その卓越したスピード、精度、そして使いやすさで高く評価されています。PyTorchで完全に構築されたYOLOv5は、CSPDarknet53バックボーンと、効率的な特徴集約のためのPANetネックを備えた堅牢なアーキテクチャを特徴としています。そのアンカーベースの検出ヘッドは非常に効果的であり、モデルはさまざまなサイズ(n、s、m、l、x)で利用できるため、開発者は特定のパフォーマンスと計算ニーズに合わせて最適なトレードオフを選択できます。
長所
- 卓越した速度と効率性: YOLOv5は高速な推論のために高度に最適化されており、高性能サーバーからリソース制約のあるエッジデバイスまで、多様なハードウェアでのリアルタイムアプリケーションにとって最適な選択肢となっています。
- 使いやすさ: YOLOv5はその効率的なユーザーエクスペリエンスで知られており、シンプルなPythonとCLIインターフェースを提供し、広範なドキュメントによってサポートされています。
- 成熟した、十分にメンテナンスされたエコシステム: 長年の実績があるモデルとして、大規模で活発なコミュニティ、頻繁なアップデート、およびコード不要のトレーニングのための Ultralytics HUB などのツールを含む Ultralytics エコシステムとのシームレスな統合から恩恵を受けています。
- Training Efficiency: YOLOv5 は、すぐに利用できる事前学習済みウェイトを備えた効率的なトレーニングプロセスを提供し、迅速な開発サイクルを可能にします。一般的に、トランスフォーマーのようなより複雑なアーキテクチャと比較して、トレーニングと推論に必要なメモリが少なくなっています。
弱点
- Anchor-Based Detection: 事前に定義されたアンカーボックスに依存しているため、最新のアンカーフリー検出器とは異なり、異常な形状のオブジェクトを持つデータセットで最適なパフォーマンスを得るには、手動での調整が必要になる場合があります。
- 精度: 非常に高精度ですが、YOLOv8のような新しいモデルは、COCOデータセットのような標準的なベンチマークでその性能を上回っています。
理想的なユースケース
YOLOv5の速度と効率は、以下の用途に最適です。
- リアルタイムビデオ監視とセキュリティシステム。
- NVIDIA JetsonやRaspberry Piなどのエッジデバイスへのデプロイ。
- 産業オートメーション、および製造業における品質管理。
- シンプルさと迅速なトレーニング時間により、コンピュータビジョンプロジェクトの迅速なプロトタイピングが可能です。
YOLOv8:次世代の最先端フレームワーク
著者: Glenn Jocher, Ayush Chaurasia, and Jing Qiu
所属: Ultralytics
日付: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
ドキュメント: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8は、YOLOシリーズの次なる進化を代表するものであり、ビジョンAIタスクの全範囲をサポートする統合フレームワークとして設計されています。物体検出を超えて、インスタンスセグメンテーション、画像分類、ポーズ推定、および傾斜物体検出に優れています。YOLOv8は、最先端のパフォーマンスを提供するために、アンカーフリーの検出ヘッドや新しいC2fモジュールなどの主要なアーキテクチャの改善を導入しています。
長所
- 精度と速度の向上: YOLOv8は、速度と精度の優れたバランスを提供し、競争力のある推論速度を維持しながら、すべてのモデルサイズでYOLOv5よりも高いmAPスコアを達成します。
- 多様性: 単一のまとまりのあるフレームワーク内で複数のビジョンタスクをサポートしているため、複雑なAIシステムを開発するための非常に強力で柔軟なツールとなっています。
- 最新のアーキテクチャ: アンカーフリーの検出ヘッドは、出力層を簡素化し、アンカーボックスの調整が不要になるため、パフォーマンスが向上します。
- 充実したエコシステム: フラッグシップモデルとして、YOLOv8は活発な開発、頻繁なアップデート、そして強力なコミュニティサポートの恩恵を受けています。これは、効率化されたMLOpsのためのUltralytics HUBプラットフォームを含む、Ultralyticsエコシステムに完全に統合されています。
- メモリ効率: 高度なアーキテクチャにもかかわらず、YOLOv8は低メモリ使用量に最適化されており、幅広いハードウェアで利用できます。
弱点
- Computational Demand: 最大規模のYOLOv8モデル(YOLOv8xなど)は、かなりの計算リソースを必要とするため、制約の厳しい環境でのデプロイメントを検討する際には考慮が必要です。
理想的なユースケース
YOLOv8は、最高の精度と柔軟性を要求するアプリケーションに推奨される選択肢です。
- 高度なロボティクス: 複雑なシーン理解と多物体インタラクションを必要とします。
- 医療画像や衛星画像など、高解像度画像解析において、きめ細かい詳細が重要な場合。
- 検出、セグメンテーション、ポーズ推定を同時に実行する必要があるマルチタスクビジョンシステム。
- New projects: 最新の最先端モデルから始めることが優先されるプロジェクト。
性能ベンチマーク:YOLOv5 vs. YOLOv8
YOLOv5とYOLOv8の性能差は、COCOデータセットでの指標を比較すると明らかです。全体的に、YOLOv8モデルは、同程度のパラメータ数と計算コスト(FLOPs)で、より高い精度(mAP)を示しています。例えば、YOLOv8nは37.3のmAPを達成し、YOLOv5s(37.4 mAP)とほぼ同等ですが、パラメータは68%少なく、CPU推論は大幅に高速です。
しかし、YOLOv5は、特にGPUの生の速度が最優先事項となるシナリオでは、依然として手ごわい競争相手です。たとえば、YOLOv5nモデルは、T4 GPUで最速の推論時間を誇っています。これにより、最適化されたハードウェア上で実行されるリアルタイムアプリケーションにとって優れた選択肢となります。
モデル | サイズ (ピクセル) |
mAPval 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 |
主なアーキテクチャの違い
YOLOv5からYOLOv8への進化では、その優れたパフォーマンスと柔軟性に貢献するいくつかの重要なアーキテクチャの変更が導入されました。
バックボーンとネック
YOLOv5 は、バックボーンとネックに C3 モジュールを使用しています。対照的に、YOLOv8 はそれを C2f モジュールに置き換えます。C2f(2 つの畳み込みを持つ Cross Stage Partial BottleNeck)モジュールは、より効率的な特徴融合とより豊富な勾配フローを提供し、モデルの全体的な精度を向上させます。
検出ヘッド
主な違いは、検出ヘッドにあります。YOLOv5は、結合されたアンカーベースのヘッドを採用しています。つまり、同じ機能セットが、物体分類とバウンディングボックス回帰の両方に使用されます。YOLOv8は、分離されたアンカーフリーヘッドを利用しています。このタスクの分離(分類用のヘッドと回帰用のヘッド)により、それぞれが特化することができ、精度が向上します。アンカーフリーのアプローチは、トレーニングプロセスを簡素化し、アンカーボックスの事前分布を調整する必要性を排除し、モデルをさまざまなデータセットにより適応させます。
トレーニング方法論とエコシステム
YOLOv5とYOLOv8はいずれもPyTorch上に構築されており、Ultralyticsの合理化されたトレーニングパイプラインを活用して、一貫性のあるユーザーフレンドリーな体験を提供します。
- 使いやすさ: どちらのモデルも、提供されているCLIまたはPythonインターフェースを使用して、最小限のセットアップで簡単にトレーニングできます。包括的なドキュメント(YOLOv5 Docs、YOLOv8 Docs)とシンプルなAPIにより、カスタムトレーニングが簡単になります。
- Efficient Training: 最適化されたトレーニングスクリプトとすぐに利用できる事前学習済みの重みにより、トレーニング時間と計算コストが大幅に削減されます。
- データ拡張: 両モデルとも、モデルの汎化性能を向上させ、過学習を軽減するために、堅牢な組み込みのデータ拡張技術を組み込んでいます。
- Ultralyticsエコシステム: Ultralytics HUBのようなツールや、TensorBoardやCometのようなロギングプラットフォームとの統合により、実験の追跡、モデル管理、デプロイメントが簡素化されます。
結論: どのモデルを選ぶべきか?
YOLOv5とYOLOv8はいずれもUltralyticsによって開発された強力な物体検出モデルであり、優れたパフォーマンスと使いやすさを提供します。どちらを選択するかは、主に特定のプロジェクト要件によって異なります。
-
YOLOv5は、特に特定のハードウェアで推論速度を最大化することが重要なアプリケーションにとって、依然として強力で信頼性の高い候補です。その成熟度は、広大なエコシステムを持ち、数え切れないほどの実際の展開で実証されていることを意味します。リソース予算が限られているプロジェクトや、エッジデバイスへの迅速な展開が必要なプロジェクトに最適です。
-
YOLOv8は、YOLOシリーズの最先端を代表するものであり、優れた精度、複数のビジョンタスクにわたる強化された多様性、およびより最新のアーキテクチャを提供します。アンカーフリー設計と高度な機能により、最先端のパフォーマンスと、複雑で多面的なAI課題を処理する柔軟性を求める新しいプロジェクトに最適な選択肢となります。
Ultralyticsは革新を続けており、両方のモデルが十分にサポートされ、使いやすく、多様な現実世界のシナリオに適した速度と精度の優れたバランスを提供することを保証します。
その他の Ultralytics モデルを調べる
他の最先端のオプションをご検討中の方には、UltralyticsはYOLOv9、YOLOv10、最新のYOLO11などのモデルも提供しており、それぞれにパフォーマンスと効率において独自の利点があります。詳細な比較は、Ultralyticsのドキュメントでご覧いただけます。