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
- Docs: YOLOXドキュメント
アーキテクチャ分析#
DAMO-YOLOのアーキテクチャ#
DAMO-YOLOは、ニューラルアーキテクチャサーチ(NAS)に大きく依存しています。主な構成要素は次のとおりです。
- MAE-NASバックボーン: 推論速度と精度の最適なバランスを提供するバックボーンを発見するために、最大エントロピー誘導探索を使用します。
- Efficient RepGFPN: 特徴量融合向けに適応された大規模なネック設計で、さまざまな物体スケールに対してモデルが高い精度を維持できるようにします。
- ZeroHead: 最終的な予測レイヤーにおける計算オーバーヘッドを削減する、簡素化された軽量な検出ヘッドです。
YOLOXのアーキテクチャ#
YOLOXは、構造の簡素さとアンカーフリー設計に重点を置き、異なるアプローチを採用しました。
- アンカーフリーメカニズム: 事前定義されたアンカーを使用せずにバウンディングボックスの座標を直接予測することで、YOLOXは必要な設計パラメーターとヒューリスティックな調整の数を削減します。
- 分離ヘッド: 分類タスクと回帰タスクを異なる特徴ブランチに分離し、収束速度と全体的な精度を向上させます。
- 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は51.1で絶対mAPが最も高い一方、DAMO-YOLOlは、パラメーター数が半分未満(42.1M対99.1M)でありながら、非常に競争力のある50.8 mAPを実現し、TensorRTの実行速度も大幅に高速です。
トレーニング手法#
DAMO-YOLOの学習#
DAMO-YOLOは、学習時に複雑な蒸留強化を利用します。通常、最初に大規模な「教師」モデルを学習し、その知識を小規模な「生徒」モデルに蒸留します。また、動的なラベル割り当てにAlignedOTAも使用します。非常に効果的である一方、この多段階の学習プロセスにより、必要なGPUコンピューティング時間とメモリオーバーヘッドが大幅に増加します。
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ベースモデルも確認することをお勧めします。