物体検出

物体検出とは、画像またはビデオストリーム内の物体の位置とクラスを識別するタスクです。
物体検出器の出力は、画像内のオブジェクトを囲むバウンディングボックスのセットであり、クラスラベルと各ボックスの信頼度スコアとともに提供されます。物体検出は、シーン内で関心のあるオブジェクトを識別する必要があるが、オブジェクトが正確にどこにあるか、またはその正確な形状を知る必要がない場合に適しています。
見る: 事前学習済みUltralytics YOLOモデルによる物体detect。
ヒント
YOLO26 Detectモデルは、デフォルトのYOLO26モデルです。つまり、 yolo26n.pt、そして事前学習されています COCO.
モデル
YOLO26の事前学習済みDetectモデルをここに示します。Detect、Segment、およびPoseモデルはCOCOデータセットで事前学習されており、ClassifyモデルはImageNetデータセットで事前学習されています。
モデルは、初回使用時に最新のUltralytics リリースから自動的にダウンロードされます。
| モデル | サイズ (ピクセル) | mAPval 50-95 | mAPval 50-95(e2e) | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 193.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
トレーニング
画像サイズ640で、COCO8データセットに対してYOLO26nを100 エポックトレーニングします。利用可能な引数の完全なリストについては、設定ページを参照してください。
例
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.yaml") # build a new model from YAML
model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.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=yolo26n.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo26n.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=yolo26n.yaml pretrained=yolo26n.pt epochs=100 imgsz=640
データセット形式
YOLO detectデータセット形式の詳細は、Dataset Guideで確認できます。既存のデータセットを他の形式(COCOなど)からYOLO形式に変換するには、UltralyticsのJSON2YOLOツールをご利用ください。
Val
トレーニング済みYOLO26nモデルの検証 精度 COCO8データセットで。引数は必要ありません。なぜなら model 学習内容を保持 data および引数をモデル属性として。
例
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.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 containing mAP50-95 for each category
yolo detect val model=yolo26n.pt # val official model
yolo detect val model=path/to/best.pt # val custom model
予測
トレーニング済みYOLO26nモデルを使用して画像で推論を実行します。
例
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.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=yolo26n.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 モードの詳細については、 予測 ページ。
エクスポート
YOLO26nモデルをONNX、CoreMLなどの異なる形式にエクスポートします。
例
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.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=yolo26n.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom-trained model
利用可能なYOLO26エクスポート形式は以下の表にあります。以下の方法で任意の形式にエクスポートできます。 format 引数、すなわち、 format='onnx' または format='engine'。エクスポートされたモデルで直接予測または検証できます。つまり、 yolo predict model=yolo26n.onnxエクスポート完了後、モデルの使用例が表示されます。
| 形式 | format 引数 | モデル | メタデータ | 引数 |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, dynamic, simplify, opset, nms, batch, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, int8, data, fraction, device |
詳細な export 詳細は エクスポート ページ。
よくある質問
カスタムデータセットでYOLO26モデルをトレーニングするにはどうすればよいですか?
カスタムデータセットでYOLO26モデルをトレーニングするには、いくつかのステップが必要です。
- データセットの準備: データセットが YOLO 形式であることを確認します。詳細については、データセットガイドを参照してください。
- モデルの読み込み: Ultralytics YOLOライブラリを使用して、事前学習済みモデルを読み込むか、YAMLファイルから新しいモデルを作成します。
- モデルの学習: 以下のコマンドを実行
trainpythonのメソッドまたはyolo detect trainCLIでコマンドを実行します。
例
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.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=yolo26n.pt epochs=100 imgsz=640
詳細な設定オプションについては、Configurationページをご覧ください。
YOLO26で利用可能な事前学習済みモデルは何ですか?
Ultralytics YOLO26は、オブジェクト検出、segment、および姿勢推定のための様々な事前学習済みモデルを提供しています。これらのモデルは、分類タスクのためにCOCOデータセットまたはImageNetで事前学習されています。利用可能なモデルの一部を以下に示します。
詳細なリストとパフォーマンス指標については、モデルセクションを参照してください。
トレーニング済みのYOLOモデルの精度を検証するにはどうすればよいですか?
トレーニング済みのYOLO26モデルの精度を検証するには、以下を使用できます。 .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ページをご覧ください。
YOLO26モデルをどの形式にエクスポートできますか?
Ultralytics YOLO26は、異なるプラットフォームやデバイス間での互換性を確保するため、ONNX、TensorRT、CoreMLなどの様々な形式にモデルをエクスポートできます。
例
from ultralytics import YOLO
# Load the model
model = YOLO("yolo26n.pt")
# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo26n.pt format=onnx
サポートされている形式の完全なリストと手順については、エクスポートページをご確認ください。
オブジェクト検出にUltralytics YOLO26を使用すべき理由は何ですか?
Ultralytics YOLO26は、オブジェクト検出、segment、および姿勢推定において最先端のパフォーマンスを提供するように設計されています。主な利点をいくつかご紹介します。
- 事前学習済みモデル: COCOやImageNetなどの人気データセットで事前学習されたモデルを活用し、開発を加速します。
- 高精度: 優れたmAPスコアを達成し、信頼性の高い物体detectを保証します。
- 速度: リアルタイム推論に最適化されており、迅速な処理を必要とするアプリケーションに最適です。
- 柔軟性:モデルをONNXやTensorRTなどのさまざまな形式にエクスポートして、複数のプラットフォームに展開できます。
YOLO26の活用事例や成功事例を紹介するブログをご覧ください。