L2CS-Net
L2CS-Net là mô hình ước lượng hướng nhìn hai giai đoạn: detector khuôn mặt định vị khuôn mặt, còn trunk ResNet với hai classification head theo bin góc dự đoán pitch và yaw cho từng khuôn mặt. LibreYOLO chỉ bọc mô hình để inference.
- Tác vụ
- gaze
- Kích thước
- r18, r34, r50, r101, r152 at 448 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
- L2CS-Net của Ahmed A. Abdelrahman et al., Gaze360 dataset terms: research and non-commercial use only, no redistribution. Bài báo, mã nguồn
- Giấy phép
- Mã nguồn MIT, trọng số Gaze360 dataset terms: research and non-commercial use only, no redistribution. Sử dụng thương mại
Cài đặt
L2CS-Net không cần extra để khởi tạo, dự đoán hoặc xuất mô hình mà bạn đã có checkpoint.
pip install libreyoloCheckpoint duy nhất LibreYOLO có thể tự động tìm nạp là ResNet-50 được huấn luyện trên Gaze360, được tải qua gdown thay vì mirror HTTP thuần túy vì nằm trên Google Drive của tác giả thay vì tổ chức LibreYOLO. Tuyến đó cần extra gaze:
pip install "libreyolo[gaze]"Khi không có extra này, LibreYOLO in hướng dẫn tải thủ công thay vì âm thầm thất bại.
Dự đoán
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Khi không cung cấp face_detector: dùng detector khuôn mặt đi kèm# OpenCV (Haar trên OpenCV 4, YuNet trên OpenCV 5), vì vậy không cần# tải thêm gì ngoài chính checkpoint L2CS.model = LibreYOLO("LibreL2CSr50.pt")result = model(SAMPLE_IMAGE) print(result.gaze.pitch, result.gaze.yaw)libreyolo predict model=LibreL2CSr50.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreL2CSr50.pt") # Đưa cho L2CS các box từ detector bạn đã chạy.result = model(SAMPLE_IMAGE, face_boxes=[[34, 12, 90, 80]]) # Hoặc chỉ định một detector khuôn mặt đi kèm.result = model(SAMPLE_IMAGE, face_detector="yunet")L2CS-Net là mô hình ước lượng hai giai đoạn: detector khuôn mặt chạy trước, rồi gaze head đọc pitch và yaw từ từng crop khuôn mặt trả về. Khi giữ nguyên thiết lập, dự đoán dùng detector đi kèm OpenCV, vì vậy lệnh gọi thuần túy hoạt động mà không cần tải thêm sau khi đã có checkpoint L2CS. face_boxes nhận box từ detector bạn đã chạy; face_detector nhận "auto", "haar", "yunet", mô hình phát hiện LibreYOLO hoặc callable thuần túy. result.gaze chứa pitch và yaw theo radian, được căn theo từng hàng với result.boxes, tức các box khuôn mặt đã phát hiện. Xem dự đoán để biết về nguồn, xử lý luồng và kết quả.
Biến thể
Năm độ sâu backbone dùng chung một độ phân giải đầu vào và nhận cùng đối số. Gaze360, tập dữ liệu (dataset) đứng sau checkpoint duy nhất đã phát hành, đã huấn luyện ResNet-50; bốn độ sâu còn lại được hỗ trợ về kiến trúc nhưng không có trọng số đã phát hành để tải.
Xuất
| Tác vụ | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gaze | gaze to ONNX: được hỗ trợ | gaze to TorchScript: được hỗ trợ | gaze to ExecuTorch: được hỗ trợ | gaze to TensorRT: được hỗ trợ | gaze to OpenVINO: được hỗ trợ | gaze to Paddle: không được hỗ trợ | gaze to MNN: không được hỗ trợ | gaze to RKNN: không được hỗ trợ | gaze to ncnn: không được hỗ trợ | gaze to TFLite: không được hỗ trợ | gaze to CoreML: không được hỗ trợ | gaze to Core AI: không được hỗ trợ |
from libreyolo import LibreYOLO model = LibreYOLO("LibreL2CSr50.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibreL2CSr50.pt format=onnximport numpy as npimport onnxruntime as ort # Graph đã xuất chỉ gồm trunk ResNet và hai angle-bin head: nhận crop# khuôn mặt 448x448 đã tiền xử lý và trả về (yaw_logits, pitch_logits)# thô, không phải góc đã giải mã. Softmax, kỳ vọng bin và phép chuyển đổi# sang độ vẫn ở Python; xem libreyolo.models.l2cs.utils.bin_logits_to_angles.session = ort.InferenceSession("LibreL2CSr50.onnx")name = session.get_inputs()[0].nameyaw_logits, pitch_logits = session.run( None, {name: np.zeros((1, 3, 448, 448), dtype=np.float32)})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
- L2CS-Net, Ahmed A. Abdelrahman et al.
- Giấy phép thượng nguồn
- Gaze360 dataset terms: research and non-commercial use only, no redistribution
- Nguồn thượng nguồn
- github.com/Ahmednull/L2CS-Net
- Mã nguồn LibreYOLO
- MIT
- Trọng số
- Gaze360 dataset terms: research and non-commercial use only, no redistribution, 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
- The L2CS-Net source is MIT and may be used, modified and redistributed, including commercially. The one checkpoint LibreYOLO can fetch automatically, a ResNet-50 trained on Gaze360, is not covered by that grant: the Gaze360 dataset license restricts use of models trained on it to research and non-commercial purposes and forbids redistribution. LibreYOLO does not mirror or host that checkpoint. It downloads it, on request, directly from the author's own distribution and prints the Gaze360 terms once before the transfer starts. A model trained on data you hold the rights to, using this MIT architecture, carries none of those restrictions.
LibreYOLO không host hoặc mirror checkpoint L2CS nào: không có nội dung nào cho họ mô hình này trong tổ chức LibreYOLO trên Hugging Face, khác với hầu hết họ khác trên trang. Checkpoint duy nhất thư viện có thể tự động tìm nạp đến thẳng từ bản phân phối Google Drive của tác giả, được kiểm soát bằng thông báo giấy phép Gaze360 in trước khi bắt đầu truyền, và không phải bản sao "được phát hành lại tại huggingface.co/LibreYOLO" như phần tóm tắt bên trên ngụ ý.