LibreFaceRec
LibreFaceRec es la tarea de embeddings faciales de LibreYOLO: un detector de caras localiza y alinea las caras, y una cabeza de reconocimiento produce un embedding de identidad normalizado con L2 para verificación o búsqueda.
- Tareas
- embed
- Tamaños
- Instalación
pip install libreyolo- Nivel de compatibilidad
- Solo inferencia, desde v. Solo permite predecir, validar y exportar. Las funciones de entrenamiento no se aplican.
- Licencias
- Código MIT, pesos Apache-2.0. Uso comercial
Instalación
La cabeza de reconocimiento de LibreFaceRec funciona a través de
onnxruntime, que no forma parte de la instalación base.
pip install "libreyolo[onnx]"Predicción
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Los nombres librefacerec-* dirigen a esta familia sin importar el# sufijo del archivo y se descargan de la organización de LibreYOLO en# Hugging Face en el primer uso, junto con el detector de caras por defecto.model = LibreYOLO("librefacerec-l.onnx")result = model(SAMPLE_IMAGE) print(result.embeddings.data.shape) # (N, D), normalizado con L2libreyolo predict model=librefacerec-l.onnx source=face.jpgfrom libreyolo import LibreYOLO model = LibreYOLO("librefacerec-l.onnx") # Compara la cara más prominente de cada imagen mediante la similitud# coseno de sus embeddings normalizados con 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 # las caras de esta imagengallery = model.embed(["a.jpg", "b.jpg", "c.jpg"]) # (N_total, D) # Similitudes coseno (query_faces, N_total).scores = query.similarity(gallery)La detección y el reconocimiento son dos grafos ONNX distintos detrás de una
sola llamada: un detector de caras localiza y alinea cada cara a un recorte
canónico, y la cabeza de reconocimiento devuelve un embedding normalizado con
L2 por cara. Si no se toca nada, predict() descarga y empareja
automáticamente el detector por defecto incluido. face_detector acepta un
callable, un modelo de detección de LibreYOLO o una instancia de
FaceDetector; face_boxes se salta la detección por completo con bounding
boxes que ya tengas. result.embeddings contiene una fila por cara detectada,
alineada con result.boxes; su método .similarity() calcula la similitud
coseno frente a otro embedding o a toda una galería en una sola llamada. Para
comparar dos imágenes directamente en lugar de dos embeddings ya calculados,
model.verify(image_a, image_b) ejecuta la detección y el embedding en ambas
y compara su cara con más confianza. Se puede sustituir por cualquier otro
modelo de reconocimiento ONNX que siga la convención de ArcFace (entra un
recorte alineado, salen embeddings (N, D)) pasando la ruta de su archivo en
lugar de un nombre librefacerec-*. Consulta
predicción para fuentes, streaming y manejo de resultados.
Exportación
| Tarea | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| embed | embed to ONNX: no compatible | embed to TorchScript: no compatible | embed to ExecuTorch: no compatible | embed to TensorRT: no compatible | embed to OpenVINO: no compatible | embed to Paddle: no compatible | embed to MNN: no compatible | embed to RKNN: no compatible | embed to ncnn: no compatible | embed to TFLite: no compatible | embed to CoreML: no compatible | embed to Core AI: no compatible |
LibreFaceRec ya envuelve un grafo ONNX preexportado; volver a exportarlo a otro formato no está implementado.
Licencia
Comprueba la licencia en el repositorio de Hugging Face de los pesos concretos que descargues. Cada checkpoint de la organización de LibreYOLO incluye una, y no siempre es la misma en toda una familia. Ese repositorio es la fuente autorizada; el resumen siguiente describe qué se aplicaba cuando se verificó esta página por última vez.
Esta es una descripción de las licencias implicadas, no asesoramiento legal. Si la respuesta es importante a nivel comercial, lee las licencias y busca tu propio asesoramiento.
- Trabajo original
- AuraFace-v1, fal.ai
- Licencia del proyecto original
- Apache-2.0
- Fuente del proyecto original
- huggingface.co/fal/AuraFace-v1
- Código de LibreYOLO
- MIT
- Pesos
- Apache-2.0, distribuidos por sus autores. LibreYOLO no los aloja ni los replica.
- Interpretación
- 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.
El detector de caras por defecto incluido es un segundo artefacto bajo una
segunda licencia: YuNet, de OpenCV Zoo, MIT, copyright Shiqi Yu. No se ha
portado código de arquitectura de ninguno de los dos proyectos; ambos grafos se
consumen de forma opaca a través de onnxruntime, así que el propio wrapper de
LibreYOLO no contiene código de terceros y es MIT de principio a fin.
Cita
@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}
}Copiado del bloque de cita de los autores en github.com/deepinsight/insightface/tree/master/recognition/arcface_torch#citations.