Amigos, decidimos que hablar de cómo se pueden aplicar redes neuronales en la vida real es imposible sin explicar qué son las redes neuronales y, por lo tanto, algunas de nuestras publicaciones están dedicadas a este tema. Y comenzaremos con una breve introducción…

Introducción

Una de las innovaciones más importantes en el mundo de la investigación en la última década ha sido la integración de tecnologías de reconocimiento. Desde mediados del siglo pasado, el problema del reconocimiento de objetos se consideraba como tarea más difícil en el tema de la visión computacional.

El reconocimiento de imágenes es una de las características más importantes de nuestro sistema visual. Esta es la base de otras funciones cognitivas del cerebro, como los movimientos y las interacciones sociales. Por lo tanto, la automatización del reconocimiento de imágenes es una de las tareas principales en el área de la neurofisiología computacional.

La percepción visual se considera el más importante de los cinco sentidos que usamos en la vida normal. Casi dos tercios de la información que recibimos de nuestros sentidos es de naturaleza visual. Durante la percepción visual, procesamos la gama más amplia de tareas: encontramos objetos en la imagen que llaman nuestra atención, independientemente de los cambios en su posición, tamaño, cambio de iluminación o cambio de color de la imagen entendemos cuáles son estos objetos,; Reconocemos objetos borrosos y mucho más. Una persona realiza estas tareas sin ningún esfuerzo. Sin embargo, son extremadamente difíciles de desarrollar a nivel de un sistema artificial.

Aproximadamente desde los 50 del siglo pasado, los científicos han tratado de simular el cerebro utilizando primero redes neuronales analógicas [1] y luego digitales. El concepto de una red neuronal artificial fue introducido por Warren McCulloch y Walter Pitts en 1943 [2]. Los principios del entrenamiento de las redes neuronales se tomaron originalmente de los conceptos básicos del cerebro y las reglas para construir sinapsis: las conexiones entre las neuronas físicas [3].

Como resultado, se propuso una representación jerárquica del sistema visual humano, basada en capas de células complejas y simples ubicadas en las partes visuales del cerebro. En la segunda mitad del siglo pasado, este concepto de jerarquías en el flujo del procesamiento visual fue utilizado por primera vez por los científicos en el área de la visión computacional para construir el primer modelo jerárquico teórico para reconocer objetos [4].

Al ser modelos biológicamente plausibles, estas redes neuronales se han utilizado para la visión computacional durante las próximas décadas. Sin embargo, hasta hace poco, la complejidad computacional de este tipo de arquitectura no permitía a los investigadores crear y entrenar un modelo complejo de varios niveles basando en esta estructura teórica. Los primeros modelos de este tipo empezaron a aparecer solo recientemente. Por la estructura compleja de muchas capas, a estas arquitecturas se llamaron «profundo» o «profundo».

La precisión del reconocimiento de los sistemas modernos de visión computacional en muchas tareas es más alta que la de los humanos [4]. Ellos son capaces de realizar varias tareas al mismo tiempo: tareas de reconocimiento visual de bajo nivel (por ejemplo, detectar los límites de un objeto), tareas de nivel medio (notar partes visibles de una imagen), tareas de nivel medio (identificación de objeto) y tareas de nivel superior (segmentación semántica).

Intentemos describir brevemente la tecnología que forma la base de todas estas tareas, así como la regla básica para aplicar esta tecnología a la tarea del reconocimiento facial.

Dificultades de reconocimiento facial

En comparación con el reconocimiento de objetos ordinarios, el reconocimiento de rostros humanos es una tarea más difícil, ya que requiere herramientas más precisas para detectar una cara y su identificación. Hay muchos problemas con esto. Además de las dificultades habituales, como: la presencia de objetos que bloquean la cara (cabello, lentes, máscara médica, barba); giros de cabeza, cambios por la edad, etc., hay una serie de problemas específicos para el reconocimiento facial, por ejemplo:

  • la necesidad de capturar a veces las diferencias más sutiles entre los rostros de personas similares
  • capacidad de describir aquellas clases de objetos que no se usan durante del entrenamiento

Todas estas razones complican la tarea del reconocimiento facial para obtener datos biométricos.

Descripción de la tecnología

Existen muchos sistemas de visión computacional para el reconocimiento de imágenes. Anteriormente se han utilizado muchos métodos de reconocimiento, como SIFT (inglés, scale-invariant feature transform) [6], un algoritmo para identificar y describir características locales de imágenes, o histograma de gradientes direccionales (inglés, HOG) [7], descriptores de puntos singulares que se utilizan en visión computacional para el procesamiento de imágenes con el objetivo de detectar y reconocer a un objeto.

Generalmente los enfoques tradicionales para el reconocimiento de imágenes para cumplir la tarea de reconocimiento de un objeto combinaban uno de estos algoritmos con un clasificador, como, por ejemplo, el método de vector de soporte (inglés, SVM) [8]. Sin embargo, el enfoque de red neuronal es muy superior a los enfoques tradicionales.

Desde 2010, la efectividad de varios métodos de reconocimiento de imágenes comenzó a evaluarse por la competencia anual de reconocimiento de imágenes ImageNet, la base de datos de imágenes masivas (inglés, ILSVCR), la competencia más grande en la que varios grupos de investigación compitieron en la clasificación y reconocimiento de objetos y escenas. En 2012, la red neuronal convolucional profunda alcanzó la mayor precisión en la historia, superando a los competidores en un 16%. Desde entonces, las redes neuronales convolucionales con una suficiente cantidad de datos, son significativamente superiores a otros métodos en todas estas competiciones.

A principios de 2015, basándose en ejemplos de algunas tareas de ILSVCR, los expertos informaron que la computadora excedió las capacidades de reconocimiento humano (para más detalles, leer aquí y aquí). Curiosamente, el último ILSVCR se celebrará este año: los investigadores están empezando con las tareas más difíciles, una de las cuales es precisamente el reconocimiento facial.

Un concurso similar, pero para reconocimiento facial, se lanzó en 2015 (MegaFace challenge). El conjunto de datos para esta tarea incluyó un millón de fotos de más de 690 mil personas diferentes. Los algoritmos desarrollados sobre la base de redes neuronales excedieron todos los métodos tradicionales y ganaron la competencia de 2015 y 2016 [9].

En diciembre de 2015 el algoritmo de NtechLab ganó el concurso MegaFace, superando las soluciones de competidores tan serios como Google.

En una de las siguientes publicaciones te informaremos más de qué es una red neuronal y que tipos de redes neuronales existen. ¡Quédate con nosotros!

BIBLIOGRAFÍA

[1] Rosenblatt, Frank (1957), The Perceptron—a perceiving and recognizing automaton. Report 85−460−1, Cornell Aeronautical Laboratory. [2] A logical calculus of the ideas immanent in nervous activity // Bulletin of Mathematical Biology. — New York: Springer New York, 1943. — Т. 5, № 4. — С. 115—133. [3] Donald Olding Hebb. The Organization of Behavior: A Neuropsychological Theory. — Wiley, 1949. — 335 p [4] Fukushima К., Miyake S., Takayuki I. Neocognitron: A neural network model for a mechanism of visual pattern recognition. IEEE Transaction on Systems, Man and Cybernetics SMC-13(5):826−34. — 1983. [5] Fukushima К., Miyake S., Takayuki I. Neocognitron: A neural network model for a mechanism of visual pattern recognition. IEEE Transaction on Systems, Man and Cybernetics SMC-13(5):826−34. — 1983. [6] Lowe D. (1999). «Object recognition from local scale-invariant features» (PDF). Proceedings of the International Conference on Computer Vision. 2. pp. 1150−1157. [7] Dalal N., Triggs B.(2005) Histograms of Oriented Gradients for Human Detection. In proc. Of CVPR conference. [8] Vapnik, Vladimir N.; The Nature of Statistical Learning Theory, Springer-Verlag, 1995. ISBN 0−387−98 780−0 [9] «The MegaFace Benchmark: 1 Million Faces for Recognition at Scale», Ira Kemelmacher-Shlizerman, Steve Seitz, Daniel Miller, Evan Brossard, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016