Link to this sectionオブジェクト検出#
オブジェクト検出とは、画像やビデオストリーム内のオブジェクトの位置とクラスを特定するタスクです。
オブジェクト検出器の出力は、画像内のオブジェクトを囲むバウンディングボックスのセットと、各ボックスのクラスラベルおよび信頼度スコアです。オブジェクト検出は、シーン内の対象オブジェクトを特定する必要があるが、そのオブジェクトの正確な位置や詳細な形状までを知る必要がない場合に適した選択肢です。
Watch: Object Detection with Pretrained Ultralytics YOLO Model.
YOLO26 DetectモデルはデフォルトのYOLO26モデル(yolo26n.ptなど)であり、COCOで事前学習されています。
Link to this sectionモデル#
ここにYOLO26の事前学習済みDetectモデルを示します。Detect、Segment、PoseモデルはCOCOデータセットで、SemanticモデルはCityscapesで、ClassifyモデルはImageNetデータセットでそれぞれ事前学習されています。
モデルは、初回使用時に最新のUltralytics リリースから自動的にダウンロードされます。
| モデル | サイズ (ピクセル) | mAPval 50-95 | mAPval 50-95(e2e) | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (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で再現可能です。 - 速度は、Amazon EC2 P4dインスタンスを使用してCOCO val画像で平均化したものです。
yolo val detect data=coco.yaml batch=1 device=0|cpuで再現可能です。 - パラメータおよびFLOPs値は、
model.fuse()後の融合されたモデルに対するものです。これはConv層とBatchNorm層を結合し、end2endモデルの場合は補助的なone-to-many検出ヘッドを削除します。事前学習済みチェックポイントは全トレーニングアーキテクチャを保持しているため、数値がより大きく表示される場合があります。
Link to this section学習#
COCO8データセットでYOLO26nを100エポック、画像サイズ640でトレーニングします。利用可能な引数の全リストについては、設定ページを参照してください。
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)trainモードの詳細については、Trainページを参照してください。検出モデルは、Ultralytics Platformを通じてクラウドGPU上でトレーニングすることも可能です。
Link to this sectionデータセット形式#
YOLO検出データセットの形式については、データセットガイドで詳細を確認できます。既存のデータセットを他の形式(COCOなど)からYOLO形式に変換するには、UltralyticsのJSON2YOLOツールを使用してください。また、AI支援ラベル付けツールを使用して、Ultralytics Platform上で直接検出データセットをアノテーションおよび管理することも可能です。
Link to this section検証#
Validate trained YOLO26n model accuracy on the COCO8 dataset. No arguments are needed as the model retains its training data and arguments as model attributes.
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
metrics.box.image_metrics # per-image metrics dictionary with precision, recall, F1, TP, FP, and FNLink to this section予測#
トレーニング済みの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 boxpredictモードの詳細については、Predictページを参照してください。
Link to this section結果の出力#
オブジェクト検出は、画像ごとに1つのResultsオブジェクトを返します。主要な予測フィールドはresult.boxesであり、これには検出された各オブジェクトのボックス座標、クラスID、信頼度スコアが含まれます。
| 属性 | 型 | 形状 | 説明 |
|---|---|---|---|
result.boxes | Boxes | (N) | 検出ボックス。 |
result.boxes.data | torch.float32 | (N,6/7) | 生の[x1,y1,x2,y2,conf,cls]に加え、オプションのトラッキングID。 |
result.boxes.xyxy | torch.float32 | (N,4) | xyxyピクセルボックス。 |
result.boxes.conf | torch.float32 | (N,) | 信頼度スコア。 |
result.boxes.cls | torch.float32 | (N,) | クラスID。名前を表示するにはintにキャストしてください。 |
すべてのタスクにわたるタスク固有のResultsフィールドについては、タスク別予測結果セクションを参照してください。
Link to this sectionエクスポート#
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")利用可能な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, int8, dynamic, simplify, opset, nms, batch, data, fraction, 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, data, fraction, 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, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, 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, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
exportの詳細はExportページを参照してください。
Link to this sectionFAQ#
Link to this sectionコーディングなしで検出モデルのトレーニングとデプロイは可能ですか?#
はい、可能です。Ultralytics Platformでは、ブラウザベースのワークフローを提供しており、データセットのアノテーション、クラウドGPU上での検出モデルのトレーニング、そして推論エンドポイントへのデプロイが可能です。開始方法については、Platform quickstartを参照してください。
Link to this sectionカスタムデータセットでYOLO26モデルをトレーニングするにはどうすればよいですか?#
カスタムデータセットでYOLO26モデルをトレーニングするには、いくつかのステップが必要です。
- データセットの準備: データセットがYOLO形式であることを確認してください。詳細については、Dataset Guideを参照してください。
- モデルの読み込み: Ultralytics YOLOライブラリを使用して、事前学習済みモデルを読み込むか、YAMLファイルから新しいモデルを作成します。
- モデルのトレーニング: Pythonで
trainメソッドを実行するか、CLIでyolo detect trainコマンドを実行します。
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)詳細な設定オプションについては、Configurationページをご覧ください。
Link to this sectionYOLO26ではどのような事前学習済みモデルが利用可能ですか?#
Ultralytics YOLO26では、object detection、instance segmentation、semantic segmentation、およびpose estimation向けの様々な事前学習済みモデルを提供しています。これらのモデルは、COCOデータセット、セマンティックセグメンテーション用のCityscapes、または分類タスク用のImageNetで事前学習されています。利用可能なモデルの一部を以下に示します。
詳細なリストとパフォーマンスメトリクスについては、Modelsセクションを参照してください。
Link to this sectionトレーニングしたYOLOモデルの精度を検証するにはどうすればよいですか?#
トレーニングしたYOLO26モデルの精度を検証するには、Pythonで.val()メソッドを使用するか、CLIでyolo detect valコマンドを実行します。これにより、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詳細な検証手順については、Valページをご覧ください。
Link to this sectionYOLO26モデルはどのような形式にエクスポートできますか?#
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")サポートされている形式の完全なリストと手順については、Exportページを確認してください。
Link to this sectionオブジェクト検出にUltralytics YOLO26を使用すべき理由は何ですか?#
Ultralytics YOLO26は、object detection、instance segmentation、semantic segmentation、およびpose estimationにおいて最先端のパフォーマンスを提供するよう設計されています。主な利点は以下の通りです。
- 事前学習済みモデル: COCOやImageNetなどの一般的なデータセットで事前学習されたモデルを活用し、開発を加速させます。
- 高精度: 優れたmAPスコアを達成し、信頼性の高いオブジェクト検出を実現します。
- 高速性: real-time inference向けに最適化されており、迅速な処理が求められるアプリケーションに最適です。
- 柔軟性: ONNXやTensorRTなどの様々な形式にモデルをエクスポートし、複数のプラットフォームでデプロイ可能です。
YOLO26の活用事例や成功事例については、弊社のBlogをご覧ください。