콘텐츠로 건너뛰기

인스턴스 분할

인스턴스 세분화 예제

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

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



참고: Python에서 사전 학습된 Ultralytics YOLO 모델로 Segment 실행.

YOLO26 Segment 모델은 -seg 접미사, 즉, yolo26n-seg.pt, 그리고 다음에서 사전 훈련되었습니다. COCO.

모델

YOLO26 사전 학습된 Segment 모델은 여기에 나와 있습니다. Detect, Segment 및 Pose 모델은 COCO 데이터셋으로 사전 학습되며, Classify 모델은 ImageNet 데이터셋으로 사전 학습됩니다.

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

모델크기
(픽셀)
mAPbox
50-95(e2e)
mAPmask
50-95(e2e)
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLO26n-seg64039.633.953.3 ± 0.52.1 ± 0.02.79.1
YOLO26s-seg64047.340.0118.4 ± 0.93.3 ± 0.010.434.2
YOLO26m-seg64052.544.1328.2 ± 2.46.7 ± 0.123.6121.5
YOLO26l-seg64054.445.5387.0 ± 3.78.0 ± 0.128.0139.8
YOLO26x-seg64056.547.0787.0 ± 6.816.4 ± 0.162.8313.5

Train

COCO8-seg 데이터셋에서 이미지 크기 640으로 100 epochs 동안 YOLO26n-seg를 훈련합니다. 사용 가능한 모든 인자 목록은 Configuration 페이지를 참조하십시오.

예시

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-seg.yaml")  # build a new model from YAML
model = YOLO("yolo26n-seg.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n-seg.yaml").load("yolo26n.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=yolo26n-seg.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo segment train data=coco8-seg.yaml model=yolo26n-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=yolo26n-seg.yaml pretrained=yolo26n-seg.pt epochs=100 imgsz=640

데이터 세트 형식

YOLO 세분화 데이터셋 형식은 데이터셋 가이드에서 자세히 확인할 수 있습니다. 기존 데이터셋을 다른 형식(COCO 등)에서 YOLO 형식으로 변환하려면 Ultralytics의 JSON2YOLO 도구를 사용하십시오.

Val

훈련된 YOLO26n-seg 모델 검증 정확도 COCO8-seg 데이터셋에서. 인자가 필요하지 않습니다. 그 이유는 model 훈련을 유지 data 하고 인수를 모델 속성으로 사용합니다.

예시

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-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=yolo26n-seg.pt  # val official model
yolo segment val model=path/to/best.pt # val custom model

예측

훈련된 YOLO26n-seg 모델을 사용하여 이미지에 대한 예측을 실행합니다.

예시

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-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=yolo26n-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 모드에 대한 자세한 내용은 예측 페이지를 참조하세요.

내보내기

YOLO26n-seg 모델을 ONNX, CoreML 등 다른 형식으로 내보냅니다.

예시

from ultralytics import YOLO

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

사용 가능한 YOLO26-seg 내보내기 형식은 아래 표에 있습니다. 다음 명령을 사용하여 어떤 형식으로든 내보낼 수 있습니다. format 인수, 즉, format='onnx' 또는 format='engine'. 즉, 내보낸 모델에서 직접 예측하거나 검증할 수 있습니다. yolo predict model=yolo26n-seg.onnx). 사용 예시는 내보내기가 완료된 후 모델에 대해 표시됩니다.

형식format 인수모델메타데이터인수
PyTorch-yolo26n-seg.pt-
TorchScripttorchscriptyolo26n-seg.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n-seg.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n-seg_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n-seg.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n-seg.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n-seg_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo26n-seg.pbimgsz, batch, device
TF Litetfliteyolo26n-seg.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n-seg_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n-seg_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo26n-seg_paddle_model/imgsz, batch, device
MNNmnnyolo26n-seg.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n-seg_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n-seg_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo26n-seg_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n-seg_executorch_model/imgsz, device
Axeleraaxelerayolo26n-seg_axelera_model/imgsz, int8, data, fraction, device

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

FAQ

사용자 지정 데이터셋에서 YOLO26 segment 모델을 어떻게 훈련하나요?

사용자 지정 데이터셋에서 YOLO26 세그멘테이션 모델을 훈련하려면 먼저 YOLO 세그멘테이션 형식으로 데이터셋을 준비해야 합니다. JSON2YOLO와 같은 도구를 사용하여 다른 형식의 데이터셋을 변환할 수 있습니다. 데이터셋이 준비되면 Python 또는 CLI 명령을 사용하여 모델을 훈련할 수 있습니다.

예시

from ultralytics import YOLO

# Load a pretrained YOLO26 segment model
model = YOLO("yolo26n-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=yolo26n-seg.pt epochs=100 imgsz=640

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

YOLO26에서 객체 감지와 인스턴스 세그멘테이션의 차이점은 무엇입니까?

객체 detect는 이미지 내에서 객체 주위에 바운딩 박스를 그려 객체를 식별하고 위치를 파악하는 반면, 인스턴스 segment는 바운딩 박스를 식별할 뿐만 아니라 각 객체의 정확한 형태를 구분합니다. YOLO26 인스턴스 segment 모델은 감지된 각 객체의 윤곽을 그리는 마스크 또는 윤곽선을 제공하며, 이는 의료 영상이나 자율 주행과 같이 객체의 정확한 형태를 아는 것이 중요한 작업에 특히 유용합니다.

인스턴스 segment에 YOLO26을 사용하는 이유는 무엇인가요?

Ultralytics YOLO26은 높은 정확도와 실시간 성능으로 인정받는 최첨단 모델로, 인스턴스 세그멘테이션 작업에 이상적입니다. YOLO26 Segment 모델은 COCO 데이터셋으로 사전 학습되어 다양한 객체에 걸쳐 강력한 성능을 보장합니다. 또한 YOLO는 훈련, 검증, 예측 및 내보내기 기능을 원활하게 통합하여 연구 및 산업 애플리케이션 모두에 매우 다재다능합니다.

사전 훈련된 YOLO 세분화 모델을 어떻게 로드하고 유효성을 검사합니까?

사전 훈련된 YOLO 분할 모델을 로드하고 유효성을 검사하는 것은 간단합니다. 다음은 python과 CLI를 사용하여 이를 수행하는 방법입니다.

예시

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n-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=yolo26n-seg.pt

이러한 단계는 모델 성능 평가에 필수적인 평균 정밀도 (mAP)와 같은 검증 지표를 제공합니다.

YOLO 세분화 모델을 ONNX 형식으로 어떻게 내보낼 수 있습니까?

YOLO 분할 모델을 ONNX 형식으로 내보내는 것은 간단하며 python 또는 CLI 명령을 사용하여 수행할 수 있습니다.

예시

from ultralytics import YOLO

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

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

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



5; 2 년 전에 생성됨 ✏️ 2 전에 업데이트됨
glenn-jocherBurhan-Qambitious-octopusUltralyticsAssistantY-T-Gpderrengerjk4eMatthewNoyceRizwanMunawar

댓글