コンテンツにスキップ

DAMO-YOLO 対 YOLOX: 包括的な技術比較

リアルタイムコンピュータビジョンの分野は絶えず進化を続けている。この進化の過程における二つの重要なYOLO がDAMO-YOLOとYOLOXであり、いずれも高速かつ高精度な物体検出という課題に対して独自の革新をもたらした。両モデルともオープンソースコミュニティに大きく貢献しているが、機械学習エンジニアにとって、そのアーキテクチャ上の差異、トレーニング手法、そして最適な導入シナリオを理解することは極めて重要である。

この包括的なガイドでは、両モデルの技術的なニュアンスを探りつつ、Ultralytics のような現代的な代替手段が、今日の生産環境において優れたパフォーマンスと使いやすさを提供する理由を明らかにします。

モデルの概要

DAMO-YOLOの詳細

Alibaba Groupの研究チームによって開発されたDAMO-YOLOは、自動アーキテクチャ発見を活用した非常に効率的な物体検出手法として導入されました。 著者: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
組織: Alibaba Group
日付: 2022-11-23
Arxiv: https://arxiv.org/abs/2211.15444v2
GitHub: https://github.com/tinyvision/DAMO-YOLO
ドキュメント: DAMO-YOLOドキュメント

DAMO-YOLOの詳細

YOLOX 詳細

Megviiの研究者によって作成されたYOLOXは、YOLOシリーズをアンカーフリー設計に切り替えることで、研究コミュニティと産業コミュニティの間のギャップを埋めることを目指しました。これにより、アーキテクチャを大幅に簡素化しつつ、当時より優れたパフォーマンスを達成しました。 著者: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
組織: Megvii
日付: 2021-07-18
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
ドキュメント: YOLOX Documentation

YOLOXの詳細について。

アーキテクチャ分析

DAMO-YOLOアーキテクチャ

DAMO-YOLOはニューラルアーキテクチャ探索(NAS)に大きく依拠しています。主要なコンポーネントは以下の通りです。

  • MAE-NASバックボーン: 多目的進化的探索アルゴリズムを使用し、推論速度と精度の最適なバランスを提供するバックボーンを発見します。
  • 効率的なRepGFPN: 特徴融合に特化したヘビーネック設計により、モデルは様々なオブジェクトスケールで高い精度を維持できます。
  • ZeroHead: 最終予測層における計算オーバーヘッドを削減する、簡素化された軽量な検出ヘッド。

YOLOX アーキテクチャ

YOLOXは異なるアプローチを取り、構造の簡素さとアンカーレス設計に焦点を当てた:

  • アンカーフリーメカニズム: 事前定義されたアンカーなしでバウンディングボックスの座標を直接予測することで、YOLOXは必要な設計パラメータとヒューリスティックな調整の数を削減します。
  • デカップルドヘッド: 分類タスクと回帰タスクを異なる特徴ブランチに分離することで、収束速度と全体的な精度が向上します。
  • SimOTAラベル割り当て: ポジティブサンプルをグラウンドトゥルースに動的に割り当て、トレーニング効率を向上させる高度なラベル割り当て戦略。

設計思想

YOLO 厳しい制約下で最適なアーキテクチャを見つけるために機械駆動型のNAS探索YOLO 一方、YOLOXはオブジェクト検出パイプラインを効率化するため、人間が設計した洗練された簡略化手法(アンカーフリーヘッドなど)を活用する。

パフォーマンス比較

これらのモデルを評価するには、平均精度(mAP)、推論速度、およびパラメータ数を考慮する必要があります。以下に、両アーキテクチャの標準および軽量バリアントの詳細な比較表を示します。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

YOLOXxmAP .mAP 最高の絶対mAP を達成する一方で、DAMO-YOLOlはパラメータ数が半分以下(42.1M対99.1M)mAP 非常に競争力のある50.8mAP を実現し、TensorRT 大幅に高速化している。

学習方法論

YOLOトレーニング

DAMO-YOLOはトレーニング中に複雑な蒸留強化を利用します。多くの場合、まず大規模な「教師」モデルがトレーニングされ、その知識が小規模な「生徒」モデルに蒸留されます。また、動的なラベル割り当てのためにAlignedOTAを採用しています。非常に効果的である一方で、この多段階トレーニングプロセスは、必要なGPU compute時間とメモリオーバーヘッドを大幅に増加させます。

トレーニング YOLOX

YOLOXMixUp 強力なデータ拡張戦略に依存している。しかし著者らは、最終15エポックでこれらの強力な拡張を無効化することで、モデルが現実とのギャップを埋めることができ、最終的な精度指標を大幅に高められることを発見した。

理想的なユースケース

  • DAMO-YOLO: サーバーサイドの蒸留パイプラインがサポート可能で、ターゲットハードウェア(特定のNVIDIA GPUなど)がそのヘビーネックNASアーキテクチャから直接恩恵を受けるような、リスクの高い産業展開に最適です。
  • YOLOX: 純粋なアンカーフリーのアプローチを求める開発者に最適です。非常に軽量な YOLOXnano レガシーAndroidAndroid での実用性を可能にする エッジコンピューティング、およびパラメータ数が絶対的なボトルネックとなる非常に制約の厳しいIoTセンサー。

Ultralyticsの利点: YOLO26の登場

YOLO 優れたマイルストーンではあるものの、今日の開発者はより包括的で汎用性が高く、使いやすいソリューションを求めています。そこで活躍Ultralytics 新たにリリースUltralytics

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をドローン映像およびロボット工学に格段に優位なものにします。
  • 多様性: 物体detectに厳密に特化したDAMO-YOLOとは異なり、YOLO26は、同じよく維持されたエコシステム内で、インスタンスセグメンテーション姿勢推定分類、そしてOriented Bounding Boxes (obb)をネイティブにシームレスに処理します。

YOLO26についてさらに詳しく

Ultralyticsによる使いやすさ

Ultralytics Python 開発者体験を効率化します。最先端のYOLO26モデルのトレーニングには、はるかに少ない定型コードで済み、YOLOの複雑な蒸留パイプラインを回避できます。さらに、Ultralytics 、重いトランスフォーマーベースのモデルと比較して、トレーニング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 キテクチャは決定的な選択肢です。NMS、CPU 、検出・セグメンテーション・姿勢推定タスク向けの統一APIにより、研究段階から堅牢な実運用環境への円滑な移行において比類のない性能を発揮します。

他の最新アーキテクチャの探求に興味がある開発者向けに、網羅的なUltralyticsドキュメントで利用可能なUltralytics YOLO11や、RT-DETRのようなトランスフォーマーベースのモデルも確認することをお勧めします。


コメント