콘텐츠로 건너뛰기

인스턴스 분할

인스턴스 세분화 예제

인스턴스 세분화는 객체 감지보다 한 단계 더 나아가 이미지에서 개별 객체를 식별하고 이미지의 나머지 부분에서 분리하는 것을 포함합니다.

인스턴스 세분화 모델의 출력은 이미지의 각 객체 윤곽을 나타내는 마스크 또는 윤곽선 세트와 각 객체에 대한 클래스 레이블 및 신뢰도 점수입니다. 인스턴스 세분화는 이미지에서 객체의 위치뿐만 아니라 정확한 모양도 알아야 할 때 유용합니다.



참고: Python에서 사전 훈련된 Ultralytics YOLO 모델로 세분화를 실행합니다.

YOLO11 Segment 모델은 다음을 사용합니다. -seg 접미사(예: yolo11n-seg.pt 에 대해 사전 훈련되었습니다. COCO.

모델

YOLO11 사전 훈련된 Segment 모델이 여기에 나와 있습니다. Detect, Segment 및 Pose 모델은 COCO 데이터 세트에서 사전 훈련되었으며 Classify 모델은 ImageNet 데이터 세트에서 사전 훈련되었습니다.

모델은 처음 사용할 때 최신 Ultralytics 릴리스에서 자동으로 다운로드됩니다.

모델 크기
(픽셀)
mAPbox
50-95
mAPmask
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLO11n-seg 640 38.9 32.0 65.9 ± 1.1 1.8 ± 0.0 2.9 10.4
YOLO11s-seg 640 46.6 37.8 117.6 ± 4.9 2.9 ± 0.0 10.1 35.5
YOLO11m-seg 640 51.5 41.5 281.6 ± 1.2 6.3 ± 0.1 22.4 123.3
YOLO11l-seg 640 53.4 42.9 344.2 ± 3.2 7.8 ± 0.2 27.6 142.2
YOLO11x-seg 640 54.7 43.8 664.5 ± 3.2 15.8 ± 0.7 62.1 319.0

Train

이미지 크기 640에서 100 epoch 동안 COCO8-seg 데이터 세트에서 YOLO11n-seg를 훈련합니다. 사용 가능한 전체 인수 목록은 구성 페이지를 참조하십시오.

예시

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-seg 데이터 세트에서. 다음이므로 인수가 필요하지 않습니다. 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 contains map50-95(B) of each category
metrics.seg.map  # map50-95(M)
metrics.seg.map50  # map50(M)
metrics.seg.map75  # map75(M)
metrics.seg.maps  # a list contains map50-95(M) of 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 -
TorchScript torchscript yolo11n-seg.torchscript imgsz, half, dynamic, optimize, nms, batch, device
ONNX onnx yolo11n-seg.onnx imgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINO openvino yolo11n-seg_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRT engine yolo11n-seg.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreML coreml yolo11n-seg.mlpackage imgsz, half, int8, nms, batch, device
TF SavedModel saved_model yolo11n-seg_saved_model/ imgsz, keras, int8, nms, batch, device
TF GraphDef pb yolo11n-seg.pb imgsz, batch, device
TF Lite tflite yolo11n-seg.tflite imgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPU edgetpu yolo11n-seg_edgetpu.tflite imgsz, device
TF.js tfjs yolo11n-seg_web_model/ imgsz, half, int8, nms, batch, device
PaddlePaddle paddle yolo11n-seg_paddle_model/ imgsz, batch, device
MNN mnn yolo11n-seg.mnn imgsz, batch, int8, half, device
NCNN ncnn yolo11n-seg_ncnn_model/ imgsz, half, batch, device
IMX500 imx yolo11n-seg_imx_model/ imgsz, int8, data, fraction, device
RKNN rknn yolo11n-seg_rknn_model/ imgsz, batch, name, device

전체 export 세부 정보는 내보내기 페이지를 참조하세요.

FAQ

사용자 정의 데이터 세트에서 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

사용 가능한 인수에 대한 자세한 내용은 Configuration 페이지를 확인하십시오.

YOLO11에서 객체 감지와 인스턴스 분할의 차이점은 무엇입니까?

객체 감지는 이미지 내에서 객체 주변에 경계 상자를 그려 객체를 식별하고 위치를 파악하는 반면, 인스턴스 세분화는 경계 상자를 식별할 뿐만 아니라 각 객체의 정확한 모양을 묘사합니다. YOLO11 인스턴스 세분화 모델은 감지된 각 객체의 윤곽을 나타내는 마스크 또는 윤곽선을 제공하며, 이는 의료 영상 또는 자율 주행과 같이 객체의 정확한 모양을 아는 것이 중요한 작업에 특히 유용합니다.

인스턴스 세분화에 YOLO11을 사용하는 이유는 무엇입니까?

Ultralytics YOLO11은 높은 정확도와 실시간 성능으로 인정받는 최첨단 모델로, 인스턴스 분할 작업에 이상적입니다. YOLO11 Segment 모델은 다양한 객체에서 강력한 성능을 보장하는 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

이러한 단계를 통해 모델 성능을 평가하는 데 중요한 Mean Average Precision (mAP)과 같은 유효성 검사 메트릭을 얻을 수 있습니다.

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

다양한 형식으로 내보내는 방법에 대한 자세한 내용은 Export 페이지를 참조하십시오.



📅 1년 전에 생성됨 ✏️ 5개월 전에 업데이트됨

댓글