tutorial deteccion de rostro

8
INSTITUTO TECNOLOGICO SUPERIOR DE POZA RICA CATEDRATICO: ING. RICARDO VENEGAS GUZMAN MATERIA: VISION ARTIFICIAL ESPECIALIDAD: INTELIGENCIA ARTIFICIAL CARRERA: INGENIERIA MECATRONICA 9° SEMESTRE INTEGRANTES DEL EQUIPO: ANTONIO DIAZ JAHIR OSSIEL CRUZ SANCHEZ JORGE ANTONIO TUTORIAL DETECCION DE ROSTROS MATLAB

Upload: carlos-calderon-guzman

Post on 22-Oct-2015

21 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tutorial Deteccion de Rostro

INSTITUTO TECNOLOGICO SUPERIOR DE POZA RICA

CATEDRATICO:

ING. RICARDO VENEGAS GUZMAN

MATERIA:

VISION ARTIFICIAL

ESPECIALIDAD:

INTELIGENCIA ARTIFICIAL

CARRERA:

INGENIERIA MECATRONICA

9° SEMESTRE

INTEGRANTES DEL EQUIPO:

ANTONIO DIAZ JAHIR OSSIEL

CRUZ SANCHEZ JORGE ANTONIO

TUTORIAL DETECCION DE ROSTROS MATLAB

14 DE ENERO DEL 2014

INTRODUCCION

Page 2: Tutorial Deteccion de Rostro

EL utilizar C++para el periodo de prueba de procesamiento de imagenes exige un tiempo normal de corrección de errores debidos al proceso de implementación del algoritmo, es decir errores programáticos efectuados por ejemplo al momento de multiplicar dos matrices, etc.

Todos estos problemas pueden ser resueltos con la implementación de prueba es realizada en MatLAB utilizando su toolbox de procesamiento de imágenes con ello el tiempo de implementación se convierte en el mínimo con la confianza de utilizar algoritmos científicamente probados y robustos.

El toolbox de procesamiento de imágenes contiene un conjunto de funcionesde los algoritmos mas conocidos para trabajar con imágenes binarias, trasformaciones geométricas, morfología y manipulación de color que junto con las funciones ya integradas en matlab permite realizar análisis y trasformaciones de imágenes en el dominio de la frecuencia.

MARCO TEORICO

él indicador de situación horizontal ( comúnmente llamado el HSI ) es un instrumento aviones montado normalmente por debajo del horizonte artificial en lugar de un indicador de rumbo convencional . Combina un indicador de rumbo con una pantalla VOR / ILS , lo que reduce el trabajo del piloto , al reducir el número de elementos de exploración de instrumentos del piloto a los seis instrumentos básicos de vuelo . Entre otras ventajas, el HSI ofrece libertad de la confusión de detección de reversa en un enfoque backcourse localizador. En un enfoque de rumbo frontal , la aguja HSI se establece en la derrota de acercamiento ; en un enfoque de nuevo curso , la aguja HSI se establece en la ida en lugar de la derrota de acercamiento , provocando la deflexión de la aguja que imita un enfoque de rumbo frontal en lugar de mostrar la normalidad inverso presintiendo .

El HSI también se usa en las naves espaciales como el transbordador espacial (1)En el HSI , el avión está representado por una figura esquemática en el centro del instrumento - la pantalla VOR / ILS se muestra en relación con esta figura. El indicador de rumbo se suele esclavo de una brújula a distancia , y el HSI está interconectado con frecuencia con un piloto automático capaz de ejecutar una aproximación siguiendo el localizador y la senda de planeo .

Page 3: Tutorial Deteccion de Rostro

En un indicador VOR convencional, izquierda / derecha y hacia / desde , debe interpretarse en el contexto del curso seleccionado. Cuando un HSI está sintonizado a una estación VOR , izquierda y derecha siempre significa izquierda y derecha y A / DE se indica mediante una punta de flecha triangular sencillo señalando el VOR . Si los puntos de la punta de flecha en el mismo lado que la flecha del selector de curso , que significa , y si apunta detrás hacia el lado opuesto del selector de curso , significa FROM. El HSI se ilustra aquí es un tipo diseñado para aviones más pequeños , y es del tamaño de un instrumento estándar de 3-1/4 pulgadas . Aerolínea y aviones a reacción HSI son más grandes y puede incluir más elementos de la pantalla . Las más modernas pantallas HSI son electrónicas y, a menudo integrados con los sistemas de dirección de vuelo electrónico en los llamados sistemas de " cabina de cristal " .

DESARROLLO

Page 4: Tutorial Deteccion de Rostro

1. Este es una variable la cual especifica el format0 de video y la cámara.

Vid = video input ('winvideo', 1,'YUY2_640x480');

2. aquí se especifica las técnicas o métodos de fragmentación el video y mantener en forma original el video en el trascurso de 10 segundos.

set(vid, 'FramesPerTrigger', Inf);

set(vid, 'ReturnedColorspace', 'rgb')

vid.FrameGrabInterval = 10;

3. este comando es para comenzar el gravado de video.

start(vid)

4. aquí comienza el ciclo de video en el cual se toma las muestra o fragmento , en este caso especificamos 20 y estos datos se almacena en la variable data

while(vid.FramesAcquired<=20)

data = getsnapshot(vid);

Page 5: Tutorial Deteccion de Rostro

5. en este variable se almacena la información de sustrato en su forma original

diff_im = imsubtract(data(:,:,1), rgb2gray(data));

6. en esta función se hará una matriz la cual detectara las partes del rostro, siempre cuando dependiendo la iluminación se la adecuada para la cámara, si no esto almacenara un error y no se podrá reconocer la cara.

7.diff_im = medfilt2(diff_im, [2 2]);

diff_im = imadjust(diff_im);

level = graythresh(diff_im);

bw = im2bw(diff_im,level);

BW5 = imfill(bw,'holes');

bw6 = bwlabel(BW5, 8);

stats = regionprops(bw6,['basic']);

[N,M]=size(stats);

if (bw==0)

break;

8. en esta funcion o clico se creara un archive temporal el en cual se trabajar las áreas de los cuerpos y centroides y se mostrara el dato.

else

tmp = stats(1);

for i = 1 : N

if stats(i).Area > tmp.Area

tmp = stats(i);

Page 6: Tutorial Deteccion de Rostro

end

end

bb = tmp.BoundingBox;

bc = tmp.Centroid;

imshow(data)}

9. en esta parte del programa se encerrar con un rectángulo verde la posición donde se requiera de pendiendo donde la variable lo indique

hold on

rectangle('Position',bb,'EdgeColor','g','LineWidth',2)

hold off

end

end

10.después de terminar los ciclos anteriores se utilizara el comando (stop ) para detener el video y con el comando (flushdata) se mostrara la imagen detectado con su respectivo rectángulo verde

stop(vid);

flushdata(vid);

CONCLUCIONES

Page 7: Tutorial Deteccion de Rostro

Concluimos que Matlab es el medio optimo para procesar matrices y por tanto imágenes digitalizadas, este programa es simple en su elaboración y comprensión debido a las herramientas de procesamiento de imágenes con que cuenta Matlab las cuales facilitan la tarea de programar.

Matlab ofrece el método de segmentación que es la capacidad de segmentar regiones para trabajar en la regiones deseadas.