DAMO-YOLOとYOLOv8の比較#
研究者やエンジニアが速度と精度の限界を押し広げるなか、リアルタイムコンピュータービジョンの状況は絶えず変化しています。この進化における重要な節目が、DAMO-YOLOとUltralytics YOLOv8です。どちらのモデルもレイテンシと平均適合率(mAP)のトレードオフの最適化を目指していますが、物体検出の課題を解決するためのアーキテクチャと設計思想は根本的に異なります。
この包括的な技術解説では、両モデルの基盤となるアーキテクチャ、トレーニング手法、実用的なデプロイ方法を比較し、次の人工知能プロジェクトに適したツールを選ぶための情報を提供します。
モデルの系譜と仕様#
これらのディープラーニングモデルの起源を理解すると、設計目標やデプロイ環境となるエコシステムについて、貴重な背景情報が得られます。
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:tinyvision/DAMO-YOLO
Ultralytics YOLOv8の詳細#
- 著者: Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織: Ultralytics
- 日付: 2023-01-10
- GitHub: ultralytics/ultralytics
- ドキュメント: YOLOv8のドキュメント
アーキテクチャの革新#
両アーキテクチャのパフォーマンス特性は、それぞれ独自の構造上の選択に由来します。
DAMO-YOLO:アーキテクチャ探索を活用#
DAMO-YOLOは、最適なネットワーク構造を自動的に見つけるために、Neural Architecture Search (NAS)に大きく依存しています。MAE-NASという手法を導入し、高いパフォーマンスと低レイテンシを両立するバックボーンを探索します。さらに、効率的なRepGFPN (Reparameterized Generalized Feature Pyramid Network)を活用し、異なる空間スケール間の特徴融合を強化します。
トレーニングを改善するため、AlibabaのチームはZeroHead設計とAlignedOTAラベル割り当てを採用しました。さらに、重い教師モデルが軽量な生徒モデルを導く複雑な知識蒸留プロセスを多用し、学術ベンチマークでの精度指標の向上を図っています。
YOLOv8:効率性と柔軟性#
UltralyticsはYOLOv8で、開発者を第一に考えたアプローチを採用しました。YOLOv5のアンカーベース設計からアンカーフリーアーキテクチャへ移行し、バウンディングボックスの予測数を大幅に削減するとともに、推論を高速化しました。C2f (Cross-Stage Partial Bottleneck with 2 convolutions)モジュールの導入により、計算オーバーヘッドを過度に増やすことなく、勾配の流れと特徴表現が改善されました。
バウンディングボックスだけを対象とするモデルとは異なり、YOLOv8は当初からマルチタスク向けに設計されています。統合されたPyTorchコードベースは、インスタンスセグメンテーション、姿勢推定、画像分類をネイティブにサポートするため、エンジニアが複数の異なるリポジトリを組み合わせる必要がありません。
Ultralyticsモデルは、Transformerベースの大規模なアーキテクチャと比べて、トレーニング時に必要なメモリが本質的に少ないため、一般的なコンシューマー向けGPUでも最先端の結果を実現できます。
パフォーマンス比較#
生の指標を比較する際は、理論上の性能がハードウェア上のパフォーマンスにどう反映されるかを分析することが重要です。次の表は、モデルサイズごとのトレードオフを示しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
DAMO-YOLOは蒸留技術により高いパラメーター対精度比を示しますが、YOLOv8はNanoからExtra-largeまで、より幅広いモデルサイズを提供します。YOLOv8 Nanoはエッジ最適化の優れた例であり、実用性の高い精度を実現しながらリソース消費を抑えます。
エコシステムと開発者エクスペリエンス#
学術論文のモデルと実運用可能なシステムを真に差別化するのは、エコシステムです。
DAMO-YOLOは大規模な知識蒸留パイプラインに依存しているため、カスタムトレーニングが煩雑になることがあります。教師モデルの生成、知識の転移、NASベースのバックボーンの調整には大容量のCUDAメモリと高度な設定が必要となり、アジャイルなエンジニアリングチームの作業を遅らせる場合があります。
一方、Ultralyticsのエコシステムは使いやすさを重視しています。Ultralytics Platformでは、開発者はシンプルなAPI、包括的なドキュメント、堅牢な実験追跡機能との連携を利用できます。統合されたPythonフレームワークにより、複雑なパイプラインも簡単に構築できます。
from ultralytics import YOLO
# 事前学習済みのYOLOv8 Nanoモデルを読み込みます
model = YOLO("yolov8n.pt")
# データ拡張機能を標準搭載し、カスタムデータセットでモデルをトレーニングします
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# トレーニング済みモデルをデプロイ用にONNX形式でエクスポートします
model.export(format="onnx")この効率的なワークフローと、OpenVINOおよびTensorRTへのシームレスなエクスポートを組み合わせることで、ローカルでのプロトタイピングからクラウドやエッジへのデプロイまで、スムーズに進められます。
実環境での用途と適したユースケース#
これらのアーキテクチャのどちらを選ぶかは、多くの場合、実行環境における運用上の制約によって決まります。
DAMO-YOLOの適用領域#
DAMO-YOLOは、Neural Architecture Searchを研究する学術環境や、複雑な再パラメーター化手法の再現を試みる研究者に適しています。また、多段階トレーニングに必要な計算リソースをチームが確保できる場合は、製造ラインでの高速な欠陥検出など、厳密に管理された産業用途でも優れた性能を発揮します。
Ultralyticsが実運用で選ばれる理由#
大多数の商用プロジェクトでは、Ultralyticsモデルがより優れたパフォーマンスのバランスを提供します。
- スマートリテール: YOLOv8のマルチタスク機能を活用し、在庫のバウンディングボックス検出と、顧客行動の分析に用いる姿勢推定の両方に対応します。
- 農業: インスタンスセグメンテーションを活用し、トラクターからのリアルタイム映像で植物の正確な境界と雑草を検出します。
- 航空画像: Oriented Bounding Boxes (OBB)を活用し、ドローンや衛星から撮影した画像内の回転した車両や船舶を正確に追跡します。
将来を見据えた選択:YOLO26#
YOLOv8は基盤となるモデルであり続けていますが、この分野は進歩を続けています。新たな開発には、YOLO26を標準モデルとして推奨します。2026年1月にリリースされたYOLO26は、Ultralyticsのラインアップにおける飛躍的な進歩を象徴しています。
YOLO26はネイティブのエンドツーエンドNMSフリーデザイン(nms=False)を備え、有効にすると従来のNon-Maximum Suppressionによるボトルネックを解消します。この構造上の革新により、CPU推論が最大43%高速化され、エッジコンピューティングやIoTハードウェアで優れた性能を発揮します。
さらにYOLO26は、大規模言語モデル(LLM)のトレーニング手法に着想を得たMuSGD Optimizerを導入し、より速い収束と非常に安定したトレーニングループを実現します。新しいProgLoss + STALアルゴリズムと組み合わせることで、小さな物体の認識を大幅に改善し、高速であるだけでなく、妥協のない精度をデプロイ環境にもたらします。