DAMO-YOLOとYOLOv5#
コンピュータービジョンの進化は、リアルタイム物体検出における継続的なイノベーションに支えられてきました。現在、開発者や研究者は、ビジョンパイプラインの設計にあたり、多くのアーキテクチャから選択する必要があります。この包括的な技術比較では、DAMO-YOLOとUltralytics YOLOv5の違いを詳しく解説し、それぞれのアーキテクチャ、トレーニング手法、性能指標、最適なデプロイシナリオを紹介します。
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
- ドキュメント:README.md
アーキテクチャの革新#
DAMO-YOLOはニューラルアーキテクチャサーチ(NAS)を基盤としています。開発者はMAE-NASを利用して、レイテンシと精度のバランスが取れたバックボーンを自動設計しました。このモデルでは効率的なRepGFPN(再パラメーター化汎用特徴ピラミッドネットワーク)を導入し、さまざまなスケールにわたる特徴量融合を改善しています。さらに、「ZeroHead」設計を採用して、複雑なマルチブランチ予測ヘッドを取り除き、よりシンプルで効率的な構造に置き換えています。この構造は、推論時の再パラメーター化を大幅に活用します。
トレーニングを改善するため、モデルはラベル割り当てにAlignedOTAを使用し、大規模な蒸留強化プロセスも採用しています。このプロセスでは、大型の「教師」モデルが小型の「生徒」モデルを指導し、精度を高めます。
Ultralytics YOLOv5の概要#
Ultralytics YOLOv5は、世界で最も広く採用されているビジョンアーキテクチャの1つです。安定性、使いやすさ、幅広いデプロイエコシステムで高く評価されています。
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020年6月26日
- GitHub: ultralytics/yolov5
- ドキュメント: YOLOv5のドキュメント
エコシステムの標準#
YOLOv5は、業界における使いやすさの標準を塗り替えました。PyTorchでネイティブに構築されており、高度に最適化されたCSPNetバックボーンとPANetネックを使用して、堅牢な特徴集約を実現しています。後続モデルに見られるアンカーフリーの潮流より前に登場しましたが、自動アンカー学習と組み合わせた洗練されたアンカーベースのアプローチにより、すぐに優れた性能を発揮します。
YOLOv5の真価は、十分に保守されたエコシステムにあります。CometやWeights & Biasesなどのトラッキングツールとシームレスに連携し、ONNX、TensorRT、CoreMLなどの形式へのワンクリックエクスポートに対応しています。
YOLOv5は、カスタムデータセットで非常に簡単にトレーニングできます。合理化されたAPIにより、プロトタイプから本番環境への移行が容易になるため、アジャイルなエンジニアリングチームに広く支持されています。
パフォーマンスと指標の比較#
これらのモデルを比較する際は、平均適合率(mAP)、推論速度、パラメーター数のバランスを確認することが重要です。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
トレードオフの分析#
DAMO-YOLOは、パラメーター数に対して優れたmAPスコアを達成しており、蒸留トレーニングの段階から大きな恩恵を受けています。しかし、その代償としてトレーニング効率が低下します。複数段階の蒸留プロセスでは、最初に大型の教師モデルをトレーニングする必要があるため、必要なGPU計算時間とVRAMが大幅に増加します。
一方、YOLOv5はメモリ要件に優れています。Ultralytics YOLOモデルは、複雑な蒸留パイプラインやRT-DETRなどのTransformerベースのモデルと比べて、トレーニング時も推論時もメモリ使用量が少ないことで知られています。そのため、YOLOv5は一般向けハードウェアや、Google Colabのような利用しやすいクラウド環境で効率よくトレーニングできます。
実環境での用途と汎用性#
適切なアーキテクチャは、デプロイ環境によって異なることがよくあります。
DAMO-YOLOが優れている場面#
DAMO-YOLOは、物体検出専用のモデルです。学術研究に適しており、特にニューラルアーキテクチャサーチを研究するチームや、論文で詳述された再パラメーター化手法の再現を目指すチームに向いています。蒸留トレーニングの実行に十分な計算リソースがあり、2Dバウンディングボックスの精度をわずかでも高めることだけに注力するプロジェクトでは、DAMO-YOLOは有力な候補です。
Ultralyticsの強み#
実際の本番環境では、Ultralyticsモデルの使いやすさと汎用性が優先されます。YOLOv5は検出や画像分類に今も広く使われていますが、より幅広いUltralyticsエコシステムにより、開発者はタスクを簡単に切り替えられます。
たとえば、Ultralyticsファミリーの新しいモデルは、インスタンスセグメンテーション、姿勢推定、方向付きバウンディングボックス(OBB)検出にネイティブで対応しています。このマルチタスク機能により、チームは複雑なパイプラインでも統一された単一のPython APIを利用できます。たとえば、自動ナンバープレート認識と車両のセグメンテーションを組み合わせることができます。
ユースケースと推奨事項#
DAMO-YOLOとYOLOv5のどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムに関する好みによって異なります。
DAMO-YOLOを選ぶケース#
DAMO-YOLOが適しているケース:
- 高スループットの動画分析: バッチサイズ1でのスループットが主要な指標となる、固定のNVIDIA GPUインフラストラクチャ上で高FPSの動画ストリームを処理する用途。
- 産業用製造ライン: 組み立てラインでのリアルタイム品質検査など、専用ハードウェア上でGPUレイテンシに厳しい制約があるシナリオ。
- ニューラルアーキテクチャ探索の研究: 自動アーキテクチャ探索 (MAE-NAS) と、効率的に再パラメーター化されたバックボーンが検出性能に与える影響を研究する用途。
YOLOv5を選ぶ場合#
YOLOv5は、次のような場合に推奨されます。
- 実績のある本番システム: YOLOv5の長年にわたる安定性の実績、充実したドキュメント、幅広いコミュニティサポートが重視される既存のデプロイ環境です。
- リソースが限られたトレーニング: GPUリソースが限られており、YOLOv5の効率的なトレーニングパイプラインと低いメモリ要件が有利となる環境です。
- 幅広いエクスポート形式への対応: ONNX、TensorRT、CoreML、LiteRTなど、多様な形式でのデプロイが必要なプロジェクトです。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
次世代への展望:YOLO26への移行#
YOLOv5は伝説的なモデルであり、DAMO-YOLOは興味深い学術的知見をもたらしましたが、最先端技術は進化しています。2026年1月にリリースされたUltralytics YOLO26は、ビジョンコミュニティに大きな進歩をもたらします。
YOLO26は、エッジデプロイにおける従来のボトルネックとトレーニングの不安定さに対処します。
- エンドツーエンドのNMSフリー設計:YOLO26のオプションのエンドツーエンドヘッド(
nms=False)は、Non-Maximum Suppressionによる後処理を排除します。この画期的な設計により、デプロイロジックが簡素化され、レイテンシのばらつきが大幅に抑えられるため、高速なロボティクスや自律システムに最適です。 - MuSGD Optimizer:Moonshot AIのKimi K2など、LLMトレーニングのイノベーションに着想を得たYOLO26は、SGDとMuonを組み合わせたMuSGDオプティマイザーを採用しています。これにより、トレーニングの安定性が高まり、収束が大幅に速くなります。
- CPU推論を最大43%高速化:Distribution Focal Loss(DFL)を戦略的に除去することで、YOLO26nはCPU上のONNXでYOLO11nより最大43%高速に動作し、YOLO11やYOLOv8などの従来モデルと比べて、CPUとエッジデバイスで優れた速度を発揮します。
- ProgLoss + STAL:これらの高度な損失関数は、小物体認識を大幅に改善します。これは、ドローンの航空画像やIoTセンサーデータの解析に不可欠です。
コード例:シンプルな実装#
Ultralyticsパッケージを使用すると、わずか数行のコードでモデルをトレーニングしてデプロイできます。YOLOv5を使う場合も、推奨モデルのYOLO26にアップグレードする場合も、インターフェースは一貫していて直感的です。
from ultralytics import YOLO
# 最先端のYOLO26小型モデルをロード
model = YOLO("yolo26s.pt")
# カスタムデータセットで簡単にトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 画像に対して推論を実行し、結果を表示
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# エッジデプロイ用にモデルをエクスポート
model.export(format="onnx")結論#
DAMO-YOLOとYOLOv5は、どちらもコンピュータービジョンの発展に大きく貢献してきました。DAMO-YOLOはニューラルアーキテクチャサーチと蒸留の可能性を示しており、研究者にとって興味深い研究対象です。一方、YOLOv5は、性能のバランス、少ないメモリ要件、比類のない使いやすさにより、今も実用性に優れたモデルです。
現在、新しいプロジェクトを始める開発者には、Ultralytics Platformを活用し、YOLO26を採用することをおすすめします。YOLOv5で好評を得た使いやすいエコシステムと画期的なアーキテクチャの進歩を兼ね備え、クラウドとエッジの両方で、最高水準の精度と非常に高速な推論を実現します。特定の旧型ハードウェアの制約に応じて、YOLOv6やYOLOXなど、他の効率的なモデルも検討できます。