Bỏ để qua phần nội dung

Phân đoạn phiên bản

Ví dụ về phân đoạn phiên bản

Phân đoạn trường hợp tiến xa hơn một bước so với phát hiện đối tượng và bao gồm việc xác định các đối tượng riêng lẻ trong hình ảnh và phân đoạn chúng ra khỏi phần còn lại của hình ảnh.

Đầu ra của mô hình phân đoạn phiên bản là một tập hợp các mặt nạ hoặc đường viền phác thảo từng đối tượng trong hình ảnh, cùng với nhãn lớp và điểm tin cậy cho từng đối tượng. Phân đoạn phiên bản rất hữu ích khi bạn cần biết không chỉ vị trí của các đối tượng trong hình ảnh mà còn cả hình dạng chính xác của chúng.



Xem: Chạy Phân đoạn với Đã đào tạo trước Ultralytics YOLO Mô hình trong Python .

Mẹo

Các mô hình phân khúc YOLO11 sử dụng -seg hậu tố, tức là yolo11n-seg.pt và được đào tạo trước về COCO.

Mô hình

Các mô hình Segment được đào tạo trước của YOLO11 được hiển thị ở đây. Các mô hình Detect, Segment và Pose được đào tạo trước trên tập dữ liệu COCO , trong khi các mô hình Classify được đào tạo trước trên tập dữ liệu ImageNet .

Mô hình tải xuống tự động từ phiên bản mới nhất Ultralytics phát hành vào lần sử dụng đầu tiên.

Mẫukích thước
(điểm ảnh)
bản đồhộp
50-95
bản đồmặt nạ
50-95
Tốc độ
CPU ONNX
(Cô)
Tốc độ
T4 TensorRT10
(bệnh đa xơ cứng)
Params
(M)
Thất bại
(B)
YOLO11n-phân đoạn64038.932.065,9 ± 1,11,8 ± 0,02.910.4
YOLO11s-phân đoạn64046.637.8117,6 ± 4,92,9 ± 0,010.135.5
YOLO11m-đoạn64051.541.5281,6 ± 1,26,3 ± 0,122.4123.3
YOLO11l-phân đoạn64053.442.9344,2 ± 3,27,8 ± 0,227.6142.2
YOLO11x-phân đoạn64054.743.8664,5 ± 3,215,8 ± 0,762.1319.0
  • mAPval Các giá trị dành cho thang đo đơn mô hình đơn trên COCO val2017 tập dữ liệu.
    Sinh sản bằng yolo val segment data=coco-seg.yaml device=0
  • Tốc độ tính trung bình trên hình ảnh COCO val bằng cách sử dụng một Amazon EC2 P4d ví dụ.
    Sinh sản bằng yolo val segment data=coco-seg.yaml batch=1 device=0|cpu

Xe lửa

Huấn luyện YOLO11n-seg trên tập dữ liệu COCO8-seg trong 100 kỷ nguyên ở kích thước ảnh 640. Để biết danh sách đầy đủ các đối số khả dụng, hãy xem trang Cấu hình .

Ví dụ

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

Định dạng tập dữ liệu

YOLO định dạng tập dữ liệu phân đoạn có thể được tìm thấy chi tiết trong Hướng dẫn tập dữ liệu. Để chuyển đổi tập dữ liệu hiện có của bạn từ các định dạng khác (như COCO, v.v.) sang YOLO , vui lòng sử dụng công cụ JSON2YOLO bằng cách Ultralytics.

Val

Xác thực mô hình YOLO11n-seg đã được đào tạo sự chính xác trên tập dữ liệu COCO8-seg. Không cần đối số vì model duy trì đào tạo data và các đối số làm thuộc tính mô hình.

Ví dụ

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

Dự đoán

Sử dụng mô hình YOLO11n-seg đã được đào tạo để chạy dự đoán trên hình ảnh.

Ví dụ

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
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

Xem đầy đủ predict Chi tiết chế độ trong Dự đoán trang.

Xuất khẩu

Xuất mô hình YOLO11n-seg sang một định dạng khác như ONNX , CoreML , vân vân.

Ví dụ

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

Các định dạng xuất YOLO11-seg có sẵn nằm trong bảng bên dưới. Bạn có thể xuất sang bất kỳ định dạng nào bằng cách sử dụng format lập luận, tức là format='onnx' hoặc format='engine'. Bạn có thể dự đoán hoặc xác thực trực tiếp trên các mô hình đã xuất, tức là yolo predict model=yolo11n-seg.onnx. Ví dụ sử dụng được hiển thị cho mô hình của bạn sau khi xuất hoàn tất.

Định dạngformat Lý lẽMẫuSiêu dữ liệuLập luận
PyTorch-yolo11n-seg.pt-
TorchScripttorchscriptyolo11n-seg.torchscriptimgsz, optimize, batch
ONNXonnxyolo11n-seg.onnximgsz, half, dynamic, simplify, opset, batch
OpenVINOopenvinoyolo11n-seg_openvino_model/imgsz, half, int8, batch
TensorRTengineyolo11n-seg.engineimgsz, half, dynamic, simplify, workspace, int8, batch
CoreMLcoremlyolo11n-seg.mlpackageimgsz, half, int8, nms, batch
TF SavedModelsaved_modelyolo11n-seg_saved_model/imgsz, keras, int8, batch
TF GraphDefpbyolo11n-seg.pbimgsz, batch
TF Litetfliteyolo11n-seg.tfliteimgsz, half, int8, batch
TF Cạnh TPUedgetpuyolo11n-seg_edgetpu.tfliteimgsz
TF.Jstfjsyolo11n-seg_web_model/imgsz, half, int8, batch
PaddlePaddlepaddleyolo11n-seg_paddle_model/imgsz, batch
MNNmnnyolo11n-seg.mnnimgsz, batch, int8, half
NCNNncnnyolo11n-seg_ncnn_model/imgsz, half, batch
IMX500imxyolo11n-seg_imx_model/imgsz, int8

Xem đầy đủ export Chi tiết trong Xuất khẩu trang.

FAQ

Làm thế nào để đào tạo mô hình phân đoạn YOLO11 trên một tập dữ liệu tùy chỉnh?

Để đào tạo mô hình phân đoạn YOLO11 trên một tập dữ liệu tùy chỉnh, trước tiên bạn cần chuẩn bị tập dữ liệu của mình trong YOLO định dạng phân đoạn. Bạn có thể sử dụng các công cụ như JSON2YOLO để chuyển đổi tập dữ liệu từ các định dạng khác. Khi tập dữ liệu của bạn đã sẵn sàng, bạn có thể đào tạo mô hình bằng cách sử dụng Python hoặc CLI lệnh:

Ví dụ

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

Kiểm tra trang Cấu hình để biết thêm các đối số có sẵn.

Sự khác biệt giữa phát hiện đối tượng và phân đoạn thể hiện trong YOLO11 là gì?

Phát hiện đối tượng xác định và định vị các đối tượng trong một hình ảnh bằng cách vẽ các hộp giới hạn xung quanh chúng, trong khi phân đoạn trường hợp không chỉ xác định các hộp giới hạn mà còn phân định hình dạng chính xác của từng đối tượng. Các mô hình phân đoạn trường hợp YOLO11 cung cấp mặt nạ hoặc đường viền phác thảo từng đối tượng được phát hiện, điều này đặc biệt hữu ích cho các tác vụ mà việc biết hình dạng chính xác của các đối tượng là quan trọng, chẳng hạn như hình ảnh y tế hoặc lái xe tự động.

Tại sao nên sử dụng YOLO11 để phân đoạn ví dụ?

Ultralytics YOLO11 là một mô hình tiên tiến được công nhận vì độ chính xác cao và hiệu suất thời gian thực, khiến nó trở nên lý tưởng cho các tác vụ phân đoạn. Các mô hình phân đoạn YOLO11 được đào tạo trước trên tập dữ liệu COCO , đảm bảo hiệu suất mạnh mẽ trên nhiều đối tượng khác nhau. Ngoài ra, YOLO hỗ trợ các chức năng đào tạo, xác thực, dự đoán và xuất khẩu với sự tích hợp liền mạch, khiến nó trở nên cực kỳ linh hoạt cho cả ứng dụng nghiên cứu và công nghiệp.

Làm thế nào để tôi tải và xác thực một chương trình được đào tạo trước YOLO mô hình phân khúc?

Đang tải và xác thực một dữ liệu được đào tạo trước YOLO mô hình phân đoạn rất đơn giản. Sau đây là cách bạn có thể thực hiện bằng cách sử dụng cả hai Python Và CLI :

Ví dụ

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

Các bước này sẽ cung cấp cho bạn các số liệu xác thực như Độ chính xác trung bình (mAP), rất quan trọng để đánh giá hiệu suất của mô hình.

Làm thế nào tôi có thể xuất khẩu một YOLO mô hình phân đoạn để ONNX định dạng?

Xuất khẩu một YOLO mô hình phân đoạn để ONNX định dạng đơn giản và có thể được thực hiện bằng cách sử dụng Python hoặc CLI lệnh:

Ví dụ

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

Để biết thêm chi tiết về cách xuất sang các định dạng khác nhau, hãy tham khảo trang Xuất .

📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 1 tháng

Ý kiến