L2CS-Net
L2CS-Net adalah estimator arah pandang dua tahap: detector wajah menemukan wajah, lalu trunk ResNet dengan dua head klasifikasi bin sudut memprediksi pitch dan yaw per wajah. LibreYOLO membungkusnya hanya untuk inferensi.
- Task
- gaze
- Ukuran
- r18, r34, r50, r101, r152 at 448 px
- Instalasi
pip install libreyolo- Tier dukungan
- Hanya inferensi, sejak v. Hanya prediksi, validasi, dan ekspor. Fitur pelatihan tidak berlaku.
- Proyek upstream
- L2CS-Net oleh Ahmed A. Abdelrahman et al., Gaze360 dataset terms: research and non-commercial use only, no redistribution. Makalah, sumber
- Lisensi
- Kode MIT, bobot Gaze360 dataset terms: research and non-commercial use only, no redistribution. Penggunaan komersial
Instalasi
L2CS-Net tidak memerlukan extra untuk membuat, menjalankan prediksi, atau mengekspor model yang checkpoint-nya sudah tersedia.
pip install libreyoloSatu checkpoint yang dapat diambil LibreYOLO secara otomatis, yaitu ResNet-50
yang dilatih pada Gaze360, diunduh melalui gdown, bukan cermin HTTP biasa,
karena berada di Google Drive milik penulis dan bukan organisasi LibreYOLO.
Jalur tersebut memerlukan extra gaze:
pip install "libreyolo[gaze]"Tanpa extra itu, LibreYOLO mencetak petunjuk unduhan manual alih-alih gagal secara diam-diam.
Prediksi
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Tidak ada face_detector yang diberikan: gunakan detector wajah bawaan OpenCV# (Haar pada OpenCV 4, YuNet pada OpenCV 5), sehingga kode ini berjalan tanpa# unduhan tambahan selain checkpoint L2CS itu sendiri.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") # Berikan L2CS box dari detector yang sudah dijalankan.result = model(SAMPLE_IMAGE, face_boxes=[[34, 12, 90, 80]]) # Atau sebutkan detector wajah bawaan tertentu.result = model(SAMPLE_IMAGE, face_detector="yunet")L2CS-Net adalah estimator dua tahap. Detector wajah berjalan lebih dulu, lalu
head arah pandang membaca pitch dan yaw dari setiap crop wajah yang
dihasilkannya. Jika dibiarkan, prediksi menggunakan detector bawaan OpenCV,
sehingga panggilan polos dapat berjalan tanpa unduhan tambahan setelah
checkpoint L2CS tersedia. face_boxes menerima box dari detector yang sudah
dijalankan. face_detector menerima "auto", "haar", "yunet", model
deteksi LibreYOLO, atau callable biasa. result.gaze memuat pitch dan yaw dalam
radian, yang diselaraskan baris demi baris dengan result.boxes, yaitu box wajah
yang terdeteksi. Lihat prediksi untuk sumber, streaming, dan
penanganan hasil.
Varian
Lima kedalaman backbone memakai satu resolusi input dan menerima argumen yang sama. Gaze360, dataset di balik satu-satunya checkpoint yang dipublikasikan, melatih ResNet-50. Empat kedalaman lainnya didukung secara arsitektural, tetapi tidak memiliki bobot terpublikasi untuk dimuat.
Ekspor
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gaze | gaze to ONNX: didukung | gaze to TorchScript: didukung | gaze to ExecuTorch: didukung | gaze to TensorRT: didukung | gaze to OpenVINO: didukung | gaze to Paddle: tidak didukung | gaze to MNN: tidak didukung | gaze to RKNN: tidak didukung | gaze to ncnn: tidak didukung | gaze to TFLite: tidak didukung | gaze to CoreML: tidak didukung | gaze to Core AI: tidak didukung |
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 hasil ekspor hanya berisi trunk ResNet dan dua head bin sudut:# menerima crop wajah 448x448 yang telah diproses dan mengembalikan# (yaw_logits, pitch_logits) mentah, bukan sudut yang sudah didekode. Softmax,# ekspektasi bin, dan konversi derajat tetap dalam Python. Lihat# 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)})Lisensi
Periksa lisensi di repositori Hugging Face untuk bobot tertentu yang diunduh. Setiap checkpoint di organisasi LibreYOLO memiliki lisensi, dan lisensinya tidak selalu sama dalam satu family. Repositori tersebut adalah sumber resmi. Ringkasan di bawah menjelaskan ketentuan yang berlaku saat halaman ini terakhir diverifikasi.
Ini adalah deskripsi lisensi yang terlibat, bukan nasihat hukum. Jika jawabannya penting secara komersial, baca sendiri lisensinya dan mintalah nasihat dari penasihat hukum Anda.
- Karya asli
- L2CS-Net, Ahmed A. Abdelrahman et al.
- Lisensi upstream
- Gaze360 dataset terms: research and non-commercial use only, no redistribution
- Sumber upstream
- github.com/Ahmednull/L2CS-Net
- Kode LibreYOLO
- MIT
- Bobot
- Gaze360 dataset terms: research and non-commercial use only, no redistribution, didistribusikan oleh penulisnya. LibreYOLO tidak menghosting atau mencerminkannya.
- Interpretasi
- 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 tidak menghosting atau mencerminkan checkpoint L2CS apa pun. Tidak ada artefak family ini dalam organisasi Hugging Face LibreYOLO, tidak seperti sebagian besar family lain di situs ini. Satu checkpoint yang dapat diambil library secara otomatis berasal langsung dari distribusi Google Drive milik penulis, dibatasi oleh pemberitahuan lisensi Gaze360 yang dicetak sebelum transfer dimulai. Checkpoint ini bukan salinan "dipublikasikan ulang di huggingface.co/LibreYOLO" seperti yang tersirat dalam ringkasan di atas.