LibreFaceRec

LibreFaceRec là tác vụ embedding khuôn mặt của LibreYOLO: detector khuôn mặt định vị và căn chỉnh khuôn mặt, còn recognition head tạo embedding danh tính được chuẩn hóa L2 để xác minh hoặc tìm kiếm.

Tác vụ
embed
Kích thước
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
AuraFace-v1 của fal.ai, Apache-2.0. Bài báo, mã nguồn
Giấy phép
Mã nguồn MIT, trọng số Apache-2.0. Sử dụng thương mại

Cài đặt

Recognition head của LibreFaceRec chạy qua onnxruntime, package này không thuộc bản cài đặt cơ sở.

bash
pip install "libreyolo[onnx]"

Dự đoán

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Tên librefacerec-* định tuyến đến họ này bất kể hậu tố tệp và tải# từ tổ chức LibreYOLO trên Hugging Face trong lần sử dụng đầu tiên,# cùng với detector khuôn mặt mặc định.model = LibreYOLO("librefacerec-l.onnx")result = model(SAMPLE_IMAGE) print(result.embeddings.data.shape)   # (N, D), được chuẩn hóa L2
CLI
libreyolo predict model=librefacerec-l.onnx source=face.jpg
Xác minh
from libreyolo import LibreYOLO model = LibreYOLO("librefacerec-l.onnx") # So sánh khuôn mặt nổi bật nhất trong mỗi ảnh bằng độ tương đồng# cosine của các embedding được chuẩn hóa L2.result = model.verify("person_a.jpg", "person_b.jpg", threshold=0.4)print(result["similarity"], result["same_person"])
Tìm kiếm trong gallery
from libreyolo import LibreYOLO model = LibreYOLO("librefacerec-l.onnx") query = model("query.jpg").embeddings          # các khuôn mặt trong ảnh nàygallery = model.embed(["a.jpg", "b.jpg", "c.jpg"])   # (N_total, D) # Độ tương đồng cosine (query_faces, N_total).scores = query.similarity(gallery)

Phát hiện và nhận dạng là hai graph ONNX riêng biệt phía sau một lệnh gọi: detector khuôn mặt định vị rồi căn chỉnh từng khuôn mặt thành crop chuẩn, còn recognition head trả về một embedding được chuẩn hóa L2 cho mỗi khuôn mặt. Khi giữ nguyên thiết lập, predict() tự động tải và ghép detector mặc định đi kèm. face_detector nhận callable, mô hình phát hiện LibreYOLO hoặc thực thể FaceDetector; face_boxes bỏ qua hoàn toàn phát hiện bằng các box bạn đã có. result.embeddings chứa một hàng cho mỗi khuôn mặt đã phát hiện, căn với result.boxes; phương thức .similarity() tính độ tương đồng cosine với embedding khác hoặc toàn bộ gallery trong một lệnh gọi. Để so sánh trực tiếp hai ảnh thay vì hai embedding đã tính, model.verify(image_a, image_b) chạy phát hiện và embedding trên cả hai rồi so sánh khuôn mặt có độ tin cậy cao nhất. Có thể thay thế bằng mọi mô hình nhận dạng ONNX theo quy ước ArcFace khác (crop đã căn chỉnh ở đầu vào, embedding (N, D) ở đầu ra) bằng cách truyền đường dẫn tệp thay cho tên librefacerec-*. Xem dự đoán để biết về nguồn, xử lý luồng và kết quả.

Xuất

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

LibreFaceRec đã bọc graph ONNX được xuất sẵn; việc xuất lại sang định dạng khác chưa được triển khai.

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
AuraFace-v1, fal.ai
Giấy phép thượng nguồn
Apache-2.0
Nguồn thượng nguồn
huggingface.co/fal/AuraFace-v1
Mã nguồn LibreYOLO
MIT
Trọng số
Apache-2.0, do tác giả phân phối. LibreYOLO không lưu trữ hoặc sao chép chúng.
Diễn giải
Apache-2.0 covers the embedding weights (AuraFace-v1's glintr100 recognition head), so they may be used, modified and redistributed, including commercially, provided the license text and attribution notices travel with any copy. LibreYOLO's default face detector is a separate artifact under a separate license, MIT (OpenCV Zoo's YuNet, copyright Shiqi Yu). No code is ported from either project: both graphs are consumed opaquely through onnxruntime, so LibreYOLO's own wrapper code, which carries no third-party architecture, is MIT throughout. Any other ArcFace-convention ONNX recognition model can be substituted by passing its file path, and that file's own license then applies instead of AuraFace-v1's.

Detector khuôn mặt mặc định đi kèm là artifact thứ hai theo giấy phép thứ hai: YuNet của OpenCV Zoo, MIT, bản quyền Shiqi Yu. Không có mã kiến trúc nào được port từ cả hai dự án; cả hai graph được sử dụng như hộp đen qua onnxruntime, vì vậy wrapper riêng của LibreYOLO không chứa mã bên thứ ba và hoàn toàn dùng MIT.

Trích dẫn

@inproceedings{deng2019arcface,
  title={Arcface: Additive angular margin loss for deep face recognition},
  author={Deng, Jiankang and Guo, Jia and Xue, Niannan and Zafeiriou, Stefanos},
  booktitle={CVPR},
  year={2019}
}

Được sao chép từ khối trích dẫn của tác giả tại github.com/deepinsight/insightface/tree/master/recognition/arcface_torch#citations.

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