Menú
Está libre
registro
hogar  /  Educación/ Cómo las cámaras nos miran en las calles de las ciudades rusas. Y como engañarlos

Cómo nos observan las cámaras en las calles de las ciudades rusas. Y como engañarlos

Con envidiable regularidad, aparecen artículos en Habré que hablan de ciertos métodos de reconocimiento facial. Decidimos no solo apoyar este maravilloso tema, sino publicar nuestro documento interno, que cubre, aunque no todos, pero muchos enfoques del reconocimiento facial, sus fortalezas y debilidades. Fue compilado por Andrey Gusak, nuestro ingeniero, para empleados jóvenes del departamento de visión artificial, con fines educativos, por así decirlo. Hoy lo ofrecemos a todos. Al final del artículo, una lista impresionante de referencias para los más curiosos.

Vamos a empezar.
A pesar de la amplia variedad de algoritmos presentados, se puede destacar estructura general proceso de reconocimiento facial:

El proceso general de procesamiento de una imagen facial durante el reconocimiento.

En la primera etapa, el rostro se detecta y se localiza en la imagen. En la etapa de reconocimiento, la imagen de la cara se alinea (geométrica y luminancia), se calculan las características y se realiza el reconocimiento en sí; las características calculadas se comparan con los estándares almacenados en la base de datos. La principal diferencia entre todos los algoritmos presentados será el cálculo de características y la comparación de sus colecciones entre sí.

1. Método de coincidencia de gráficos elásticos.

La esencia del método se reduce a la comparación elástica de gráficos que describen imágenes faciales. Las caras se representan como gráficos con vértices y aristas ponderadas. En la etapa de reconocimiento, uno de los gráficos, el de referencia, permanece sin cambios, mientras que el otro se deforma para adaptarse mejor al primero. En tales sistemas de reconocimiento, los gráficos pueden representar tanto una celosía rectangular como una estructura formada por puntos característicos (antropométricos) del rostro.

A)

B)

Un ejemplo de la estructura de un gráfico para el reconocimiento facial: a) una celosía regular b) un gráfico basado en los puntos antropométricos del rostro.

En los vértices del gráfico, se calculan los valores de las características, la mayoría de las veces utilizan los valores complejos de los filtros de Gabor o sus conjuntos ordenados: ondas de Gabor (sistemas de Gabor), que se calculan en un área local de el vértice del gráfico localmente convolucionando los valores de brillo de píxeles con filtros de Gabor.


Conjunto (banco, chorro) de filtros Gabor


Un ejemplo de convolución de una imagen facial con dos filtros de Gabor

Los bordes del gráfico están ponderados por la distancia entre vértices adyacentes. La diferencia (distancia, característica discriminatoria) entre dos gráficos se calcula utilizando una determinada función de deformación de precio, que tiene en cuenta tanto la diferencia entre los valores de las características calculadas en los vértices como el grado de deformación de los bordes del gráfico. .
La deformación del gráfico se produce al desplazar cada uno de sus vértices en cierta distancia en ciertas direcciones con respecto a su ubicación original y elegir una posición en la que la diferencia entre los valores de las características (respuestas de los filtros de Gabor) en el vértice de el gráfico deformado y el vértice correspondiente del gráfico de referencia serán mínimos. Esta operacion se realiza alternativamente para todos los vértices del gráfico hasta que se alcanza la diferencia total más pequeña entre las características del gráfico deformable y el gráfico de referencia. El valor de la función de deformación del precio en esta posición del gráfico deformable será una medida de la diferencia entre la imagen de la cara de entrada y el gráfico de referencia. Este procedimiento de deformación de "relajación" debe realizarse para todas las caras de referencia almacenadas en la base de datos del sistema. El resultado del reconocimiento del sistema es un estándar con el mejor valor de la función de deformación del precio.


Un ejemplo de deformación de un gráfico en forma de celosía regular

Algunas publicaciones indican una eficiencia de reconocimiento del 95-97% incluso en presencia de diversas expresiones emocionales y cambiando el ángulo de la cara hasta en 15 grados. Sin embargo, los desarrolladores de sistemas de comparación elástica en gráficos citan altos costos computacionales. Este enfoque... Por ejemplo, para comparar la imagen de la cara de entrada con 87 imágenes de referencia, tomó alrededor de 25 segundos cuando se trabajaba en una computadora paralela con 23 transputadoras (Nota: la publicación está fechada en 1993). En otras publicaciones sobre este tema, o no se indica el tiempo, o se dice que es largo.

Desventajas: alta complejidad computacional del procedimiento de reconocimiento. Baja capacidad de fabricación al memorizar nuevos estándares. Dependencia lineal del tiempo de ejecución del tamaño de la base de datos de rostros.

2. Redes neuronales

Actualmente, existen alrededor de una docena de tipos de redes neuronales (NN). Una de las opciones más utilizadas es una red basada en un perceptrón multicapa, que permite clasificar la imagen / señal de entrada de acuerdo con el preajuste / entrenamiento de la red.
Las redes neuronales se entrenan utilizando un conjunto de ejemplos de entrenamiento. La esencia del entrenamiento se reduce a ajustar los pesos de las conexiones interneurales en el proceso de resolución de un problema de optimización utilizando el método de descenso de gradiente. En el proceso de enseñanza de la red neuronal, las características clave se extraen automáticamente, se determina su importancia y se construyen las relaciones entre ellas. Se asume que un NN capacitado podrá aplicar la experiencia adquirida en el proceso de aprendizaje a imágenes desconocidas debido a las habilidades de generalización.
Los mejores resultados en el campo del reconocimiento facial (según los resultados del análisis de publicaciones) los mostró la Red Neural Convolucional o Red Neural Convolucional (en adelante - CNN), que es un desarrollo lógico de las ideas de este tipo de arquitecturas de redes neuronales. como el cognitrón y el neocognitrón. El éxito se debe a la capacidad de tener en cuenta la topología bidimensional de la imagen, en contraste con el perceptrón multicapa.
Las características distintivas de SNS son los campos de receptores locales (proporcionan conectividad bidimensional local de neuronas), los pesos generales (proporcionan detección de algunas características en cualquier parte de la imagen) y la organización jerárquica con submuestreo espacial. Gracias a estas innovaciones, el SNS ofrece una resistencia parcial a cambios de escala, desplazamiento, rotación, cambio de perspectiva y otras distorsiones.


Una representación esquemática de la arquitectura de un convolucional red neuronal

Probar el SNN basado en la base de datos ORL, que contiene imágenes de rostros con pequeños cambios en la iluminación, escala, rotación espacial, posición y diversas emociones, mostró una precisión de reconocimiento del 96%.
SNS consiguió su desarrollo en el desarrollo de DeepFace, que fue adquirido por
Facebook para reconocer los rostros de los usuarios de su red social. Todas las características arquitectónicas están cerradas.


Cómo funciona DeepFace

Desventajas de las redes neuronales: agregar una nueva persona de referencia a la base de datos requiere un reentrenamiento completo de la red en todo el conjunto disponible (un procedimiento bastante largo, dependiendo del tamaño de la muestra, de 1 hora a varios días). Problemas de carácter matemático asociados al entrenamiento: llegar al óptimo local, elegir el paso de optimización óptimo, reentrenamiento, etc. Dificultad para formalizar la etapa de elección de una arquitectura de red (número de neuronas, capas, naturaleza de las conexiones). Resumiendo todo lo anterior, podemos concluir que el NS es una "caja negra" con resultados de trabajo difíciles de interpretar.

3. Modelos ocultos de Markov (CMM, HMM)

Uno de los métodos estadísticos de reconocimiento facial son los modelos de Markov ocultos (HMM) con tiempo discreto. HMM utiliza las propiedades estadísticas de las señales y tiene en cuenta directamente sus características espaciales. Los elementos del modelo son: un conjunto de estados ocultos, un conjunto de estados observados, una matriz de probabilidades de transición, una probabilidad inicial de estados. Cada uno tiene su propio modelo de Markov. Al reconocer un objeto, se verifican los modelos de Markov generados para una base dada de objetos y se busca la máxima probabilidad observable de que la secuencia de observaciones para de este objeto generado por el modelo correspondiente.
Hasta la fecha, no ha sido posible encontrar un ejemplo de una aplicación comercial de SMM para el reconocimiento facial.

Desventajas:
- es necesario seleccionar los parámetros del modelo para cada base de datos;
- HMM no tiene capacidad de discriminación, es decir, el algoritmo de aprendizaje solo maximiza la respuesta de cada imagen a su propio modelo, pero no minimiza la respuesta a otros modelos.

4. Análisis de componentes principales (PCA)

Uno de los más conocidos y desarrollados es el método de análisis de componentes principales (PCA), basado en la transformación de Karunen-Loev.
Inicialmente, el análisis de componentes principales comenzó a aplicarse en estadísticas para reducir el espacio de características sin una pérdida significativa de información. En el problema del reconocimiento facial, se utiliza principalmente para representar una imagen facial con un vector de baja dimensión (componentes principales), que luego se compara con los vectores de referencia almacenados en la base de datos.
El objetivo principal del método del componente principal es reducir significativamente la dimensión del espacio de características de tal manera que describa lo mejor posible las imágenes “típicas” que pertenecen a muchas personas. Con este método, es posible identificar variabilidad en el conjunto de entrenamiento de imágenes de caras y describir esta variabilidad en base a varios vectores ortogonales, que se denominan caras propias.

El conjunto de autovectores obtenidos una vez en el conjunto de entrenamiento de imágenes faciales se utiliza para codificar todas las demás imágenes faciales, que están representadas por una combinación ponderada de estos autovectores. Usando un número limitado de autovectores, es posible obtener una aproximación comprimida de la imagen de la cara de entrada, que luego se puede almacenar en la base de datos como un vector de coeficientes, que simultáneamente sirve como clave de búsqueda en la base de datos de caras.

La esencia del método del componente principal es la siguiente. Primero, todo el conjunto de caras de entrenamiento se convierte en una matriz de datos común, donde cada fila es una instancia de la imagen de la cara descompuesta en una fila. Todas las caras del conjunto de entrenamiento deben reducirse al mismo tamaño y con histogramas normalizados.


Transformar el conjunto de caras de entrenamiento en una matriz común X

Luego, los datos se normalizan y las filas se reducen a la media 0 y la 1ª varianza, y se calcula la matriz de covarianza. Para la matriz de covarianza obtenida, se resuelve el problema de determinar los autovalores y los correspondientes autovectores (autovalores). A continuación, los autovectores se ordenan en orden descendente de autovalores y solo quedan los primeros k vectores de acuerdo con la regla:




Algoritmo PCA


Un ejemplo de los primeros diez autovectores (autovalores) obtenidos en el conjunto de caras entrenadas

= 0.956*-1.842*+0.046

Un ejemplo de construcción (sintetización) de un rostro humano utilizando una combinación de sus propios rostros y componentes principales.


Principio de elegir una base de los primeros mejores vectores propios


Un ejemplo de mapeo de una cara en un espacio métrico tridimensional, obtenido a partir de tres caras propias y un mayor reconocimiento

El análisis de componentes principales ha demostrado su eficacia en aplicaciones prácticas. Sin embargo, en los casos en los que hay cambios significativos en la iluminación o la expresión facial en la imagen del rostro, la efectividad del método desciende significativamente. El punto es que la PCA elige un subespacio con el objetivo de aproximar el conjunto de datos de entrada tanto como sea posible y no discriminar entre clases de personas.

En una solución a este problema se propuso utilizar el discriminante de Fisher lineal (en la literatura existe un nombre “Eigen-Fisher”, “Fisherface”, LDA). LDA elige un subespacio lineal que maximiza la relación:

Dónde

Matriz de dispersión entre clases, y

Matriz de dispersión intraclase; m es el número de clases en la base de datos.

LDA busca una proyección de datos que haga que las clases sean tan linealmente separables como sea posible (consulte la figura siguiente). A modo de comparación, la PCA busca una proyección de datos que maximice la distribución en toda la base de datos de rostros (excluidas las clases). Los experimentos con un fuerte sombreado del tanque y del fondo de las imágenes faciales mostraron que Fisherface tiene una efectividad del 95% en comparación con el 53% de Eigenface.


La diferencia fundamental entre la formación de proyecciones PCA y LDA

Diferencia entre PCA y LDA

5. Modelos de apariencia activa (AAM) y modelos de forma activa (ASM) ()
Modelos de apariencia activa (AAM)
Los modelos de apariencia activa (AAM) son modelos de imagen estadísticos que se pueden ajustar para adaptarse a la imagen real mediante diversas deformaciones. Este tipo de modelo 2D fue propuesto por Tim Coots y Chris Taylor en 1998. Inicialmente, se utilizaron modelos de apariencia activa para estimar los parámetros de las imágenes faciales.
El modelo de apariencia activo contiene dos tipos de parámetros: parámetros relacionados con la forma (parámetros de forma) y parámetros relacionados con el modelo estadístico de píxeles de una imagen o textura (parámetros de apariencia). Antes de su uso, el modelo debe entrenarse en un conjunto de imágenes preetiquetadas. Las imágenes se marcan manualmente. Cada marca tiene su propio número y define un punto característico que el modelo deberá encontrar durante la adaptación a una nueva imagen.


Un ejemplo de una imagen de la cara marcada desde 68 puntos que forman una forma AAM.

La rutina de entrenamiento de AAM comienza normalizando las formas en las imágenes mapeadas para compensar las diferencias de escala, inclinación y desplazamiento. Para ello se utiliza el llamado análisis de Procusto generalizado.


Coordenadas de los puntos de la forma de la cara antes y después de la normalización

Luego, los componentes principales se extraen del conjunto completo de puntos normalizados utilizando el método PCA.


El modelo de forma AAM consta de un retículo de triangulación s0 y una combinación lineal de desplazamientos si en relación con s0

Además, se forma una matriz a partir de los píxeles dentro de los triángulos formados por los puntos de la forma, de modo que cada una de sus columnas contiene los valores de los píxeles de la textura correspondiente. Vale la pena señalar que las texturas utilizadas para el entrenamiento pueden ser de un solo canal (escala de grises) o multicanal (por ejemplo, espacio de color RGB u otro). En el caso de texturas multicanal, los vectores de píxeles se forman por separado para cada uno de los canales y luego se concatenan. Después de encontrar los componentes principales de la matriz de textura, el modelo AAM se considera entrenado.

El modelo de apariencia de AAM consiste en una vista base A0 definida por píxeles dentro de una celosía base s0 y una combinación lineal de las compensaciones de Ai relativas a A0

Un ejemplo de desarrollo de AAM. Vector de parámetro de forma
p = (p_1, p_2, 〖…, p〗 _m) ^ T = (- 54,10, -9.1,…) ^ T se usa para sintetizar un modelo de la forma s, y el vector de parámetros λ = (λ_1, λ_2, 〖…, λ〗 _m) ^ T = (3559,351, -256,…) ^ T para sintetizar la apariencia del modelo. El modelo de cara final 〖M (W (x; p))〗 ^ se obtiene como una combinación de dos modelos: forma y apariencia.

El ajuste del modelo a una imagen facial específica se realiza en el proceso de resolución de un problema de optimización, cuya esencia es minimizar la funcionalidad

Método de descenso por gradiente. Los parámetros del modelo encontrados en este caso reflejarán la posición del modelo en una imagen específica.




Un ejemplo de cómo ajustar un modelo a una imagen específica en 20 iteraciones del procedimiento de descenso de gradiente.

AAM se puede utilizar para simular imágenes de objetos sujetos a deformaciones tanto rígidas como no rígidas. AAM consta de un conjunto de parámetros, algunos de los cuales representan la forma de la cara, el resto establece su textura. Las deformaciones generalmente se entienden como una transformación geométrica en forma de una composición de traslación, rotación y escala. Al resolver el problema de localizar un rostro en una imagen, se realiza la búsqueda de los parámetros AAM (ubicación, forma, textura), que representan la imagen sintetizada más cercana a la observada. En función de la cercanía del AAM a la imagen ajustada, se decide si hay un rostro o no.

Modelos de forma activa (ASM)

La esencia del método ASM es tener en cuenta las relaciones estadísticas entre la ubicación de los puntos antropométricos. En la muestra disponible de imágenes faciales, tomadas en la vista frontal. En la imagen, el experto marca la ubicación de los puntos antropométricos. En cada imagen, los puntos están numerados en el mismo orden.




Un ejemplo de representación de la forma de una cara usando 68 puntos

Para llevar las coordenadas de todas las imágenes a sistema unificado generalmente el llamado. Análisis de desplazamiento generalizado, como resultado del cual todos los puntos se colocan en la misma escala y se centran. Además, para todo el conjunto de imágenes, se calculan la forma media y la matriz de covarianza. Sobre la base de la matriz de covarianza, se calculan los autovectores, que luego se ordenan en orden descendente de sus autovalores correspondientes. La ASM está definida por una matriz Φ y un vector de forma media s ̅.
Entonces, cualquier forma se puede describir usando un modelo y parámetros:

La localización del modelo ASM en una nueva imagen no incluida en la muestra de entrenamiento se lleva a cabo en el proceso de resolución del problema de optimización.


a B C D)
Ilustración del proceso de localización del modelo ASM en una imagen específica: a) posición inicial b) después de 5 iteraciones c) después de 10 iteraciones d) el modelo ha convergido

Sin embargo, el objetivo principal de AAM y ASM no es el reconocimiento facial, sino la localización exacta del rostro y los puntos antropométricos en la imagen para su posterior procesamiento.

En casi todos los algoritmos, un paso obligatorio que precede a la clasificación es la alineación, lo que significa alinear la imagen de la cara a la posición frontal en relación con la cámara o traer un conjunto de caras (por ejemplo, en una muestra de entrenamiento para entrenar a un clasificador) para un solo sistema de coordenadas. Para implementar esta etapa, es necesario localizar los puntos antropométricos característicos de todas las caras en la imagen; la mayoría de las veces estos son los centros de las pupilas o las esquinas de los ojos. Diferentes investigadores distinguen diferentes grupos de tales puntos. Para reducir los costos computacionales de los sistemas en tiempo real, los desarrolladores no asignan más de 10 de esos puntos.

Los modelos AAM y ASM están diseñados para localizar con precisión estos puntos antropométricos en la imagen facial.

6. Los principales problemas asociados con el desarrollo de sistemas de reconocimiento facial

Problema de iluminación

Problema de posición de la cabeza (después de todo, la cara es un objeto tridimensional).

Para evaluar la efectividad de los algoritmos de reconocimiento facial propuestos, la agencia DARPA y el Laboratorio de Investigación del Ejército de los EE. UU. Han desarrollado el programa FERET (tecnología de reconocimiento facial).

En las pruebas a gran escala del programa FERET participaron algoritmos basados ​​en la comparación flexible de gráficos y diversas modificaciones del análisis de componentes principales (PCA). La eficiencia de todos los algoritmos fue aproximadamente la misma. En este sentido, es difícil o incluso imposible distinguir claramente entre los dos (especialmente si se acuerdan las fechas de prueba). Para imágenes frontales tomadas el mismo día, la precisión de reconocimiento aceptable suele ser del 95%. Para imágenes tomadas con diferentes dispositivos y bajo diferentes condiciones de iluminación, la precisión generalmente cae al 80%. Para las imágenes tomadas con una diferencia de un año, la precisión del reconocimiento fue de aproximadamente el 50%. Cabe señalar que incluso el 50 por ciento es una precisión más que aceptable de este tipo de sistema.

FERET publica anualmente un informe de prueba comparativo sistemas modernos reconocimiento facial basado en rostros de más de un millón. Desafortunadamente, los últimos informes no divulgan los principios de los sistemas de reconocimiento de edificios, sino que solo se publican los resultados del funcionamiento de los sistemas comerciales. Hoy, el sistema líder es el sistema NeoFace desarrollado por NEC.

Referencias (buscadas en Google en el primer enlace)
1. Reconocimiento facial basado en imágenes: problemas y métodos
2. Detección facial A Survey.pdf
3. Reconocimiento facial Una encuesta de literatura
4. Una encuesta sobre técnicas de reconocimiento facial
5. Una encuesta sobre detección, extracción y reconocimiento de rostros
6. Descripción general de los métodos para identificar personas en función de imágenes faciales
7. Métodos para reconocer a una persona por la imagen de su rostro
8. Análisis comparativo de algoritmos de reconocimiento facial
9.Técnicas de reconocimiento facial
10. Acerca de una aproximación a la localización de puntos antropométricos.
11. Reconocimiento facial en fotos grupales mediante algoritmos de segmentación
12. Informe de investigación 2ª etapa sobre reconocimiento facial
13. Reconocimiento facial mediante correspondencia de gráficos de racimos elásticos
14. Algoritmos para identificar a una persona a partir de una fotografía basados ​​en transformaciones geométricas. Tesis.
15. Reconocimiento de objetos invariables de distorsión en la arquitectura de enlace dinámico
16. Reconocimiento facial usando modelos de formas activas, parches locales y máquinas de vectores de apoyo
17 Reconocimiento facial mediante modelos de apariencia activa
18. Modelos de apariencia activa para el reconocimiento facial
19 Alineación facial mediante el modelo de forma activa y la máquina de vectores de soporte
20. Modelos de formas activas: su formación y aplicación
21. Fisher Vector Faces en la naturaleza
22. Caras propias vs. Reconocimiento de Fisherfaces mediante proyección lineal específica de clase
23. Caras propias y pescaderías
24. Reducción de dimensionalidad
25. Tutorial de ICCV 2011 sobre registro deformable basado en piezas
26. Modelo local restringido para alineación de caras, un tutorial
27. ¿Quién eres? Aprendiendo clasificadores específicos de personas a partir del video.
28. Reconocimiento de una persona por imagen facial utilizando métodos de redes neuronales.
29. Reconocimiento facial: un enfoque de red neuronal convolucional
30. Reconocimiento facial mediante red neuronal convolucional y clasificador logístico simple
31. Análisis de imágenes faciales con redes neuronales convolucionales
32. Métodos de reconocimiento facial basados ​​en procesos ocultos de Markov. Autor-ferat
33. Aplicación de modelos ocultos de Markov para el reconocimiento facial
34. Detección y reconocimiento de rostros mediante modelos de Markovs ocultos
35. Reconocimiento facial con GNU Octave-MATLAB
36. Reconocimiento facial con Python
37. Reconocimiento facial antropométrico 3D
38.3D Reconocimiento facial
39. Reconocimiento facial basado en el ajuste de un modelo transformable en 3D
40. Reconocimiento facial
41. Reconocimiento facial robusto a través de una representación escasa
42. La metodología de evaluación FERET para algoritmos de reconocimiento facial
43. Búsqueda de rostros en colecciones electrónicas de fotografías históricas
44. Diseño, implementación y evaluación de sistemas de visión por hardware dedicados al reconocimiento facial en tiempo real
45. Introducción al problema del desafío del reconocimiento facial bueno, malo y feo
46. ​​Investigación y desarrollo de métodos para detectar un rostro humano en imágenes digitales. Diploma
47. DeepFace cerrando la brecha del desempeño a nivel humano en la verificación facial
48. Eliminando el mordisco de la asignación automática de nombres a los personajes en los videos de televisión
49. Hacia un sistema práctico de reconocimiento facial Alineación e iluminación sólidas mediante representación dispersa
50. Algoritmos para detectar el rostro de una persona para resolver problemas aplicados de análisis y procesamiento de imágenes.
51. Detección de rostros y localización en la imagen
52. Mod Modificado de Viola-Jones
53.Desarrollo y análisis de algoritmos para la detección y clasificación de objetos basados ​​en métodos de aprendizaje automático
54. Descripción general del gran desafío del reconocimiento facial
55. Prueba de proveedor de reconocimiento facial (FRVT)
56. Sobre la eficiencia del uso del algoritmo SURF en el problema de identificación de personas

Más de tres mil cámaras de video de la red de videovigilancia de la ciudad se conectaron al sistema de reconocimiento facial. La imagen del video se analiza automáticamente en tiempo real: el sistema puede identificar a la persona en el video, su género y edad.

Al sistema de videovigilancia de Moscú se le enseñó a reconocer rostros. Gracias a un algoritmo basado en el uso de redes neuronales, las grabaciones de video de las cámaras de la ciudad se analizan en tiempo real. Las personas que figuran en los registros se escanean para poder compararlas, si es necesario, con la información de varias bases de datos, por ejemplo, en las bases de datos de fotografías de los organismos encargados de hacer cumplir la ley cuando se trata de encontrar al delincuente. Además, un sistema analítico de este tipo puede ayudar a los organismos encargados de hacer cumplir la ley, al capturar a un delincuente, a construir una ruta para su movimiento por la ciudad. El propio sistema seleccionará las grabaciones de video necesarias de diferentes cámaras de vigilancia, identificando al sospechoso en el video. La red metropolitana consta de 160 mil cámaras de video y cubre el 95 por ciento de las entradas de los edificios residenciales. Hasta fin de año, los ciudadanos podrán instalar cámaras de forma independiente en sus hogares y conectarlas a un sistema unificado de videovigilancia.

“La introducción de la analítica de video es un poderoso impulsor para aumentar la eficiencia de los sistemas de videovigilancia tanto privados como urbanos. Los habitantes de la ciudad tienen un nivel adicional de protección, - dijo el jefe del Departamento. tecnologías de la información Moscú Artem Ermolaev. - Por supuesto, todas estas oportunidades deben implementarse de manera muy responsable. Nuestra prioridad es el equilibrio entre la privacidad y la seguridad, y nos adherimos a una estricta política de control interno para garantizar que se respeten los derechos de los ciudadanos ".

Ahora, alrededor de 16 mil usuarios están conectados al sistema de vigilancia de la ciudad: son empleados de agencias de aplicación de la ley, organizaciones estatales y municipales. Cada uno tiene su propio nivel de acceso, lo que le permite mantener la confidencialidad de la información. Los agentes del orden pueden obtener los datos necesarios bajo petición en el marco de la legislación vigente, y los empleados de las instituciones estatales acceden a las cámaras de video solo desde aquellos territorios y rutas de los que son responsables. Se registra cada llamada al sistema de seguimiento.

La función de reconocimiento facial funciona en línea, el proceso de identificación demora unos segundos. Si el algoritmo detecta a una persona cuyo rostro está cargado en la base de datos, enviará una alerta a las fuerzas del orden.

El Departamento también señaló que la introducción de la función de reconocimiento facial ya ha aumentado la eficiencia de la investigación de delitos y la búsqueda de delincuentes. Durante las pruebas piloto, identificó y detuvo a más del 50 por ciento de los infractores de la ley, a quienes se buscó mediante algoritmos analíticos. Antes de eso, algunos de ellos no se pudieron encontrar durante muchos años.

Los moscovitas podrán conectar sus cámaras de vigilancia a la red general de la ciudad. Esta opción se implementará antes de fin de año. El video de dichas cámaras se transmitirá a un único centro de procesamiento y almacenamiento de datos (ECDC), y las grabaciones de las mismas se pueden utilizar como prueba legal en los tribunales.

Este año, más de 3.5 mil cámaras se conectaron adicionalmente a un único centro de procesamiento y almacenamiento de datos. Las cámaras de acceso, las cámaras instaladas en el territorio y en los edificios de las escuelas y jardines de infancia, en las estaciones de MCC, estadios, paradas de transporte público y estaciones de autobuses, así como en los parques, están conectadas a un solo sistema. Además, en junio de 2018 aparecerán cámaras de videovigilancia en 25 pasos de peatones subterráneos de la capital. Los dispositivos de grabación se instalarán en pasajes subterráneos no conectados con estaciones de metro y bajo la jurisdicción de GBU "Gormost".

Quizás no exista hoy en día ninguna otra tecnología en torno a la cual habría tantos mitos, mentiras e incompetencias. Los periodistas que hablan de tecnología mienten, los políticos que hablan de una implementación exitosa mienten, la mayoría de los vendedores de tecnología mienten. Todos los meses veo las consecuencias de las personas que intentan implementar el reconocimiento facial en sistemas que no pueden funcionar con él.

El tema de este artículo se volvió doloroso hace mucho tiempo, pero de alguna manera era demasiado vago para escribirlo. Mucho texto, que ya he repetido veinte veces a distintas personas. Pero, después de leer otro paquete de basura, decidí que era el momento. Daré un enlace a este artículo.

Entonces. En este artículo, responderé algunas preguntas simples:

¿De dónde crees que sacaron estas bases los creadores de los algoritmos?

Un pequeño consejo. El primer producto de NTech que son ahora es Find Face, una búsqueda de personas por contacto. Creo que no se necesitan explicaciones. Por supuesto, VKontakte lucha contra los bots que bombean todos los perfiles abiertos. Pero por lo que escuché, la gente todavía está bombeando. Y compañeros de clase. E instagram.

Es como con Facebook: allí todo es más complicado. Pero estoy bastante seguro de que también se les ocurrió algo.
Entonces sí, si su perfil está abierto, entonces puede estar orgulloso, se usó para entrenar algoritmos;)

Sobre soluciones y sobre empresas

Puedes estar orgulloso de ello. De las 5 empresas líderes en el mundo, dos son ahora rusas. Estos son N-Tech y VisionLabs. Hace medio año, NTech y Vocord eran los líderes, el primero funcionaba mucho mejor en las caras volteadas, el segundo en las frontales.

Ahora el resto de líderes son 1-2 empresas chinas y 1 estadounidense, Vocord ha pasado algo en las calificaciones.

También ruso en la calificación de itmo, 3divi, intellivision. Synesis es una empresa bielorrusa, aunque algunas estuvieron una vez en Moscú, hace unos 3 años tenían un blog sobre Habré. También conozco varias soluciones que pertenecen a empresas extranjeras, pero las oficinas de desarrollo también están en Rusia. También hay varias empresas rusas que no están en la competencia, pero que parecen tener buenas soluciones. Por ejemplo, los ODM lo tienen. Obviamente, Odnoklassniki y Vkontakte también tienen sus propias buenas, pero son para uso interno.

En resumen, sí, la mayoría de nosotros y los chinos nos cambiamos de cara.

NTech fue el primero en el mundo en mostrar buenos parámetros nuevo nivel. En algún momento a finales de 2015. VisionLabs solo alcanzó a NTech. En 2015, fueron los líderes del mercado. Pero su decisión fue de la generación pasada, y comenzaron a intentar ponerse al día con NTech solo a fines de 2016.

Para ser honesto, no me gustan estas dos empresas. Marketing muy agresivo. He visto personas a las que se les dio una solución claramente inapropiada que no resolvió sus problemas.

De este lado, me gustó mucho más Vocord. Una vez consulté a los chicos a quienes Vocord les dijo con mucha honestidad, “su proyecto no funcionará con tales cámaras y puntos de instalación”. NTech y VisionLabs felizmente intentaron vender. Pero algo de Vocord ha desaparecido recientemente.

conclusiones

En las conclusiones, me gustaría decir lo siguiente. El reconocimiento facial es una herramienta muy buena y poderosa. Realmente te permite encontrar criminales hoy. Pero su implementación requiere un análisis muy preciso de todos los parámetros. Hay suficientes soluciones OpenSource donde. Hay aplicaciones (reconocimiento en estadios en multitud) donde solo necesitas instalar VisionLabs | Ntech, y además mantener un equipo de mantenimiento, análisis y toma de decisiones. Y OpenSource no te ayudará aquí.

Hoy en día, uno no puede creer todas las historias de que uno puede atrapar a todos los criminales u observar a todos en la ciudad. Pero es importante recordar que estas cosas pueden ayudar a atrapar a los delincuentes. Por ejemplo, parar en el metro no a todos seguidos, sino solo a aquellos que el sistema considera similares. Coloca cámaras de modo que se reconozcan mejor los rostros y crea una infraestructura adecuada para ello. Aunque, por ejemplo, yo estoy en contra de esto. Por el costo de un error, si te reconocen como otra persona, puede ser demasiado grande.

Agregar etiquetas

Contraseñas complejas, Autenticación de dos factores Los escáneres de huellas digitales son todas formas de proteger los datos del usuario. En los últimos años, los fabricantes de teléfonos inteligentes han comenzado a promover activamente una nueva tendencia: sistemas reconocimiento automático rostros humanos. Averigüemos de dónde vienen, cómo funcionan y por qué se necesitan.

Un poco de historia

Los primeros experimentos cerrados sobre el reconocimiento informático de rostros humanos comenzaron en la década de 1960. Los principales problemas de los científicos entonces: la incapacidad de las computadoras para capturar diferentes expresiones y cambios relacionados con la edad en el rostro de una persona, así como la baja automatización del proceso. La investigación pasó a un nuevo nivel a fines del siglo XX; luego, las computadoras comenzaron a enseñar, al analizar fotografías, a "reconocer" a las personas desde varios ángulos, no a reaccionar ante barbas, bigotes, cosméticos y otras "interferencias". Este proceso continúa hasta el día de hoy: no hay ningún sistema en el mundo que funcione en el 100% de los casos y proporcione una alta precisión de reconocimiento. Sin embargo, a principios del siglo XXI, la tecnología ha avanzado y ha aparecido un nuevo método de identificación facial basado en el escaneo tridimensional. Nos centraremos en ello hoy.

Cómo funcionan los sistemas de reconocimiento facial en los teléfonos inteligentes

Reconocimiento facial activado gadgets modernos, como cualquier otro proceso de identificación biométrica de usuarios, se puede dividir a grandes rasgos en 4 etapas:

  1. Escaneo facial inicial. Usando un sensor o cámara especial, el sistema realiza un escaneo facial tridimensional y procesa la información recibida.
  2. Extrayendo datos únicos y creando una plantilla basada en ellos. En esta etapa, el sistema determina un conjunto de características de un rostro en particular: los contornos de la cuenca del ojo, el ancho de la nariz y la forma de los pómulos.
  3. Hacer coincidir la plantilla terminada con una nueva entrada, por ejemplo, el rostro de otra persona.
  4. Busque coincidencias. El sistema decide si el conjunto de características de la nueva muestra coincide con la plantilla lista para usar y realiza una acción específica. En nuestro caso desbloqueará la pantalla o la dejará bloqueada.

desventajas

Sobre smartphones modernos el escaneo tarda menos de un segundo. Sin embargo, el sensor 3D aún no puede reemplazar por completo otros métodos de identificación del usuario, como un escáner de huellas dactilares. Hay varias razones:

  • el sistema es inestable en condiciones de poca luz;
  • no se adapta bien a las diferentes expresiones del rostro humano, los peinados, el vello facial y otros obstáculos;
  • el sistema no siempre compara con precisión la plantilla con los nuevos datos de entrada, por lo que el dispositivo se puede desbloquear con la foto del propietario.

¿Dónde se utilizan los sistemas de reconocimiento facial?

Anteriormente, los sistemas de identificación y reconocimiento facial eran utilizados exclusivamente por los organismos encargados de hacer cumplir la ley, en los aeropuertos y en las aduanas. En los últimos años, el enfoque se ha desplazado hacia las computadoras personales, los teléfonos inteligentes y los dispositivos portátiles, donde los escáneres faciales son una herramienta adicional para la autenticación de usuarios. Así, el Galaxy S8 presentado en marzo está equipado con un sensor 3D que puede desbloquear el dispositivo. Cabe destacar que para realizar pagos o trabajar con carpetas confidenciales, los usuarios deben utilizar un método más confiable de verificación biométrica: una huella digital.

Otra área de aplicación de la tecnología de reconocimiento facial es la identificación de personas en fotografías. Esta función funciona en los álbumes de Google Fotos y la aplicación Fotos en iPhone y Mac. En este último, el sistema reconoce a las personas en las imágenes que el usuario carga en la biblioteca, y luego le permite agregar nombres y detalles de contacto, lo que facilita la búsqueda de las imágenes.

Cuando Apple complete Siri, podremos abrir las fotos que necesitemos sin tocar el dispositivo y compartirlas en las redes sociales, llamar a viejos amigos que vimos en un álbum con fotos de la universidad, o pedirle a un asistente que nos muestre cómo ha sido nuestra apariencia. cambiado en los últimos 5 años. Y eso es lo primero que me viene a la mente.

Reconocimiento facial en Rusia

Dónde y por qué quieren aplicarlo

Eventos publicos

NtechLab ha desarrollado un sistema de cámara que. Reconoce a los intrusos y envía sus fotos a la policía. La policía también contará con cámaras de mano para fotografiar a personas sospechosas, reconocer sus rostros y averiguar quiénes son a partir de bases de datos.

Se están probando cámaras con reconocimiento facial en el metro de Moscú. Escanean los rostros de 20 personas por segundo y los comparan con bases de datos de personas buscadas. Si hay una coincidencia, las cámaras envían los datos a la policía. Durante 2,5 meses, el sistema ha estado en la lista de buscados. Se sabe que existen este tipo de cámaras, pero es posible que también se hayan instalado en otras estaciones.

Otkritie Bank lanzó un sistema de reconocimiento facial a principios de 2017. Compara el rostro del visitante con la fotografía de la base de datos. El sistema es necesario para atender a los clientes más rápido, no se especifica exactamente cómo. En el futuro, Otkritie quiere utilizar el sistema para identificación remota. En 2018 sistema similar, pero debería aparecer el desarrollo de "Rostelecom".

Lo principal es el algoritmo.

¿Qué tecnología permite que las máquinas reconozcan rostros?

Sergey Milyaev

La visión por computadora son algoritmos que le permiten obtener información de alto nivel a partir de imágenes y videos, automatizando así algunos aspectos de la percepción visual humana. La visión por computadora para una máquina, como la visión ordinaria para una persona, es un medio para medir y obtener información semántica sobre la escena observada. Con su ayuda, la máquina recibe información sobre qué tan grande es el objeto, qué forma tiene y qué tiene.

Cámara de algoritmo visión por computador OpenCV monitorea a los niños en el patio de recreo

Todo funciona sobre la base de redes neuronales.

Cómo funciona exactamente el reconocimiento facial, con un ejemplo

Sergey Milyaev: Las máquinas hacen esto de manera más eficiente sobre la base del aprendizaje automático, es decir, cuando toman una decisión basada en algún modelo paramétrico sin describir explícitamente todas las reglas necesarias para la toma de decisiones. código de programa... Por ejemplo, para el reconocimiento facial, una red neuronal extrae características de una imagen y obtiene una representación única del rostro de cada persona, que no se ve afectada por la orientación de su cabeza en el espacio, la presencia o ausencia de barba o maquillaje, iluminación, etc. cambios relacionados con la edad, etc.

La visión por computadora no reproduce el sistema visual humano, solo simula algunos aspectos para resolver diversos problemas

Sergey Milyaev

Investigador principal, VisionLabs

Los algoritmos de visión por computadora más comunes ahora se basan en redes neuronales que, con el aumento en el rendimiento del procesador y el volumen de datos, han demostrado un alto potencial para resolver una amplia gama de problemas. Cada fragmento de la imagen se analiza mediante filtros con parámetros que utiliza la red neuronal para buscar rasgos característicos de la imagen.

Ejemplo

Las capas de la red neuronal procesan secuencialmente la imagen y, en cada capa subsiguiente, se calculan más y más características abstractas, y los filtros de las últimas capas pueden ver la imagen completa. Al reconocer rostros en las primeras capas, la red neuronal detecta características simples como límites y rasgos faciales, luego, en capas más profundas, los filtros pueden revelar características más complejas; por ejemplo, dos círculos uno al lado del otro probablemente significarán que estos son ojos, etcétera.

El algoritmo de visión por computadora de OpenCV determina cuántos dedos se muestran

La computadora sabe cuando está siendo engañada

¿Puede una persona engañar a una computadora muy inteligente, tres ejemplos

Oleg Grinchuk

Investigador principal de VisionLabs

Los estafadores pueden intentar hacerse pasar por otra persona para obtener acceso a sus cuentas y datos, o engañar al sistema para que no pueda reconocerlos en principio. Consideremos ambas opciones.

La foto, el video o la máscara impresa de otra persona

La plataforma VisionLabs combate estos métodos de engaño comprobando la vivacidad, es decir, comprueba que el objeto frente a la cámara está vivo. Esto puede ser, por ejemplo, vida interactiva, cuando el sistema le pide a una persona que sonríe, parpadee o acerque la cámara o el teléfono inteligente a la cara.

El conjunto de controles no se puede predecir, ya que la plataforma crea una secuencia aleatoria con decenas de miles de combinaciones; no es realista grabar miles de videos con las combinaciones deseadas de sonrisas y otras emociones. Y si la cámara está equipada con sensores del rango infrarrojo cercano o un sensor de profundidad, entonces transmiten al sistema Información adicional, lo que ayuda a determinar un cuadro a la vez si la persona frente a ella es real.

Además, el sistema analiza el reflejo de la luz de diferentes texturas, así como el entorno del objeto. Por tanto, es casi imposible engañar al sistema de esta forma.

En este caso, para reproducir una copia suficiente para obtener acceso, el defraudador debe tener acceso a código fuente y según las reacciones del sistema a los cambios de apariencia con el maquillaje, cámbielo gradualmente para convertirse en una copia exacta de otra persona.

Un atacante necesita descifrar exactamente la lógica y el principio de verificación. Pero para un usuario externo, esto es solo una cámara, una caja negra, en la que es imposible entender qué versión del cheque se encuentra dentro. Además, los factores de verificación difieren de un caso a otro, por lo que no se puede utilizar algún algoritmo universal para piratear.

Si hay varios errores de reconocimiento, el sistema envía una señal de advertencia al servidor, después de lo cual se bloquea el acceso del atacante. Entonces, incluso bajo la condición poco probable de tener acceso al código, es difícil piratear el sistema, ya que un atacante no puede cambiar su apariencia sin cesar hasta que se produzca el reconocimiento.

Gafas de sol grandes, gorra, bufanda, cúbrete la cara con la mano

El sistema no podrá reconocer a una persona si la mayor parte de su rostro está oculto, aunque la red neuronal reconoce los rostros mucho mejor que una persona. Pero para esconderse completamente del sistema de reconocimiento facial, una persona siempre debe ocultar su rostro a las cámaras, y esto es bastante difícil de implementar en la práctica.

La visión por computadora es superior a la visión humana

Que exactamente y por que, con un ejemplo

Yuri Minkin

Los sistemas de visión por computadora son similares en principios básicos a la visión humana. Como persona, tienen dispositivos que se encargan de recolectar información, estos son cámaras de video, un análogo de los ojos, y su procesamiento es una computadora, un análogo del cerebro. Pero la visión por computadora tiene una ventaja significativa sobre la visión humana.

Una persona tiene un cierto umbral de lo que puede ver y qué información extraer de la imagen. Este umbral no puede superarse por razones puramente fisiológicas. Y los algoritmos de visión por computadora solo mejorarán. Tienen infinitas oportunidades de aprendizaje.

Yuri Minkin

Jefe del Departamento de Tecnologías Cognitivas

Un buen ejemplo es la tecnología de visión por computadora en automóviles autónomos. Si una persona puede enseñar su conocimiento de la situación del tráfico solo a un número pequeño y significativamente limitado de personas, entonces los automóviles pueden transferir toda la experiencia existente de detectar ciertos objetos a la vez a todos los sistemas nuevos que se instalarán en una flota de miles o incluso un millón.

Ejemplo

A fines del año pasado, los especialistas en tecnologías cognitivas realizaron experimentos para comparar las capacidades de los humanos y la inteligencia artificial para detectar objetos en la escena de la carretera. E incluso ahora, la IA en algunos casos no solo no cedió, sino que también superó las capacidades humanas. Por ejemplo, reconocía mejor las señales de tráfico cuando estaban parcialmente oscurecidas por el follaje de los árboles.

¿Puede una computadora testificar contra una persona?

Sergey Izrailit: Ahora, en la legislación, el uso de datos "obtenidos de computadoras" para su uso como evidencia de algunas circunstancias importantes, incluidos los delitos, está específicamente regulado solo para algunos casos. Por ejemplo, se regula el uso de cámaras que reconocen las placas de los automóviles que violan el tráfico de alta velocidad.

En general, estos datos pueden utilizarse en igualdad de condiciones con cualquier otra prueba que la investigación o el tribunal puedan tener en cuenta o rechazar. Al mismo tiempo, la legislación procesal establece orden general trabajar con pruebas: un examen, en cuyo marco se establece si el expediente presentado realmente confirma algún hecho o si la información ha sido distorsionada de una forma u otra.