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.
Proyek upstream
AuraFace-v1 oleh fal.ai, Apache-2.0. Makalah, sumber
Lisensi
Kode MIT, bobot Apache-2.0. Penggunaan komersial

Instalasi

Head pengenalan LibreFaceRec berjalan melalui onnxruntime, yang tidak termasuk dalam instalasi dasar.

bash
pip install "libreyolo[onnx]"

Prediksi

Python
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 L2
CLI
libreyolo predict model=librefacerec-l.onnx source=face.jpg
Verifikasi
from 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"])
Pencarian galeri
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

TaskONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
embedembed to ONNX: tidak didukungembed to TorchScript: tidak didukungembed to ExecuTorch: tidak didukungembed to TensorRT: tidak didukungembed to OpenVINO: tidak didukungembed to Paddle: tidak didukungembed to MNN: tidak didukungembed to RKNN: tidak didukungembed to ncnn: tidak didukungembed to TFLite: tidak didukungembed to CoreML: tidak didukungembed 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
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.

Diverifikasi dengan LibreYOLO v1.5.0. Tabel dukungan, checkpoint, dan angka benchmark di halaman ini dihasilkan dari library yang telah dirilis dan bobot yang dipublikasikan, bukan ditulis manual.