Está en la página 1de 163

UNIVERSIDAD NACIONAL DE PIURA

ESCUELA DE POST GRADO


SECCION DE CIENCIAS

PROGRAMA DE MAESTRIA EN

MATEMATICA APLICADA

RECONOCIMIENTO DE ROSTROS, UTILIZANDO TCNICAS

DE PROCESAMIENTO DE IMGENES Y REDES

NEURONALES

TESIS

PARA OPTAR EL GRADO ACADEMICO DE MAGISTER EN

CIENCIAS

MENCION EN MATEMATICA APLICADA

ING. JUAN MANUEL JACINTO SANDOVAL

PIURA PER

MARZO 2008
UNIVERSIDAD NACIONAL DE PIURA

ESCUELA DE POST GRADO


SECCION DE POSTGRADO EN CIENCIAS

PROGRAMA DE MAESTRIA EN

MATEMATICA APLICADA

TESIS

RECONOCIMIENTO DE ROSTROS, UTILIZANDO TCNICAS DE

PROCESAMIENTO DE IMGENES Y REDES NEURONALES

LOS SUSCRITOS DECLARAMOS QUE EL PRESENTE TRABAJO DE TESIS

ES ORIGINAL, EN SU CONTENIDO Y FORMA

_____________________________________
ING. JUAN MANUEL JACINTO SANDOVAL
EJECUTOR

_______________________________
DR. CSAR HARO DAZ
ASESOR
UNIVERSIDAD NACIONAL DE PIURA

ESCUELA DE POST GRADO


SECCION DE POSTGRADO EN CIENCIAS

PROGRAMA DE MAESTRIA EN

MATEMATICA APLICADA

RECONOCIMIENTO DE ROSTROS, UTILIZANDO TCNICAS DE

PROCESAMIENTO DE IMGENES Y REDES NEURONALES

APROBADA EN CONTENIDO Y ESTILO POR

PRESIDENTE

MSc.

SECRETARIO

MSc.

VOCAL
DEDICATORIA

A mi hija Ariana Paula Abigail, por


habernos trado ms alegra y por ser
parte de mi inspiracin en mis objetivos.
Dedico tambin esta tesis a todos los
Docentes de la Facultad de Ciencias
UNP.
AGRADECIMIENTO

Un agradecimiento a mi Asesor Dr. Csar Haro Daz, por el apoyo invalorable en

la parte acadmica.

Gracias tambin a mi esposa e hijas, por haberme apoyado en las pruebas

realizadas en este trabajo, y por el apoyo moral y espiritual.

Un agradecimiento tambin a mis padres, que sin ellos no hubiese sido posible

la realizacin de esta tesis.

Y gracias a Dios, por darme la vida nuevamente y seguir adelante.


RESUMEN

La finalidad que se persigue en esta tesis es el desarrollo de una

aplicacin capaz de realizar, en tiempo real, la localizacin y el reconocimiento

de caras humanas y ciertas componentes faciales relevantes, en secuencias de

imgenes. Para ello, se han desarrollado tcnicas que permiten abordar los

problemas de la segmentacin de las regiones de inters, su localizacin, y

caracterizacin y la correspondencia entre los componentes obtenidos en

imgenes. Cada uno de los procesos diseados e implementados ha tenido en

cuenta la enorme restriccin que supone trabajar en tiempo real con una

informacin tan voluminosa y compleja como lo es la informacin visual.

El presente proyecto propone un sistema computacional capaz de

reconocer rostros a partir de imgenes faciales capturadas a travs de una

cmara web. El sistema clasifica la imagen adquirida con aquellas almacenadas

en una base de datos (usuarios registrados), a travs de patrones caractersticos

de las imgenes.

Este trabajo de investigacin abarca diferentes reas de inters como son

Electrnica, Informtica o computacin y matemtica.

En el rea de Electrnica, como hardware se dispone de una cmara

digital webcam con determinadas caractersticas mnimas, disminuyendo los

costos, no utilizando una cmara digital profesional que es muy cara. Tambin

se utiliza una computadora personal con requerimientos mnimos, que cualquier

institucin o persona la puede tener. Se utilizan tcnicas de procesamiento

digital de imgenes y tcnicas de reconocimiento como redes neuronales

artificiales. En el rea de Informtica se hace uso de la programacin, se utilizan

diferentes algoritmos simples y complejos. Estos se implementan en el lenguaje

de programacin Visual Basic 6.0 y como herramienta de anlisis de las


imgenes se utiliza el software Matlab versin 7. Detrs de las tcnicas de

procesamiento y de reconocimiento se encuentra el fundamento matemtico.

Los pasos fundamentales son la captura de la escena con una cmara

webcam, seguidamente existe una tcnica, llamada Integrales Proyectivas o

simplemente Proyecciones, que busca y segmenta el rostro automticamente.

Con sta tcnica podemos extraer el rostro de la persona sin ningn

procesamiento previo, lo cual disminuye el tiempo de procesamiento. Una vez

segmentado el rostro se mejora tratando de que la iluminacin sea uniforme y

as no varen muchos los valores de los pxeles. Para representar cada rostro por

un patrn caracterstico, hacemos uso nuevamente de integrales proyectivas,

aparentemente stas proyecciones tienen informacin de la imgen. Por ltimo

los patrones que obtenemos de cada rostro, son la entrada a la red neuronal

artificial (RNA). La RNA es de tipo Backpropagation y tiene ciertas caractersticas

que se manipularn en las fases de aprendizaje y funcionamiento. Lo que se

busca, es que la RNA, despus de haberla entrenado con ciertos ejemplos de

rostros, pueda reconocer patrones que no se le han presentado, logrando as

clasificar a distintas personas.


INDICE DE CONTENIDO

INDICE DE CONTENIDO

INDICE DE TABLAS

INDICE DE ILUSTRACIONES O FIGURAS

I. INTRODUCCIN .........................................................................................................1

II. MARCO TERICO CONCEPTUAL ............................................................................3

2.1 CAPTURADORAS DE VIDEO ........................................................................................3

2.2 ADQUISICIN CON SOFTWARE...................................................................................5

2.3 BIOMETRA.....................................................................................................................6

2.3.1 HISTORIA DE LA BIOMETRA .................................................................................8

2.3.2 EL CUERPO HUMANO Y LA BIOMETRA ...............................................................9

2.3.4 RECONOCIMIENTO DE PATRONES DE TIPEO....................................................11

2.3.5 RECONOCIMIENTO DE MARCHA.........................................................................11

2.3.6 BIOMTRICOS MULTIMODALES Y OTRAS FUSIONES MULTI-BIOMTRICAS ..12

2.3.9 RECONOCIMIENTO DE ADN ................................................................................13

2.3.10 RECONOCIMIENTO DE OLOR ............................................................................13

2.3.11 RECONOCIMIENTO DE LABIOS..........................................................................14

2.3.12 RECONOCIMIENTO FACIAL ...............................................................................14

2.3.12.1 PROBLEMAS ASOCIADOS AL RECONOCIMIENTO DE CARAS ........................... 15

2.3.13 RECONOCIMIENTO DE HUELLAS DACTILARES ...............................................16

2.3.15 EVALUACIN DE SISTEMAS BIOMTRICOS......................................................20

2.3.15.1 DEFINICIONES PREVIAS.......................................................................................... 21


2.3.15.1.1 Muestra ................................................................................................................ 21
2.3.15.1.2 Patrn................................................................................................................... 21
2.3.15.1.3 Inscripcin............................................................................................................ 21
2.3.15.1.4 Operacin............................................................................................................. 21
2.3.15.2 CLASIFICACIN DE LA MUESTRA......................................................................... 21
2.3.15.2.1 Online .................................................................................................................. 21
2.3.15.2.2 Offline.................................................................................................................. 22
2.3.16 TAREAS A ABORDAR............................................................................................22

2.3.16.1 VERIFICACIN.......................................................................................................... 22

2.3.17 ERRORES EN LA ETAPA DE CLASIFICACIN....................................................23

2.3.17.1 TASA DE FALSOS POSITIVOS (TFP)........................................................................ 23


2.3.17.2 TASA DE FALSOS NEGATIVOS (TFN)..................................................................... 23

2.4 CONCEPTOS BSICOS DE PROCESAMIENTO DE IMGENES ................................24

2.4.1 IMAGEN..................................................................................................................24

2.4.2 IMAGEN DIGITAL ..................................................................................................24

2.4.3 PXEL (PXEL: PICTURE ELEMENT) ....................................................................24

2.4.4 PROCESAMIENTO DIGITAL DE IMGENES.........................................................24

2.4.5 PROCESAMIENTO DE NAJO NIVEL......................................................................25

2.4.6 PROCESAMIENTO DE NIVEL MEDIO...................................................................26

2.4.7 PROCESAMIENTO DE ALTO NIVEL......................................................................26

2.4.8 MUESTREO UNIFORME Y CUANTIFICACION .....................................................26

2.4.9 ALGUNAS RELACIONES BASICAS ENTRE PIXELS...............................................28

2.4.9.1 VECINOS DE UN PXEL .............................................................................................. 28


2.4.9.2 CONECTIVIDAD.......................................................................................................... 29

2.4.10 MEJORA DE LA IMAGEN.....................................................................................32

2.4.11 METODOS EN EL DOMINIO ESPACIAL..............................................................32

2.4.12 FILTROS DE IMGENES......................................................................................34

2.4.13 HISTOGRAMA DE UNA IMAGEN.........................................................................38

2.4.14 SEGMENTACIN..................................................................................................38

2.4.15 MORFOLOGA MATEMTICA. ............................................................................38

2.5 RECONOCIMIENTO DE PATRONES ...........................................................................39

2.5.1 INTEGRALES PROYECTIVAS .................................................................................39

2.5.2 INTEGRALES PROYECTIVAS VERTICALES Y HORIZONTALES ...........................40

2.6 CONCEPTOS BSICOS DE REDES NEURONALES ARTIFICIALES ..........................42

2.6.1 RED NEURONAL ....................................................................................................42

2.6.2 NEURONA ARTIFICIAL..........................................................................................45


2.6.3 APRENDIZAJE........................................................................................................46

2.6.3.1 APRENDIZAJE SUPERVISADO .................................................................................. 47


2.6.3.2 APRENDIZAJE NO SUPERVISADO............................................................................ 48
2.6.3.3 APRENDIZAJE COMPETITIVO................................................................................... 49

2.6.4 FUNCIONES DE TRANSFERENCIA .......................................................................49

2.6.4.1 LIMITADOR FUERTE (HARDLIM) ............................................................................. 50


2.6.4.2 FUNCIN DE TRANSFERENCIA LINEAL (PURELIN) .............................................. 52
2.6.4.3 FUNCIN DE TRANSFERENCIA SIGMOIDAL (LOGSIG)......................................... 52

2.6.5 PERCEPTRN ........................................................................................................54

2.6.6 RED BACKPROPAGATION ....................................................................................55

2.6.6.1 ESTRUCTURA DE LA RED ......................................................................................... 57


2.6.6.2 REGLA DE APRENDIZAJE.......................................................................................... 59
III. METODOLOGA EMPLEADA..................................................................................74

3.1 PROCESO Y ACONDICIONAMIENTO: IMAGEN DE PERSONA ................................75

3.2 CAPTURA DE IMAGEN: WEBCAM .............................................................................76

3.3 SISTEMA DIGITAL DE PROCESAMIENTO: COMPUTADORA PERSONAL..............77

3.4 IMAGEN CAPTURADA.................................................................................................79

3.5 UBICACIN Y SEGMENTACIN DEL ROSTRO DE UNA PERSONA........................81

3.6 RESULTADO DE LAS IMGENES TOMADAS DE NOCHE ........................................91

3.7 RESULTADO DE LAS IMGENES TOMADAS DE DA ..............................................95

3.8 MEJORAMIENTO DE IMAGEN DEL ROSTRO ............................................................98

3.9 EXTRACCIN DE CARACTERSTICAS O PATRN DEL ROSTRO .........................101

3.9.1 Justificacin del uso de proyecciones .....................................................................101

3.10 ENTRENAMIENTO DE PATRONES .........................................................................105

3.11 RECONOCIMIENTO DEL PATRN..........................................................................107

3.12 PERSONA IDENTIFICADA .......................................................................................107

IV. FUNCIONAMIENTO DEL SISTEMA......................................................................109

V. RESULTADOS OBTENIDOS .................................................................................114

5.1 RESULTADOS DE LA LOCALIZACIN DE ROSTROS.............................................114

5.2 RESULTADOS DEL RECONOCIMIENTO DE PERSONAS ........................................117


CONCLUSIONES Y RECOMENDACIONES ...............................................................126

BIBLIOGRAFA ..........................................................................................................129

VI. ANEXOS ...............................................................................................................132


INDICE DE TABLAS

Tabla Pgina

Tabla 1. Valores de las neuronas de salida................................................. 119

Tabla 2. Valores de las neuronas de salida................................................. 123


INDICE DE ILUSTRACIONES O FIGURAS

Ilustracin Pgina

Figura 1. CCD (Charge Coupled Device). .......................................................3

Figura 2. Hardware de Webcam.......................................................................5

Figura 3. Anlisis de la bondad de diversos tipos de sistemas biomtricos.


Para cada tipo de biomtrica se ponderan 4 factores en una escala
relativa. El centro del diagrama significa un valor malo para ese
factor. El anlisis es de la compaa Zephyr Biometrics, International
Biometric Group.........................................................................................7

Figura 4. Representacin matricial de una imagen ...................................... 27

Figura 5. (a) Distribucin de pxeles; (b) 8-vecinos del pxel central; (c)
m-vecinos del mismo pxel. Las lneas a trazos son caminos entre ese
pxel y sus vecinos. ................................................................................. 32

Figura 6. Arriba: secciones transversales de perfiles bsicos para filtros en


el dominio de frecuencias con simetra circular. Abajo: secciones
transversales de los filtros correspondientes en el dominio espacial.36

Figura 7. Mscara 3 x 3 con coeficientes (pesos) arbitrarios ...................... 37

Figura 8. Ejemplo de integral proyectiva horizontal y vertical de una


imagen. Arriba a la izquierda, la imagen de entrada, hormiga. A la
derecha, la proyeccin vertical, PVhormiga. Abajo, la proyeccin
horizontal, PHhormiga. ................................................................................ 41

Figura 9. Integrales proyectivas verticales de los canales R, G y B de una


imagen. A la izquierda, la imagen de entrada en color, cara. A la
derecha, las proyecciones verticales, Pvcara, de los canales R (en
rojo), G (en verde) y B (en azul). Observar que se ha dado la vuelta a
la escala vertical de la grfica. De esta forma, los elementos faciales
aparecen como picos de las seales. ................................................... 42
Figura 10. Modelo de neurona artificial de McCullock-Pitts. ........................ 45

Figura 11. Evolucin del error de un set de entrenamiento. ........................ 48

Figura 12. Modelo de una neurona................................................................. 49

Figura 13. Funciones de transferencia unipolar ............................................ 51

Figura 14. Funciones de transferencia bipolar .............................................. 51

Figura 15. Funciones de transferencia lineal................................................. 52

Figura 16. Funciones de transferencia sigmoidal.......................................... 53

Figura 17. Funciones de transferencia........................................................... 54

Figura 18. Red Multicapa................................................................................. 55

Figura 19. Estructura de una Red Multicapa ................................................. 58

Figura 20. Red Neuronal con 3 Capas........................................................... 59

Figura 21. Representacin de una RNA. ....................................................... 61

Figura 22. Superficie del Error ........................................................................ 71

Figura 23. Diagrama de bloques para la implementacin del sistema de


Reconocimiento de rostros..................................................................... 74

Figura 24. Webcam seleccionada................................................................... 76

Figura 25. Metodologa empleada en el procesamiento .............................. 78

Figura 26. Escena capturada con la webcam................................................ 80


Figura 27. Proyeccin que se busca para localizar la cabeza de una
persona..................................................................................................... 82

Figura 28. Regin de la imagen de la proyeccin figura 27......................... 83

Figura 29. Proyeccin de la posicin del rostro y elementos faciales......... 84

Figura 30. Ventanas sucesivas marcadas por la presencia de la cabeza de


una persona ............................................................................................. 84

Figura 31. Proyecciones de las regiones sucesivas de la figura anterior. .. 85

Figura 32. Proyeccin vertical de la regin de los ojos................................. 86

Figura 33. Regin obtenida de los ojos.......................................................... 87

Figura 34. Ubicacin del rostro ....................................................................... 87

Figura 35. Segmentacin del rostro................................................................ 88

Figura 36. Representacin en matlab del rostro segmentado ..................... 88

Figura 37. Vista en perspectiva del rostro segmentado ............................... 89

Figura 38. Imagen tomada de noche.............................................................. 90

Figura 39. Imagen tomada de da................................................................... 90

Figura 40. Regiones sucesivas donde se encuentra la cabeza. ................. 91

Figura 41. Proyecciones de las regiones sucesivas de la figura anterior... 91

Figura 42. Regin o ventana ganadora.......................................................... 92

Figura 43. Ubicacin regin de los ojos ......................................................... 92


Figura 44. Ubicacin del rostro ....................................................................... 93

Figura 45. Segmentacin del rostro................................................................ 93

Figura 46. Representacin en matlab ............................................................ 93

Figura 47. Vista de perfil del rostro en matlab ............................................... 94

Figura 48. Regiones sucesivas donde se encuentra la cabeza. ................. 95

Figura 49. Proyecciones de las regiones sucesivas de la figura anterior... 95

Figura 50. Regin o ventana ganadora.......................................................... 96

Figura 51. Ubicacin regin de los ojos ......................................................... 96

Figura 52. Ubicacin del rostro ....................................................................... 97

Figura 53. Segmentacin del rostro................................................................ 97

Figura 54. Representacin en matlab ............................................................ 97

Figura 55. Vista de perfil del rostro en matlab ............................................... 98

Figura 56. Histograma con media 144 de la imagen segmentada obtenida


en la noche............................................................................................. 100

Figura 57. Histograma corregido con media 129 de la imagen segmentada


obtenida en la noche............................................................................. 100

Figura 58. Histograma con media 139 de la imagen segmentada obtenida


de da...................................................................................................... 100

Figura 59. Histograma corregido con media 129 de la imagen segmentada


obtenida de da ...................................................................................... 100
Figura 60. Proyecciones del rostro de imagen obtenida en la noche ....... 103

Figura 61. Concatenacin de las proyecciones del rostro de la figura 60 103

Figura 62. Proyecciones del rostro de imagen obtenida en el da............. 103

Figura 63. Concatenacin de las proyecciones del rostro de la figura 62........... 103

Figura 64. Red neuronal artificial con un patrn de entrada ...................... 106

Figura 65. Rostros de la base de datos ....................................................... 108

Figura 66. Interfase principal del sistema .................................................... 109

Figura 67. Ventana para el ingreso de datos............................................... 110

Figura 68. Ventana de adquisicin de los rostros ....................................... 111

Figura 69. Ventana de la red neuronal artificial........................................... 112

Figura 70. Ventana de parmetros ............................................................... 113

Figura 71. Localizacin de rostros con fondo blanco.................................. 114

Figura 72. Localizacin de rostros con fondo complejo.............................. 115

Figura 73. Persona reconocida por el sistema ............................................ 118

Figura 74. Grfica 3d de activacin de las neuronas.................................. 120

Figura 75. Comparacin patrn de entrada con patrn modelo de la misma


persona................................................................................................... 121

Figura 76. Comparacin patrn de entrada con patrn modelo de diferente


persona................................................................................................... 121
Figura 77. Persona reconocida por el sistema ............................................ 122

Figura 78. Grfica 3d de activacin de las neuronas.................................. 124

Figura 79. Comparacin patrn de entrada con patrn modelo de la misma


persona................................................................................................... 124

Figura 80. Comparacin patrn de entrada con patrn modelo de diferente


persona................................................................................................... 125
I. INTRODUCCIN

Uno de los principales problemas en la actualidad es verificar

correctamente la identidad de un individuo, con un alto grado de seguridad, de

manera que ninguna otra persona pueda suplantarla. La identificacin Biometra

es una buena alternativa para lograr este objetivo, porque utiliza rasgos nicos

de cada persona para diferenciarlas entre s.

La biometra informtica est viviendo uno de los momentos ms

importantes en lo que respecta a su investigacin, desarrollo e implantacin y

aunque es una tecnologa que todava no ha alcanzado su plena madurez, son

mltiples las aplicaciones que ofrece desde un punto de vista industrial. Gran

parte de este desarrollo se ha visto favorecido en los ltimos tiempos por la toma

de conciencia de gobiernos y corporaciones sobre la necesidad de contar con

herramientas ms poderosas que favorezcan la seguridad tanto en el acceso a

sistemas informticos, para la proteccin de datos e informacin, como en el

control fsico de personas en su acceso a instalaciones. Uno de los desastres

que impulso el desarrollo de la biometra es el atentado de las torres gemelas del

11 de septiembre del 2001.

La biometra utiliza mtodos automticos que analizan determinadas

caracterstica humanas con el fin de identificar y autentificar a las personas. En

funcin de las caractersticas usadas para la identificacin tenemos dos tipos de

Biometra, que son la Biometra esttica y la Biometra Dinmica, la primera se

basa en el estudio del conjunto de caractersticas fsicas y la segunda se basa

en el conjunto de caractersticas conductuales.

1
Dentro de la biometra esttica se encuentra el trabajo de investigacin

de tesis que presento y se basa en las caractersticas estticas del rostro de las

personas.

En la tesis se utilizan, desde la adquisicin de las imgenes, una cmara

webcam, tcnicas de procesamiento de imgenes y como reconocimiento de

patrones, para este caso las personas, redes neuronales artificiales.

En cuanto a la aplicacin comercial de este proyecto, ya existen

empresas extranjeras que han desarrollado este sistema de reconocimiento

facial y como no se conoce la metodologa empleada, utilizaremos una

metodologa propia.

Este sistema presenta una gran variedad de aplicaciones como vigilancia,

acceso a sistemas informticos, control de acceso fsico a instalaciones,

identificacin de criminales, asistencia de personal, etc.

2
II. MARCO TERICO CONCEPTUAL

2.1 CAPTURADORAS DE VIDEO


La cmara CCD (Charge Coupled Device) es un dispositivo compuesto

por sensores de imagen que utilizan elementos semiconductores fotosensibles

en forma de arreglos matriciales. Los receptores activos de este arreglo son

distribuidos en pxeles individuales.

CCD Array

Figura 1. CCD (Charge Coupled Device).

En un sensor CCD se transforma la energa de la luz incidente en energa

elctrica. La carga elctrica almacenada en la celda es posteriormente

transportada utilizando un registro de desplazamiento (shift register) para

conformar una seal de video como puede verse en la figura 1. Cabe sealar

que en las cmaras CCD se discretiza la imagen en pxeles, sin embargo el valor

de la carga elctrica almacenado en cada celda no se digitaliza en el arreglo

CCD sino en una conversin posterior realizada por un conversor anlogo

digital.
3
Las cmaras CCD son consideradas como dispositivos que poseen una

muy baja deformacin geomtrica de la imagen, una muy buena sensibilidad a la

luz y una muy buena resolucin llegando tpicamente a los 400.000 pxeles. El

tiempo de captura de la imagen esta tpicamente en el rango de 60 en un 1seg. y

10000 en un 1 seg.

Existen dos tipos de sensores de imagen (CCD y CMOS), ambos son de

silicio y son similares en cuanto a sensibilidad al espectro visible. Ambas

tecnologas convierten la luz incidente (fotones) en carga electrnica (electrones)

por el mismo proceso de foto-conversin.

La tecnologa CCD usa un especializado proceso de gran escala de

integracin VLSI por sus siglas en ingls (Very Large Scale Integration), que es

una condensada malla de electrodos de polisilicio que se forma en la superficie

del sensor. Tcnicamente es factible pero sera muy caro integrar toda la

circuitera de control de una cmara. As que se necesitan varios chips para

realizar una cmara con CCD.

Los sensores CCD son de bajo ruido, proporcionando una excelente

calidad de imagen, pero necesitan voltajes de alimentacin altos y el consumo

de corriente es alto.

Los sensores del CCD son los sensores ms populares para las cmaras

fotogrficas digitales, y se asocian generalmente a imgenes de mayor calidad.

Un CCD convierte simplemente la luz entrante en cargas elctricas y las enva a

otra parte de la cmara fotogrfica en donde se procesaran. Esto reduce al

mnimo el ruido y la calidad de imagen aumenta.

Los sensores CMOS (Complementary Metal Oxide Semiconductor), por

otra parte, realizan ms tareas. Pueden ser programados para convertir las

cargas elctricas a datos digitales, para detectar bordes y para realizar el

4
procesado de imagen. Esto permite que la cmara sea mucho ms pequea,

funciona con menos energa y crea menos ruido termal. Son tambin mucho ms

baratos de producir. Sin embargo, todas estas funciones adicionales tienden a

crear ms ruido de lo usual (y baja la calidad de la imagen) debido a las

resistencias e interferencia. Por esta razn, los sensores del CCD dominan el

mercado mientras que el sensor CMOS sigue siendo una buena opcin para las

cmaras fotogrficas menos costosas. Sin embargo, los avances recientes han

empujado la tecnologa del CMOS para producir menos ruido mientras que

todava se aprovechan de las otras ventajas de la tecnologa.

Las webcam normalmente estn formadas por una lente, un sensor de

imagen y la circuitera necesaria para manejarlos.

Figura 2. Hardware de Webcam

La palabra video se refiere comnmente a una imagen en una pantalla. El

trmino video describe el elemento pictrico de una imagen de televisin.

2.2 ADQUISICIN CON SOFTWARE

Como se ha dicho, la instalacin bsica de una webcam consiste en una

cmara digital conectada a una computadora, normalmente a travs del puerto

5
USB. Lo que hay que tener en cuenta es que dicha cmara no tiene nada de

especial, es como el resto de cmaras digitales, y que lo que realmente le da el

nombre de webcam es el software que la acompaa.

El software de la webcam toma un frame de la cmara cada cierto tiempo

(puede ser una imagen esttica cada medio segundo) y la enva a otro punto

para ser visualizada. Si lo que se pretende es utilizar esas imgenes para

construir un video, de calidad sin saltos de imagen, se necesitar que la webcam

alcance una tasa de unos 15 - 30 frames por segundo.

En los videos que tengan como objetivo ser colgados en Internet o ser

enviados a dispositivos mviles, es mejor una cadencia de 14 frames por

segundo. De esta manera conseguiremos ahorrar espacio y an as seguir

teniendo calidad, si bien se apreciaran ligeros saltos en el movimiento.

2.3 BIOMETRA
El concepto biometra proviene de las palabras bio (vida) y metra

(medida), por lo tanto con ello se infiere que todo equipo biomtrico mide e

identifica alguna caracterstica propia de la persona.

La biometra es una tecnologa de seguridad basada en el reconocimiento

de una caracterstica fsica e intransferible de las personas, como por ejemplo la

huella digital, el rostro, etc.

Los sistemas biomtricos incluyen un dispositivo de captacin y un

software biomtrico que interpreta la muestra fsica y la transforma en una

secuencia numrica.

6
En general, la bondad de los sistemas de reconocimiento biomtrico

puede cuantificarse en funcin de una serie de factores y criterios tales como1:

la mayor o menor intrusividad, desde el punto de vista del usuario;

la precisin esperada para ese tipo de medidas;

el coste de implantacin, a todos los niveles; y

el esfuerzo, esto es, la mayor o menor facilidad de obtencin de las

muestras.

En la figura 3 se muestra el resultado de un anlisis comparativo de estos

parmetros para algunos de los tipos de biomtricas con mayor presencia, no

slo en los mbitos puramente de investigacin sino tambin en el mundo

comercial.

Figura 3. Anlisis de la bondad de diversos tipos de sistemas biomtricos. Para cada tipo
de biomtrica se ponderan 4 factores en una escala relativa. El centro del diagrama
significa un valor malo para ese factor. El anlisis es de la compaa Zephyr Biometrics,
International Biometric Group

1
X. Lu. Image analysis for face recognition, 2004. Disponible pblicamente en la URL:
http://www.cse.msu.edu/lvxiaogu/publications/publications.htm.

7
Ninguna de las alternativas existentes se aproxima en todos sus

parmetros al sistema biomtrico ideal. No obstante, podemos observar que el

reconocimiento facial presenta un buen compromiso entre los diferentes criterios.

2.3.1 HISTORIA DE LA BIOMETRA


La primera referencia acerca del uso de una caracterstica biomtrica con

fines identificativos se remonta al siglo VIII, fecha en la que se encuentran en

China huellas dactilares tanto en documentos como en esculturas de arcilla.

Posteriormente, en el ao 1000, Quintiliano utiliz las huellas dejadas por las

palmas de unas manos ensangrentadas para esclarecer un crimen. En 1686

Marcelo Malpigio hizo el primer estudio sistemtico de las huellas dactilares,

aunque no con el fin de utilizarlas como elemento de identificacin individual.

En 1856, sir William Herschel fue el primero en implantar la huella del

pulgar como mtodo de identificacin en documento para personas analfabetas.

En 1880 Henry Faulds un mdico escocs que trabajaba en Tokio, public un

artculo en la revista Nature en el que sugera que las huellas dactilares

encontradas en la escena de un crimen podan identificar al culpable, Faulds

tuvo ocasin de utilizar esta tcnica para eliminar la inculpacin de un inocente y

encontrar al culpable en un robo en Tokio.

En 1941, Murria Hill de los Laboratorios Bell inici el estudio de la

identificacin por voz, sustrabajos sueron redefinidos por L. G. Persia. En 1986

sir Alec Jeffreys utiliz por primera vez el ADN para identificar al autor de unos

asesinatos en Inglaterra.

La utilizacin de la biometra como una tecnologa moderna y de

aplicacin a usos comerciales tiene su arranque en los aos 70 con la

implantacin de los primeros sistemas de reconocimiento automtico de huellas

dactilares. A partir de mediados y finales de los noventa el inters ha ido

8
creciendo y en paralelo han aumentado los presupuestos de financiacin para la

investigacin y desarrollo vinculados a la biometra. Como resultado

organizaciones cientficas de la entidad IEEE han dado cabida en sus revistas a

eventos relacionados, como por ejemplo la publicacin en 1997 de un nmero

especial de los Proceedings de IEEE dedicados a Automated Biometrics. En

1998 se construy el consorcio BioAPI con el fin de desarrollar un API

ampliamente aceptado y disponible que sirva para las diversas tecnologas

biomtricas.

2.3.2 EL CUERPO HUMANO Y LA BIOMETRA

El sujeto fundamental de la Biometra es el cuerpo humano y las

caractersticas fsicas y conductuales que pueden emplearse a la hora de

identificacin y la verificacin.

El estudio de la Biologa nos ensea que las caractersticas externas que

observamos en los individuos (fenotipo), y que son las estudiadas por la

Biometra, se corresponden con las caractersticas genticas heredadas

(genotipo) que hacen a cada individuo singular.

Existen mltiples caractersticas que a priori nos permiten distinguir a una

persona de cualquier otra. Sin embargo los trabajos de investigacin biomtrica

han ido seleccionando a lo largo de los aos aquellas que permiten una mayor

fiabilidad desde el punto de vista de la identificacin. El cuerpo humano presenta

una organizacin estructural y funcional fruto de largos aos de evolucin

biolgica, y el estudio de sus caractersticas puede abordarse desde diferentes

niveles de complejidad organizativa conocidos como niveles de organizacin y

que abarcan desde su composicin qumica y biofsica a la conductual, pasando


9
por una serie de niveles organizativos de complejidad creciente: clulas, tejidos,

rganos y sistemas.

A pesar de esta gran variedad, la biometra ve limitado su nivel de

actuacin a un subconjunto de caractersticas, sobre todo si nos centramos en

aspectos relacionados con el control de acceso por ejemplo a un recinto o a un

sistema informtico. Estas limitaciones son de ndole diversa, como la capacidad

instrumental para la captura de los datos utilizados para la identificacin o la

utilizacin de mtodos no invasivos.

De todas las caractersticas biolgicas presentes en los seres humanos

con capacidad de ser medidas y por tanto susceptibles de ser utilizadas por la

Biometra podemos considerar dos grandes grupos. Por una parte las que se

centran en caractersticas estructurales y que por tanto se encuentran vinculadas

a determinados rganos y sistemas como por ejemplo:

Los sistemas seo y muscular en el caso de la cara y la mano.


El ojo en el caso de la retina y el iris.

La piel en el caso de las huellas dactilares.

Por otra parte estn las que se centran en caractersticas de tipo funcional.

En este caso aunque el efecto final se observa a travs de determinados

rganos efectores como por ejemplo:

Sistema seo y muscular en el caso del movimiento corporal, incluye la

escritura y la dinmica del tecleo.

Labios, lengua, faringe, laringe, etc., en el caso del habla.

10
Sin embargo el responsable que permite la identificacin selectiva con las

caractersticas anteriores es el Sistema Nervioso Central y ms concretamente la

corteza cerebral, que es la sede donde se originan los impulsos nerviosos que

cuando actan sobre los rganos efectores adecuados, permiten establecer

patrones conductuales diferenciales.

2.3.4 RECONOCIMIENTO DE PATRONES DE TIPEO

Es un tipo de biomtrico conductual usado para verificar la identidad de un

individuo examinando sus patrones de tipeo en un teclado. Esta tecnologa se

sostiene sobre la premisa de que cada individuo exhibe un patrn distintivo y una

cadencia de tipeo. La mayora de los estudios usan la duracin entre tipeo

(latencias) como caracterstica de verificacin de usuario, aunque hay otros que

utilizan el tipo que permanece la tecla presionada. Esta tecnologa no requiere

de hardware adicional o dispositivo de captura, se soporta sobre un software de

captura de la dinmica de tipeo del teclado. Esa tecnologa usa clasificadores

bayesianos, redes neuronales y sistemas fuzzy. De acuerdo con los estudios

realizados hay mejores resultados usando los tiempos de presin de la tecla que

los tiempos de latencia, pero los mejores resultados se obtienen del uso

simultneo de ambas tcnicas.

2.3.5 RECONOCIMIENTO DE MARCHA

Es un tipo de biomtrico conductual usado para verificar la identidad de

un individuo examinando su patrn de marcha. La ventaja de este biomtrico es

que potencialmente se puede realizar reconocimiento a distancia o a baja

resolucin. El reconocimiento puede basarse en la figura humana (esttico) as

como en su movimiento. El progreso en este tipo de biomtricos ha sido bastante

11
acelerado desde juegos de datos limitados hasta grandes bases de datos del

mundo real con anlisis de factores independientes.

2.3.6 BIOMTRICOS MULTIMODALES Y OTRAS FUSIONES MULTI-


BIOMTRICAS

Algunas aplicaciones biomtricas requieren un nivel de calidad tcnica

que es difcil obtener con una simple medida biomtrica. El uso de mltiples

medidas biomtricas con alta independencia de sensores biomtricos, algoritmos

o modalidades normalmente da una actuacin tcnica mejorada y reduce los

riesgos. Esto incluye una mejora en el nivel de calidad donde todas las medidas

biomtricas no estn disponibles. Los multibiomtricos tiene cuatro

subcategoras distintas: multimodal, multiinstancia, multisensorial y

multialgortmico.

Multimodal: Usa mltiples modalidades biomtricas diferentes (ej. Huella digital +

huella palmar); Multiinstancia: usa mltiples instancias biomtricas con una

modalidad biomtrica (ej. Iris izquierdo + iris derecho); Multisensorial: usa

mltiples sensores para medir la misma instancia biomtrica (ej. Para la huella

digital: sensores pticos, electrostticos y sensores infrarrojos); y

Multialgortmico: usa mltiples algoritmos para procesar el mismo ejemplo

biomtrico.

2.3.7 TERMOGRAFA FACIAL

Es un rea de inters relativamente nueva que mide los patrones

infrarrojos de la emisin de calor de la cara, causado por el flujo de sangre bajo

la piel. Los sensores termogrficos miden la temperatura de un objeto. Se puede

mapear no solamente la cara, sino tambin los patrones del sistema sanguneo
12
sin la piel. Es una tecnologa no invasiva, que no requiere de contacto fsico, es

continua y accesible a la mayora de usuarios. La verificacin o identificacin

puede ser lograda a dos o ms pies de distancia y sin que el usuario tenga que

esperar largos periodos de tiempo o no hacer nada ms que mirar a la cmara.

2.3.8 ESPECTROSCOPIA DE LA PIEL

La calidad ptica de la piel humana esta determinada por sus

propiedades qumicas y estructurales, que varan de una persona a otra. Estas

propiedades pueden ser medidas usando espectroscopia ptica de reflexin

difusa. Esta tecnologa biomtrica usa un sensor biomtrico basado en un diodo

emisor de luz (LED) y foto detectores de silicio que fueron desarrollados para

mejorar las medidas biomtricas basadas en las propiedades pticas de la piel

en los dedos, manos u otros sitos de la piel.

2.3.9 RECONOCIMIENTO DE ADN

Es un sistema biomtrico invasivo que requiere de una muestra fsica y

que su comparacin actualmente no se puede realizar en tiempo real. La

comparacin de ADN no utiliza plantillas o extraccin de rasgos, pero representa

la comparacin de ejemplos actuales. Solamente los gemelos idnticos tienen el

mismo ADN. Slo cuatro cidos nucleicos (Adenina, Citosina, Timina y Guanina)

comprenden el cdigo gentico del ADN.

2.3.10 RECONOCIMIENTO DE OLOR

Es una tecnologa biomtrica basada en las caractersticas fsicas de la

composicin qumica del olor del cuerpo. La principal tarea del reconocimiento

de olor es crear un modelo tan similar como sea posible al modelo humano. Las

13
narices electrnicas/artificiales (ENoses) han sido desarrolladas como un

sistema para la deteccin automtica y clasificacin de olores, vapores y gases.

Este proceso utiliza estadstica y redes neuronales artificiales entre otras.

2.3.11 RECONOCIMIENTO DE LABIOS

Esta tecnologa biomtrica se divide en tres subcategoras que son:

huella de los labios, movimiento de los labios y forma de los labios. La huella de

los labios es conocida en la ciencia forense por ser diferentes para cada

individuo, as como las huellas digitales. El movimiento de los labios ayuda a la

identificacin asociada con el reconocimiento de la voz. La forma de los labios

puede ser usada como una caracterstica o rasgo individual para lograr la

autenticacin.

2.3.12 RECONOCIMIENTO FACIAL


-Caractersticas del Autentificador: Responde a una caracterstica de tipo

morfologico variable con el tiempo. En particular, la estructura facial responde a

dos tipos de cambios temporales: La variacin no agresiva, caracterstica del

crecimiento y del envejecimiento del individuo (variacin caracterizada por

aparecer de forma relativamente lenta), y la variacin agresiva, debida

principalmente a factores como operaciones de ciruga esttica, accidentes, etc.,

de accin prcticamente inmediata.

-Sistema de Reconocimiento: Lo sistemas de reconocimiento facial estn

englobados dentro de las tcnicas FRT (Face Recognition Thecniques). Estas

tcnicas de aproximacin al reconocimiento facial, pueden clasificarse en dos

categoras segn el tipo de aproximacin holstica o analtica. La aproximacin

holstica (mtodo de las eigenfaces) considera las propiedades globales del

patrn, mientras que la segunda considera un conjunto de caractersticas

14
geomtricas de la cara. Existen dos divisiones de este segundo tipo de

aproximacin: la basada en los vectores caractersticos extrados del perfil, y la

basada en los vectores caractersticos extrados a partir de una vista frontal de la

cara.

-Caractersticas del Sistema:

- Sistema no invasivo (no intrusin fsica o contacto del autentificador con el

sistema de reconocimiento).

- Permite la identificacin de personas en movimiento.

- Sistema con posibilidad de camuflaje (las personas no detectan que son objeto

de un proceso de reconocimiento).

- Reconocimiento de sujetos no dispuestos a cooperar.

- El sistema de captura necesita de una fuente de luz auxiliar.

- Susceptible a problemas de iluminacin.

- Sistema vulnerable al reconocimiento de sujetos que se han sometido a

operaciones de ciruga plstica (estticas y de ciruga en general).

2.3.12.1 PROBLEMAS ASOCIADOS AL RECONOCIMIENTO DE


CARAS
Existen diferentes escenarios posibles para los sistemas de

autentificacin biomtrica mediante la cara. No es lo mismo, por ejemplo, una

aplicacin de control de accesos a un edificio, que ciertas personas utilizan para

identificarse y entrar al recinto, que un sistema de video vigilancia en un lugar

pblico, donde se trata de identificar criminales que pasan aleatoriamente frente

a la cmara. Existe una diferencia fundamental entre ambos: en el primero, el

individuo quiere ser reconocido; en el segundo, quiere no ser reconocido.

Tampoco es comparable una aplicacin que maneje varias docenas de

personas con otra que tenga que tratar cientos de miles. A medida que aumenta

15
el tamao del problema, se deben abordar cuestiones operativas de naturaleza

muy diversa. Y, dentro de un mismo tamao, pueden presentarse casos donde el

usuario tenga la posibilidad de acreditarse mediante algn mecanismo

alternativo, como por ejemplo una tarjeta identificativa.

Para modelar todo este amplio espectro de posibles aplicaciones del

reconocimiento de caras, se definen tres problemas tpicos asociados a

escenarios estndar: identificacin en conjunto abierto, identificacin en conjunto

cerrado, y verificacin.

2.3.13 RECONOCIMIENTO DE HUELLAS DACTILARES


-Caractersticas del Autentificador: Se trata de nuevo de una caracterstica de

tipo morfolgico que presenta como caracterstica principal, la presencia de un

conjunto de crestas o partes donde la piel se eleva sobre las partes ms bajas o

valles existentes entre las crestas. Asimismo, se definen dos caractersticas

particulares de dichas crestas que obedecen al trmino de minucias:

- Final de cresta (rigde ending): Caracterstica definida como el punto donde la

cresta acaba de forma abrupta.

- Bifurcacin de la cresta (rigde bifurcation): Caracterstica definida como el

punto en el que la cresta se bifurca en dos o ms crestas.

Estas dos caractersticas quedan unvocamente definidas a partir de su

localizacin (coordenadas espaciales x, y respecto al sistema de coordenadas

central de la imagen) y de su orientacin (ngulo). Las primeras responden al

68% de total las minucias presentes en una huella, mientras que las segundas

responden al 32% restante. Debemos notar que las huellas dactilares nacen

como resultado de un proceso aleatorio, por lo que se puede afirmar la no

existencia de ningn tipo de correlacin entre mellizos idnticos o individuos de

16
una misma familia. Asimismo, puntualizaremos que las personas de raza asitica

presentan crestas muy pequeas y finas, hecho que dificulta en gran medida, la

aplicacin del sistema de reconocimiento dactilar a dicho colectivo.

-Sistema de Reconocimiento: La mayora de los sistemas de reconocimiento de

huellas dactilares, se hallan englobados dentro de los sistemas AFIS (Automated

Fingerprint Identification Systems) conformando un elemento indispensable

dentro de las investigaciones policiales. Las tcnicas de reconocimiento de

huellas se dividen en dos categoras: Las tcnicas locales basadas en las

minucias y las globales basadas en la correlacin. El principal inconveniente de

la primera aproximacin radica en la difcil tarea de extraccin de las minucias en

imgenes de baja calidad, mientras que la segunda, se ve claramente afectada

por traslaciones y rotaciones.

-Caractersticas del Sistema:

- Sistema no invasivo.

- Sistema de elevada aceptacin popular.

- Mtodo de identificacin estndar en los procesos policiales y judiciales

(existencia de una gran base de datos a nivel mundial)

- Sistema de captura fcil y de bajo coste.

- Elevadas tasas de reconocimiento. A continuacin detallamos las tasas

conseguidas a nivel comercial: FAR= 0.001% y FRR=0.001%. (Informacin

extrada del producto Veriprint).

- Requiere una elevada resolucin de la imagen digital.

- Partculas alienas y heridas pueden inducir a problemas de reconocimiento.

- La gente que trabaja con sus manos (albailes, carpinteros, etc.) pueden

presentar callosidades que dificultan el proceso de digitalizacin de sus huellas.

17
Asimismo, la gente que maneja productos qumicos corrosivos puede llegar a

presentar un problema paralelo en la adquisicin.

2.3.14 RECONOCIMIENTO DE IRIS

-Caractersticas del Autentificador: Se trata de una caracterstica morfolgica

perfectamente circular que presenta las propiedades matemticamente ms

individuales y nicas, de todas las investigadas por bilogos e ingenieros

(incluso ms que el DNA). As pues, se puede afirmar que su estructura

permanecer estable e invariante a lo largo de toda la vida. Morfolgicamente,

est conformado por una estructura visible en forma de anillo de color, protegido

por la crnea y el humor acuoso, que resulta de la combinacin de la corona,

filamentos, fibras musculares, surcos radiales, etc. Es necesario notar que el iris

y la pupila no responden a circunferencias concntricas (no presentan el mismo

centro).

-Sistema de Reconocimiento: Mediante un proceso de adquisicin riguroso, el

sistema captura la imagen a nivel de grises mediante scanner que escanean la

superficie del ojo (no se realiza, por tanto, ningn tipo de reconocimiento a nivel

cromtico); este tipo de adquisicin dota al sistema de invarianza a escalados,

desplazamientos y rotaciones presentes en la imagen original. Posteriormente se

realiza una etapa de preprocesado de la imagen, de la cual, detallaremos sus

pasos de forma rigurosa, por considerar stos, de vital importancia dentro del

total del proceso de reconocimiento para asegurar un ptimo resultado:

1. Localizacin y aislamiento de la estructura del iris a partir de la deteccin de

los contornos exterior e interior del mismo (frontera con la esclertica y la pupila

respectivamente), mediante un algoritmo iterativo de bsqueda del mximo

18
gradiente de intensidad a lo largo de una circunferencia (aprovechando la

geometra circular del iris y de la pupila).

2. Debido a la imposibilidad de fijar a priori el grado de abertura/cierre del

prpado en el momento de la adquisicin, se dividir la imagen en cuatro

sectores (sectores izquierdo, derecho, superior e inferior), eliminndose

posteriormente los sectores superior e inferior. La extraccin de caractersticas

se realizar, por tanto, a partir de la informacin relativa a los sectores L

(izquierdo) y R (derecho).

3. Finalmente se realizar una reordenacin de la informacin resultante

mediante un muestreo tanto en radio como en ngulo de la misma, obteneniendo

una imagen cuadrada (las columnas indican fracciones de radio, mientras que

las filas respondern a incrementos de ngulo). Posteriormente se proceder a

la extraccin de caractersticas para generar el vector patrn utilizando para ello

un proceso de filtrado mediante wavelets. El sistema de reconocimiento

finalizar, tras aplicar el algoritmo de matching basado en la mnima distancia

entre el patrn de test y todos los modelos.

-Caractersticas del Sistema:

- Sistema no invasivo.

- La resolucin del sistema ser funcin de la calidad de la imagen de la

estructura del iris.

- El sistema es invariable al uso de lentes de contacto o gafas ya que la

estructura del ojo no se ve alterada.

- Sistema invariante a lentes de contacto de colores o gafas de sol ya que el

color no responde a ningn grado de libertad dentro del sistema de

reconocimiento evaluado.

19
- La deteccin del fraude (por presentacin, por ejemplo, de una foto del iris a

reconocer), se puede realizar de forma sencilla capturando dos imgenes

consecutivas y comprobando mediante tcnicas de correlacin, la diferencia de

tamao de la pupila. Se pueden forzar tambin, cambios controlados de la

iluminacin para analizar la respuesta de la pupila a estos cambios.

- Elevadas tasas de reconocimiento. A continuacin detallamos las tasas

conseguidas a nivel comercial: FAR= 0.0006% y FRR=0.0007%. (Informacin

extrada del producto IrisCan).

- Elevado tiempo de captura de la imagen (proceso de escaneado del ojo).

- Baja aceptacin popular.

- Elevado coste.

2.3.15 EVALUACIN DE SISTEMAS BIOMTRICOS


Segn la definicin de la Real Academia de la Lengua, evaluar es estimar

aptitudes y rendimiento de los sistemas. Por lo tanto una evaluacin completa de

un sistema biomtrico debera prestar igual atencin a todos los aspectos, desde

la adquisicin de los datos a la integracin del sistema. Entre los puntos

importantes a analizar podemos destacar los siguientes:

El rendimiento con respecto a su funcin, que es el reconocimiento

automtico de personas.

La seguridad, integridad y confidencialidad de los datos que maneje el

sistema.

La fiabilidad, disponibilidad y mantenimiento de la aplicacin informtica.

Todo lo referente a la comercializacin del producto, como puede ser la

estimacin de los costes y beneficios.

La aceptacin y/o facilidad de manejo por parte del usuario.

20
Las cuestiones legales, puesto que estamos tratando con temas

relacionados con la privacidad de las personas.

2.3.15.1 DEFINICIONES PREVIAS

2.3.15.1.1 Muestra
Resultado de la captura por el sensor correspondiente de un determinado rasgo

biomtrico. Por ejemplo, la seal de voz adquirida por un micrfono, la imagen

de la huella dactilar, de la cara o del iris.

2.3.15.1.2 Patrn
Medida de referencia almacenada del usuario, obtenida a partir de las muestras

de entrenamiento proporcionada por ste. Dependiendo del sistema de

clasificacin usado, la referencia del usuario estar determinada directamente

por los vectores de caractersticas extrados de las muestras de entrenamiento

(p. e., si se usa la tcnica de los k-vecinos ms prximos sin agrupamiento de

vectores), o por los parmetros de un modelo creado o entrenado a partir de

esos vectores (p. e., los pesos de una Red Neuronal o las probabilidades

relacionadas con un Modelo Oculto de Markov).

2.3.15.1.3 Inscripcin
Proceso en que se aade un nuevo usuario al sistema biomtrico. Entre las

operaciones a realizar se incluye la creacin del patrn correspondiente.

2.3.15.1.4 Operacin
Intento por parte de un usuario de validar o identificar su identidad, puede usar

para ello una o ms muestras, dependiendo de la poltica de decisin

establecida en el sistema.

2.3.15.2 CLASIFICACIN DE LA MUESTRA

2.3.15.2.1 Online

21
Cuando la inscripcin o la clasificacin se realiza en el momento en que es

capturada la muestra. No se necesita almacenar los datos, aunque se aconseja

hacerlo, ya que esto permite poder procesarlos posteriormente, en caso

necesario. Si no es posible la grabacin de las muestras, las tomas de decisin

se deben realizar con distinto niveles de seguridad (distintos umbrales de

decisin) para poder obtener medidas de rendimiento mas completas.

2.3.15.2.2 Offline
Tanto la inscripcin como las pruebas se realizan con muestras previamente

grabadas. La creacin de bases de datos permite un mayor control y versatilidad

de las pruebas que se realicen sobre el sistema con un coste pequeo pues se

modifican las caractersticas de la evaluacin.

2.3.16 TAREAS A ABORDAR

2.3.16.1 VERIFICACIN
Donde se trata de autenticar la identidad reclamada por el usuario. En este caso

las muestras del usuario slo se comparan con el patrn perteneciente a la

identidad reclamada, se obtiene como respuesta identidad aceptada o

rechazada. Un ejemplo de aplicacin sera el tpico control de acceso a cualquier

servicio personal (ordenador, cuenta bancaria, etc.) del usuario.

2.3.16.2 IDENTIFICACIN

En este caso se comparan las muestras de entrada al sistema con todos los

patrones de los usuarios inscritos en el sistema, o slo con los pertenecientes a

la particin de los usuarios asignada a las muestras, si sta se ha realizado, para

comprobar:

Que un usuario que reclama estar inscrito lo est (identificacin positiva).

22
Que un usuario que reclama de manera implcita (sin dar identidad) o

explcita (proporcionando identidad) no estar inscrito, realmente no lo est

(identificacin negativa).

Ejemplo de utilizacin de identificacin positiva sera el control de acceso a

lugares o recursos con slo un conjunto de personas autorizadas para ello;

ejemplo de identificacin negativa sera el control de dobles inscripciones en

derechos de uso o acceso a servicios, como pudiera ser la prestacin por

desempleo.

2.3.17 ERRORES EN LA ETAPA DE CLASIFICACIN


Se definen los siguientes dos errores:

2.3.17.1 TASA DE FALSOS POSITIVOS (TFP)


Es la probabilidad esperada de que una muestra de un usuario sea

incorrectamente clasificada como coincidente con el patrn de otro usuario. Se

estima como la proporcin de muestras falsamente asignadas a un cliente al que

no pertenece.

2.3.17.2 TASA DE FALSOS NEGATIVOS (TFN)


Es la probabilidad esperada de que una muestra de un usuario sea

incorrectamente clasificada como no coincidente con el patrn de ese usuario.

Se estima como la proporcin de muestras falsamente rechazadas como

pertenecientes al cliente al que pertenecen.

23
2.4 CONCEPTOS BSICOS DE PROCESAMIENTO DE IMGENES

2.4.1 IMAGEN
Una imagen puede ser definida matemticamente como una funcin

bidimensional,

f(x,y), (2.1)

Donde x y y son coordenadas espaciales (en un plano), y f en cualquier par de

coordenadas es la intensidad o nivel de gris de la imagen en esa coordenada.

2.4.2 IMAGEN DIGITAL


Cuando x,y, y los valores de f son todas cantidades finitas, discretas,

decimos que la imagen es una imagen digital. Una imagen digital se compone de

un nmero finito de elementos, cada uno con un lugar y valor especficos. Estos

elementos son llamados pels, o pixels.

2.4.3 PXEL (PXEL: PICTURE ELEMENT)


Es cada una de las posiciones en que es discretizada una imagen, o lo

que es lo mismo, cada una de las posiciones de un cuadro.

De esta manera un cuadro es un array bidimensional de pxeles, cada

uno con un cierto valor lumnico.

2.4.4 PROCESAMIENTO DIGITAL DE IMGENES


La vista es nuestro sentido ms avanzado, y no es sorprendente que las

imgenes jueguen el papel ms importante en la percepcin humana. Aunque

los seres humanos estemos limitados a la banda visible del espectro

24
electromagntico (EM), las mquinas pueden percibir casi el espectro completo,

desde los rayos gamma, a las ondas de radio.

Las mquinas tambin pueden procesar imgenes generadas por fuentes

que los humanos no asociamos con imgenes; como es el caso del ultrasonido,

la microscopa de electrones, etc.

Los autores no se ponen de acuerdo para decir dnde termina el campo

del Procesamiento Digital de Imgenes y dnde empiezan otros campos como el

Anlisis de Imgenes y la Visin por Computadora. La tarea de esta ltima

disciplina es utilizar computadoras para emular la visin humana, incluyendo el

aprendizaje, hacer inferencias y actuar basndose en entradas visuales. La

Visin Computacional es, claramente, un rea de la Inteligencia Artificial.

Procesamiento Digital de Imgenes son los procesos cuyas entradas y salidas

son imgenes (procesos de bajo nivel) y, adems, a aquellos procesos que

extraen atributos de imgenes, incluyendo el reconocimiento de objetos

individuales (procesos de nivel medio). Todos los procesos se llevarn a cabo

con la ayuda de una computadora digital. El campo del procesamiento digital de

imgenes est construido sobre bases matemticas y probabilsticas, pero la

intuicin y anlisis humanos juegan un importante papel al momento de escoger

una tcnica u otra. Esta eleccin se basa usualmente en juicios visuales

subjetivos.

2.4.5 PROCESAMIENTO DE NAJO NIVEL


Utilizan operaciones como el preprocesamiento de imagen para reducir el

ruido, mejora del contraste, y filtros de enfoque. Se caracterizan por que sus

entradas son imgenes y sus salidas tambin.

25
2.4.6 PROCESAMIENTO DE NIVEL MEDIO

Operaciones como segmentacin y clasificacin de objetos individuales. Se

caracterizan por que sus entradas son generalmente imgenes, pero sus salidas

son atributos extrados de esas imgenes (contornos, bordes, identidad de

objetos individuales).

2.4.7 PROCESAMIENTO DE ALTO NIVEL


Implica el obtener algn significado de un conjunto de objetos reconocidos

anlisis de imgenes y, finalmente, realizar las funciones cognitivas asociadas

con la vista. (ejemplo de smbolos de trfico)

2.4.8 MUESTREO UNIFORME Y CUANTIFICACION

Para ser utilizable para el procesamiento por medio de computadora, una

funcin de imagen f(x, y) debe ser digitalizada tanto espacialmente como en su

amplitud. La digitalizacin de las coordenadas espaciales (x, y) se denomina

muestreo de la imagen y la digitalizacin de la amplitud se conoce bajo el

nombre de cuantificacin del nivel de gris.

Se supone que una imagen continua f(x, y) se describe de forma

aproximada por una serie de muestras igualmente espaciadas organizadas en

forma de una matriz N x M como se indica en la siguiente ecuacin, donde cada

elemento de la matriz es una cantidad discreta:

26
f (0,0) f (0,1) f (0, M 1)
f (1,0) f (1,1) f (1, M 1)
F ( x, y )


f ( N 1,0) f ( N 1,1) f ( N 1, M 1)
Figura 4. Representacin matricial de una imagen

El trmino de la derecha de la ecuacin representa lo que comnmente

se denomina una imagen digital. A cada elemento de la matriz se le puede

denominar elemento de la imagen, pxel o pel. A veces puede resultar til

expresar el muestreo y la cuantificacin en trminos matemticos ms formales.

Si Z y R representan a los conjuntos de nmeros enteros y reales,

respectivamente, el proceso de muestreo puede entenderse como una particin

en una cuadricula del plano xy, siendo las coordenadas del centro de cada

elemento de la cuadrcula un par de elementos del producto cartesiano Z x Z

(tambin indicado por Z2), que es el conjunto de todos los pares ordenados de

elementos (a, b), siendo a y b nmeros enteros pertenecientes a Z. Por tanto f(x,

y) representa una imagen digital si (x, y) son enteros Z x Z y f es una funcin que

asigna un nivel de gris(es decir, un nmero real del conjunto de los nmeros

reales R) a cada par de coordenadas (x, y) distinto. Esta asignacin funcional es,

obviamente, el proceso de cuantificacin descrito anteriormente. Si los niveles de

gris tambin son nmeros enteros entonces Z reemplaza a R y una imagen

digital se convierte en una funcin bidimensional (2-D) cuyas coordenadas y

valores de amplitud son nmeros enteros.

Este proceso de digitalizacin necesita decisiones sobre los valores para

N, M y el nmero de niveles de gris permitidos para cada pxel. En el

27
procesamiento digital de imgenes es una prctica comn que estas cantidades

sean potencias enteras de 2; es decir:

N = 2n , M = 2k (2.2)

G = 2m (2.3)

Donde G indica el nmero de niveles de gris.

Puesto que la ecuacin de la imagen digital es una aproximacin a una

imagen continua, llegados a este punto es razonable preguntarse: Qu

muestreo y cuntos niveles de gris son necesarios para una buena

aproximacin? La resolucin (el grado de detalle discernible) de una imagen

depende estrechamente de estos dos parmetros. Cuanto ms se incrementa

ms se aproxima a la imagen original.

2.4.9 ALGUNAS RELACIONES BASICAS ENTRE PIXELS

Como mencionamos anteriormente, una imagen se indica por f(x, y),

cuando hagamos referencia a un pxel en particular, se emplearn letras

minsculas, como p y q.

2.4.9.1 VECINOS DE UN PXEL

Un pxel p de coordenadas (x, y) tiene cuatro vecinos horizontales y

verticales cuyas coordenadas vienen dadas por:

(x + 1, y), (x 1, y), (x, y + 1), (x, y 1) (2.4)

28
Este conjunto de pxeles, denominado los 4-vecinos de p, se representa

por N4(p). Cada pxel est a una unidad de distancia de (x, y), y alguno de los

vecinos de p caen fuera de la imagen digital si (x, y) est en el borde de la

imagen.

Los cuatro vecinos en diagonal del p tienen las coordenadas:

(x + 1, y + 1), (x + 1, y 1), (x 1, y + 1), (x 1 , y 1) (2.5)

y se representan por ND(p). Estos puntos, junto a los 4-vecinos, se denominan

los 8-vecinos de p, y se representan por N8(p). Al igual que antes, algunos

puntos de ND(p) y N8(p) caen fuera de la imagen si (x, y) est en el borde de la

misma.

2.4.9.2 CONECTIVIDAD

La conectividad entre pxeles es un concepto importante empleado para

establecer los lmites de los objetos y los componentes de reas en una imagen.

Para determinar si dos pxeles estn conectados, debe determinarse si son

adyacentes en algn sentido (como ser 4-vecinos) y si sus niveles de gris

cumplen un criterio especificado de similitud (como ser iguales). Por ejemplo, en

una imagen binaria con valores 0 y 1, dos pxeles pueden 4-vecinos pero no

estarn conectados a menos que tengan el mismo valor.

Sea V el conjunto de valores de nivel de gris empleados para definir la

conectividad; por ejemplo en una imagen binaria, se tendr V = {1} para la

conectividad entre pxeles con valor 1. En una imagen con escala de grises, para

la conectividad entre pxeles con un rango de valores de intensidad, de por

29
ejemplo, 32 a 64, se tiene V = {32, 33, ..., 63, 64}. Se consideran tres tipos de

conectividad:

a) 4-conectividad. Dos pxeles p y q con valores dentro de V estn 4-

conectados si q pertenece a N4(p).

b) 8-conectividad. Dos pxeles p y q con valores dentro de V estn 8-

conectados si q pertenece a N8(p).

c) m-conectividad. (conectividad mixta). Dos pxeles p y q con valores

dentro de V estn m-conectados si:

i) q pertenece a N4(p), o bien

ii) q pertenece a ND(p) y adems el conjunto N4(p) N4(q) es vaco. (Este

es el conjunto de pxeles que son 4-vecinos de p y de q cuyos valores estn en

V.)

La conectividad mixta es una modificacin de la 8-conectividad que se

introdujo para eliminar los mltiples caminos de conexin que aparecen a

menudo cuando se emplea la 8-conectividad. Por ejemplo, considrese la

distribucin de pxeles mostrada en la fig. 5(a). Para V = {1}, los caminos entre 8-

vecinos del pxel central se muestran con lneas discontinuas en la fig. 5(b).

Obsrvese la ambigedad de los caminos de conexin que resulta al permitir la

8-conectividad. Esta ambigedad se elimina empleando la m-conectividad, como

se muestra en la fig 5(c).

Un pxel p es adyacente de un pxel q si estn conectados. Se puede

definir 4, 8- o m-adyacencia, dependiendo del tipo de conectividad especificada.

30
Dos subconjuntos de la imagen, S1 y S2, son adyacentes si algn pxel de S1 es

adyacente a algn pxel de S2.

Un camino desde el pxel p de coordenadas (x, y) al pxel q de

coordenadas (s, t) es una sucesin de diversos pxeles de coordenadas:

(x0, y0), (x1, y1), .., (xn, yn) (2.6)

Donde (x0, y0) = (x, y) y (xn, yn) = (s, t), (xi, yi) es adyacente a (xi-1, yi-1), 1 <= i <=

n, y n es la longitud del camino. As podemos definir 4, 8 y m caminos,

dependiendo del tipo de adyacencia especificado.

Si p y q son pxeles de un subconjunto S especificado de la imagen, se

dir que p est conectado con q dentro de S si existe un camino desde p hasta q

que consista totalmente de pxeles de S. Para cualquier pxel p dentro de S, el

conjunto de pxeles de S conectados a p se denomina componente conexa de S.

Por tanto, cualquier par de pxeles de una misma componente conexa estn

conectados entre s, y componentes conexas distintas son disjuntas.

La capacidad de asignar etiquetas diferentes a las distintas componentes

conexas disjuntas de una imagen es de importancia fundamental en el anlisis

automatizado de la imagen.

31
0 1 1 0 1---1 0 1---1

0 1 0 0 1 0 0 1 0

0 0 1 0 0 1 0 0 1

(a) (b) (c)


Figura 5. (a) Distribucin de pxeles; (b) 8-vecinos del pxel central; (c) m-vecinos
del mismo pxel. Las lneas a trazos son caminos entre ese pxel y sus vecinos.

2.4.10 MEJORA DE LA IMAGEN

El principal objetivo de las tcnicas de mejora es procesar una imagen de

forma que resulte ms adecuada que la original para una aplicacin especfica.

La palabra especfica es importante porque establece desde el principio que

para cada problema hay una tcnica. As por ejemplo, un mtodo que sea muy

til para mejorar imgenes de rayos X puede no ser necesariamente el ideal

para mejorar las imgenes de Marte trasmitidas por una sonda espacial.

Existen dos categoras bsicas: Mtodos en el dominio espacial y

Mtodos en el dominio de la frecuencia. El dominio espacial se refiere al propio

plano de la imagen, y las tcnicas de esta categora se basan en la manipulacin

directa de los pxeles de la imagen. El procesamiento en el dominio de la

frecuencia se basa en la modificacin de la transformada de Fourier de una

imagen. Tambin son habituales otras tcnicas de mejora que se basan en el

empleo combinado de mtodos de ambas categoras.

2.4.11 METODOS EN EL DOMINIO ESPACIAL

El trmino dominio espacial se refiere al conjunto de pxeles que

componen una imagen, y los mtodos en el dominio espacial son procedimientos

32
que operan directamente sobre los pxeles. Las funciones de procedimiento de la

imagen en el dominio espacial pueden expresarse como:

g(x, y) = T [f(x, y)] (2.7)

Donde f(x, y) es la imagen de entrada, g(x, y) es la imagen procesada y T

es un operador que acta sobre f , definido en algn entorno de (x, y). Adems T

puede operar sobre un conjunto de imgenes de entrada, como por ejemplo para

llevar a cabo la suma pxel a pxel de M imgenes para reducir el ruido.

La aproximacin principal para definir un entorno alrededor de (x, y) es

emplear un rea de subimagen cuadrada o rectangular centrada en (x, y).

El centro de la subimagen se mueve pxel a pxel comenzando, por

ejemplo, en la esquina superior izquierda y aplicando el operador en cada

posicin (x, y) para obtener g. Aunque a veces se empleen otros tipos de

entorno, tales como aproximaciones a un crculo, las distribuciones cuadradas y

rectangulares son con mucho las ms utilizadas por su facilidad de

implementacin.

La forma mas simple de T corresponde a un entorno 1 x 1. En este caso

g depende slo del valor de f en el punto (x, y), y T se convierte en una funcin

de transformacin del nivel de gris (tambin denominada correspondencia) de la

forma:

s = T(r) (2.8)

Donde, para simplificar la notacin, r y s son variables que indican el nivel

de gris de f(x, y) y g(x, y) en cada punto (x, y). Por ejemplo, si T(r) tiene la forma

de el efecto de esta transformacin es producir una imagen de mayor contraste


33
que la inicial al oscurecer los niveles de gris por debajo de m e iluminar los

niveles por encima de m en la imagen original. En sta tcnica, conocida como

aumento del contraste, los valores de r inferiores a m se comprimen por la

funcin de transformacin en un estrecho margen de s desplazado hacia el

negro; el efecto opuesto sucede para los valores de r superiores a m. En el caso

lmite, T(r) produce una imagen de dos niveles (binaria). Algunas tcnicas de

procesamiento bastante simples, pero potentes, se puede formular sobre la base

de transformaciones del nivel de gris. Debido a que la mejora de cada punto de

una imagen depende slo del nivel de gris en ese punto, las tcnicas de esta

categora se conocen a menudo como procesamiento de punto.

Los entornos mayores permiten una variedad de funciones de tratamiento

que va mas all de lo que es meramente la mejora de la imagen. Sin embargo,

independientemente de la aplicacin especfica, la idea general consiste en

determinar g en un punto (x, y) a partir de los valores de f en un entorno

predefinido de (x, y). Una de las aproximaciones principales en este tipo de

formulacin se basa en el empleo de las denominadas mscaras (tambin

llamadas plantillas, ventanas o filtros). Bsicamente, una mscara es una

pequea distribucin bidimensional (de, por ejemplo, 3 x 3), en la que los valores

de los coeficientes determinan la naturaleza del proceso, como la acentuacin

de los bordes. Las tcnicas de mejora basadas en este tipo de aproximacin se

conocen a menudo como procesamiento por mscaras o filtrado.

2.4.12 FILTROS DE IMGENES

Los filtros se utilizan para la modificacin de imgenes ya sea para

detectar los bordes de una escena o para modificar el aspecto, otra funcin de

34
los filtros es para la eliminacin de ruido de la imagen. Al hablar de un filtro nos

estamos refiriendo a realizar una Convolucin de una matriz con respecto a un

pxel y la vecindad de este.

El empleo de mscaras especiales para el procesamiento de las

imgenes se denomina frecuentemente filtrado espacial (frente al filtrado en el

dominio de la frecuencia empleando la transformada de Fourier), y las propias

mscaras se denominan filtros espaciales. Existen filtros espaciales lineales y no

lineales para la mejora de la imagen.

Los filtros lineales se basan en los conceptos que afirman que la funcin

de transferencia y el impulso o funcin de distribucin puntual de un sistema

lineal son transformadas de Fourier inversas una de otra. Los otros filtros

denominados de paso bajo atenan o eliminan las componentes de alta

frecuencia en el dominio de Fourier a la vez que dejan inalteradas las bajas

frecuencias (es decir, el filtro deja pasar las frecuencias bajas). Las

componentes de alta frecuencia caracterizan los bordes y los restantes detalles

muy marcados de la imagen, y por ello el efecto de introducir un filtrado de paso

bajo es el de hacer ms borrosa la imagen. De forma similar, los filtros de paso

alto atenan o eliminan las componentes de baja frecuencia. Como estas

componentes son responsables de las caractersticas lentamente variables de la

imagen, como el contraste global y la intensidad media, el resultado neto de un

filtrado de paso alto es la reduccin de estas caractersticas y, en

correspondencia, una aparente agudizacin de los bordes y de los restantes

detalles finos. Un tercer tipo de filtrado, denominado filtrado de paso de banda,

elimina unas regiones elegidas de frecuencias intermedias. Estos filtros se

35
emplean para la restauracin de imgenes y son de escaso inters para la

mejora de la imagen.

Las Figuras siguientes muestran las secciones transversales de filtro

paso bajo, paso alto y paso banda con simetra circular, en el dominio de la

frecuencia y sus correspondientes filtros espaciales. Los eje horizontales de las

figuras de la fila superior son frecuencias, y sus correspondientes en la fila

inferior son coordenadas espaciales. Los perfiles de la fila inferior pueden ser

empleados como indicacin para especificar los filtros espaciales lineales. Sin

embargo, con independencia del tipo de filtro lineal empleado, la aproximacin

bsica consiste en sumar productos entre los coeficientes de la mscara en un

punto determinado de la imagen. La figura 7 muestra una mscara de 3 x 3

general. Denominando a los niveles de gris de los pxeles bajo la mscara en un

punto determinado por z1, z2, ..., z9, la respuesta de una mscara lineal es

R = w1 z1 + w2 z2 + ... + w9 z9 (2.9)

Figura 6. Arriba: secciones transversales de perfiles bsicos para filtros en el


dominio de frecuencias con simetra circular. Abajo: secciones transversales
de los filtros correspondientes en el dominio espacial.
36
W1 w2 w3

w4 w5 w6

w7 w8 w9

Figura 7. Mscara 3 x 3 con coeficientes (pesos) arbitrarios

Si el centro de la mscara se encuentra en un punto (x, y) de la imagen, el

nivel de gris del pxel situado en (x, y) se reemplaza por R. Luego se mueve la

mscara hasta el emplazamiento del siguiente pxel de la imagen y se repite el

proceso. Se contina as hasta que se han cubierto todos los pxeles de la

imagen. El valor de R se calcula empleando entornos parciales para los pxeles

que estn colocados en los bordes de la imagen. Tambin es habitual crear una

nueva imagen para almacenar los nuevos valores de R, en lugar de ir cambiando

cada vez los valores de cada pxel, ya que as se evita el empleo de nivel de gris

en la ecuacin anterior que hayan sido alterados como resultado de una

aplicacin anterior de esta ecuacin.

Los filtros espaciales no lineales operan tambin en entornos. Sin

embargo, en general su operacin se basa directamente en los valores de los

pxeles en el entorno en consideracin y no emplean explcitamente los

coeficientes de la ecuacin anterior. La reduccin del ruido se puede realizar

eficazmente con un filtro no lineal cuya funcin bsica sea la de calcular el valor

medio del nivel de gris en el entorno en que se coloca el filtro. Otros ejemplos

incluyen el filtro de mximo (cuya funcin de respuesta es R = mx{ zk | k = 1, 2,

37
.... , 9}), que se emplea para buscar los puntos ms brillantes de una imagen, y

el filtro de mnimo, que se emplea con el objetivo contrario.

Como filtros suavizantes se emplean para hacer que la imagen aparezca

algo borrosa y tambin para reducir el ruido. Es til que la imagen aparezca algo

borrosa en algunas etapas de preprocesado, como la eliminacin de los

pequeos detalles de una imagen antes de la extraccin de un objeto (por

supuesto, grande), el relleno de pequeos espacios entre lneas o curvas. La

reduccin del ruido puede realizarse mediante el aumento de la borrosidad con

un filtro lineal o tambin con un filtro no lineal.

2.4.13 HISTOGRAMA DE UNA IMAGEN

El histograma de una imagen representa la frecuencia relativa de los

niveles de gris de la imagen. Las tcnicas de modificacin del histograma de una

imagen son tiles para aumentar el contraste de imgenes con histogramas muy

concentrados.

2.4.14 SEGMENTACIN
Segmentar una imagen es desglosarla en sus componentes,

generalmente para extraer aquella que contiene la informacin relevante para el

posterior anlisis. La mecnica de segmentacin, es, tambin fuertemente

dependiente de la aplicacin.

2.4.15 MORFOLOGA MATEMTICA.


La palabra morfologa significa forma y estructura de un objeto. Para

imgenes binarias se definen operaciones morfolgicas y con estas se

38
constituye una herramienta de extraccin de componentes de imagen tiles en la

representacin y descripcin de la forma de las regiones.

Las operaciones bsicas de la morfologa matemtica son: dilatacin se

puede simplificar a decir que es agregar pxeles a un objeto, hacerlo mas

grande, y luego erosin es hacerlo mas chico. La erosin saca los outlayers del

objeto.

Luego la combinacin de estas dan origen a los operadores Apertura y

Clausura. El primero consiste en aplicar una erosin seguida de una dilatacin

aplicando la misma forma estructurante, como resultado esta tiende a abrir

pequeos huecos. La clausura es la aplicacin de las operaciones bsicas en el

sentido inverso, y resulta en cerrar los huecos.

2.5 RECONOCIMIENTO DE PATRONES


Son los medios por los cuales se puede interpretar el mundo.

Es la ciencia que se ocupa de los procesos sobre ingeniera, computacin

y matemticas relacionados con objetos fsicos y/o abstractos, con el propsito

de extraer informacin que permita establecer propiedades de o entre conjuntos

de dichos objetos.

2.5.1 INTEGRALES PROYECTIVAS


El manejo de espacios de elevada dimensionalidad es una de las caractersticas

esenciales de la visin artificial; al mismo tiempo, complica y da sentido propio a

la disciplina. Fcilmente, cualquier sistema que use imgenes de tamao medio

se ver abocado a trabajar con vectores de entrada de unos cuantos miles de

valores. Para abordar este ingente volumen de datos, la reduccin a

subespacios de menor dimensionalidad es uno de los fundamentos subyacentes


39
en muchas de las tcnicas de la visin en general, y del procesamiento de caras

humanas en particular. Una categora de especial relevancia son los

denominados subespacios lineales, obtenidos a travs de transformaciones

lineales sobre las imgenes, es decir, aquellas operaciones en las que cada

valor de salida es una combinacin lineal de todos los pxeles de la entrada. Las

autocaras, las fishercaras, el anlisis de componentes independientes, los filtros

wavelets de Haar, y Gabor, adems de las ubicuas transformadas de Fourier y

del coseno, son algunas de las tcnicas ms utilizadas en el dominio de los

rostros humanos. Las integrales proyectivas son una tcnica ms de reduccin a

subespacios lineales, donde cada valor de salida es la media aritmtica de una

fila o columna de pxeles de la entrada. Las proyecciones han sido usadas en

diversas aplicaciones del procesamiento facial, normalmente combinadas con

otras caractersticas.

2.5.2 INTEGRALES PROYECTIVAS VERTICALES Y HORIZONTALES


La integral proyectiva vertical (o, simplemente, la proyeccin vertical) de una

regin R en una imagen en escala de grises, es una seal unidimensional, PVR:

PVR : dominioY(R) R

Definida por:

_____
PVR(y) = i(x, y), (x, y) R (2.10)

De forma similar, la proyeccin horizontal de una regin R en una imagen en

escala de grises, denotada por PHR, es la seal:

PHR : dominioX(R) R

Definida por:

_____
PHR(x) = i(x, y), (x, y) R (2.11)

40
En las figuras 8 y 9 se muestran algunos ejemplos de proyecciones verticales y

horizontales de dos imgenes diferentes. En ambos casos, se han proyectado

las imgenes completas, es decir, la regin R seria toda la imagen de entrada.

Figura 8. Ejemplo de integral proyectiva horizontal y vertical de una imagen. Arriba a la


izquierda, la imagen de entrada, hormiga. A la derecha, la proyeccin vertical, PVhormiga.
Abajo, la proyeccin horizontal, PHhormiga.

El primer hecho notable, aunque, por otra parte, bastante evidente es que

cuando proyectamos objetos sencillos, como los de ambos ejemplos, aparecen

claramente destacados en las proyecciones los elementos de inters (la posicin

de la hormiga, en la figura 8, y la posicin de los elementos faciales en la figura

9). Es mas, podemos asegurar que la proyeccin de una gaussiana 2D es una

gaussiana 1D, puesto que la suma de normales es tambin una normal.

Hemos definido las proyecciones sobre imgenes en escala de grises,

obviando las imgenes con varios canales. No resulta difcil extender el concepto

41
de seal al caso multicanal y, consecuentemente, las proyecciones de imgenes

con ms de un canal. Sin embargo, la mejora que pueda suponer esta extensin

resulta ms discutible. En su lugar, en el caso de las imgenes multicanal,

escogeremos uno de los canales para obtener las proyecciones. En la figura 9 se

muestran las proyecciones de los tres canales de una imagen en color. Se puede

apreciar que, aunque las tres seales resultantes toman valores dispares, todas

ellas tienen una estructura muy parecida.

Figura 9. Integrales proyectivas verticales de los canales R, G y B de una imagen. A la


izquierda, la imagen de entrada en color, cara. A la derecha, las proyecciones verticales,
Pvcara, de los canales R (en rojo), G (en verde) y B (en azul). Observar que se ha dado
la vuelta a la escala vertical de la grfica. De esta forma, los elementos faciales aparecen
como picos de las seales.

2.6 CONCEPTOS BSICOS DE REDES NEURONALES ARTIFICIALES

2.6.1 RED NEURONAL


Es un sistema de procesamiento de informacin que tiene ciertas

caractersticas de comportamiento inspiradas en el conocimiento actual que

tenemos sobre el funcionamiento de las neuronas biolgicas. El cerebro se

puede contemplar como un ordenador complejo, no lineal y paralelo que procesa

gran cantidad de informacin. Su capacidad de organizar las neuronas para

42
realizar ciertas computaciones, como el reconocimiento de objetos, en menos de

0.2 segundos, supone una rapidez de clculo muy superior al ordenador actual

ms potente. El sistema visual humano proporciona una representacin del

entorno que le rodea y suministra la informacin necesaria para interactuar con

l.

Las redes de neuronas artificiales son modelos computacionales paralelos

que constan de unidades de proceso (neuronas) adaptativas y masivamente

interconectadas. Son, por tanto, procesadores distribuidos masivamente en

paralelo para almacenar conocimiento experimental y hacerlo disponible para su

uso. Se basan en los siguientes supuestos:

1.- El procesamiento de informacin ocurre en muchos elementos simples

llamados unidades de proceso (o neuronas).

2.- Las seales se transmite entre las neuronas a travs de conexin sinpticas.

3.- Cada enlace de conexin entre dos unidades de proceso tiene asociado un

peso (llamado peso sinptico) que tiene un efecto multiplicador sobre la seal

transmitida.

4.- Cada unidad de proceso aplica una funcin de activacin (o transferencia) a

sus seales de entrada para determinar su seal de salida.

Una red de neuronas artificiales est caracterizada por su:

Arquitectura: Estructura o patrn de conexiones entre las unidades de proceso.

Dinmica de la Computacin que nos expresa el valor que toman las unidades

de proceso y que se basa en unas funciones de activacin (o de transferencia)

que especifican como se transforman las seales de entrada de la unidad de

proceso en la seal de salida.

Algoritmo de Entrenamiento o Aprendizaje: Procedimiento para determinar los

pesos de las conexiones. Una caracterstica muy importante de estas redes es

43
su naturaleza adaptativa, donde el aprendizaje con ejemplos sustituye a la

programacin en la resolucin de problemas.

Las RNA se parecen al cerebro en dos aspectos:

La red adquiere el conocimiento mediante un proceso de aprendizaje.

Los pesos de las conexiones (pesos sinpticos) entre las unidades de proceso

se utilizan para almacenar el conocimiento.

El procedimiento utilizado para el proceso de aprendizaje se llama algoritmo de

aprendizaje y permite modificar los pesos sinpticos de la red neuronal para

conseguir un objetivo deseado.

Estas redes se llaman neuronales por estar inspiradas en la neurociencia pero

no pretenden ser buenos modelos de neuronas biolgicas. Se busca sobre todo

su capacidad computacional.

Las RNA poseen las siguientes propiedades:

1. No linealidad.

2.- Permiten la representacin de aplicaciones o correspondencias entre las

entradas y salidas.

3.- Adaptabilidad: Acomodan (adaptan) sus pesos sinpticos a los cambios del

entorno.

4.- Informacin contextual: El conocimiento viene representado por el estado de

activacin de la red neuronal. Cada neurona est afectada potencialmente por la

actividad global de las otras neuronas de la red.

5.- Tolerancia a fallos: Por una parte, si una neurona o un enlace de la red

neuronal son daados, la respuesta de la red probablemente no quedar

afectada. Una persona nace con unos 100 billones de neuronas y a partir de los

cuarenta aos, o antes, se pierden ms de 40.000 neuronas diarias, que no son

reemplazadas y, sin embargo, continuamos aprendiendo.

44
Por otra parte, una red es capaz de reconocer seales de entrada diferentes a

las seales entrenadas cuando difieren moderadamente. Anlogamente, una

persona puede reconocer a otra despus de muchos aos sin verla.

6.- Implementacin VLSI: Al ser las redes masivamente paralelas pueden

conseguir rapidez de cmputo en la realizacin de ciertas tareas. Permiten la

implementacin usando la tecnologa VLSI (very-large-scale-integrated) y

conseguir aplicaciones, como el reconocimiento de patrones, procesamiento de

seales y control en tiempo real.

2.6.2 NEURONA ARTIFICIAL


La unidad bsica de las Redes Neuronales Artificiales, la neurona

artificial, simula las cuatro funciones bsicas de las neuronas biolgicas. La

operacin de una neurona artificial o unidad, propuesta por McCullock y Pitts en

1943 (Fig. N 10), puede ser resumida de la siguiente manera:

Figura 10. Modelo de neurona artificial de McCullock-Pitts.

Las seales son presentadas a la entrada, representada por X1, X2, XP

Cada seal es multiplicada por un nmero, o peso, que indica su influencia en

la salida de la neurona, representados por W 1, W 2, WP

45
Se realiza la suma ponderada de las seales que produce un nivel de

actividad,

Si este nivel de actividad excede un cierto limite (threshold), por el

resultado de la funcin de activacin (f(a)) la unidad produce una determinada

respuesta de salida (y).

En este modelo tambin se incluye un factor de influencia o bias que es

aplicado externamente, representado por bk. El bias bk tiene el efecto de

aumentar o disminuir la entrada total de activacin, dependiendo si es positivo

o negativo respectivamente.

2.6.3 APRENDIZAJE
La habilidad de aprender es una prueba fundamental de inteligencia. Una

RNA necesita ser entrenada para que pueda funcionar correctamente. La

mayora de los modelos de redes neuronales poseen alguna regla de

entrenamiento, dnde los pesos de sus conexiones son ajustados de acuerdo

con los patrones presentados. En otras palabras ellas aprenden a travs de

ejemplos. El desempeo es mejorado con el pasar del tiempo por un proceso

iterativo de actualizacin de los pesos en la red.

Para crear un proceso de aprendizaje, se debe primero tener un modelo

del ambiente en el cual la red neuronal va a operar, ser necesario saber qu

informacin estar disponible para la red, de esta informacin dependen todos

los dems aspectos del diseo e implementacin de una RNA.

Dentro de los mtodos de aprendizaje o entrenamiento, se encuentran el

aprendizaje supervisado, no supervisado (tambin conocido como auto-

aprendizaje) y el competitivo.

46
2.6.3.1 APRENDIZAJE SUPERVISADO

Es el tipo ms comn, se llama supervisado porque la entrada y salida

deseadas para la red son formuladas por un supervisor externo. El objetivo es

ajustar los parmetros de la red, de tal forma que se abstraiga una relacin entre

los pares entrada-salida formulados. Se tiene un conjunto o set de valores de

entrenamiento (o patrones), cada uno asociado con un conjunto de valores de

salida deseados (target). Un algoritmo de entrenamiento ajusta los pesos con

base en el error o diferencia entre el valor de salida obtenido de la red y el valor

de salida deseado (target).

Una de las mayores ventajas de las redes neuronales es su habilidad para

generalizar. Esto significa que una red entrenada podra clasificar datos como los

datos de aprendizaje sin haberlos visto nunca. En aplicaciones reales los

desarrolladores normalmente tienen slo una pequea parte de todos los

posibles patrones para la generacin de una red neuronal. Para alcanzar la

mejor generalizacin, el set o conjunto de datos debera ser dividido en tres

partes:

El set de entrenamiento es utilizado para entrenar la red neuronal. El error de

este set de datos es minimizado durante el entrenamiento.

El set de validacin es utilizado para determinar el rendimiento de la red

neuronal con patrones que no son entrenados durante el aprendizaje.

Un set de prueba para verificar finalmente el rendimiento global de la red

neuronal.

47
La Figura 11 muestra una evolucin tpica del error de un set de entrenamiento

(curva inferior) y un set de validacin (curva superior). El aprendizaje debera ser

detenido en el mnimo del error del set de validacin. En este punto la red

generaliza mejor. Cuando el aprendizaje no es detenido, ocurre sobre-

entrenamiento y el rendimiento de la red sobre la totalidad de los datos decrece.

Figura 11. Evolucin del error de un set de entrenamiento.

La desventaja del aprendizaje supervisado es que, en ausencia de un

supervisor o profesor, la red no consigue aprender nuevas estrategias para

situaciones no cubiertas por los ejemplos de entrenamiento de la red. Pero las

redes de aprendizaje supervisado se ejecutan mucho mas rpido que las de

entrenamiento no supervisado.

2.6.3.2 APRENDIZAJE NO SUPERVISADO


Como su nombre lo indica, no hay un supervisor para acompaar el

proceso de aprendizaje. Muchos de los sistemas biolgicos presentan

aprendizaje no supervisado. En estos algoritmos, slo estn disponibles los

patrones de entrada para la red, al contrario del supervisado cuyo conjunto de

entrenamiento posee pares de entrada y salida.

48
Se utiliza en RNA auto-organizables, las cuales agrupan valores similares

de entrada sin hacer uso de un conjunto de entrenamiento especfico. Se

entregan a la red una serie de valores de entrada, pero no se entregan valores

de salida deseados. La red modifica sus pesos de tal forma que los valores de

entrada ms similares son relacionados a un mismo patrn de salida (o cluster).

Con esto la red es capaz de producir un valor ejemplar (representativo) para

cada cluster formado.

2.6.3.3 APRENDIZAJE COMPETITIVO


En el aprendizaje competitivo las neuronas o unidades de salida de una

red compiten entre si para volverse activas (dispararse). Mientras que en una red

neuronal basada en aprendizaje hebbiano (regla de aprendizaje auto-

organizada) varias neuronas de salida pueden estar activas simultneamente, en

el aprendizaje competitivo slo una neurona de salida est activa en un instante

determinado. Esta caracterstica hace de este tipo de aprendizaje muy adecuado

para descubrir caractersticas estadsticamente notables que pueden ser

utilizadas para clasificar un conjunto de patrones de entrada.

2.6.4 FUNCIONES DE TRANSFERENCIA


Un modelo ms acadmico que facilita el estudio de una neurona, puede

visualizarse en la figura:

Figura 12. Modelo de una neurona


49
Las entradas a la red sern ahora presentadas en el vector p, que para el

caso de una sola neurona contiene solo un elemento, w sigue representando los

pesos y la nueva entrada b es una ganancia que refuerza la salida del sumador

n, la cual es la salida neta de la red; la salida total est determinada por la

funcin de transferencia , la cual puede ser una funcin lineal o no lineal de n, y

que es escogida dependiendo de las especificaciones del problema que la

neurona tenga que resolver; aunque las RNA se inspiren en modelos biolgicos

no existe ninguna limitacin para realizar modificaciones en las funciones de

salida, as que se encontrarn modelos artificiales que nada tienen que ver con

las caractersticas del sistema biolgico.

2.6.4.1 LIMITADOR FUERTE (HARDLIM)


La figura 13 muestra como esta funcin de transferencia acerca la salida de la

red a cero, si el argumento de la funcin es menor que cero y la lleva a uno si

este argumento es mayor que uno. Esta funcin crea neuronas que clasifican las

entradas en dos categoras diferentes, caracterstica que le permite ser

empleada en la red tipo Perceptrn

(2.12)

50
Figura 13. Funciones de transferencia unipolar

La funcin Hardlim reemplazara a la letra f en la expresin general,

cuando se utilice la funcin Hardlim. Una modificacin de esta funcin puede

verse en la figura 14, la que representa la funcin de transferencia Hardlims que

restringe el espacio de salida a valores entre 1 y 1.

(2.13)

Figura 14. Funciones de transferencia bipolar

51
2.6.4.2 FUNCIN DE TRANSFERENCIA LINEAL (PURELIN)
La salida de una funcin de transferencia lineal es igual a su entrada,

(2.14)

Figura 15. Funciones de transferencia lineal

En la grfica del lado derecho puede verse la caracterstica de la salida a

de la red, comparada con la entrada p, ms un valor de ganancia b, neuronas

que emplean esta funcin de transferencia son utilizadas en la red tipo Adaline.

2.6.4.3 FUNCIN DE TRANSFERENCIA SIGMOIDAL (LOGSIG)


Esta funcin toma los valores de entrada, los cuales pueden oscilar entre ms y

menos infinito, y restringe la salida a valores entre cero y uno, de acuerdo a la

expresin

(2.15)

52
Figura 16. Funciones de transferencia sigmoidal

Esta funcin es comnmente usada en redes multicapa, como la

Backpropagation, en parte porque la funcin logsig es diferenciable.

En La figura 17 se hace una relacin de las principales funciones de

transferencia empleadas en el entrenamiento de redes neuronales.

53
Figura 17. Funciones de transferencia

2.6.5 PERCEPTRN

Un perceptrn se refiere a una neurona artificial y tambin como a la

unidad bsica de inferencia en forma de discriminador lineal, que suele formar

parte de una red neuronal artificial.

Un perceptrn puede clasificar datos que sean linealmente separables. En

el caso de un perceptrn con dos entradas deber poder trazarse una nica

lnea que separe las dos clases que permite identificar el perceptrn.

54
2.6.6 RED BACKPROPAGATION

BackPropagation (Propagacin del error hacia atrs) es un modelo de

Red Neuronal Artificial en el cul, la red aprende la relacin que existe entre los

patrones de entrada y las salidas correspondientes, es una red con aprendizaje

supervisado.

Primero se obtienen los patrones con los cuales la red va aprender,

despus se entrena la red con los patrones obtenidos hasta que el porcentaje de

aciertos sea alto, finalmente se prueba la red.

Bsicamente, la red consiste de un conjunto de unidades sensoriales que

constituyen la capa de entrada, una o ms capas intermedias u ocultas y una

capa de salida de nodos computacionales. La seal de entrada se propaga hacia

el frente a travs de la red, capa por capa.

Figura 18. Red Multicapa.

La capa de entrada se utiliza para recibir los datos de entrada de la red.

Esta capa, por consiguiente, no efecta ningn tipo de procesamiento sirviendo

apenas para recibir y almacenar el vector de entrada, o sea, el patrn a ser

clasificado. El nmero de neuronas de esa capa puede ser fcilmente obtenido

del nmero de componentes del vector de entrada.

55
La capa de salida tiene la funcin de colectar y almacenar las respuestas

de la red al patrn insertado en la entrada. Tambin posee una estructura

relativamente simple, siendo compuesta de tantas neuronas como clases se

identifiquen en el problema.

Entre la capa de entrada y la de salida se puede tener una o mas capas

ocultas, llamadas as por no poseer ninguna comunicacin directa con los datos

trabajados. La principal funcin de estas capas es proporcionar complejidad y

no-linealidad a la red.

La Backpropagation es un tipo de red de aprendizaje supervisado, que

emplea un ciclo propagacin adaptacin de dos fases. Una vez que se ha

aplicado un patrn a la entrada de la red como estmulo, este se propaga desde

la primera capa a travs de las capas superiores de la red, hasta generar una

salida. La seal de salida se compara con la salida deseada y se calcula una

seal de error para cada una de las salidas.

Las salidas de error se propagan hacia atrs, partiendo de la capa de

salida, hacia todas las neuronas de la capa oculta que contribuyen directamente

a la salida. Sin embargo las neuronas de la capa oculta solo reciben una fraccin

de la seal total del error, basndose aproximadamente en la contribucin

relativa que haya aportado cada neurona a la salida original. Este proceso se

repite, capa por capa, hasta que todas las neuronas de la red hayan recibido una

seal de error que describa su contribucin relativa al error total. Basndose en

la seal de error percibida, se actualizan los pesos de conexin de cada

neurona, para hacer que la red converja hacia un estado que permita clasificar

correctamente todos los patrones de entrenamiento.

La importancia de este proceso consiste en que, a medida que se entrena

la red, las neuronas de las capas intermedias se organizan a s mismas de tal

56
modo que las distintas neuronas aprenden a reconocer distintas caractersticas

del espacio total de entrada. Despus del entrenamiento, cuando se les presente

un patrn arbitrario de entrada que contenga ruido o que est incompleto, las

neuronas de la capa oculta de la red respondern con una salida activa si la

nueva entrada contiene un patrn que se asemeje a aquella caracterstica que

las neuronas individuales hayan aprendido a reconocer durante su

entrenamiento. Y a la inversa, las unidades de las capas ocultas tienen una

tendencia a inhibir su salida si el patrn de entrada no contiene la caracterstica

para reconocer, para la cual han sido entrenadas. Varias investigaciones han

demostrado que, durante el proceso de entrenamiento, la red Backpropagation

tiende a desarrollar relaciones internas entre neuronas con el fin de organizar los

datos de entrenamiento en clases. Esta tendencia se puede extrapolar, para

llegar a la hiptesis consistente en que todas las unidades de la capa oculta de

una Backpropagation son asociadas de alguna manera a caractersticas

especficas del patrn de entrada como consecuencia del entrenamiento. Lo que

sea o no exactamente la asociacin puede no resultar evidente para el

observador humano, lo importante es que la red ha encontrado una

representacin interna que le permite generar las salidas deseadas cuando se le

dan las entradas, en el proceso de entrenamiento.

Esta misma representacin interna se puede aplicar a entradas que la red

no haya visto antes, y la red clasificar estas entradas segn las caractersticas

que compartan con los ejemplos de entrenamiento.

2.6.6.1 ESTRUCTURA DE LA RED


La estructura tpica de una red multicapa se observa en la siguiente

figura:

57
Figura 19. Estructura de una Red Multicapa

Puede notarse que esta red de tres capas equivale a tener tres redes tipo

Perceptrn en cascada; la salida de la primera red, es la entrada a la segunda y

la salida de la segunda red es la entrada a la tercera. Cada capa puede tener

diferente nmero de neuronas, e incluso distinta funcin de transferencia.

En la figura 19, W1 representa la matriz de pesos para la primera capa, W2 los

pesos de la segunda y as similarmente para todas las capas que incluya una

red. Para identificar la estructura de una red multicapa, se emplear una

notacin abreviada, donde el nmero de entradas va seguido del nmero de

neuronas en cada capa: R : S1 : S2 : S3 , donde S representa el nmero de

neuronas y el exponente representa la capa a la cual la neurona corresponde.

La notacin de la figura anterior es bastante clara cuando se desea

conocer la estructura detallada de la red, e identificar cada una de las

conexiones, pero cuando la red es muy grande, el proceso de conexin se torna

muy complejo y es bastante til utilizar el esquema de la figura 20:

58
Figura 20. Red Neuronal con 3 Capas

2.6.6.2 REGLA DE APRENDIZAJE


El algoritmo Backpropagation para redes multicapa es una generalizacin

del algoritmo LMS, ambos algoritmos realizan su labor de actualizacin de pesos

y ganancias con base en el error medio cuadrtico. La red Backpropagation

trabaja bajo aprendizaje supervisado y por tanto necesita un set de

entrenamiento que le describa cada salida y su valor de salida esperado de la

siguiente forma:

{p1,t1}, {p2,t2}, . . . ,{pQ, tQ} (2.16)

Donde pQ es una entrada a la red y tQ es la correspondiente salida

deseada para el patrn q-simo. El algoritmo debe ajustar los parmetros de la

red para minimizar el error cuadrtico medio. El entrenamiento de una red

neuronal multicapa se realiza mediante un proceso de aprendizaje, para realizar

este proceso se debe inicialmente tener definida la topologa de la red, esto es:

nmero de neuronas en la capa de entrada el cual depende del nmero de

componentes del vector de entrada, cantidad de capas ocultas y nmero de

neuronas de cada una de ellas, nmero de neuronas en la capa de la salida el


59
cual depende del nmero de componentes del vector de salida o patrones

objetivo y funciones de transferencia requeridas en cada capa, con base en la

topologa escogida se asignan valores iniciales a cada uno de los parmetros

que conforma la red. Es importante recalcar que no existe una tcnica para

determinar el nmero de capas ocultas, ni el nmero de neuronas que debe

contener cada una de ellas para un problema especifico, esta eleccin es

determinada por la experiencia del diseador, el cual debe cumplir con las

limitaciones de tipo computacional. Cada patrn de entrenamiento se propaga a

travs de la red y sus parmetros para producir una respuesta en la capa de

salida, la cual se compara con los patrones objetivo o salidas deseadas para

calcular el error en el aprendizaje, este error marca el camino mas adecuado

para la actualizacin de los pesos y ganancias que al final del entrenamiento

producirn una respuesta satisfactoria a todos los patrones de entrenamiento,

esto se logra minimizando el error cuadrtico medio en cada iteracin del

proceso de aprendizaje.

La deduccin matemtica de este procedimiento se realizar para una

red con una capa de entrada, una capa oculta y una capa de salida y luego se

generalizar para redes que tengan ms de una capa oculta.

60
Figura 21. Representacin de una RNA.

Es importante aclarar que en la figura 21:

q: Equivale al nmero de componentes el vector de entrada.

M: Nmero de neuronas de la capa oculta.

L: Nmero de neuronas de la capa de salida.

Para iniciar el entrenamiento se le presenta a la red un patrn de entrenamiento,

el cual tiene q componentes como se describe en la ecuacin (2.17).

(2.17)

Cuando se le presenta a la red un patrn de entrenamiento, este se

propaga a travs de las conexiones existentes produciendo una entrada neta n


61
en cada una las neuronas de la siguiente capa, la entrada neta a la neurona j de

la siguiente capa debido a la presencia de un patrn de entrenamiento en la

entrada esta dada por la ecuacin (2.18), ntese que la entrada neta es el valor

justo antes de pasar por la funcin de transferencia:

(2.18)

Wo ji: Peso que une la componente i de la entrada con la neurona j de la capa

oculta.

Pi: Componente i del vector p que contiene el patrn de entrenamiento de q

componentes.

Bo j: Ganancia de la neurona j de la capa oculta.

Donde el superndice (o) representa la capa a la que pertenece cada parmetro,

es este caso la capa oculta.

Cada una de las neuronas de la capa oculta tiene como salida ao j, dada por la

ecuacin (2.19):

(2.19)

fo: Funcin de transferencia de las neuronas de la capa oculta.

Las salidas ao j de las neuronas de la capa oculta (de m componentes) son las

entradas a los pesos de conexin de la capa de salida, este comportamiento

esta descrito por la ecuacin (2.20):

62
(2.20)

ws kj: Peso que une la neurona j de la capa oculta con la neurona k de la capa de

salida, la cual cuenta con s neuronas.

Ao j: Salida de la neurona j de la capa oculta, la cual cuenta con m neuronas.

Bs k : Ganancia de la neurona k de la capa de salida.

Ns k: Entrada neta a la neurona k de la capa de salida.

La red produce una salida final descrita por la ecuacin (2.21):

(2.21)

f s: Funcin de transferencia de las neuronas de la capa de salida.

Reemplazando (2.20) en (2.21) se obtiene la salida de la red en funcin

de la entrada neta y de los pesos de conexin con la ltima capa oculta:

(2.22)

La salida de la red de cada neurona as k se compara con la salida deseada tk para

calcular el error en cada unidad de salida (2.23):

(2.23)

El error debido a cada patrn p propagado esta dado por (2.24):


63
(2.24)

ep2: Error cuadrtico medio para cada patrn de entrada p.

k: Error en la neurona k de la capa de salida con l neuronas.

Este proceso se repite para el nmero total de patrones de entrenamiento, para

un proceso de aprendizaje exitoso el objetivo del algoritmo es actualizar todos

los pesos y ganancias de la red minimizando el error cuadrtico medio total

descrito en (2.25):

(2.25)

e2: Error total en el proceso de aprendizaje en una iteracin luego de haber

presentado a la red los r patrones de entrenamiento.

El error que genera una red neuronal en funcin de sus pesos, genera un

espacio de n dimensiones, donde n es el nmero de pesos de conexin de la

red, al evaluar el gradiente del error en un punto de esta superficie se obtendr

la direccin en la cual la funcin del error tendr un mayor crecimiento, como el

objetivo del proceso de aprendizaje es minimizar el error debe tomarse la

direccin negativa del gradiente para obtener el mayor decremento del error y de

esta forma su minimizacin, condicin requerida para realizar la actualizacin de

la matriz de pesos en el algoritmo Backpropagation:

(2.26)

64
El gradiente negativo de ep2 se denotara como y se calcula como la

derivada del error respecto a todos los pesos de la red.

En la capa de salida el gradiente negativo del error con respecto a los pesos es:

(2.27)

Componente del gradiente respecto al peso de la conexin de la

neurona k de la capa de salida y la neurona j de la capa oculta Ws kj.

: Derivada de la salida de la neurona k de la capa de salida respecto, al peso Ws kj.

Para calcular se debe utilizar la regla de la cadena, pues el error no es una

funcin explcita de los pesos de la red, de la ecuacin (2.20) puede verse que la

salida de la red ask esta explcitamente en funcin de ns k y de la ecuacin (2.21)

puede verse que nsk esta explcitamente en funcin de Wskj, considerando esto se

genera la ecuacin (2.28):

(2.28)

Tomando la ecuacin (2.28) y reemplazndola en la ecuacin (2.27) se obtiene:

65
(2.29)

: Derivada de la entrada neta a la neurona k de la capa de salida respecto a

los pesos de la conexin entre las neuronas de la capa oculta y la capa de

salida.

: Derivada de la salida de la neurona k de la capa de salida respecto a su

entrada neta.

Reemplazando en la ecuacin (2.29) las derivadas de las ecuaciones (2.20) y

(2.21) se obtiene:

(2.30)

Como se observa en la ecuacin (2.30) las funciones de transferencia

utilizadas en este tipo de red deben ser continuas para que su derivada exista en

todo el intervalo, ya que el trmino fs(ns k ) es requerido para el clculo del error.

Las funciones de transferencia f ms utilizadas y sus respectivas derivadas son

las siguientes:

logsig:

(2.31)

66
tansig:

(2.32)

purelin:

(2.33)

De la ecuacin (2.30), los trminos del error para las neuronas de la capa de

salida estn dados por la ecuacin (2.34), la cual se le denomina comnmente

sensitividad de la capa de salida.

(2.34)

Este algoritmo se denomina Backpropagation o de propagacin inversa

debido a que el error se propaga de manera inversa al funcionamiento normal de

la red, de esta forma, el algoritmo encuentra el error en el proceso de

aprendizaje desde las capas ms internas hasta llegar a la entrada; con base en

el clculo de este error se actualizan los pesos y ganancias de cada capa.

Despus de conocer (2.34) se procede a encontrar el error en la capa oculta el

cual esta dado por:

(2.35)

67
Para calcular el ltimo trmino de la ecuacin (2.35) se debe aplicar la

regla de la cadena en varias ocasiones como se observa en la ecuacin (2.36)

puesto que la salida de la red no es una funcin explcita de los pesos de la

conexin entre la capa de entrada y la capa oculta:

(2.36)

Todos los trminos de la ecuacin (2.36) son derivados respecto a variables de

las que dependan explcitamente, reemplazando (2.36) en (2.35) tenemos:

(2.37)

Tomando las derivas de las ecuaciones (2.21) (2.22) (2.23) (2.24) y

reemplazndolas en la ecuacin (2.37) se obtiene la expresin del gradiente del

error en la capa oculta:

(2.38)

Reemplazando la ecuacin (2.30) en la ecuacin (2.38) se tiene:

68
(2.39)

Los trminos del error para cada neurona de la capa oculta esta dado por la

ecuacin (2.39), este trmino tambin se denomina sensitividad de la capa

oculta:

(2.40)

Luego de encontrar el valor del gradiente del error se procede a actualizar los

pesos de todas las capas empezando por la de salida, para la capa de salida la

actualizacin de pesos y ganancias esta dada por (2.41) y (2.42).

(2.41)

(2.42)

: tasa (o velocidad) de aprendizaje que vara entre 0 y 1 dependiendo de las

caractersticas del problema a solucionar.

Luego de actualizar los pesos y ganancias de la capa de salida se procede a

actualizar los pesos y ganancias de la capa oculta mediante las ecuaciones

(2.43) y (2.44):

(2.43)

69
(2.44)

Esta deduccin fue realizada para una red de tres capas, si se requiere

realizar el anlisis para una red con dos o ms capas ocultas, las expresiones

pueden derivarse de la ecuacin (2.40) donde los trminos que se encuentran

dentro de la sumatoria pertenecen a la capa inmediatamente superior.

Como se ve el algoritmo Backpropagation utiliza la misma tcnica de

aproximacin en pasos descendientes que emplea el algoritmo LMS, la nica

complicacin est en el clculo del gradiente, el cual es un trmino indispensable

para realizar la propagacin de la sensitividad.

En las tcnicas de gradiente descendiente es conveniente avanzar por la

superficie de error con incrementos pequeos de los pesos; esto se debe a que

tenemos una informacin local de la superficie y no se sabe lo lejos o lo cerca

que se est del punto mnimo, con incrementos grandes, se corre el riesgo de

pasar por encima del punto mnimo, con incrementos pequeos, aunque se tarde

ms en llegar, se evita que esto ocurra. El elegir un incremento adecuado influye

en la velocidad de convergencia del algoritmo, esta velocidad se controla a

travs de la tasa de aprendizaje , la que por lo general se escoge como un

nmero pequeo (0.05 a 0.25), para asegurar que la red encuentre una solucin.

Un valor pequeo de significa que la red tendr que hacer un gran nmero de

iteraciones, si se toma un valor muy grande, los cambios en los pesos sern muy

grandes, avanzando muy rpidamente por la superficie de error, con el riesgo de

saltar el valor mnimo del error y estar oscilando alrededor de l, pero sin poder

alcanzarlo. Es recomendable aumentar el valor de a medida que disminuye el

70
error de la red durante la fase de entrenamiento, para garantizar as una rpida

convergencia, teniendo la precaucin de no tomar valores demasiado grandes

que hagan que la red oscile alejndose demasiado del valor mnimo. Algo

importante que debe tenerse en cuenta, es la posibilidad de convergencia hacia

alguno de los mnimos locales que pueden existir en la superficie del error del

espacio de pesos como se ve en la figura 22.

Figura 22. Superficie del Error

En el desarrollo matemtico que se ha realizado para llegar al algoritmo

Backpropagation, no se asegura en ningn momento que el mnimo que se

encuentre sea global, una vez la red se asiente en un mnimo sea local o global

cesa el aprendizaje, aunque el error siga siendo alto. En todo caso, si la solucin

es admisible desde el punto de vista del error, no importa si el mnimo es local o

global o si se ha detenido en algn momento previo a alcanzar un verdadero

mnimo.

Otra forma de incrementar la velocidad de convergencia consiste en

utilizar una tcnica llamada momento. Este trmino adicional tiende a mantener

71
los cambios de peso en la misma direccin. Las ecuaciones de cambio de pesos

pasan entonces a ser:

(2.45)

para la capa de salida.

(2.46)

para la capa oculta.

Siendo el parmetro de momento, el cual toma valores positivos

menores a 1 y determina el efecto en t+1 del cambio de los pesos en el instante

t. Con este momento se consigue la convergencia de la red en menor nmero de

iteraciones, ya que si en t el incremento de un peso era positivo y en t+1

tambin, entonces el descenso por la superficie de error en t+1 es mayor. Sin

embargo, en t el incremento era positivo y en t+1 es negativo, el paso que se da

en t+1 es ms pequeo, lo cual es adecuado, ya que eso significa que se ha

pasado por un mnimo y los pasos deben ser menores para poder alcanzarlo.

Resumiendo, los pasos para el entrenamiento de la red Backpropagation son:

1) Se inicializa la matriz de pesos y el valor de la ganancia, por lo general se

asignan valores aleatorios pequeos a cada uno de los pesos wi y al valor b. El

valor de bias b puede tomarse como el valor de un peso adicional w0 asociado

con una entrada adicional siempre en 1.

2) Se aplica un vector o patrn de entrada pk en las entradas de la red, y se

especifica la salida deseada tk .

72
3) Se calcula las salidas actuales de la red con las ecuaciones (2.18), (2.19),

(2.20) y (2.21).

4) Se calculan los trminos error para todas las neuronas, empezando con las de

la capa de salida y siguiendo con las de la capa oculta, mediante las ecuaciones

(2.24) y (2.25).

5) Se actualizan los pesos de las neuronas de la capa de salida y las de la capa

oculta, mediante las ecuaciones (2.38), (2.39), (2.40) y (2.41). Opcional: se

puede aadir un trmino momento.

6) El proceso se repite a partir del punto 2) hasta que el trmino error expresado

mediante la ec.(2.24) resulta aceptablemente pequeo para cada uno de los

patrones aprendidos.

73
III. METODOLOGA EMPLEADA

Para el desarrollo de esta tesis, se adopt la siguiente metodologa:

Acondicionar el proceso, es decir, donde se van a capturar las imgenes

con una cmara webcam, para reunir una gran base de datos de imgenes que

contengan el rostro de una persona. Como sistema digital para el procesamiento

digital de las imgenes se utilizar una Computadora personal Pentium IV con

requerimientos mnimos que se detallan mas adelante, y en la pantalla de la

misma se presentarn los resultados. La figura N 23 muestra el diagrama de

bloques en que consistir el sistema implementado. Cada bloque tiene su

metodologa propia que se ir desarrollando a continuacin.

PROCESO Y
SISTEMA DIGITAL DE
ACONDICIONAMIENTO: CAPTURA DE PROCESAMIENTO:
IMAGEN DE IMAGEN: COMPUTADORA
PERSONA WEBCAM PERSONAL

PRESENTACIN DE
RESULTADOS:
PERSONA
IDENTIFICADA

Figura 23. Diagrama de bloques para la implementacin del sistema de Reconocimiento


de rostros

74
3.1 PROCESO Y ACONDICIONAMIENTO: IMAGEN DE PERSONA
En procesamiento digital de imgenes, para un mismo proceso pueden

haber diferentes soluciones. No es lo mismo procesar una escena de da que de

noche, ni tampoco es lo mismo procesar en este caso un rostro con fondo blanco

que con fondo donde hallan diferentes objetos. Esto hace que los algoritmos

sean ms o menos complejos y adems aumenta el clculo de procesamiento

por lo tanto el tiempo de procesamiento. Acondicionar la escena puede ayudar a

obviar los algoritmos o disminuir la complejidad de stos y como en imgenes se

maneja gran cantidad de datos es posible aumentar la velocidad de

procesamiento.

Entonces se hace necesario trabajar con un sistema de luces para

independizar el da de la noche, ya que el sistema debe funcionar las 24 horas

del da. Las luces sern los 6 leds de la misma webcam. Cada led produce luz

blanca y es suficiente para nuestro acondicionamiento. Se completa esta etapa

con aislamiento de la luz ambiental.

Adems la imagen de la escena se capturar a una distancia entre 30cm.

y 50 cm. con la webcam con la finalidad de tener tamaos normalizados ya que a

mayor distancia, el tamao del rostro es mas pequea y a menor distancia, el

rostro aumenta de tamao. Si esto pasara, aumentara el tamao de la base de

datos de imgenes de cada persona.

El sistema est hecho para segmentar el rostro de una sola persona, hay

sistemas que segmentan varios rostros de una escena, pero el objetivo de

nuestro sistema es reconocer solamente una persona, por lo tanto frente a la

cmara debe haber una sola persona.

75
3.2 CAPTURA DE IMAGEN: WEBCAM
La cmara se escogi por su mejores caractersticas que se mencionan

dentro de las webcam y por que tiene incorporado los 6 leds de iluminacin

(figura 24). Debido a que tiene cable USB, la conexin es ms fcil y no se

necesita tarjeta digitalizadora de video.

Algunas de sus caractersticas ms destacables son:

Sensor CCD de alta sensibilidad

Resolucin de video VGA de 640x480, sin parpadeo

30 imgenes/segundo

USB

24 bits color

Micrfono integrado

Marca: Deluxe

Figura 24. Webcam seleccionada

76
3.3 SISTEMA DIGITAL DE PROCESAMIENTO: COMPUTADORA
PERSONAL
El sistema digital que se emplea para todo el procesamiento es una

computadora personal con requerimientos mnimos, como son:

PC Pentium IV

Memoria RAM 256 MB

Disco duro de 10 GB

Puerto USB

Lectora de CD

Sistema Operativo: Windows XP

La metodologa empleada en la computadora son las etapas siguientes que se

detallan en los diagramas de bloques de la figura n 25.

77
IMAGEN
CAPTURADA

UBICACIN Y
SEGMENTACIN
DEL ROSTRO DE
UNA PERSONA

MEJORAMIENTO
DE IMAGEN
DEL ROSTRO

EXTRACCIN DE
CARACTERSTICA
O PATRON DEL
ROSTRO

RECONOCIMIENTO ENTRENAMIENTO
DEL PATRON DE PATRONES

PERSONA
IDENTIFICADA

Figura 25. Metodologa empleada en el procesamiento

El lenguaje de programacin que se utiliza para desarrollar el sistema es

Visual Basic 6.0. Una herramienta de ayuda para analizar las imgenes es el

78
software Matlab versin 7. La razn de emplear visual Basic 6.0, es que su

entorno es amigable y flexible.

Otro objeto necesario para el desarrollo del trabajo son las APIs

(Applications Programming Interface) de Windows, ya que necesitamos llamar a

las libreras dinmicas de Windows (dlls), que son donde se encuentran la

funciones del entorno Windows y esta herramienta es la que nos proporciona el

acceso a dichas libreras.

Las APIs nos sirven como complemento de Visual Basic, ya que este

lenguaje de programacin no nos ofrece las mismas posibilidades que las APIs,

una de ellas es que podemos crear nuestros propios objetos cuando los

estndar no nos proporcionan las funciones deseadas, crear grficos, sonidos,

nos permiten manipular la cmara webcam y las imgenes adquiridas, etc.

3.4 IMAGEN CAPTURADA


En primer lugar tenemos que construir una ventana donde podamos

visualizar la imagen que capturamos. Esta ventana nos servir de referencia

para todo el programa, ya que todas las dems funciones que utilicemos para la

captura irn referenciadas a esta ventana de captura mediante un handle.

Una vez que ya tenemos la ventana de captura creada, tenemos que

conectarla a la cmara con la que vamos a realizar la captura. Esto lo

realizamos mediante la conexin a los propios drivers de la cmara.

Antes de ejecutar la captura de imagen, podemos configurar los

parmetros de la captura. Los frames por segundo que queremos capturar y

otros parmetros que necesitemos cambiar su configuracin por defecto.

La captura de imagen la realizamos de forma que capture video y lo guarde en el

buffer de video, as despus podamos extraer esa informacin del buffer para el

79
anlisis de la imagen. Las imgenes capturadas con la webcam tienen un

tamao de 240 x 320, es decir 240 filas por 320 columnas.

Figura 26. Escena capturada con la webcam

Como podemos apreciar en la escena, adems de la persona hay

imgenes de fondo que para nuestro objetivo no nos interesa. La siguiente etapa

la ayudaramos si el fondo fuese blanco.

Adems la imagen es en color, es decir RGB, tiene 3 componentes que

son, el rojo (R), verde (G) y azul (B), cada una de ellas es una matriz de 240 x

320. Como no vamos a segmentar por el color de la piel, no nos interesa trabajar

con las 3 componentes, as que slo utilizaremos una de ellas, la que representa

mejor el tono del color de la piel y es la componente roja. As reducimos de 3

matrices (240 x 320 x 3 = 230,400 elementos) a una sola matriz e implica

trabajar en escala de grises (240 x 320 x 1 = 76,800 elementos), menos pxeles

que procesar, menos tiempo de procesamiento.

Los problemas que se presentan durante el proceso de reconocimiento

del rostro son:

Distorsin y/o ruido captado por el sensor


80
Fondo complejo

Inapropiada iluminacin

Expresin facial

Maquillaje y peinado

Cirugas aplicadas (Base de Datos no actualizada)

3.5 UBICACIN Y SEGMENTACIN DEL ROSTRO DE UNA PERSONA


Una categora de especial relevancia son los denominados subespacios

lineales, obtenidos a travs de transformaciones lineales sobre las imgenes, es

decir, aquellas operaciones en las que cada valor de salida es una combinacin

lineal de todos los pxeles de la entrada. La tcnica que utilizaremos para ubicar

y segmentar el rostro se llama Integrales Proyectivas o simplemente

Proyecciones, donde cada valor de salida es la media aritmtica de una fila o

columna de pxeles de la entrada. Con sta tcnica no necesitamos pre procesar

la imagen, se trabaja con la imagen pura, lo que es una gran ventaja.

El promediado de los valores de gris de una regin se puede hacer a lo

largo de cierta direccin, pero bsicamente tenemos las proyecciones

horizontales y verticales. La definicin est dada por la siguiente frmula:

m( x, y)
y
PV ( y) (3.1)
n

Donde:

PV(y) : Proyeccin Vertical

m(x,y) : pxeles de la imagen


81
n : nmero de pxeles en una direccin

De todo el ancho de la imagen, la recorremos en ventanas de 220 x 60

con traslape de 10 pxeles, con el siguiente algoritmo:

For jj = j To j + alto_OJOS

k=k+1

For ii = i To i + ancho_OJOS

Pv(k) = Pv(k) + Ar(jj, ii)

Next ii

Pv(k) = (Pv(k) / ancho_OJOS)

Next jj

Para buscar la siguiente proyeccin:

Figura 27. Proyeccin que se busca para localizar la cabeza de una persona

La proyeccin de la figura 27 pertenece a la regin que se seala de azul en la

siguiente imagen (Figura 28).

82
Figura 28. Regin de la imagen de la proyeccin figura 27.

El primer hecho notable es que cuando proyectamos regiones verticales

en la imagen aparecen claramente destacados elementos de inters como el

comienzo de la cabeza de cualquier persona y los elementos faciales como se

observan en la figura 29. Se puede observar que el pico ms alto de la grafica

que representa la proyeccin pertenece al inicio de la cabeza de cualquier

persona. Esta es la caracterstica principal de todas las imgenes que contienen

una cabeza de una persona y es nuestro indicador que tomamos para localizar

el rostro.

La ventana que recorre toda la imagen a lo ancho es de 220 x 60 pxeles,

Se ha escogido 220 pxeles de alto para no tomar los bordes superior e inferior

de la imagen y 60 pxeles de ancho, porque es ms o menos el ancho del rostro

que se est considerando para el trabajo de investigacin. Este ancho depende

de la distancia de la persona con respecto a la cmara, que es de 50 cm.

aproximadamente.

83
Figura 29. Proyeccin de la posicin del rostro y elementos faciales

Como hacemos un recorrido por ventanas a lo ancho de la imagen en la

figura N 30 observamos las ventanas sucesivas donde hay presencia de la

cabeza de una persona.

Figura 30. Ventanas sucesivas marcadas por la presencia de la cabeza de una persona

84
En la figura N 31 observamos las proyecciones de las ventanas

sucesivas de la imagen anterior. Se puede ver que las grficas son muy

parecidas y debe ser as ya que hay presencia de una persona.

Figura 31. Proyecciones de las regiones sucesivas de la figura anterior.

De las ventanas o regiones superpuestas en el paso anterior clasificamos

una por su ms alto valor en el primer pico y le llamamos ventana ganadora. Si

hemos logrado obtener sta ventana, entonces tenemos sus coordenadas

aproximadas donde est ubicada la persona. El algoritmo utilizado es el

siguiente:

For k = 21 To alto_OJOS 120

If (Pv(k) Pv(k 20)) > 35 And (Pv(k) Pv(k + 20)) > 35 Then

Picture1.Circle (Pv(k), j + k), 5, RGB(0, 255, 255)

max1Boo = True

k11 = k

End If
85
Next k

En sta misma grfica de la figura N 29, tambin observamos el

segundo pico mayor que pertenece a los ojos. Obtener ste pico significa

obtener verticalmente donde estn los ojos. Hasta aqu ya tenemos las

coordenadas en el eje Y de los ojos. Para obtener completamente la regin de

los ojos necesitamos hallar el punto medio entre ellos. Para eso obtenemos la

proyeccin horizontal de los 60 pxeles debajo del primer punto mximo, o sea,

debajo del inicio de la cabeza, y es la proyeccin que se presenta en la figura N

32.

Figura 32. Proyeccin vertical de la regin de los ojos.

Como sta proyeccin est almacenada en un vector, hallamos

nuevamente el valor ms bajo, que corresponde al entrecejo. Obteniendo ste

punto, podemos decir que hemos hallado las coordenadas de los ojos en el eje

X, como se muestra en la figura N 33.

86
Figura 33. Regin obtenida de los ojos

Tomando como base las coordenadas de la regin de los ojos hallamos

la regin de la cara que es de 101 pxeles de alto, por 88 pxeles de ancho. Esta

regin es de tamao fijo, as normalizamos y trabajamos con un tamao fijo.

Figura 34. Ubicacin del rostro

87
Ahora, de toda la imagen como se muestra en la figura n 34, nos

interesa trabajar solamente con la regin del rostro, para eso, segmentamos y

obtenemos la figura n 35.

Figura 35. Segmentacin del rostro

Hasta aqu la parte de localizacin del rostro que implica trabajar con

procesamiento digital de imgenes, funciona, pero como podemos observar la

iluminacin es un factor importante para las etapas siguientes de

reconocimiento. Para hacer ste anlisis utilizamos el software Matlab y con el

siguiente cdigo generado en Visual Basic podemos representar las grficas

siguientes.

MatLab.hacer [x,y]=meshgrid(1:88,1:101)

MatLab.EnviarMatriz z, arM

MatLab.hacer surf(x,y,z)

Figura 36. Representacin en matlab del rostro segmentado

88
En la figura n 36, podemos observar la matriz del rostro segmentado, en

una vista de frente. La imagen est en escala de grises, pero en Matlab

podemos representar sta imagen en 3 dimensiones. As podemos ver que

pxeles con demasiada iluminacin o cercanos al blanco (valor 255) se

representan con colores cercanos al rojo y pxeles oscuros o cercanos al negro

(valor 0) se representan con colores cercanos al azul.

Figura 37. Vista en perspectiva del rostro segmentado

Para tener xito en las siguientes etapas, necesitamos que haya

uniformidad en la toma de la imagen y como vemos en la figura n 37 no lo hay,

debido a que durante la captura no se tiene en cuenta la luz natural y artificial

que incide y se refleja. El problema lo solucionamos aislando el proceso con una

caja, forrada de color negro en la parte interna, para que no incida y se refleje la

89
luz ambiental cuando es de da, por lo tanto, independizamos el sistema del da

y de la noche. Los algoritmos son los mismos, no se modifica nada.

A continuacin se muestra los mismos pasos anteriores pero con la caja,

aislando el proceso.

Figura 38. Imagen tomada de noche

Figura 39. Imagen tomada de da

90
Se puede apreciar que la incidencia de la luz es uniforme, por los costados del

rostro. Esta uniformidad se ver grficamente mas adelante.

3.6 RESULTADO DE LAS IMGENES TOMADAS DE NOCHE

Figura 40. Regiones sucesivas donde se encuentra la cabeza.

Figura 41. Proyecciones de las regiones sucesivas de la figura anterior.

91
Se puede observar que por la presencia de la caja, los algoritmos siguen

funcionando.

Figura 42. Regin o ventana ganadora

Figura 43. Ubicacin regin de los ojos

92
Figura 44. Ubicacin del rostro

Figura 45. Segmentacin del rostro

Figura 46. Representacin en matlab

93
Figura 47. Vista de perfil del rostro en matlab

En la imagen capturada de noche, se puede observar la uniformidad de la

difuminacin de la luz.

94
3.7 RESULTADO DE LAS IMGENES TOMADAS DE DA

Figura 48. Regiones sucesivas donde se encuentra la cabeza.

Figura 49. Proyecciones de las regiones sucesivas de la figura anterior.

95
Figura 50. Regin o ventana ganadora

Figura 51. Ubicacin regin de los ojos

96
Figura 52. Ubicacin del rostro

Figura 53. Segmentacin del rostro

Figura 54. Representacin en matlab

97
Figura 55. Vista de perfil del rostro en matlab

En la imagen capturada de da, tambin se puede observar la uniformidad

de la difuminacin de la luz natural, es decir, el sistema se encuentra aislado.

Esta uniformidad de la luz, es muy importante para obtener buenos

resultados en la siguiente etapa, ya que hay que extraer las caractersticas del

rostro y se espera que sean los mismos para un mismo rostro y diferentes para

distintas personas.

3.8 MEJORAMIENTO DE IMAGEN DEL ROSTRO


Para mejorar aun ms la imagen del rostro y tenga la misma intensidad,

obtenemos su histograma con el siguiente algoritmo:

98
For j = 1 To Fil Filas

For i = 1 To col Columnas

HR(arM(j, i)) = HR(arM(j, i)) + 1

Next

Next

Para que todas las imgenes segmentadas tengan la misma intensidad,

obtenemos la media del histograma. Como referencia trabajamos con una media

de 129, si es mayor se resta y si es menor se suma, con el objetivo de tener el

valor fijo (129). El algoritmo que se emplea es el siguiente:

For j = 1 To Fil

For i = 1 To col

acum = acum + arM(j, i)

Next

Next

Diferencia = 129 acum / (Fil * col)

For j = 1 To Fil

For i = 1 To col

arNorm(j, i) = arM(j, i) + Diferencia

Next

Next

99
Figura 56. Histograma con media 144 de la imagen segmentada obtenida en la noche

Figura 57. Histograma corregido con media 129 de la imagen segmentada obtenida en la
noche

Figura 58. Histograma con media 139 de la imagen segmentada obtenida de da

Figura 59. Histograma corregido con media 129 de la imagen segmentada obtenida de
da

100
3.9 EXTRACCIN DE CARACTERSTICAS O PATRN DEL ROSTRO
Para la etapa siguiente que es el entrenamiento de la red neuronal se

necesita saber que informacin darle como patrones que me representen el

rostro. Se podran pasar los valores de los pxeles del rostro segmentado, pero

eso significan 88 x 101 elementos (8,888 elementos) que es demasiada

informacin y se volvera lenta la aplicacin. Adems pasar la imagen no sera

una buena alternativa, porque los pxeles varan sus valores durante la

adquisicin y est sujeta a pequeos cambios de posicin. Lo que se busca es

encontrar un vector de caractersticas que represente de la mejor manera posible

al patrn original. Como las proyecciones tienen informacin de una determinada

imagen, trabajamos con stas para extraer una representacin del rostro, como

se muestra en las figuras 60, 61, 62 y 63.

Para que las seales resultantes tomen los valores entre 0 y 1 en algn

punto (normalizacin), podemos aplicar la transformacin:

S (i ) min( s )
normalmin max S (i ) (3.2)
max(s ) min( s )

Donde:

min( s ) min{s (i )} (3.3)

max(s ) max{s (i)} (3.4)

3.9.1 Justificacin del uso de proyecciones


Existen varias evidencias que dan sentido a la utilizacin de proyecciones en el

reconocimiento de personas. Desde un punto de vista biolgico, son muchos los

parmetros que intervienen en la identificacin visual de un individuo: la

situacin relativa de los elementos faciales, como las distancias entre cejas, ojos

y boca, la forma y tamao de la nariz y los ojos, el grosor de las cejas, las

arrugas, la barba, el pelo y otras caractersticas faciales, etc. Las proyecciones

101
conservan implcitamente buena parte de esta informacin, reducindola a un

vector unidimensional. Se puede decir que una proyeccin de cara describe la

estructura global del rostro a lo largo de cierta direccin; es una estructura de

picos mximos y mnimos, asociados a los elementos faciales, que indican su

posicin, tamao y brillo relativos.

De hecho, las proyecciones ya han sido aplicadas previamente en el

reconocimiento de personas. Sin embargo, existe una diferencia sustancial

respecto del mtodo que propongo. En la tcnica documentada2, se aplica la

transformada del coseno (DCT) sobre las proyecciones. De esta forma, se pierde

la propiedad fundamental, y que ha sido una de las claves de los mecanismos

descritos en la ubicacin y segmentacin del rostro utilizando as proyecciones: la

conservacin de la continuidad espacial, es decir, de la relacin de vecindad

entre pxeles, que permite aplicar los procesos de alineamiento. Sea por este o

por otros motivos, el mtodo no obtiene una buena clasificacin en los resultados

de la evaluacin.

En el capitulo anterior pudimos ver que las proyecciones verticales de la cara y

tambin las horizontales de los ojos, mantienen su disposicin y forma global

para un mismo individuo a lo largo de una secuencia de video. Es decir, la

varianza de las proyecciones debida a cambios de expresin, y pequeos giros y

variaciones de la iluminacin es relativamente reducida, siempre que se trate de

la misma persona. Esta sera la varianza intra-clase. Las cuestiones que se

plantean ahora son: si la varianza intra-clase es pequea, es la inter-clase

suficiente para discriminar a un centenar o un millar de individuos? Qu ocurre

2
J. Wilder. Face recognition using transform coding of gray scale projection
projections and the neural tree network. In R. J. Mammone, editor, Artificial
Neural Networks with Applications in Speech and Vision, pages 520536.
Chapman Hall.
102
con la varianza intra-clase debida al paso del tiempo, o los cambios grandes de

iluminacin o pose?

Para obtener mejor representacin, dividimos el rostro verticalmente en 3

partes iguales y se obtiene de cada una de ellas, su proyeccin, como se

muestra en la figura 60 y 62. Adems se obtiene su proyeccin vertical del

rostro. A estas 4 seales o proyecciones se las concatena como se muestra en

la figura 61 y 63. Esta concatenacin vendra a ser la representacin del rostro

que va a ser el patrn que alimenta a la red neuronal y con tan solo 365

elementos (101 + 88 x 3) en comparacin con los 8,888 pxeles del rostro.

Figura 60. Proyecciones del rostro de imagen obtenida en la noche

Figura 61. Concatenacin de las proyecciones del rostro de la figura 60

Figura 62. Proyecciones del rostro de imagen obtenida en el da

Figura 63. Concatenacin de las proyecciones del rostro de la figura 62

103
A continuacin se presenta el algoritmo que extrae sta informacin.

PROYECCION HORIZONTAL DEL ROSTRO

c=0

For jj = 1 To 3

k=0

For i = 1 To col

k=k+1

For j = ((jj 1) * (Fil \ 3)) + 1 To (Fil \ 3) * jj

Ph(k) = Ph(k) + arNorm(j, i)

Next j

Ph(k) = Ph(k) / Fil

c=c+1

Ptot(c) = Ph(k)

Next i

Next jj

PROYECCION VERTICAL DEL ROSTRO

k=0

For j = 1 To Fil

k=k+1

For i = 1 To col

Pv(k) = Pv(k) + arNorm(j, i)

Next i

Pv(k) = Pv(k) / col

c=c+1

104
Ptot(c) = Pv(k)

Next j

3.10 ENTRENAMIENTO DE PATRONES


Para la etapa de reconocimiento utilizamos la tcnica basada en Redes

Neuronales Artificiales para realizar el reconocimiento de rostros,

especficamente la red neuronal Backpropagation, aprovechando sus diferentes

caractersticas tales como la capacidad de aprendizaje y generalizacin. Su

arquitectura consta de 3 capas, 1 capa de entrada, 1 capa oculta y 1 capa de

salida. La capa de entrada tiene 365 neuronas que corresponde a la

concatenacin unidimensional de las 4 proyecciones de la imagen bidimensional

(88 x 3 + 101). La seal unidimensional de cada rostro viene a ser el patrn

representativo de sta, cada valor esta entre 0 y 255 ya que corresponde al

promedio de cada fila o columna de la imagen. Pero, para que alimente a la red

neuronal, tenemos que normalizar a valores entre +1 y -1. Por cada persona

obtenemos 7 imgenes de su rostro. La capa Oculta tiene 100 neuronas,

escogidas de acuerdo a las pruebas hechas y que se obtienen mejores

resultados. Y la capa de salida tiene tantas neuronas como personas registradas

multiplicada por 7, es decir si tenemos 5 personas registradas, hay 35 fotos (7 x

5), por lo tanto 35 neuronas en la capa de salida.

El error mnimo que hemos tomado en cuenta, para el aprendizaje de la

red es de 0.001. El nmero de ciclos con que aprende la red depende del

tamao de imgenes registradas. A mayor nmero de imgenes, mayor numero

de ciclos, mayor procesamiento.

105
Esta etapa corresponde a la fase de Entrenamiento de la red, es decir

donde se le presentan los patrones de prueba y la red comienza a buscar los

valores de los pesos adecuados para la informacin que se le presenta. Cuando

la red encuentra estos valores se dice que ha aprendido y se guardan estos, en

archivos de texto con extensin *.jmjs.

Figura 64. Red neuronal artificial con un patrn de entrada

106
3.11 RECONOCIMIENTO DEL PATRN
Esta etapa es la fase de funcionamiento de la red neuronal, donde se le

presentan los patrones nuevos de entrada, es decir, nuevos rostros y junto con

los pesos encontrados en la fase de entrenamiento, la red tiene que decidir si

corresponden a una persona determinada.

3.12 PERSONA IDENTIFICADA


El sistema consta de un mdulo que permite grabar 7 rostros por

persona, este nmero representa mas muestras o menos muestras de una

persona, a mayor nmero de muestras por persona, mayor es el nmero de

comparaciones con el patrn de entrada, por lo tanto mayor la probabilidad de

que el sistema, identifique a la persona, pero tambin aumenta el procesamiento

y el tiempo de clculo por parte de la computadora.

Para que el sistema tenga mayor xito de identificar a una persona,

capturamos 10 veces el rostro de una persona. Cada toma es procesada y

obtenemos 10 resultados, se tendr un histograma que contiene el nmero de

votos que cada uno de los rostros ha recibido. Seguramente algunos rostros

habrn recibido ms votos que otros, por la respuesta de la red neurona artificial

y es necesario decidir aquellos rostros modelos que mejor se aproximen a los

rostros de entrada. Una forma de seleccionar stos, es mediante un valor de

umbral. A estos resultados lo sometemos a un conteo de votos de la

determinada persona que posiblemente identifique. Si hay un nmero de votos

mayor o igual a 3, podemos afirmar y decidir de qu persona se trata.

107
Figura 65. Rostros de la base de datos

108
IV. FUNCIONAMIENTO DEL SISTEMA
El funcionamiento del sistema es muy sencillo. Basta con acercarse a la

cmara que se encuentra aislada con la caja, para que la aplicacin

automticamente detecte y localice el rostro. El sistema tiene en cuenta la

distancia (aprox. 35 cm.) que se encuentra la persona con respecto a la cmara

(clculo por la distancia entre los ojos) y automticamente captura el rostro e

identifica la persona siempre y cuando se encuentre registrada. Como se

observa en la figura N 66 se captura en tiempo real el rostro (Rostro Capturado)

y el sistema busca y reconoce a la persona (Rostro Reconocido).

En el men principal tenemos Archivo, donde se encuentran los sub

menus para iniciar, detener y salir de la aplicacin. En el men Grabar tenemos

el sub men Grabar Rostro, para registrar a las personas. En el men Red

Neuronal se encuentra el sub men Red Neuronal que se ejecuta despus de

registrar a las personas para que el sistema aprenda a reconocer los patrones.

En el men Acerca De, una descripcin del Autor y versin del sistema.

Figura 66. Interfase principal del sistema

109
Cuando seleccionamos el sub men Grabar Rostros, obtenemos la

siguiente pantalla de la figura N 67 para ingresar los datos de la persona a

Registrar. Los datos que se ingresan son Nombres, Apellidos y Documento

Nacional de Identidad (DNI). Estos pueden ser ingresados en diferentes

momentos.

Figura 67. Ventana para el ingreso de datos

Despus de presionar el botn Aceptar, aparece la ventana de la figura

N 68, que nos permite capturar y grabar los 7 rostros de cada persona. Las

capturas se hacen a aproximadamente 35 cm. de distancia de la cmara y con

giros mximos de la cabeza de 10 grados, ya sea a la derecha, a la izquierda,

arriba o abajo. Una vez que tenemos las 7 capturas, presionamos Grabar. Como

ejemplo tenemos la siguiente figura.


110
Figura 68. Ventana de adquisicin de los rostros

La ventana Red Neuronal, se ejecuta despus de ingresar los datos de

las personas que se estn registrando. Cada vez que se ingresa el ltimo

registro de una persona hay que ejecutar la Red Neuronal, para su posterior

reconocimiento.

En la ventana se observa una mensaje cuando la Red Neuronal est

aprendiendo: APRENDIENDO y cuando ya ha terminado: LISTO. Tambin se

observa un mensaje del nmero de patrones que va aprendiendo la Red y una

grfica que indica como se va minimizando el error. Lgicamente esta grfica

tiene que ir decrementndose conforme se incrementa el nmero de ciclos de

aprendizaje.

En el Picture inferior se observa la grfica patrn de cada rostro

registrado, y en el Picture central apreciamos un esquema de la Red Neuronal.

111
Figura 69. Ventana de la red neuronal artificial

Presionando el men Parmetros, aparece una pequea ventana, como

se muestra en la figura N 70, en la cual opcionalmente podemos manipular o

modificar los Coeficientes de Aprendizaje de la Capa Oculta y la Capa de Salida

de la Red Neuronal. A menor valor de estos Coeficientes, la Red demora ms en

aprender, pero se asegura su convergencia. Se puede modificar el Criterio de

Error mnimo para que la Red aprenda mejor los patrones de entrenamiento. A

menor Criterio de Error mayor aprendizaje.

112
Figura 70. Ventana de parmetros

113
V. RESULTADOS OBTENIDOS

5.1 RESULTADOS DE LA LOCALIZACIN DE ROSTROS


Se presentan de forma visual los resultados obtenidos por el algoritmo de

proyecciones (Todas las imgenes contienen el rostro de una sola persona):

Figura 71. Localizacin de rostros con fondo blanco


114
Los resultados de la localizacin de caras o rostros se pueden visualizar

en las imgenes de prueba de las figuras n 71, que pertenecen a una base de

datos3 de Internet y figuras n 72, que pertenecen a una base de datos propia.

Los resultados demuestran una gran robustez frente a condiciones de

iluminacin, individuos, expresin facial, pequeos cambios de posicin, escala y

rotacin de las regiones proyectadas. Incluso la aparicin de sombras y cubrir

parte de la cara, que modifican sustancialmente la apariencia de las imgenes,

es tratada adecuadamente en muchos casos, como puede comprobarse en los

ejemplos. El algoritmo funciona eficientemente, tanto en escenas de fondo

blanco (figuras n 71), como en escenas de fondo complejo (figuras. N 72). La

localizacin tiene un tiempo computacional de 100 mSeg. (0.1 Seg.).

Figura 72. Localizacin de rostros con fondo complejo

3
http://www.cam-orl.co.uk/facedatabase.html
115
Se utiliz un total de 46 imgenes4, de las cuales en 44 (ms del 95.65%)

fue localizado correctamente el rostro presente en las mismas y en 2 imgenes

(cerca del 4.34%) fall la localizacin de los rostros o existi una localizacin

incorrecta.

4
Base de Datos formada por imgenes de Internet, familiares y alumnos de la Universidad
Nacional de Piura Facultad de Ciencias.
116
5.2 RESULTADOS DEL RECONOCIMIENTO DE PERSONAS
Para la verificacin de resultados hemos preparado una batera de

pruebas, formada por 25 alumnos del curso de Procesamiento Digital de Seales

II de la Escuela Profesional de Ingeniera Electrnica y Telecomunicaciones

(Facultad de Ciencias de la Universidad Nacional de Piura) de 7 adquisiciones

cada uno. Las imgenes son en color y tienen una dimensin de 240 filas por

320 columnas. Para el procesamiento se utiliza el canal rojo con 256 niveles de

gris. Dichas tomas se muestran en la figura N 73. Para que el sistema

identifique a una persona, previamente hay que registrarla.

Para cada una de los experimentos realizados, se usar la siguiente

notacin5:

- Porcentaje de reconocimiento correcto: (TP+TN) / (TP+TN+FP+FN).

- Porcentaje de falsos negativos: FN / (FN+TN).

- Porcentaje de falsos positivo: FP / (FP+TP).

En donde TP, TN, FP y FN son los valores de verdaderos positivos (TP),

verdaderos negativos (TN), falsos positivos (FP) y falsos negativos (FN).

A continuacin presentamos la interfase de captura y reconocimiento de

solamente 2 personas. Observaremos los resultados obtenidos, despus de

haber presentado stas.

Cada reconocimiento tiene un tiempo computacional de 250 mSeg. (0.25

Seg.)

5
Reconocimiento Tridimensional de Caras: http://www.frav.es/ecabello/capitulo5.pdf
117
Figura 73. Persona reconocida por el sistema

En la figura n 73, observamos la persona con su rostro, correctamente

localizado y segmentado. La imagen de Rostro Capturado coincide con el patrn

almacenado.

En la Tabla. N 1 presentamos las 10 tomas o capturas que se hacen por

persona y observamos los siguientes resultados:

118
Tabla 1. Valores de las neuronas de salida

Cada columna representa una adquisicin o captura y cada fila

representa las personas registradas, pero como cada persona tiene 7 tomas,

entonces estn divididos en grupos de 7 filas, las 7 primeras pertenecen a un

registro, las 7 segundas a otro registro y as sucesivamente. Se observa que la

fila 14 tiene los valores ms altos, pero se contabilizan siempre y cuando sean

mayores que el umbral 0.5. El mayor valor es 1. Para ste ejemplo tenemos que

el registro 10 tiene 10 votos (mayores a 0.5) y decidimos que la persona ha sido


119
identificada con mayor o igual a 3 votos. Para mejor visualizacin, de la tabla

anterior obtenemos el siguiente grfico (figura N 74) en 3 dimensiones, donde

se puede ver el disparo de las neuronas por cada toma.

Figura 74. Grfica 3d de activacin de las neuronas

A continuacin se presenta comparando el patrn de entrada de la

primera toma con el patrn modelo del 14 avo registro perteneciente a Juan

Manuel (figura 75).

Vemos que las seales no son iguales, pero si muy parecidas, esta

funcin de decidir si se parecen o no y en que grado, est a cargo de la red

120
neuronal artificial. Si el valor es el ms alto, o sea 1, las grficas deberan ser

iguales. Si el valor es el ms bajo, o sea 0, las grficas deberan ser diferentes.

Podemos ver que el funcionamiento de la red neuronal es eficiente.

Figura 75. Comparacin patrn de entrada con patrn modelo de la misma persona

En la figura n 76 observamos la diferencia entre patrones de diferentes

personas. Vemos que las seales no son parecidas.

Figura 76. Comparacin patrn de entrada con patrn modelo de diferente persona

Otro ejemplo se presenta en la interfase siguiente, donde la persona ha

sido identificada correctamente.

121
Figura 77. Persona reconocida por el sistema

La persona localizada y segmentada correctamente, pertenece a un

patrn parecido que hay en la base de datos.

Los datos correspondientes se presentan en la tabla n 2. Podemos

observar que de las 10 capturas, son 8 los valores mayores a 0.5 (8 votos) y

corresponden a los registros de la misma persona (Raiza Nicole).

122
Tabla 2. Valores de las neuronas de salida

Las neuronas activadas de la tabla n 2, se presentan en la grfica siguiente.

123
Figura 78. Grfica 3d de activacin de las neuronas

En la figura n 79 se presenta grficamente, la comparacin entre

patrones de entrada y patrn modelo, y en la figura n 80 observamos la

comparacin grfica entre patrones de personas diferentes.

Figura 79. Comparacin patrn de entrada con patrn modelo de la misma persona

124
Figura 80. Comparacin patrn de entrada con patrn modelo de diferente persona

Tenemos un total de 25 personas, de los cuales se registraron

previamente 15 de ellas, dejando los otros 10 sin registrar para ver si el sistema

funciona correctamente y obtuvimos los siguientes resultados:

Verdaderos positivos (TP) : 13

Verdaderos negativos (TN) : 9

Falsos positivos (FP) : 1

Falsos negativos (FN) : 2

- Porcentaje de reconocimiento correcto: (TP+TN) / (TP+TN+FP+FN)

(13 + 9) / (13 + 9 + 1+ 2) = 88.00 % (3.5)

- Porcentaje de falsos negativos: FN / (FN+TN)

2 / (2 + 13) = 13.33 % (3.6)

- Porcentaje de falsos positivo: FP / (FP+TP)

1 / (1 + 13) = 7.14 % (3.7)

125
CONCLUSIONES Y RECOMENDACIONES

Se implement un sistema automtico para el reconocimiento de rostros

de personas utilizando tcnicas de Procesamiento Digital de Imgenes y Redes

Neuronales Artificiales. La implementacin fue realizada totalmente en el

software de programacin Visual Basic 6.0.

Se ha logrado adquirir las imgenes con una cmara webcam, aislndola

con un soporte, para que la iluminacin no afecte la captura de la imagen.

El sistema puede funcionar solamente con un CPU Pentium IV y teclado,

sin el monitor y sin Mouse, incluso se puede poner en red.

Se logr localizar y segmentar el rostro de una persona, con una tcnica

de Procesamiento Digital de Imgenes llamada Integrales Proyectivas o

simplemente Proyecciones. Esta tcnica reduce el tiempo de bsqueda ya que la

imagen de 2 dimensiones se analiza en un vector unidimensional, hay reduccin

de datos.

Para la extraccin de caractersticas de los rostros se ha utilizado las

integrales proyectivas, mtodo que no se ha encontrado en bibliografa alguna

para estos propsitos. Se ha utilizado dividiendo verticalmente el rostro en tres

partes para poder describir cada una de ellas (regin de los ojos, regin de la

nariz y regin de la boca) obteniendo sus proyecciones horizontales. Estas 3

proyecciones se concatenaron con la proyeccin vertical del rostro, obteniendo

un vector de caractersticas que representa el patrn de entrada a la Red

Neuronal Artificial, convirtindose as en una firma para cada rostro. La

extraccin de Caractersticas es una etapa muy importante, ya que se espera

que sea nica para cada rostro. De esto depende en gran medida el xito de la

siguiente etapa (reconocimiento).


126
Se ha verificado experimentalmente que el mtodo de las Redes

Neuronales Artificiales, resulta adecuado para clasificar imgenes de rostros de

personas. La Red Neuronal es especficamente de tipo Backpropagation que

result tener capacidad para clasificar y generalizar. Los principios de diseo

utilizados para especificar la red de backpropagation dieron excelentes

resultados en reconocimiento de rostros, tanto en tiempo de proceso como en

fidelidad de identificacin.

Uno de los inconvenientes de este sistema es que a ms personas

registradas, el tiempo en entrenar la Red Neuronal Artificial se incrementa.

Para el anlisis de los pxeles de los rostros, ha sido de gran ayuda la

herramienta Matlab 7.0, por sus funciones implementadas y rpida ejecucin.

Una de las ventajas de un sistema automtico de reconocimiento de

caras humanas basado en visin artificial es su carcter no intrusivo: la persona

no siente invadida su intimidad. Otra ventaja de este tipo de sistemas es que

permiten eliminar la memorizacin de cdigos y los consiguientes riesgos de

prdida, olvido o suplantacin. Adems un sistema de este tipo evitara la

necesidad de llevar documentacin (tarjeta, pasaporte, DNI, etc.); bastara con

acercarse a una cmara.

La prctica totalidad de los sistemas slo funcionan bien en condiciones

controladas, ya que son muy sensibles a cambios de punto de vista, posicin del

sujeto o de las cmaras, iluminacin, ya que afecta los valores de los pxeles,

por lo tanto el patrn caracterstico. Se recomienda que la luz sea uniforme y se

independice de la luz ambiental. etc.

Otro inconveniente de la mayora de sistemas automticos de

reconocimiento de caras es que han sido probados con bases de datos que

contienen un nmero bajo de sujetos, muy pocos en comparacin de los que

127
debera ser capaz de examinar un sistema que estuviera en recintos con gran

afluencia de personas, como aeropuertos, estadios o similares. Las pruebas

realizadas hasta ahora en recintos de este tipo no han sido satisfactorias.

Una recomendacin a futuro, es tener en cuenta una buena extraccin de

caractersticas invariantes a la escala, iluminacin y pequeos cambios de

posicin, escala y rotacin del rostro. Hay diferentes mtodos que podran

investigarse y ser probados en sta etapa.

Otra recomendacin, sera abordar este sistema para dar una solucin

en 3 dimensiones y no en 2. Adems se podra hacer un sistema hbrido para

asegurar an ms el resultado de identificacin.

128
BIBLIOGRAFA

Libros

[1] TAPIADOR MATEOS Marino, SIGENZA PIZARRO Juan A.. Tecnologas

biomtricas aplicadas a la seguridad. 2005. Editorial RA-MA. Espaa.

[2] MARTN DEL BRO Bonifacio, SANZ MOLINA Alfredo. Redes Neuronales

y Sistemas Difusos. 2002. Editorial Alfaomega Grupo Editor. Mxico.

[3] HILERA GONZLEZ Jos Ramn, MARTNEZ HERNANDO Victor Jos.

Redes Nuronales Artificiales. Editorial Alfaomega Grupo Editor. Mxico.

[4] ISASI VIUELA Pedro, GALVN LEN Ins M.. Redes Neuronales

Artificiales. 2004. Editorial Pearson Prentice Hall. Espaa.

[5] RUSSELL Stuart, NORVING Peter, Inteligencia Artificial. 2004. Editorial

Pearson Prentice Hall. Espaa.

[6] GONZLEZ Rafael C., WOODS Richard E. Tratamiento Digital de

Imgenes. 1996. Editorial Addison Wesley Iberoamericana. Estados Unidos.

[7] PAJARES Gonzalo, DE LA CRUZ Jess M., MOLINA Jos M.,

CUADRADO Juan, LPEZ Alejandro. Imgenes Digitales.2004. Editorial

Alfaomega Grupo Editor. Mxico.

[8] PROAKIS John G., MANOLAKIS Dimitri G. Tratamiento Digital de

Seales. 1998. Editorial Pearson Prentice Hall. Espaa.

[9] OPPENHEIM Alan V., WILLSKY Alan S. Seales y Sistemas. 1997.

Editorial Pearson Prentice Hall. Espaa.

[10] FANDEZ ZANUY Marcos. Tratamiento Digital de Voz e Imgenes y

Aplicacin a la Multimedia. 2001. Editorial Alfaomega Grupo Editor. Mxico.

[11] BUSTAMANTE Csar. Visual Basic 6.0. 2000. Per.

129
[12] JACINTO SANDOVAL, Juan Manuel. Visual Basic para Ingenieros. 2005.

Universidad Nacional de Piura. Per.

[13] J. Wilder. Face recognition using transform coding of gray scale

projection projections and the neural tree network. In R. J. Mammone, editor,

Artificial Neural Networks with Applications in Speech and Vision, pages 520

536. Chapman Hall, 1994.

[14] Tesis Doctoral: Procesamiento de Caras Humanas Mediante Integrales

Proyectivas. Autor: Gins Garca Mateos. Facultad de Informtica.

Universidad Nacional de Murcia

Pginas Web

[15] Procesamiento Digital de Imgenes.

http://es.wikipedia.org/wiki/Procesamiento_digital_de_im%C3%A1gene

[16] Visualizacin, manipulacin, procesamiento y anlisis de imgenes.

http://www.fisica.edu.uy/oalm/procimag.html

[17] Procesamiento de Imgenes.

http://omega.ilce.edu.mx:3000/sites/ciencia/volumen2/ciencia3/084/htm/sec_9

.htm

[18] Informe sobre Redes Neuronales.

http://www.monografias.com/trabajos/redesneuro/redesneuro.shtm

[19] Redes Neuronales Artificiales.

http://www.electronica.com.mx/neural/

[20] Biometra. http://es.wikipedia.org/wiki/Biometr%C3%ADa

[21] Reconocimiento de Rostros.

http://ece.uprm.edu/~hcaituiro/personal/writings/bwc/332.htm

[22] Portal de Seguridad.


130
http://www.portaldeseguridad.com/gdc_notapub.php?cod_nota=89

[23] Plataforma Biomtrica Homini

http://www.homini.com/tecnologas.htm

[24] X. Lu. Image analysis for face recognition, 2004. Disponible pblicamente

en la URL: http://www.cse.msu.edu/lvxiaogu/publications/publications.htm.

131
VI. ANEXOS
Declaracin de Variables

Option Explicit

Dim Ar(1 To 240, 1 To 320) As Long, j As Single, i As Single

Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA"

(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As

Any) As Long

Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias

"capCreateCaptureWindowA" (ByVal lpszWindowName As String, ByVal dwStyle

As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal

nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long

Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As

Long, ByVal y As Long) As Long

Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As

Long, ByVal y As Long, ByVal crColor As Long) As Long

Private mCapHwnd As Long

Private Const CONNECT As Long = 1034

Private Const DISCONNECT As Long = 1035

Private Const GET_FRAME As Long = 1084

Private Const COPY As Long = 1054

Private Const Alto_Imagen = 240

Private Const Ancho_Imagen = 320

Private Const ancho_OJOS = 90

Private Const alto_OJOS = 30

132
Cdigo para Captura de Video

SendMessage mCapHwnd, GET_FRAME, 0, 0

SendMessage mCapHwnd, COPY, 0, 0

Picture1.Picture = Clipboard.GetData

Clipboard.Clear

For j = 1 To Alto_Imagen

For i = 1 To Ancho_Imagen

Ar(j, i) = Abs(GetPixel(Picture1.hdc, i, j) Mod 256)

DoEvents

Next

Next

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub cmdEntrenar_Click()

Leer_Rostros

Interrumpir = False

oldrms = 0

If BackProp Then frmNeurona.Caption = "BackPropagation Delta

Generalizada"

If BackPropMom Then frmNeurona.Caption = "BackPropagation com

Momentum"

If BackGrad Then frmNeurona.Caption = "BackPropagation Gradiente

Conjugado"

'Unidades de proceso

133
lblCaracter.Caption = "APRENDIENDO!"

lblCicloMax = NumCiclos

cmdEntrenar.Enabled = False

cmdStop.Enabled = True

picGrafico.Cls

'****************************************************

'ALEATORIZAMOS LOS PESOS DE LAS CONEXIONES

Aleatorizar

'EMPIEZA EL ENTRENAMIENTO

'En cada ciclo se presentan todos los ejemplos de aprendizaje

'y se ajustan los pesos de las conexiones para reducir el error

'El aprendizaje termina cuando todos los ejemplos tienen un

'error menor al criterio

ReDim Entrada(n_in)

ReDim Oculta(n_hide)

ReDim Salida(n_out)

ReDim Gamma(n_out)

ReDim delta(n_out)

ReDim rmsparcial(0)

ReDim rmsparcial(n_casos)

MousePointer = 11

picGrafico.Scale (0, 100)-(NumCiclos, -10)

picGrafico.ScaleMode = 3

picGrafico.ScaleHeight = 100

picGrafico.ScaleWidth = NumCiclos

'*****************************************************

134
For ciclo = 1 To NumCiclos '(goodpats < n_casos)

ReDim oldIncWoculta(n_hide, n_in + 1)

ReDim oldIncWsalida(n_out, n_hide + 1)

'COMIENZO DE UN CICLO DE APRENDIZAJE!!!

'inicializamos el error cuadrtico global y el numero de

'ejemplos correctamente aprendidos

For caso = 1 To n_casos

'Para cada ejemplo de entrenamiento

'inicializamos el error cuadrtico parcial

rmsparcial(caso) = 0

feedforward

BackPropagation

'Fin de los clculos para un ejemplo de aprendizaje

'DoEvents

Next caso

rms = rms / n_casos

incrms = rms - oldrms

oldrms = rms

'********

lblRms.Caption = Format(rms, "0.0000")

picGrafico.PSet (ciclo, (1 - rms) * 100), RGB(50, 250, 0)

lblCiclo.Caption = ciclo

lblGoodpats.Caption = goodpats

If Interrumpir = True Then

Almacenar

cmdEntrenar.Enabled = True

135
cmdStop.Enabled = False

Exit Sub

End If

DoEvents

Next ciclo

Almacenar

cmdEntrenar.Enabled = True

cmdStop.Enabled = False

End Sub

Public Sub Almacenar()

RowCount = n_hide

ColCount = n_in + 1

ReDim Matriz(RowCount, ColCount)

For j = 1 To RowCount

For i = 1 To ColCount

Matriz(j, i) = wOculta(j, i)

Next i

Next j

CoefOcult = App.Path & "\CoefOcu.jmjs"

GuardarCoef CoefOcult

ReDim Matriz(0)

RowCount = n_out

ColCount = n_hide + 1

ReDim Matriz(RowCount, ColCount)

136
For j = 1 To RowCount

For i = 1 To ColCount

Matriz(j, i) = wSalida(j, i)

Next i

Next j

CoefSalida = App.Path & "\CoefSal.jmjs"

GuardarCoef CoefSalida

lblCaracter.Caption = "LISTO!"

MousePointer = Default

End Sub

Private Sub cmdStop_Click()

Interrumpir = True

cmdEntrenar.Enabled = True

cmdStop.Enabled = False

End Sub

Private Sub cmdStop_MouseMove(Button As Integer, Shift As Integer, x As

Single, Y As Single)

MousePointer = Default

End Sub

Private Sub Command1_Click()

Leer_Rostros

End Sub

137
Private Sub Form_Activate()

Picture1.Scale (0, 0)-(200, 200)

For j = 0 To 182 Step 13

For i = 0 To 128 Step 32

Picture1.Line (57, 10 + j)-(120, 33 + i), RGB(100 + j, 0, 50 + j)

Next i

Next j

For j = 0 To 128 Step 32

For i = 0 To 35 Step 35

Picture1.Line (120, 33 + j)-(165, 77 + i), RGB(100 + j, 10, 150 + j)

Next i

Next j

For i = 1 To 15

shpEntrada(i).BackColor = QBColor(Rnd * 15)

Next i

For j = 1 To 5

shpOculta(j).BackColor = QBColor(Rnd * 15)

Next j

For k = 1 To 2

shpSalida(k).BackColor = QBColor(Rnd * 15)

Next k

hscRostros.Max = frmDatosPersonales.adoPersonas.Recordset.RecordCount *

hscRostros.Min = 1

End Sub

138
Private Sub Form_Load()

BackProp = True

BackPropMom = False

BackGrad = False

LCSalida = 0.15

LCOculta = 0.15

momentum = 0.3

NumCiclos = 10000

rmsmax = 0.05

lblCicloMax = NumCiclos

cmdStop.Enabled = False

cmdEntrenar.Enabled = True

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y

As Single)

If cmdEntrenar.Enabled = False Then MousePointer = 11

End Sub

Private Sub hscRostros_Change()

ReDim PTot(1 To n_in)

caso = hscRostros.Value

picRostros.Refresh

For j = 1 To filasImagen

For i = 1 To columnasImagen

139
Im(j, i) = Abs(GetPixel(picRostros.hdc, i, j) Mod 256)

Next i

Next j

Mejorar_Iluminacion

'-----------------------------------------------------------------

'PARA DISMUNIR LOS DATOS DE LOS ROSTROS

' PROYECCION HORIZONTAL DEL ROSTRO

c=0

For jj = 1 To 3

ReDim pH(1 To columnasImagen)

k=0

For i = 1 To columnasImagen

k=k+1

For j = ((jj - 1) * (filasImagen \ 3)) + 1 To (filasImagen \ 3) * jj

pH(k) = pH(k) + Im(j, i)

Next j

pH(k) = pH(k) / filasImagen

Next i

Maxi = 0

Mini = 500

For k = 1 To columnasImagen

If pH(k) > Maxi Then Maxi = pH(k)

If pH(k) < Mini Then Mini = pH(k)

Next k

140
For k = 1 To columnasImagen

pH(k) = (((pH(k) - Mini) / ((Maxi - Mini) + 0.000001)) * 2) - 1

c=c+1

PTot(c) = pH(k)

Next k

Next jj

' PROYECCION VERTICAL DEL ROSTRO n_in = filasImagen

ReDim pV(1 To filasImagen)

k=0

For j = 1 To filasImagen

k=k+1

For i = 1 To columnasImagen

pV(k) = pV(k) + Im(j, i)

Next i

pV(k) = pV(k) / columnasImagen

Next j

Maxi = 0

Mini = 500

For k = 1 To filasImagen

If pV(k) > Maxi Then Maxi = pV(k)

If pV(k) < Mini Then Mini = pV(k)

Next k

For k = 1 To filasImagen

pV(k) = (((pV(k) - Mini) / ((Maxi - Mini) + 0.000001)) * 2) - 1

c=c+1

141
PTot(c) = pV(k)

Next k

frmNeurona.Picture7.Scale (0, 1)-(n_in + 1, -1)

frmNeurona.Picture7.Cls

For k = 2 To n_in

frmNeurona.Picture7.Line (k - 1, PTot(k - 1))-(k, PTot(k))

Next k

frmNeurona.Picture7.Refresh

End Sub

Private Sub hscRostros_Scroll()

hscRostros_Change

End Sub

Private Sub mnuParametros_Click()

frmParametros.Show vbModal

End Sub

Private Sub mnuSalir_Click()

Unload Me

Unload frmParametros

End Sub

142
Private Sub picGrafico_MouseMove(Button As Integer, Shift As Integer, x As

Single, Y As Single)

MousePointer = Default

'picGrafico.CurrentX = X

'picGrafico.CurrentY = Y

'X = Format(X, "#")

picGrafico.ToolTipText = x & "," & 1 - (Y / 100)

End Sub

Public Sub Leer_Rostros()

Dim fnum1 As Integer, Fname As String

n_casos = frmDatosPersonales.adoPersonas.Recordset.RecordCount * 7

n_out = n_casos

ReDim PTot(1 To n_in)

ReDim patrones(n_casos, n_in)

For caso = 1 To n_casos

'PARA DISMUNIR LOS DATOS DE LOS ROSTROS

' PROYECCION HORIZONTAL DEL ROSTRO

c=0

For jj = 1 To 3

ReDim pH(1 To columnasImagen)

k=0

For i = 1 To columnasImagen

k=k+1

For j = ((jj - 1) * (filasImagen \ 3)) + 1 To (filasImagen \ 3) * jj

143
pH(k) = pH(k) + Im(j, i)

Next j

pH(k) = pH(k) / filasImagen

Next i

Maxi = 0

Mini = 500

For k = 1 To columnasImagen

If pH(k) > Maxi Then Maxi = pH(k)

If pH(k) < Mini Then Mini = pH(k)

Next k

For k = 1 To columnasImagen

pH(k) = (((pH(k) - Mini) / ((Maxi - Mini) + 0.000001)) * 2) - 1

c=c+1

PTot(c) = pH(k)

Next k

Next jj

' PROYECCION VERTICAL DEL ROSTRO n_in = filasImagen

ReDim pV(1 To filasImagen)

k=0

For j = 1 To filasImagen

k=k+1

For i = 1 To columnasImagen

pV(k) = pV(k) + Im(j, i)

Next i

pV(k) = pV(k) / columnasImagen

144
Next j

Maxi = 0

Mini = 500

For k = 1 To filasImagen

If pV(k) > Maxi Then Maxi = pV(k)

If pV(k) < Mini Then Mini = pV(k)

Next k

For k = 1 To filasImagen

pV(k) = (((pV(k) - Mini) / ((Maxi - Mini) + 0.000001)) * 2) - 1

c=c+1

PTot(c) = pV(k)

Next k

frmNeurona.Picture7.Scale (0, 1)-(n_in + 1, -1)

frmNeurona.Picture7.Cls

For k = 2 To n_in

frmNeurona.Picture7.Line (k - 1, PTot(k - 1))-(k, PTot(k))

Next k

frmNeurona.Picture7.Refresh

For i = 1 To n_in

patrones(caso, i) = PTot(i)

Next i

Next caso

End Sub

145

También podría gustarte