YOLOv8 vs YOLOv5#
堅牢な機械学習パイプラインを構築するうえで、適切なコンピュータービジョンアーキテクチャの選択は重要なステップです。この技術比較では、ビジョンAIエコシステムで最も広く利用されているモデルのうち、YOLOv8とYOLOv5の2つを取り上げます。どちらもUltralyticsが開発し、リアルタイム物体検出の発展に大きく貢献して、速度、精度、使いやすさのベンチマークを築いてきました。
エッジデバイスへのデプロイでも、クラウド推論のスケーリングでも、これらのモデルのアーキテクチャの変化、性能指標、トレーニング手法を理解することで、コンピュータービジョンプロジェクトに適した判断を下せます。
Ultralytics YOLOv8:多用途なスタンダード#
2023年初頭にリリースされたYOLOv8は、従来のバージョンからアーキテクチャを大きく刷新しました。複数のビジョンタスクをネイティブに処理できる統合フレームワークとして一から設計され、インスタンスセグメンテーション、画像分類、姿勢推定などに対応します。
- 著者: Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織: Ultralytics
- 日付: 2023-01-10
- GitHub: ultralytics/ultralytics
- ドキュメント: YOLOv8のドキュメント
アーキテクチャと手法#
YOLOv8ではアンカーフリーの検出ヘッドが導入され、データセットの分布に基づいてアンカーボックスを手動設定する必要がなくなり、トレーニングプロセスが簡素化されました。これにより、カスタムデータセットへの汎化性能が向上し、ボックス予測の数が減ってNon-Maximum Suppression(NMS)が高速化します。
アーキテクチャにはC2fモジュール(2つの畳み込み層を持つCross-Stage Partialボトルネック)が採用されており、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のドキュメント
アーキテクチャと手法#
YOLOv5はアンカーベースのアーキテクチャを採用し、改良版のCSPDarknet53バックボーンを使用しています。アンカーベースの手法では、データセットのバウンディングボックス分布に合うアンカーが必要です(YOLOv5ではAutoAnchorによって自動的に確認・再計算されます)。また、明確に定義されたデータセットで良好に機能します。
YOLOv5は、パラメーター数を抑えながら効率的に特徴を抽出するC3モジュールを採用しています。損失関数では、物体らしさの損失と分類損失、バウンディングボックス回帰損失を組み合わせ、ネットワークが正確な予測を行えるようにします。
強みと弱み#
強み:
- 軽量であるため、Nano(YOLOv5n)とSmall(YOLOv5s)の各モデルは、リソースが限られたエッジAI環境へのデプロイに適しています。
- CPUとGPUの両方で推論が高速です。
- コミュニティのチュートリアルやサードパーティーとの統合が充実した、確立済みのエコシステムがあります。
弱み:
- アンカーボックスに依存するため、その事前設定が、多様性の高いデータセットやカスタムデータセットでの汎化性能を制限する場合があります。
- 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.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
この表では、YOLOv5はすべてのサイズでGPUレイテンシが低く、FLOPsも少ない一方、YOLOv8は全体的にmAPが大幅に高くなっています(たとえばNanoモデルでは37.3対28.0)。そのため、実環境で負荷の高いデプロイにおいて、精度と速度のバランスに優れています。
使いやすさとUltralyticsエコシステム#
最新のUltralyticsモデルの特徴の1つは、充実したエコシステムです。YOLOv5からYOLOv8への移行に伴い、統合されたultralytics pipパッケージが導入され、ユーザー体験が効率化されました。
開発者は数行のPythonコードだけでモデルのトレーニング、検証、推論、エクスポートを行えます。これにより、従来のディープラーニングプロジェクトで必要だった複雑な定型スクリプトを回避できます。
from ultralytics import YOLO
# 事前学習済みのYOLOv8モデルを読み込みます
model = YOLO("yolov8n.pt")
# カスタムデータでモデルを効率的にトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# 本番環境へのデプロイに向けて、モデルをONNXにエクスポートします
path = model.export(format="onnx")Ultralytics Platformを使えば、データセット管理、クラウドトレーニング、デプロイをさらに簡素化できます。
最適なユースケース#
YOLOv5を選ぶ場合: レガシーシステムの保守、Raspberry Piのような性能が大きく制約されたCPUでの推論、またはモデルサイズをわずかでも削減することが重要なプロジェクトに取り組む場合、YOLOv5は今も信頼できる実用的なモデルです。
YOLOv8を選ぶ場合: 2つのモデルを比べると、新しいプロジェクトにはYOLOv8が適しています。そのアーキテクチャはトラッキング、セグメンテーション、方向付きバウンディングボックス(OBB)に対応しており、自律型ロボティクスから医療画像解析、スマートシティのインフラまで、最新のアプリケーションに適しています。
YOLOv8は優れたモデルですが、新しいプロジェクトにはUltralyticsがYOLO26を推奨しています。2026年1月にリリースされ、次のような複数の進化を遂げています。
- エンドツーエンドのNMSフリーデザイン: オプションのone-to-oneヘッド(
nms=False)がNMS後処理をなくし、より高速でシンプルなデプロイを実現します。この手法はYOLOv10がYOLOモデルに導入しました。 - MuSGDオプティマイザー: SGDとMuonを組み合わせたハイブリッドで、LLMトレーニングの技術革新をコンピュータービジョンに応用し、トレーニングの安定性と収束速度を高めます。
- CPU推論が最大43%高速:YOLO26nはCPU上でYOLO11nより最大43%高速に動作するため、専用GPUを備えていないエッジコンピューティング環境に適しています。
- DFLの削除: Distribution Focal Lossを削除することで、エクスポートを簡素化し、エッジデバイスとの互換性を高めています。
- ProgLoss + STAL: Progressive LossとSmall-Target-Aware Label Assignmentにより、小物体の認識性能が大きく向上します。これは航空画像やIoTにおいて重要です。
Ultralyticsのドキュメントとツールを使えば、YOLOv8をデプロイしたり、負荷の高いビジョンアプリケーションにYOLO26を導入したりできます。さらに詳しく知りたい場合は、ハイパーパラメータの調整とモデルのデプロイ手法に関するガイドをご覧ください。