DAMO-YOLOとYOLOv10の比較#
コンピュータービジョン分野では、リアルタイム物体検出アーキテクチャが急速に進化してきました。DAMO-YOLOとYOLOv10を比較すると、モデル設計における2つの異なる理念、すなわち自動アーキテクチャ探索とエンドツーエンドのNMSフリー最適化が見えてきます。どちらも精度と速度の限界を押し広げていますが、基盤となる構造と最適なユースケースは大きく異なります。
DAMO-YOLO:大規模なニューラルアーキテクチャ探索#
Alibaba Groupが開発したDAMO-YOLOは、構造効率のための自動探索を活用することに重点を置いた強力な検出器として登場しました。
- 著者: Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang、Xiuyu Sun
- 日付: 2022年11月23日
- Arxiv:2211.15444v2
- GitHub:tinyvision/DAMO-YOLO
アーキテクチャの主な特徴#
DAMO-YOLOは、パフォーマンスとレイテンシのバランスを取るためにニューラルアーキテクチャ探索(NAS)を多用しています。MAE-NASと呼ばれるバックボーンでは、厳しい計算予算のもと、最大エントロピーに基づく探索を行い、最適なレイヤーの深さと幅を決定します。
スケール間の特徴融合には、効率的なRepGFPN(再パラメーター化汎用特徴ピラミッドネットワーク)を採用しています。この大規模なネック設計は、複雑な空間階層の抽出に特に優れており、航空画像分析などのシナリオで役立ちます。さらにDAMO-YOLOは、最終予測レイヤーの複雑さを大幅に軽減する簡素化された検出ヘッドZeroHeadを導入し、トレーニング中には堅牢な蒸留強化プロセスを利用します。
DAMO-YOLOでは、多段階の知識蒸留プロセスがよく利用されます。より小さな「生徒」モデルを導くため、より大規模な「教師」モデルのトレーニングが必要です。この方法では、より高いmAP(平均適合率)を得られる一方で、必要なGPU計算時間が大幅に増加します。
YOLOv10:エンドツーエンドのオブジェクト検出を切り開く#
その1年半後にリリースされたYOLOv10は、推論時のNon-Maximum Suppression(NMS)を完全に不要にすることで、パラダイムシフトをもたらしました。
- 著者: Ao Wang、Hui Chen、Lihao Liuほか
- 組織: 清華大学
- 日付: 2024年5月23日
- Arxiv: 2405.14458
- ドキュメント: Ultralytics YOLOv10
アーキテクチャの主な特徴#
YOLOv10の際立った特徴は、NMSフリーのトレーニングを実現する一貫性のあるデュアル割り当てです。従来の検出器は、1つの物体に対して重複する複数のバウンディングボックスを予測するため、重複を除去するNMSが必要です。この後処理は、特にエッジデバイスでボトルネックになります。YOLOv10では、物体ごとに正確なバウンディングボックスを1つ自然に予測できるようにすることで、この問題を解決します。
著者らは、効率と精度を包括的に両立させるモデル設計にも重点を置きました。既存のアーキテクチャにおける計算の冗長性を慎重に分析し、バックボーンとヘッドを最適化してFLOPsとパラメーター数を削減しました。この軽量設計により、TensorRTやOpenVINOなどの形式にエクスポートした場合でも、YOLOv10は優れた推論レイテンシを実現します。
性能とベンチマーク#
以下の表は、COCOデータセットにおける実測パフォーマンス指標を示しています。各列の総合的な最良値は太字で示しています。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
DAMO-YOLOは精度面で健闘していますが、YOLOv10は同程度の規模でより高い精度を実現し、モデルの重みも大幅に小さくなっています。たとえばYOLOv10sは、DAMO-YOLOs(46.0%)をわずかに上回るmAP(46.3%)を達成しながら、パラメーター数は半分未満(7.2M対16.3M)です。メモリ要件が低いため、YOLOv10は組み込みシステムに非常に適した汎用性の高い選択肢です。
トレーニング効率と使いやすさ#
学術研究から本番環境へ移行する際には、使いやすさが最も重要です。DAMO-YOLOの多段階蒸留プロセスや複雑なNAS設定は、エンジニアリングチームにとって習得の大きな障壁になり得ます。
一方、YOLOv10はUltralytics Python SDKに完全に統合されているため、大きな利点があります。カスタムモデルのトレーニングに必要なボイラープレートコードは最小限です。Ultralyticsがデータ拡張、ハイパーパラメーター調整、実験管理を自動的に処理します。
from ultralytics import YOLO
# 事前学習済みのYOLOv10 nanoモデルを読み込みます
model = YOLO("yolov10n.pt")
# 組み込みの検証機能を使ってカスタムデータセットでトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 画像に対してシームレスに推論を実行する
prediction = model("path/to/image.jpg")
prediction[0].show()Ultralyticsエコシステムを利用すると、開発者はわずか数行のコードで、プロトタイプから完全なエクスポート済みONNXモデルへ移行できます。従来のフレームワークで必要だった複雑な環境設定も不要です。
実際のユースケース#
- スマート小売(DAMO-YOLO): DAMO-YOLOの精度は、GPUが豊富に利用でき、リアルタイムNMSのボトルネックにも対処できる、高密度なサーバー環境での顧客行動分析に適しています。
- 自動運転車(YOLOv10): NMSフリーのアーキテクチャにより、決定論的で予測可能なレイテンシを実現できます。これは自動運転の安全システムに不可欠です。
- 産業オートメーション(YOLOv10): 高速で動く組立ラインの欠陥検出には、膨大なVRAMを消費せずにリアルタイム推論を高速化するモデルが必要です。そのためYOLOv10はエッジデプロイの有力候補です。
ユースケースと推奨事項#
DAMO-YOLOとYOLOv10のどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムに関する好みによって決まります。
DAMO-YOLOを選ぶケース#
DAMO-YOLOが適しているケース:
- 高スループットの動画分析: バッチサイズ1でのスループットが主要な指標となる、固定のNVIDIA GPUインフラストラクチャ上で高FPSの動画ストリームを処理する用途。
- 産業用製造ライン: 組み立てラインでのリアルタイム品質検査など、専用ハードウェア上でGPUレイテンシに厳しい制約があるシナリオ。
- ニューラルアーキテクチャ探索の研究: 自動アーキテクチャ探索 (MAE-NAS) と、効率的に再パラメーター化されたバックボーンが検出性能に与える影響を研究する用途。
YOLOv10を選ぶ場合#
YOLOv10は、次のような用途に推奨されます。
- NMSを使用しないリアルタイム検出: 非最大抑制を使用しないエンドツーエンド検出によって、デプロイを簡素化できるアプリケーション。
- 速度と精度のバランス: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが必要なプロジェクト。
- レイテンシーが安定している必要のあるアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
次世代モデル:Ultralytics YOLO26の登場#
YOLOv10はNMSフリー検出の基盤を築きましたが、この技術は急速に進化しています。最新のアプリケーションでは、Ultralytics YOLO26モデルが優れたパフォーマンスと使いやすさを提供し、従来世代の長所を引き継ぎながら、本番環境向けに洗練されています。
YOLO26はネイティブのエンドツーエンドモード(nms=False)を備え、NMSの後処理を省略することで、エッジデバイス全体にわたるデプロイパイプラインを簡素化します。さらに、Distribution Focal Loss(DFL)を取り除いたことで、低消費電力のエッジAIハードウェアとの互換性が大幅に向上しました。
トレーニング面では、YOLO26は大規模言語モデル(LLM)のトレーニング技術に着想を得たハイブリッド方式のMuSGDオプティマイザーを導入しています。これにより、より安定したトレーニングと高速な収束を実現します。ProgLoss + STAL損失関数と組み合わせることで、YOLO26は小物体認識を大幅に向上させます。これは野生生物の保全やドローン運用に不可欠な機能です。
重要な点として、YOLO26は単なる物体検出器ではありません。インスタンスセグメンテーション、残差対数尤度推定(RLE)を用いた姿勢推定、回転バウンディングボックス(OBB)向けの専用角度損失など、幅広いタスク固有の改善を提供し、これらを標準でサポートしています。前世代よりCPU推論が最大43%高速であり、機動力の高いエンジニアリングチームに最適な選択肢です。
YOLO26モデルの一元管理、アノテーション、クラウドトレーニングには、Ultralytics Platformが直感的なインターフェースを提供し、コンピュータービジョンのライフサイクル全体を効率化します。
最近のほかの進歩に関心がある開発者は、Ultralytics YOLO11や、異なるアーキテクチャのソリューションが必要なシナリオ向けのTransformerベースのRT-DETRフレームワークも評価できます。