YOLOv8 vs DAMO-YOLO#
コンピュータビジョンの領域は常に進化しており、新しいアーキテクチャがエッジデバイスや大規模なクラウドクラスターで可能なことの境界を押し広げています。この技術的な深掘り記事では、2つの著名なリアルタイム物体検出モデルであるYOLOv8とDAMO-YOLOを比較します。アーキテクチャ、パフォーマンス指標、学習方法を検証することで、機械学習エンジニアはデプロイメントパイプラインにおいて情報に基づいた意思決定を行えるようになります。
モデルの背景と起源#
両モデルはほぼ同時期に発表されましたが、異なる設計思想と研究目標に基づいています。
YOLOv8の詳細#
- 著者:Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織: Ultralytics
- 日付:2023-01-10
- GitHub: Ultralytics GitHub Repository
- ドキュメント: YOLOv8 Official Documentation
DAMO-YOLOの詳細#
- 著者: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
- 組織:Alibaba Group
- 日付: 2022-11-23
- Arxiv: DAMO-YOLO Research Paper
- GitHub: DAMO-YOLO GitHub Repository
アーキテクチャの革新#
YOLOv8: 多用途なアンカーフリー設計#
Ultralytics YOLOv8は、前世代から大幅な改良が加えられており、非常に信頼性の高い最先端モデルとしての地位を確立しています。アンカーフリー検出ヘッドを備えており、ボックス予測数を削減し、推論を高速化します。このアーキテクチャでは、オブジェクトネス、分類、回帰の各タスクを分離したデカップルドヘッドを採用しており、より精度の高いバウンディングボックス予測を実現します。
さらに、YOLOv8はCIoU損失とともにDistribution Focal Loss (DFL)を実装しており、特に小型またはオクルージョンされたターゲットにおいて、モデルのオブジェクト境界の正確なローカライズ能力を高めています。その合理化されたバックボーンは、GPUとCPUの両方の実行に対して高度に最適化されています。
DAMO-YOLO: アーキテクチャ探索による駆動#
DAMO-YOLOは異なるアプローチを採用しており、ニューラルアーキテクチャサーチ (NAS) に大きく依存してバックボーンを自動設計します。Alibabaチームは、「MAE-NAS」を導入し、特にTensorRTアクセラレーションの下で最適な遅延と精度のトレードオフを提供する構造を見出しました。
このモデルは、効率的な特徴融合のためのRepGFPN(Reparameterized Generalized Feature Pyramid Network)と、検出ヘッドの計算負荷を最小限に抑える「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)モデルは、DAMO-YOLOtの850万パラメータと比較してわずか320万パラメータしか必要とせず、モバイルデバイスや厳格なメモリ要件を持つ環境において圧倒的に優れています。さらに、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アーキテクチャは複数のタスクをネイティブにサポートしています。モデルウェイトを単純に切り替えるだけで、開発者は基盤となるデプロイコードベースを変更することなく、Instance Segmentation、Image Classification、およびPose Estimationを実行できます。この汎用性により、Ultralyticsモデルは複雑なアプリケーションにとってより実用的になります。
実際のユースケース#
YOLOv8を使用すべき場面#
YOLOv8の速度、精度、デプロイの容易さの組み合わせは、以下のような用途に最適です。
- スマートリテール分析: 顧客の行動をモニタリングしたり、在庫チェックを自動化したりするためにobject trackingを実行します。
- 農業ロボティクス: さまざまなハードウェアでの高いパフォーマンスを活用して、作物や害虫をリアルタイムで特定します。
- ヘルスケア診断: インスタンスセグメンテーションを使用して、医療画像内の異常を迅速かつ正確にマッピングします。
- エッジデプロイメント: 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レイテンシ制約があるシナリオ。
- Neural Architecture Searchの研究: 自動化されたアーキテクチャ探索 (MAE-NAS) や効率的な再パラメータ化バックボーンが検出パフォーマンスに与える影響の研究。
Ultralytics (YOLO26) を選択すべき時#
ほとんどの新しいプロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します。
- NMSフリーのエッジ展開: Non-Maximum Suppression後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: GPUアクセラレーションを利用できないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となる場合。
- 小物体検出: ProgLossとSTALにより極小オブジェクトの精度が大幅に向上する、空中ドローン画像やIoTセンサー分析などの困難なシナリオ。
展望: より新しいUltralyticsモデル#
YOLOv8は依然として非常に信頼できる主力モデルですが、コンピュータビジョンの分野は急速に動いています。ユーザーはより新しい世代の探索も検討すべきです。
YOLO26: 最新世代であるUltralytics YOLO26は、パラダイムシフトを表しています。ネイティブなEnd-to-End NMS-Free Designを導入し、非最大値抑制の後処理に関連するレイテンシのボトルネックを完全に排除します。新しいMuSGD Optimizer(SGDとMuonのハイブリッド)および特殊なProgLoss + STAL損失関数を搭載することにより、YOLO26は非常に安定したトレーニングと大幅に改善された小物体認識を実現します。DFL Removal(簡素化されたエクスポートとエッジ/低電力デバイス互換性の向上のためにDistribution Focal Lossを削除)とともに、アーキテクチャの微調整により、前世代と比較して最大43% Faster CPU Inferenceを実現し、現代のエッジコンピューティングにとって決定的な選択肢となっています。
YOLO11: もう一つの優れた代替手段として、Ultralytics YOLO11はYOLOv8に比べて段階的なアーキテクチャの改良を提供し、コミュニティで広く採用されている堅牢なモデルであり続けています。
モデルをプロトタイプから本番環境へ移行する準備はできましたか?Ultralytics Platformを利用して、データセットの自動アノテーション、実験のトラッキング、およびクラウドやエッジデバイスへのモデルのシームレスなデプロイを行ってください。
結論として、DAMO-YOLOはアーキテクチャ探索に関する興味深い学術的な知見を提供しますが、Ultralyticsモデルは、より成熟し、多用途で、開発者に優しいエコシステムを提供します。YOLOv8の証明された安定性にこだわるか、YOLO26の高速なNMSフリーアーキテクチャにアップグレードするかにかかわらず、UltralyticsスイートはリアルタイムビジョンAIにおける最高の選択肢であり続けます。