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.

bash
pip install libreyolo

Checkpoint 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:

bash
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

Python
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)
CLI
libreyolo predict model=LibreL2CSr50.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True
Nguồn khuôn mặt
from 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ụONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
gazegaze 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ợ

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreL2CSr50.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreL2CSr50.pt format=onnx
Dùng tệp đã xuất
import 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ụ ý.

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