LibreFaceRec
LibreFaceRec adalah task embedding wajah LibreYOLO: detector wajah menemukan dan menyelaraskan wajah, lalu head pengenalan menghasilkan embedding identitas ternormalisasi L2 untuk verifikasi atau pencarian.
- Task
- embed
- Ukuran
- Instalasi
pip install libreyolo- Tier dukungan
- Hanya inferensi, sejak v. Hanya prediksi, validasi, dan ekspor. Fitur pelatihan tidak berlaku.
- Lisensi
- Kode MIT, bobot Apache-2.0. Penggunaan komersial
Instalasi
Head pengenalan LibreFaceRec berjalan melalui onnxruntime, yang tidak termasuk
dalam instalasi dasar.
pip install "libreyolo[onnx]"Prediksi
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Nama librefacerec-* diarahkan ke family ini terlepas dari akhiran berkas# dan diunduh dari organisasi LibreYOLO di Hugging Face saat pertama kali# digunakan, bersama dengan detector wajah default.model = LibreYOLO("librefacerec-l.onnx")result = model(SAMPLE_IMAGE) print(result.embeddings.data.shape) # (N, D), dinormalisasi L2libreyolo predict model=librefacerec-l.onnx source=face.jpgfrom libreyolo import LibreYOLO model = LibreYOLO("librefacerec-l.onnx") # Membandingkan wajah paling menonjol dalam setiap gambar melalui cosine# similarity embedding ternormalisasi L2.result = model.verify("person_a.jpg", "person_b.jpg", threshold=0.4)print(result["similarity"], result["same_person"])from libreyolo import LibreYOLO model = LibreYOLO("librefacerec-l.onnx") query = model("query.jpg").embeddings # wajah dalam gambar inigallery = model.embed(["a.jpg", "b.jpg", "c.jpg"]) # (N_total, D) # Cosine similarity (query_faces, N_total).scores = query.similarity(gallery)Deteksi dan pengenalan adalah dua graph ONNX terpisah di balik satu panggilan.
Detector wajah menemukan serta menyelaraskan setiap wajah ke crop kanonis, lalu
head pengenalan mengembalikan satu embedding ternormalisasi L2 per wajah. Jika
dibiarkan, predict() mengunduh dan memasangkan detector default bawaan secara
otomatis. face_detector menerima callable, model deteksi LibreYOLO, atau
instance FaceDetector. face_boxes sepenuhnya melewati deteksi dengan memakai
box yang sudah tersedia. result.embeddings memuat satu baris per wajah yang
terdeteksi dan disejajarkan dengan result.boxes. Metode .similarity()-nya
menghitung cosine similarity terhadap embedding lain atau seluruh galeri dalam
satu panggilan. Untuk membandingkan dua gambar secara langsung, bukan dua
embedding yang sudah dihitung, model.verify(image_a, image_b) menjalankan
deteksi dan embedding pada keduanya, lalu membandingkan wajah dengan confidence
tertinggi. Model pengenalan ONNX lain yang mengikuti konvensi ArcFace (crop
selaras sebagai input, embedding (N, D) sebagai output) dapat digunakan
sebagai pengganti dengan meneruskan path berkasnya alih-alih nama
librefacerec-*. Lihat prediksi untuk sumber, streaming, dan
penanganan hasil.
Ekspor
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| embed | embed to ONNX: tidak didukung | embed to TorchScript: tidak didukung | embed to ExecuTorch: tidak didukung | embed to TensorRT: tidak didukung | embed to OpenVINO: tidak didukung | embed to Paddle: tidak didukung | embed to MNN: tidak didukung | embed to RKNN: tidak didukung | embed to ncnn: tidak didukung | embed to TFLite: tidak didukung | embed to CoreML: tidak didukung | embed to Core AI: tidak didukung |
LibreFaceRec sudah membungkus graph ONNX yang telah diekspor. Ekspor ulang ke format lain belum diimplementasikan.
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
- AuraFace-v1, fal.ai
- Lisensi upstream
- Apache-2.0
- Sumber upstream
- huggingface.co/fal/AuraFace-v1
- Kode LibreYOLO
- MIT
- Bobot
- Apache-2.0, didistribusikan oleh penulisnya. LibreYOLO tidak menghosting atau mencerminkannya.
- Interpretasi
- 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 wajah default bawaan merupakan artefak kedua dengan lisensi kedua,
yaitu YuNet milik OpenCV Zoo, berlisensi MIT, hak cipta Shiqi Yu. Tidak ada kode
arsitektur yang di-port dari kedua proyek. Kedua graph digunakan secara opak
melalui onnxruntime, sehingga wrapper LibreYOLO sendiri tidak memuat kode pihak
ketiga dan seluruhnya berlisensi MIT.
Sitasi
@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}
}Disalin dari blok sitasi penulis di github.com/deepinsight/insightface/tree/master/recognition/arcface_torch#citations.