Face Detection and Recognition in a Hadoop Cluster

Cargando...
Miniatura

Fecha

2017-08

Autores

Bañuelos-Sahagún, Ángel J.

Título de la revista

ISSN de la revista

Título del volumen

Editor

ITESO

Resumen

Descripción

This research is focus on the implementation of High Performance and Distributive algorithm for solving the problem of detecting faces and to recognize people on a big bundle of images that then can be used on the implementation of security systems as closed-circuit television camera (CCTV), which could offer a quick solution for detecting unrecognized people on certain areas as an example. Another use of such algorithms could be the detection of certain objects like guns, cellphones, etc. in a big number of images. Face detection algorithm is implementing HAAR-LIKE methodology in a trained neuronal network as the first step, there are libraries like OpenCV that had already implemented this methodology which is been used as our computer vision library, on the other hand we have local binary pattern (LBP) which is used to trained the neural network for doing the face recognition task also included on OpenCV. To applied distributive techniques Hadoop Framework is taking an important role, been saved big number of images on its Hadoop Distributed File System (HDFS), for then becoming the data source to apply Map Reduce techniques to implement such algorithms on a distributive way, this dirty task is done by Yarn component which take the control of all servers on the cluster implemented “4 machines”. It is important to mentioned that University of Virginia has developed a library for image processing, Hadoop Image Processing Interface (HIPI) that allows to create images bundles and the easy interface to handle each image on the bundle. At the end, the result obtained is the number of faces found on the bundle and a Neural Network trained to identify people.
Esta investigación se centra en la implementación del algoritmo de alto rendimiento de manera distributivo para resolver el problema de la detección de caras y para reconocer a las personas en un gran paquete de imágenes que luego se pudiera utilizar en la aplicación de sistemas de seguridad como cámara de circuito cerrado de televisión, que podría ofrecer una solución rápida para detectar personas no reconocidas en ciertas áreas, por ejemplo. Otro uso de tales algoritmos podría ser la detección de ciertos objetos como armas, teléfonos celulares, etcétera, en un gran número de imágenes. El algoritmo de detección de rostros implementa la metodología HAAR-LIKE en una red neuronal entrenada como primer paso. Existen bibliotecas como OpenCV que ya habían implementado la metodología que será utilizada como la biblioteca de visión; por otro lado, se tiene patrón binario local (LBP) que se utiliza para entrenar a la red neuronal para hacer la tarea de reconocimiento facial también se incluye en OpenCV. El Framework de Hadoop juega un papel importante, pues aporta el ambiente distributivo en donde se guardaron todas la imágenes en su sistema de archivos HDFS (por sus siglas en inglés, Hadoop Distributed File System), este banco de información se convierte posteriormente en la entrada de datos para así poder aplicar la técnica de Map Reduce con uso de uno de los componentes del Framework Yarn, que hace uso de todas las maquinas del clúster y ejecuta de manera distribuida dichas operaciones de Map Reduce.

Palabras clave

Hadoop, Cluster, MapReduce, OpenCV, HIPI, Face Detection, Parallel Programming, Distributed Systems

Citación

Bañuelos-Sahagún, A. J. (2017). Face Detection and Recognition in a Hadoop Cluster. Trabajo de obtención de grado, Maestría en Sistemas Computacionales. Tlaquepaque, Jalisco: ITESO.