RetinaNet

RetinaNet là detector một giai đoạn được huấn luyện bằng focal loss, giảm trọng số các mẫu âm dễ để lưới anchor dense không còn cần giai đoạn proposal riêng mà vẫn giữ độ chính xác. LibreYOLO port cách triển khai torchvision cho tác vụ phát hiện.

Tác vụ
detection
Kích thước
r50, r50v2 at 800 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
RetinaNet 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

RetinaNet 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ộ.

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

Đối tượng Results trả về cũng là đối tượng mà mọi họ mô hình đều trả về, vì vậy việc chuyển sang detector khác chỉ cần thay đổi một dòng. confiou thiết lập ngưỡng độ tin cậy và NMS; RetinaNet giữ bước NMS upstream trên lưới anchor dense. Xem dự đoán để biết về nguồn, xử lý luồng và kết quả.

Biến thể

Có hai kích thước, cả hai là ResNet-50 với feature pyramid: r50 dùng head gốc, còn r50v2 thay bằng GroupNorm head và block P6 rộng hơn nhận dữ liệu từ giai đoạn cuối của backbone thay vì đầu ra FPN.

Xác thực

val() trả về dictionary gồm các key metrics/ cho precision, recall, mAP 50 và mAP 50-95, đượ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("LibreRetinaNetr50v2.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])
CLI
libreyolo val model=LibreRetinaNetr50v2.pt data=my-dataset.yaml

Xuất

Tác vụONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
DetectionDetection to ONNX: được hỗ trợDetection to TorchScript: không được hỗ trợDetection to ExecuTorch: không được hỗ trợDetection to TensorRT: không được hỗ trợDetection to OpenVINO: không đượ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ợ

RetinaNet chỉ xuất sang ONNX với kích thước batch 1. RetinaNet đổi kích thước thành đầu vào biến đổi nhưng giữ tỷ lệ khung hình, vì vậy LibreYOLO buộc dynamic=True bất kể giá trị được truyền để graph vẫn hợp lệ với nguồn có shape khác nhau. Tệp .onnx đã xuất được tải lại qua LibreYOLO() dựa trên hậu tố tệp và trả về cùng đối tượng Results.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreRetinaNetr50v2.pt")model.export(format="onnx", imgsz=800)
CLI
libreyolo export model=LibreRetinaNetr50v2.pt format=onnx imgsz=800
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("LibreRetinaNetr50v2.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)

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ố
Detection
LibreRetinaNetr50.pt800bsd-3-clause
LibreRetinaNetr50v2.pt800bsd-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
RetinaNet, 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 can be used in commercial and closed-source products with no obligation on your own application code. It asks only that you keep the copyright notice and disclaimer with any copy you redistribute, and it carries no patent grant. The two published checkpoints used for parity testing are not distributed in the LibreYOLO source tree: torchvision's own documentation notes that a pretrained model's terms may depend on its training data, so each Hugging Face mirror ships the BSD text on that implied basis and repeats the caveat rather than issuing an explicit checkpoint-specific grant.

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