YOLOv8 と YOLOv5 の比較#
適切なコンピュータービジョンアーキテクチャを選択することは、堅牢な機械学習パイプラインを構築するうえで重要なステップです。この詳細な技術比較では、ビジョンAIエコシステムで最も広く利用されている2つのモデル、YOLOv8 と YOLOv5 の違いを検証します。両モデルはUltralyticsによって開発され、リアルタイムの物体検出の分野を大きく変革し、速度、精度、使いやすさにおける業界標準を確立しました。
エッジデバイスにデプロイする場合でも、クラウド推論をスケールする場合でも、これらのモデルのアーキテクチャの変化、パフォーマンス指標、トレーニング手法を理解することで、コンピュータービジョンプロジェクトに関する十分な情報に基づいた意思決定が可能になります。
Ultralytics YOLOv8:汎用性に優れた標準#
2023年初頭にリリースされたYOLOv8は、前世代から大きなアーキテクチャ変更を遂げました。複数のビジョンタスクをネイティブに処理できる統合フレームワークとして、ゼロから設計されており、インスタンスセグメンテーション、画像分類、姿勢推定などに対応しています。
- 著者: Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織: Ultralytics
- 日付: 2023-01-10
- GitHub: ultralytics/ultralytics
- ドキュメント: YOLOv8ドキュメント
アーキテクチャと手法#
YOLOv8はアンカーフリーの検出ヘッドを導入しました。これにより、データセットの分布に基づいてアンカーボックスを手動で設定する必要がなくなり、トレーニングプロセスが簡素化されます。その結果、カスタムデータセットへの汎化性能が向上し、ボックス予測数が削減されるため、非最大抑制 (NMS)も高速化されます。
このアーキテクチャはC2fモジュール(2つの畳み込みを備えたステージ間部分結合ボトルネック)を特徴としており、YOLOv5に搭載されていたC3モジュールに置き換わるものです。C2fモジュールは勾配フローを改善し、計算コストを大幅に増加させることなく、モデルがより豊かな特徴表現を学習できるようにします。さらに、YOLOv8は分離ヘッド構造を採用し、オブジェクトネス、分類、回帰のタスクを分離しています。これにより、収束速度と精度が向上することが示されています。
YOLOv8を含むUltralyticsのYOLOモデルは、RT-DETRのような多くのTransformerベースの代替モデルと比較して、トレーニング時のCUDAメモリ使用量が少なくなるよう最適化されています。これにより、開発者はNVIDIA RTXシリーズなどの一般的なコンシューマー向けGPUで、より大きなバッチサイズを使用できます。
長所と短所#
強み:
- 単純なバウンディングボックス検出を超え、複数のタスクにわたって比類のない汎用性を提供します。
ultralyticsパッケージによる合理化されたPython APIにより、トレーニングとエクスポートを直感的に実行できます。- YOLOv5と比較して、すべてのサイズバリエーションでより高い平均適合率 (mAP)を実現します。
弱み:
- 分離ヘッドとC2fモジュールにより、一部のバリエーションでは、対応するYOLOv5モデルと比較してパラメーター数とFLOPsがわずかに増加します。
Ultralytics YOLOv5:俊敏なパイオニア#
2020年に登場したYOLOv5は、YOLOをPyTorchエコシステムに導入し、開発者にとっての利用しやすさを大幅に向上させました。すぐに、高速で信頼性が高く、容易にデプロイできる物体検出モデルの業界標準となりました。
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020-06-26
- GitHub: ultralytics/yolov5
- ドキュメント: YOLOv5 Documentation
アーキテクチャと手法#
YOLOv5はアンカーベースのアーキテクチャを採用し、変更を加えたCSPDarknet53バックボーンを使用しています。アンカーベースの手法では、トレーニング前にデータセットのバウンディングボックスを慎重にクラスタリングして最適なアンカーを定義する必要がありますが、特定の、明確に定義されたデータセットに対しては非常に効果的です。
YOLOv5はC3モジュールを採用しており、パラメーター数を低く抑えながら効率的に特徴を抽出します。その損失関数は、オブジェクトネス損失に分類損失とバウンディングボックス回帰損失を組み合わせて大きく依存し、正確な予測ができるようネットワークを導きます。
長所と短所#
強み:
- 非常に軽量であるため、Nano(YOLOv5n)およびSmall(YOLOv5s)バリエーションは、リソースが限られたエッジAIへのデプロイに特に適しています。
- 特にCPU上で、非常に高速な推論速度を実現します。
- コミュニティのチュートリアルやサードパーティー統合が豊富で、成熟したエコシステムを備えています。
弱み:
- アンカーボックスの設定が必要なため、変化の大きいデータセットやカスタムデータセットではセットアップが複雑になる場合があります。
- YOLOv8やYOLO26のような最新のアンカーフリーアーキテクチャと比較して、全体的な精度(mAP)が低くなります。
性能比較#
これらのモデルを評価する際には、速度と精度のバランスを有利に取ることが最も重要です。以下の表では、COCOデータセットで評価した両アーキテクチャのパフォーマンス指標を示します。CPU速度はONNXを使用して測定し、GPU速度はTensorRTを使用してテストしました。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
YOLOv5はNanoバリエーションでパラメーター数と絶対的な生の速度においてわずかに優位性を保っていますが、YOLOv8は全体にわたってmAPを大幅に向上させており、要求の厳しい実環境のデプロイシナリオに対して、はるかに優れたパフォーマンスバランスを提供します。
使いやすさとUltralyticsエコシステム#
現代のUltralyticsモデルを特徴づけるのは、それらを取り巻く十分にメンテナンスされたエコシステムです。YOLOv5からYOLOv8への移行では、統合されたultralytics pipパッケージが導入され、非常に合理化されたユーザー体験が実現しました。
開発者は、わずか数行のPythonコードでモデルのトレーニング、検証、予測、エクスポートをシームレスに処理できます。これにより、従来のディープラーニングプロジェクトで必要とされていた複雑な定型スクリプトを回避できます。
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model on custom data efficiently
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Export the model to ONNX for production deployment
path = model.export(format="onnx")さらに、Ultralytics Platformなどのツールとの統合により、データセット管理、クラウドトレーニング、デプロイが簡素化され、継続的な開発と強力なコミュニティサポートが確保されます。
理想的なユースケース#
YOLOv5を選択する場合: レガシーシステムを維持している場合、Raspberry Piのような非常に制約の多いCPUで推論を実行する場合、またはモデルサイズを1メガバイト未満の単位まで削減することが重要なプロジェクトに取り組んでいる場合、YOLOv5は信頼性の高い実用的なモデルであり続けます。
YOLOv8を選択する場合: 現在開始するほぼすべての新規プロジェクトでは、YOLOv5よりもYOLOv8を強く推奨します。高度なアーキテクチャにより、複雑なトラッキング、回転バウンディングボックス (OBB)、セグメンテーションを容易に処理できます。自律ロボティクスから医用画像解析、スマートシティインフラまで、現代の幅広いアプリケーションに適しています。
YOLOv8は非常に高い能力を備えていますが、性能の最前線を追求する開発者は**YOLO26**を検討してください。2026年にリリースされ、いくつかの画期的な進歩を導入しています。
- エンドツーエンドのNMSフリーデザイン: NMSの後処理を排除して、より高速でシンプルなデプロイを実現します。この概念はYOLOv10で初めて先駆的に導入されました。
- MuSGDオプティマイザー: SGDとMuonを組み合わせたハイブリッドで、LLMトレーニングのイノベーションをコンピュータービジョンにもたらし、より安定したトレーニングと高速な収束を可能にします。
- CPU推論が最大43%高速化: 専用GPUのないエッジコンピューティング環境向けに、高度に最適化されています。
- DFLの除去: Distribution Focal Lossを削除し、エクスポートを簡素化するとともに、エッジデバイスとの互換性を高めています。
- ProgLoss + STAL: 高度な損失関数により、小さな物体の認識を大幅に改善します。これは航空画像やIoTにおいて重要です。
Ultralyticsが提供する包括的なドキュメントとツールを活用することで、YOLOv8を容易にデプロイしたり、最先端のYOLO26を試したりして、複雑な視覚的課題をかつてない速度と精度で解決できます。さらに学習を進めるには、ハイパーパラメーターのチューニングとモデルのデプロイ手法に関するガイドをご覧ください。