YOLO

YOLOv10とは?NMSフリーで高速化した物体検出モデルの仕組みと使い方

YOLOv10は、2024年5月に清華大学のTHU-MIGチームが発表した物体検出モデルで、同年のNeurIPS 2024に採択されました。最大の特徴は、これまでYOLOに必須だった後処理「NMS(Non-Maximum Suppression)」を学習の工夫で不要にし、推論をエンドツーエンドで完結させた点にあります。なお、YOLOシリーズはその後もYOLO11・YOLO12・YOLO26と更新が続いており、YOLOv10は「現時点の最新版」ではありません。本記事はYOLOv10という版に固有の仕組み・性能・使い方を扱います。どの版を使うべきかを比較したい場合は、版を横断して整理したYOLOカテゴリの記事一覧もあわせて確認してください。

まとめ

  • 開発元と位置づけ:清華大学THU-MIGが2024年5月に発表、NeurIPS 2024採択の物体検出モデル。
  • 最大の新規性:一貫デュアルアサインメントによるNMSフリー推論。後処理を省き、推論遅延と実装の複雑さを減らす。
  • 効率:ホリスティックな設計により、YOLOv10-BはYOLOv9-C比で遅延46%減・パラメータ25%減(同等精度、TensorRT FP16/T4 GPU計測)。
  • 選択肢:n/s/m/b/l/xの6サイズ。ライセンスはAGPL-3.0で、pip install ultralyticsから利用できる。
  • 版の使い分け:新規の本番案件はYOLO11またはYOLO26が既定。YOLOv10は論文再現・既存学習資産の保守で選ぶ。

以下で、NMSフリーの仕組みから性能、導入手順、そして現行版との使い分けまで順に解説します。

YOLOv10の開発元とYOLOシリーズでの位置づけ

YOLO(You Only Look Once)は、画像を一度の推論で処理して物体の位置とクラスを同時に予測する、リアルタイム物体検出の代表的な系譜です。YOLOv10はその一つで、清華大学のTHU-MIGが論文「YOLOv10: Real-Time End-to-End Object Detection」として公開しました。開発の主眼は、精度を保ちながら「後処理を含めた推論全体」を高速・単純化することにあります。実装はUltralyticsのパッケージに取り込まれており、YOLOv8以降のモデルと同じインターフェースで扱えます。直前の版であるYOLOv9との違いを含めて系譜を追いたい場合は、YOLOv9を用いた物体検出の実行手順と実例が参考になります。

YOLOv10の新規性:NMSフリー推論と効率重視の設計

NMSフリー推論を可能にする一貫デュアルアサインメント

従来のYOLOは、1つの物体に対して複数の重複した検出枠を出力し、それをNMSで間引いてから最終結果を得ていました。このNMSは推論時の追加処理であり、遅延の一因かつエンドツーエンド化の妨げになっていました。YOLOv10は学習時に2つの割り当てブランチを併用します。密な教師信号を与える「one-to-many」ブランチと、1つの正解に1つの予測だけを対応させる「one-to-one」ブランチです。両者の一致度指標をそろえて学習することで、推論時はone-to-oneの出力をそのまま使え、NMSなしで重複のない結果が得られます。これがYOLOv10のエンドツーエンド性能の核心です。

精度と効率を両立するホリスティックなモデル設計

YOLOv10はNMS除去だけでなく、モデル各部を効率と精度の両面から見直しています。分類ヘッドを軽量化し、ダウンサンプリングを空間方向とチャネル方向に分離(spatial-channel decoupled downsampling)して情報損失と計算量を抑え、各ブロックの冗長性を「ランク誘導ブロック設計(rank-guided block design)」で削っています。個別の水増しではなく、遅延に効く箇所と精度に効く箇所を切り分けて最適化しているのが特徴です。

YOLOv10の性能とモデルバリアント

精度と速度:YOLOv9・RT-DETRとの比較

公式論文が示す代表的な比較は次のとおりです(遅延はTensorRT FP16/T4 GPUでの計測)。

比較 相手 結果
速度 RT-DETR-R18 YOLOv10-Sが約1.8倍高速・同等AP
パラメータ・FLOPs RT-DETR-R18 YOLOv10-Sが約2.8分の1
遅延 YOLOv9-C YOLOv10-Bが46%減・同等精度
パラメータ YOLOv9-C YOLOv10-Bが25%減

Transformer系のリアルタイム検出器であるRT-DETRに対して、より小さいモデルで同等精度・高速という位置づけです。RT-DETRとの設計思想の違いはRT-DETRとは?Baidu製リアルタイム物体検出モデルの仕組みとYOLOとの違いで補足できます。数値は公式公表値であり、実タスクでの結果はデータセットや入力解像度で変わるため、導入前に自分の要件で計測してください。

n/s/m/b/l/xの6つのモデルサイズと選び方

YOLOv10は用途に応じて6つのスケールを用意しています。速度と精度はトレードオフなので、要件から逆算して選びます。

サイズ 想定用途
n(Nano) エッジ・組み込みなど資源制約が厳しい環境
s(Small) 速度と精度のバランス重視
m(Medium) 汎用
b(Balanced) 幅を広げ精度寄りに調整
l(Large) 計算資源を使い精度を優先
x(Extra) 最大精度

迷う場合はsかmから始め、精度が足りなければ大きく、速度が足りなければ小さくするのが実務的です。

YOLOv10のインストールと推論・学習の実行手順

インストール:Ultralytics経由が基本

YOLOv10はUltralyticsパッケージに統合されているため、最も手軽な導入はpipです。公式実装をそのまま使いたい場合は、GitHubのTHU-MIG/yolov10リポジトリをクローンして環境構築する方法もあります。

pip install ultralytics

yolo predict model=yolov10n.pt source=image.jpg

初回実行時に指定した重み(例:yolov10n.pt)が自動でダウンロードされます。GPUを使う場合はCUDA対応版のPyTorchを先に導入してください。

推論と学習を実行するPythonコード例

PythonからはYOLOv8以降と同じAPIで扱えます。推論・学習ともに数行で書けます。

from ultralytics import YOLO

model = YOLO("yolov10n.pt")
results = model.predict("image.jpg", conf=0.25)

model.train(data="coco8.yaml", epochs=100, imgsz=640)

自前データで精度を伸ばすには、事前学習済みモデルを起点に追加学習する流れが基本です。データ量が少ない場合の適応手法はファインチューニングとは?AIモデルを適応させる技術の概要と目的を、学習済みモデルを別環境へ移して推論する場合はONNXとは?モデル変換・推論の仕組みと使い方を初心者向けに解説を参照してください。

YOLOv10を今選ぶべきか:YOLO11・YOLO12・YOLO26との使い分け

YOLOv10の発表後、YOLO11(2024年9月)、YOLO12(2025年2月)、YOLO26(2026年1月)と後継が続いています。結論から言えば、これから始める本番案件の既定はYOLO11またはYOLO26です。YOLOv10をあえて選ぶのは、論文の再現やベンチマーク比較、すでにYOLOv10で構築した学習資産の保守、あるいはNMSフリーを最初に実装した版の挙動を検証したい場合に限られます。

版ごとの性格は異なります。YOLO11はYOLOv8系の正常進化で、少ないパラメータで精度を伸ばし、扱いやすさから幅広いタスクの標準になりました。YOLO12はattention中心のアーキテクチャに踏み込んだ意欲作ですが、学習の不安定さやCPU推論の遅さが指摘され、Ultralyticsも本番にはYOLO11やYOLO26を勧めています。YOLO26はYOLOv10と同じくNMSフリーをエンドツーエンドで備え、エッジ最適化まで進めた最新版です。「最新版はどれか」を追う用途では、この記事の対象であるYOLOv10ではなくYOLOカテゴリの記事一覧から現行版を確認してください。

YOLOv10のライセンスと商用利用の注意点

YOLOv10のライセンスはAGPL-3.0です。AGPL-3.0は、ソフトウェアをネットワーク経由のサービスとして提供する場合にも、改変を含むソースコードの公開義務が及ぶ点が特徴で、GPLより公開範囲が広い「コピーレフト」ライセンスです。社内検証や研究・学習用途では大きな問題になりにくい一方、YOLOv10を組み込んだ製品やSaaSをソース非公開で提供したい場合は要注意です。UltralyticsはソースコードをクローズドにできるEnterprise Licenseを別途提供しているため、商用導入の前にライセンス条件を法務と確認してください。

よくある質問

Q. YOLOv10とは何ですか?
清華大学THU-MIGが2024年5月に発表した物体検出モデルです。学習時の一貫デュアルアサインメントによって推論時のNMSを不要にし、後処理を含めてエンドツーエンドで高速に動作する点が最大の特徴です。

Q. YOLOv8やYOLOv9と何が違いますか?
最大の違いはNMSフリー推論です。YOLOv8/v9は推論後にNMSで重複枠を除く必要がありましたが、YOLOv10は学習の工夫でそれを不要にしました。効率設計も見直され、YOLOv10-BはYOLOv9-C比で遅延46%減・パラメータ25%減(同等精度)です。

Q. YOLOv10は商用利用できますか?
可能ですが、ライセンスはAGPL-3.0でソース公開義務が広く及びます。ソースを非公開にしたまま製品へ組み込む場合は、UltralyticsのEnterprise License取得を検討してください。

Q. YOLOの最新バージョンはどれですか?
YOLOv10は最新ではありません。以降にYOLO11・YOLO12・YOLO26が登場しており、2026年時点の最新はYOLO26です。新規の本番案件ではYOLO11またはYOLO26が既定の選択肢になります。

Q. YOLOv10はPythonでどう使いますか?
pip install ultralyticsで導入し、YOLO("yolov10n.pt")を読み込んでpredictで推論、trainで追加学習できます。YOLOv8以降と同じAPIです。

関連記事

資料請求

RELATED POSTS 関連記事