Implementar rápidamente el reconocimiento facial resistente a la suplantación sin una conexión a la nube
Colaboración de Editores de DigiKey de América del Norte
2021-02-24
El reconocimiento facial ha ganado una gran aceptación para autenticar el acceso a los teléfonos inteligentes, pero los intentos de aplicar esta tecnología de forma más amplia se han quedado cortos en otros ámbitos a pesar de su eficacia y facilidad de uso. Además de los retos técnicos que plantea la implantación de soluciones de aprendizaje automático fiables y de bajo costo, los desarrolladores deben responder a las preocupaciones de los usuarios en torno a la fiabilidad y la privacidad de los métodos convencionales de reconocimiento facial que dependen de conexiones en la nube que son vulnerables a la suplantación de identidad.
Este artículo analiza la dificultad de la autenticación segura antes de presentar una solución de hardware y software de NXP Semiconductors que resuelve los problemas. A continuación, se muestra cómo los desarrolladores sin experiencia previa en métodos de aprendizaje automático pueden utilizar la solución para implementar rápidamente el reconocimiento facial anti-spoofing offline en un producto inteligente.
Los retos de la autenticación segura de los productos inteligentes
Ante la creciente preocupación por la seguridad de los productos inteligentes, los desarrolladores se han encontrado con pocas opciones sostenibles para autenticar de forma fiable a los usuarios que buscan un acceso rápido, pero seguro. Los métodos tradicionales se basan en métodos de autenticación multifactoriales que se apoyan en alguna combinación de los tres factores clásicos de autenticación: "Algo que sabes", como una contraseña; "Algo que tienes", como una llave física o una tarjeta de claves; y "Algo que eres", que suele ser un factor biométrico como una huella dactilar o el iris. Con este enfoque, una cerradura de puerta fuertemente autentificada podría requerir que el usuario introduzca un código de acceso, utilice una tarjeta llave y, además, proporcione una huella digital para desbloquear la puerta. En la práctica, estos requisitos tan estrictos resultan molestos o simplemente poco prácticos para los consumidores que necesitan volver a autenticarse con frecuencia y facilidad con un smartphone u otro dispositivo de uso habitual.
El uso del reconocimiento facial ha simplificado significativamente la autenticación para los usuarios de teléfonos inteligentes, pero estos poseen algunas ventajas que podrían no estar disponibles en todos los dispositivos. Además de la importante capacidad de procesamiento de los smartphones de última generación, la conectividad permanente es un requisito fundamental para ofrecer la sofisticada gama de servicios que esperan habitualmente sus usuarios.
Para muchos productos que requieren una autenticación segura, la plataforma operativa subyacente suele proporcionar recursos informáticos más modestos y una conectividad más limitada. Los servicios de reconocimiento facial de los principales proveedores de servicios en la nube trasladan la carga de procesamiento a la nube, pero la necesidad de una conectividad resistente que garantice una latencia de respuesta mínima podría imponer requisitos que siguen estando por encima de las capacidades de la plataforma. De igual o mayor preocupación para los usuarios, la transmisión de su imagen a través de redes públicas para su procesamiento y su posible almacenamiento en la nube plantea importantes problemas de privacidad.
Gracias a los procesadores i.MX RT106F de NXP Semiconductors y al software asociado, los desarrolladores pueden ahora implementar el reconocimiento facial fuera de línea que resuelve directamente estos problemas.
Hardware y software para el reconocimiento facial offline a prueba de falsificaciones
Miembro de la familia de microcontroladores (MCU) NXP i.MX RT1060 Crossover, la serie NXP i.MX RT106F está específicamente diseñada para soportar una fácil integración del reconocimiento facial offline en dispositivos domésticos inteligentes, aparatos de consumo, dispositivos de seguridad y equipos industriales. Basados en un núcleo de procesador Arm® Cortex®-M7, los procesadores funcionan a 528 megahercios (MHz) en el caso del MIMXRT106FCVL5B de grado industrial, o a 600 MHz en el caso de los procesadores de grado comercial como el MIMXRT106FDVL6A y el MIMXRT106FDVL6B.
Además de admitir una amplia gama de interfaces de memoria externa, los procesadores i.MX RT106F incluyen 1 megabyte (Mbyte) de memoria de acceso aleatorio (RAM) en el chip, con 512 kilobytes (Kbyte) configurados como RAM de propósito general, y 512 Kbytes que pueden configurarse como RAM de propósito general o como memoria estrechamente acoplada (TCM) para instrucciones (I-TCM) o datos (D-TCM). Además de la gestión de la energía en el chip, estos procesadores ofrecen un amplio conjunto de funciones integradas de gráficos, seguridad, control de sistemas e interfaces analógicas y digitales, que suelen ser necesarias para los dispositivos de consumo, las interfaces hombre-máquina (HMI) industriales y el control de motores (Figura 1).
Figura 1: Los procesadores i.MX RT106F de NXP Semiconductor combinan un conjunto completo de bloques funcionales necesarios para el reconocimiento facial en productos de consumo, industriales y de seguridad. (Fuente de la imagen: NXP)
Aunque son similares a otros miembros de la familia i.MX RT1060, los procesadores i.MX RT106F incluyen una licencia de ejecución para el software de reconocimiento facial Oasis Lite de NXP. Diseñado para acelerar la inferencia en esta clase de procesadores, el entorno de ejecución de Oasis Lite realiza la detección y el reconocimiento de rostros, e incluso una clasificación limitada de emociones, utilizando modelos de inferencia de redes neuronales (NN) que se ejecutan en un motor de inferencia y MiniCV, una versión reducida de la biblioteca de visión por computadora de código abierto OpenCV. El motor de inferencia se basa en una biblioteca NXP NN y en la biblioteca Arm Cortex Microcontroller System Interface Standard NN (CMSIS-NN) (Figura 2).
Figura 2: La biblioteca de tiempo de ejecución NXP Oasis Lite incluye un núcleo Oasis Lite que utiliza MiniCV y un motor de inferencia de NXP construido sobre bibliotecas de redes neuronales de NXP y Arm. (Fuente de la imagen: NXP)
Los modelos de inferencia residen en la plataforma i.MX RT106F, por lo que la detección y el reconocimiento facial se ejecutan localmente, a diferencia de otras soluciones que dependen de recursos basados en la nube para ejecutar los algoritmos de aprendizaje automático. Gracias a esta capacidad de reconocimiento facial fuera de línea, los diseñadores de productos inteligentes pueden garantizar una autenticación privada y segura a pesar de que el ancho de banda sea bajo o la conectividad a Internet sea irregular. Además, la autentificación se produce rápidamente con esta combinación de hardware y software, necesitando menos de 800 milisegundos (ms) para que el procesador se despierte del modo de espera de bajo consumo y complete el reconocimiento facial.
Utilizado con el procesador i.MX RT106F, el tiempo de ejecución de Oasis Lite simplifica la implementación del reconocimiento facial fuera de línea para productos inteligentes, pero el procesador y el entorno de ejecución son, por supuesto, solo una parte de la solución de sistema necesaria. Junto con un conjunto más completo de componentes del sistema, una solución de autenticación eficaz requiere una capacidad de creación de imágenes que pueda mitigar un tipo de amenaza a la seguridad denominada ataques de presentación. Estos ataques intentan falsear la autentificación del reconocimiento facial mediante el uso de fotografías. Para los desarrolladores que deseen implantar rápidamente la autenticación basada en el rostro en sus propios productos, el kit de desarrollo NXP SLN-VIZNAS-IOT y el software asociado proporcionan una plataforma lista para usar para la evaluación, la creación de prototipos y el desarrollo del reconocimiento facial offline y antifalsificación.
Solución completa de sistemas seguros para el reconocimiento facial
Como ocurre con la mayoría de los procesadores avanzados, el procesador i.MX RT106F solo requiere unos pocos componentes adicionales para ofrecer una plataforma informática eficaz. El kit NXP SLN-VIZNAS-IOT completa el diseño integrando el i.MX RT106F con dispositivos adicionales para proporcionar una plataforma de hardware completa (Figura 3).
Figura 3: El kit NXP SLN-VIZNAS-IOT incluye un módulo conectado que proporciona una sólida plataforma de sistema conectado necesaria para ejecutar el software de autenticación. (Fuente de la imagen: NXP)
La placa del módulo conectado del kit combina un procesador NXP MIMXRT106FDVL6A i.MX RT106F, un elemento seguro NXP A71CH y dos opciones de conectividad: el sistema en chip (SoC) Bluetooth de baja energía (BLE) MKW41Z512VHT4 Kinetis KW41Z de NXP y el módulo Wi-Fi/Bluetooth LBEE5KL1DX-883 de Murata Electronics.
Para complementar la memoria en chip del procesador, el módulo conectado añade la memoria RAM dinámica síncrona (SDRAM) de 256 megabits (Mbit) de Winbond Electronics, una memoria flash NOR de 256 mbit IS26KL256S-DABLI00 Integrated Silicon Solution. Inc. (ISSI) y el dispositivo de interfaz periférica serial (SPI) IS25LP256D de 256 Mbit de ISSI.
Por último, el módulo añade un convertidor reductor XCL214B333DR de Torex Semiconductor para complementar las capacidades de gestión de energía interna del procesador i.MX RT106F para los dispositivos adicionales de la placa del módulo conectado.
El módulo conectado se monta a su vez en una placa de aplicación de visión que combina un sensor de infrarrojos pasivos (PIR) IRA-S210ST01 de Murata Electronics, un sensor de movimiento, un cargador de baterías, soporte de audio, diodos emisores de luz (LED), botones y conectores de interfaz (Figura 4).
Figura 4: En el kit NXP SLN-VIZNAS-IOT, el módulo conectado (izquierda) se acopla a la placa de aplicación de visión para proporcionar la base de hardware para el reconocimiento facial. (Fuente de la imagen: NXP)
Junto con esta plataforma del sistema, el diseño de un sistema de reconocimiento facial requiere claramente un sensor de cámara adecuado para capturar una imagen de la cara del usuario. Sin embargo, como se ha mencionado anteriormente, la preocupación por los ataques de presentación requiere capacidades de imagen adicionales.
Mitigación de los ataques de presentación
Los investigadores han explorado durante años diferentes métodos de detección de ataques de presentación (PAD) diseñados para mitigar intentos como el uso de huellas dactilares latentes o imágenes de un rostro para falsear los sistemas de autenticación basados en la biometría. Aunque los detalles van mucho más allá del alcance de este artículo, los métodos PAD en general utilizan un análisis profundo de la calidad y las características de los datos biométricos capturados como parte del proceso, así como métodos de detección de la "vitalidad" diseñados para determinar si los datos biométricos fueron capturados de una persona viva. Los modelos de redes neuronales profundas (DNN) que subyacen a muchos de estos métodos desempeñan un papel importante no solo en el reconocimiento de rostros, sino también en la identificación de intentos de falsificación del sistema. No obstante, el sistema de imágenes utilizado para capturar la cara del usuario puede proporcionar un apoyo adicional para la detección de la vitalidad.
Para el kit SLN-VIZNAS-IOT, NXP incluye módulos de cámara que contienen un par de sensores de imagen MT9M114 de ON Semiconductor. En este caso, una cámara está equipada con un filtro rojo, verde y azul (RGB), y la otra con un filtro infrarrojo (IR). Conectada a través de interfaces de cámara a la placa de aplicación de visión, la cámara RGB genera una imagen de luz visible normal, mientras que la cámara IR captura una imagen que sería diferente para una persona viva en comparación con una imagen de la persona. Utilizando este enfoque de detección de vitalidad junto con su capacidad interna de reconocimiento facial, el kit SLN-VIZNAS-IOT proporciona una capacidad de reconocimiento facial fuera de línea y antifalsificación en un paquete que mide unos 30 x 40 milímetros (mm) (Figura 5).
Figura 5: El kit de hardware SLN-VIZNAS-IOT de NXP integra un sistema de doble cámara para la detección de la vitalidad (arriba) y una placa de aplicación de visión (abajo) con un módulo conectado para ofrecer una solución de reconocimiento facial fuera de línea con capacidad antifalsificación. (Fuente de la imagen: NXP)
Introducción al kit SLN-VIZNAS-IOT
El kit NXP SLN-VIZNAS-IOT viene listo para usar con modelos de reconocimiento facial incorporados. Los desarrolladores conectan un cable USB y tocan un botón del kit para realizar un sencillo registro facial manual mediante la aplicación "elock" precargada y la app móvil que la acompaña (Figura 6, izquierda). Tras el registro, la aplicación móvil mostrará un mensaje de "bienvenida a casa" y una etiqueta de "desbloqueado" cuando el kit autentique la cara registrada (Figura 6, derecha).
Figura 6: El kit de hardware SLN-VIZNAS-IOT de NXP funciona de forma inmediata, utilizando una aplicación complementaria para registrar una cara (izquierda) y reconocer las caras registradas (derecha). (Fuente de la imagen: NXP)
El software de reconocimiento facial Oasis Lite del kit procesa modelos de su base de datos de hasta 3.000 rostros RGB con una precisión de reconocimiento del 99.6%, y de hasta 100 rostros IR con una precisión de antifalsificación del 96.5%. Como se ha señalado anteriormente, la solución de hardware/software de NXP necesita menos de un segundo (s) para realizar la detección de rostros, la alineación de la imagen, la comprobación de la calidad, la detección de vitalidad y el reconocimiento en un rango de 0.2 a 1.0 metros (m). De hecho, el sistema admite un modelo de inferencia "ligero" alternativo capaz de realizar esta misma secuencia en menos de 0.5 s, pero admite un tamaño máximo de base de datos más pequeño, de 1.000 caras RGB y 50 caras IR.
Creación de aplicaciones de reconocimiento facial personalizadas
Utilizado tal cual, el kit NXP SLN-VIZNAS-IOT permite a los desarrolladores evaluar, crear prototipos y desarrollar rápidamente aplicaciones de reconocimiento facial. Al crear soluciones de hardware personalizadas, el kit sirve como diseño de referencia completo con esquemas completos y una lista de materiales (BOM) detallada. Para el desarrollo de software, los programadores pueden utilizar el entorno de desarrollo integrado (IDE) NXP MCUXpresso con soporte para FreeRTOS y herramientas de configuración. Para esta aplicación, los desarrolladores simplemente utilizan el MCUXpresso SDK Builder en línea de NXP para configurar su entorno de desarrollo de software con el SDK VIZNAS de NXP, que incluye el motor de visión de aprendizaje automático Oasis Lite de NXP (Figura 7).
Figura 7: NXP proporciona un entorno de software completo que ejecuta la biblioteca de tiempo de ejecución Oasis Lite de NXP y el middleware de utilidad en el sistema operativo FreeRTOS. (Fuente de la imagen: NXP)
El paquete de software incluye el código fuente completo del entorno operativo, así como la aplicación de ejemplo elock mencionada anteriormente. NXP no proporciona el código fuente de su motor propietario Oasis Lite ni de los modelos. En su lugar, los desarrolladores trabajan con la biblioteca de tiempo de ejecución de Oasis Lite utilizando la interfaz de programación de aplicaciones (API) proporcionada, que incluye un conjunto de llamadas a funciones intuitivas para realizar las operaciones soportadas. Además, los desarrolladores utilizan un conjunto proporcionado de definiciones y estructuras en C para especificar varios parámetros, incluyendo el tamaño de la imagen, la asignación de memoria, las devoluciones de llamada y las funciones habilitadas utilizadas por el sistema cuando se inicia el entorno de ejecución de Oasis Lite (Listado 1).
Copiar
typedef struct {
//max input image height, width and channel, min_face: minimum face can be detected
int height;
int width;
//only valid for RGB images; for IR image, always GREY888 format
OASISLTImageFormat_t img_format;
OASISLTImageType_t img_type;
//min_face should not smaller than 40
int min_face;
/*memory pool pointer, this memory pool should only be used by OASIS LIB*/
char* mem_pool;
/*memory pool size*/
int size;
/*output parameter,indicate authenticated or not*/
int auth;
/*callback functions provided by caller*/
InfCallbacks_t cbs;
/*what functions should be enabled in OASIS LIB*/
uint8_t enable_flags;
/*only valid when OASIS_ENABLE_EMO is activated*/
OASISLTEmoMode_t emo_mode;
/*false accept rate*/
OASISLTFar_t false_accept_rate;
/*model class */
OASISLTModelClass_t mod_class;
} OASISLTInitPara_t;
Listado 1: Los desarrolladores pueden modificar los parámetros de ejecución del software modificando el contenido de estructuras como la que se muestra aquí para la inicialización del tiempo de ejecución de Oasis Lite. (Fuente del código: NXP)
El código de aplicación de muestra de elock demuestra los patrones de diseño clave para lanzar Oasis como una tarea que se ejecuta bajo FreeRTOS, inicializando el entorno y entrando en su etapa de ejecución normal. En la etapa de ejecución, el entorno de ejecución opera sobre cada fotograma de una imagen, ejecutando las funciones de devolución de llamada proporcionadas asociadas a cada evento definido en el entorno (Listado 2).
Copiar
typedef enum {
/*indicate the start of face detection, user can update frame data if it is needed.
* all parameter in callback parameter is invalid.*/
OASISLT_EVT_DET_START,
/*The end of face detection.
*if a face is found, pfaceBox(OASISLTCbPara_t) indicated the rect(left,top,right,bottom point value)
*info and landmark value of the face.
*if no face is found,pfaceBox is NULL, following event will not be triggered for current frame.
*other parameter in callback parameter is invalid */
OASISLT_EVT_DET_COMPLETE,
/*Face quality check is done before face recognition*/
OASISLT_EVT_QUALITY_CHK_START,
OASISLT_EVT_QUALITY_CHK_COMPLETE,
/*Start of face recognition*/
OASISLT_EVT_REC_START,
/*The end of face recognition.
* when face feature in current frame is gotten, GetRegisteredFaces callback will be called to get all
* faces feature registered and OASIS lib will try to search this face in registered faces, if this face
* is matched, a valid face ID will be set in callback parameter faceID and corresponding simularity(indicate
* how confidence for the match) also will be set.
* if no face match, a invalid(INVALID_FACE_ID) will be set.*/
OASISLT_EVT_REC_COMPLETE,
/*start of emotion recognition*/
OASISLT_EVT_EMO_REC_START,
/*End of emotion recognition, emoID indicate which emotion current face is.*/
OASISLT_EVT_EMO_REC_COMPLETE,
/*if user set a registration flag in a call of OASISLT_run and a face is detected, this two events will be notified
* for auto registration mode, only new face(not recognized) is added(call AddNewFace callback function)
* for manu registration mode, face will be added forcely.
* for both cases, face ID of new added face will be set in callback function */
OASISLT_EVT_REG_START,
/*when registration start, for each valid frame is handled,this event will be triggered and indicate
* registration process is going forward a little.
* */
OASISLT_EVT_REG_IN_PROGRESS,
OASISLT_EVT_REG_COMPLETE,
OASISLT_EVT_NUM
} OASISLTEvt_t;
Listado 2: El tiempo de ejecución de Oasis Lite reconoce una serie de eventos documentados como un conjunto enumerado en el archivo de cabecera del tiempo de ejecución de Oasis Lite. (Fuente del código: NXP)
La aplicación de ejemplo puede proporcionar a los desarrolladores mensajes de depuración paso a paso que describen los resultados asociados a cada evento procesado por el manejador de eventos (EvtHandler). Por ejemplo, después de que la comprobación de calidad se complete (OASISLT_EVT_QUALITY_CHK_COMPLETE), el sistema imprime mensajes de depuración que describen el resultado, y después de que el reconocimiento facial se complete (OASISLT_EVT_REC_COMPLETE), el sistema extrae el ID y el nombre del usuario de su base de datos para las caras reconocidas e imprime esa información (Listado 3).
Copiar
static void EvtHandler(ImageFrame_t *frames[], OASISLTEvt_t evt, OASISLTCbPara_t *para, void *user_data)
{
[code redacted for simplification]
case OASISLT_EVT_QUALITY_CHK_COMPLETE:
{
UsbShell_Printf("[OASIS]:quality chk res:%d\r\n", para->qualityResult);
pQMsg->msg.info.irLive = para->reserved[5];
pQMsg->msg.info.front = para->reserved[1];
pQMsg->msg.info.blur = para->reserved[3];
pQMsg->msg.info.rgbLive = para->reserved[8];
if (para->qualityResult == OASIS_QUALITY_RESULT_FACE_OK_WITHOUT_GLASSES ||
para->qualityResult == OASIS_QUALITY_RESULT_FACE_OK_WITH_GLASSES)
{
UsbShell_DbgPrintf(VERBOSE_MODE_L2, "[EVT]:ok!\r\n");
}
else if (OASIS_QUALITY_RESULT_FACE_SIDE_FACE == para->qualityResult)
{
UsbShell_DbgPrintf(VERBOSE_MODE_L2, "[EVT]:side face!\r\n");
}
else if (para->qualityResult == OASIS_QUALITY_RESULT_FACE_TOO_SMALL)
{
UsbShell_DbgPrintf(VERBOSE_MODE_L2, "[EVT]:Small Face!\r\n");
}
else if (para->qualityResult == OASIS_QUALITY_RESULT_FACE_BLUR)
{
UsbShell_DbgPrintf(VERBOSE_MODE_L2, "[EVT]: Blurry Face!\r\n");
}
else if (para->qualityResult == OASIS_QUALITY_RESULT_FAIL_LIVENESS_IR)
{
UsbShell_DbgPrintf(VERBOSE_MODE_L2, "[EVT]: IR Fake Face!\r\n");
}
else if (para->qualityResult == OASIS_QUALITY_RESULT_FAIL_LIVENESS_RGB)
{
UsbShell_DbgPrintf(VERBOSE_MODE_L2, "[EVT]: RGB Fake Face!\r\n");
}
}
break;
[code redacted for simplification]
case OASISLT_EVT_REC_COMPLETE:
{
int diff;
unsigned id = para->faceID;
OASISLTRecognizeRes_t recResult = para->recResult;
timeState->rec_comp = Time_Now();
pQMsg->msg.info.rt = timeState->rec_start - timeState->rec_comp;
face_info.rt = pQMsg->msg.info.rt;
#ifdef SHOW_FPS
/*pit timer unit is us*/
timeState->rec_fps++;
diff = abs(timeState->rec_fps_start - timeState->rec_comp);
if (diff > 1000000 / PIT_TIMER_UNIT)
{
// update fps
pQMsg->msg.info.recognize_fps = timeState->rec_fps * 1000.0f / diff;
timeState->rec_fps = 0;
timeState->rec_fps_start = timeState->rec_comp;
}
#endif
memset(pQMsg->msg.info.name, 0x0, sizeof(pQMsg->msg.info.name));
if (recResult == OASIS_REC_RESULT_KNOWN_FACE)
{
std::string name;
UsbShell_DbgPrintf(VERBOSE_MODE_L2, "[OASIS]:face id:%d\r\n", id);
DB_GetName(id, name);
memcpy(pQMsg->msg.info.name, name.c_str(), name.size());
face_info.recognize = true;
face_info.name = std::string(name);
UsbShell_DbgPrintf(VERBOSE_MODE_L2, "[OASIS]:face id:%d name:%s\r\n", id, pQMsg->msg.info.name);
}
else
{
// face is not recognized, do nothing
UsbShell_DbgPrintf(VERBOSE_MODE_L2, "[OASIS]:face unrecognized\r\n");
face_info.recognize = false;
}
VIZN_RecognizeEvent(gApiHandle, face_info);
}
break;
Listado 3: Como se muestra en este fragmento de una aplicación de ejemplo en la distribución de software de NXP, un controlador de eventos procesa los eventos encontrados durante la secuencia de reconocimiento facial. (Fuente del código: NXP)
Además de soportar los requisitos de procesamiento del reconocimiento facial, el software NXP SLN-VIZNAS-IOT está diseñado para proteger el entorno operativo. Para garantizar la seguridad en tiempo de ejecución, el sistema está diseñado para verificar la integridad y autenticidad de cada imagen firmada cargada en el sistema utilizando un certificado almacenado en el sistema de archivos del kit SLN-VIZNAS-IOT. Como esta secuencia de verificación comienza con un cargador de arranque de confianza almacenado en la memoria de sólo lectura (ROM), este proceso proporciona una cadena de confianza para ejecutar el firmware de la aplicación. Además, como la firma y la verificación del código pueden ralentizar el desarrollo, este proceso de verificación está diseñado para ser obviado durante el diseño y la depuración del software. De hecho, el kit SLN-VIZNAS-IOT viene precargado con imágenes firmadas, pero la verificación de la firma del código se omite por defecto. Los desarrolladores pueden configurar fácilmente las opciones para activar la verificación completa de la firma del código para la producción.
Junto con el entorno de ejecución y el código de aplicación de muestra asociado, NXP proporciona aplicaciones móviles Android con el código fuente de Java completo. Una aplicación, el VIZNAS FaceRec Manager, ofrece una interfaz sencilla para registrar rostros y gestionar usuarios. Otra aplicación, la aplicación VIZNAS Companion, permite a los usuarios aprovisionar el kit con credenciales Wi-Fi utilizando una conexión Wi-Fi o BLE existente.
Conclusión:
El reconocimiento facial ofrece un enfoque eficaz para autenticar el acceso a los productos inteligentes, pero su aplicación suele requerir una informática local de alto rendimiento o una conectividad permanente de gran ancho de banda para obtener respuestas rápidas. También ha sido objeto de suplantación de identidad y está sujeta a la preocupación por la privacidad de los usuarios.
Como se ha mostrado, un procesador especializado y una biblioteca de software de NXP Semiconductors ofrecen un enfoque alternativo que puede realizar con precisión el reconocimiento facial fuera de línea en menos de un segundo sin una conexión a la nube, al tiempo que mitiga los intentos de suplantación.
Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.




