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.
- 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.
pip install libreyoloDự đ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ộ.
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)libreyolo predict model=LibreCenterNetresdcn18.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom 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. conf và max_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.
from libreyolo import LibreYOLO model = LibreYOLO("LibreCenterNetresdcn18.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])libreyolo val model=LibreCenterNetresdcn18.pt data=my-dataset.yamlXuất mô hình
| Tác vụ | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Detection | Detection 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.
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")libreyolo export model=LibreCenterNetresdcn18.pt format=onnx opset=18from 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.pt | 512 | mit |
| LibreCenterNetdla34.pt | 512 | 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
- 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.