YOLO Vision 2026:

Ultralytics YOLO によるオブジェクト検出#

Ultralytics YOLO object detection with bounding boxes

Object detectionは、画像またはビデオストリーム内のオブジェクトの位置とクラスを特定するタスクです。

物体検出器の出力は、画像内の物体を囲む境界ボックス(バウンディングボックス)と、各ボックスのクラスラベルおよび信頼度スコアのセットです。物体検出は、シーン内の対象物体を特定する必要があるものの、物体の正確な位置や正確な形状を知る必要がない場合に適した選択肢です。



Watch: Object Detection with Pretrained Ultralytics YOLO Model.
ヒント

YOLO26 DetectモデルはデフォルトのYOLO26モデル(例:yolo26n.pt)であり、COCOで事前学習されています。

モデル#

YOLO26の事前学習済みDetectモデルをここに示します。Detect、Segment、PoseモデルはCOCOデータセットで事前学習されており、SemanticモデルはCityscapesで、ClassifyモデルはImageNetデータセットで事前学習されています。

Modelsは、初回使用時に最新のUltralytics releaseから自動的にダウンロードされます。

モデルサイズ
(ピクセル)
mAPval
50-95
mAPval
50-95(e2e)
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメータ
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9
  • **mAPval**の値は、COCO val2017データセットにおけるシングルモデル・シングルスケールのものです。
    再現するには yolo val detect data=coco.yaml device=0 を使用します
  • 速度(Speed) は、Amazon EC2 P4d インスタンスを使用して COCO val 画像で平均化したものです。
    再現手順: yolo val detect data=coco.yaml batch=1 device=0|cpu
  • Params および FLOPs の値は、model.fuse() 後の融合済みモデルに対するものです。これは Conv レイヤーと BatchNorm レイヤーを結合し、エンドツーエンドモデルの場合は補助的な一対多検出ヘッドを削除します。事前学習済みのチェックポイントは完全なトレーニングアーキテクチャを保持するため、より高い数値を示す場合があります。

トレーニング#

COCO8データセットでYOLO26nを画像サイズ640で100epochsトレーニングします。利用可能な引数の完全なリストについては、Configurationページを参照してください。

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 cloud trainingを使用してトレーニングすることもできます。

データセット形式#

YOLO検出データセットのフォーマットの詳細については、Dataset Guideをご覧ください。既存のデータセットを他のフォーマット(COCOなど)からYOLOフォーマットに変換するには、UltralyticsのJSON2YOLOツールをご利用ください。また、Ultralytics Platform's AI-assisted annotation toolsを使用して、検出データセットのアノテーションや管理を行うこともできます。

検証#

COCO8データセットでトレーニング済みYOLO26nモデルのaccuracyを検証します。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 FN

予測#

学習済み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

predict モードの詳細については、Predict ページを参照してください。

結果の出力#

オブジェクト検出は、画像ごとに1つの Results オブジェクトを返します。主要な予測フィールドは result.boxes であり、検出されたオブジェクトごとの ボックス座標、クラスID、信頼度スコアが含まれています。

属性タイプ形状説明
result.boxesBoxes(N)検出ボックス。
result.boxes.datatorch.float32(N,6/7)生データの [x1,y1,x2,y2,conf,cls] と、オプションのトラックID。
result.boxes.xyxytorch.float32(N,4)xyxy ピクセルボックス。
result.boxes.conftorch.float32(N,)確信度スコア。
result.boxes.clstorch.float32(N,)クラスID。名前を取得するには int にキャストします。

すべてのタスクに共通するタスク固有の Results フィールドについては、Predict Results by Task セクションを参照してください。

エクスポート#

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-
TorchScripttorchscriptyolo26n.torchscriptimgsz, quantize, dynamic, nms, batch, device
ONNXonnxyolo26n.onnximgszquantizedynamicsimplifyopsetnmsbatchdatafractiondevice
OpenVINOopenvinoyolo26n_openvino_model/imgszquantizedynamicnmsbatchdatafractiondevice
TensorRTengineyolo26n.engineimgszquantizedynamicsimplifyopsetworkspacenmsbatchdatafractiondevice
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, quantize, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgszkerasquantizeopsetnmsbatchdatafractiondevice
TF GraphDefpbyolo26n.pbimgsz, opset, batch, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, quantize, opset, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgszbatchdevice
MNNmnnyolo26n.mnnimgszbatchdynamicquantizesimplifyopsetnmsdevice
NCNNncnnyolo26n_ncnn_model/imgsz, quantize, batch, device
IMX500imxyolo26n_imx_model/imgsz, quantize, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgszbatchnamequantizesimplifyopsetdatafractiondevice
ExecuTorchexecutorchyolo26n_executorch_model/imgszbatchdevice
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, quantize, data, fraction, device
DEEPXdeepxyolo26n_deepx_model/imgsz, quantize, simplify, opset, data, optimize, device
Qualcomm QNNqnnyolo26n_qnn.onnximgszbatchnamequantizesimplifyopsetdatafractiondevice
LiteRTlitertyolo26n.tfliteimgsz, quantize, batch, data, fraction, device
Hailohailoyolo26n_hailo_model/imgsznamequantizedatafractionsimplifyconfiou
Huawei Ascendascendyolo26n_ascend_model/imgsz, batch, name, quantize, opset, simplify, nms
Apple Core AIcoreaiyolo26n.aimodelimgszbatchquantize

詳細な export については、Export ページをご覧ください。

よくある質問 (FAQ)#

  • はい。Ultralytics Platform quickstartでは、データセットのアノテーション、クラウドGPUでの検出モデルのトレーニング、および推論エンドポイントへのデプロイを行うためのブラウザベースのワークフローについて説明しています。

  • カスタムデータセットでYOLO26モデルを学習させる手順は以下の通りです。

    1. データの準備: データセットがYOLOフォーマットであることを確認してください。詳細については、Dataset Guideをご参照ください。
    2. モデルの読み込み: Ultralytics YOLOライブラリを使用して、事前学習済みモデルを読み込むか、YAMLファイルから新しいモデルを作成します。
    3. モデルのトレーニング: 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ページをご覧ください。

  • Ultralytics YOLO26は、object detectioninstance segmentationsemantic segmentation、およびpose estimation向けのさまざまな事前学習済みモデルを提供しています。これらのモデルは、COCOデータセット、セマンティックセグメンテーション用のCityscapes、または分類タスク用のImageNetで事前学習されています。利用可能なモデルの一部を以下に示します:

    詳細なリストとパフォーマンス指標については、Modelsセクションを参照してください。

  • トレーニングした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ページをご覧ください。

  • Ultralytics YOLO26を使用すると、モデルをONNXTensorRTCoreMLなどのさまざまなフォーマットにエクスポートして、異なるプラットフォームやデバイス間での互換性を確保できます。

    from ultralytics import YOLO
    
    # Load the model
    model = YOLO("yolo26n.pt")
    
    # Export the model to ONNX format
    model.export(format="onnx")

    サポートされているフォーマットの完全なリストと手順については、Exportページをご確認ください。

  • Ultralytics YOLO26は、object detectioninstance segmentationsemantic segmentationpose estimationにおいて最先端のパフォーマンスを提供するように設計されています。主な利点は以下のとおりです:

    1. 事前学習済みモデル: COCOImageNetなどの一般的なデータセットで事前学習されたモデルを利用して、開発を迅速化します。
    2. 高精度: 優れたmAPスコアを達成し、信頼性の高い物体検出を保証します。
    3. 速度: real-time inference向けに最適化されており、迅速な処理を必要とするアプリケーションに最適です。
    4. 柔軟性: モデルをONNXやTensorRTなどのさまざまなフォーマットにエクスポートし、複数のプラットフォームにデプロイ可能です。

    YOLO26の実際の活用事例や成功事例を紹介するBlogをご覧ください。

コメント