DAMO-YOLOとYOLOv7の比較#
コンピュータービジョンの急速な進化により、精度と計算コストのバランスを取るよう設計された、高効率な物体検出モデルが登場しました。2022年に発表された注目モデルが、DAMO-YOLOとYOLOv7です。どちらもリアルタイムビジョンタスクの限界を押し広げることを目指していますが、アーキテクチャの設計パラダイムとトレーニング手法は大きく異なります。
この包括的な技術比較では、両モデルの異なるアプローチを取り上げ、アーキテクチャ、デプロイの可能性、パフォーマンス指標を検討することで、機械学習エンジニアが具体的なコンピュータービジョンアプリケーションに適したツールを選ぶための情報を提供します。
モデルの由来とメタデータ#
詳細な技術分析に入る前に、これら2つのコンピュータービジョンモデルが生まれた背景を理解しておくことが重要です。
DAMO-YOLO#
Alibaba Groupの研究者が開発したDAMO-YOLOは、アーキテクチャの自動探索と蒸留によって速度と精度の両方を最適化するために導入されました。
- 著者: Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang、Xiuyu Sun
- 組織: Alibaba Group
- 日付: 2022年11月23日
- Arxiv:2211.15444v2
- GitHub:tinyvision/DAMO-YOLO
YOLOv7#
2022年半ばに最先端モデルとしてリリースされたYOLOv7は、デプロイコストを増やさずにトレーニング可能な「bag-of-freebies」を導入し、リアルタイム推論をさらに進化させました。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 台湾、中央研究院情報科学研究所
- 日付: 2022年7月6日
- Arxiv: 2207.02696
- ドキュメント:YOLOv7ドキュメント
UltralyticsはYOLOv7の重みやYAMLを公開していないため、YOLOv7をUltralyticsパッケージでネイティブにトレーニングすることはできません。上流リポジトリでトレーニングしたYOLOv7モデルは、ONNXまたはTensorRTにエクスポートし、Ultralyticsで推論を実行できます。
アーキテクチャの革新#
DAMO-YOLO:NASと蒸留#
DAMO-YOLOには、効率を最大限に高めるための最先端技術が複数組み込まれています。
- NASバックボーン: Neural Architecture Search (NAS)を利用して、レイテンシが重要な環境に合わせた最適なバックボーン(MAE-NAS)を自動設計します。
- 効率的なRepGFPN: 複数のスケールにわたる特徴融合の効率を大幅に高める、改良版Generalized Feature Pyramid Networkです。
- ZeroHeadとAlignedOTA: 軽量な検出ヘッドと最適化されたラベル割り当て戦略(AlignedOTA)を採用し、計算オーバーヘッドを削減します。
- 蒸留による性能向上: トレーニング中に知識蒸留を多用し、パラメーター数を増やさずに小型モデルの性能を高めます。
YOLOv7:E-ELANとBag-of-Freebies#
YOLOv7は、勾配経路の最適化と堅牢なトレーニング戦略に重点を置く、より構造的なエンジニアリングアプローチを採用しました。
- E-ELANアーキテクチャ: Extended Efficient Layer Aggregation Networkは、勾配経路の最短距離と最長距離を制御することで、モデルがより多様な特徴を学習できるようにし、効果的な学習の収束を実現します。
- モデルのスケーリング: 深さと幅を同時に拡大し、構造的な整合性を保つ、連結ベースのモデルに特化した複合スケーリング手法を導入します。
- トレーニング可能なBag-of-Freebies: 恒等接続を持たない再パラメーター化畳み込み(RepConv)や動的ラベル割り当て戦略などの手法を採用し、推論速度に影響を与えずにトレーニング中の精度を高めます。
パフォーマンス分析#
平均適合率(mAP)、速度、効率を評価すると、両モデルとも優れた指標を示しますが、対象とする領域はやや異なります。YOLOv7は高精度なGPUデプロイに重点を置く一方、DAMO-YOLOのNAS由来の構造は、CPUやエッジへの低レイテンシなデプロイを積極的に目指しています。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
指標からわかるように、DAMO-YOLOは8.5MパラメーターのTinyモデルなど、非常に軽量なバリアントを提供します。一方、YOLOv7は全体としてより高い精度のピークを達成し、YOLOv7xはCOCOデータセットで53.1 mAPという優れたスコアを記録しています。
Ultralyticsエコシステムの利点#
理論上のアーキテクチャも重要ですが、モデルの実用性を左右するのはエコシステムです。YOLO26などのネイティブUltralyticsモデルは、十分に保守されたエコシステムと、他に類を見ない使いやすさを備えています。
- パフォーマンスのバランス: Ultralyticsモデルは、推論速度と検出精度の最適なトレードオフを一貫して実現するため、エッジデバイスにもクラウドベースのモデルデプロイにも適しています。
- メモリ要件: 大規模なTransformerベースのモデルとは異なり、Ultralytics YOLOモデルはトレーニング中のCUDAメモリ要件を低く抑えます。そのため、バッチサイズを大きくでき、コンシューマー向けハードウェアでもトレーニングを効率化できます。
- 柔軟性: Ultralyticsフレームワークは物体検出にとどまらず、インスタンスセグメンテーションや姿勢推定などのタスクにも対応し、開発者に包括的なコンピュータービジョンツールキットを提供します。
Ultralyticsパッケージでは、高度に最適化されたデータローダーと事前トレーニング済みの重みを活用し、データセットからトレーニング済みモデルまでをわずか数分でシームレスに進められます。
コード例:UltralyticsでYOLOv7を実行する#
YOLOv7の使用例で説明されているとおりに上流版YOLOv7のONNXエクスポートを変換すると、Ultralytics Python APIで実行できます。
from ultralytics import YOLO
# Ultralytics向けに変換したYOLOv7 ONNXモデルを読み込みます
model = YOLO("yolov7-ultralytics.onnx", task="detect")
# 推論を実行
predictions = model.predict("https://ultralytics.com/images/bus.jpg", save=True)新たなスタンダード:YOLO26の紹介#
YOLOv7とDAMO-YOLOは2022年に大きな進歩をもたらしましたが、ビジョンAIの分野は急速に進化しています。現在、新しいプロジェクトを始めるチームには、2026年1月にリリースされた最先端のUltralytics YOLO26を推奨します。
YOLO26はパフォーマンスと使いやすさを世代を超えて進化させ、最先端の技術革新を取り入れています。
- エンドツーエンドのNMSフリーデザイン: YOLO26はネイティブのエンドツーエンドヘッド(
nms=False)を備えています。Non-Maximum Suppression (NMS)の後処理を不要にすることで、より高速でシンプルなデプロイロジックを実現します。このパラダイムシフトは、当初YOLOv10が切り開きました。 - MuSGD Optimizer: Moonshot AIのKimi K2のような大規模言語モデルの革新に着想を得て、YOLO26はSGDとMuonを組み合わせたハイブリッド手法を採用しています。このオプティマイザーにより、非常に安定したトレーニング動態と大幅に高速な収束を実現します。
- CPU推論が最大43%高速化: Distribution Focal Loss (DFL)の的を絞った削除と大幅な構造改善により、YOLO26は低消費電力のエッジコンピューティング向けに高度に最適化されており、GPUを搭載しないハードウェアで従来世代を上回ります。
- ProgLoss + STAL: 小さな物体の認識を明確な対象として改善する高度な新しい損失関数を導入しています。これは、航空画像、ロボティクス、セキュリティ監視のアプリケーションに欠かせない機能です。
- タスク固有の改良: 標準的な検出に加え、YOLO26はセグメンテーション向けのマルチスケールプロトタイピング、姿勢推定向けのRLE、Oriented Bounding Boxes (OBB)向けの専用角度損失など、多様なタスクに合わせた改良を備えています。
最適なユースケース#
適切なアーキテクチャは、ターゲットとするデプロイ環境とプロジェクトの制約によって決まります。
DAMO-YOLOを選ぶ場合:
- パラメーター数を極めて少なく抑える必要がある、リソースに厳しいエッジ環境(マイクロコントローラーなど)で作業している場合。
- Alibaba独自のクラウドサービスと特に緊密に統合された自動機械学習パイプラインを利用している場合。
YOLOv7を選ぶ場合:
YOLO26を選ぶ場合(推奨):
- 新しいコンピュータービジョンアプリケーションをゼロから構築しており、精度とCPU・エッジ推論速度の両方で最高水準を求めている場合。
- NMSオペレーターの制約に対処することなく、CoreMLやTensorRTへのエクスポートなど、迅速でシームレスなデプロイを必要とする場合。
- クラウドトレーニング、データセット管理、自動デプロイにUltralytics Platformの機能を最大限に活用したい場合。
Ultralyticsモデルの堅牢なエコシステムを活用することで、開発者は実際のアプリケーションで最高水準の予測性能を確保しながら、エンジニアリングにかかる時間を大幅に削減できます。