Deteccion de vida y Comparar
API para comparar selfies y realizar una detección de vida en la selfie de 'probe'.
Este servicio te ayuda a comparar una única selfie (llamada "probe") con una colección de selfies (llamada "gallery") para verificar identidades y realizar una detección de vida en la imagen de probe. Es ideal para controlar el acceso a tu aplicación o completar verificaciones de Know Your Customer (KYC) de manera segura.
¡Vamos a desglosarlo paso a paso!
Endpoint
Qué Hace Esta API Esta API realiza dos tareas clave:
Comparación Facial (1 a muchos): Verifica si el rostro en tu selfie de probe coincide con algún rostro en la galería de selfies.
Detección de Vida: Asegura que la selfie de probe pertenece a una persona viva (no una foto o video) para prevenir fraudes.
Al utilizar esta API, puedes permitir o denegar el acceso a tu aplicación con confianza, basándote en si la selfie coincide y si proviene de una persona viva.
Cómo Funciona
Envías una selfie (probe) y una galería de selfies a la API.
La API compara el rostro de probe con cada rostro en la galería (comparación 1 a muchos).
También verifica si la selfie de probe muestra a una persona viva mediante detección de vida.
Recibes un resultado con puntajes, lo que te permite decidir si hay una coincidencia y si la persona está viva.
Ideal para:
Control de Acceso a Apps: Permite solo a usuarios verificados y vivos ingresar a tu aplicación.
KYC (Know Your Customer): Verifica identidades de usuarios para cumplir con regulaciones y mejorar la seguridad.
Mejores Prácticas
Seguridad: Mantén tu token de API seguro y usa HTTPS.
Calidad de Imagen: Usa selfies claras y bien iluminadas para obtener mejores resultados.
Pruebas: Realiza pruebas con diferentes dispositivos (iOS, Android) y tamaños de galería.
Umbrales: Comienza con los valores predeterminados de min_score, luego ajusta según falsos positivos/negativos.
Ejemplos
Solución de Problemas
¿Sin coincidencia?
Verifica la calidad de la imagen o intenta con el modo ACCURATE.
Asegúrate de que la galería contenga los rostros correctos.
¿Falla la detección de vida?
Asegúrate de que la selfie de probe sea una imagen en vivo (no una foto impresa).
Aumenta el valor de liveness_min_score si demasiadas verificaciones de vida fallan.
¿Errores?
Verifica tu token y la codificación en base64.
Lo que necesitas
Una selfie para comparar (probe)
Un conjunto de selfies para comparar (gallery).
Un token de API (obtenlo desde el dashboard de Verifik o desde las APIs de Autenticación)
¿Listo para integrar?
Sigue el ejemplo de código, prueba con tus selfies y ajusta los valores de puntaje para adaptarlos a las necesidades de tu aplicación.
Encabezados (Headers)
Content-Type
application/json
Authorization
Bearer <token>
Body
os
string
OS from where you are doing the operation. [DESKTOP, IOS, ANDROID]
probe
string
Face encoded in base64
gallery
Array
Array of images to compare with the face inside probe.
search_mode
string
search mode, it could be FAST, ACCURATE.
compare_min_score
number
Percentage for the minimum comparison between gallery and probe. (liveness will not be tested if the score is less than the minimum) [min 0.67 - max 0.95]
liveness_min_score
number
Percentage for the minimum value of the liveness test [ min 0.52 - max 1]
Ejemplo de Body
probe: La selfie única que deseas verificar. gallery: Una lista de selfies para comparar (puede incluir múltiples imágenes). compare_min_score: Define cuán similares deben ser los rostros (valor más alto = más estricto = mejor). liveness_min_score: Define el nivel de certeza de que la persona está viva (valor más alto = más estricto = más seguro).
Response
Estructura de la Respuesta
Comparación
client (String): Identificador único del cliente que realiza la solicitud de comparación.
type (String): Describe el tipo de comparación. En este caso, es compareLive para comparación de imágenes en vivo.
search_mode (String): Especifica el modo de búsqueda utilizado. Las opciones incluyen ACCURATE para comparaciones precisas.
status (String): Indica el éxito o el fallo de la solicitud de comparación. Valor esperado: success.
result (Object): Contiene los resultados de la comparación:
score (Number): Puntaje de la comparación. Un valor de 1 indica una coincidencia perfecta.
comparedAt (DateTime): Marca de tiempo de cuándo se realizó la comparación.
updatedAt (DateTime): Marca de tiempo de la última actualización.
createdAt (DateTime): Marca de tiempo de la creación de este registro.
Sección de Detección de Vida (Liveness)
client (String): Identificador único del cliente que realiza la solicitud de verificación de vida.
type (String): Especifica el tipo de prueba. En este caso, es liveness.
status (String): Indica el éxito o el fallo de la verificación de vida. Valor esperado: success.
search_mode (String): Modo de búsqueda utilizado para la detección de vida. En este caso, se usa el modo FAST.
os (String): Sistema operativo utilizado durante la verificación, por ejemplo, DESKTOP.
liveness_min_score (Number): Puntaje mínimo necesario para aprobar la verificación de vida. En este caso, el umbral es 0.6.
result (Object): Resultado de la verificación de vida:
liveness_score (Number): Puntaje obtenido en la prueba de detección de vida. Se logró un puntaje de 0.77.
passed (Boolean): Indica si la prueba de detección de vida fue aprobada. En este caso, true indica éxito.
min_score (Number): Puntaje mínimo necesario para aprobar. Para esta prueba, es 0.6.
updatedAt (DateTime): Marca de tiempo de la última actualización.
createdAt (DateTime): Marca de tiempo de la creación de este registro.
Last updated