YOLOv7とDAMO-YOLOの比較#
リアルタイム物体検出の分野は絶えず進化しており、研究者やエンジニアは速度と精度の最適なバランスを追求しています。この技術比較では、2022年に登場した注目すべき2つのアーキテクチャ、YOLOv7とDAMO-YOLOを詳しく見ていきます。どちらのモデルもコンピュータービジョン分野に新たな概念をもたらし、モデルのトレーニング、アーキテクチャ設計、デプロイにおけるさまざまな課題に取り組みました。
モデルの背景と技術的詳細#
それぞれのアーキテクチャを詳しく見る前に、これら2つのモデルの起源を理解することが重要です。どちらも有力な研究グループによって開発され、リアルタイム物体検出の限界を押し広げる高度な手法を導入しました。
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計算時間が必要です。
対照的に、YOLOv8以降など、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
# 事前学習済みの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などのさまざまなハードウェアアクセラレーション対応形式にエクスポートする操作を、エクスポートコマンドの1つの引数で実行できます。複雑なスクリプト設定に費やす時間を大幅に削減できます。
次世代モデル: YOLO26#
YOLOv7は実績のある旧世代アーキテクチャですが、この分野は急速に進歩しています。新たなデプロイには、旧世代をほぼすべての指標で上回る、2026年1月リリースのUltralytics YOLO26が推奨標準です。
- エンドツーエンドのNMSフリーデザイン: YOLOv10で初めて導入されたYOLO26のオプションのワンツーワンヘッド(
nms=False)は、Non-Maximum Suppression (NMS)の後処理を不要にします。これにより、ロボティクスや自動運転技術に不可欠な、決定論的で極めて低レイテンシの推論を実現します。 - MuSGD Optimizer: Moonshot AIのKimi K2など、高度なLLMトレーニング手法に着想を得たハイブリッドオプティマイザーです。SGDとMuonを組み合わせ、データセット全般で安定性の高いトレーニングと高速な収束を実現します。
- CPU推論を最大43%高速化: Distribution Focal Loss (DFL)を戦略的に取り除くことで、YOLO26はエッジコンピューティングプラットフォームやCPUでの性能を大幅に高めます。
- ProgLoss + STAL: これらの高度な損失関数は小物体検出を大幅に改善し、YOLO26をaerial imageryや詳細な監視に特に適したモデルにします。
最適なユースケース#
DAMO-YOLOを選ぶケース#
- NASの学術研究: 組織がニューラルアーキテクチャ探索手法の研究に多大なリソースを投入している場合。
- 特定ハードウェアで極めて厳しいレイテンシ要件がある場合: カスタムAIアクセラレーターチップ向けに最適化されたバックボーンを見つけるため、網羅的なNAS探索を実行できるリソースがある場合。
YOLOv7を選ぶ場合#
- 既存のGPUパイプライン: ハイエンドのNVIDIAハードウェア上で、YOLOv7固有のE-ELANアーキテクチャに合わせて高度に最適化された既存の本番パイプラインをチームが保守している場合。
最新のUltralyticsモデル(YOLO11 / YOLO26)へ移行する理由#
小売分析やスマート製造から医療まで、企業の大半の用途で最新のUltralyticsモデルは他に類を見ない性能を発揮します。Ultralytics Platformとの統合により、使いやすさ、優れたドキュメント、充実したコミュニティサポート、マルチタスクへの高い汎用性を備えた、完全なMLパイプラインを利用できます。Raspberry Piで在庫を追跡する場合も、クラウドで大規模な分析を実行する場合も、YOLO26などのモデルはコンピュータービジョンの未来に適した理想的な性能バランスを提供します。