YOLOv8とDAMO-YOLO#
コンピュータビジョンの分野は常に進化しており、新たなアーキテクチャによって、エッジデバイスや大規模なクラウドクラスターで可能なことの限界が押し広げられています。本稿では、代表的なリアルタイム物体検出モデルであるYOLOv8とDAMO-YOLOを比較します。アーキテクチャ、パフォーマンス指標、トレーニング手法を検証することで、MLエンジニアはデプロイパイプラインについて十分な情報に基づいた判断を下せます。
モデルの背景と起源#
両モデルはほぼ同時期に登場しましたが、設計思想と研究目的は異なります。
YOLOv8の詳細#
- 著者: Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織: Ultralytics
- 日付: 2023-01-10
- GitHub: Ultralytics GitHubリポジトリ
- ドキュメント: YOLOv8公式ドキュメント
DAMO-YOLOの詳細#
- 著者: Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang、Xiuyu Sun
- 組織: Alibaba Group
- 日付: 2022-11-23
- Arxiv: DAMO-YOLO研究論文
- GitHub: DAMO-YOLO GitHubリポジトリ
アーキテクチャのイノベーション#
YOLOv8: 汎用性に優れたアンカーフリーデザイン#
Ultralytics YOLOv8は、従来モデルから大幅な改善を導入し、信頼性の高い最先端モデルとしての地位を確立しました。アンカーフリーの検出ヘッドを採用しているため、ボックス予測数が減少し、推論が高速化されます。アーキテクチャには分離型ヘッドが採用され、オブジェクトネス、分類、回帰のタスクを分離することで、より正確なバウンディングボックス予測を実現します。
さらに、YOLOv8はCIoU lossとともにDistribution Focal Loss (DFL)を実装し、特に小さな対象や遮蔽された対象のオブジェクト境界を正確に特定する能力を高めています。合理化されたバックボーンは、GPUとCPUの両方での実行に向けて高度に最適化されています。
DAMO-YOLO: アーキテクチャサーチを活用した設計#
DAMO-YOLOは異なるアプローチを採用し、ニューラルアーキテクチャサーチ(NAS)に大きく依存してバックボーンを自動設計します。Alibabaチームは、TensorRTアクセラレーション下で特に優れたレイテンシと精度のトレードオフを実現する構造を見つけるため、「MAE-NAS」を導入しました。
このモデルは、効率的な特徴融合のためにRepGFPN(再パラメータ化汎用特徴ピラミッドネットワーク)を組み込み、検出ヘッドの計算負荷を最小限に抑える「ZeroHead」設計を採用しています。トレーニング時にはラベル割り当てにAlignedOTAを活用し、複雑な知識蒸留プロセスに大きく依存します。このプロセスでは、対象となる生徒モデルを監督する、より大規模な教師モデルが必要です。
DAMO-YOLOはNASと蒸留によって優れたレイテンシ指標を実現しますが、YOLOv8の高度に最適化された単一ステージのトレーニングパイプラインと比較すると、トレーニング時に大幅に多くのCUDAメモリと計算時間を必要とします。
パフォーマンスとメトリクス#
コンピュータビジョンモデルを本番環境にデプロイする際は、精度(mAP)と推論速度のバランスが重要です。以下の表は、さまざまなサイズにおける両モデルのパフォーマンスを示しています。
| モデル | サイズ (ピクセル) | 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 |
| 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 |
YOLOv8は、パフォーマンスのバランスに優れています。YOLOv8n(nano)モデルに必要なパラメータ数はわずか320万で、DAMO-YOLOtの850万と比べて大幅に少ないため、モバイルデバイスやメモリ要件が厳しい環境に非常に適しています。さらに、YOLOv8はより幅広いサイズを提供しており、クラウドベースのワークロード向けの高精度なYOLOv8xまでスケールできます。
開発者エクスペリエンスとエコシステム#
使いやすさとトレーニング効率#
大きな差別化要因の一つはユーザーエクスペリエンスです。Ultralyticsエコシステムは、開発者の生産性を高めるように設計されています。カスタムYOLOv8モデルのトレーニングでは、必要なメモリ使用量が非常に少なく、統一されたPython APIまたはコマンドラインインターフェースから実行できます。
一方、蒸留で強化されたDAMO-YOLOのトレーニングを再現するには、複雑な設定ファイルを扱い、複数ステージにわたる教師・生徒間の実験トラッキングを管理する必要があることがよくあります。
Pythonを使用してYOLOv8をトレーニング、検証、エクスポートする手順がいかに簡単かを、以下に例として示します。
from ultralytics import YOLO
# Load a pre-trained YOLOv8 nano model
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")
# Export the trained model to ONNX format
path = model.export(format="onnx")ビジョンタスク全般への対応力#
DAMO-YOLOは、バウンディングボックス物体検出専用に構築されています。一方、YOLOv8アーキテクチャは標準で複数のタスクをサポートします。モデルの重みを入れ替えるだけで、基盤となるデプロイコードを変更せずに、インスタンスセグメンテーション、画像分類、ポーズ推定を実行できます。この汎用性により、Ultralyticsモデルは複雑なアプリケーションにおいてはるかに実用的です。
実世界でのユースケース#
YOLOv8を使用するタイミング#
YOLOv8は速度、精度、デプロイの容易さを兼ね備えているため、次の用途に適しています。
- スマートリテール分析: 物体トラッキングを実行して顧客行動を監視したり、在庫確認を自動化したりできます。
- 農業ロボティクス: 多様なハードウェアでの高いパフォーマンスを活用し、作物や害虫をリアルタイムで識別できます。
- 医療診断: インスタンスセグメンテーションを使用して、医用画像内の異常を迅速かつ正確にマッピングできます。
- エッジデプロイ: OpenVINOやCoreMLなどのエクスポート形式とのシームレスな統合により、YOLOv8はリソースに制約のあるデバイスで優れた性能を発揮します。
DAMO-YOLOを使用するタイミング#
DAMO-YOLOは、特に次のようなニッチなシナリオで有用です。
- アカデミックなNAS研究: 再パラメータ化や自動アーキテクチャ設計手法を研究するチーム向けです。
- GPUに限定されたパイプライン: NAS構造がTensorRTの実行制限向けに大幅に最適化された、特定のNVIDIAハードウェアのみで実行するアプリケーションに適しています。
ユースケースと推奨事項#
YOLOv8とDAMO-YOLOのどちらを選ぶかは、プロジェクト固有の要件、デプロイの制約、エコシステムに関する好みによって決まります。
YOLOv8を選択するタイミング#
YOLOv8が適しているケース:
- 汎用的なマルチタスクデプロイ: Ultralyticsエコシステム内で、detection、segmentation、classification、pose estimationに対応する実績のあるモデルが必要なプロジェクト。
- 確立された本番システム: YOLOv8アーキテクチャを基盤としてすでに構築され、安定した十分にテスト済みのデプロイパイプラインを備えた既存の本番環境。
- 幅広いコミュニティとエコシステムのサポート: YOLOv8の豊富なチュートリアル、サードパーティー統合、活発なコミュニティリソースの恩恵を受けるアプリケーション。
DAMO-YOLOを選択する場合#
DAMO-YOLOは次の用途に推奨されます。
- 高スループットの動画分析: バッチサイズ1のスループットが主要な指標となる、固定されたNVIDIA GPUインフラストラクチャ上での高FPS動画ストリーム処理。
- 産業用製造ライン: 組立ラインでのリアルタイム品質検査など、専用ハードウェア上でGPUレイテンシに厳しい制約があるシナリオ。
- ニューラルアーキテクチャサーチ研究: 自動アーキテクチャ探索(MAE-NAS)と、効率的に再パラメーター化されたバックボーンが検出性能に与える影響の研究。
Ultralytics (YOLO26)を選ぶタイミング#
ほとんどの新規プロジェクトでは、Ultralytics YOLO26が性能と開発者エクスペリエンスの最適な組み合わせを提供します。
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
- CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。
今後の展望: より新しいUltralyticsモデル#
YOLOv8は非常に信頼性の高い主力モデルですが、コンピュータビジョンの分野は急速に進化しています。ユーザーは、より新しい世代のモデルも検討してください。
YOLO26: 最新世代のUltralytics YOLO26は、パラダイムシフトをもたらすモデルです。ネイティブなEnd-to-End NMS-Free Designを導入し、Non-Maximum Suppressionのポストプロセスに伴うレイテンシボトルネックを完全に排除します。新しいMuSGD Optimizer(SGDとMuonのハイブリッド)と専用のProgLoss + STAL loss functionsにより、YOLO26は非常に安定したトレーニングと、小さな物体の認識性能の大幅な向上を実現します。DFL Removal(簡素化されたエクスポートとエッジ/低消費電力デバイスとの互換性向上のためにDistribution Focal Lossを削除)に加え、アーキテクチャの調整によって従来世代と比較して43% Faster CPU Inferenceを実現し、現代のエッジコンピューティングにおける決定的な選択肢となります。
YOLO11: もう一つの優れた選択肢であるUltralytics YOLO11は、YOLOv8に対して段階的なアーキテクチャ改善を施しており、コミュニティで広く採用されている堅牢なモデルです。
モデルをプロトタイプから本番環境へ移行する準備はできていますか。Ultralytics Platformを活用すると、データセットへの自動アノテーション、実験のトラッキング、クラウドやエッジデバイスへのモデルのシームレスなデプロイを実行できます。
結論として、DAMO-YOLOはアーキテクチャサーチに関する興味深い学術的知見を提供しますが、Ultralyticsモデルはより成熟し、汎用性と開発者フレンドリーさに優れたエコシステムを提供します。実績のあるYOLOv8の安定性を使い続ける場合でも、非常に高速なNMS-freeアーキテクチャであるYOLO26へアップグレードする場合でも、UltralyticsスイートはリアルタイムビジョンAIにおける第一の選択肢であり続けます。