Ultralytics YOLO27: ウェイトリストに登録する。
Get Started
レッスン初級

Ultralytics YOLOのモデルサイズを選ぶ

YOLO26のn、s、m、l、xを比較し、対象ハードウェアでベンチマークを実施して、レイテンシの予算に収まる最小サイズを選びます。

大きすぎるモデルを選ぶと、30 FPSのカメラアプリが12 FPSで動作します。一方、小さすぎるモデルを選ぶと、GPU上で大きなモデルを使えば得られる精度を活かせません。学習したサイズがそのままデプロイするサイズになるため、この選択は長時間の学習を始める前に行います。

YOLO26には、7つすべてのタスクに対応するn、s、m、l、xの5つのサイズがあります: detect、segment、semantic segmentation、classify、pose、OBB、depth。このレッスンでは、フレームレートをミリ秒単位の予算に換算し、自分のマシンでBenchmarkモードを使って2つのサイズを測定し、適切なサイズを選びます。

成果

フレームレートの目標をミリ秒単位の予算に換算し、自分のハードウェアでYOLO26の各サイズをベンチマークして、最初に選ぶサイズと代替サイズの根拠を1行で説明できます。

短期集中コース
すでに使い方をご存じの方は、こちらをご覧ください。
  1. 予算 = 1000 ÷ 目標FPS: 30 FPSの場合、あらゆる処理に使える時間は1フレームあたり33ミリ秒です。

  2. 対象マシンで yolo benchmark ... format=onnx を使い、yolo26n と yolo26s をベンチマークします。

  3. 余裕を確保できる最小サイズを選びます。coco8 のベンチマークmAPは考慮しません。

  4. 選んだサイズで学習し、自分の検証セットで精度が不足する場合に限り、1段階大きいサイズにします。

実践的

モデルのラインナップを把握する#

Ultralytics PlatformのモデルページのOverviewタブ。学習済みモデルの概要メトリクスと詳細が表示されています

以下はYOLO26のドキュメントに掲載されている、640ピクセルでのCOCO物体検出の公式数値です:

モデルパラメーター数(M)FLOPs(B)mAP50-95CPU ONNX(ミリ秒)T4 TensorRT10(ミリ秒)
yolo26n2.45.540.938.91.7
yolo26s9.520.948.687.22.5
yolo26m20.468.453.1220.04.7
yolo26l24.886.855.0286.26.2
yolo26x55.7194.457.5525.811.8

すべてのタスクで各サイズが利用できます。yolo26s-seg.pt、yolo26s-sem.pt、yolo26s-depth.pt、yolo26s-cls.pt、yolo26s-pose.pt、yolo26s-obb.pt のように、サフィックスを切り替えます。古いプロジェクトを移行する場合は、YOLO11とYOLO26の比較で変更点を確認できます。

表は「次のサイズにすると、どれくらいのコストがかかるか」という観点で読みます:

段階mAPの増加追加のFLOPsCPUレイテンシの倍率
n → s+7.7×3.8×2.2
s → m+4.5×3.3×2.5
m → l+1.9×1.3×1.3
l → x+2.5×2.2×1.8

最初の段階が最も費用対効果に優れています。m 以降は、COCO精度を1ポイント上げるコストが増えていきます。また、80種類の多様なクラスを持つCOCOは、ほとんどの実際のプロジェクトより難しいタスクです。コンベア上の1製品など、対象が限定されたタスクでは、n と s の精度が m と1ポイント以内に収まることもよくあります。

予算から決める#

推論レイテンシの予算は、1000ミリ秒 ÷ 目標FPSで求めます。モデルは、デコード、描画、独自のロジックとこの予算を共有する必要があります。一般的な初期設定の目安:

目標まず試すサイズ
スマートフォン、Raspberry Pi、ブラウザー、その他の小型エッジAIデバイスn
ノートパソコンまたはデスクトップのCPU、10~30 FPSn から始め、余裕があれば s を試します
単体GPU、リアルタイム動画sまたはm
オフラインのバッチ処理では、精度を最優先しますlまたはx

実例:2つのサイズを測定する#

ベンチマークモードでは、モデルをエクスポートし、coco8で検証してから、お使いのマシンで推論時間を計測します。format=onnxを指定すると実行対象が1つの形式に限定され、数秒で完了します。省略すると、すべてのエクスポート形式を比較します。

yolo benchmark model=yolo26n.pt imgsz=640 format=onnx
yolo benchmark model=yolo26s.pt imgsz=640 format=onnx

Apple M5 Pro搭載ノートPCのCPUで得られた実測値:

|     Format   Status❔   Size (MB)   metrics/mAP50-95(B)   Inference time (ms/im)   FPS   |
| 1   ONNX     ✅         9.5         0.6693                13.87                    72.08 |   <- yolo26n
| 1   ONNX     ✅         36.5        0.6654                30.87                    32.39 |   <- yolo26s

30 FPS(33 ms)の予算に照らして確認します。

  • yolo26n、13.87 ms:デコードと描画に19 msの余裕を残して収まります。
  • yolo26s、30.87 ms:ぎりぎり収まりますが、ほかの処理に使える余裕はありません。同じベンチマークでも、マシン上でほかのジョブが実行されている間は60 msかかりました。
  • Size (MB):ONNXファイルのサイズです。アプリのダウンロードやモバイル端末のメモリ使用量に関わります。
  • metrics/mAP50-95(B):ここでは無視してください。coco8の検証画像は4枚だけです。エクスポートが機能することの確認には十分ですが、精度を比較するには少なすぎます。

判断:まずyolo26nを学習し、フォールバックとしてyolo26sをより低いimgszに設定します。

次の間違いに注意する#

異なるマシンでベンチマークする

症状: ノートPCで70 FPSだったモデルが、エッジデバイスでは8 FPSになります。対処: モデルを実行するデバイスで、他のプロセス、カメラのデコード、実際のランタイム形式を含む現実的な負荷のもとでベンチマークしてください。

異なる設定でサイズを比較する

症状: メモに「sのほうがnより高速」と書かれています。原因: 片方の実行では imgsz=480 または異なる形式が使われていました。対処: 同じ imgsz、形式、バッチサイズで比較し、一度に変更する変数は1つにしてください。

デプロイするサイズでトレーニングする

x をトレーニングして、後から モデルのプルーニング や量子化で n に縮小する計画は避けてください。アーキテクチャを小さくするには再トレーニングが必要です。まずサイズを選び、量子化は適切なサイズの代わりではなく、追加の高速化手段として扱ってください。

バッチ処理、量子化、ランタイムの選択など、レイテンシをさらに掘り下げる作業については、Productionコースのコストとレイテンシのチューニングを参照してください。また、パフォーマンス指標ガイドでは、各精度指標について説明しています。

試してみる

プロジェクトの対象デバイスとフレームレートを決めます。そのデバイス(または手元にある最も近いマシン)でformat=onnxを使い、yolo26nとyolo26sをベンチマークします。次に、1行ずつ3項目からなるサイズ選定の記録を作成します。ms単位の予算、測定した2つのレイテンシ、最初に学習するサイズとフォールバックです。

完了条件
以下のすべてを満たすと、レッスンは完了です。
  • 同じimgszと形式で、2種類のYOLO26サイズについて画像あたりのmsを測定しました。

  • フレームあたりの予算をミリ秒単位で記録し、各サイズでどれだけ余裕があるかを記載しました。

  • 最初に学習するサイズとフォールバックを選び、その理由を1文で説明しました。

解答を表示
Budget:   30 FPS on a laptop CPU -> 33 ms per frame, shared with decode and drawing
Measured: ONNX at 640 -> yolo26n 13.9 ms (19 ms headroom), yolo26s 30.9 ms (none; 60 ms under load)
Decision: train yolo26n first. If accuracy on our val set falls short,
          try yolo26s at imgsz=480 and re-benchmark before committing.
次のステップ

学習するモデルが決まりました。次は、データをUltralytics YOLOが想定するフォルダー構成とラベル形式に整理します。