Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Oz Forensics Liveness y Face Biometric System permite verificar los documentos digitales y las fotografías, como también proporcionar identificación biométrica y funciones de ciberseguridad.
La sistema incluye varios módulos que pueden instalares juntos o como soluciones independientes, en función de las necesidades de la empresa. Proporcionan un análisis exhaustivo de escaneos/fotos digitales de pasaportes, tarjetas de identidad, permisos de conducir, certificados, etc. y comparan las imágenes recuperadas de un secuencia de fotos/videos con las fotos de los documentos de identidad/bases de datos existentes, gracias el uso de la biometría facial. Además, permiten recuperar el texto de las copias digitales de los pasaportes y verificar su autenticidad.
Confirmación de que el video incluye el rostro de una persona viva real (análisis QUALITY).
Identificación biométrica mediante una foto/video (análisis BIOMETRY).
Verificación de autenticidad de documentos digitales (análisis DOCUMENTS).
Integración web de OZ Liveness.
Integración móvil de OZ Liveness.
El sistema de identificación biométrica incluye los siguientes componentes:
Servidores de Oz Forensics, que incluyen:
Módulo Oz Liveness para descubrir signos de ataques de presentación (para verificar que una persona viva -y no su imagen- está presente en un video)
Módulo Oz Biometry para realizar la identificación biométrica de una persona mediante sus fotos y videos
Módulo Oz Text para realizar el reconocimiento y la verificación de documentos digitales
Módulo Oz API para sustentar la interacción entre los módulos del sistema
Oz Liveness WEB Plugin para tomar videos y mostrar los resultados de la verificación
Lado del servidor de Oz Liveness WEB Adapter para sustentar la interacción entre el complemento WEB de Oz Liveness y los servidores de OZ Forensics
Módulo OZ Mobile SDK for IOS/Android para grabar videos a través de aplicaciones móviles integradas
Descripción de Liveness pasivo y activo.
El análisis de Liveness tiene como objetivo determinar si una persona en un video es una persona real o no. Para la mayoría de los propósitos, basta con grabar y analizar un video, pero en algunos casos, es posible que necesite que su cliente confirme con una acción que está actuando de buena fe y que entiende lo que está haciendo. Esto puede hacerse realizando un determinado gesto que pueda ser reconocido por el algoritmo Liveness. Por lo tanto, hay dos tipos de pruebas de Liveness: pasivas y activas.
Lo único que tiene que hacer su cliente es mirar a la cámara, no se requiere ningún movimiento adicional. Use la Liveness pasiva para que la comprobación sea rápida y sencilla para su cliente. Los gestos de Liveness pasiva son:
sola toma
selfie
escaneo
En este caso, su cliente necesita confirmar sus acciones mediante uno de los movimientos predefinidos. Es útil, entre otras cosas, para reconocer un transacción bancaria o firmar un acuerdo a distancia. El gesto del cliente garantiza que sabe que está haciendo y está de acuerdo con sus condiciones. Puede elegir un gesto de confirmación de esta lista:
sonreir
subir la cabeza
bajar la cabeza
cerrar los ojos
girar la cabeza hacia la izquierda
girar la cabeza hacia la derecha
combo
Oz Forensics es especialista en biometría: desarrollamos productos que le ayudan a identificar a sus clientes a distancia y a evitar cualquier tipo de ataque de suplantación o deepfake.
Con nosotros, puede:
reconocer a una persona viva,
obtener una confirmación de que esta persona no está inconsciente y actúa de buena fe,
escanear sus documentos y
compararlos con el rostro de la persona para comprobar si es quién dice ser.
En 2020, quedamos en segundo lugar en el desafío de biometría del MIT: Labeled Faces of the Wild, con un 99,87% de precisión. Desde entonces, hemos mejorado mucho.
La solución Oz Forensics incluye tres componentes principales.
Oz Liveness, que se encarga de reconocer a una persona viva en un video que recibe. Oz Liveness puede distinguir a un humano real de su foto, video, máscara u otros tipos de ataques de suplantación y deepfake. El algoritmo está certificado mediante la norma ISO-30137-3 por el laboratorio de pruebas biométricas iBeta, acreditado por el NIST, con una precisión del 100%.
La biometría de Oz identifica a la persona verificando que la persona que realiza la prueba y el propietario de los papeles son la misma persona. Oz Biometry examina el video, encuentra la mejor toma en la que se ve claramente a la persona y la compara con la foto del DNI u otro documento. La precisión del algoritmo es del 99,99%, confirmada por NIST FRVT.
Oz Text es para el reconocimiento de documentos. El componente escanea los documentos y envía los datos recibidos al componente Oz Biometry como un conjunto de atributos.
Una solución ligera para la identificación facial biométrica y la autenticación de presencia mediante Liveness.
Esta arquitectura es útil cuando:
los requisitos de rendimiento máximo son elevados, desde docenas de peticiones por segundo.
basta con realizar las comprobaciones básicas de vida y la comparación de rostros; no es necesario el puesto de trabajo del operador, ni guardar las órdenes, ni las estadísticas, ni la telemetría, ni otras funciones.
La solución incluye los siguientes módulos para alcanzar los objetivos funcionales y el rendimiento deseados:
SDK: SDK para iOS/Android que proporcionan la interfaz de usuario y la lógica para capturar la mejor foto de liveness en los smartphones de los usuarios.
Servidor Liveness: un contenedor docker con el servicio REST API para la detección de ataques de presentación. El rendimiento deseado puede lograrse mediante el balance de carga entre el número adecuado de estos contenedores.
En comparación con la arquitectura típica, la propuesta está optimizada para la simplicidad y el rendimiento:
Sólo un componente a agrupar
No es necesario el almacenamiento de datos: mayor nivel de seguridad de la información
Arquitectura más sencilla: plazos de proyecto más cortos
Menos tráfico (una imagen en vez de un video)
El sistema Oz Forensics es compatible con la mayoría de los sistemas operativos y dispositivos móviles modernos. Además, se puede proporcionar como contenedores Docker. Compruebe la matriz de compatibilidad que aparece a continuación.
*Para el Oz Liveness Web Plugin, por favor, compruebe la compatibilidad de la versión del navegador en la sección correspondiente.
Descripción de los objetos que puede encontrar en el sistema de Oz Forensics.
Los objetos del sistema en los productos de Oz Forensics tiene la estructura jerárquica que se muestra en la siguiente imagen.
En el nivel superior, hay una Empresa. Puede utilizar una copia de Oz API para trabajar con varias empresas.
El siguiente nivel es un Usuario. Una empresa puede contener cualquier cantidad de usuarios. Hay varios roles de usuarios con diferentes permisos. Para más información, consulte Roles de usuario.
Un usuario puede crear cualquier número de carpetas. Cada carpeta puede contener cualquier cantidad de medios. Un usuario aplica análisis a uno o varios medios dentro de una carpeta.
Además de estos parámetros, cada tipo de objeto tiene otros parámetros específicos.
Parámetro
Tipo
Descripción
time_created
Timestamp
tiempo de creación del objeto (excepto usuario y empresa)
time_updated
Timestamp
tiempo de actualización del objeto (excepto usuario y empresa)
meta_data
Json
cualquier parámetro del usuario
technical_meta_data
Json
parámetros requeridos por el módulo; reservados para necesidades internas
Parámetro
Tipo
Descripción
company_id
UUID
el id. de la empresa en el sistema
name
String
el nombre de la empresa en el sistema
Parámetro
Tipo
Descripción
user_id
UUID
el id. del usuario dentro del sistema
user_type
String
first_name
String
nombre
last_name
String
apellido
middle_name
String
segundo nombre
String
email del usuario = login
password
String
contraseña del usuario (sólo se requiere para los nuevos usuarios o para cambiarla)
can_start_analyze_*
String
depende de los roles de los usuarios.
company_id
UUID
id. de la empresa del usuario actual dentro del sistema
is_admin
Boolean
si este usuario es un admin o no
is_service
Boolean
si esta cuenta de usuario es de servicio o no
Parámetro
Tipo
Descripción
folder_id
UUID
el id. de la carpeta dentro del sistema
resolution_status
ResolutionStatus
el último estado del análisis
Parámetro
Tipo
Descripción
media_id
UUID
el id. de los medios
original_name
String
the original filename (how el nombre original del archivo (cómo se llamaba el archivo en la máquina del cliente)
original_url
Url
el enlace HTTP a este archivo en el servidor de la API
tags
Array(String)
una lista de etiquetas para este archivo
Parámetro
Tipo
Descripción
analyse_id
UUID
id. del análisis
folder_id
UUID
id id. de la carpeta
type
String
el tipo de análisis (BIOMETRY\QUALITY\DOCUMENTS)
results_data
JSON
resultados del análisis
Aquí puede encontrar las descripciones de los casos de uso más comunes de Oz Forensics Liveness and Face Biometric System.
Los ajustes de configuración están contenidos en el archivo config.py
. Su ubicación depende del método de instalación:
máquina host o contenedor Docker oz-api: /opt/gateway/configs
Todos los archivos multimedia entrantes se guardan en el directorio local montado en uno de los posibles puntos finales dependiendo del método de instalación:
servidor anfitrión o contenedor Docker: /opt/gateway/static
en el caso del instalador autónomo: /var/lib/docker/volumes/api_oz-api-static-vol/_data
cualquier ruta especificada a través de la configuración
En la mayoría de los casos de integración, se puede acceder a los archivos multimedia en la web mediante enlaces directos a nombres de archivo generados aleatoriamente.
Para acceder a los medios, es necesario especificar en el archivo de configuración el nombre de su host o dirección IP externos, el puerto y el protocolo de conexión.
Descargue el archivo .JSON actual que contiene la colección Postman de Oz API:
Inicie el cliente e importe la colección actual de Oz API para Postman haciendo clic en el botón Import:
Arrastre y suelte el archivo de la colección desde su explorador de archivos a la ventana de importación:
La colección se importará y aparecerá en la interfaz de Postman con todos los métodos de interacción de Oz API:
Cada uno de los nuevos usuarios de la API obtiene un rol que define las restricciones de acceso de las conexiones directas a la API.
Cada rol se combina con las banderas is_admin
y is_service
, lo que implica restricciones adicionales.
is_service
es una bandera que marca la cuenta de usuario como cuenta de servicio a efectos de conexión automática. Esta autenticación de usuario crea un token de acceso de larga duración (5 años por defecto). El tiempo de vida del token para usos regulares es de 15 minutos por defecto (parametrizado) y, por defecto, el tiempo de vida de un token se extiende con cada solicitud (parametrizado).
ADMIN
es un administrador del sistema. Tiene acceso completo sin restricciones a todos los objetos del sistema;
OPERATOR
es un operador del sistema. Tiene acceso ilimitado a todos los objetos y permisos para cambiar el estado de los análisis;
CLIENT
es una cuenta de cliente normal. Puede cargar archivos multimedia, procesar análisis, mostrar resultados en carpetas personales, generar informes y otras funciones habituales;
is_admin
– si está establecida, el usuario obtiene acceso a los datos de otros usuarios dentro de su propia empresa;
CLIENT ADMIN
es un administrador de la empresa que puede administrar su cuenta de empresa y los usuarios dentro de ella. Además, CLIENT ADMIN
puede modificar los estados de los análisis, los veredictos de los operadores, ver los datos de todos los usuarios de su empresa, eliminar los archivos de las carpetas, las plantillas de informes con o sin archivos adjuntos, los propios informes y los análisis individuales. El rol está presente sólo en WebUI. Fuera de WebUI, CLIENT ADMIN
es reemplazado por el rol CLIENT
con la bandera is_admin
con el valor true establecido.
CLIENT OPERATOR
es similar a CLIENT ADMIN
, pero sin permisos para administrar la cuenta de la empresa y de los usuarios.
El algoritmo de detección Liveness detecta una persona viva real en un fragmento de video.
Pasos de procesamiento:
En source_media
se indica uno o varios media_id
de la respuesta anterior. Es opcional y depende de si necesita comprobar uno o varios videos cargados.
Guardar elanalyse_id
de la respuesta.
: /var/lib/docker/volumes/api_oz-api-config-vol/_data
Para probar Oz API, puede utilizar el software gratuito llamado Postman. Descargue e instale Postman Client desde esta .
can_start_analyse_biometry
– bandera adicional para restringir el acceso a los análisis (activada por defecto);
can_start_analyse_quality
– bandera adicional para restringir el acceso a los análisis (QUALITY) (activada por defecto);
.
el archivo de video en una nueva carpeta.
3. el análisis.
4. los resultados depués de unos instantes. Repita la operación hasta que los campos resolution_status
y resolution
cambien de estado a cualquier otro excepto PROCESSING
y trátelo como resultado.
El algoritmo "Best shot" tiene por objeto elegir de una grabación de video el fotograma de mayor calidad y mejor ajustado con un rostro. Este algoritmo funciona como parte del análisis de Liveness.
Nota: Best Shot requiere el uso de la etiqueta video_selfie_scan
.
Pasos de procesamiento:
Ponga el archivo de video en una nueva carpeta.
3. Inicie el análisis.
En source_media
se indica uno o varios media_id
de la respuesta anterior. Es opcional y depende de si necesita comprobar uno o varios videos cargados.
Guardar elanalyse_id
de la respuesta.
4. Comprueba los resultados depués de unos instantes. Repita la operación hasta que los campos resolution_status
y resolution
cambien de estado a cualquier otro excepto PROCESSING
y trátelo como resultado.
5. La URL de la mejor toma se establece en la respuesta results_media
-> output_images
-> original_url
.
El algoritmo biométrico le permite comparar varias fotos y evaluar el nivel de similitud de las personas representadas en ellas. Como fuente los algoritmos de medios se toman fotos, videos y documentos (con fotos).
Pasos de procesamiento:
Ponga el archivo de video en una nueva carpeta.
3. Inicie el análisis.
En source_media
se indica uno o varios media_id
de la respuesta anterior. Es opcional y depende de si necesita comprobar uno o varios videos cargados.
Guardar elanalyse_id
de la respuesta.
4. Comprueba los resultados depués de unos instantes. Repita la operación hasta que los campos resolution_status
y resolution
cambien de estado a cualquier otro excepto PROCESSING
y trátelo como resultado.
How to compare a photo or video with ones from your database.
El algoritmo de búsqueda en la lista negra está diseñado para determinar si una persona está en una base de datos de fotos precargadas. Se puede utilizar un fragmento de video o una foto como fuente de comparación.
Procedimiento:
Ponga el archivo en una nueva carpeta.
3. Inicie el análisis.
source_media
especifica el media_id
de la respuesta de la solicitud anterior. Esto es opcional y se utiliza cuando se quiere comprobar uno de los dos videos precargados en la carpeta.
Guardar elanalyse_id
de la respuesta.
4. Comprueba los resultados depués de unos instantes. Repita la operación hasta que los campos resolution_status
y resolution
cambien de estado a cualquier otro excepto PROCESSING
y trátelo como resultado.
Aquí se familiarizará con los tipos de análisis que ofrece Oz API.
Utilizando Oz API, puede realizar uno de los siguientes análisis:
biometry
quality (liveness, best shot)
documents
blacklist
El algoritmo permite comparar varios medios y comprobar si las personas que aparecen en ellos se parecen. Como fuentes, puede utilizar imágenes, videos y escaneos de documentos (con foto). Para realizar el análisis, el algoritmo necesita al menos dos medios.
Tras la comparación, el algoritmo proporciona un número que representa el nivel de similitud. El número varía del 100 al 0%, donde
100%: los rostros son similares
0%: los rostros no son similares y pertenecen a diferentes personas
El algoritmo de detección de Liveness tiene como objetivo comprobar si la persona que aparece en un video es un ser humano real que actúa de buena fe, y no una falsificación.
El algoritmo "Best Shot" comprueba la mejor toma de un video (el fotograma de mejor calidad en el que mejor se vea el rostro). Es una adición a liveness.
Tras la comprobación, el análisis muestra la posibilidad de un ataque de spoofing en porcentajes.
100%: se detectó un ataque, la persona del video no es una persona viva real
0%: la persona en el video es una persona viva real
*Spoofing en biometría es un tipo de estafa cuando una persona se disfraza de otra utilizando herramientas tanto de software, como no de software como deepfake, máscaras, fotos ya hechas y videos.
El análisis de los documentos tiene como objetivo reconocer el documento y comprobar si sus campos son correctos según su tipo.
Oz API utiliza un servicio de análisis OCR de terceros prestado por nuestro socio. Si quiere cambiar este servicio por otro, póngase en contacto con nosotros.
Como salida, obtendrá una lista de campos del documento con resultados de reconocimiento para cada campo y un resultado de comprobación que puede ser:
Los documentos pasaron la comprobación con éxito
Los documentos no pasaron el control
El algoritmo de comprobación de la lista negra se utiliza para determinar si la persona que aparece en una foto o video está presente en la base de datos de imágenes precargadas. Esta base puede utilizarse como lista negra o lista blanca. En el primer caso, se compara el rostro de la persona con el de estafadores conocidos; en el segundo, puede tratarse de una lista de VIP.
Tras la comparación, el algoritmo proporciona un número que representa el nivel de similitud. El número varía del 100 al 0%, donde
100%: la persona de una imagen o video coincide con alguien de la lista negra
0%: la persona no se encuentra en la lista negra
Qué es Oz API Lite, cuándo y cómo utilizarla.
Oz API Lite es la versión ligera pero potente de Oz API. La versión Lite exige menos recursos, es más productiva y más fácil de usar. Los análisis se realizan dentro de la imagen API Lite. Como Oz API Lite no incluye ningún servicio adicional como estadísticas o almacenamiento de datos, esta versión es la que debe utilizar cuando necesites un alto rendimiento.
Sólo un componente para clusterizar
No es necesario el almacenamiento de datos: mayor nivel de seguridad de la información
Arquitectura más sencilla: plazos de proyecto más cortos
Menos tráfico (una imagen en vez de un video)
Para comprobar el procesador Liveness, llame GET /{version}/face/liveness/health
.
Para comprobar el procesador Biometry, llame GET /{version}/face/pattern/health
.
Para realizar la prueba de Liveness de una imagen, llame POST /{version}/face/liveness/detect
(toma una imagen como entrada y muestra la evaluación de posibilidad de ataque de spoofing en esta imagen)
Para comparar dos rostros en dos imágenes, llame POST /{version}/face/pattern/extract_and_compare
(toma dos imágenes como entrada, deriva las plantillas de biometría de estas imágenes y las compara). Para comparar una imagen con un grupo de imágenes, llame POST /{version}/face/pattern/extract_and_compare_n
.
Para ver la lista completa de métodos de Oz API Lite, consulte Métodos de la API.
Este artículo describe cómo obtener las puntuaciones del análisis.
Cuando se realiza un análisis, el resultado que se obtiene es un número. En el caso de la biometría, refleja la posibilidad de que las dos o más personas representadas en sus medios sean la misma persona. En el caso de Liveness, muestra una posibilidad de deepfake o un ataque de spoofing: que la persona que aparece en los medios cargados no es real. Puede obtener estos números mediante una respuesta JSONa de la API.
Envíe una petición a la carpeta o lista de carpetas para obtener una respuesta JSON. Establezca el parámetro with_analyses en True
.
Para el análisis Biometry, busque el valor del parámetro min_confidence
:
Este valor es un resultado cuantitativo de la coincidencia de las personas en los medios de comunicación cargados.
4. Para el análisis de Liveness, busque el valor de confidence_spoofing
relacionado con el video que necesita:
Este valor es la posibilidad de que una persona no sea real.
Para procesar un grupo de resultados de análisis, puede analizar la respuesta JSON correspondiente.
Para la mayoría de los objetos del sistema, se pueden almacenar metadatos: cualquier campo y sus valores creados por los usuarios. Aquí está la lista de estos objetos:
usuarios/api/users/{{user_id}}/meta_data
compañías /api/companies/{{company_id}}/meta_data
carpetas/api/folders/{{folder_id}}/meta_data
medios /api/media/{{media_id}}/meta_data
analisis /api/analyses/{{analyse_id}}/meta_data
Para procesar los metadatos, puede utilizar los métodos de la API Rest:
GET
https://apidoc.ozforensics.com/api/.../metadata
POST
https://apidoc.ozforensics.com/api/.../metadata
PATCH
https://apidoc.ozforensics.com/api/.../metadata
DELETE
https://apidoc.ozforensics.com/api/.../metadata
A continuación se explica cómo agregar el id. de cliente client_iin
a un objeto de carpeta:
PATCH
https://apidoc.ozforensics.com/api/folders/9f864721-6c4b-4d0a-b31b-cee5136234c0/meta_data
{ "client_iin": "418974987" }
Utilice este método para comprobar si el procesador biométrico está listo para funcionar.
Llame GET /{version}/face/pattern/health
Ninguno.
GET localhost/v1/face/pattern/health
En caso de éxito, el método devuelve un mensaje con los siguientes parámetros.
Tipo de contenido de la respuesta HTTP: “application/json”.
El método está diseñado para extraer una plantilla biométrica de una imagen.
Tipo de contenido de la petición HTTP: “image / jpeg” or “image / png”
Llame POST /{version}/face/pattern/extract
En caso de éxito, el método devuelve una plantilla biométrica.
Tipo de contenido de la respuesta HTTP: “application/octet-stream”.
El método está diseñado para comparar dos plantillas biométricas.
Tipo de contenido de la petición HTTP: “multipart / form-data”.
Llame POST /{version}/face/pattern/compare
En caso de éxito, el método devuelve el resultado de la comparación de las dos plantillas.
Tipo de contenido de la respuesta HTTP: “application/json”.
El método combina los dos métodos anteriores, extract y compare. Extrae una plantilla de una imagen y compara la plantilla biométrica resultante con otra plantilla biométrica que también se pasa en la solicitud.
Tipo de contenido de la petición HTTP: “multipart / form-data”.
Llame POST /{version}/face/pattern/verify
En caso de éxito, el método devuelve el resultado de la comparación de dos plantillas biométricas y la plantilla biométrica.
Tipo de contenido de la respuesta HTTP: “multipart/form-data”.
El método también combina los dos métodos anteriores, extract y compare. Extrae plantillas de dos imágenes, compara las plantillas biométricas obtenidas y transmite el resultado de la comparación como respuesta.
Tipo de contenido de la petición HTTP: “multipart / form-data”.
Llame POST /{version}/face/pattern/extract_and_compare
En caso de éxito, el método devuelve el resultado de la comparación de las dos plantillas biométricas extraídas.
Tipo de contenido de la respuesta HTTP: “application / json”.
Utilice este método para comparar una plantilla biométrica con otras N.
Tipo de contenido de la petición HTTP: “multipart/form-data”.
Llame POST /{version}/face/pattern/compare_n
En caso de éxito, el método devuelve el resultado de la comparación 1:N.
Tipo de contenido de la respuesta HTTP: “application / json”.
El método combina los métodos extract y compare_n. Extrae una plantilla biométrica de una imagen y la compara con otras N plantillas biométricas que se pasan en la solicitud como una lista.
Tipo de contenido de la petición HTTP: “multipart/form-data”.
Llame POST /{version}/face/pattern/verify_n
En caso de éxito, el método devuelve el resultado de la comparación 1:N.
Tipo de contenido de la respuesta HTTP: “application / json”.
Este método también combina los métodos extract y compare_n, pero de otra manera. Extrae plantillas biométricas de la imagen principal y de una lista de otras imágenes y luego las compara en el modo 1:N.
Tipo de contenido de la petición HTTP: “multipart/form-data”.
Llame POST /{version}/face/pattern/
extract_and_compare_n
En caso de éxito, el método devuelve el resultado de la comparación 1:N.
Tipo de contenido de la respuesta HTTP: “application / json”.
Tipo de contenido de la respuesta HTTP: “application / json”.
*la muestra biométrica es una imagen de entrada
Utilice este método para comprobar si el procesador de liveness está listo para funcionar.
Llame GET /{version}/face/liveness/health
Ninguno.
GET localhost/v1/face/liveness/health
En caso de éxito, el método devuelve un mensaje con los siguientes parámetros.
Tipo de contenido de la respuesta HTTP: “application/json”.
El método está diseñado para detectar ataques de presentación en imágenes.
Tipo de contenido de la petición HTTP: “image/jpeg” or “image/png”
Llame POST /{version}/face/liveness/detect
En caso de éxito, el método devuelve una estimación de la presencia de un ataque de presentación en la imagen.
Tipo de contenido de la respuesta HTTP: “application/json”.
Tipo de contenido de la respuesta HTTP: “application / json”.
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
object
un objeto .JSON con los valores de todos los campos
object
un objeto .JSON con campos nuevos o modificados
object
Nombre del parámetro
Valor
Descripción
status
Number
0: el procesador biométrico funciona correctamente.
3: el procesador biométrico no funciona.
message
String
Mensaje.
Nombre del parámetro
Valor
Descripción
-
Stream
Parámetro obligatorio. Imagen para extraer la plantilla biométrica.
El campo del encabezado "Content-Type" debe indicar el tipo de contenido.
Parameter name
Valor
Descripción
-
Stream
Una plantilla biométrica derivada de una imagen
Nombre del parámetro
Valor
Descripción
bio_feature
Stream
Parámetro obligatorio.
Primera plantilla biométrica.
bio_template
Stream
Parámetro obligatorio.
Segunda plantilla biométrica.
Nombre del parámetro
Valor
Descripción
score
Number
El resultado de comparar dos plantillas
decision
String
Solución recomendada en función de la puntuación.
approved: positivo. Los rostros coinciden.
operator_required: se requiere que el operador realice una verificación adicional.
declined: resultado negativo. Los rostros no coinciden.
Nombre del parámetro
Valor
Descripción
sample
Stream
Parámetro obligatorio.
Imagen para extraer la plantilla biométrica.
bio_template
Stream
Parámetro obligatorio.
La plantilla biométrica con la que se realizará la comparación.
Nombre del parámetro
Valor
Descripción
score
Number
El resultado de comparar dos plantillas
bio_feature
Stream
Plantilla biométrica derivada de la imagen
Nombre del parámetro
Valor
Descripción
sample_1
Stream
Parámetro obligatorio.
Primera imagen.
sample_2
Stream
Parámetro obligatorio.
SSegunda imagen.
Nombre del parámetro
Valor
Descripción
score
Number
El resultado de la comparación de las dos plantillas extraídas.
decision
String
Solución recomendada en función de la puntuación.
approved: positivo. Los rostros coinciden.
operator_required: se requiere que el operador realice una verificación adicional.
declined: resultado negativo. Los rostros no coinciden.
Nombre del parámetro
Valor
Descripción
template_1
Stream
Parámetro obligatorio. La primera plantilla biométrica (principal)
templates_n
Stream
Una lista de N plantillas biométricas. Cada uno de ellos debe pasarse por separado, pero el nombre del parámetro debe ser templates_n
. También es necesario pasar el nombre del archivo en el encabezado.
Nombre del parámetro
Valor
Descripción
results
List[JSON]
Una lista de N resultados de comparación. El resultado N contiene el resultado de la comparación de las plantillas principal y N. El resultado tiene los siguientes campos:
*filename
String
Un nombre de archivo para la plantilla N.
*score
Number
El resultado de la comparación de las plantillas principal y N.
*decision
String
Solución recomendada en función de la puntuación.
approved: positivo. Los rostros coinciden.
operator_required: se requiere que el operador realice una verificación adicional.
declined: resultado negativo. Los rostros no coinciden.
Nombre del parámetro
Valor
Descripción
sample_1
Stream
Parámetro obligatorio. La imagen principal.
templates_n
Stream
Una lista de N plantillas biométricas. Cada uno de ellos debe pasarse por separado, pero el nombre del parámetro debe ser templates_n
. También es necesario pasar el nombre del archivo en el encabezado.
Nombre del parámetro
Valor
Descripción
results
List[JSON]
AUna lista de N resultados de comparación. El enésimo resultado contiene el resultado de la comparación de la plantilla derivada de la imagen principal y la enésima plantilla. El resultado tiene los siguientes campos:
*filename
String
Un nombre de archivo para la plantilla N.
*score
Number
El resultado de comparar la plantilla derivada de la imagen principal y la plantilla N.
*decision
String
Solución recomendada en función de la puntuación.
approved: positivo. Los rostros coinciden.
operator_required: se requiere que el operador realice una verificación adicional.
declined: resultado negativo. Los rostros no coinciden.
Nombre del parámetro
Valor
Descripción
sample_1
Stream
Parámetro obligatorio. La primera imagen (principal).
samples_n
Stream
Una lista de N imágenes. Cada una de ellas debe pasarse por separado, pero el nombre del parámetro debe ser samples_n
. También es necesario pasar el nombre del archivo en el encabezado.
Nombre del parámetro
Valor
Descripción
results
List[JSON]
Una lista de N resultados de comparación. El resultado N contiene el resultado de la comparación de las imágenes principales y N. El resultado tiene los siguientes campos:
*filename
String
Un valor filename para la imagen N.
*score
Number
El resultado de la comparación entre la imagen principal y la N.
*decision
String
Solución recomendada en función de la puntuación.
approved: positivo. Los rostros coinciden.
operator_required: se requiere que el operador realice una verificación adicional.
declined: resultado negativo. Los rostros no coinciden.
Códigos de respuesta HTTP
El valor del parámetro "code"
Descripción
400
BPE-002001
Content-Type no válido de la solicitud HTTP
400
BPE-002002
Método de solicitud HTTP no válido
400
BPE-002003
No se pudo leer la muestra biométrica*
400
BPE-002005
IContent-Type no válido de la parte de la solicitud HTTP multipart
400
BPE-003001
No se pudo recuperar la plantilla biométrica
400
BPE-003002
La muestra biométrica* no contiene el rostro
400
BPE-003003
Más de una persona está presente en la muestra biométrica*.
500
BPE-001001
Error interno del bioprocesador
Nombre del parámetro
Valor
Descripción
status
Number
0: el procesador de liveness funciona correctamente.
3: el procesador de liveness está inoperante.
message
String
Mensaje.
Nombre del parámetro
Valor
Descripción
-
Stream
Parámetro obligatorio. Una imagen.
El campo del encabezado "Content-Type" debe indicar el tipo de contenido.
Nombre del parámetro
Valor
Descripción
score
Number
Evaluación de la presencia de un ataque de presentación en la imagen en una escala de 0 (sin signos de ataque) a 1 (máxima confianza de la presencia de un ataque).
passed
Boolean
Solución recomendada en función de la puntuación.
True
: no hay ningún ataque de presentación en la imagen.
False
: la imagen contiene un ataque de presentación.
Códigos de respuesta HTTP
El valor del parámetro "code"
Description
400
LDE-002001
Content-Type no válido de la solicitud HTTP
400
LDE-002002
Método de solicitud HTTP no válido
400
LDE-002003
No se pudo extraer la muestra biométrica
400
LDE-002005
Content-Type no válido de la parte de la solicitud HTTP multipart
500
LDE-001001
Error interno del procesador de detección de liveness
OZ Mobile SDK para iOS y Android es el kit para desarrolladores de software del Sistema Oz Forensics que proporciona una integración perfecta con las aplicaciones móviles de los clientes para el inicio de sesión y la identificación biométrica.
AnalysisRequest es una nueva API llamada a simplificar las solicitudes de análisis. Con AnalysisRequest, es más fácil crear una solicitud para los medios y el análisis que necesita. Esta es una lista de métodos de AnalysisRequest.
Este es un ejemplo de cómo funciona AnalysisRequest:
Aquí en la estructura Analysis se pasa el tipo de análisis type y el modo de análisis mode.
Los tipos de análisis son tres: .biometry
(biometría), .quality
(Liveness), .documents
(documentos).
Hay dos modos: onDevice
(análisis en el dispositivo) y serverBased
(análisis en el servidor).
Actualmente, el tipo DOCUMENTS no es compatible con el modo onDevice.
AnalysisRequest es una nueva API llamada a simplificar las solicitudes de análisis. Con AnalysisRequest, es más fácil crear una solicitud para los medios y el análisis que necesita. Esta es una lista de métodos de AnalysisRequest.
Este es un ejemplo de cómo funciona AnalysisRequest:
Aquí en la estructura Analysis se pasa el tipo de análisis type y el modo de análisis mode.
Los tipos de análisis son tres: BIOMETRY
(biometría), QUALITY
(Liveness), DOCUMENTS
(documentos).
Hay dos modos: ON_DEVICE
(análisis en el dispositivo) y REMOTE
(análisis en el servidor).
Actualmente, el tipo DOCUMENTS no es compatible con el modo ON_DEVICE
.
Descargue la última versión de la app de demostración:
En el repositorio de GitLab se encuentra el código fuente de una app de ejemplo que utiliza el SDK de Oz Liveness:
Para instalar OZLivenessSDK, utilice el administrador de dependencias CocoaPods. Para integrar OZLivenessSDK
en un proyecto de Xcode, añada el siguiente código a Podfile:
Puede encontrar la versión necesaria en el Registro de cambios.
Hay que agregar al proyecto los siguientes ajustes de parámetros:
Para obtener una licencia para el SDK, escríbanos por correo electrónico. Para crear la licencia, es necesario el bundle id
. Después de obtener un archivo de licencia, hay dos maneras de agregar la licencia a su proyecto.
Cambie el nombre de este archivo a forensics.license y póngalo en el proyecto.
Durante el tiempo de ejecución: al inicializar el SDK, utilice el siguiente método.
LicenseSource
es una ruta al archivo de licencia, y LicenseData
es la información sobre su licencia. Tenga en cuenta: este método comprueba si tiene una licencia activa o no y, en caso afirmativo, la licencia no será sustituida por una nueva. Para forzar la sustitución de la licencia, utilice el método setLicense
.
Después de configurar la licencia, conéctese a los servidores de Oz:
Para autorizar la Oz API, utilice el métodoOZSDK.login
:
Puede crear un controlador que capture videos de la siguiente manera:
action:
lista de las acciones del usuario mientras se captura el video. Posibles acciones:
.smile
.eyes
.up
.down
.left
.right
.scanning
.selfie
.oneshot
El método onOZVerificationResult(results:)
para OZVerificationDelegate
recupera los resultados de la captura que contienen el estado y la URL del video. Utilice videoURL
para recuperar el video, bestShotURL
para recuperar la mejor toma, y preferredMediaURL
para recuperar el medio más apropiado para la acción (es decir, la mejor toma para la acción de una sola toma y el video para otras acciones).
Hay dos formas de enviar archivos multimedia para su análisis:
análisis en el servidor: el sistema envía archivos multimedia a un servidor remoto y luego espera su respuesta.
análisis en el dispositivo: los archivos multimedia se analizan en el dispositivo, sin enviarlos a ninguna parte.
Los datos destinados a la carga y el análisis se almacenan en los resultados de los objetos (véase más arriba), obtenidos después de capturar y grabar el video. Cárguelos en el servidor e inicie los análisis necesarios con la ayuda de Oz API.
Un escenario simple de interacción con Oz API puede ser implementado con el método OZSDK.analyse
como se describe a continuación.
El bloque completion
| resolution
contendrá el resultado del análisis asignado, incluyendo status
(estado del análisis), type
(tipo de análisis) y folderID
(id. de la carpeta de Oz API).
Para realizar un análisis exhaustivo con video y fotografías de documentos, se utiliza el método OZSDK.documentAnalyse
:
El bloque completion | resolution
contendrá el resultado del análisis asignado (similar a OZSDK.analyse
), donde folderResolutionStatus
es el estado general de los análisis para la carpeta.
Puede utilizar el método OZSDK.uploadAndAnalyse
tanto para los documentos como para la comprobación facial:
El bloque resolution
contendrá el resultado del análisis asignado (similar a OZSDK.analyse
y OZSDK.documentAnalyse
).
Utilice los siguientes métodos para ejecutar el análisis en el dispositivo:
Biometry:
Liveness:
Puede usar OZSDK.customization
para cambiar el estilo visual de la app.
Example:
Oz Liveness SDK es un módulo para el procesamiento de datos en los dispositivos de los clientes. Con el WebSDK de Oz Liveness, se pueden tomar fotos y videos de personas en sus navegadores web y luego analizar estos medios. La mayoría de los navegadores y dispositivos son compatibles.
Oz Liveness SDL consta de dos componentes:
Oz Liveness WEB Adapter se configura mediante cambios en el archivo de configuración almacenado en el servidor de Oz Liveness WEB Adapter: /core/app_config.json
use_for_liveness:
la opción se utiliza cuando los gerentes del banco toman los videos de los clientes. Si la opción se establece como true
, los dispositivos móviles utilizan la cámara trasera por defecto; en el escritorio, el giro y el círculo oval se desactivan. Por defecto, la opción está configurada en false
;
preinit:
este parámetro opcional activa la carga preliminar de los scripts y la inicialización de la detección de rostros. Es necesario para reducir el tiempo de carga del complemento. El valor por defecto es off, lo que significa que todos los scripts se cargan después de llamar a OzLiveness.open()
. El valor script
significa que los scripts se cargarán antes de que se inicie el complemento. El valor full
permite la carga preliminar de los scripts y la inicialización de la detección de rostros.
api_url:
dirección del servidor Oz API, un parámetro de texto;
api_token:
token de acceso a Oz API, un parámetro de texto;
api_use_token:
aun parámetro para especificar la fuente del token de acceso a Oz API para el sistema. Valores posibles = config
, client
.
Si el valor del parámetro es client
, se espera un token de acceso a Oz API derivado del complemento JS;
Si especifica config
en este parámetro, se recuperará un token del parámetro api_token
del archivo de configuración del Oz Liveness WEB Adapter.
lang_allow:
idiomas disponibles en el sistema;
lang_default:
la configuración regional del sistema por defecto;
actions_default_importance:
este parámetro especifica si se permite redefinir la matriz de acciones desde el complemento WEB al iniciar el análisis. Valores posibles = true
, false
;
Si establece true
, el Adapter utilizará la matriz de acciones del archivo de configuración.
Si establece false
, el Adapter utilizará una matriz de acciones reenviada desde su navegador con el uso del método open(options)
.
actions_default:
la matriz de acciones. Las opciones incluyen:
video_count:
el número de archivos de video transmitidos, un parámetro numérico;
photo_front:
si el documento tiene un anverso. Valores posibles = true
, false
photo_back:
si el documento tiene un reverso. Valores posibles = true
, false
analyses:
un bloque para configurar el lanzamiento de los análisis. Las opciones incluyen:
quality:
lanzamiento del análisis de Oz Liveness. Valores posibles = true
, false
;
biometry:
lanzamiento del análisis Oz Biometry Valores posibles = true
, false
;
documents:
lanzamiento del análisis de Oz Text. Valores posibles = true
, false
.
extract_best_shot:
un parámetro que especifica si se debe adjuntar al resultado del análisis un enlace directo a la mejor toma extraída del video. Valores posibles = true
, false
;
result_mode:
un parámetro que especifica el contenido de la respuesta del servidor con los resultados de la verificación. Valores posibles:
safe:
sólo se devuelve el estado de los análisis (finalizado o aún no finalizado);
status:
se devuelven los resultados de los análisis realizados;
full:
La respuesta completa de Oz API sobre los análisis se devuelve en formato JSON;
result_codes:
bloque de códigos de respuesta con anotaciones;
delete_old_sessions:
true
, false
; si desea borrar las sesiones anteriores;
delete_old_sessions_offset_minutes:
***:
tiempo de eliminación de las sesiones anteriores (en minutos);
video_required_actions_list:
conjunto de acciones requeridas
save_lossless_frame:
true:
guardar el fotograma original sin compresión
video_file_format:
opcional; aquí puede elegir el formato de archivo de video. Este archivo de video se pasa a la api. Valores posibles: MOV, ZIP, el valor predeterminado es MOV.
Algunos de los parámetros del archivo de configuración pueden modificarse sin necesidad de editar directamente este archivo. Puede hacerlo utilizando las variables de entorno.
WA_ARCHITECTURE:
redefine el parámetro architecture
WA_API_URL:
redefine el parámetro api_url
Ejemplo del uso de variables de entorno al ejecutar una imagen docker de WebSDK en modo Lite:
WA_CORS_ORIGINS:
define qué orígenes están autorizados para realizar solicitudes. No hay un valor predeterminado. Tenga en cuenta que si no establece este valor, los encabezados CORS se desactivarán y no se los agregará al contenedor WebSDK.
WA_CORS_METHODS
(opcional):
métodos HTTP que se pueden utilizar. Si la variable no está establecida, asume el valor predeterminado que es 'GET, POST, OPTIONS
'. Si no se utiliza la variable, se acepta cualquier método.
WA_CORS_HEADERS
(opcional):
encabezados HTTP que se pueden utilizar. Si la variable no está establecida, asume el valor predeterminado que es 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type
'. Si no se utiliza la variable, se acepta cualquier encabezado.
Un ejemplo de uso de variables de entorno para la configuración del servidor:
Nota: para que el complemento funcione, la versión de su navegador debe ser la siguiente o más reciente.
Para poner el complemento en su página, agregue el archivo con estilos (ozliveness.css
) y el script principal del complemento (plugin_liveness.php
) al código HTML de la página. Los paquetes de idiomas necesarios se pueden especificar adicionalmente al activar el complemento. Si no se especifica ningún paquete de idiomas, se utilizará el idioma predeterminado. Ejemplo del código para agregar:
En el caso de las aplicaciones React, utilice head
en la página principal de su plantilla para cargar e inicializar el complemento OzLiveness..
La ventana del complemento se lanza con el método open(options)
. Parámetros:
options:
an object with the following settings:
token:
(opcional) el token de autorización
lang:
una cadena que contiene el identificador de uno de los paquetes de idiomas instalados;
params:
objeto con identificadores y parámetros adicionales:
extract_best_shot:
true
o false:
elegir el mejor fotograma en el análisis Quality;
action:
matriz de cadenas con identificadores de acciones a realizar.
Acciones disponibles:
photo_id_front: foto del anverso del documento de identidad;
photo_id_back: foto del reverso del documento de identidad;
video_selfie_left: giro de cabeza a la izquierda;
video_selfie_right: giro de cabeza a la derecha;
video_selfie_down: inclinación de la cabeza hacia abajo;
video_selfie_high: cabeza levantada;
video_selfie_scan: escaneo.
video_selfie_best: acción especial para seleccionar la mejor toma de un video y realizar el análisis de la misma en lugar del video completo.
on_submit():
función de devolución de llamada que se llama después de enviar los datos del cliente al servidor.
on_result(result):
función de devolución de llamada que se llama varias veces durante el análisis y recupera un resultado intermedio.
on_complete(result):
función de devolución de llamada que se llama después de finalizar la comprobación.
on_close():
función callback que se llama después de que se cierra la ventana del complemento (ya sea de forma manual por el usuario o automática una vez finalizada la comprobación).
Para mejorar la protección contra los ataques con un parámetro de action
sustituido en el lado del navegador e impedir la filtración de los resultados de la verificación, se recomienda utilizar el módulo Oz Liveness WEB SDK en condiciones reales sólo con la siguiente configuración:
Con esta configuración, los parámetros de lanzamiento del módulo Oz Liveness WEB Plugin y los resultados de la verificación se almacenarán solo en servidores seguros, fuera del acceso de los ciberdelincuentes.
Un ejemplo de llamada segura a un método con la configuración predeterminada:
Si no se especifica ningún parámetro action
al lanzar el complemento, por defecto se llamará el formulario de verificación de Liveness (tomar video de una acción aleatoria). Tras ello, Oz API lanzará el análisis QUALITY. Puede configurar los ajustes por defecto en el lado del servidor.
Ejemplo de llamada a un método con la toma de fotos de un documento de identidad y una acción Liveness especificada:
Si se especifican las acciones photo_id_front
y photo_id_back
, se llamará los formularios de captura del anverso y el reverso de un documento de identidad, y Oz API lanzará los análisis DOCUMENTS y BIOMETRY. La especificación de una o varias acciones video_selfie_*
llama un formulario que tomará un video de el rostro del usuario y luego lanzará el análisis QUALITY. En cuanto finalicen los análisis, su resultado se devuelve a la función especificada en el parámetro on_complete
.
Durante la implementación y prueba del módulo Oz Liveness WEB SDK, utilícelo con la siguiente configuración para acelerar el proceso:
Importante: Para mejorar la protección contra ataques con un parámetro de action
sustituido en el lado del navegador e impedir la filtración de los resultados de la verificación, desaconsejamos el uso de esta configuración en condiciones reales.
El resultado de la verificación en este modo puede obtenerse en el complemento en formato JSON. Además, estos ajustes permiten anular el parámetro action
cuando el complemento se ejecuta en un navegador. Ejemplos de uso de un módulo con el parámetro action
anulado:
Ejemplo de llamada a un método con acciones de Liveness especificadas sin tomar fotos de un documento de identificación:
Especificar una o varias acciones video_selfie_*
llama un formulario que tomará un video de el rostro del usuario y luego lanzará el análisis de QUALITY en el lado de Oz API. Tras la finalización de los análisis, su resultado se devuelve a la función especificada en el parámetro on_complete
.
El método Close()
puede utilizarse para forzar el cierre de la ventana del complemento. Se cancelarán todas las solicitudes al servidor y las funciones de devolución de llamada (excepto on_close) dentro de la sesión actual.
Ejemplo de uso:
El método Hide()
puede utilizarse para ocultar la ventana del complemento sin cancelar las solicitudes de resultados de análisis y las funciones de devolución de llamadas de usuario. Utilice este método, entre otras cosas, si desea emitir su propio indicador de carga después de enviar los datos.
Ejemplo de uso:
El método add_lang(lang_id, lang_obj)
permite agregar un paquete de idiomas nuevo o personalizado.
Parámetros:
lang_id
: valor de cadena que puede ser utilizado posteriormente como parámetro lang para el método open()
;
lang_obj
: objeto que incluye identificadores de cadenas de traducción como claves y las propias cadenas de traducción como valores.
Ejemplo de uso:
Lista de todos los identificadores de idiomas:
Method | Description |
---|---|
Lado del cliente: un archivo Javascript que se carga dentro de la parte del frontend de su aplicación. Se llama .
Lado del servidor: un módulo de servidor independiente con . El módulo se llama .
architecture:
este parámetro opcional se utiliza para elegir la arquitectura de WebSDK. El valor por defecto es normal
. Si necesita la , use lite
;
video_actions_list:
bloque de etiquetas de archivos de video utilizados en el sistema, una matriz de texto. .
photo_actions_list:
bloque de etiquetas de archivos fotográficos utilizados en el sistema, una matriz de texto. .
Navegador | Versión |
---|
meta:
objeto con los nombres de los meta campos en las claves y sus valores de cadena en los valores. se transfieren a Oz API y pueden utilizarse para obtener resultados de análisis;
Parámetro actions_default_importance
del de Oz Liveness WEB Adapter: establecido en true
Parámetro result_mode del de Oz Liveness WEB Adapter: establecido en 'safe
'.
Recuperar los resultados de los análisis con el método de Oz API
Parámetroactions_default_importance
de la de Oz Liveness WEB Adapter: establecido en false
Parámetroresult_mode
de la de Oz Liveness WEB Adapter: establecido en full
AnalysisRequestBuilder(_ folderId: String?)
Crea una instancia de AnalysisRequest
AnalysisRequest.addAnalysis(_ analysis: Analysis)
Agrega un análisis a su solicitud
AnalysisRequest.addMedia(_ media: OZMedia)
Agrega uno o más medios para analizar
AnalysisRequest.addFolderMeta(_ meta: [String: Any])
Agrega metadatos a la carpeta
AnalysisRequest.run(scenarioProgressHandler: @escaping ((_ state: ScenarioState) -> Void), uploadProgressHandler: @escaping ((AnalysisStatus) -> Void), completionHandler: @escaping (_ resolutions : AnalysisResult?, _ error: Error?) -> Void)
Aplica los análisis solicitados
Método
Descripción
addAnalyses
Agrega un análisis o una lista de análisis a su solicitud
addAnalysis
Agrega un análisis a su solicitud
addFolderMeta
Agrega metadatos a la carpeta que elija (string, clave + valor)
addMedia
Agrega uno o más medios para analizar (el objeto OzAbstractMedia
)
build
Crea una instancia de AnalysisRequest
setFolderId
Para la carpeta creada anteriormente, establece un folderId
Google Chrome (y otros navegadores que funcionen con Chromium) | 56 |
Mozilla Firefox | 55 |
Safari | 11 |
Microsoft Edge | 17 |
Opera | 47 |
La consola web de OZ se utiliza para administrar las solicitudes de análisis, simplificar las pruebas de envío de solicitudes de análisis y ver los resultados detallados de los análisis.
Cómo instalar un servidor de licencias offline
Oz Forensics ofrece reglas de licencia flexibles para todos los productos. Para que funcione la concesión de licencias en servidores sin conexión a Internet, es necesario instalar un servidor de licencias sin conexión.
Puede instalar el software en cualquier servidor no virtual que funcione con Linux. Póngase en contacto con nosotros para obtener los archivos necesarios y siga los siguientes pasos.
La instalación finalizó. Para los siguientes pasos, utilice la interfaz web en el puerto 8090.
En su navegador, abra la página http://server:8090 y autorícese con su nombre de usuario y contraseña.
Vaya a la sección
Settings
.
La forma más fácil de activar el servidor de licencias es a través de Internet. Introduzca la clave de licencia y haga clic en ACTIVATE.
Si su servidor no está conectado a Internet, utilice la opción de activación sin conexión. Haga clic en el enlace SWITCH TO OFFLINE ACTIVATION.
Introduzca la clave de la licencia y pulse NEXT.
Haga clic en DOWNLOAD REQUEST FILE.
Obtendrá el archivo offline_activation_request.txt
. Envíenoslo para recibir el código de activación.
Introduzca el código de activación en la ventana de respuesta de activación sin conexión y pulse ACTIVATE.
Agregue un parámetro adicional en la línea de comandos: en la variable de entorno LICENSE_KEY
, escriba la dirección y el puerto del servidor de licencias.
Cree el archivo license.key
con el contenido del host y la IP de la licencia y vincule este archivo a su contenedor:
Cómo instalar el procesador biométrico Liveness Server
Póngase en contacto con nosotros para obtener el enlace del archivo de imágens Docker y descargar el archivo
Cargar la imagen en docker: docker load -i <path to image tar file>
Ejecutar docker: docker run -p {port}:80 -t ozforensics/oz_api_lite
Los parámetros se establecen mediante variables de entorno al iniciar el contenedor Docker.
Los siguientes parámetros son válidos:
NUM_WORKERS:
máximo de análisis que se realizan al mismo tiempo; puede ser diferente en distintos casos. Por defecto: 1
URL_HOSTNAME:
hostname utilizado en la URL Por defecto: localhost
URL_VERSION:
versión utilizada en la URL. Por defecto: v1
URL_PATH_PREFIX:
prefijo utilizado en URL path. Por defecto: face
La interacción con el procesador biométrico se basa en la API REST. Se utiliza el protocolo HTTPS.
URL base de acceso a la API: https://{hostname}/{version}/face/pattern
Dónde:
{hostname}:
nombre de host y puerto del servidor dónde está instalado el procesador biométrico;
{version}:
versión de la API del procesador biométrico a utilizar. El formato de la versión en la ruta de las peticiones HTTP debe ser: prefijo "v" y un número entero;
Ejemplo: localhost/v1/face/pattern
La API admite los siguientes tipos de contenido de solicitud (encabezado HTTP "Content-Type"):
«multipart/form-data»;
«application/octet-stream»;
«image/jpeg» o bien «image/png»;
Manual de uso del instalador autónomo.
El instalador autónomo es un programa que permite instalar todos los módulos de Oz Forensics en los servidores de los clientes y que realiza todos los ajustes necesarios relacionados con la topología personal y los requisitos del cliente.
Este instalador está pensado para instalar directamente el software en los servidores, en la cuenta de usuario del administrador del servidor. Los servidores pueden tener o no (con algunas notas) acceso directo a Internet, el sistema operativo Linux debe estar preinstalado (se recomienda CentOS 7) con la capacidad de conectarse con acceso completo a través de SSH.
Para la instalación en Kubernetes, OpenShift y otros orquestadores, póngase en contacto con nosotros.
Solicite su copia personal del instalador con el paquete de productos que ha solicitado antes para su entorno de prueba o de producción.
Puede pedir un paquete de prueba gratis. Para este paquete, necesitará dos servidores que cumplan los requisitos del sistema que se indican a continuación.
Sistema operativo: CentOS 7
CPU: 16 núcleos
RAM: 16 GB
Disco: 80 GB
Sistema operativo: CentOS 7
CPU: 8 núcleos
RAM: 16 GB
Disco: 300 GB
Para ejecutar el instalador, necesita un equipo con Windows o Linux que cumpla los siguientes requisitos del sistema:
1 GB de RAM, 1 CPU, 3 GB de disco duro
Windows 10+ (recomendado)
Linux 64 bit (PyLinux 64 bits (se requiere Python 3.7)
Compruebe los requisitos mínimos del sistema de la lista correspondiente.
Compruebe que se pueda acceder a los servidores a través de la red local.
Compruebe el acceso mediante SSH con autorización por contraseña o por archivo de claves y sudo sin contraseña.
Para los pasos de instalación, se recomienda el software Docker. O bien, Internet debe estar accesible para la descarga e instalación automática de Docker.
Docker versión 19.03 y superior
Docker Compose versión 1.27 y superior (debe estar instalado en /usr/sbin
)
Para instalar equilibradores de carga de red (sólo en caso de que su paquete de instalación lo incluya) se recomienda instalar nginx (versión >= 1.17.5), y, además, se debe cambiar SELinux al modo permisivo (actual sólo para CentOS y Redhat). O bien, Internet debe estar accesible para la descarga e instalación automáticas.
Compruebe la disponibilidad del servicio de licencias mediante la dirección https://api.cryptlex.com para los servidores.
Descargue y descomprima su paquete de instalación personal.
Introduzca los ajustes necesarios en el archivo settings.yml
. A continuación se describen los ajustes más importantes. Por lo general, sólo es necesario rellenar las secciones de autorización y variables.
Tenga en cuenta que el archivo de configuración es su copia personal, está prohibido compartirlo con terceros.
Llame a de la línea de órdenes con derechos de administrador. Navegue a la carpeta donde colocó previamente el instalador descomprimido (comando cd). Inicie el proceso de instalación.
Windows:
Linux:
Parámetros opcionales:
filename:
nombre del archivo de configuración ('settings.yml' por defecto)
private_key:
ruta de acceso a la clave SSH privada (sobrescribe la opción correspondiente del archivo de configuración)
key_password:
contraseña para la clave SSH
ssh_password:
contraseña para el inicio de sesión SSH
debug:
generar información de registro adicional para el servicio de soporte
Ejemplo:
Cada paso del instalador se registra en el archivo process.log
. Para informar de cualquier problema de instalación, adjunte este archivo a su ticket.
Si la instalación fue interrumpida por un problema, entonces, después de la resolución del problema, normalmente se permite que el proceso continúe. Si no lo hace, prepárese para restablecer los servidores a su estado original. Puede intentar resolver el problema añadiendo la bandera --debug
a la línea de comandos del instalador. También puede ponerse en contacto con el equipo de Oz para obtener más detalles.
Tiene que extraer la parte privada de la clave y luego especificar la ruta de ese archivo en la sección auth -> ssh_private_key
Este error puede surgir cuando la herramienta docker-compose se instaló de forma independiente antes del instalador y el binario por defecto se estableció en /usr/local/bin
Para el correcto funcionamiento del instalador, haga un enlace simbólico:
Haga clic en el botón Create order en la pestaña Orders.
2. Seleccione los archivos multimedia para cargarlos en el sistema o arrástrelos y suéltelos en el área seleccionada.
3. Una vez finalizada la descarga, los tipos de análisis estarán disponibles para su selección. Por defecto, aparecen todas las casillas posibles.
Document check: reconocimiento y verificación de los campos del documento.
Desmarque los tipos de análisis (o componentes no instalados) que no necesite.
4. A continuación, seleccione las etiquetas: el tipo de contenido de cada archivo cargado y al final haga clic en el botón Submit analysis.
opciones para elegir el tipo de Document (puede cargar varias páginas de un documento a la vez):
Documento con foto
Documento sin photo
si hay un rostro en la imagen, y no se trata de un documento, seleccione el tipo de contenido Selfie.
para los videos, sólo está disponible Selfie junto con las etiquetas de calificación:
orientación: Portrait o Landscape
Atención: seleccione correctamente las etiquetas, de lo contrario los resultados del análisis pueden ser erróneos.
5. Al finalizar el análisis, verá los resultados de los tipos de análisis que haya seleccionado. Para pasar al resultado detallado de un tipo de análisis específico, haga clic en él.
analysis succeeded
: todo salió bien;
analysis failed
: los rostros no coinciden, la verificación falló, surgió un error durante el procesamiento, etc;
operator required
: el sistema solicita el cheque adicional realizado por su empleado.
Para acceder al resultado detallado de un tipo específico de análisis, haga clic en él.
se puede consultar un informe sobre el estudio en formato PDF haciendo clic en el botón de lista de PDF (1) de la lista de solicitudes. Para que esta opción esté disponible, debe tener una plantilla de informe preconfigurada para su empresa.
Se puede eliminar cualquier solicitud haciendo clic en el botón Trash de la lista de solicitudes (2) o haciendo clic en el botón Delete del formulario de solicitud.
Las solicitudes de análisis pueden filtrarse por varios parámetros. El alcance de la visibilidad está limitado por los derechos de acceso de su rol de usuario.
en la pestaña Orders, haga clic en el botón Filter
puede utilizar uno o más campos para filtrar:
Order number: introduzca el número de solicitud alfanumérica completo o escriba los primeros carácteres
Date: rango de fechas de creación de las solicitudes
Company: la empresa propietaria de las solicitudes
Manager: el usuario que creó las solicitudes
Meta: puede filtrar las solicitudes por metaetiquetas específicas añadiendo su nombre y valor mediante el botón Add. Una metaetiqueta es cualquier información que un programador puede transmitir al enviar una solicitud a través de la API. Introduzca manualmente el nombre y el rango de valores en el campo.
después de rellenar los campos, haga clic en el botón Search.
para restablecer el filtro actual, pulse el botón Clear.
En esta guía, aprenderá a trabajar con usuarios y empresas en Oz Web UI.
En la captura de pantalla: botón 1 para editar un usuario, botón 2 para editar una empresa, 3 para eliminar un usuario.
Haga clic en el botón Add Company en la pestaña Users (o Companies).
Introduzca el nombre de la empresa y haga clic en el botón Submit de la ventana que aparece.
Haga clic en el botón Add User en la pestaña Users
2. Rellene los campos:
Company: seleccione en el menú desplegable. También puede agregar una empresa aquí haciendo clic en el botón Add company. Sólo tiene que rellenar el campo Company name en la nueva ventana y hacer clic en Submit.
Email: buzón. Será el login del usuario.
Password, Confirm password, o utilice la generación automática de contraseñas haciendo clic en el botón Generate password. Al lado, el botón del engranaje abre la ventana de ajustes del generador de contraseñas (cuántos carácteres debe tener la contraseña, qué carácteres utilizar).
Los campos Last name y First name son obligatorios. Middle name es opcional.
User type: seleccione la función del usuario en el menú desplegable.
la casilla Send credentials by email sólo funciona si la Web UI está configurada junto con el servidor de correo.
Can start analyses: puede deshabilitar cualquier análisis para un usuario si es necesario. En este caso, este usuario no podrá realizar las solicitudes correspondientes.
Cuando haya terminado de rellenar los campos, haga clic en el botón Submit.
Puede editar la empresa en la pestaña Users o Companies haciendo clic en la empresa en la lista (1) o en el botón Edit company (2).
en la ventana Edit Company, además de editar el nombre, puede agregar Report Templates o Delete la empresa.
La cuenta de usuario puede abrirse haciendo clic en su nombre de usuario en la esquina superior derecha (1). Al lado está el botón de cierre de sesión (2).
marque la casilla Change password para cambiar la contraseña. Tendrá que rellenar un formulario de cambio de contraseña.
Cuando haya terminado, haga clic en el botón Submit.
: comparar varias fotos y evaluar el nivel de similitud.
:comparar la foto cargada con las fotos de los estafadores de la base de datos de la lista negra.
:algoritmo diseñado para constatar que la persona está viva mediante un breve fragmento de video. Esta casilla solo se puede seleccionar cuando se carga un video.
tipo de acción (qué acción ha realizado la persona en el video): escanear, girar a la izquierda, girar a la derecha, bajar la cabeza, subir la cabeza, sonreír, cerrar los ojos. El video con un determinado tipo de acción se graba a través del y . Para los videos normales, utilice la etiqueta Scan.
Códigos de respuesta
Descripción
200 OK
La llamada al método se completó con éxito. La respuesta del procesador biométrico se incluye en el HTTP BODY.
400 Bad Request
La llamada al método falló en el lado del cliente. El código de error se incluye en HTTP BODY.
500 Internal Server Error
La llamada al método falló en el lado del procesador biométrico. El código de error se incluye en HTTP BODY.
Esta sección contiene los cambios realizados en los productos de Oz Forensics. Tenga en cuenta que sólo están presentes los cambios principales y las correcciones de errores.
Cambios en la API
Se agregó un nuevo atributo para los usuarios: is_active
(True
por defecto). Si is_active
== False
, se bloquea cualquier operación del usuario.
Se agregó un nuevo código de excepción (1401 con código de estado 401) a las acciones de los usuarios bloqueados.
Se agregó la vista previa de conjuntos de tomas.
Ahora puede guardar un archivo de conjunto de tomas en un disco (con los atributos original_local_path
, original_url
).
Se agregó un nuevo atributo, original_info
, para almacenar md5, tamaño y tipo mime de un conjunto de tomas.
Se corrigió ReportInfo
para los conjuntos de tomas.
Se agregó la comprobación healthcheck en GET api/healthcheck
.
Se corrigió la URL de la miniatura de los conjuntos de tomas.
Ahora el primer fotograma del conjunto de tomas se convierte en la miniatura en la URL.
Se ha modificado la política de reintentos: el número máximo de intentos de análisis por defecto se ha incrementado a 3 y se ha introducido la configuración del jitter.
Cambiado el algoritmo de devolución de llamada.
Se refactorizaron y documentaron las herramientas de línea de comandos.
Módulos refactorizados.
Se ha cambiado el punto final y el método de eliminación de información personal de delete_pi
a /pi
y de POST a DELETE, respectivamente.
Se mejoró el algoritmo de eliminación de información personal.
Ahora está prohibido agregar medios a las carpetas cuyo contenido se haya borrado.
Se cambió el nombre del submétodo de autorización/restauración de auth
a auth_restore
.
Se agregó una nueva etiqueta: video_selfie_oneshot
.
Se agregó el ajuste de validación de contraseñas (OZ_PASSWORD_POLICY
) Se agregaron limites para auth, rest_unauthorized, rps_with_token (OZ_THROTTLING_RATES
está desactivado en la configuración predeterminada).
Los permisos de usuario se utilizan ahora para acceder a los archivos estáticos (OZ_USE_PERMISSIONS_FOR_STATIC
en la configuración, falso por defecto).
Se ha añadido un nuevo submétodo para las solicitudes: /delete_pi
. Borra toda la información personal de una carpeta y analiza lo relacionado con esta carpeta.
Se ha corregido un error al intentar sincronizar colecciones vacías.
Si se cargan personas a la colección, se envía una solicitud TFSS para analizarla.
Se agregó el parámetro fields_to_check
al análisis de documentos (todos los campos están marcados por defecto).
Se agregó el parámetro double_page_spread al análisis de documentos (True
por defecto).
Se corrigió la sincronización de colecciones.
El token de autorización ahora puede ser actualizado por expire_token
.
Se agregó soporte para application/x-gzip
.
Se ha cambiado el nombre de shots_set.images
por shots_set.frames
.
Añadida la API de sesiones de usuario.
Los usuarios ahora pueden cambiar el propietario de una carpeta (limitado por los permisos).
Se modificaron las reglas de dependencia.
Se cambió la política de prolongación de access_token para corregir el error de prolongación antes de comprobar el permiso de caducidad.
Mover oz_collection_binding
(sincronización de colecciones funcional) a oz_core
.
Se simplificó la funcionalidad de los conjuntos de tomas. Un archivo guarda un conjunto de tomas.
Se mejoró el reconocimiento de las caras del documento para la versión docker.
Se trasladó la comprobación de la etiqueta de orientación al análisis Quality.
Se agregó una plantilla de informe predeterminada para Admin y Operator.
Se actualizó el modelo biométrico.
Un nuevo objeto ShotsSet no se crea si no hay fotos para él.
Actualización del formato de intercambio de datos para el módulo de reconocimiento de documentos.
No se puede eliminar una colección si hay análisis asociados a las personas de la colección.
Se han agregado marcas de tiempo al análisis: time_task_send_to_broker
, time_task_received
, time_task_finished.
Se agregó un nuevo motor de autorización. Ahora puede conectarse con Active Directory por LDAP (se requiere la configuración de los ajustes).
Un nuevo tipo de soporte en las carpetas: "shots_set
".
No se puede eliminar una CollectionPerson si hay un análisis asociados a ella.
Se ha cambiado el nombre del campo de la carpeta "resolution_suggest
" por "operator_status
".
Se agregó un campo de texto para carpetas, "operator_comment
".
Los campos de la carpeta "operator_status
" y "operator_comment
" sólo pueden ser editados por Admin, Operator, Client Service, Client Operator y Client Admin.
Sólo Admin y Client Admin pueden eliminar las carpetas, los soportes de las carpetas, las plantillas de informes, los informes y los análisis (dentro de su empresa).
Se ha corregido un error de eliminación: cuando se elimina el autor del informe, sus informes también se eliminan.
Client ahora puede ver sólo su propio perfil.
Client Operator ahora puede editar sólo su perfil.
Client ya no puede borrar sus propias carpetas, medios, informes o análisis.
Client Service puede ahora crear informes de Persona de Cobro y leerlos dentro de su empresa.
Client, Client Admin, Client Operator tienen acceso de lectura a los perfiles de los usuarios sólo en su empresa.
Las pruebas A/B ya están disponibles.
Se agregó soporte para los encabezados de fecha de caducidad.
Se agregó el módulo de reconocimiento de documentos Soporte de encuadernación Standalone/Dockered.
Se agregó un nuevo rol, Client Operator (similar al de Client Admin, pero sin permisos para la gestión de empresas y cuentas).
Client Admin y Client Operator pueden cambiar el estado del análisis.
A partir de ahora, sólo los usuarios Admin and Client Admin (de su empresa) pueden crear, actualizar y eliminar operaciones para los modelos Collection y CollectionPerson.
Al generar un informe en una aplicación, ahora se comprueba el acceso del usuario a las plantillas.
La creación de colecciones ahora devuelve el código de estado 201 en lugar de 200.
El algoritmo de comprobación de la lista negra está diseñado para comprobar la presencia de una persona en la base de datos de fotos precargadas. Esta base se denomina Lista Negra.
Seleccione su empresa en la pestaña Users.
2. Haga clic en el botón Add (1) en la sección Image collection de la ventana Edit company. En la ventana que aparece, introduzca cualquier nombre para la base de la lista negra (2), por ejemplo, "BL" o "Lista negra 2022", etc. Haga clic en el botón Submit (3) y Submit (4) de nuevo.
3. Al reabrir la empresa desde la lista de usuarios, verá la colección de imágenes creada: BlackList. Puede abrirse haciendo clic en su nombre, sincronizarse, editarse (añadiendo imágenes) y borrarse si es necesario. Puede crear cualquier número de listas.
Seleccione su empresa en la pestaña Users.
En la ventana que aparece, en el área de Image collection, seleccione la lista negra requerida y haga clic en el botón Edit (o en el nombre de la lista negra).
3. En el área que se abre, haga clic en el botón Add.
4. Haga clic en el botón Add en la ventana que aparece. Cargue una foto desde su computadora. A continuación, especifique el Tipo de Contenido, por ejemplo, Selfie. Los campos First Name, Middle Name y Last Name son opcionales. Estos datos pueden ser completados posteriormente eligiendo editar la imagen desde la lista de Personas. Cuando termine, haga clic en el botón Submit.
5. En la ventana Edit company, haga clic en el botón Synchronize (estará resaltado en rojo) y luego en el botón Submit.
Nota: el botón de sincronización tomará un tono gris y comenzará a girar. No hay que esperar a que se detenga, ya que puede tardar mucho tiempo (hasta 10 minutos).
Seleccione su empresa en la pestaña Users.
En la ventana que aparece, en el área de Image collection, seleccione la lista negra requerida y haga clic en el botón Edit (o en el nombre de la lista negra).
En el área abierta en la lista Persons, busque la imagen requerida y haga clic en el botón Delete que está junto a la imagen.
4. Confirme la eliminación: en la ventana "Delete person?", haga clic en Delete.
5. La ventana de preguntas se cerrará, pero la imagen no desaparecerá de inmediato, ya que es necesario hacer clic en el botón de sincronización para esta lista negra (colección de imágenes). El botón se resaltará en rojo. Después de hacer clic, se pondrá en gris y empezará a girar. No hay que esperar a que se detenga, ya que puede tardar mucho tiempo (hasta 10 minutos).
El módulo de estadísticas permite recoger y analizar datos sobre el uso de la sistema Oz Forensics.
Cuando se pasa al módulo de estadísticas, el área de gráficos está vacía, a menos que tenga los gráficos guardados anteriormente. El área de los gráficos está dividida según la finalidad de la información de las fichas:
Common info
Meta data
Operators
User activity
Performance
Una vez creado, el gráfico aparece en la pestaña correspondiente.
Haga clic en el botón New chart para crear un gráfico.t.
Seleccione el tipo de gráfico en la lista desplegable.
3. Haga clic en el botón Create.
El gráfico se mostrará en la pestaña correspondiente a su tipo. Existen de 1 a 3 opciones de visualización para los gráficos, dependiendo de su tipo: Línea, Donut y Barra. Por defecto, los gráficos se muestran con la opción All Results filtrados por el semana actual.
El gráfico de líneas
2. El gráfico de anillos
3. El gráfico de barras
4. Haga click en el botón con la cruz para eliminar el gráfico del área de visualización.
5. Para descargar la imagen del gráfico, pulse el botón. Se le pedirá que guarde la imagen en formato PNG.
6. Para cambiar las opciones de visualización de los datos en el gráfico, selecciónelas en el menú desplegable. El valor por defecto es All Results. Las opciones pueden variar en función del tipo de gráfico.
7. Haga clic en el botón Save Charts para guardar sus gráficos favoritos en la pantalla. Los gráficos guardados se cargarán automáticamente la próxima vez que entre en estadísticas.
Puede filtrar sus gráficos por periodo de tiempo. Haga clic en el botón Filter.
El período This week está preseleccionado (resaltado con color). Puede seleccionar cualquier otro período de los estándar Último mes, Este mes, Ayer, etc., o especificar un período personalizado en el campo Fecha.
Asegúrese de que no está seleccionado ninguno de los períodos estándar antes de establecer un período personalizado. Si se selecciona un periodo estándar, haga clic en él para desseleccionarlo.
Seleccione la fecha de inicio del periodo, la hora (si lo necesita) y la fecha y hora de finalización del periodo. Haga clic en el botón Search. La ventana del filtro se cerrará y el nuevo resultado se mostrará en el gráfico.
Ejemplo. El periodo 20/04/2021 00:00: 23/04/2021 00:00 mostrará los resultados de 3 días: 20, 21 y 22 de abril.
Haga clic en el botón Clear y luego en el botón Search para restablecer el filtro.
Para ver un informe basado en los resultados del análisis, configure el filtro requerido por el período del informe, y luego haga clic en el botón Make a report. El sistema le ofrecerá descargar el informe en formato XLS.
Tenga en cuenta que este informe sólo está disponible en ruso.
Contador de solicitudes de análisis para el periodo, sin filtros. Se muestra como un gráfico de líneas. El eje horizontal es la fecha/hora, el eje vertical es el número de solicitudes.
El estado resumido de la solicitud muestra el peor resultado entre los resultados del análisis para esta orden.
Opciones de gráficos:
All Results: muestra la suma de todos los resultados
Any result: muestra todos los resultados en un gráfico por separado, excepto la opción All results
Processing: resultados, donde el análisis está en el estado "Processing"
Failed: resultados del análisis con el mensaje de error "Failed"
Declined: los resultados de los análisis, que indican un bajo porcentaje de similitud con la imagen de referencia, o indican inconsistencias en los campos del documento (dependiendo de los módulos)
Success: los resultados de los análisis, que indican un alto porcentaje de similitud con la imagen de referencia, o indican la plena correspondencia de los campos del documento (dependiendo de los módulos)
Operator Required: resultados del análisis, donde se indica el porcentaje medio de coincidencia y se requiere una decisión del operador
Las opciones de visualización disponibles son los gráficos de líneas, de anillos y de barras.
La cantidad de solicitudes por origen, de donde provienen estos solicitudes.
Opciones de gráficos:
All sources (Todos los orígenes)
Any source (Cualquier origen)
Unknown (Desconocidos)
Mobile SDK
Web SDK
Las opciones de visualización disponibles son los gráficos de líneas, de anillos y de barras.
El gráfico muestra cuántas solicitudes ha creado cada usuario durante el período. Este gráfico se muestra en la pestaña User Activity.
Opciones de gráficos:
All users (Todos los usuarios)
Any user (Cualquier usuario)
ID of each user (Id. de cada usuario)
Las opciones de visualización disponibles son los gráficos de líneas, de anillos y de barras.
El gráfico muestra cuántos solicitudes han creado los usuarios de cada empresas durante el período. Este gráfico se muestra en la pestaña User Activity.
Opciones de gráficos:
All companies (Todas las empresas)
Any company (Cualquier empresa)
ID of each company (Id. de cada empresa)
Las opciones de visualización disponibles son los gráficos de líneas, de anillos y de barras.
La cantidad de clientes únicos se cuenta según el IIN. Si no se mantienen estadísticas de IIN, el gráfico estará vacío.
Se muestra como un gráfico de líneas en la pestaña Common Info. El eje horizontal es la fecha y hora, el eje vertical es el recuento de clientes únicos.
La cantidad de autorizaciones únicas se cuenta según el IIN. Si no se mantienen estadísticas de IIN, el gráfico estará vacío.
Opciones de gráficos:
All results
Any result
Processing
Failed
Declined
Success
Operator required
Se muestra en la pestaña Common Info. Las opciones de visualización disponibles son los gráficos de líneas, de anillos y de barras.
El gráfico muestra cuántos análisis y de qué tipo se generaron durante el periodo.
Opciones de gráficos:
All analyses (Todos los análisis)
Any analyse (Cualquier análisis)
Documents
Biometry
Liveness
Black list
Se muestra en la pestaña Common Info. Las opciones de visualización disponibles son los gráficos de líneas, de anillos y de barras.
El gráfico muestra cuántos resultados por tipo de análisis se obtuvieron durante el periodo.
Opciones del gráfico de análisis:
All analyses
Any analyse
Biometry
Documents
Liveness
Black list
Opciones del gráfico por resultados de análisis:
All results
Any result
Processing
Failed
Declined
Success
Operator required
Se muestra en la pestaña Common Info. Las opciones de visualización disponibles son los gráficos de líneas, de anillos y de barras.
El gráfico muestra la duración de los análisis por sus tipos, en función del número de análisis realizados. Junto con el número total, se muestra el tiempo de ejecución de los análisis: el mínimo, la media aritmética y el máximo del tiempo de ejecución de los análisis.
Opciones de gráficos:
All analyses
Any analyse
Black list
Biometry
Liveness
Documents
Se muestra en la pestaña Performance. Las opciones de visualización disponibles son los gráficos de líneas y de anillos.
El gráfico muestra el número de solicitudes procesados por los operadores durante el periodo.
Se muestra en la pestaña Operators. Las opciones de visualización disponibles son los gráficos de líneas.
El gráfico muestra cuántos resultados de cada tipo de solicitud se asignaron durante el periodo.
Opciones de gráficos:
All statuses (Todos los estados)
Any status (Cualquier estado)
Operator solution required (se requiere una solución de operador)
Se muestra en la pestaña Operators. Las opciones de visualización disponibles son los gráficos de líneas, de anillos y de barras.
El gráfico muestra el número de solicitudes tomada por cada operador.
Opciones de gráficos:
All operators (Todos los operadores)
Any operator (Cualquier operador)
Se muestra en la pestaña User Activity.
La pestaña Settings contiene los ajustes para conectarse a la Web API. Haga clic en los botones Edit o Add Server para corregirlos o agregar un nuevo servidor, respectivamente.
rellene todos los campos para agregar un nuevo servidor:
Server name – el nombre del servidor de la API que está utilizando
API URL – dirección del servidor de la API que está utilizando
Access-token – token de autorización de un usuario con derechos de administrador de Oz API
Login y Password – su nombre de usuario y contraseña
Cuando termine, haga clic en el botón Submit.
About program shows the current version of the interface.
Cambios en la API Lite (FaceVer)
Mejora del modelo biométrico
Se agregó el modo 1:N
Agregada la política CORS
Publicada la documentación
Se mejoraron los mensajes de error: ahora son más detallados
Simplificación de los métodos de Liveness/Detect
Se ha reformado y mejorado el núcleo
Se agregaron algoritmos anti-spoofing
Agregado el método extract_and_compare
Cambios en iOS SDK
Se agregó una nueva API simplificada – AnalysisRequest.
Se agregaron métodos de análisis en el dispositivo: runOnDeviceLivenessAnalysis
y runOnDeviceBiometryAnalysis
.
Puede elegir qué versión instalar. La instalación estándar permite acceder a todas las funciones. La versión básica (OzLivenessSDK/Core
) instala el SDK sin las funciones que se procesan en el dispositivo.
Se agregó un método para cargar los datos al servidor y empezar a analizarlos inmediatamente: uploadAndAnalyse
.
Se mejoró el proceso de otorgación de licencias. Ahora se puede agregar una licencia al inicializar el SDK: OZSDK(licenseSources: [LicenseSource], completion: @escaping ((LicenseData?, LicenseError?) -> Void))
, donde LicenseSource
es una ruta a la ubicación física de su licencia y LicenseData
contiene la información de la licencia.
Se agregó el método setLicense para forzar la adición de licencias.
Se agregó la configuración regional turca.
Se agregó la configuración regional kirguisa.
Se agregó Completion Handler para los resultados del análisis.
Se agregó Error User Info a la telemetría. Ahora se pueden conocer los detalles de un error que se está produciendo en el funcionamiento del análisis.
Se agregó el análisis local en el dispositivo.
Se agregaron marcos ovalados y rectangulares.
Se agregó compatibilidad con Xcode 12.5.1+.
Se agregó la posibilidad de configurar el SDK mediante licencias.
Se agregó el gesto One Shot.
Se mejoró OZVerificationResult
: se agregó bestShotURL
que contiene la imagen de la mejor toma y preferredMediaURL
que contiene una URL al video de mejor calidad.
Al realizar un control local, ahora se puede elegir la cámara frontal o la trasera.
Las sesiones de autorización se extienden automáticamente.
Se actualizaron las interfaces de autorización.
Se agregó la configuración regional kazaja.
Se añadieron textos de error de licencia.
Puede cancelar las solicitudes de red.
Puede especificar el paquete de licencia.
Se agregó la parametrización de análisis: documentAnalyse
.
Se corrigieron errores de compilación (Xcode 12.4 / Cocoapods 1.10.1)
Se agregó soporte para las licencias.
Se agregó compatibilidad con Xcode 12 en lugar de 11.
Se corrigió el error de documentAnalyse
por el que había que rellenar analyseStates
para lanzar el análisis.
Registro fijo.
Cambios en WebSDK
Implementación de actualizaciones de seguridad.
Los metadatos contienen ahora los nombres de todas las cámaras que se pueden utilizar.
Los formatos de video y zip permiten ahora cargar una imagen sin pérdidas.
Se corrigió Best Shot.
Se separaron el código de error y la descripción del error en las respuestas del servidor.
Si el modo SDK se está establecido en las variables de entorno architecture
, api_url
, se lo pasa a la configuración automáticamente.
En el modo Lite, puede seleccionar el mejor fotograma para cualquier acción.
En el modo Lite, una imagen enviada a través de la API obtiene el estado on_complete sólo después de que pase la prueba de Liveness.
Puede gestionar el CORS utilizando las variables de entorno (los encabezados CORS no se agregan por defecto).
Se agregó el valor de la carpeta para result_mode: devuelve el mismo valor que status pero con folder_id.
Se actualizó el cifrado: ahora sólo se cifran los metadatos necesarios para descifrar un objeto.
Se actualizó la transferencia de datos: las imágenes se envían en campos de formulario separados.
Se agregó la comprobación de los parámetros de la cámara.
Habilitado un nuevo método de encriptación de imágenes.
Formato de transferencia de imágenes optimizado.
Se agregó la opción "use_for_liveness": los dispositivos móviles utilizan la cámara trasera por defecto; en el escritorio, el giro y el círculo oval están desactivados. Por defecto, la opción está desactivada.
Se redujo la duración del video video_selfie_best de 1 a 0,2 segundos.
La carga de scripts es ahora personalizable.
Se mejoró la UX.
Se agregó la configuración regional kazaja.
Se agregó una guía para acceder a la cámara en un escritorio.
Se mejoró el registro: las peticiones de plugin_liveness.php y el registro del agente de usuario en el registro del servidor.
Se agregó el modo Lite.
Se agregó el cifrado.
Bibliotecas actualizadas.
Ahora puede ocultar el logo de Oz Forensics.
Actualizada una guía para Facebook, Instagram, Samsung, Opera.
Se agregaron controladores para variables desconocidas y una guía para navegadores "desconocidos".
Se optimizó el uso de la memoria para un cuadro.
Se agregó una guía sobre cómo encender las cámaras en los navegadores de Android.
Cambios en Android SDK
Mejora del modelo biométrico.
Se agregó una nueva API simplificada: AnalysisRequest. Con ella, es más fácil crear la solicitud de medios y análisis que necesita. Este es un ejemplo de uso de AnalysisRequest.
Se publicó el módulo on-device para los análisis de biometría y Liveness en el dispositivo. Para agregar este módulo a su proyecto, utilice:
Para lanzar estos análisis, utilice los métodos runOnDeviceBiometryAnalysis
y runOnDeviceLivenessAnalysis
de la clase OzLivenessSDK
:
El análisis Liveness es ahora más fluido.
Corregidos los bloqueos en los dispositivos Xiaomi.
Conversión de imágenes optimizada
Nuevo parámetro de metadatos para OzLivenessSDK.uploadMedia
y nuevo método OzLivenessSDK.uploadMediaAndAnalyze
para pasar este parámetro a las carpetas.
Se han agregado funciones para la inicialización del SDK con LicenseSources: LicenseSource.LicenseAssetId
y LicenseSource.LicenseFilePath
. Utilice el método OzLivenessSDK.init
para lanzar la inicialización.
Ahora puede obtener la información de la licencia durante la inicialización val licensePayload = OzLivenessSDK.getLicensePayload().
Se agregó la configuración regional kirguisa.
Se agregaron funciones de análisis local.
Ahora puede configurar el marco facial.
Se corrigió el número de versión en la pantalla de Liveness.
Se agregó soporte para la cámara principal.
Se agregó la configuración desde el soporte de licencias.
Se agregó el gesto OneShot.
Se agregaron nuevos estados para OzAnalysisResult.Resolution
.
Se agregó el método uploadMediaAndAnalyze
para cargar un grupo de archivos multimedia en el servidor a la vez y enviarlos al análisis inmediatamente.
OzMedia
pasa a llamarse OzAbstractMedia
y tiene subclases para imágenes y videos.
Se han corregido los errores de la cámara en algunos dispositivos.
El token de acceso se actualiza automáticamente.
Se cambó el nombre de accessToken
a permanentAccessToken
.
Añadidas las reglas del R8.
La configuración se ha hecho más fácil: ahora se pueden cambiar los ajustes de config
Se corrigió el marco ovalado.
Se eliminaron los parámetros no utilizables de AnalyseRequest
.
Se eliminaron los límites de intentos por defecto.
Para personalizar las opciones de configuración, se agrega la propiedad config en lugar de baseURL
, accessToken
, etc. Utilice OzConfig.Builder
para la inicialización.
Se agregó soporte de licencias. Las licencias deben instalarse como recursos raw. Para pasarlos a OzConfig
, utilice setLicenseResourceId
.
Se sustituyeron los métodos dependientes del contexto por análogos.
Se mejoró el análisis de imágenes. Se eliminaron las dependencias que no se pueden utilizar.
Registro fijo.
Aquí encontrará consejos y trucos útiles que podrían facilitar su interacción con Oz.
Los medios que cargue en el sistema biométrico facial y de vida de Oz Forensics deben cumplir nuestros requisitos de calidad. Esto garantiza que el sistema funcione correctamente.
Máximo de archivos en una sola carpeta = 10 (paramétrico).
Tamaño máximo del archivo = 10 Mb (paramétrico).
La resolución de la imagen debe ser 1920×1080 o superior;
El rostro debe ser fotografiado de frente, la cabeza no debe estar girada hacia ningún lado por más de 15⁰;
Las formas de el rostro son claramente visibles;
La zona de los ojos no debe estar oscura;
El tamaño de el rostro debe ocupar del 5 al 70 % del área total de la imagen;
Formato de imagen: *.jpeg, *.jpg, *.png.
La duración del video es de 3 a 5 segundos;
Tasa de bits: 10 000 kbit/seg;
Velocidad de fotogramas: 30 fps;
Resolución: 720p;
Orientación: retrato;
Los tipos MIME admitidos:
video/mpeg;
video/mp4;
video/ogg;
video/quicktime;
video/webm;
video/x-ms-wmv;
video/x-msvideo.
La duración del video es de 3 a 5 segundos;
Tasa de bits: 10 000 kbit/seg;
Velocidad de fotogramas: 30 fps;
Resolución: 720p;
Orientación: retrato;
Los tipos MIME admitidos:
video/mpeg;
video/mp4;
video/ogg;
video/quicktime;
video/webm;
video/x-ms-wmv;
video/x-msvideo.
Cambios en WebUI
Eliminamos el botón Add Company, que era innecesario en el formulario de edición del usuario.
Mejoramos el funcionamiento del módulo de estadísticas.
En la página de estadísticas, el filtro por fecha ahora funciona como es debido.
Al crear un usuario: si selecciona la opción de enviar un nombre de usuario y contraseña por correo electrónico y el correo electrónico no se puede entregar, el usuario no se crea.
Corregimos errores.
Eliminamos de la Web UI el análisis PhotoExpert / Image Forensics, que no se utilizaba
En la página estadísticas, se agregó un filtro de empresas.
Los administradores obtuvieron derechos para activar y desactivar usuarios. Requiere la API v 3.31.0.
Vuelven los gráficos para los meta campos.
Se agregó la vista de la mejor toma a los análisis Quality y Liveness.
Nos actualizamos a Laravel 8 y PHP 8.
Ahora puede ver el tiempo que se tarda en realizar el análisis.
En las estadísticas, los identificadores de las empresas se sustituyen por los nombres de las mismas.
Se agregó el identificador de la carpeta al nombre del informe.
Si tiene varias plantillas de informes, al crear un nuevo informe, se le pedirá que elija un informe. La selección automática ha desaparecido.
Se modificó el proceso de creación de carpetas: el perfil de la API can_start_analyse_*
determina ahora si se puede lanzar un análisis o no.
Ahora puede administrar los campos del perfil de usuario can_start_analyse_*
.
Cuando se administra un usuario, el Admin o el Client Admin solo pueden cambiar los campos de can_start_analyse_*
a los que tienen acceso
Se cambió la autorización a través de la API.
Se agregó un gráfico para el número de carpetas.
Se corrigió la carpeta de fecha y hora en la lista de carpetas.
Se agregó la carpeta de fecha y hora a la lista de carpetas.
La zona horaria se trasladó al perfil del usuario.
Se agregó un gráfico de barras.
Se agregó el filtro analyse.state
.
Ahora puede exportar carpetas como .xls
Guardar un conjunto de gráficos ahora funciona bien.
Se han agregado nuevos gráficos de clientes.
Se agregaron etiquetas para el gráfico circular.
Ahora puede buscar usuarios a través de search_text.
Se eliminaron los gráficos de metadatos.
Se borró la lista de gráficos por defecto.
Se agregó un nuevo gráfico.
El enlace de las estadísticas se ve ahora en el menú (con permisos y si las estadísticas existen).
Los gráficos ahora se pueden guardar; una vez guardados, se muestran abiertos en las estadísticas.
Se localizaron los gráficos.
Se agregaron nuevas estadísticas.
Se agregó un soporte para conjuntos de tomas: media SHOTS_SET_FOLDER
.
Se agregó el módulo de estadísticas.
Las decisiones manuales pueden modificarse.
Se han agregado bibliotecas de clientes para la visualización de la fecha/hora y se ha mejorado el reconocimiento de la zona horaria del cliente.
Se corrigió la visualización de la fecha y hora.
Se agregó el ajuste de texto para los metadatos largos.
Se agregó el rol Client Operator.
Se agregan decisiones manuales: un humano puede comprobar si los algoritmos han sido correctos o no, y cambiar el resultado del análisis.
Se agregó la visualización de decisiones manuales.
Se agregaron botones para ver y tomar una decisión.
Sólo Admin и Client Admin puede ver el botón de eliminación de análisis.
Se agregó la compensación de zonas horarias: se almacena en las cookies y se agrega a las marcas de tiempo en el lado del cliente. La compensación se puede eliminar usando js.
Se corrigió la compensación de la zona horaria del servidor.
Se agregó una plantilla de informe predeterminada (.rml).
Se agregó un generador de contraseñas personalizable.
Se agregó una interfaz de configuración al generador de contraseñas, para que pueda probarla.
Ahora puede enviar los datos del usuario por correo electrónico. Para destinatarios adicionales, utilice mail.use_bcc.
Se agregó una plantilla de empresa predeterminada.
Ahora puede crear una nueva empresa mientras agrega nuevos usuarios.
Se agregaron etiquetas de orientación de videos.
La lista de análisis disponibles ahora cambia dinámicamente en función de los archivos que se carguen.
Se agregó una comprobación de la lista de archivos en el lado del servidor. Cuando se crea la carpeta, comprobamos qué medios se incluyen en ella y cargamos sólo los análisis adecuados.
Puede ver la versión del programa en la sección Settings.
El resultado del análisis QUALITY muestra ahora sólo las posibilidades de suplantación.
Se agregó un formato de fecha personalizable para el análisis de documentos.
Se eliminó el filtro de estado de resolución para la lista de carpetas.
Se cambió el método de formación de la cola de análisis al crear carpetas.
Se agregaron filtros de carpeta: id., usuario, empresa, resolución. Puede ocultarlos si es necesario.
Se agregó la comprobación del reverso del documento.
Ahora se muestran los detalles del propietario de la carpeta.
En cuanto a la función del usuario, puede ver al propietario con su nombre, dirección de correo electrónico y empresa.
El rol User no tiene acceso para ver al propietario de la carpeta.
Sólo Admin y Operator pueden ver la empresa propietaria
Cuando hace algo con una colección, su estado se actualiza.
Se corrigió un error relacionado con la eliminación de campos de filtro en la sección de carpetas de la vista.
El botón de sincronización se anima cuando se necesita realizar una sincronización.
Se modificó la plantilla y el analizador sintáctico para el análisis de lista negra.
Ahora se muestran los nombres en la lista de personas de la colección.
Los usuarios sin empresa ya no ven el botón de edición de la empresa,
Ahora puede administrar la renovación del estado de las colecciones: indicación de estado, errores, comprobación de estado.
Se modificó el proceso de gestión de las plantillas.
Ahora puede descargar los archivos de código fuente.
Se arregló la administración de usuarios.
Ahora puede administrar las plantillas y las colecciones (agregar/eliminar).
Ahora puede agregar, editar y eliminar personas a las colecciones, y trabajar con imágenes relacionadas.
Se actualizó la interfaz.
La edición de una empresa también permite administrar sus plantillas y colecciones.
Ahora puede eliminar una carpeta mientras la visualiza.
Se han agregado etiquetas a los botones de administración de usuarios.
Se corrigió la longitud del contenido para las nuevas versiones de cURL.
Se agregó el filtro "Sólo errores" a los resultados del análisis de documentos.
Se desactivó el resultado de Liveness en el análisis Quality.
Se corrigieron errores en la administración de usuarios y empresas.
Se agregó el estado de resolución.
Se corrigieron los errores de los informes: a partir de ahora, para crear un informe, una empresa debe tener al menos una plantilla.
Se corrigieron las etiquetas de imagen.
Ahora puede ver cuántas carpetas han aparecido desde que empezó a ver la lista de carpetas actual.
Ahora puede seleccionar los análisis que desea lanzar.
Se corrigieron los errores en las claves largas.
Se eliminaron los usuarios temporales.
Se eliminaron las marcas de tiempo innecesarias.
Se corrigieron los enlaces de usuarios (especialmente los de empresas).
Dejamos la oportunidad de utilizar la documentación conocida para aquellos que empezaron a implantar nuestros productos antes de febrero de 2021. La documentación está en inglés.
Desde febrero de 2021, hemos lanzado la nueva documentación, que incluye artículos revisados de la documentación anterior y nuevas instrucciones. Los nuevos artículos están en constante actualización para que nuestros clientes y visitantes del sitio reciban siempre la documentación más reciente.
Si comenzó a implementar nuestros productos antes de febrero de 2021 y no ha cambiado nada desde entonces, la documentación anterior está disponible para usted en este enlace.
Una guía sobre cómo obtener y ampliar las tokens.
Para obtener los tokens de acceso, haga una solicitud POST a/authorize/auth/
con el correo electrónico y la contraseña necesarios en el cuerpo de la solicitud. La respuesta correcta devolverá un par de tokens:access_token
y expire_token
.
access_token es una clave que le da acceso a los recursos del sistema. Para acceder a un recurso, debe agregar su access_token
al encabezado.
headers = {‘ X-Forensic-Access-Token’: <access_token>}
access_token funciona por un tiempo limitado, los límites dependen del tipo de cuenta.
cuentas de servicio: – OZ_SESSION_LONGLIVE_TTL
(5 años por defecto),
otras cuentas: – OZ_SESSION_TTL
(15 minutos por defecto).
expire_token es el token que se utiliza para obtener un nuevo par de tokens.
Si el valor de expire_date
> fecha actual, el valor de expire_date
de la sesión actual se establece en la fecha actual + el período de tiempo definido como se muestra arriba (dependiendo del tipo de cuenta).
Para renovar access_token
y expire_token
, haga una petición POST a authorize/refresh/
. Agregue expire_token
al cuerpo de la petición y X-Forensic-Access-Token
al encabezado. En caso de éxito, recibirá un nuevo par de access_token
y expire_token
. El par "antiguo" se eliminará durante la primera autentificación con los tokens renovados.
Código de error
Mensaje de error
¿Qué provocó el error?
400
No se pudo localizar el campo de key_path
expire_token
de los datos dict proporcionados
expire_token
no se encontró en el cuerpo de la solicitud
401
Sesión no encontrada
La sesión con expire_token
que ha pasado no existe.
403
No tiene acceso para actualizar esta sesión
El usuario que realiza la solicitud no es el propietario de esta sesión de expire_token
.
Los códigos de respuesta 2 XX indican una solicitud correctamente procesada (por ejemplo, el código 200 para recuperar datos, el código 201 para agregar una nueva entidad, el código 204 para una eliminación correcta, etc.)
Los códigos de respuesta 4 XX indican que una solicitud no se pudo procesar correctamente debido a algunos problemas con los datos del cliente (por ejemplo, 404 al dirigirse a un recurso inexistente).
Los códigos de respuesta 5 XX indican que se ha producido un error del lado del SI durante el procesamiento de la solicitud (por ejemplo, cuando una BD no está disponible temporalmente).
Cada error de respuesta incluye el código HTTP y los datos JSON con la descripción del error. Tiene la siguiente estructura:
error_code
– número del código de error;
error_message
– texto con la descripción del error;
details
– detalles adicionales del error (el formato se especifica para cada caso). Puede estar vacío.
Ejemplo de respuesta de error:
Códigos de error:
0 – UNKNOWN
Error de servidor desconocido.
1 - NOT ALLOWED
Se llamó un método no permitido. Por lo general, le sigue el estado de respuesta HTTP 405. Por ejemplo, al intentar solicitar el método PATCH, cuando sólo se admiten los métodos GET/POST.
2 - NOT REALIZED
El método está documentado pero no realizado, por ninguna razón temporal o permanente.
3 - INVALID STRUCTURE
Estructura incorrecta de la solicitud. Faltan algunos campos obligatorios o se ha producido un error de validación de formato.
4 - INVALID VALUE
Valor incorrecto del parámetro dentro del cuerpo de la solicitud o de la consulta.
5 - INVALID TYPE
Tipo de datos no válido del parámetro de la solicitud.
6 - AUTH NOT PROVIDED
No se especificó el token de acceso.
7 - AUTH INVALID
El token de acceso no existe en la base de datos.
8 - AUTH EXPIRED
El token de autentificación caducó.
9 - AUTH FORBIDDEN
Acceso denegado para el usuario actual.
10 - NOT EXIST
No se encuentra el recurso solicitado (alternativa de HTTP status_code = 404).
11 - EXTERNAL SERVICE
Error en el sistema de información externo.
12 – DATABASE
Error crítico de la base de datos en el servidor.
Oz API es el componente más importante del sistema. Su función es garantizar que todos los demás componentes estén conectados entre sí. Oz API:
proporciona la interfaz Rest API unificada para ejecutar análisis de Liveness y Biometry
procesa la autorización y administración de los permisos de los usuarios
sigue y registra las solicitudes y análisis enviados a la base de datos
archiva los archivos multimedia entrantes
recoge la telemetría de las app móviles conectadas
proporciona ajustes para modelos de dispositivos específicos
genera informes con los resultados de los análisis
Descripción del esquema de API Rest:
Para su correcto funcionamiento, los algoritmos de resolución necesitan que cada medio cargado esté marcado con etiquetas especiales. Las etiquetas del video y de las imágenes son diferentes. Su función es ayudar a los algoritmos a identificar lo que debe aparecer en la foto o el video y a analizar el contenido.
Los siguientes tipos de etiquetas deben especificarse en el sistema para los archivos de video.
Para identificar el tipo de datos del video:
video_selfie
Para identificar la orientación del video:
orientation_portrait
– orientación vertical;
orientation_landscape
– orientación horizontal.
Para identificar la acción en el video:
video_selfie_left
– giro de cabeza a la izquierda;
video_selfie_right
– giro de cabeza a la derecha;
video_selfie_down
– inclinación de la cabeza hacia abajo;
video_selfie_high
– cabeza levantada;
video_selfie_smile
- sonrisa;
video_selfie_eyes
- parpadeo;
video_selfie_scan
- escaneo.
Ejemplo del conjunto de etiquetas correctas para un archivo de video con la acción "parpadeo":
Los siguientes tipos de etiquetas deben especificarse en el sistema para los archivos de video:
Una etiqueta para selfies:
photo_selfie
– para identificar el tipo de imagen como "selfie".
Etiquetas para fotos/escaneos de tarjetas de identidad:
photo_id
– para identificar el tipo de imagen como "ID";
photo_id_front
– para la foto del anverso del DNI;
photo_id_back
– para la foto del reverso del DNI.
Ejemplo del conjunto de etiquetas correcto para un archivo de fotos "selfie":
Example of the correct tag set for a photo file with the face side of an ID card:
Ejemplo del conjunto de etiquetas correcto para un archivo de foto con el anverso de un documento de identificación:
Descargue la última versión de la app de demostración:
Para obtener el código fuente de las aplicaciones de muestra de Oz Liveness SDK, recurra al repositorio de GitLab:
Agregue lo siguiente al build.gradle
del proyecto:
Agruegue al build.gradle
odel módulo (VERSION es la versión que necesita implementar. Consulte el Registro de cambios):
y:
A partir de la versión 5.0, el SDK requiere una licencia para funcionar. Póngase en contacto con nosotros por correo electrónico para obtener una copia de la licencia. Para crear la licencia, se requiere su applicationId
(bundle id
).
Para pasar su archivo de licencia al SDK, llame el método OzLivenessSDK.init
con una lista de LicenseSources
. Utilice uno de los siguientes:
LicenseSource.LicenseAssetId
debe contener una ruta de acceso a un archivo de licencia llamado forensics.license
, que tiene que estar ubicado en la carpeta res/raw del proyecto.
LicenseSource.LicenseFilePath
debe contener una ruta de acceso al lugar del almacenamiento del dispositivo donde se encuentra el archivo de licencia.
Se recomienda aplicar estos ajustes al iniciar la app.
Puede personalizar la interfaz de Oz Liveness con la ayuda de la clase OzCustomization y sus subclases:
Por defecto, el SDK utiliza la localización regional del dispositivo. Para cambiar la localización regional, utilice el siguiente código:
Para autorizar Oz API y obtener el token de acceso, utilice el método OzLivenessSDK.login
con el nombre de usuario y la contraseña proporcionados por su administrador de cuentas de Oz Forensics:
Si ya tiene el token de acceso, especifique la URL de la API y el token de forma manual:
Para iniciar la grabación, utilice el métodostartActivityForResult
:
actions:
lista de acciones del usuario durante la grabación de video. Las acciones posibles son:
OzAction.Smile
OzAction.EyeBlink
OzAction.HeadUp
OzAction.HeadDown
OzAction.HeadLeft
OzAction.HeadRight
OzAction.Scan
OzAction.Blank
OzAction.OneShot
Para obtener el video capturado, utilice el métodoonActivityResult
:
sdkMediaResult:
objeto con los resultados de captura de video para las interacciones con Oz API
sdkErrorString:
descripción de los errores, si los hay
Hay dos formas de enviar archivos multimedia para su análisis:
análisis en el servidor: el sistema envía archivos multimedia a un servidor remoto y luego espera su respuesta.
análisis en el dispositivo: los archivos multimedia se analizan en el dispositivo, sin enviarlos a ninguna parte
Los datos que se cargan y analizan se almacenan en el objeto sdkMediaResult
, obtenido tras la captura y grabación de video. Cárguelo en el servidor e inicie los análisis necesarios mediante Oz API.
Un escenario simple de interacción con Oz API puede implementarse con el método uploadMediaAndAnalyze como se describe a continuación.
Utilice los siguientes métodos para ejecutar el análisis en el dispositivo:
Comprueba la presencia del token de acceso a la Oz API guardado:
LogOut:
El SDK contiene la interfaz IOzForensicsAPI
, que describe las llamadas de red a la API, que se pueden usar para crear una instancia de Retrofit.
Esta interfaz utiliza un convertidor gson y opera con clases del paquete com.ozforensics.liveness.sdk.api.model
.
Aparte de esto, la interfaz especifica un método estático para crear una instancia de Retrofit por defecto (sin escritura en registro, interceptores y con tiempos de espera de 15 segundos). Esta instancia buscará el servidor en la dirección especificada:
El SDK incluye la clase OzForensicsService
que utiliza una instancia de Retrofit de OzForensicsAPI.create()
. Esta clase envuelve las llamadas de red de la interfaz de Retrofit y comprueba la presencia de un token. Cuando se realiza una solicitud de autentificación, el token se almacena automáticamente para objetivos internos. Además, se agregan los metadatos necesarios cuando se realizan las solicitudes de red (creación de una carpeta, carga de datos multimedia para su análisis). Las llamadas a métodos de esta clase son asíncronas (se utiliza la interfaz StatusListener<>
). Puede obtener una instancia de esta clase de la siguiente manera:
Si el valor del parámetro TOKEN
es null
, se requiere autorización antes de realizar cualquier llamada a la API (excepto auth
):
Después de una solicitud correcta, se ejecuta onSuccessCallback
para que el token de acceso se pueda transferir con AuthResponse
.