DAMO-YOLOとYOLOXの比較#
リアルタイムコンピュータビジョンの分野は絶えず進化しています。その発展における注目すべき節目が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のドキュメント
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ドキュメント
アーキテクチャの分析#
DAMO-YOLOのアーキテクチャ#
DAMO-YOLOはニューラルアーキテクチャ探索(NAS)を積極的に活用しています。主な構成要素は次のとおりです。
- MAE-NASバックボーン: 最大エントロピーに基づく探索を用いて、推論速度と精度の最適なバランスを実現するバックボーンを見つけます。
- 効率的な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は最高の絶対mAPである51.1を達成していますが、DAMO-YOLOlはパラメーター数が半分未満(42.1M対99.1M)であるにもかかわらず、非常に競争力の高いmAP 50.8を実現し、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のオプションのワンツーワンヘッド(
nms=False)は、Non-Maximum Suppression(NMS)の後処理を省略します。これにより、従来の検出ヘッドに固有のレイテンシボトルネックを回避し、デプロイを大幅に簡素化して高速化できます。 - CPU推論が最大43%高速: Distribution Focal Loss(DFL)を戦略的に削除してレイヤーを最適化することで、YOLO26はCPUやエッジハードウェアで卓越した速度を実現します。
- MuSGDオプティマイザー: 大規模言語モデル(LLM)のトレーニング手法に着想を得て、YOLO26はSGDとMuonのハイブリッドであるMuSGDオプティマイザーを導入しています。従来の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
# 最新のUltralytics YOLO26 nanoモデルを読み込みます
model = YOLO("yolo26n.pt")
# 1行のコードでカスタムデータセットを使ってモデルをトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 画像に対して高速なNMSフリー推論を実行します
results = model("https://ultralytics.com/images/bus.jpg", nms=False)
# ONNXまたはTensorRTにシームレスにエクスポートできます
model.export(format="onnx")Ultralytics Platformを使うと、モデルの自動アノテーション、トレーニング、エッジへのデプロイが可能です。データのバージョン管理とクラウドGPUのプロビジョニングもすべて処理します。
結論#
DAMO-YOLOとYOLOXのどちらを選ぶかは、具体的な制約によって異なります。DAMO-YOLOはNASにより特定のGPUで速度と精度の比率に優れ、YOLOXは軽量なエッジ環境に適したシンプルなアンカーフリー設計を提供します。
しかし、活発なコミュニティを持つ最新の将来性あるソリューションを求めるチームには、Ultralytics YOLO26アーキテクチャが最適です。オプションのNMSフリー推論、高速なCPU推論、検出・セグメンテーション・姿勢推定タスクに対応する統合APIにより、研究から堅牢な実環境の本番運用への円滑な移行を実現します。
ほかの最新アーキテクチャに関心のある開発者には、Ultralytics YOLO11や、包括的なUltralyticsドキュメントで利用できるRT-DETRなどのTransformerベースのモデルもおすすめします。