物体検出
物体検出とは、画像またはビデオストリーム内の物体の位置とクラスを識別するタスクです。
物体検出器の出力は、画像内のオブジェクトを囲むバウンディングボックスのセットであり、クラスラベルと各ボックスの信頼度スコアとともに提供されます。物体検出は、シーン内で関心のあるオブジェクトを識別する必要があるが、オブジェクトが正確にどこにあるか、またはその正確な形状を知る必要がない場合に適しています。
見る: 事前学習済みUltralytics YOLOモデルによる物体検出
ヒント
YOLO11 Detectモデルは、デフォルトのYOLO11モデルです。つまり、 yolo11n.pt
で事前トレーニングされています。 COCO.
モデル
ここに表示されているのは、YOLO11の学習済みDetectモデルです。Detect、Segment、PoseモデルはCOCOデータセットで事前学習されていますが、ClassifyモデルはImageNetデータセットで事前学習されています。
モデルは、最初の使用時に最新のUltralytics リリースから自動的にダウンロードされます。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 T4 TensorRT10 (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n | 640 | 39.5 | 56.1 ± 0.8 | 1.5 ± 0.0 | 2.6 | 6.5 |
YOLO11s | 640 | 47.0 | 90.0 ± 1.2 | 2.5 ± 0.0 | 9.4 | 21.5 |
YOLO11m | 640 | 51.5 | 183.2 ± 2.0 | 4.7 ± 0.1 | 20.1 | 68.0 |
YOLO11l | 640 | 53.4 | 238.6 ± 1.4 | 6.2 ± 0.1 | 25.3 | 86.9 |
YOLO11x | 640 | 54.7 | 462.8 ± 6.7 | 11.3 ± 0.2 | 56.9 | 194.9 |
- mAPval 値は、シングルモデルのシングルスケールにおける COCO val2017 データセット。
再現方法yolo val detect data=coco.yaml device=0
- 速度 を使用してCOCO val画像で平均化 Amazon EC2 P4d インスタンス。
再現方法yolo val detect data=coco.yaml batch=1 device=0|cpu
トレーニング
COCO8データセットでYOLO11nを画像サイズ640で100エポック学習します。利用可能な引数の完全なリストについては、Configurationページを参照してください。
例
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.yaml") # build a new model from YAML
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640
データセット形式
YOLO 検出データセットの形式の詳細は、データセットガイドに記載されています。既存のデータセットを他の形式(COCOなど)から YOLO 形式に変換するには、Ultralytics の JSON2YOLO ツールを使用してください。
Val
学習済み YOLO11n モデルの検証 精度 COCO8データセットで実行します。引数は必要ありません。 model
学習内容を保持 data
および引数をモデル属性として。
例
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # a list contains map50-95 of each category
yolo detect val model=yolo11n.pt # val official model
yolo detect val model=path/to/best.pt # val custom model
予測
トレーニング済みの YOLO11n モデルを使用して、画像に対する予測を実行する。
例
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
# Access the results
for result in results:
xywh = result.boxes.xywh # center-x, center-y, width, height
xywhn = result.boxes.xywhn # normalized
xyxy = result.boxes.xyxy # top-left-x, top-left-y, bottom-right-x, bottom-right-y
xyxyn = result.boxes.xyxyn # normalized
names = [result.names[cls.item()] for cls in result.boxes.cls.int()] # class name of each box
confs = result.boxes.conf # confidence score of each box
yolo detect predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg' # predict with official model
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model
詳細な predict
モードの詳細については、 予測 ページ。
エクスポート
YOLO11nモデルをONNX、CoreMLなどの異なる形式にエクスポートします。
例
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom trained model
# Export the model
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model
利用可能なYOLO11のエクスポート形式は、以下の表に記載されています。以下の方法で、任意の形式にエクスポートできます。 format
引数、つまり format='onnx'
または format='engine'
エクスポートされたモデルで直接予測または検証できます。例: yolo predict model=yolo11n.onnx
エクスポート完了後、モデルの使用例が表示されます。
形式 | format 引数 |
モデル | メタデータ | 引数 |
---|---|---|---|---|
PyTorch | - | yolo11n.pt |
✅ | - |
TorchScript | torchscript |
yolo11n.torchscript |
✅ | imgsz , half , dynamic , optimize , nms , batch , device |
ONNX | onnx |
yolo11n.onnx |
✅ | imgsz , half , dynamic , simplify , opset , nms , batch , device |
OpenVINO | openvino |
yolo11n_openvino_model/ |
✅ | imgsz , half , dynamic , int8 , nms , batch , data , fraction , device |
TensorRT | engine |
yolo11n.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , nms , batch , data , fraction , device |
CoreML | coreml |
yolo11n.mlpackage |
✅ | imgsz , half , int8 , nms , batch , device |
TF SavedModel | saved_model |
yolo11n_saved_model/ |
✅ | imgsz , keras , int8 , nms , batch , device |
TF GraphDef | pb |
yolo11n.pb |
❌ | imgsz , batch , device |
TF Lite | tflite |
yolo11n.tflite |
✅ | imgsz , half , int8 , nms , batch , data , fraction , device |
TF Edge TPU | edgetpu |
yolo11n_edgetpu.tflite |
✅ | imgsz , device |
TF.js | tfjs |
yolo11n_web_model/ |
✅ | imgsz , half , int8 , nms , batch , device |
PaddlePaddle | paddle |
yolo11n_paddle_model/ |
✅ | imgsz , batch , device |
MNN | mnn |
yolo11n.mnn |
✅ | imgsz , batch , int8 , half , device |
NCNN | ncnn |
yolo11n_ncnn_model/ |
✅ | imgsz , half , batch , device |
IMX500 | imx |
yolo11n_imx_model/ |
✅ | imgsz , int8 , data , fraction , device |
RKNN | rknn |
yolo11n_rknn_model/ |
✅ | imgsz , batch , name , device |
詳細な export
詳細は エクスポート ページ。
よくある質問
カスタムデータセットで YOLO11 モデルをトレーニングするにはどうすればよいですか?
カスタムデータセットでYOLO11モデルを学習するには、いくつかの手順が必要です。
- データセットの準備: データセットが YOLO 形式であることを確認します。詳細については、データセットガイドを参照してください。
- モデルのロード: Ultralytics YOLOライブラリを使用して、事前トレーニング済みのモデルをロードするか、YAMLファイルから新しいモデルを作成します。
- モデルの学習: 以下のコマンドを実行
train
pythonのメソッドまたはyolo detect train
CLIでコマンドを実行します。
例
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo11n.pt")
# Train the model on your custom dataset
model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)
yolo detect train data=my_custom_dataset.yaml model=yolo11n.pt epochs=100 imgsz=640
詳細な設定オプションについては、Configurationページをご覧ください。
YOLO11 で利用可能な事前学習済みモデルは何ですか?
Ultralytics YOLO11 は、物体検出、セグメンテーション、およびポーズ推定のために、さまざまな事前学習済みモデルを提供します。これらのモデルは、COCO データセットまたは ImageNet で分類タスク用に事前学習されています。利用可能なモデルの一部を以下に示します。
詳細なリストとパフォーマンス指標については、モデルセクションを参照してください。
トレーニング済みのYOLOモデルの精度を検証するにはどうすればよいですか?
トレーニング済みのYOLO11モデルの精度を検証するには、以下を使用します。 .val()
pythonのメソッドまたは yolo detect val
CLIでコマンドを実行します。これにより、mAP50-95、mAP50などのメトリクスが得られます。
例
from ultralytics import YOLO
# Load the model
model = YOLO("path/to/best.pt")
# Validate the model
metrics = model.val()
print(metrics.box.map) # mAP50-95
yolo detect val model=path/to/best.pt
検証に関する詳細については、Valページをご覧ください。
YOLO11モデルをどのような形式でエクスポートできますか?
Ultralytics YOLO11では、ONNX、TensorRT、CoreMLなど、さまざまな形式へのモデルのエクスポートが可能で、異なるプラットフォームやデバイス間での互換性を確保します。
例
from ultralytics import YOLO
# Load the model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx
サポートされている形式の完全なリストと手順については、エクスポートページをご確認ください。
オブジェクト検出に Ultralytics YOLO11 を使用する利点は何ですか?
Ultralytics YOLO11は、物体検出、セグメンテーション、および姿勢推定において、最先端のパフォーマンスを提供するように設計されています。主な利点を以下に示します。
- 学習済みモデル: COCOやImageNetなどの一般的なデータセットで学習済みのモデルを利用して、開発を迅速化します。
- 高精度:優れたmAPスコアを達成し、信頼性の高い物体検出を保証します。
- 速度: リアルタイム推論に最適化されており、迅速な処理を必要とするアプリケーションに最適です。
- 柔軟性:モデルをONNXやTensorRTなどのさまざまな形式にエクスポートして、複数のプラットフォームに展開できます。
YOLO11 の実際の活用事例を紹介するブログをご覧ください。