DAMO-YOLOとYOLOX:技術的な詳細比較
リアルタイムコンピュータビジョンの分野は絶えず進化しています。この歩みにおける2つの重要なマイルストーンがDAMO-YOLOとYOLOXであり、それぞれが高速かつ高精度な物体検出という課題に対して独自の革新をもたらしました。どちらのモデルもオープンソースコミュニティに大きく貢献しましたが、機械学習エンジニアにとっては、両者のアーキテクチャの違い、学習手法、そして最適な展開シナリオを理解することが重要です。
本ガイドでは、両モデルの技術的なニュアンスを包括的に解説し、なぜUltralytics YOLO26プラットフォームのような最新の代替案が、今日のプロダクション環境において優れたパフォーマンスと使いやすさを提供するのかを明らかにします。
モデルの概要
DAMO-YOLOの詳細
Alibaba Groupの研究チームによって開発された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:https://github.com/tinyvision/DAMO-YOLO
ドキュメント:DAMO-YOLO Documentation
YOLOXの詳細
Megviiの研究者によって作成されたYOLOXは、YOLOシリーズをアンカーフリー設計へと移行させることで研究と産業コミュニティの間のギャップを埋めることを目指し、当時のアーキテクチャを大幅に簡素化しつつ、より優れたパフォーマンスを実現しました。
著者:Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun
組織:Megvii
日付:2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
ドキュメント:YOLOX Documentation
アーキテクチャ分析
DAMO-YOLOのアーキテクチャ
DAMO-YOLOはNeural Architecture Search (NAS)に大きく依存しています。主なコンポーネントは以下の通りです。
- MAE-NASバックボーン: 推論速度と精度の間で最適なバランスを提供するバックボーンを探索するために、多目的進化探索アルゴリズムを使用しています。
- 効率的なRepGFPN: 特徴融合のために採用されたヘビーネック設計であり、さまざまな物体サイズに対してモデルが高精度を維持するのに役立ちます。
- ZeroHead: 最終的な予測層における計算オーバーヘッドを削減する、簡素化された軽量な検出ヘッドです。
YOLOXのアーキテクチャ
YOLOXは異なるアプローチを採用し、構造の単純さとアンカーフリー設計に重点を置いています。
- アンカーフリーメカニズム: 事前に定義されたアンカーなしでbbox座標を直接予測することにより、設計パラメータの数やヒューリスティックな調整の必要性を削減します。
- デカップルドヘッド: 分類タスクと回帰タスクを異なる特徴ブランチに分離し、収束速度と全体的な精度を向上させます。
- SimOTAラベル割り当て: ポジティブサンプルをグラウンドトゥルースに動的に割り当てる高度なラベル割り当て戦略であり、学習効率を向上させます。
DAMO-YOLOは機械主導のNAS探索を利用して厳しい制約下で最適なアーキテクチャを見つけ出す一方、YOLOXは人間が設計した洗練された簡素化(アンカーフリーヘッドなど)を活用して物体検出パイプラインを合理化しています。
パフォーマンスの比較
これらのモデルを評価するには、mAP、推論速度、パラメータ数を検討する必要があります。以下は、両アーキテクチャの標準および軽量バリアントの比較表です。
| モデル | サイズ (ピクセル) | 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
YOLOXxは最高の絶対mAPである51.1を達成しますが、DAMO-YOLOlは半分以下のパラメータ数(42.1M対99.1M)で50.8 mAPという非常に競争力のある数値を出し、TensorRT実行速度も大幅に速くなっています。
学習手法
DAMO-YOLOの学習
DAMO-YOLOは学習中に複雑な蒸留強化を利用します。多くの場合、まず大規模な「教師」モデルを学習させ、その知識をより小さな「学生」モデルに蒸留します。また、動的ラベル割り当てのためにAlignedOTAを採用しています。非常に効果的ですが、この多段階学習プロセスにより、必要なGPU compute時間とメモリのオーバーヘッドが大幅に増加します。
YOLOXの学習
YOLOXはMixUpやMosaicのような強力なデータ拡張戦略に依存しています。しかし、研究チームは最後の15エポックでこれらの強力な拡張をオフにすることで、モデルが現実とのギャップを埋め、最終的な精度指標を大幅に向上させることができることを発見しました。
理想的な使用ケース
- DAMO-YOLO: サーバーサイドの蒸留パイプラインをサポートでき、ターゲットハードウェア(特定のNVIDIA GPUなど)がそのヘビーネックNASアーキテクチャから直接恩恵を受けられるような、重要度の高い産業用展開に最適です。
- YOLOX: 純粋なアンカーフリーアプローチを求める開発者に最適です。非常に軽量な
YOLOXnanoは、古いAndroidデバイスやエッジコンピューティング、パラメータ数が絶対的なボトルネックとなる非常に制約の厳しいIoTセンサーにとって現実的な選択肢となります。
Ultralyticsの優位性: YOLO26の登場
DAMO-YOLOとYOLOXは優れたマイルストーンですが、今日の開発者はより包括的で汎用性が高く、使いやすいソリューションを求めています。ここでUltralytics Platformと新しくリリースされたUltralytics YOLO26が輝きを放ちます。
2026年1月にリリースされたYOLO26は、すべてのコンピュータビジョンタスクにおいて究極の推奨モデルです。古いアーキテクチャを凌駕する一連のブレイクスルーを導入しています。
- エンドツーエンドのNMSフリー設計: YOLO26はNon-Maximum Suppression (NMS)の後処理をネイティブで排除します。これにより、従来の検出ヘッドに固有の遅延ボトルネックを回避し、大幅にシンプルかつ高速な展開が可能になります。
- 最大43%高速なCPU推論: Distribution Focal Loss (DFL)を戦略的に削除し、層を最適化することで、YOLO26はCPUやエッジハードウェア上で比類のない速度を実現します。
- MuSGDオプティマイザ: 大規模言語モデル(LLM)の学習手法に着想を得たYOLO26は、MuSGDオプティマイザ(SGDとMuonのハイブリッド)を導入しており、YOLOXのレガシーな設定と比較して非常に安定した学習実行と大幅に高速な収束を実現します。
- ProgLoss + STAL: これらの高度な損失関数は小物体認識において顕著な改善をもたらし、ドローン映像やロボティクスにおいてYOLO26を圧倒的に優位にしています。
- 汎用性: 物体検出専用のDAMO-YOLOとは異なり、YOLO26は同一の保守管理されたエコシステム内で、インスタンスセグメンテーション、姿勢推定、分類、Oriented Bounding Boxes (OBB)をネイティブにシームレスに処理します。
Ultralyticsによる使いやすさ
Ultralytics Python APIは開発者体験を効率化します。最先端のYOLO26モデルの学習にはボイラープレートコードがはるかに少なくて済み、DAMO-YOLOのような複雑な蒸留パイプラインを回避できます。さらに、Ultralyticsモデルは、重いTransformerベースのモデルと比較して、学習中のCUDAメモリ要件が非常に低くなっています。
from ultralytics import YOLO
# Load the latest Ultralytics YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset with one line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run fast, NMS-free inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX or TensorRT seamlessly
model.export(format="onnx")Ultralytics Platformを使用すると、データのバージョン管理やクラウドGPUのプロビジョニングをすべて自動で処理し、エッジへのモデルのアノテーション、学習、および展開を自動化できます。
結論
DAMO-YOLOとYOLOXのどちらを選ぶかは、特定の制約に依存します。DAMO-YOLOはNASを通じて特定のGPU上で優れた速度対精度比を提供し、YOLOXは軽量なエッジシナリオに理想的なクリーンなアンカーフリー設計を提供します。
しかし、活発なコミュニティを備えた現代的で将来性のあるソリューションを求めるチームにとっては、Ultralytics YOLO26アーキテクチャが決定的な選択肢です。そのNMSフリー設計、高速なCPU推論、検出・セグメンテーション・姿勢タスクのための統一されたAPIにより、研究から堅牢な実社会での運用へスムーズに移行する上で比類のないものとなっています。
他の最新アーキテクチャに興味がある開発者には、包括的なUltralyticsドキュメントで入手可能なUltralytics YOLO11や、RT-DETRのようなTransformerベースのモデルをチェックすることをお勧めします。