コンテンツにスキップ

YOLO .YOLOv8: 物体検出におけるアーキテクチャの進化

リアルタイム物体検出の追求は、ニューラルネットワーク設計における重要な革新を推進してきた。この分野を形作ってきた二つの主要なアーキテクチャは、アリババ研究チームが開発したYOLO、Ultralytics創YOLOv8である。本比較では、これらのモデルの技術的差異を探り、トレーニング戦略、アーキテクチャ効率、および導入への適合性を検証する。

DAMO-YOLO 著者: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, Xiuyu Sun
組織:Alibaba Group
日付: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHub:YOLO

YOLOv8 著者: Glenn Jocher, Ayush Chaurasia, Jing Qiu
所属: Ultralytics
日付: 2023-01-10
GitHub:ultralytics
ドキュメント:yolov8

建築哲学

これら二つのモデルの根本的な違いは、その設計の起源にある。YOLO 自動化された探索戦略に大きくYOLO に対し、YOLOv8 広範な実証的テストを通じて手動によるアーキテクチャ設計YOLOv8 。

YOLO: 神経アーキテクチャ探索(NAS)

YOLO MAE-NAS(Method-Automated Efficiency Neural Architecture Search)と呼ばれる技術主導型アプローチYOLO 。ブロックを手動で設計する代わりに、著者らはニューラルアーキテクチャ検索を用いて、特定の遅延制約下で効率的なバックボーンを発見した。

主要なアーキテクチャコンポーネントは次のとおりです。

  • MAE-NAS Backbone:検出精度と推論速度のバランスを自動最適化する構造。
  • 効率的なRepGFPN:推論コストを追加せずに特徴融合を改善する再パラメータ化を利用する汎用特徴ピラミッドネットワーク(FPN)。
  • ZeroHead:最終出力層の計算負荷を軽減するために設計された軽量検出ヘッド。
  • AlignedOTA:分類タスクと回帰タスクの間の不整合を解決する動的ラベル割り当て戦略。

YOLOv8: 手動設計の改良

YOLOv8 YOLO 遺産をYOLOv8 、C2fモジュール(2つの畳み込み層を備えたクロスステージ部分ボトルネック)を導入しています。このモジュールは勾配情報の流れを改善するように設計されており、軽量性を維持しながらネットワークがより複雑な特徴量を学習できるようにします。

主要なアーキテクチャ機能は以下の通りです。

  • アンカーフリー検出: YOLOv8 アンカーボックスをYOLOv8 、物体の中心を直接予測します。これによりNMS 簡素化され、ユーザーが調整すべきハイパーパラメータの数が削減されます。
  • 分離ヘッド:分類と回帰のブランチを分離し、それぞれがより効果的に収束できるようにする。
  • モザイク拡張:4枚の画像を1枚に統合する高度な訓練手法であり、モデルに文脈とスケール不変性を学習させる。

パフォーマンス指標

以下の表はYOLO COCO YOLOv8 性能を比較したものです。YOLO mAP YOLO 一方、YOLOv8 優れた推論速度と低いデプロイメント複雑性を提供します。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
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

トレーニング効率と複雑性

開発者にとって重要な違いはトレーニングパイプラインである。YOLO 高度な蒸留戦略YOLO 。最高水準の成果を達成するには、まず大規模な「教師」モデルを訓練し、それによって小規模な「生徒」モデルを導く必要がある。これにより高い精度が得られる一方で、トレーニングワークフローが大幅に複雑化し、GPU が増大し、トレーニング時間が延長される。

対照的に、Ultralytics 学習効率を優先する。YOLOv8 「Bag of Freebies」アプローチYOLOv8 、アーキテクチャの選択と拡張戦略(MixUp )によって、多段階の蒸留パイプラインを必要とせずに精度向上を実現する。これにより、YOLOv8 コンシューマー向けハードウェア上での学習がYOLOv8 高速化され、カスタムデータセットへの参入障壁が低下する。

リソース効率

Ultralytics YOLO 、複雑なTransformerベースのモデルや蒸留パイプラインと比較して、学習時と推論時の両方で一般的にメモリ要件が低くなります。これにより、標準的なGPU上でより大きなバッチサイズとより迅速な実験が可能になります。

Ultralyticsエコシステムの利点

YOLO 学術的に新規性のある貢献YOLO 一方で、Ultralytics 実世界のアプリケーション開発において明確な優位性を提供します。

検知を超えた多様性

YOLO 主にバウンディングボックス検出向けに設計YOLO 。一方、Ultralytics はネイティブにマルチタスク対応です。単一のAPIで開発者は以下の処理を実行できます:

使いやすさとデプロイ

Ultralytics 、効率化されたユーザー体験をUltralytics 。Python を使用すれば、わずか5行未満のコードでモデルのトレーニング、検証、デプロイが可能です。さらに、豊富なエクスポートオプションにより、ONNX、TensorRT、CoreML、TFLite、OpenVINOシームレスな変換を実現し、クラウドサーバーからRaspberry Piに至るあらゆる環境でのモデルデプロイを保証します。

ビジョンAIの未来:YOLO26

2026年における最先端技術を求める開発者向けに、Ultralytics YOLO26を Ultralytics 。YOLOv8 YOLO11の成功を基盤とし、速度と安定性においてアーキテクチャの根本的な変革をもたらします。

YOLO26についてさらに詳しく

エンドツーエンドNMSフリー設計

YOLO YOLOv8重なり合うボックスをフィルタリングするために非最大抑制(NMS)後処理を必要とするのとは異なり、YOLO26はネイティブにエンドツーエンドである。この画期的な技術は YOLOv10で先駆けられたこの画期的な進歩により、NMS 不要となりました。これにより、特に検出対象物が多いシナリオにおいて、デプロイメントパイプラインが簡素化され、レイテンシが低減されます。

高度な最適化と損失関数

YOLO26は、Moonshot AIのKimi K2によるLLMトレーニングの革新に着想を得た、SGD ハイブリッドであるMuSGDオプティマイザーを統合しています。これにより、大規模言語モデルトレーニングの安定性がコンピュータビジョンにもたらされ、収束が高速化されます。 さらに、分布焦点損失(DFL)の廃止とProgLossおよびSTAL(Soft Task-Aligned Loss)の導入により、ロボット工学やIoT分野で頻発する課題である小物体の認識性能が大幅に向上しました。

パフォーマンスバランス

YOLO26はエッジコンピューティング向けに最適化されており、前世代と比較して最大43%高速CPU を実現します。これにより、専用GPUを搭載しないデバイス上で動作するアプリケーションに最適な選択肢となり、従来のNASベースのアプローチの効率性を上回ります。

コード例:Ultralytics

以下の例は、開発者がUltralytics モデル世代間をいかに容易に切り替えられるかを示しています。この柔軟性により、カスタムデータセット上で YOLOv8 新世代YOLOv8 OLO26YOLOv8 迅速にベンチマークすることが可能となります。

from ultralytics import YOLO

# Load the models
model_v8 = YOLO("yolov8n.pt")
model_v26 = YOLO("yolo26n.pt")  # Recommended for new projects

# Train YOLO26 on a custom dataset
# The MuSGD optimizer and ProgLoss are handled automatically
results = model_v26.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the NMS-free architecture
# No post-processing tuning required
prediction = model_v26("https://ultralytics.com/images/bus.jpg")
prediction[0].show()

概要

YOLOv8 コンピュータビジョンにおける重要なYOLOv8 。YOLO 高精度達成のためのニューラルアーキテクチャ探索とディスティレーションのYOLO 。しかし、ほとんどの開発者、研究者、企業にとって、 Ultralytics YOLOv8—特に新しいYOLO26—が優れたバランスを提供します。

よく整備されたエコシステム、使いやすさ、多彩なタスクサポート、そしてNMS検出といった最先端機能の組み合わせにより、Ultralytics スケーラブルで将来性のあるAIソリューションの最適なUltralytics となっています。他の高性能オプションを探している開発者は、以下も検討できます RT-DETR によるトランスフォーマーベースの精度や YOLO11 の堅牢性を検討する価値があります。


コメント