Faster R-CNN
Faster R-CNN phát hiện đối tượng bằng mạng đề xuất vùng đưa vào bộ phân loại hai giai đoạn, kiến trúc đã biến region proposal thành một phần của cùng mạng được huấn luyện thay vì bước riêng. LibreYOLO port cách triển khai torchvision cho tác vụ phát hiện.
- Tác vụ
- detection
- Kích thước
- n, s, m, l at 320 to 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.
- 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
Faster R-CNN 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ộ.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreFasterRCNNl.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)libreyolo predict model=LibreFasterRCNNl.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. conf và iou thiết lập các ngưỡng độ tin cậy và NMS; Faster R-CNN giữ bước NMS upstream, khác với detector dựa trên query. Xem dự đoán để biết về nguồn, xử lý luồng và kết quả.
Biến thể
Có bốn kích thước, mỗi kích thước là một cấu hình torchvision khác nhau thay vì phiên bản được scale của cùng một cấu hình: n là MobileNetV3-Large ở đầu vào 320 px, s là cùng backbone ở 800 px, m là ResNet-50 với feature pyramid, còn l là bản sửa đổi v2 với region proposal head sâu hơn và box head bốn phép tích chập thay cho head của m. n và s đánh đổi độ chính xác để có backbone nhẹ hơn.
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.
from libreyolo import LibreYOLO model = LibreYOLO("LibreFasterRCNNl.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])libreyolo val model=LibreFasterRCNNl.pt data=my-dataset.yamlXuất
| 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: 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ợ |
Faster R-CNN chỉ xuất sang ONNX với kích thước batch 1. Graph đã xuất giữ bước đổi kích thước upstream bên trong, 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 không vuông. 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.
from libreyolo import LibreYOLO model = LibreYOLO("LibreFasterRCNNl.pt")model.export(format="onnx", imgsz=800)libreyolo export model=LibreFasterRCNNl.pt format=onnx imgsz=800from 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("LibreFasterRCNNl.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 | ||
| LibreFasterRCNNn.pt | 320 | bsd-3-clause |
| LibreFasterRCNNs.pt | 800 | bsd-3-clause |
| LibreFasterRCNNm.pt | 800 | bsd-3-clause |
| LibreFasterRCNNl.pt | 800 | bsd-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
- Faster R-CNN, 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 four 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.
Trích dẫn
@inproceedings{renNIPS15fasterrcnn,
Author = {Shaoqing Ren and Kaiming He and Ross Girshick and Jian Sun},
Title = {Faster {R-CNN}: Towards Real-Time Object Detection
with Region Proposal Networks},
Booktitle = {Advances in Neural Information Processing Systems ({NIPS})},
Year = {2015}
}Được sao chép từ khối trích dẫn của tác giả tại github.com/rbgirshick/py-faster-rcnn#citing-faster-r-cnn.