DeepLabv3

Mạng phân đoạn ngữ nghĩa gộp các đặc trưng song song ở nhiều tỷ lệ dilation (atrous spatial pyramid pooling) trước khi phân loại từng pixel. LibreYOLO chỉ cung cấp mô hình này cho phân đoạn ngữ nghĩa.

Tác vụ
semantic
Kích thước
Cài đặt
pip install libreyolo
Bậc hỗ trợ
Chỉ suy luận, từ v. Chỉ dự đoán, kiểm định và xuất. Không áp dụng các tính năng huấn luyện.
Thượng nguồn
DeepLabv3 của PyTorch, BSD-3-Clause. Bài báo, mã nguồn
Giấy phép
Mã nguồn BSD-3-Clause, trọng số BSD-3-Clause. Sử dụng thương mại

Cài đặt

DeepLabv3 không cần extra tùy chọn. Mọi thành phần mà mô hình import đều có trong bản cài đặt cơ sở.

bash
pip install libreyolo

Dự đoán

Trọng số được tải về từ Hugging Face trong lần sử dụng đầu tiên và được lưu vào bộ nhớ đệm cục bộ. Hậu tố tên tệp -sem là bắt buộc với họ mô hình này.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreDeepLabv3r50-sem.pt")result = model(SAMPLE_IMAGE, save=True) mask = result.semantic_maskprint(mask.data.shape)   # (H, W) ID lớp đối tượngprint(mask.classes)      # các ID lớp đối tượng trong ảnh, đã sắp xếp
CLI
libreyolo predict model=LibreDeepLabv3r50-sem.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True

Phân đoạn ngữ nghĩa trả về một ID lớp đối tượng cho mỗi pixel thay vì box, vì vậy result.semantic_mask chứa mảng (H, W) trong .data và danh sách ID lớp đối tượng có trong ảnh ở .classes. conf, ioumax_det được chấp nhận để giữ tính tương đồng của API nhưng không có tác dụng: mô hình gán một lớp đối tượng cho mỗi pixel bằng argmax, không có ngưỡng độ tin cậy hay bước NMS. Xem dự đoán để biết về nguồn, xử lý luồng và kết quả.

Biến thể

Có ba backbone: ResNet-50 giãn, ResNet-101 giãn và MobileNetV3-Large giãn. Đây là DeepLabv3, không phải DeepLabv3+, vì vậy không có giai đoạn decoder hay tinh chỉnh CRF, phù hợp với cách triển khai của torchvision thay vì mã tham chiếu riêng của bài báo.

LibreYOLO không huấn luyện DeepLabv3: train() phát sinh NotImplementedError cho họ mô hình này, được cấp hỗ trợ ở trên đánh dấu là chỉ dành cho inference. Ba checkpoint đã phát hành là trọng số COCO với nhãn VOC của chính torchvision, được chuyển đổi cho loader của LibreYOLO.

Xác thực

val() trả về metrics/mIoUmetrics/pixel_accuracy, được đo trên mọi dataset có định dạng giống định dạng bạn đã dùng để huấn luyện.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreDeepLabv3r50-sem.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mIoU"])print(metrics["metrics/pixel_accuracy"])
CLI
libreyolo val model=LibreDeepLabv3r50-sem.pt data=my-dataset.yaml

Xuất

Tác vụONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
semanticsemantic to ONNX: được hỗ trợsemantic to TorchScript: được hỗ trợsemantic to ExecuTorch: không được hỗ trợsemantic to TensorRT: được hỗ trợsemantic to OpenVINO: được hỗ trợsemantic to Paddle: không được hỗ trợsemantic to MNN: không được hỗ trợsemantic to RKNN: không được hỗ trợsemantic to ncnn: không được hỗ trợsemantic to TFLite: không được hỗ trợsemantic to CoreML: không được hỗ trợsemantic to Core AI: không được hỗ trợ

Artifact đã xuất được tải lại qua LibreYOLO() dựa trên hậu tố tệp, vì vậy tệp .onnx hoặc .engine hoạt động như checkpoint và trả về cùng đối tượng Results. Trang Xuất liệt kê các đối số mà mọi định dạng chấp nhận.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreDeepLabv3r50-sem.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreDeepLabv3r50-sem.pt format=onnxlibreyolo export model=LibreDeepLabv3r50-sem.pt format=tensorrt half=True
Dùng tệp đã xuất
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory định tuyến dựa trên hậu tố tệp, vì vậy artifact đã xuất tải# như mọi checkpoint và trả về cùng đối tượng Results.model = LibreYOLO("LibreDeepLabv3r50-sem.onnx")result = model(SAMPLE_IMAGE) print(result.semantic_mask.data.shape)

Checkpoint

Mọi tệp trọng số đã phát hành cho họ mô hình này.

TệpĐầu vào (px)Giấy phép trọng số
semantic
LibreDeepLabv3r50-sem.ptbsd-3-clause
LibreDeepLabv3r101-sem.ptbsd-3-clause
LibreDeepLabv3mv3-sem.ptbsd-3-clause

Mọi tệp ở trên hiện đều có trong tổ chức LibreYOLO và được tải xuống trong lần sử dụng đầu tiên.

Giấy phép

Hãy kiểm tra giấy phép trong repo Hugging Face của trọng số cụ thể mà bạn tải xuống. Mỗi checkpoint trong tổ chức LibreYOLO đều có giấy phép riêng và giấy phép có thể khác nhau trong cùng một họ. Repo đó là nguồn có thẩm quyền; phần tóm tắt dưới đây mô tả các điều khoản áp dụng khi trang này được kiểm chứng lần gần nhất.

Đây là phần mô tả các giấy phép liên quan, không phải tư vấn pháp lý. Nếu câu trả lời có ý nghĩa về mặt thương mại, hãy tự đọc các giấy phép và tham khảo cố vấn của riêng bạn.

Công trình gốc
DeepLabv3, PyTorch
Giấy phép thượng nguồn
BSD-3-Clause
Nguồn thượng nguồn
github.com/pytorch/vision
Mã nguồn LibreYOLO
MIT
Trọng số
BSD-3-Clause, được phát hành lại tại huggingface.co/LibreYOLO
Diễn giải
BSD-3-Clause is a permissive license, so this code and these weights can be used in commercial and closed-source products. It asks you to keep the copyright notice, license text and a non-endorsement clause with any copy you redistribute. LibreYOLO's inference graph is torchvision's ASPP head over its ResNet-50, ResNet-101 and MobileNetV3-Large backbones; it is DeepLabv3, not DeepLabv3+, so there is no decoder or CRF, and the paper's training-only auxiliary FCN classifier is excluded. The three published checkpoints are torchvision's official COCO-with-VOC-label weights; their separate LibreYOLO Hugging Face mirrors carry BSD-3-Clause on an implied basis disclosed by torchvision rather than an explicit checkpoint-specific grant, and torchvision's own documentation notes that pretrained-model terms can depend on the training data, leaving that determination to the user.

Đã kiểm chứng với LibreYOLO v1.5.0. Các bảng hỗ trợ, checkpoint và số liệu benchmark trên trang này được tạo từ thư viện đã phát hành và trọng số đã công bố, không phải viết thủ công.