YOLO Vision 2026:

DAMO-YOLOとYOLOXの比較#

リアルタイムコンピュータビジョンの分野は常に進化しています。この歩みにおける2つの重要なマイルストーンが DAMO-YOLOYOLOX であり、どちらも高速かつ高精度な物体検出という課題に対して独自のイノベーションをもたらしました。両モデルともオープンソースコミュニティに大きく貢献してきましたが、機械学習エンジニアにとっては、そのアーキテクチャの違い、学習手法、そして最適なデプロイ環境を理解することが重要です。

この包括的なガイドでは、両モデルの技術的なニュアンスを掘り下げ、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

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 Documentation

YOLOXについて詳しく学ぶ

アーキテクチャ分析#

DAMO-YOLOのアーキテクチャ#

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

  • MAE-NASバックボーン: 多目的進化探索アルゴリズムを使用して、推論速度と精度の最適なバランスを提供するバックボーンを探索します。
  • Efficient RepGFPN: 特徴融合に適応させたヘビーネック設計であり、モデルがさまざまなオブジェクトスケールに対して高い精度を維持するのに役立ちます。
  • ZeroHead: 最終的な予測レイヤーにおける計算オーバーヘッドを削減する、簡素化された軽量な検出ヘッドです。

YOLOXアーキテクチャ#

YOLOXは異なるアプローチを採用し、構造の単純さとアンカーフリー設計に焦点を当てました。

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

DAMO-YOLOが厳しい制約下で最適なアーキテクチャを見つけるためにマシン主導のNAS探索を利用するのに対し、YOLOXは(アンカーフリーヘッドのような)人間が設計した洗練された簡素化を活用して物体検出パイプラインを合理化しています。

パフォーマンスの比較#

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

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメータ
(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

YOLOXxは51.1という最高レベルの絶対mAPを達成していますが、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はNMS(Non-Maximum Suppression)後処理をネイティブで排除しています。これにより、従来の検出ヘッドに固有のレイテンシボトルネックを回避し、大幅にシンプルで高速なデプロイが可能になります。
  • CPU推論速度が最大43%向上: DFL(Distribution Focal Loss)を戦略的に削除し、レイヤーを最適化することで、YOLO26はCPUおよびエッジハードウェア上で比類のない速度を提供します。
  • MuSGDオプティマイザ: 大規模言語モデル(LLM)の学習手法に触発され、YOLO26はMuSGDオプティマイザ(SGDとMuonのハイブリッド)を導入しました。これにより、YOLOXの従来のセットアップと比較して、学習が非常に安定し、収束も大幅に高速化します。
  • ProgLoss + STAL: これらの高度な損失関数は小物体認識において顕著な改善をもたらし、ドローン映像やロボティクスにおいてYOLO26を極めて強力なものにします。
  • 汎用性: 物体検出専用の DAMO-YOLO とは異なり、YOLO26 はインスタンス セグメンテーションポーズ推定分類、および方向付きバウンディング ボックス (OBB) を、同一の十分にメンテナンスされたエコシステム内でネイティブに処理します。

YOLO26の詳細はこちら

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 YOLO11RT-DETR などの Transformer ベースのモデルの確認も推奨しています。

コメント