SSD
SSD (Single Shot MultiBox Detector) dự đoán mọi box và điểm lớp đối tượng từ lưới default box dense trong một forward pass, không có giai đoạn region-proposal riêng. LibreYOLO cung cấp checkpoint SSD300 dựa trên VGG16 như một detector chỉ dành cho inference.
- Tác vụ
- detection
- Kích thước
- 300 at 300 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
- SSD của UNC Chapel Hill, Zoox, Google and University of Michigan, 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
SSD 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("LibreSSD300.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)libreyolo predict model=LibreSSD300.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. SSD giải mã lưới default-box với điểm theo lớp đối tượng rồi chạy non-maximum suppression, vì vậy conf, iou và max_det đều có tác dụng thực sự ở đây, khác với detector dựa trên query trong thư viện. Xem dự đoán để biết về nguồn, xử lý luồng và kết quả.
Biến thể
SSD cung cấp một checkpoint: mạng SSD300 dựa trên VGG16 ở canvas nguyên bản cố định. Họ mô hình này không có lựa chọn kích thước hoặc scale; dự đoán, xác thực và xuất đều dùng graph duy nhất đó.
Tệp trọng số là LibreSSD300.pt, tiền tố họ mô hình theo sau bởi key kích thước duy nhất "300". Lớp phía sau là LibreSSD, vì vậy cách khởi tạo trực tiếp là LibreSSD(size="300") thay vì lớp được đặt tên theo tệp.
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("LibreSSD300.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])libreyolo val model=LibreSSD300.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ợ |
SSD chỉ xuất sang ONNX; mọi định dạng khác hiện bị chặn cho họ mô hình này. Thao tác xuất luôn dùng canvas nguyên bản của checkpoint, còn graph cung cấp packed head thô của SSD thay vì đầu ra non-maximum-suppression hợp nhất, vì vậy nms=True không được chấp nhận khi xuất. Các backend riêng của LibreYOLO chạy bước giải mã và loại bỏ sau khi tải lại graph.
from libreyolo import LibreYOLO model = LibreYOLO("LibreSSD300.pt") # Chủ ý bỏ imgsz ở đây: SSD300 trace trên canvas nguyên bản của checkpoint,# mọi giá trị khác phát sinh lỗi trước khi bắt đầu xuất.model.export(format="onnx")libreyolo export model=LibreSSD300.pt format=onnxfrom libreyolo import LibreYOLO # 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("LibreSSD300.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 | ||
| LibreSSD300.pt | 300 | 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
- SSD, UNC Chapel Hill, Zoox, Google and University of Michigan
- 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 these weights can be used in commercial and closed-source products. It asks you to keep its copyright notice and disclaimer with any copy you redistribute, and it places no obligation on your own application code. The official SSD300 COCO checkpoint carries no separate, checkpoint-specific license: LibreYOLO's mirror applies BSD-3-Clause on an explicitly disclosed implied basis, the same basis torchvision states for its own pretrained SSD300 weights. The VGG16 backbone the graph is built on traces back to Oxford's fully convolutional reduced VGGNet, released under CC BY 4.0 by Karen Simonyan and Andrew Zisserman.
Mã SSD300 của LibreYOLO không được port từ bản phát hành Caffe riêng của tác giả bài báo; mã bắt nguồn từ cách triển khai SSD300 BSD-3-Clause của torchvision, cũng là repo được liên kết bên trên làm nguồn upstream. Trọng số VGG16 của backbone có nguồn xa hơn từ fully convolutional reduced VGGNet của Oxford, được Karen Simonyan và Andrew Zisserman phát hành theo CC BY 4.0.
Trích dẫn
@inproceedings{liu2016ssd,
title = {{SSD}: Single Shot MultiBox Detector},
author = {Liu, Wei and Anguelov, Dragomir and Erhan, Dumitru and Szegedy, Christian and Reed, Scott and Fu, Cheng-Yang and Berg, Alexander C.},
booktitle = {ECCV},
year = {2016}
}Được sao chép từ khối trích dẫn của tác giả tại github.com/weiliu89/caffe/tree/ssd#citing-ssd.