PIDNet
Mạng phân đoạn ngữ nghĩa ba nhánh bổ sung nhánh biên chuyên dụng vào thiết kế lấy cảm hứng từ proportional-integral-derivative, hướng đến inference thời gian thực. LibreYOLO chỉ cung cấp mô hình cho phân đoạn ngữ nghĩa.
- Tác vụ
- semantic
- Kích thước
- s, m, l at 1024 px
- 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.
- Giấy phép
- Mã nguồn MIT, trọng số MIT. Sử dụng thương mại
Cài đặt
PIDNet 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ở.
pip install libreyoloDự đ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.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibrePIDNets-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ếplibreyolo predict model=LibrePIDNets-sem.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=TruePhâ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, iou và max_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 kích thước, tất cả ở đầu vào cố định 1024 px. Các checkpoint đã phát hành là bản chuyển đổi trọng số PIDNet Cityscapes chính thức với 19 lớp đối tượng.
LibreYOLO không huấn luyện PIDNet: 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.
Xác thực
val() trả về metrics/mIoU và metrics/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.
from libreyolo import LibreYOLO model = LibreYOLO("LibrePIDNets-sem.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mIoU"])print(metrics["metrics/pixel_accuracy"])libreyolo val model=LibrePIDNets-sem.pt data=my-dataset.yamlXuất
| Tác vụ | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| semantic | semantic to ONNX: được hỗ trợ | semantic to TorchScript: được hỗ trợ | semantic to ExecuTorch: đượ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: được hỗ trợ | semantic to TFLite: được hỗ trợ | semantic to CoreML: không được hỗ trợ | semantic to Core AI: đượ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.
from libreyolo import LibreYOLO model = LibreYOLO("LibrePIDNets-sem.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibrePIDNets-sem.pt format=onnxlibreyolo export model=LibrePIDNets-sem.pt format=tensorrt half=Truefrom 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("LibrePIDNets-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 | ||
| LibrePIDNets-sem.pt | 1024 | mit |
| LibrePIDNetm-sem.pt | 1024 | mit |
| LibrePIDNetl-sem.pt | 1024 | mit |
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
- PIDNet, Jiacong Xu
- Giấy phép thượng nguồn
- MIT
- Nguồn thượng nguồn
- github.com/XuJiacong/PIDNet
- Mã nguồn LibreYOLO
- MIT
- Trọng số
- MIT, được phát hành lại tại huggingface.co/LibreYOLO
- Diễn giải
- MIT is a permissive license, so this code and these weights can be used in commercial and closed-source products. It asks only that you keep the copyright and license notice with any copy you redistribute. LibreYOLO's checkpoints are conversions of the official PIDNet Cityscapes weights, which upstream licenses as MIT. The Cityscapes dataset itself carries separate research-oriented terms and is not redistributed by LibreYOLO.
Trích dẫn
@misc{xu2022pidnet,
title={PIDNet: A Real-time Semantic Segmentation Network Inspired from PID Controller},
author={Jiacong Xu and Zixiang Xiong and Shankar P. Bhattacharyya},
year={2022},
eprint={2206.02066},
archivePrefix={arXiv},
primaryClass={cs.CV}
}Được sao chép từ khối trích dẫn của tác giả tại github.com/XuJiacong/PIDNet#bibtex-citation.