콘텐츠로 건너뛰기

인스턴스 분할

인스턴스 세분화 예제

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

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



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

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

모델

여기에는 YOLO11 사전 학습된 세그먼트 모델이 나와 있습니다. 감지, 세그먼트 및 포즈 모델은 사전 학습된 COCO 데이터 세트에 대해 사전 학습된 반면, 분류 모델은 ImageNet 데이터 세트에서 사전 학습되었습니다.

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

모델크기
(픽셀)
mAP박스
50-95
mAP마스크
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(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
  • mAPval 값은 다음 환경에서 단일 모델, 단일 스케일에 대한 것입니다. COCO val2017 데이터 세트입니다.
    다음으로 재현합니다. yolo val segment data=coco.yaml device=0
  • 속도 를 사용하여 COCO 값 이미지에 대한 평균을 구합니다. 인스턴스를 사용하여 COCO val 이미지에서 평균을 냈습니다. 인스턴스.
    다음으로 재현합니다. yolo val segment data=coco.yaml batch=1 device=0|cpu

Train

이미지 크기 640에서 100개의 에포크에 대해 COCO8 데이터 세트에서 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 모델의 유효성을 검사합니다. 정확도 를 입력합니다. 인수가 필요하지 않으므로 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
ExecuTorchexecutorchyolo11n-seg_executorch_model/imgsz, device
악셀레라axelerayolo11n-seg_axelera_model/imgsz, int8, data, fraction, 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 세그먼트 모델은 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와 같은 검증 지표를 얻을 수 있습니다.

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 페이지를 참조하십시오.



📅 2년 전에 생성됨 ✏️ 25일 전에 업데이트됨
glenn-jocherBurhan-Qambitious-octopusUltralyticsAssistantY-T-Gjk4eMatthewNoyceRizwanMunawar

댓글