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を実行してください。 - Params および FLOPs の値は、
model.fuse()後の融合済みモデルに対するものです。これは Conv 層と BatchNorm 層を統合し、エンドツーエンドモデルの場合は補助的な one-to-many 検出ヘッドを削除します。事前学習済みのチェックポイントは、完全なトレーニングアーキテクチャを保持しているため、数値が大きく表示される場合があります。
Link to this sectionトレーニング#
COCO8データセットでYOLO26nを画像サイズ640にて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)trainモードの詳細はTrainページを参照してください。検出モデルは、Ultralytics Platformを通じてクラウドGPU上で学習させることも可能です。
Link to this sectionデータセット形式#
YOLO検出データセットのフォーマットについては、データセットガイドで詳しく解説しています。既存のデータセット(COCOなど)をYOLO形式に変換するには、UltralyticsのJSON2YOLOツールをご利用ください。また、AI支援型ラベル付けツールを使用して、Ultralytics Platform上で直接検出データセットにアノテーションを付けたり管理したりすることもできます。
Link to this section検証#
COCO8データセットで学習済みYOLO26nモデルの精度を検証します。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
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枚につき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フィールドについては、タスク別予測結果(Predict Results by Task)セクションを参照してください。
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, quantize, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, quantize, dynamic, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, quantize, dynamic, simplify, workspace, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, quantize, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, quantize, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, quantize, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, quantize, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, quantize, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, quantize, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, quantize, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, quantize, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, quantize, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn.onnx | ✅ | imgsz, batch, name, quantize, data, fraction, device |
| LiteRT | litert | yolo26n.tflite | ✅ | imgsz、quantize、batch、data、fraction、device |
exportの詳細については、Exportページを参照してください。
Link to this sectionよくある質問 (FAQ)#
Link to this sectionコーディングなしで検出モデルの学習やデプロイはできますか?#
はい、可能です。Ultralytics Platformでは、データセットのアノテーション、クラウドGPU上での検出モデルの学習、および推論エンドポイントへのデプロイを行うためのブラウザベースのワークフローを提供しています。開始方法についてはプラットフォームクイックスタートを参照してください。
Link to this section独自のデータセットでYOLO26モデルを学習させるにはどうすればよいですか?#
カスタムデータセットでYOLO26モデルを学習させる手順は以下の通りです。
- データセットの準備: データセットがYOLO形式であることを確認してください。詳細については、データセットガイドを参照してください。
- モデルの読み込み: 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)詳細な設定オプションについては、設定ページにアクセスしてください。
Link to this sectionYOLO26で利用可能な事前学習済みモデルは何ですか?#
Ultralytics YOLO26は、物体検出、インスタンスセグメンテーション、セマンティックセグメンテーション、および姿勢推定のための様々な事前学習済みモデルを提供しています。これらのモデルは、COCOデータセット、セマンティックセグメンテーション用のCityscapes、または分類タスク用のImageNetで事前学習されています。利用可能なモデルの一部を以下に示します。
詳細なリストと性能指標については、モデルセクションを参照してください。
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")サポートされているフォーマットの全リストと手順については、エクスポートページを確認してください。
Link to this sectionなぜ物体検出にUltralytics YOLO26を使用すべきなのですか?#
Ultralytics YOLO26は、物体検出、インスタンスセグメンテーション、セマンティックセグメンテーション、および姿勢推定において最先端の性能を提供するように設計されています。主な利点は以下の通りです。
- 事前学習済みモデル: COCOやImageNetのような一般的なデータセットで事前学習されたモデルを活用することで、開発を迅速化できます。
- 高精度: 優れたmAPスコアを達成し、信頼性の高い物体検出を保証します。
- 速度: リアルタイム推論向けに最適化されており、迅速な処理を必要とするアプリケーションに最適です。
- 柔軟性: モデルをONNXやTensorRTなどのさまざまなフォーマットにエクスポートし、複数のプラットフォームにデプロイ可能です。
YOLO26が実際に活用されている事例や成功事例については、ブログをご覧ください。