コンテンツにスキップ

インスタンスセグメンテーション

インスタンスセグメンテーションの例

インスタンスセグメンテーションは、物体検出よりもさらに一歩進んで、画像内の個々の物体を識別し、画像の残りの部分からセグメント化します。

インスタンスセグメンテーションモデルの出力は、画像内の各オブジェクトを囲むマスクまたは輪郭のセットであり、クラスラベルと各オブジェクトの信頼度スコアとともに提供されます。インスタンスセグメンテーションは、画像内のオブジェクトがどこにあるかだけでなく、その正確な形状も知る必要がある場合に役立ちます。



見る: 事前学習済みのUltralytics YOLOモデルを使用して、pythonでセグメンテーションを実行します。

ヒント

YOLO11 Segmentモデルは、 -seg サフィックス(例:) yolo11n-seg.pt で事前トレーニングされています。 COCO.

モデル

YOLO11 事前学習されたSegmentモデル。Detect、Segment、Poseモデルは COCOデータセットで事前学習され、Classifyモデルは ImageNetデータセットで事前学習されています。

モデルは、最初の使用時に最新のUltralytics リリースから自動的にダウンロードされます。

モデルサイズ
(ピクセル)
mAPボックス
50-95
mAPマスク
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO11n-seg64038.932.065.9 ± 1.11.8 ± 0.02.99.7
YOLO11s-seg64046.637.8117.6 ± 4.92.9 ± 0.010.133.0
YOLO11m-seg64051.541.5281.6 ± 1.26.3 ± 0.122.4113.2
YOLO11l-seg64053.442.9344.2 ± 3.27.8 ± 0.227.6132.2
YOLO11x-seg64054.743.8664.5 ± 3.215.8 ± 0.762.1296.4
  • mAP 値は、シングルモデルのシングルスケールにおける COCO val2017 データセット。
    再現方法 yolo val segment data=coco.yaml device=0
  • 速度 を使用してCOCO バル画像を平均化した。 Amazon EC2 P4d インスタンス。
    再現方法 yolo val segment data=coco.yaml batch=1 device=0|cpu

トレーニング

COCO8データセットでYOLO11n-segを画像サイズ640で100エポック学習。利用可能な引数の全リストは設定ページを参照。

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-seg.yaml")  # build a new model from YAML
model = YOLO("yolo11n-seg.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n-seg.yaml").load("yolo11n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8-seg.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo segment train data=coco8-seg.yaml model=yolo11n-seg.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo segment train data=coco8-seg.yaml model=yolo11n-seg.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo segment train data=coco8-seg.yaml model=yolo11n-seg.yaml pretrained=yolo11n-seg.pt epochs=100 imgsz=640

データセット形式

YOLO セグメンテーション・データセット・フォーマットの詳細は、データセット・ガイドをご覧ください。既存のデータセットを他のフォーマット(COCO )からYOLO フォーマットに変換するには、Ultralytics JSON2YOLOツールをご利用ください。

Val

学習済み YOLO11n-seg モデルの検証 精度 をCOCO8データセットに適用した。引数は必要ない。 model 学習内容を保持 data および引数をモデル属性として。

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-seg.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(B)
metrics.box.map50  # map50(B)
metrics.box.map75  # map75(B)
metrics.box.maps  # a list containing mAP50-95(B) for each category
metrics.seg.map  # map50-95(M)
metrics.seg.map50  # map50(M)
metrics.seg.map75  # map75(M)
metrics.seg.maps  # a list containing mAP50-95(M) for each category
yolo segment val model=yolo11n-seg.pt  # val official model
yolo segment val model=path/to/best.pt # val custom model

予測

トレーニング済みの YOLO11n-seg モデルを使用して、画像に対する予測を実行する。

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-seg.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:
    xy = result.masks.xy  # mask in polygon format
    xyn = result.masks.xyn  # normalized
    masks = result.masks.data  # mask in matrix format (num_objects x H x W)
yolo segment predict model=yolo11n-seg.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo segment predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model

詳細な predict モードの詳細については、 予測 ページ。

エクスポート

YOLO11n-segモデルをONNX、CoreMLなどの異なる形式にエクスポートします。

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-seg.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=yolo11n-seg.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model

利用可能なYOLO11-segのエクスポート形式は、以下の表に記載されています。以下の方法で、任意の形式にエクスポートできます。 format 引数、つまり format='onnx' または format='engine'エクスポートされたモデルで直接予測または検証できます。例: yolo predict model=yolo11n-seg.onnxエクスポート完了後、モデルの使用例が表示されます。

形式format 引数モデルメタデータ引数
PyTorch-yolo11n-seg.pt-
TorchScripttorchscriptyolo11n-seg.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo11n-seg.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo11n-seg_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo11n-seg.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo11n-seg.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo11n-seg_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo11n-seg.pbimgsz, batch, device
TF Litetfliteyolo11n-seg.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo11n-seg_edgetpu.tfliteimgsz, device
TF.jstfjsyolo11n-seg_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo11n-seg_paddle_model/imgsz, batch, device
MNNmnnyolo11n-seg.mnnimgsz, batch, int8, half, device
NCNNncnnyolo11n-seg_ncnn_model/imgsz, half, batch, device
IMX500imxyolo11n-seg_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo11n-seg_rknn_model/imgsz, batch, name, device
エクゼキュートーチexecutorchyolo11n-seg_executorch_model/imgsz, device
アクセラaxelerayolo11n-seg_axelera_model/imgsz, int8, data, fraction, device

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

よくある質問

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

カスタムデータセットでYOLO11セグメンテーションモデルをトレーニングするには、まず、YOLOセグメンテーション形式でデータセットを準備する必要があります。JSON2YOLOなどのツールを使用して、他の形式からデータセットを変換できます。データセットの準備ができたら、pythonまたはCLIコマンドを使用してモデルをトレーニングできます。

from ultralytics import YOLO

# Load a pretrained YOLO11 segment model
model = YOLO("yolo11n-seg.pt")

# Train the model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)
yolo segment train data=path/to/your_dataset.yaml model=yolo11n-seg.pt epochs=100 imgsz=640

その他の利用可能な引数については、設定ページをご確認ください。

YOLO11における物体検出とインスタンスセグメンテーションの違いは何ですか?

物体検出は、画像内の物体を特定し、その周囲にバウンディングボックスを描画して位置を特定します。一方、インスタンスセグメンテーションは、バウンディングボックスを特定するだけでなく、各物体の正確な形状を区別します。YOLO11インスタンスセグメンテーションモデルは、検出された各物体の輪郭を示すマスクまたはコンターを提供し、医療画像処理や自動運転など、物体の正確な形状を知ることが重要なタスクに特に役立ちます。

インスタンスセグメンテーションにYOLO11を使用する理由

Ultralytics YOLO11 11は、高精度とリアルタイム性能で定評のある最先端モデルで、インスタンスのセグメンテーションタスクに最適です。YOLO11 セグメントモデルは、COCO データセットで事前に学習されているため、さまざまなオブジェクトで確実なパフォーマンスを発揮します。さらに、YOLO 、シームレスな統合により、トレーニング、検証、予測、およびエクスポート機能をサポートしており、研究および産業アプリケーションの両方で高い汎用性を発揮します。

事前トレーニング済みのYOLOセグメンテーションモデルをロードして検証するにはどうすればよいですか?

事前学習済みのYOLOセグメンテーションモデルのロードと検証は簡単です。pythonとCLIの両方を使用してこれを行う方法を次に示します:

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n-seg.pt")

# Validate the model
metrics = model.val()
print("Mean Average Precision for boxes:", metrics.box.map)
print("Mean Average Precision for masks:", metrics.seg.map)
yolo segment val model=yolo11n-seg.pt

これらのステップにより、平均平均精度mAP Average PrecisionmAPような、モデルのパフォーマンスを評価するのに重要な検証メトリクスが得られます。

YOLOセグメンテーションモデルをONNX形式にエクスポートするにはどうすればよいですか?

YOLOセグメンテーションモデルをONNX形式にエクスポートするのは簡単で、PythonまたはCLIコマンドを使用して実行できます。

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n-seg.pt")

# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo11n-seg.pt format=onnx

さまざまな形式へのエクスポートの詳細については、エクスポートページを参照してください。



📅 2年前に作成されました✏️ 25日前に更新されました
glenn-jocherBurhan-Qambitious-octopusUltralyticsAssistantY-T-Gjk4eMatthewNoyceRizwanMunawar

コメント