YOLOv7 と DAMO-YOLO の比較#
リアルタイム物体検出の分野は絶えず進化しており、研究者やエンジニアは速度と精度の最適なバランスを追求しています。この技術比較では、2022年に登場した注目すべき2つのアーキテクチャ、YOLOv7 と DAMO-YOLO を深く掘り下げます。両モデルはコンピュータビジョンコミュニティに新しいコンセプトを導入し、モデルの学習、アーキテクチャ設計、およびデプロイにおける異なる課題に対処しています。
モデルの背景と技術的詳細#
アーキテクチャの詳細に入る前に、これら2つのモデルの起源を理解することが重要です。どちらも主要な研究グループによって開発され、リアルタイム物体検出の境界を押し広げるための高度な手法を導入しました。
YOLOv7の詳細#
YOLO ファミリーの継続として開発された YOLOv7 は、推論コストを増加させることなく精度を大幅に向上させる、学習可能な「bag-of-freebies」というコンセプトを導入しました。
- 著者: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
- 組織: Institute of Information Science, Academia Sinica, Taiwan
- 日付: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- Docs: https://docs.ultralytics.com/models/yolov7/
DAMO-YOLOの詳細#
Alibaba Group の研究者によって作成された DAMO-YOLO は、様々なハードウェア向けに高効率なモデルを構築するために、Neural Architecture Search (NAS) と高度な知識蒸留に重点を置いています。
- 著者: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
- Organization: Alibaba Group
- 日付: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
アーキテクチャの革新#
YOLOv7: 勾配パス解析と再パラメータ化#
YOLOv7は、**Extended Efficient Layer Aggregation Networks (E-ELAN)**に大きく焦点を当てています。著者はネットワークの勾配パスを分析してE-ELANを設計し、元の勾配パスを劣化させることなくネットワークが継続的に学習できるようにしました。さらに、YOLOv7は推論時にモデルの再パラメータ化を効果的に活用し、レイヤーをシームレスに統合してFLOPsを削減し、実行時間を短縮します。これにより、最新のGPU上でのリアルタイム推論において優れた能力を発揮します。
DAMO-YOLO: Neural Architecture Search と RepGFPN#
DAMO-YOLO は、レイテンシ制約下での Neural Architecture Search (NAS) を強力に活用するという点で異なります。MAE-NAS と呼ばれるフレームワークを利用して、モバイルデバイスや特定のエッジアクセラレータなど、特定のハードウェアに合わせた最適なバックボーンを見つけ出します。ネック部分には効率的な RepGFPN (Rep-parameterized Generalized Feature Pyramid Network) を導入し、予測ヘッドにおける計算負荷を最小限に抑えるために ZeroHead 設計を採用しています。
YOLOv7 が強力な固有のアーキテクチャ最適化に依存している一方で、DAMO-YOLO は複雑な多段階の知識蒸留プロセスに大きく依存しています。大規模な教師モデルを学習させて知識を小さな生徒モデルに蒸留する必要があり、学習フェーズにおいて計算コストが高くなる可能性があります。
パフォーマンスと指標の比較#
これらのモデルを比較する際には、mAP (Mean Average Precision)、推論速度、およびモデルの複雑さを確認することが重要です。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
上記の表は、YOLOv7 が高精度な領域 (YOLOv7x) へと良好にスケールすることを示している一方、DAMO-YOLO は制約のある環境向けに高度に最適化された小型モデルを提供していることを示しています。
トレーニングの効率とメモリ要件#
2つのアーキテクチャの大きな違いは、その学習手法にあります。DAMO-YOLOが蒸留に依存しているということは、新しいモデルをゼロから学習させたり、カスタムコンピュータビジョンデータセットでファインチューニングしたりする際に、多くの場合でより多くのVRAMとGPU演算時間が要求されることを意味します。
対照的に、YOLOv7やそれ以降のバージョンなど、Ultralyticsエコシステムに統合されたモデルは、メモリ要件に向けて強力に最適化されています。これにより、開発者はメモリ不足エラーに遭遇することなく、コンシューマー向けハードウェアでより大きなバッチサイズを利用できるようになり、実験追跡と反復のプロセスが簡素化されます。
Ultralyticsの利点#
YOLOv7とDAMO-YOLOのどちらも魅力的な機能を提供していますが、Ultralyticsエコシステム内でモデルをデプロイすることで、比類のない開発者エクスペリエンスが得られます。
- 使いやすさ: UltralyticsのPythonパッケージは、統一されたシンプルなAPIを提供します。わずか数行のコードで、モデルアーキテクチャの切り替え、学習ループの開始、または推論の実行を素早く行うことができます。
- よくメンテナンスされたエコシステム: Ultralyticsは頻繁なアップデートを提供し、最新のPyTorchリリースおよびCUDAドライバーとのネイティブな互換性を確保します。また、モデルをONNX、TensorRT、OpenVINOなどのフォーマットにエクスポートするプロセスも簡素化されます。
- 汎用性: DAMO-YOLOが厳密にオブジェクト検出器であるのに対し、Ultralyticsエコシステムは多様なタスクをネイティブにサポートしています。Ultralyticsファミリーのモデルは、標準的なバウンディングボックス検出、姿勢推定、インスタンスセグメンテーション、および方向付きバウンディングボックス (OBB)を実行できます。
コード例: すばやく始める#
Ultralytics モデルを使用して、ロード、学習、推論を実行する手順は以下の通りです。
from ultralytics import YOLO
# Load a pre-trained YOLOv7 model (or newer models like yolo26n.pt)
model = YOLO("yolov7.pt")
# Train the model on the COCO8 dataset with automated hyperparameter handling
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX format for deployment
model.export(format="onnx")Ultralytics を使用すれば、学習済みウェイトを様々なハードウェア加速フォーマット(TensorRT や CoreML など)にエクスポートする作業は、エクスポートコマンド内の単一の引数で処理されるため、複雑なスクリプト設定にかかる時間を削減できます。
次世代: YOLO26#
YOLOv7は依然として強力なレガシーアーキテクチャですが、この分野は急速に進歩しています。新しいデプロイにおいては、ほぼすべての指標で前世代を凌駕する、Ultralytics YOLO26(2026年1月リリース)が推奨される標準となります。
- エンドツーエンドのNMSフリー設計: YOLOv10で初めて先駆けて導入されたYOLO26は、非最大抑制(NMS)後処理をネイティブに排除します。これにより、ロボット工学や自動運転技術に不可欠な、決定的かつ超低レイテンシな推論が保証されます。
- MuSGD オプティマイザー: 高度な LLM 学習技術(Moonshot AI の Kimi K2 など)から着想を得たこのハイブリッドオプティマイザーは、SGD と Muon を組み合わせることで、非常に安定した学習とデータセット全体でのより高速な収束を実現します。
- 最大 43% 高速な CPU 推論: Distribution Focal Loss (DFL) を戦略的に削除することで、YOLO26 はエッジコンピューティングプラットフォームおよび CPU 上でのパフォーマンスを大幅に向上させます。
- ProgLoss + STAL: これらの高度な損失関数は、小物体の検出において大幅な改善をもたらし、YOLO26を航空画像や詳細な監視に非常に適したものにしています。
理想的なユースケース#
DAMO-YOLOを選択すべきケース#
- NAS における学術研究: 組織が Neural Architecture Search 手法の研究に多大な投資を行っている場合。
- 特定のハードウェア上での極限レイテンシ: カスタム AI アクセラレータチップ向けに調整されたバックボーンを見つけるために、網羅的な NAS 探索を実行するリソースがある場合。
YOLOv7を選択すべき時#
- 既存の GPU パイプライン: ハイエンドの NVIDIA ハードウェア上で YOLOv7 特有の E-ELAN アーキテクチャに合わせて深く最適化された、レガシーな本番パイプラインを維持しているチームの場合。
最新の Ultralytics モデル (YOLO11 / YOLO26) へ移行すべき理由#
リテール分析、スマート製造からヘルスケアに至るまで、圧倒的多数のエンタープライズアプリケーションにおいて、現代のUltralyticsモデルは比類のない存在です。Ultralyticsプラットフォームとの統合により、完全なMLパイプラインが提供され、使いやすさ、優れたドキュメント、堅牢なコミュニティサポート、そしてマルチタスクの汎用性がもたらされます。Raspberry Piでの在庫追跡であれ、クラウドでの重い分析の実行であれ、YOLO26のようなモデルは、コンピュータビジョンの将来に向けた理想的なパフォーマンスのバランスを提供します。