Sunteți pe pagina 1din 6

IMPLEMENTACION Y REALIZACION DE UN SOFTWARE QUE ANALIZA LA SONRISA Y LA REPRESENTA EN UN VUMETRO

#1 #1 #2

Miguel Jumbo,

#1

Dario Ochoa,#1 Juan Sanmart n.

#2

Manuel Quiones. n

Profesionales en formacin de la EET ,Universidad Tcnica Particular de Loja. o e Loja, Ecuador 2012

Docente de la Escuela de Electrnica y Telecomunicaciones, Universidad Tcnica Particular de Loja o e

majumbo2@utpl.edu.ec, 1 daochoa2@utpl.edu.ec, 1 jasanmartin1@utpl.edu.ec, 2 maquinones@utpl.edu.ec

Resumen: El presente trabajo consta de la deteccin de la sonrisa de una persona usando o un software diseado en Matlab, lo que nos n servir para la representacin de la sonrisa en un a o vmetro. u Palabras claves: Procesamiento de imgenes, a MATLAB, vmetro, visin por computadora. u o I. INTRODUCCION MATLAB[1] o laboratorio de matrices, es un software matemtico, que entre sus principales a aplicabilidades estn dadas hacia la ingenier a a, debido a los toolbox integrados o que pueden ser agregados, es uno de programas de mayor uso en las universidades y centros de investigacin. o Se entiende por procesamiento de imgenes[2] al a conjunto de tcnicas que se aplican a las imgenes e a digitales con el objetivo de mejorar la calidad o facilitar la bsqueda de informacin. u o El propsito de la visin articial[3] es proo o gramar un computador para que entienda una escena o las caracter sticas de una imagen. Los objetivos t picos de la visin articial estn: la o a deteccin, segmentacin, localizacin y reconocio o o miento de ciertos objetos en imgenes. a

Un vmetro se incluye a menudo en equipos u de audio para mostrar un nivel de seal en n unidades de volumen, el dispositivo es a veces tambin llamado indicador de volumen, pero en e nuestro caso se lo ha utilizado como un indicador de nivel de la sonrrisa. II. METODOLOG DE TRABAJO. IA Como primer paso, se realiz una amplia inveso tigacin y recoleccin de informacin disponible o o o en la red, con la cual pudimos guiarnos y tener una base de conocimientos para poder iniciar el proceso de desarrollo del algoritmo. El software que estamos usando es MATLAB de matworks.inc[4], en la versin R2012a con el o cual estamos realizando el algoritmo de reconocimiento de la sonrisa usando principalmente el toolbox de sistema de visin por computadora o y procesamiento de imgenes, entre otros que a MATLAB contiene.

Una vez que obtuvimos el programa MATLAB, procedimos a elaborar cdigos tales como el uso o de la cmara, aplicacin de ltros a las imgenes a o a que seran capturadas para lograr visualizar resultados obtenidos, en la versin de MATLAB o La comunicacin serial es un protocolo muy R2012 trae una funcin espec o o ca con la que se comn para comunicacin entre dispositivos que detecta el rostro de la imagen tomada. u o se incluye de manera estndar prcticamente en a a cualquier computadora, tambin la comunicacin Entre los ltros que hemos utlizado estn: e o a serial puede ser utilizada para adquisicin de ltro entropylt, ltro mat2gray. o datos si se usa en conjunto con un dispositivo Siguiendo con la planicacin creamos un blog o remoto de muestreo. el cual sirvi para la publicacin de cdigos y o o o 1

Universidad Tcnica Particular de Loja e

EET IEEE

avances del proyecto y la revisin por parte del o tutor. III. CAPTURA DE LA IMAGEN El presente trabajo tiene como nalidad representar en una GUI el reconocimiento de la sonrisa la cual ser encerrada en un recuadro a todo esto con la ayuda del software MATLAB, nuestro proyecto est directamente involucrado a con el procesamiento de imgenes, y visin por a o computadora. MATLAB es una herramienta muy util para nuestro propsito debido al toolbox Computer o Vision System y el demo que este trae integrado que nos sirvi para lograr orientar parte de o nuestros objetivos . La adquisicin de la imagen se la realiza o por medio de la webcam y se la obtiene mediante la ejcecucin del cdigo, para ello usamos la o o funcin videoinput y getsnapshot que es del o toolbox de adquisicin de imgenes, ajustamos la o a resolucin de la cmara[5] y la conguramos para o a que la imagen sea tomada y almacenada en colores RGB y en formato JPG, el almacenamiento de la imagen lo logramos realizar mediante el imwrite. Cabe recalcar que para equipos con Sistema Operativo Winwdos se utiliz winvideo y para o equipos con Sistema Operativo Lion se utiliz macvideo, que en nuestro caso trabajamos o con un equipo Mac, debido algunas ventajas en cuanto a la resolucin de la webcam. o

Figura 2: Imagen Capturada vision.CascadeObjectDetector y Vision.ShapeInserterque son propia del toolbox Vision SystemComputer[6] ,mediante estas funciones logramos reconocer los rotros presentes en la imagen[7]. Gracias a la ayuda de dichas funciones mencionadas anteriormente, que nos entregan valores importantes del rostro de la persona tales como: posicin (x,y), dimensin del rostro(largo,ancho), o o podemos proceder a recortar el rostro de la imagen original, pues en este caso trabajaremos con una imagen ms pequea ya que solo ser el a n a rostro de la persona, seguidamente usando la variable bbox que es donde se almacenan estos valores importantes obtuvimos nuevas variables para lograr recortar la imagen de la sonrrisa, para ello multiplicamos coecientes con la variable bbox y de esta manera lograremos obtener siempre una imagen recortada cerca de la sonrisa.

Figura 3: Funcin vision.CascadeObjectDetector o Figura 1: Cdigo de la Imagen Capturada o IV. RECORTE DE LA IMAGEN V. APLICACION DE FILTROS

Para la obtencin de area de la sonrrisa nos o basamos en los ltros entropylt y mat2gray, pero Una vez que se captura la imagen la im- a mas de esto se utilizo algunas funciones entre portamos a MATLAB para iniciar el tra- las principales estn im2bw, bwareaopen, imclose, a bajo sobre ella mediante el comando im- bwlabel. read, seguidamente utilizamos las funciones 2

Universidad Tcnica Particular de Loja e

EET IEEE

la dentadura blanca usamos la funcin imclose o y bwlabel, el primero usa una operacin o morfolgica de dilatacin y posterior erosin y o o o la segunda funcin es usada para conectar los o componentes de dicha imagen, formando de mejor manera la regin de la boca. o VI. CALCULO DEL AREA DE LA SONRISA Una vez que se tiene identicada la sonrisa se usa regionprops que es una funcin utilizada o con el n de tener parmetros como es Area, a Centroide y BoundingBox los cuales utilizaremos a futuro. Ahora calcularemos el rea a ms grande con el comando max lo que ser la a a sonrisa, seguidamente utilizamos la funcin iso member que nos da como resultado verdadero (1) o cero (0) dependiendo si los elementos buscados son encontrados[9].

Figura 4: Aplicacin del imcrop o Como primer ltro usamos la funcin eno tropylt ,sirve para dar el valor de entrop de a cada uno de los pixeles encontrados en la imagen, ya que la imagen es tomada como una matriz, usamos la funcin mat2gray para convertirla o en una imagen en escala de grises[8].

VII. ENCERRAR LA SONRISA Figura 5: Filtro Entropylt La funcin usada para la binarizacin de la o o imagen es el comando im2bw, el cual ser de a gran ayuda en la ultima imagen recortada es decir la imagen donde esta la sonrisa, debido a que convierte a la imagen RGB en una imagen binaria que nos servir como base para proseguir a con el desarrollo de nuestro objetivo. Ya que se tiene identicada la sonrisa, como el a rea ms grande, para encerrarla nos ayudamos a de los parmetros obtenidos anteriomente con a el regionprops, especicamente utilizamos el BoundingBox, pues que en BoundingBox estn almacenadas las coordenadas y la dimena sin del rea mayor, que en s ser la sonrisa. o a a Ahora con la funcin DrawRect encerramos o en un recuadro la sonrisa y ha sta la montamos e en la imagen donde est el rostro, al poder a utilizar DrawRect enviamos las coordenadas y las dimensiones del recuadro que deseamos dibujar, esto lo logramos gracias a BoundingBox[10].

Figura 6: Aplicaciones de Filtros

Ya que, la binarizacin no toma solo el rea o a de los dientes como blancos, si no tambin quedan e pequeos pixeles en blanco estos son removidos n con el uso de bwareaopen. Y tambin quedan e pequeos puntos negros que se encuentran en el n borde de cada diente para hacer toda el rea de a 3

Figura 7: Sonrisa Encerrada

Universidad Tcnica Particular de Loja e

EET IEEE

VIII. GUI Una vez obtenida, la sonrisa en un recuadro, para poder representar mejor el proyecto proseguimos a realizar una gui, que es la interfaz grca del usuario de Matlab, para esto a recurrimos a realizar una extensa busqueda de informacin en la web, donde se encontr una o o gran variedad sobre este tema, de la cual nos guiamos como base para poder crear una gui, en la siguiente imagen podemos observar la GUI creada, nuestra presentacin consta de 2 GUI, en o donde GUI 1 indica los integrantes y el tutor que levaron a cabo la realizacin de este proyecto, o adems la GUI 1 tiene la funcin de llamar a a o la GUI 2. En la GUI 2 es en donde veremos el funcionamiento de nuestro proyecto. Basados en la ayuda de Mathworks procedemos abrir el puerto serial con fopen, seguidamente se envi un dato con fprintf, acontinuacin a o procedemos a cerrar el puerto con fclose cabe sealar que el dato que se envio ser interpretado n a por el microcontrolador y este ser representado a en el vmetro. u

Figura 10: Conguracin MAX232 o

Figura 8: Presentacin Gui o

Un vmetro en nuestro caso se lo ha utilizau do como un indicador de nivel de la sonrrisa, la funcion que realiza el vmetro es, representar u los datos del microcontrolador, una vez que el dato es interpretado por el microcontrolador, se encenderan los leds del vmetro, a mayor sonrisa u mayor ser el nmero de leds encendidos, el a u diseo del vmetro es de forma escalonada, y fue n u elaborado en acr lico. X. ANALISIS DE LOS RESULTADOS Es muy importante la deteccin del rostro y el o recorte del mismo ya que nos ayuda a trabajar con una imagen ms pequea y ha enfocarnos a n en la sonrisa La aplicacin de ltros a la imagen o recortada es muy importante ya que la intensidad de luz afecta el resultado, mediante la aplicacin o de ltros se logra obtener ms resaltados el a borde de los labios y en si obtener la sonrisa que nalmente ser la parte ms importante. a a El cdigo est diseado para solo una persoo a n na ya que al detectar mas de un rostro se obtiene un error, debido a que las condiciones del vector estn dadas solo para un rostro, se recomienda a estar de frente a la cmara evitando que se a obscurezca el rostro (con gorras o sombreros) y con un fondo sin personas. El proyecto y los cdigos fueron probados y o var an dependiendo de las condiciones de cada equipo, pero nalmente la presentacin se o 4

Figura 9: Aplicacin Gui o

IX. COMUNICACION SERIAL y VUMETRO La comunicacin serial es un protocolo muy o comn para comunicacin entre dispositivos. u o Los datos recibidos y enviados estn en formato a ASCII. El puerto serial env y recibe bytes de a informacin un bit a la vez. Para realizar la o comunicacin se utilizan 3 l o neas de transmisin: o 1 tierra, 2 transmitir, 3 recibir. Para la comunicacin serial utilizamos un cable de USB a o SERIAL (DB9) que a su vez est conectada a a la conguracin del MAX232 que permitir coo a municar con un microcontrolador AVR Atmega32.

REFERENCIAS

Universidad Tcnica Particular de Loja e

EET IEEE

realiz en un ordenador Mac de Apple, debido o a la mejor calidad de imagen y resolucin de o la webcam, ya que var an las coordenadas de recorte del vector y en si errores en la deteccin o de la sonrisa dependiendo de equipo. Al aplicar nuestro cdigo en tiempo real la maquina se o vuelve lenta,debido a los ltros que utilizamos, por lo que decidimos trabajar con una GUI en donde representaremos la sonrrisa de una sola persona.

proyecto se realice correctamente los cuales son la posicin correcta de la persona, el eno torno y su iluminacin y la resolucin de la o o cmara con la que se trabaja. a XII. BIBLIOGRAF IA

Referencias
[1] MATLAB, [6 de abril del 2012] [en l nea]< http : //es.wikipedia.org/wiki/M atlab >,Wikipedia. [2] Procesamiento Digital de imgenes, [6 a de abril del 2012].[en l nea] < http : //es.wikipedia.org/wiki/M atlab >,Wikipedia . [3] Visin o articial,[6 de abril del 2012].[en l nea] < http : //es.wikipedia.org/wiki/M atlab >,Wikipedia. [4] Bsqueda u de resultados, [19 de abril del 2012].[en l nea]< http : //www.mathworks.com/searchresults /?c %5B %5D = entiresite&q >,Mathworks . [5] Diego Barragn CONECTAR WEBCAM EN a MATLAB, [19 de abril del 2012].[en l nea], < http : //www.youtube.com/watch?v = JOxbgsKDtcg >,Youtube . [6] Reconocimiento de caras,[20 de abril del 2012].[en l nea] < http : //isa.umh.es/asignaturas/iarp/practicas/ P 8/P RACT ICA8.pdf >,isa.uhm.es. [7] Seguimiento de patrones faciales por descriptores de forma, [19 de abril del 2012].[en l nea] < http : //adf.ly/480941/int/http : //pdf f inder.net/SEGU IM IEN T ODEP AT RON ESF ACIALESP ORDESCRIP T ORESDEF ORM A.html >,adf.ly. [8] Bsqueda u de resultados,[20 de abril del 2012].[en l nea] < http : //www.mathworks.com/matlabcentral/new sreader/view thread/283963 >,Mathworks. [9] Matlab smile detection,[20 de abril del 2012].[en l nea], < http : //www.sourcecodeonline.com/list?q = matlab smile detection >,Sourcecodeonline. 5

Figura 11: Vmetro u XI. CONCLUSIONES Para la realizacin de este proyecto, es decir o para lograr medir la sonrisa de una persona nos hemos basado en el rea de la misma, es a por ello la utilizacin de los ltros, pues meo diante el uso adecuado de stos nos facilitan e o nos ayudan a determinar datos que sern a muy esenciales para lograr nuestro objetivo, por lo cual mediante el rea obtenida lograa remos representar la sonrisa de la persona. Se concluy que la velocidad de transmio sin (baudios) de la comunicacin serial eno o tre Matlab y el Microcontrolador deben ser las mismas y as ncrona para que pueda existir la comunicacin sin errores o El uso de la versin MATLAB R2012a fue ino dispensable para el desarrollo del proyecto, ya que en esta versin encontramos demos de o ayuda para lograr entender como se puede trabajar con reconocimiento facial, tambien se logr entender el uso de algunas funciones o disponibles en el programa. En base a varias pruebas con nuestros equipos, nos hemos dado cuenta de aspectos importantes que son necesarios para que nuestro

REFERENCIAS

Universidad Tcnica Particular de Loja e

EET IEEE

[10] facedetection and smile detection,[20 de abril del 2012].[en l nea] < http : //www.csie.ntu.edu.tw/ f uh/personal/F ace DetectionandSmileDetection.pdf >,csie.

S-ar putea să vă placă și