CenterNet

CenterNet mô hình hóa một đối tượng bằng điểm tâm của bounding box và hồi quy mọi thuộc tính còn lại từ đỉnh heatmap, nên nó không cần anchor và không cần bước non-maximum-suppression. LibreYOLO cung cấp nó như một bộ phát hiện chỉ dùng cho suy luận (inference).

Tác vụ
detection
Kích thước
resdcn18, dla34 at 512 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.
Thượng nguồn
CenterNet của UT Austin and UC Berkeley, MIT. Bài báo, mã nguồn
Giấy phép
Mã nguồn MIT, trọng số MIT. Sử dụng thương mại

Cài đặt

CenterNet không cần extra tùy chọn nào. Mọi thứ nó import đều nằm trong bản cài đặt cơ bản.

bash
pip install libreyolo

Dự đoán

Trọng số được tải về từ Hugging Face ở lần dùng đầu tiên và được lưu cache cục bộ.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreCenterNetresdcn18.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
CLI
libreyolo predict model=LibreCenterNetresdcn18.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True
DLA-34
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreCenterNetdla34.pt")result = model(SAMPLE_IMAGE, save=True)

Đối tượng Results trả về chính là đối tượng mà mọi family đều trả về, nên đổi sang một bộ phát hiện khác chỉ là thay đổi một dòng. confmax_det lọc các đỉnh heatmap đã được xếp hạng; iou vẫn được chấp nhận để đồng nhất API nhưng không có tác dụng, vì bước decode top-k đỉnh của CenterNet không cần bước triệt tiêu dựa trên IoU giữa các box. Xem dự đoán để biết về nguồn đầu vào, luồng (stream) và cách xử lý kết quả.

Biến thể

Hai backbone. resdcn18 ghép trunk ResNet-18 với upsampling deformable-convolution; dla34 ghép trunk DLA-34 với upsampling iterative deep-aggregation. Cả hai cùng đưa dữ liệu vào ba head dense giống nhau (heatmap, chiều rộng/chiều cao, offset) và cùng một khung ảnh đầu vào.

Kiểm định

val() trả về một dictionary gồm các khóa metrics/ bao trùm precision, recall, mAP 50 và mAP 50-95, được đo trên bất kỳ tập dữ liệu (dataset) nào ở định dạng mà bạn đã huấn luyện.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreCenterNetresdcn18.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])
CLI
libreyolo val model=LibreCenterNetresdcn18.pt data=my-dataset.yaml

Xuất mô hình

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

Xuất ONNX yêu cầu opset 16 trở lên: tầng upsampling deformable-convolution trong cả hai backbone được hạ xuống thành toán tử ONNX GridSample, vốn được opset 16 giới thiệu. Yêu cầu một opset cũ hơn sẽ báo lỗi trước khi bắt đầu tracing.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreCenterNetresdcn18.pt") # Xuất ONNX cần opset 16 trở lên: tầng upsampling deformable-convolution# được hạ xuống thành GridSample, toán tử mà opset 16 mới giới thiệumodel.export(format="onnx", opset=18)model.export(format="tensorrt")
CLI
libreyolo export model=LibreCenterNetresdcn18.pt format=onnx opset=18
Dùng tệp đã xuất
from libreyolo import LibreYOLO # Factory định tuyến theo phần mở rộng của tệp, nên một artifact đã xuất# được nạp như mọi checkpoint và trả về cùng một đối tượng Resultsmodel = LibreYOLO("LibreCenterNetresdcn18.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)

Checkpoint

Mọi tệp trọng số đã công bố cho family này.

TệpĐầu vào (px)Giấy phép trọng số
Detection
LibreCenterNetresdcn18.pt512mit
LibreCenterNetdla34.pt512mit

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
CenterNet, UT Austin and UC Berkeley
Giấy phép thượng nguồn
MIT
Nguồn thượng nguồn
github.com/xingyizhou/CenterNet
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 these weights can be used in commercial and closed-source products. It asks only that you keep the copyright notice and license text with any copy you redistribute, and it places no obligation on your own application code. The official ResDCN-18 and DLA-34 COCO checkpoints were published by the MIT-licensed CenterNet project but carry no separate per-checkpoint license file; LibreYOLO's mirror states MIT as implied by the releasing project rather than a publisher-confirmed, checkpoint-specific grant.

Đồ thị ResDCN-18 cũng ghi công human-pose-estimation.pytorch của Microsoft theo giấy phép MIT, và đồ thị DLA-34 ghi công bản hiện thực DLA theo BSD-3-Clause của Fisher Yu. LibreYOLO không đóng gói kèm phần mở rộng DCNv2 gốc mà dự án upstream đã dùng; thay vào đó, thực thi native chạy deform_conv2d theo BSD-3-Clause của torchvision, còn bản hiện thực portable chỉ dùng cho việc xuất mô hình được viết riêng cho LibreYOLO.

Trích dẫn

@inproceedings{zhou2019objects,
  title={Objects as Points},
  author={Zhou, Xingyi and Wang, Dequan and Kr{\"a}henb{\"u}hl, Philipp},
  booktitle={arXiv preprint arXiv:1904.07850},
  year={2019}
}

Được sao chép từ khối trích dẫn của tác giả tại github.com/xingyizhou/CenterNet#citation.

Đã 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.