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(Reparameterized Generalized Feature Pyramid Network)を導入しています。さらに、DAMO-YOLOは「ゼロヘッド」設計を採用しており、推論時に再パラメータ化に大きく依存する、よりシンプルで効率的な構造を優先して、複雑なマルチブランチ予測ヘッドを取り除いています。
トレーニングを改善するため、このモデルはラベル割り当てにAlignedOTAを使用し、より大きな「teacher」モデルが小さな「student」モデルを導いて精度を高める、強力な蒸留強化プロセスを採用しています。
Ultralytics YOLOv5の概要#
Ultralytics YOLOv5は、世界で最も広く採用されているビジョンアーキテクチャの1つであり、安定性、使いやすさ、広範なデプロイエコシステムで知られています。
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020年6月26日
- GitHub: ultralytics/yolov5
- ドキュメント: YOLOv5 Documentation
エコシステムの標準#
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 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
トレードオフの分析#
DAMO-YOLOは、パラメータサイズに対して優れたmAPスコアを達成しており、蒸留トレーニングフェーズから大きな恩恵を受けています。ただし、その代償としてトレーニング効率が低下します。多段階の蒸留プロセスでは、まず大規模なteacherモデルをトレーニングする必要があるため、必要なGPUコンピューティング時間とVRAMが大幅に増加します。
一方、YOLOv5は優れたメモリ要件を備えています。Ultralytics YOLOモデルは、複雑な蒸留パイプラインやRT-DETRのようなTransformerベースのモデルと比較して、トレーニング時と推論時の両方でメモリ使用量が少ないことで知られています。そのため、YOLOv5は一般向けハードウェアやGoogle Colabのような利用しやすいクラウド環境で効率的にトレーニングできます。
実際の用途と汎用性#
適切なアーキテクチャの選択は、多くの場合、デプロイ環境によって決まります。
DAMO-YOLOが適している場面#
DAMO-YOLOは厳密にオブジェクト検出モデルです。学術研究、特にニューラルアーキテクチャサーチを研究しているチームや、論文で詳述されている再パラメータ化技術の再現を目指すチームにとって優れた選択肢です。プロジェクトに蒸留トレーニングフェーズを実行するための豊富な計算リソースがあり、2Dバウンディングボックスの精度を最後の端数まで絞り出すことだけに集中している場合、DAMO-YOLOは強力な候補となります。
Ultralyticsの優位性#
実際の本番環境では、Ultralyticsモデルの使いやすさと汎用性が、モデルを選ぶ主な理由になります。YOLOv5は検出と画像分類の定番であり続けていますが、より広範なUltralyticsエコシステムにより、開発者はタスクを簡単に切り替えられます。
例えば、Ultralyticsファミリーの新しいイテレーションでは、インスタンスセグメンテーション、ポーズ推定、Oriented Bounding Box(OBB)検出にネイティブ対応しています。このマルチタスク機能により、チームは単一の統合されたPython APIを複雑なパイプラインに利用できます。例えば、自動ナンバープレート認識と車両セグメンテーションを組み合わせることが可能です。
ユースケースと推奨事項#
DAMO-YOLOとYOLOv5のどちらを選ぶかは、具体的なプロジェクト要件、デプロイの制約、エコシステムに関する好みによって決まります。
DAMO-YOLOを選択する場合#
DAMO-YOLOが適しているのは、次のような場合です。
- 高スループットの動画分析: バッチサイズ1のスループットが主要な指標となる、固定されたNVIDIA GPUインフラストラクチャ上での高FPS動画ストリーム処理。
- 産業用製造ライン: 組立ラインでのリアルタイム品質検査など、専用ハードウェア上でGPUレイテンシに厳しい制約があるシナリオ。
- ニューラルアーキテクチャサーチ研究: 自動アーキテクチャ探索(MAE-NAS)と、効率的に再パラメーター化されたバックボーンが検出性能に与える影響の研究。
YOLOv5を選ぶべきケース#
YOLOv5は、次の用途に推奨されます。
- 実績のある本番システム: YOLOv5の長年にわたる安定性の実績、豊富なドキュメント、広範なコミュニティサポートが重視される既存のデプロイ環境。
- リソースに制約のあるトレーニング: YOLOv5の効率的なトレーニングパイプラインと少ないメモリ要件が有利になる、GPUリソースが限られた環境。
- 幅広いエクスポート形式のサポート: ONNX、TensorRT、CoreML、TFLiteなど、多数の形式にまたがるデプロイが必要なプロジェクト。
Ultralytics (YOLO26)を選ぶタイミング#
ほとんどの新規プロジェクトでは、Ultralytics YOLO26が性能と開発者エクスペリエンスの最適な組み合わせを提供します。
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
- CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。
将来:YOLO26への移行#
YOLOv5が伝説的なモデルであり、DAMO-YOLOが興味深い学術的知見を提供する一方で、最先端技術は進化しています。2026年1月にリリースされたUltralytics YOLO26は、ビジョンコミュニティに大きな飛躍をもたらします。
YOLO26は、エッジデプロイとトレーニングの不安定性における従来のボトルネックに対処します。
- エンドツーエンドのNMSフリーデザイン: YOLO26は、非最大抑制の後処理をネイティブに排除します。この画期的な技術により、デプロイロジックが簡素化され、レイテンシの変動が大幅に抑えられるため、高速なロボティクスや自律システムに適しています。
- MuSGDオプティマイザー: LLMトレーニングのイノベーション(Moonshot AIのKimi K2など)に着想を得たYOLO26は、MuSGDオプティマイザー(SGDとMuonのハイブリッド)を使用します。これにより、非常に安定したトレーニング実行と、著しく高速な収束を実現します。
- CPU推論が最大43%高速: Distribution Focal Loss(DFL)を戦略的に削除することで、YOLO26はYOLO11やYOLOv8などの従来モデルと比較して、CPUやエッジデバイスで圧倒的に優れた速度を実現します。
- ProgLoss + STAL: これらの高度な損失関数により、空中ドローン画像やIoTセンサーフィードの解析で重要となる、小さな物体の認識が大幅に向上します。
コード例: シンプルさの実践#
Ultralyticsパッケージを使用すると、わずか数行のコードでモデルをトレーニングしてデプロイできます。YOLOv5を使用する場合でも、推奨されるYOLO26にアップグレードする場合でも、インターフェースは一貫性があり直感的です。
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 small model
model = YOLO("yolo26s.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image and display results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Export the model for edge deployment
model.export(format="onnx")まとめ#
DAMO-YOLOとYOLOv5は、どちらもコンピュータビジョンの発展に大きく貢献してきました。DAMO-YOLOはニューラルアーキテクチャサーチと蒸留の力を示しており、研究者にとって興味深い研究対象です。しかし、YOLOv5は、パフォーマンスのバランス、低いメモリ要件、他に類を見ない使いやすさにより、実用面で非常に優れたモデルであり続けています。
現在新しいプロジェクトを始める開発者には、Ultralytics Platformを活用し、YOLO26を採用することを推奨します。YOLOv5で評価されている使いやすいエコシステムと画期的なアーキテクチャの進歩を組み合わせ、クラウドとエッジAIアプリケーションの両方で、最高クラスの精度と非常に高速な推論を実現します。開発者は、特定のレガシーハードウェアの制約に応じて、YOLOv6やYOLOXなど、他の効率的なモデルも検討できます。