コンテンツにスキップ

物体検出

バウンディングボックスを用いたYOLO 検出

物体検出とは、画像またはビデオストリーム内の物体の位置とクラスを識別するタスクです。

物体検出器の出力は、画像内のオブジェクトを囲むバウンディングボックスのセットであり、クラスラベルと各ボックスの信頼度スコアとともに提供されます。物体検出は、シーン内で関心のあるオブジェクトを識別する必要があるが、オブジェクトが正確にどこにあるか、またはその正確な形状を知る必要がない場合に適しています。



見る: 事前学習済み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)
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
  • 速度 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-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, device
Axeleraaxelerayolo26n_axelera_model/imgsz, int8, data, fraction, device

詳細な export 詳細は エクスポート ページ。

よくある質問

カスタムデータセットでYOLO26モデルをトレーニングするにはどうすればよいですか?

カスタムデータセットでYOLO26モデルをトレーニングするには、いくつかのステップが必要です。

  1. データセットの準備: データセットが YOLO 形式であることを確認します。詳細については、データセットガイドを参照してください。
  2. モデルの読み込み: Ultralytics YOLOライブラリを使用して、事前学習済みモデルを読み込むか、YAMLファイルから新しいモデルを作成します。
  3. モデルの学習: 以下のコマンドを実行 train pythonのメソッドまたは yolo detect train CLIでコマンドを実行します。

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は、異なるプラットフォームやデバイス間での互換性を確保するため、ONNXTensorRTCoreMLなどの様々な形式にモデルをエクスポートできます。

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、および姿勢推定において最先端のパフォーマンスを提供するように設計されています。主な利点をいくつかご紹介します。

  1. 事前学習済みモデル: COCOImageNetなどの人気データセットで事前学習されたモデルを活用し、開発を加速します。
  2. 高精度: 優れたmAPスコアを達成し、信頼性の高い物体detectを保証します。
  3. 速度: リアルタイム推論に最適化されており、迅速な処理を必要とするアプリケーションに最適です。
  4. 柔軟性:モデルをONNXやTensorRTなどのさまざまな形式にエクスポートして、複数のプラットフォームに展開できます。

YOLO26の活用事例や成功事例を紹介するブログをご覧ください。



📅 2年前に作成 ✏️ 2日前に更新
glenn-jocherBurhan-Qambitious-octopusUltralyticsAssistantpderrengerY-T-GMatthewNoyceRizwanMunawar

コメント