コンテンツにスキップ

YOLOv5 .YOLOv8:Ultralytics 検出の進化

コンピュータビジョン分野は急速に進歩しており、その大きな原動力となっているYOLO You Only Look Once)オブジェクト検出器ファミリーの継続的な革新である。この系譜の中で最も影響力のあるバージョンは二つあり、 YOLOv5YOLOv8であり、Ultralytics開発されました。YOLOv5 2020年のリリース時に使いやすさと柔軟性において業界標準をYOLOv5 、YOLOv8 2023年リリース)YOLOv8 最先端の性能を再定義するアーキテクチャ上の画期的な進歩をもたらしました。

このガイドは、開発者、研究者、エンジニアが特定のアプリケーション要件に適したモデルを選択できるよう、詳細な技術比較を提供するとともに、YOLO26などの分野における最新の進歩にも焦点を当てています。

Ultralytics YOLOv5: 業界標準

2020年6月にリリースされた、 YOLOv5 はAIの民主化における重要な転換点となった。主にC言語で記述された先行モデル(Darknet)とは異なり、YOLOv5 ネイティブ PyTorch 実装であり、Python コミュニティにとって非常にアクセスしやすいものとなりました。

主な機能とアーキテクチャ

YOLOv5 、速度、精度、ユーザーフレンドリーな設計のバランスが評価YOLOv5 。そのアーキテクチャはYOLOv4からいくつかの重要な改良を導入しました:

  • CSPDarknetバックボーン:クロスステージ部分接続を活用し、勾配の流れを改善しパラメータ数を削減する。
  • 自動学習アンカーボックス:トレーニング開始前にカスタムデータセット向けの最適なアンカーボックス寸法を自動的に学習します。
  • モザイクデータ拡張:4枚の画像を1枚に統合する学習手法であり、モデルのdetect 物体detect 能力を強化し、文脈一般化能力を向上させる。

技術仕様:

YOLOv5について詳しくはこちら

Ultralytics YOLOv8:最先端技術の定義

2023年1月にリリースされた YOLOv8 はコンピュータビジョン技術における大きな飛躍を象徴するものでした。YOLOv5 で採用されていたアンカーベース検出から脱却し、アンカーフリー設計YOLOv5 移行。これにより学習プロセスが簡素化され、様々な物体形状に対する汎化性能が向上しました。

アーキテクチャの革新

YOLOv8 速度と精度の両方を向上させる数々の最新YOLOv8 :

  • アンカーフリー検出:手動でのアンカーボックス設定を不要にし、物体の中心を直接予測します。これによりボックス予測数が削減され、非最大抑制(NMS)が高速化されます。
  • C2fモジュール: YOLOv5モジュールを置き換え、より豊かな勾配フローを提供し、特徴抽出の向上に向けてチャネル数を調整します。
  • 分離ヘッド:オブジェクト検出、分類、回帰の各タスクを別々のブランチに分離し、それぞれがより効果的に収束できるようにする。
  • タスク汎用性:検出だけでなく、インスタンスセグメンテーション姿勢推定分類およびOBB(Oriented Bounding Box)をサポートするよう、一から設計されています。

技術仕様:

YOLOv8について詳しくはこちら

パフォーマンス比較

これら2つの高性能モデルを比較すると、同等のハードウェア環境において、YOLOv8 精度(mAP)と処理速度YOLOv5 YOLOv8 YOLOv5 を上回ることが明らかである。ただし、YOLOv5 レガシーシステム向けに極めて効率的な高性能モデルとしてのYOLOv5 。

以下の表はCOCO における性能をまとめたものです。太字の値は各カテゴリにおける最高性能を示します。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

分析

YOLOv8n Nano) は、パラメータ数をわずかに増加させるだけで、YOLOv5n (28.0) と比較して著しく高いmAP 37.3) を達成する。この効率性の向上により、精度が1%単位で重要となる現代のエッジアプリケーションにおいて、YOLOv8 となる。

トレーニングとエコシステム

両モデルとも、使いやすさを最優先Ultralytics から多大な恩恵を受けています。

簡素化されたトレーニングワークフロー

YOLOv5 YOLOv8 移行YOLOv8 すべてのタスクをサポートする統一されたCLI Python 導入されましたYOLOv8 YOLOv5 特定のスクリプト(例: train.py, detect.py),YOLOv8 その後継モデルである YOLO26 モジュール式のパッケージ構造を使用する。

YOLOv5 :

python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt

YOLOv8 :

yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

Ultralytics の優位性

両モデルUltralytics とシームレスに統合されます。これによりユーザーはトレーニング実行の可視化、データセットの管理、ワンクリックでのモデルエクスポート(ONNXなどの形式へ)が可能となります。 ONNXTensorRT、CoreML などのCoreML モデルエクスポートを実行CoreML 。

ユースケースと推奨事項

これらの2つのモデルから選択するには、具体的な制約条件によって異なりますが、新規プロジェクトには一般的に新しいモデルが推奨されます。

YOLOv5の理想的なシナリオ

  • レガシーシステム:移行コストが高い、YOLOv5 と既に深く統合されているプロジェクト。
  • 特定のハードウェアサポート:一部の古いエッジAIアクセラレータは、YOLOv5特定のレイヤ構造向けに高度に最適化されたカーネルを備えている場合があります。
  • シンプルさ:純粋に教育目的において、YOLOv5 明示的なスクリプトベースの構造は、初心者が一行ずつ分析しやすい場合があります。

YOLOv8の理想的なシナリオ

  • 高精度要件:微細な特徴の検出が極めて重要な医療画像診断品質検査などのアプリケーション。
  • マルチタスク学習:検出と並行してセグメンテーションまたは姿勢推定を必要とするプロジェクト。
  • 将来を見据えた設計:新規プロジェクトを開始する開発者は、長期的なサポートと最新のデプロイメントツールとの互換性を確保するため、YOLOv8 またはそれ以降)を選択すべきである。

未来: Ultralytics YOLO26

YOLOv8 優れたYOLOv8 、この分野は進化を続けています。2026年に最高の性能を求める開発者には、Ultralytics 強く推奨します。

なぜYOLO26を選ぶのか? YOLO26はv5およびv8の遺産を基盤としつつ、速度と効率性において革新的な変更を導入しています:

  • エンドツーエンドNMS:非最大抑制(NMS)の必要性を排除することで、YOLOv2は展開ロジックを簡素化し推論遅延を低減する。この概念は YOLOv10
  • MuSGDオプティマイザー:ビジョンモデルにLLMトレーニングの安定性をもたらすハイブリッドオプティマイザー。より速い収束を保証します。
  • Edge向けに強化: DFL除去と特定のCPU により、YOLO26はCPU上で前世代比最大43%高速化を実現。
  • 優れた小物体検出:新開発のProgLoss およびSTAL関数は、ドローン画像やIoTアプリケーションに不可欠な小物体検出性能を大幅に向上させます。

YOLO26についてさらに詳しく

結論

YOLOv5 YOLOv8 YOLOv5 、コンピュータビジョン史における画期的な成果YOLOv8 。 YOLOv5 は、多くの既存アプリケーションにおいて信頼性の高い低メモリ消費の主力モデルであり、その安定性とトレーニング時のリソース消費量の少なさで高く評価されている。 YOLOv8は、優れた汎用性、より高い精度、そして最新の研究動向に沿ったより現代的なアーキテクチャ設計を提供します。

最先端を求める者たちへ、 YOLO26 または YOLO11 は、速度と精度においてさらに大きなメリットを提供します。最終的には、堅牢な Ultralytics により、どのモデルを選択しても、成功に必要なツール、ドキュメント、コミュニティサポートが確実に提供されます。

コード例:推論の実行

Ultralytics のシンプルさを体感してください。このコードはYOLOv8、YOLO11、YOLO26モデルで互換性を持って動作します。

from ultralytics import YOLO

# Load a pretrained model (choose yolov8n.pt or yolo26n.pt)
model = YOLO("yolov8n.pt")

# Run inference on an image from the web
results = model("https://ultralytics.com/images/bus.jpg")

# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bbox outputs
    masks = result.masks  # Masks object for segmentation masks
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    result.show()  # display to screen
    result.save(filename="result.jpg")  # save to disk

これらのモデルをワークフローに統合する方法の詳細については、クイックスタートガイドをご覧ください。


コメント