DAMO-YOLOとYOLOX:技術比較
急速に進化するコンピュータビジョンにおいて、適切な物体検出モデルを選択することは、あらゆるAIプロジェクトの成功にとって極めて重要である。この記事では、有力な2つのアーキテクチャを詳細に比較する:アリババ・グループが開発したDAMO-YOLO、Megviiが開発したYOLOXである。両モデルとも、スピードと精度の限界を押し広げ、この分野に大きく貢献している。それぞれのユニークなアーキテクチャー、パフォーマンス指標、理想的なユースケースを探求し、十分な情報に基づいた決断ができるようにします。
DAMO-YOLO:高速推論の最適化
DAMO-YOLO 、リアルタイム物体検出の飛躍的進歩を象徴するもので、精度を損なうことなくGPU ハードウェア上での低レイテンシーを優先している。アリババの研究者によって開発されたDAMO-YOLOは、最先端のニューラルネットワーク設計原理を統合し、スピードと精度のトレードオフを見事に実現しています。
技術詳細:
- 著者: Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang、Xiuyu Sun
- 組織アリババグループ
- Date: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
- ドキュメントhttps://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
アーキテクチャとイノベーション
DAMO-YOLO アーキテクチャは、効率を最大化するために設計されたいくつかの革新的な技術に基づいて構築されている:
- ニューラル・アーキテクチャー・サーチ(NAS):このモデルは、MAE-NASを利用して最も効率的なバックボーン構造を自動的に検索し、GiraffeNetとして知られる特徴抽出器を生成します。このアプローチにより、ネットワークの深さと幅が特定のハードウェア制約に最適化されます。
- RepGFPNネック:マルチスケール特徴フュージョンに対応するため、DAMO-YOLO 再パラメータ化によって強化された一般化特徴ピラミッドネットワーク(GFPN)を採用している。これにより、高い推論速度を維持しながら、異なるスケールにまたがる豊かな情報の流れを可能にする。
- ZeroHead:分類と回帰のタスクを切り離し、従来の切り離されたヘッドに比べて計算負荷を大幅に軽減した軽量な検出ヘッド。
- AlignedOTA:分類と回帰の目的間のずれを解決する新しいラベル割り当て戦略で、学習中に最も関連性の高いサンプルからモデルが学習することを保証します。
強みと理想的な使用例
DAMO-YOLO 、リアルタイム性能が譲れないシナリオに優れています。そのアーキテクチャの最適化により、高いスループットを必要とする産業用アプリケーションの最有力候補となっています。
- 産業オートメーション:数ミリ秒を争う製造ラインでの高速欠陥検出に最適。
- スマートシティ監視: 交通管理と安全監視のために複数のビデオストリームを同時に処理できる。
- ロボティクス視覚データを瞬時に処理することで、自律型ロボットが複雑な環境をナビゲートできるようにする。
YOLOX:アンカーフリーのパイオニア
YOLOXは、アンカーベースのメカニズムから脱却することで、YOLO シリーズに極めて重要な瞬間をもたらした。Megviiによって開発され、検出パイプラインを簡素化し、汎化性を向上させるアンカーなしの設計を導入し、2021年の性能の新たな基準を打ち立てた。
技術詳細:
- 著者: Zheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sun
- 組織メグヴィ
- Date: 2021-07-18
- Arxiv:https://arxiv.org/abs/2107.08430
- GitHub:https://github.com/Megvii-BaseDetection/YOLOX
- ドキュメントhttps://yolox.readthedocs.io/en/latest/
主な建築上の特徴
YOLOXは、以前のYOLO バージョンによく見られた問題を解決する強固な設計思想で差別化を図っている:
- アンカーフリーのメカニズム:あらかじめ定義されたアンカーボックスを排除することで、YOLOXはアンカーチューニングの複雑さを回避し、ヒューリスティックなハイパーパラメータの数を削減する。これにより、多様なデータセットでより優れたパフォーマンスを発揮する。
- 分離ヘッド:このモデルは、分類タスクとローカリゼーションタスクを別々のブランチに分割します。この分離により、各タスクが独立して最適な特徴を学習できるようになり、収束速度と精度が向上する。
- SimOTA ラベル割り当て:ラベル割り当てを最適輸送問題として扱う高度な戦略。SimOTAは、正サンプルを基底真理に動的に割り当て、混雑したシーンやオクルージョンに対するモデルの処理能力を向上させます。
- 強力なデータ補強:YOLOXはMosaicやMixUp ような技術を活用し、ロバスト性を高め、トレーニング中のオーバーフィッティングを防ぎます。
強みと理想的な使用例
YOLOXは、その高い精度と安定性で定評があり、精度が最重要視される用途で信頼できる選択肢となっています。
- 自律走行:車両知覚システムが歩行者や障害物を安全に識別するために必要な高精度の物体検出を提供。
- リテールアナリティクス:複雑な小売環境における棚のモニタリングと在庫管理のための正確な検出。
- 研究のベースラインアンカーを使用しないクリーンな実装のため、新しい検出方法論に関する学術研究の優れたベースラインとして役立つ。
パフォーマンス分析
以下の表は、DAMO-YOLO YOLOXを様々なモデルサイズで直接比較したものです。COCO データセットにおけるモデルの複雑さ(パラメータとFLOPs)、推論速度、検出精度mAP)のトレードオフを強調しています。
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (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 |
主なポイント
- レイテンシの優位性:DAMOYOLO YOLOは、同等の精度レベルにおいて、GPU 推論速度の点で一貫してYOLOXを上回る。例えば、DAMO-YOLOは3.45msで46.0mAP 達成するのに対し、YOLOXmは46.9mAP 達成するのに5.43msを必要とし、FLOPsが著しく高い。
- 効率:DAMO-YOLO NASに最適化されたバックボーンは、より優れたパラメータ効率比を提供する。
- ピーク精度:YOLOX-xは、高い計算コスト(281.9B FLOPs)を伴うものの、最大精度(51.1mAP)では依然として強力な競争相手である。
- 軽量オプション:YOLOX-Nanoは非常に軽量(0.91Mパラメータ)であるため、リソースに厳しいマイコンに適していますが、精度は大幅に低下します。
GPU 最適化
DAMO-YOLO、リパラメータ化と効率的なネック構造を多用しているため、特に以下の用途に適している。 TensorRTNVIDIA 特に適しており、並列計算機能をフルに活用することができます。
Ultralytics 優位性
DAMO-YOLO YOLOXが強力な機能を提供する一方で、Ultralytics YOLO モデル、特にYOLO11-は、現代のコンピューター・ビジョン開発に優れた包括的ソリューションを提供します。Ultralytics 、生のパフォーマンスだけでなく、機械学習操作のライフサイクル全体に対応するエコシステムを培ってきました。
Ultralytics選ぶ理由
開発者や研究者は、いくつかの説得力のある理由から、ますますUltralytics モデルに注目している:
- 比類のない使いやすさ: Ultralytics Python APIはシンプルに設計されています。最先端のモデルをロードし、トレーニングを開始するのに必要なコードはわずか数行であり、学術的なリポジトリでしばしば必要とされる複雑な設定ファイルと比較して、参入障壁を劇的に低減します。
- 整備されたエコシステム:停滞する多くの研究プロジェクトとは異なり、Ultralytics モデルは活発なコミュニティと活発な開発によって支えられています。定期的なアップデートにより、最新の PyTorchバージョン、エクスポートフォーマット、ハードウェアアクセラレータとの互換性を保証します。
- 汎用性: Ultralytics モデルはバウンディングボックスに限定されません。インスタンスセグメンテーション、ポーズ推定、画像分類、指向性オブジェクト検出(OBB)など、さまざまなタスクをネイティブにサポートします。
- パフォーマンスバランス: Ultralytics YOLO モデルは、スピードと精度の間の「スイートスポット」に当たるように設計されています。多くの場合 mAPスコアを達成する一方で、CPUとGPUの両方でより速い推論時間を維持しています。
- トレーニングの効率:最適化されたデータローダーと事前に調整されたハイパーパラメーターにより、Ultralytics モデルのトレーニングは非常に効率的です。ユーザーは COCO上で事前に訓練された重みを活用することで、収束が早くなり、貴重な計算時間とエネルギーを節約できます。
- メモリ効率: Ultralytics モデルは通常、重い変換器ベースのアーキテクチャや古いCNNと比較して、学習や推論時のメモリ使用量が少ないため、エッジデバイスを含む幅広いハードウェアで利用できます。
シームレスなワークフローの例
このPython 例で、Ultralytics ワークフローのシンプルさを体験してください:
from ultralytics import YOLO
# Load the YOLO11 model (pre-trained on COCO)
model = YOLO("yolo11n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
結論
DAMO-YOLO YOLOXはともに、物体検出の歴史にその地位を確固たるものにしている。DAMOYOLO YOLOは、ミリ秒単位のレイテンシが重要な、特殊な高スループットGPU アプリケーションに最適です。YOLOXは、研究コミュニティでよく理解されている、堅実で正確なアンカーフリー検出器です。
しかし、実世界でのアプリケーションの大半は、このようなものである、 Ultralytics YOLO11は最高の選択肢です。最先端のパフォーマンス、マルチタスクの汎用性、ユーザーフレンドリーでメンテナンスの行き届いたエコシステムの組み合わせにより、開発者は堅牢なソリューションをより迅速かつ効率的に構築することができます。クラウドとエッジのどちらにデプロイする場合でも、Ultralytics 今日の競争の激しいAI環境で成功するために必要なツールを提供します。
その他の比較
物体検出の状況をさらに理解するために、これらのモデルが他の最先端のアーキテクチャと比較してどうなのかを探る: