Page 1

Universidad Nacional Mayor de San Marcos, Facultad de Ingeniería de Sistemas e Informática FISI, Agosto 2016

PROCESAMIENTO DE IMÁGENES UTILIZANDO PROCESSING & MATLAB PARA RECONOCIMIENTO FACIAL Gloria Maritza Valencia Vivas1 Carlos Barragán Chumpitaz2 Adolfo Linares Flores3 Jorge Luis Rojas Barnett4 Doctorado en Ingeniería de Sistemas e Informática, Unidad de Posgrado de la Facultad de Ingeniería de Sistemas e Informática FISI, Universidad Nacional Mayor de San Marcos.

E

Resumen.l objetivo del presente estudio es simular un sistema biométrico de reconocimiento que utiliza como característica biométrica una imagen digital estática del rostro humano. Detectar y reconocer rostros humanos en fotografías y secuencias de vídeo es un problema cada vez más en auge en el campo de la visión computacional, y son muchas las aplicaciones prácticas que tienen en la actualidad, como la vigilancia, videoconferencia, control de acceso, pudiendo utilizarse en el campo de la electrónica. Abstract.- The aim of study is to simulate biometric recognition system to use biometric That feature as a digital static image of the human face. Detect and Recognize human faces in photographs and video footage is increasingly a problem in the booming field of computer vision, and there are many practical applications that currently have, such as surveillance, video conferencing, access control, can embedded in electronic field.

Palabras Claves- Imagen Digital, Filtros Digitales, Clasificación de Imágenes Digitales, procesamiento de imagen.

información de estas características (anatómicas o de comportamiento) para reconocer e identificar a las personas, restringir el acceso a sitios no permitidos, controlar horarios en empresas, autenticar información y muchas otras aplicaciones. Para esto utiliza equipos electrónicos que desarrollan las mediciones biométricas, y algoritmos que permiten digitalizar, clasificar y almacenar la información para poder utilizarla después. Una característica anatómica tiene la cualidad de ser relativamente estable en el tiempo, tal como una huella dactilar, la silueta de la mano, patrones de la retina o el iris. Un rasgo del comportamiento es menos estable, pues depende de la disposición psicológica de la persona, por ejemplo, la firma. No cualquier característica anatómica puede ser utilizada con éxito por un sistema biométrico. Para que esto sea así debe cumplir con las siguientes características: Universalidad, Unicidad, Permanencia y Cuantificación [1]. Ver Tabla 1.1 y Tabla 1.2. Tabla1.1:Características de los sistemas biométricos

Index Terms - Digital Image, Digital Filter, classification Digital Imaging, image processing. I.

INTRODUCCIÓN

L

a biometría es la ciencia que se dedica a la identificación de individuos a partir de una característica anatómica o un rasgo de su comportamiento. Busca obtener, clasificar y utilizar la

1

Gloria Maritza Valencia Vivas, e-mail: gvalenciavivas@unmsm.edu.pe Carlos Barragán Chumpitaz, e-mail: Cbarragan@unmsm.edu.pe 3 Adolfo Linares Flores, e-mail: AlinaresFlores@unmsm.edu.pe 4 Jorge Luis Rojas Barnett, e-mail: jorge.rojas4@unmsm.edu.pe 2

1


Universidad Nacional Mayor de San Marcos, Facultad de Ingeniería de Sistemas e Informática FISI, Agosto 2016

Tabla 1.2: Escenarios de aplicación del reconocimiento de caras. [2]

B.

Estas técnicas explotan propiedades aparentes de la cara tal como el color de la piel y la geometría facial. La detección de la cara se resuelve manipulando medidas de distancia, ángulos y áreas de los rasgos visuales en la imagen. Lo más importante en este tipo de técnicas es decidir qué rasgos de la cara interesan para su estudio. El problema de detectar caras en una imagen tiene diferentes aspectos problemáticos. Algunas de ellas son las siguientes [4]: Pose y orientación de la cara, presencia de gafas, barba, gorro, expresión de la cara que se encuentran asociados a otros factores tales como problemas de iluminación (no uniformidad), condiciones generales de la imagen (ruido, fondo complejo) o cantidad desconocida de caras en la imagen. C.

.

I. ANTECEDENTES El antecedente de referencia de este estudio es el realizado por Joshila & Reshmi [6], sobre el tema: Reconocimiento de rostro en sistemas de vigilancia aplicando Open Source y lenguajes de alto nivel cómo Matlab para el cálculo técnico.

II. MARCO CONCEPTUAL A.

Detección de Caras.

La primera fase es el proceso de detección de caras, es decir, dada una imagen determinar si en ella aparecen subimágenes que representan caras humanas y localizarlas para su posterior tratamiento. Tras esta fase viene la de reconocimiento de caras humanas, donde se trata de asignar una identidad a las caras obtenidas en la fase anterior. Estas dos fases deben ir siempre unidas, no es posible un reconocimiento de caras si éstas no han sido previamente detectadas. [3]

Técnicas basadas en rasgos.

Análisis de bajo nivel.

Son técnicas que trabajan a nivel de píxel. Hay diversas técnicas, las más características son: Detección de bordes: La idea se basa en analizar las líneas que componen los bordes de una cara y utilizarlas para detectar los rasgos faciales. El algoritmo sigue los siguientes pasos [5]: Detectar los bordes de la imagen, una vez obtenidos los bordes, se procede a efectuar un adelgazamiento a fin de obtener para cada borde una línea de un píxel de ancho que lo represente.

D.

Análisis de Rasgos.

El problema del análisis a bajo nivel es que puede proporcionar información ambigua, por ejemplo, si aparecen en la imagen objetos que tengan un color similar al del modelo de color de piel utilizado. El análisis de rasgos se basa en la geometría de la cara para caracterizar y posteriormente verificar rasgos a fin de evitar dicha ambigüedad.0 D.

Análisis de constelaciones.

Se basa en el uso de un modelo probabilístico que estudia la posición espacial de los rasgos faciales, intentando buscar patrones que se asemejen a una cara [4]. Consideran las imágenes de caras humanas como un subespacio lineal de un espacio mayor (de todas las imágenes). La base del método es la siguiente [5]: Construir la base canónica. Partiendo de un conjunto de 2


Universidad Nacional Mayor de San Marcos, Facultad de Ingeniería de Sistemas e Informática FISI, Agosto 2016

imágenes que representan caras (y sólo caras), se encuentran los componentes principales de una cara, expresados en términos de autovectores, aquí llamados eigenfaces. Cada cara del conjunto anterior puede ser aproximada por una combinación lineal de las eigenfaces usando los pesos apropiados. III. METODOLOGÍA El presente documento trata de implementar una aplicación de fácil implementación que permita la detección de imágenes u objetos a partir de un conjunto de fotos. El procedimiento usado ha sido el siguiente:

imágenes que servirán de entrenamiento del detector de rostros y para validación del mismo. En otras palabras, las imágenes positivas servirán para entrenar y validar al detector. Un ejemplo de estas carpetas puede ser: positivasentrenamiento y positivasvalidacion. Paso 4: Utilizar el módulo de MATLAB conocido como trainingImageLabeler que permite definir, en forma manual, a los rostros o parte de las imágenes a buscar. La figura siguiente muestra un ejemplo de cómo seleccionar partes de una imagen para que el MATLAB lo reconozca.

Paso 1: Dado un vídeo, se desarrolla una aplicación en MATLAB que lea dicho vídeo y que pueda obtener un conjunto de fotos del tipo .BMP o .JPG. El código fuente de dicha aplicación es el siguiente: %Extrae imágenes de un video clc; clear all; close all; video='videoejemplo2.mp4'; %Nombre del video carpeta='C:\MATLAB\TrabajoFinal\imagenes '; %Nombre de las carpetas en donde se ubicarán los archivos desfragmentados NumeroImagenes=20; %Número de imágenes divididas videoobj=VideoReader(video); intervalo=round(linspace(1,videoobj.Numb erOfFrames, NumeroImagenes)); %intervalo=round(linspace(1,20, NumeroImagenes)); for i=intervalo frame = read(videoobj, i); namefile = [carpeta, '\imagen', num2str(i), '.bmp']; imwrite(frame, namefile); end

Esta aplicación lee el vídeo videoejemplo2.mp4 y lo divide en 20 imágenes grabándolas en la carpeta imágenes con nombre diferente iniciando con la palabra imagen. Paso 2: Definir el rostro o parte de la imagen a buscar. Paso 3: Definir las imágenes positivas y negativas. Las imágenes positivas serán aquellas imágenes en donde se encuentra la cara o parte de la imagen a buscar. Las imágenes negativas serán aquellas imágenes que no contienen el elemento a buscar. Dentro de las imágenes positivas, crear dos carpetas en donde se copien las

Figura 1: MATLAB.

Aplicación

trainingImageLabeler

en

Paso 5: Crear una aplicación en MATLAB que lea la información de los objetos (o rostros) a buscar obtenidos en el Paso 4. La aplicación creada es la siguiente: %Aplicación de entrenamiento de información para detector clc; load(‘TrainingData.mat’); CarpetaPositivos=’C:\MATLAB\TrabajoFinal \imagenes\PositivosEntrenamiento’; CarpetaNegativos=’C:\MATLAB\TrabajoFinal \imagenes\Negativos’; Nombredetector=’Detector.xml’; trainCascadeObjectDetector(Nombredetecto r, GtrainingData, CarpetaNegativos,’FalseAlarmRate’, 0.1, ‘NumCascadeStage’, 5); detector= isión.CascadeObjectDetector(No mbredetector); img = imread (‘C:\MATLAB\TrabajoFinal\imagenes\Positi vosvalidacion\imagen577.bmp’); bbox = step(detector, img); 3


Universidad Nacional Mayor de San Marcos, Facultad de Ingeniería de Sistemas e Informática FISI, Agosto 2016

ImagenDetectada = insertObjectAnnotation(img, ‘rectangle’, bbox, ‘signo’); figure; imshow(ImagenDetectada);

Esta aplicación desarrollada en MATLAB permite entrenar a la información recibida para que detecte el objeto o rostro a buscar. Utiliza el comando trainCascadeObjectDetector que permite utiliza el algoritmo de Viola – Jones para detectar imágenes. Esta aplicación entrena la data utilizando la carpeta positivosentrenamiento y negativos para posteriormente validar cuán fiable es el detector encontrado. Se recomienda que el entrenamiento sea usando una cantidad considerable de imágenes para que el detector sea confiable. IV. RESULTADOS La aplicación desarrollada puede detectar cualquier rostro o parte de una imagen utilizando el software MATLAB a través del uso de comandos con parámetros preestablecidos. Asimismo, se recomienda tener un elevado número de imágenes de entrenamiento para tener un detector de imágenes confiable. Las imágenes de validación sirvieron para saber cuán confiable es el detector implementado.

REFERENCIAS [1] Aguerrebere Otegui, Cecilia; Capdehourat Longres, Germán; Delbracio Bentancor, Mauricio; Mateu Graside, Matías. “Proyecto Aguará: Reconocimiento de Caras”. Documentación de Proyecto de Grado de Ingeniería Eléctrica, Universidad de Montevideo; 2006. [2] Ahonen, Timo; Abdenour Hadid; Pietikäinen, Matti. “Face Description with Local Binary Patterns: Application to Face Recognition”.2006. [3] Armengot Iborra, Marcelo J.: “Análisis comparativo de métodos basados en subespacios aplicados al reconocimiento de caras”. Universidad de Valencia; 2006. [5] Bartlett, M.S.; Movellan, J.R.; Sejnowski, T.J.. “Face Recognition by Independent Component Analysis”. IEEE Trans. on Neural Networks, Vol. 13, No. 6, pp. 1450-1464; 2006. [6] Joshila Grace;K.Reshmi;Department of computer Science and Engineering ,Sathyabama University , China. "Face Recognition in Surveillance System", 2015.

V. CONCLUSIONES 1. El documento que sirvió de investigación se encuentra acorde con los documentos actuales que están en el mercado de TI. 2. En el estudio se ha obtenido una visión general de la situación del desarrollo de aplicaciones que puedan detectar rostros o partes de imágenes. 3. El mercado de TI tienen lenguajes de programación que ayudan a desarrollar aplicaciones que detecten rostros o partes de imágenes, como por ejemplo el MATLAB. 4. A más imágenes de entrenamiento, mayor fiabilidad en el detector encontrado. 5. La fiabilidad del detector aumenta cuando las imágenes son nítidas y/o los objetos a buscar se encuentran bien definidos. 6. En el estudio realizado hallamos que hay un gran movimiento en torno a la investigación y difusión de las aplicaciones que detectan rostros. Actualmente, es bien utilizada en diversos sectores industriales.

4

ROJAS BARNETT JORGE  

JORGE ROJAS BARNETT

ROJAS BARNETT JORGE  

JORGE ROJAS BARNETT

Advertisement