Link to this sectionDAMO-YOLOとYOLOv10の比較#
コンピュータビジョンの分野では、リアルタイムの物体検出アーキテクチャが急速に進化しています。DAMO-YOLOとYOLOv10を比較すると、モデル設計において「自動アーキテクチャ探索」と「エンドツーエンドのNMSフリー最適化」という2つの異なる哲学が見て取れます。両者とも精度と速度の限界を押し広げていますが、その基盤となる構造や理想的なユースケースは大きく異なります。
Link to this sectionDAMO-YOLO: 大規模な Neural Architecture Search#
Alibaba Groupによって開発されたDAMO-YOLOは、構造の効率化のために自動探索を活用することに重点を置いた強力な検出器として登場しました。
- 著者: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
- 日付: 2022年11月23日
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
Link to this sectionアーキテクチャのハイライト#
DAMO-YOLOは、パフォーマンスとレイテンシのバランスを取るために、ニューラルアーキテクチャ探索(NAS)を多用しています。MAE-NASと呼ばれるそのバックボーンは、厳格な計算予算の下で多目的進化探索を用いて、最適なレイヤーの深さと幅を見つけ出します。
スケールを超えた特徴融合を実現するために、モデルには効率的なRepGFPN(再パラメータ化された汎用特徴ピラミッドネットワーク)が採用されています。このヘビーネック設計は、複雑な空間階層の抽出に特に長けており、航空画像解析のようなシナリオで有用です。さらに、DAMO-YOLOはZeroHeadを導入しました。これは、トレーニング中の堅牢な蒸留強化プロセスに依存し、最終的な予測レイヤーの複雑さを大幅に低減する合理化された検出ヘッドです。
DAMO-YOLOは、多くの場合、多段階の知識蒸留プロセスを利用します。より大きな「教師」モデルをトレーニングして、より小さな「学生」モデルをガイドする必要があり、これにより高いmAP (mean Average Precision)が得られますが、必要なGPU計算時間は大幅に増加します。
Link to this sectionYOLOv10:エンドツーエンドの物体検出の先駆者#
1年半後にリリースされたYOLOv10は、推論中のNMS(非最大値抑制)の必要性を完全になくすことで、パラダイムシフトをもたらしました。
- 著者: Ao Wang, Hui Chen, Lihao Liu, 他
- 組織: 清華大学
- 日付: 2024年5月23日
- Arxiv: 2405.14458
- ドキュメント: Ultralytics YOLOv10
Link to this sectionアーキテクチャのハイライト#
YOLOv10の際立った特徴は、NMSフリートレーニングのための一貫した二重割り当てです。従来の検出器は、単一のオブジェクトに対して複数の重複するバウンディングボックスを予測するため、重複をフィルタリングするためにNMSが必要でした。このポストプロセスステップは、特にエッジデバイスにおいてボトルネックとなります。YOLOv10は、モデルがオブジェクトごとに自然に単一の正確なバウンディングボックスを予測できるようにすることで、この問題を解決しています。
開発者は、全体的な効率と精度を重視したモデル設計にも注力しました。既存のアーキテクチャの計算上の冗長性を慎重に分析することで、バックボーンとヘッドを最適化し、FLOPsとパラメータの数を削減しました。この軽量設計により、YOLOv10はTensorRTやOpenVINOなどの形式にエクスポートした際に、優れた推論レイテンシを実現します。
Link to this section性能とベンチマーク#
以下の表は、COCOデータセットでの生のパフォーマンス指標を示しています。各列で最も優れた値は太字で強調されています。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
DAMO-YOLOは精度に関しては十分に張り合えるものの、YOLOv10は一貫して低いレイテンシと大幅に小さいモデル重みを提供します。例えば、YOLOv10sは、DAMO-YOLOs(46.0%)よりも高いmAP(46.7%)を達成しつつ、パラメータ数は半分以下(7.2M対16.3M)です。低いメモリ要件により、YOLOv10は組み込みシステムにとって非常に汎用性の高い選択肢となっています。
Link to this sectionトレーニングの効率とユーザビリティ#
学術研究から本番環境へ移行する際には、使いやすさが最も重要です。DAMO-YOLOの多段階蒸留プロセスと複雑なNAS設定は、エンジニアリングチームにとって習得へのハードルが高い可能性があります。
Conversely, YOLOv10 benefits immensely from being fully integrated into the Ultralytics Python SDK. Training a custom model involves minimal boilerplate code. Ultralytics handles data augmentation, hyperparameter tuning, and experiment tracking automatically.
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()Ultralyticsエコシステムを使用することで、開発者は複雑な環境構築を必要とせずに、わずか数行のコードでプロトタイプからエクスポートされたONNXモデルへと移行できます。
Link to this section実際のユースケース#
- スマートリテール (DAMO-YOLO): DAMO-YOLOの精度は、GPUが豊富でリアルタイムのNMSボトルネックが管理可能な、顧客行動を分析する高密度サーバー環境に適しています。
- 自動運転車 (YOLOv10): NMSフリーのアーキテクチャは、決定論的で予測可能なレイテンシを保証します。これは、自動運転の安全システムにおいて極めて重要です。
- Industrial Automation (YOLOv10): Detecting defects on fast-moving assembly lines requires models that maximize real-time inference speeds without consuming vast VRAM, making YOLOv10 a prime candidate for edge deployment.
Link to this sectionユースケースと推奨事項#
DAMO-YOLOとYOLOv10のどちらを選択するかは、特定のプロジェクト要件、展開の制約、およびエコシステムの好みに依存します。
Link to this sectionDAMO-YOLOを選択すべきケース#
DAMO-YOLOは以下のような場合に強力な選択肢となります。
- 高スループットビデオ解析: バッチサイズ1でのスループットが主要な指標となる、固定のNVIDIA GPUインフラストラクチャ上での高FPSビデオストリーム処理。
- 産業用製造ライン: 組立ラインでのリアルタイム品質検査など、専用ハードウェア上での厳格なGPUレイテンシ制約があるシナリオ。
- Neural Architecture Searchの研究: 自動化されたアーキテクチャ探索 (MAE-NAS) や効率的な再パラメータ化バックボーンが検出パフォーマンスに与える影響の研究。
Link to this sectionYOLOv10を選択すべき場合#
YOLOv10は以下の場合に推奨されます。
- NMSフリーのリアルタイム検出: Non-Maximum Suppression(NMS)を使用しないエンドツーエンド検出のメリットを享受し、デプロイの複雑さを軽減できるアプリケーション。
- バランスの取れた速度と精度のトレードオフ: さまざまなモデルスケール全体で、推論速度と検出精度の強力なバランスを必要とするプロジェクト。
- 一貫したレイテンシが求められるアプリケーション: roboticsや自律システムなど、予測可能な推論時間が不可欠なデプロイ環境。
Link to this sectionUltralytics (YOLO26) を選択すべき時#
ほとんどの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最良の組み合わせを提供します。
- NMSフリーのエッジ展開: Non-Maximum Suppression後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: GPUアクセラレーションを利用できないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析のような困難なシナリオで、ProgLossとSTALが微小な物体の検出精度を大幅に向上させる場合。
Link to this section次世代:Ultralytics YOLO26の登場#
YOLOv10はNMSフリー検出の基礎を築きましたが、技術は急速に進化しています。現代のアプリケーションにおいて、Ultralytics YOLO26モデルは比類のないパフォーマンスとユーザビリティを提供し、前世代の長所を取り入れ、本番環境向けに洗練させています。
YOLO26 features a strictly natively end-to-end design, eliminating NMS post-processing for simpler deployment pipelines across edge devices. Furthermore, the removal of Distribution Focal Loss (DFL) has dramatically improved compatibility with low-power edge AI hardware.
トレーニング面では、YOLO26は大規模言語モデル(LLM)のトレーニング技術に触発されたハイブリッドであるMuSGD Optimizerを導入しています。これにより、より安定したトレーニングとより速い収束が保証されます。ProgLoss + STAL損失関数と相まって、YOLO26は野生動物の保護やドローン運用において重要な機能である小物体認識において、目覚ましい改善を示しています。
重要な点として、YOLO26は単なる物体検出器ではありません。タスク固有の改善を全体的に提供し、インスタンスセグメンテーション、Residual Log-Likelihood Estimation (RLE) を使用した姿勢推定、および指向性バウンディングボックス (OBB)用の特殊な角度損失をネイティブにサポートしています。前身モデルよりも最大43%高速なCPU推論を実現しており、機敏なエンジニアリングチームにとって決定的な選択肢です。
YOLO26モデルの集中管理、アノテーション、およびクラウドトレーニングのために、Ultralytics Platformはコンピュータビジョンのライフサイクル全体を合理化する直感的なインターフェースを提供します。
他の最近の進歩を探求したい開発者は、Ultralytics YOLO11や、異なるアーキテクチャソリューションを必要とするシナリオ向けにTransformerベースのRT-DETRフレームワークを評価することもできます。