¡Hola a Todos!

Como les prometimos la vez pasada hoy te contamos de cómo se evalúan los algoritmos de reconocimiento facial, un análisis detallado y una comparación de los mejores métodos de reconocimiento facial, principios claves para evaluar la calidad del algoritmo del desarrollador líder de sistemas de reconocimiento facial FindFace. La noticia está hecha por los empleados de NtachLab.

Prefacio

Recientemente, la tendencia del desarrollo de algoritmos para el reconocimiento facial ha llamado cada vez más interés del sector comercial y estatal. Sin embargo, la evaluación correcta de la precisión de tales sistemas es una tarea difícil y contiene muchos matices.

Constantemente se nos pide las versiones trial de nuestra tecnología de reconocimiento y que realicemos PoCs basados ​​en ella, y notamos que a menudo hay preguntas sobre la terminología y los métodos de prueba de sistemas en relación con problemas comerciales.

Como resultado, se pueden elegir herramientas inadecuadas para resolver el problema, lo que conduce a pérdidas financieras o las de ganancias. Decidimos publicar esta nota para ayudar a las personas a sentirse cómodas en el entorno de términos especializados y datos en bruto que rodean las tecnologías de reconocimiento facial, y para simplificar su comparación.

Queríamos hablar sobre los conceptos básicos en esta área en un lenguaje simple y comprensible, para demostrar claramente cómo funciona el sistema de reconocimiento facial basado en el algoritmo.

Esperemos que eso permita a las personas de un almacén técnico y empresarial hablar el mismo idioma, comprender mejor los casos de uso de reconocimiento facial en el mundo real y tomar decisiones correctas basadas en los comprobantes.

Tareas de reconocimiento facial

A menudo el reconocimiento facial se define como un conjunto de tareas diferentes, por ejemplo, detectar a una persona en una fotografía o una persona en un flujo de vídeo, identificar el género y la edad, búsqueda de una persona particular en una base de imágenes o comprobación que es la misma persona en dos imágenes diferentes.

En este artículo, nos centraremos en dos últimas tareas y las llamaremos, respectivamente, identificación y verificación. Para resolver estas tareas, se extraen de las imágenes descriptores especiales de rostros o vectores de características necesarios para el reconocimiento de caras. En este caso, el problema de identificación se reduce a encontrar el vector de características más cercano, y la verificación se puede implementar utilizando un umbral simple para las distancias entre los vectores.

Al combinar estas dos acciones, se puede identificar a una persona entre un conjunto de imágenes de rostros o tomar la decisión de que no está entre estas imágenes. Tal procedimiento se llama identificación de conjunto abierto, ver Fig. 1)

Fig. 1: Tareas de reconocimiento facial

Para cuantificar la similitud de rostros, se puede usar la distancia del espacio de los vectores de rasgos faciales.

A menudo se eligen las distancias euclidianas o coseno, pero hay otros enfoques de reconocimiento más complejos. A menudo se proporciona una función de distancia específica como parte de un producto de reconocimiento facial. La identificación y la verificación arrojan resultados diferentes y, en consecuencia, se utilizan diferentes métricas para evaluar su calidad.

Consideraremos las métricas de calidad en detalle en las siguientes capitulas. Además de elegir una métrica adecuada, para evaluar la precisión del algoritmo, se necesitará un conjunto indexado de imágenes (conjunto de datos).

Calificación de precisión

Conjuntos de datos

Casi todo el software moderno basado en biometría facial se basa en el machine learning. Los algoritmos de reconocimiento facial están entrenados en grandes conjuntos de datos (bases de datos) con imágenes indexadas.

Tanto la calidad como la naturaleza de estos conjuntos de datos tienen un impacto significativo a la precisión. Mejores datos de origen mejor será el algoritmo para cumplir la tarea.

Una forma natural de verificar cómo funciona exactamente el sistema de reconocimiento facial es medir la precisión del reconocimiento en un conjunto de datos de prueba particular. Es muy importante elegir este conjunto de datos correctamente.

Sería ideal si la organización adquiriera su propio conjunto de datos que sea lo más similar posible a las imágenes con las que el sistema funcionará durante la operación. Pon atención a la cámara, las condiciones de disparo, la edad, el género y la nacionalidad de las personas que se incluirán en el conjunto de datos de prueba.

Más similar sea el conjunto de datos de prueba a los datos reales, más confiables serán los resultados de la prueba. Por lo tanto, a menudo tiene sentido gastar tiempo y dinero en recopilar y marcar su conjunto de datos. Si esto, por alguna razón, no es posible, se puede usar conjuntos de datos públicos, por ejemplo, LFW y MegaFace.

LFW contiene solo 6,000 pares de imágenes faciales y no es adecuado para muchos casos de uso reales: en particular, en este conjunto de datos es imposible estimar los errores chicos, lo mostraremos más adelante. El conjunto de datos MegaFace contiene mucho más imágenes y es adecuado para probar algoritmos de reconocimiento facial a gran escala.

Sin embargo, tanto el conjunto de entrenamiento como el de prueba de las imágenes de MegaFace están disponibles públicamente, así que úsalo para realizar pruebas con precaución. Hay que comparar los resultados de los datos de pruebas contra los reales.

Una alternativa es utilizar resultados de pruebas de terceros. Dichas pruebas son realizadas por especialistas calificados en grandes conjuntos de datos privados de individuos, y se puede confiar en sus resultados. Un ejemplo es la prueba de NIST Face Recognition Vendor Test Ongoing. Esta es una prueba realizada por el Instituto Nacional de Estándares y Tecnología (NIST) bajo el Departamento de Comercio de los Estados Unidos. Una desventaja de este enfoque es que el conjunto de datos de la empresa que realiza la prueba se puede diferir significativamente del caso de uso de interés.

Capacitación

Tal como lo mencionamos el machine learning es el corazón del software moderno de reconocimiento facial. Uno de los fenómenos comunes de entrenar a la máquina es el llamado reentrenamiento. Se apunta en el hecho de que el algoritmo muestra buenos resultados con los rostros los cuales se usaron durante el entrenamiento, pero los resultados principales de reconocimiento de los nuevos son mucho más bajos.

Consideramos un ejemplo específico: imagínate un cliente que quiera instalar el mejor sistema de control de acceso con reconocimiento de rostro integrado. Para realizar el proyecto recopila un conjunto de fotografías de personas a las que se les permitirá el acceso y enseña al algoritmo distinguir sus rostros de los de otras personas. Durante las pruebas el sistema muestra resultados de reconocimiento buenos y se está saliendo en producción. Después de un tiempo, deciden dar el acceso a más personas y ¿sabes que pasaría? El sistema negaría el acceso de personas recién agregadas. El algoritmo se probó en las mismas caras que se entrenó, y nadie estimó precisión de reconocimiento basado en fotos nuevas. Esto, por supuesto, es un ejemplo exagerado, pero nos permite comprender el problema.

En algunos casos la capacitación no es tan obvia. Supongamos que el algoritmo fue entrenado en imágenes de personas donde prevaleció cierto grupo étnico. Cuando se utiliza dicho algoritmo para analizar rostros de una empresa con diversidad étnica, su precisión ciertamente disminuirá. Una evaluación demasiado optimista de la precisión del algoritmo debido a pruebas realizadas incorrectamente es un error muy común. Siempre se debe probar el algoritmo usando datos nuevos que tengan que procesar en caso de uso real, sino los datos sobre los cuales se realizó la capacitación.

Resumiendo lo anterior, armamos una lista de recomendaciones: no uses fotografías de personas en las que se entrenó el algoritmo durante las pruebas, usa un conjunto de datos cerrado hecho especialmente para las pruebas. Si esto no es posible y tienes planeado el uso del conjunto de datos público, asegúrate de que el proveedor no lo haya utilizado en el proceso de capacitación y / o configuración del algoritmo. Examina el conjunto de datos antes de la prueba, piensa qué tan cerca está de los datos que entrarán durante la operación del sistema.

Métricas

Después de elegir un conjunto de datos se debe determinar la métrica que se utilizará para evaluar los resultados de los estudios. Generalmente una métrica es una función que reciba los resultados de los estudios de un algoritmo (identificación o verificación) como entrada y devuelva un número que coincide con la calidad del algoritmo en un conjunto de datos particular.

El uso de un solo número para la comparación cuantitativa de diferentes algoritmos o proveedores permite presentar de manera concisa los resultados de reconocimiento y facilita el proceso de toma de decisiones. En este capítulo consideraremos las métricas principales y las más utilizadas en reconocimiento facial y discutiremos su importancia desde perspectiva comercial.

Verificación

La verificación de los rostros utilizados para los estudios puede considerarse como un proceso para tomar una decisión binaria: «sí» (dos imágenes pertenecen a una persona), «no» (se representan diferentes personas en un par de fotos).

Antes de tocar la base con las métricas de verificación, es útil comprender cómo podemos clasificar los errores en tales problemas. Tomando en cuenta que hay 2 posibles respuestas del algoritmo y 2 opciones para el estado de cosas verdadero, hay 4 resultados posibles:

Fig. 2 Tipos de errores. El color de fondo codifica la verdadera relación entre las imágenes (azul significa «aceptar», amarillo significa «rechazar»), el color del marco corresponde a la predicción del algoritmo (azul significa «aceptar», amarillo significa «rechazar».

En la tabla anterior las columnas corresponden a la decisión del algoritmo (azul — aceptar, amarillo — rechazar), las filas corresponden a valores verdaderos (codificados en los mismos colores). Las respuestas correctas del algoritmo están marcadas con un fondo verde, las respuestas erróneas con un fondo rojo. Basando en estos resultados dos corresponden a las respuestas correctas del algoritmo, y dos corresponden a errores del primer y segundo tipo, respectivamente.

Los errores del primer tipo se denominan «aceptación falsa», «falso positivo» o «coincidencia falsa» (incorrectamente aceptado), y los errores del segundo tipo se denominan «falso rechazo», «falso negativo» o «falso no coincidente» (rechazado incorrectamente).

Al estimar el número de errores de varios tipos entre los pares de imágenes en el conjunto de datos y dividiéndolos por el número de pares, obtenemos la tasa de aceptación falsa (FAR) y la tasa de rechazo falso (FRR). En el caso del sistema de control de acceso, «falso positivo» corresponde a otorgar acceso a una persona para la que no se proporciona este acceso, mientras que «falso negativo» significa que el sistema negó por error el acceso a una persona autorizada.

Estos errores tienen diferentes costos desde el punto de vista comercial y, por lo tanto, se consideran por separado. En el ejemplo con control de acceso, «falso negativo» hace que seguridad verifique dos veces el pase del empleado. Otorgar acceso no autorizado a un atacante potencial (falso positivo) puede tener consecuencias mucho más graves.

Tomando en cuenta que los errores de varios tipos están asociados con varios riesgos, los fabricantes de software de reconocimiento facial a menudo brindan la oportunidad de configurar el algoritmo para minimizar uno de los tipos de errores. Para lograrlo el algoritmo no devuelve un valor binario, sino un número real, lo que refleja la confianza del algoritmo en su decisión.

En este caso el usuario puede elegir independientemente un umbral y corregir el nivel de errores en ciertos valores. Por ejemplo, consideramos un conjunto de datos chiquito de tres imágenes. Supongamos que las imágenes 1 y 2 pertenecen a la misma persona, y la imagen 3 a otra persona. Imaginemos que el programa evaluó su confianza para cada uno de los tres pares de la siguiente manera:

Tabla 2. Valores de confianza de ejemplo para tres imágenes

Seleccionamos específicamente los valores para que ningún umbral clasifique los tres pares correctamente. En particular, cualquier umbral por debajo de 0.6 dará lugar a dos falsas aceptaciones (para pares de individuos 2−3 y 1−3). Por supuesto, este resultado puede mejorarse.

La elección de un umbral de 0,6 a 0,85 dará como resultado que se rechacen un par de caras 1−3, se seguirán aceptando un par de caras 1−2 y se aceptarán falsamente 2−3. Si el umbral se incrementa a 0.85−0.9, entonces un par de personas 1−2 serán rechazadas falsamente. Los valores de umbral superiores a 0.9 darán como resultado dos rechazos verdaderos (pares de caras 1−3 y 2−3) y un rechazo falso (1−2). Por lo tanto, los umbrales del rango 0.6−0.85 (uno acepta falsamente 2−3) y un umbral por encima de 0.9 (lo que lleva al falso rechazo 1−2) parecen las mejores opciones.

Qué valor elegir como el final depende del costo de los errores de diferentes tipos. En este ejemplo, el umbral varía en amplios rangos, esto se debe principalmente al muy pequeño conjunto de datos y la forma en que elegimos los valores de confianza del algoritmo. Para grandes conjuntos de datos utilizados para casos de uso reales, se obtendrían valores de umbral significativamente más precisos. A menudo los proveedores de software de reconocimiento facial proporcionan valores de umbral predeterminados para diferentes FAR, que se calculan de manera similar en los propios conjuntos de datos del proveedor.

También es fácil ver que a medida que disminuye el FAR de interés, se requieren más y más pares de imágenes positivas para calcular con precisión el valor umbral. Entonces, para FAR = 0.001, se necesitan al menos 1000 pares, y para FAR = 10-6 se requerirá 1 millón de pares. Recolectar y indexar ese conjunto de datos no es fácil, por lo que los clientes que estén interesados ​​en valores bajos de FAR deben poner su atención a los puntos de referencia públicos, como NIST Face Recognition Vendor Test o MegaFace.

Este último debe tratarse con precaución, ya que tanto el entrenamiento como las muestras de prueba están disponibles para todos, lo que se puede conducir a una evaluación de precisión demasiado optimista (consulte el capítulo «Capacitación»). Así tendrás una mapa de reconocimiento facial más fiable.

Curvas ROC

Los tipos de errores difieren en su costo asociado, y el cliente puede cambiar el balance hacia ciertos errores. Para hacer esto considera una amplia gama de umbral de valores. Una forma conveniente de visualizar la precisión del algoritmo en diferentes valores FAR es construir curvas ROC (inglés, receiver operating characteristic — característica de funcionamiento del receptor).

Veamos cómo se construyen y analizan las curvas ROC. La confianza del algoritmo (y, por lo tanto, el umbral) toma puntos de valores de un intervalo fijo. Es decir que estas cantidades están limitadas por arriba y abajo. Supongamos que este es un intervalo de 0 a 1. Ahora podemos estimar el número de errores variando el valor del umbral de 0 a 1 con pequeños incrementos. Entonces, para cada umbral de valor, obtenemos los valores FAR y TAR (tasa de aceptación real). A continuación, dibujaremos cada punto de manera que FAR corresponda al eje de abscisas y TAR corresponda al eje de ordenadas.

Fig 3. Ejemplo de curva ROC

Es fácil notar que el primer punto tendrá coordenadas 1.1. Con un umbral igual a 0, aceptamos todos los pares de caras y no rechazamos una sola. De la misma manera el último punto será 0.0: en el umbral 1, no aceptamos un solo par de rostros y rechazamos todos los pares. En otros puntos, la curva se suele convexa.

También se puede notar que la peor curva se encuentra aproximadamente en la diagonal del gráfico y corresponde a una suposición aleatoria del resultado. Por otro lado, la mejor curva posible forma un triángulo con los vértices (0,0) (0,1) y (1,1). Pero en conjuntos de datos de tamaño razonable, esto es difícil de encontrar.

Fig 4. Curvas ROC NIST FRVT

Se puede construir una similitud de curvas ROC de vector con diferentes métricas / errores en el eje. Consideramos, por ejemplo, la Figura 4. Se muestra que los organizadores de NIST FRVT dibujaron FRR a lo largo del eje Y (en la figura — False non-match rate) y FAR a lo largo del eje X (en la figura — False match rate). En este caso particular, los mejores resultados se logran a través de las curvas ubicadas más abajo y desplazadas hacia la izquierda, que corresponde a los valores de FRR y FAR bajos. Por lo tanto, vale la pena poner atención a qué valores se trazan a lo largo de los ejes.

Tal gráfico hace que sea fácil evaluar la precisión del algoritmo para un FAR determinado: solo encuentra el punto en la curva con una coordenada X igual al FAR deseado y el valor TAR correspondiente. La «calidad» de la curva ROC también se puede estimar con un solo número, para esto debe calcular el área abajo de ella. En este caso, el mejor valor posible sería 1, y un valor de 0.5 corresponde a una suposición aleatoria.

Este número se llama ROC AUC (inglés, Area Under Curve — Área bajo curva). Sin embargo, debe tomarse en cuenta que el ROC AUC supone implícitamente que los errores del primer y segundo tipo no son ambiguos, lo cual no siempre es así. Si el precio de los errores varía, debe poner atención a la forma de la curva y aquellas áreas donde el FAR cumple con los requisitos comerciales.

Identificación

La segunda tarea popular del reconocimiento facial es la identificación o búsqueda del rostro deseado entre un conjunto de imágenes. Los resultados de búsqueda por rostros se ordenan según la confianza del algoritmo, y las coincidencias más probables se encuentran en la parte superior de la lista. Dependiendo de si la persona a quien están buscando está en la base de datos la identificación se divide en dos subcategorías: identificación closed-set (se sabe que la persona a quien están buscando está en la base de datos) e identificación open-set (la persona a quien están buscando no se encuentra en la base de datos).

La precisión es una métrica confiable y clara para la identificación closed-set. De hecho, la precisión calcula la cantidad de veces que una persona estuvo entre los resultados de búsqueda de rostros.

¿Cómo funciona en la práctica? Vamos a verlo. Comencemos con definición de requerimientos comerciales. Digamos que tenemos una página web que puede mostrar diez resultados de búsqueda. Necesitamos calcular el número de veces que la persona deseada cae en las primeras diez respuestas del algoritmo. Este número se llama precisión Top-N (en este caso particular, N es 10).

Para cada prueba, escogemos la imagen de la persona que estamos buscando y galería de personas en las que buscaremos y que la galería contenga al menos una imagen más de esta persona. Observamos los primeros diez resultados del algoritmo de búsqueda y verificamos si la persona está entre ellos. Para la precisión se debe resumir todos los eventos en los que la persona a quien estábamos buscando salía en los resultados de búsqueda, y dividir por el número total de eventos.

Evaluación de calidad de algoritmos de reconocimiento facial

Un ejemplo de identificación. En este ejemplo, la persona que estamos buscando aparece en la posición 2, por eso, la precisión de Top-1 es 0, y Top-2 y más es 1.

La identificación Open-set es una búsqueda entre las personas que sean más similares a la imagen que estamos buscando y identificación si una de ellas es la persona que estamos buscando basada de la confianza del algoritmo. La identificación Open-set se puede considerar como una combinación de identificación y verificación closed-set; por lo tanto, se pueden utilizar las mismas métricas para esta tarea que en la tarea de verificación.

También es fácil ver que la identificación Open-set se puede definir como comparaciones por pares de la imagen deseada con todas las imágenes de la galería. En la práctica, esto no se usa por razones de velocidad computacional. A menudo el software de reconocimiento facial viene con algoritmos de búsqueda rápida que pueden encontrar a un rostro entre millones de caras en menos de 1 segundo. Las comparaciones por pares tomarían mucho más tiempo.

Ejemplos basados en casos de uso reales

Como ejemplo vamos a ver algunos ejemplos que demuestran la evaluación de la calidad de los algoritmos de reconocimiento facial utilizados para la comparación en un proyecto real.

Tienda minorista

Digamos que una tienda minorista mediana quiere mejorar su programa de lealtad o reducir el número de robos. Desde el punto de vista de la biometría facial, esto es aproximadamente lo mismo. El objetivo principal de este proyecto es identificar a un cliente habitual o intruso lo antes posible por la imagen de la cámara y pasar esta información al vendedor o seguridad.

Supongamos que el programa de lealtad cubra a 100 clientes. Este trabajo puede considerarse como un ejemplo de identificación de open-se. Una vez estimados los costos, el departamento de marketing llegó a la conclusión de que un nivel aceptable de error es llevar a un visitante por día a un cliente habitual. Si 1000 visitantes visitan la tienda todos los días, cada uno de los cuales debe verificarse en una lista de 100 clientes habituales, entonces el FAR requerido sería 1 / (1000 * 100) = 10−5.

Una vez determinado el nivel aceptable de error se debe seleccionar el conjunto de datos adecuado para la prueba. Una buena opción sería colocar la cámara en un lugar adecuado (los proveedores pueden ayudar con un dispositivo y una ubicación particulares). Al comparar las transacciones de los clientes que están en el programa de lealtad con las imágenes de la cámara y realizar el filtrado manual, los empleados de la tienda pueden recopilar un conjunto de pares «positivos».

También tiene sentido recopilar un conjunto de imágenes de visitantes aleatorios (una imagen por persona). El número total de imágenes debería corresponder aproximadamente al número de visitantes de la tienda al día. Al combinar ambos conjuntos se puede obtener conjuntos de datos de pares «positivos» y «negativos»

El número de pares «positivos» alrededor de mil debería ser suficientes para verificar la precisión de reconocimiento deseada. Al combinar varios clientes habituales y visitantes ocasionales se puede recolectar alrededor de 100,000 pares «negativos».

El siguiente paso es iniciar (o pedirle al proveedor que inicie) el software y obtener la confianza del algoritmo para cada par del conjunto de datos. Al hacerlo se puede construir la curva ROC de vector y asegurarse de que el número de clientes regulares correctamente identificados con FAR = 10−5 cumpla con los requerimientos comerciales.

E-Gate en el aeropuerto

Los aeropuertos modernos atienden a decenas de millones de pasajeros al año, y alrededor de 300,000 personas pasan el control de pasaportes todos los días. La automatización de este proceso reduciría significativamente los costos. Por otro lado, es extremadamente indeseable perder a un intruso, y la administración del aeropuerto quiere minimizar el riesgo de tal evento.

FAR = 10−7 corresponde a diez infractores al año y parece razonable para este caso de uso. Si con este FAR, FRR es 0.1 (que corresponde a los resultados de NtechLab en el punto de referencia de imágenes de visa), entonces el costo de verificar documentos manualmente puede reducirse diez veces. Sin embargo, para evaluar la precisión en un determinado nivel FAR, se necesitarán decenas de millones de imágenes.

La recopilación de un conjunto de datos tan grande requiere fondos significativos y puede requerir una coordinación adicional del procesamiento de datos personales. Como resultado, invertir en un sistema de este tipo se puede devolver demasiado tiempo. En este caso, tiene sentido consultar el informe de prueba NIST Face Recognition Vendor Test, que contiene un conjunto de datos con fotos de visas.

La administración del aeropuerto debe elegir a un proveedor basado en las pruebas en este conjunto de datos, teniendo en cuenta el flujo de pasajeros.

Lista de correo dirigida

Hasta ahora, hemos hablado sobre ejemplos en los que el cliente estaba interesado en un bajo FAR, pero este no es siempre así. Imagínate un stand publicitario equipado con una cámara en un gran centro comercial. El centro comercial tiene su propio programa de lealtad y le gustaría identificar a los participantes que se detuvieron en el stand. Además, estas personas podrían recibir mensajes dirigidos con descuentos y ofertas interesantes basadas en lo que les interesaba en el stand.

Supongamos que la operación de dicho sistema cuesta $ 10, mientras que alrededor de 1000 visitantes por día se detienen en el stand. El departamento de marketing estimó el beneficio de cada correo electrónico dirigido en $ 0.0105. Nos gustaría identificar tantos clientes regulares como sea posible y no molestar demasiado al resto. Para que dicho boletín valga la pena, la precisión debe ser igual al costo del stand dividido por el número de visitantes e ingreso esperado de cada correo. Para nuestro ejemplo, la precisión es 10 / (1000 * 0.0105) = 95%. La administración del centro comercial podría ensamblar el conjunto de datos utilizando el método descrito en el capítulo «Tienda minorista» y calcular la precisión como se describe en el capítulo «Identificación». Según los resultados de la prueba se decide si se puede obtener el valor esperado utilizando el sistema de reconocimiento facial.

Consideraciones prácticas

Flujo de video

En este artículo, discutimos principalmente el trabajo con imágenes y casi no tocamos el flujo de video. El video se puede considerar como una secuencia de imágenes estáticas, por lo tanto, las métricas y los enfoques para evaluar la precisión de las imágenes también son aplicables al video.

Es importante saber que el procesamiento del flujo de video es mucho más costoso en términos de cálculos e impone restricciones adicionales en todas las etapas del reconocimiento facial. Cuando se usa el video se deben realizar pruebas de rendimiento por separado, por lo que los detalles de este proceso no están cubiertos en este texto.

Errores frecuentes

En esta sección, nos gustaría enumerar los problemas y errores frecuentes que ocurren al probar el software de reconocimiento facial, y dar recomendaciones de cómo evitarlos.

Pruebas de conjunto de datos insuficientes

Siempre debes tener cuidado cuando escoges un conjunto de datos para probar algoritmos de reconocimiento facial. Una de las características más importantes de un conjunto de datos es su tamaño. El tamaño del conjunto de datos debe seleccionarse en función de los requisitos comerciales y los valores FAR / TAR.

Los conjuntos de datos chicos de varias imágenes de los rostros de las personas desde tu oficina permitirán «jugar» con el algoritmo, estimar su rendimiento o probar situaciones no estándar, pero no se puede hacer conclusiones sobre la precisión del algoritmo basados en estas pruebas. Para pruebas de precisión, usa conjuntos de datos de tamaño adecuado.

Prueba con un solo valor de umbral

A veces, las personas prueban el algoritmo del sistema de reconocimiento facial con un valor de umbral fijo (a menudo elegido por el fabricante como «predeterminado») y tienen en cuenta sólo un tipo de error. Esto es incorrecto, ya que los valores de umbral predeterminados para diferentes proveedores son diferentes o se seleccionan a base de diferentes valores FAR o TAR. Al realizar la prueba debes prestar atención a los ambos tipos de errores.

Comparación de resultados en diferentes conjuntos de datos.

Los conjuntos de datos varían en tamaño, calidad y complejidad, por lo que los resultados de los algoritmos en diferentes conjuntos de datos no se pueden comparar. Se puede rechazar fácilmente la mejor solución solo porque se probó en un conjunto de datos más complejo que un competidor.

Hacer conclusiones basadas en pruebas en un solo conjunto de datos

Hay que hacer las pruebas en varios conjuntos de datos, compara los datos de pruebas contra las reales. Al elegir un único conjunto de datos público, no se garantiza que no se usó para entrenar o ajustar el algoritmo. En este caso, la precisión sería reevaluada. Afortunadamente, la probabilidad de este evento se puede reducir comparando los resultados en diferentes conjuntos de datos.

Conclusiones

En esta nota, describimos los componentes principales de las pruebas de algoritmos de reconocimiento facial: conjuntos de datos, tareas, métricas correspondientes y casos de uso comunes.

Por supuesto, esto está lejos de todo lo que nos gustaría comentar al respecto de proceso de entrenar a las máquinas, y la mejor orden de las acciones puede ser diferente dependiendo de numerosos casos de uso excepcionales (el equipo de NtechLab estará encantado ayudarte a entenderlo mejor). Pero realmente esperamos que esta información ayude a planificar las pruebas correctamente, comparar varios algoritmos de reconocimiento facial, evaluar sus fortalezas y debilidades, e interpretar métricas de calidad tomando en cuenta las tareas comerciales, para por fin elegir el mejor sistema de reconocimiento facial.

¡Amigos! Como siempre, agradecemos sus comentarios al respecto del tema.