YOLOv7とDAMO-YOLOの比較#
研究者やエンジニアが速度と精度の最適なバランスを探るなか、リアルタイム物体検出は進化を続けています。この技術比較では、2022年に登場した注目すべき2つのアーキテクチャ、YOLOv7とDAMO-YOLOを検証します。どちらのモデルも、モデルのトレーニング、アーキテクチャ設計、デプロイにおけるさまざまな課題に対処する新しいコンセプトをコンピュータビジョン分野にもたらしました。
モデルの背景と技術的詳細#
どちらのモデルも主要な研究グループによって開発され、リアルタイム物体検出を改善する新しい手法を導入しました。
YOLOv7の詳細#
YOLOファミリーの発展形として開発されたYOLOv7は、推論コストを増やさずに精度を大幅に高める、トレーニング可能な「bag-of-freebies」という概念を導入しました。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 台湾、中央研究院情報科学研究所
- 日付: 2022-07-06
- arXiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- ドキュメント: https://docs.ultralytics.com/models/yolov7
DAMO-YOLOの詳細#
Alibaba Groupの研究者が開発したDAMO-YOLOは、さまざまなハードウェア向けの効率的なモデルを構築するため、ニューラルアーキテクチャ探索(NAS)と知識蒸留を重点的に活用しました。
- 著者: 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
アーキテクチャの革新#
YOLOv7: 勾配パス解析と再パラメーター化#
YOLOv7はExtended Efficient Layer Aggregation Networks(E-ELAN)を重点的に採用しています。著者らはネットワークの勾配経路を分析してE-ELANを設計し、元の勾配経路を損なうことなくネットワークが継続的に学習できるようにしました。さらに、YOLOv7は推論時にモデルの再パラメーター化を行い、レイヤーを融合してFLOPsを削減し、実行時間を短縮します。このため、最新のGPUでのリアルタイム推論に高い能力を発揮します。
DAMO-YOLO: ニューラルアーキテクチャ探索とRepGFPN#
DAMO-YOLOは、レイテンシ制約下でのニューラルアーキテクチャ探索 (NAS)を積極的に活用している点で異なります。MAE-NASと呼ばれるフレームワークを使用して、モバイルデバイスや特定のエッジアクセラレーターなど、個別のハードウェアに適した最適なバックボーンを探索します。ネックには効率的なRepGFPN(再パラメーター化されたGeneralized Feature Pyramid Network)を導入し、予測ヘッドの計算負荷を最小限に抑えるZeroHead設計を採用しています。
YOLOv7がアーキテクチャ自体の強力な最適化に依存する一方、DAMO-YOLOは複雑な多段階の知識蒸留プロセスに大きく依存します。小さな生徒モデルに知識を蒸留するには大規模な教師モデルをトレーニングする必要があり、トレーニング段階で多くの計算リソースを消費する可能性があります。
パフォーマンスと指標の比較#
これらのモデルを比較する際は、mAP(平均適合率)、推論速度、モデルの複雑さを確認することが重要です。
| モデル | サイズ (ピクセル) | 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計算時間が必要です。
これに対し、UltralyticsエコシステムでネイティブにサポートされるYOLOv8以降のモデルは、トレーニング時のメモリ使用量を抑えるよう最適化されています。メモリ不足エラーを起こさずに一般向けハードウェアで大きなバッチサイズを使用できるため、実験の追跡や反復のプロセスを簡素化できます。
Ultralyticsの強み#
YOLOv7とDAMO-YOLOはどちらも魅力的な機能を備えていますが、モデルをUltralyticsエコシステム内にデプロイすると、開発者にとってよりシンプルな操作性が得られます。
- 使いやすさ: Ultralytics Pythonパッケージは、統一されたシンプルなAPIを提供します。モデルアーキテクチャをすばやく切り替え、数行のコードでトレーニングループを開始したり、推論を実行したりできます。
- よく保守されたエコシステム: Ultralyticsは頻繁にアップデートを提供し、最新のPyTorchリリースやCUDAドライバーとのネイティブな互換性を確保しています。また、モデルをONNX、TensorRT、OpenVINOなどの形式へ簡単にエクスポートできます。
- 汎用性: 物体検出専用のDAMO-YOLOとは異なり、Ultralyticsエコシステムは多様なタスクをネイティブにサポートしています。Ultralyticsファミリーのモデルは、標準的なバウンディングボックス検出、インスタンスセグメンテーション、画像分類、ポーズ推定、回転バウンディングボックス(OBB)に対応し、YOLO26ではセマンティックセグメンテーションと深度推定も追加されています。
コード例: すばやく始める#
Ultralyticsモデルの読み込み、トレーニング、推論の実行方法は次のとおりです。
from ultralytics import YOLO
# 事前学習済みのYOLO26モデルを読み込む(ネイティブのYOLOv7重みはUltralyticsでサポートされていません)
model = YOLO("yolo26n.pt")
# ハイパーパラメーターの自動処理を利用して、COCO8データセットでモデルをトレーニングする
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# 画像に対して推論を実行する
predictions = model("https://ultralytics.com/images/bus.jpg")
# デプロイ用にONNX形式へエクスポートします
model.export(format="onnx")Ultralyticsでは、トレーニング済みの重みをTensorRTやCoreMLなどのハードウェアアクセラレーション対応フォーマットにエクスポートする処理を、エクスポートコマンドの単一の引数で実行でき、個別の変換スクリプトは不要です。
次世代モデル: YOLO26#
YOLOv7は優れたレガシーアーキテクチャですが、この分野は急速に進歩しています。新たなデプロイには、2026年1月にリリースされたUltralytics YOLO26を推奨します。精度とCPU速度の両面で前世代を上回ります。
- エンドツーエンドのNMSフリーデザイン: YOLOv10がYOLOモデルに導入したNMSフリー学習を基盤として、YOLO26のオプションのワン・ツー・ワンヘッド(
nms=False)は、後処理の非極大抑制(NMS)を省略します。これによりレイテンシのばらつきを抑え、ロボティクスや自動運転システムへのデプロイを簡素化できます。 - MuSGDオプティマイザー: 高度なLLMトレーニング手法(Moonshot AIのKimi K2など)に着想を得たこのハイブリッドオプティマイザーは、SGDとMuonを組み合わせ、トレーニングの安定性向上と収束の高速化を実現します。
- CPU推論が最大43%高速: Distribution Focal Loss(DFL)を取り除くことで、YOLO26はエクスポートを簡素化し、エッジデバイスやCPUでの推論を高速化します。YOLO26nはCPUでYOLO11nより最大43%高速に動作します。
- ProgLoss + STAL: Progressive Lossと小さなターゲットを考慮したラベル割り当て戦略により、小さい物体の検出精度が向上し、航空画像や詳細な監視に適しています。
最適なユースケース#
DAMO-YOLOを選ぶケース#
- NASの学術研究: 組織がニューラルアーキテクチャ探索手法の研究に多大なリソースを投入している場合。
- 特定ハードウェアで極めて厳しいレイテンシ要件がある場合: カスタムAIアクセラレーターチップ向けに最適化されたバックボーンを見つけるため、網羅的なNAS探索を実行できるリソースがある場合。
YOLOv7を選ぶ場合#
- 既存のGPUパイプライン: ハイエンドのNVIDIAハードウェア上で、YOLOv7固有のE-ELANアーキテクチャに合わせて高度に最適化された既存の本番パイプラインをチームが保守している場合。
最新のUltralyticsモデル(YOLO11 / YOLO26)へ移行する理由#
小売分析やスマート製造から医療まで、ほとんどのエンタープライズ用途では、最新のUltralyticsモデルが実用的な標準の選択肢です。Ultralytics Platformとの統合により、シンプルなAPI、充実したドキュメント、活発なコミュニティ、マルチタスクサポートを備えた完全なMLパイプラインが提供されます。Raspberry Piで在庫を追跡する場合も、クラウドで大規模な分析を実行する場合も、YOLO26などのモデルは速度と精度の優れたバランスを提供します。