Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TESIS
Procesamiento
Procesamiento Digital de Imágenes
Biométricas Aplicado al Control de
Sistemas de Seguridad
Presentan
Asesor:
México, D.F.
2007
Agradecimientos
A mis padres, Piedad y Juan Miguel, por ser guías en mi camino ayudándome a ver la claridad de
este y protegiéndome para no perderme. Gracias por los consejos, los regaños, la comprensión y
el cariño ya que estos son los que me han forjado, fueron los cimientos de la persona que soy
ahora. Por la fe y confianza que me dieron, ahora esta es la forma en que les muestro que no fue
en vano, que la semilla que en mi sembraron ha dado sus frutos.
A mis hermanos, Iván e Imix, por todos los momentos compartidos, por su apoyo y su confianza
en mi depositada. Espero que todo esto sea un ejemplo para ustedes, que puedan aprender de los
aciertos y analicen los errores para no repetirlos. Gracias por que ustedes son una gran parte de
mi vida, son mi gran alegría.
A mis tíos, Socorro y Juan, por todo el apoyo brindado porque ustedes me abrieron las puertas
de su cariño para tratarme como a una hermana. Gracias por todas sus enseñanzas.
A mis Abuelos, Aarón y María, por sus cuidados y su cariño, por brindarme su amor y
orientarme durante el tiempo que estuvimos juntos. Y aunque ahora ya no estás físicamente con
nosotros gracias a ti Abuelo porque siempre me alentaste para terminar mis estudios, fuiste un
mentor para mí y un gran apoyo. Aun cuando no es posible que puedas ver este trabajo me
alegra el que si hayas sido testigo del termino de mi carrera.
A mis maestros, ya que cada uno de ellos contribuyo con su grano de arena para formar a la
profesionista que ahora soy.
A mis amigos, por todo lo vivido, por su apoyo y compañía en los momentos tanto buenos como
malos. Saben que cada uno de ustedes ocupara un lugar muy especial.
ÍNDICE
INTRODUCCIÓN 3
OBJETIVOS 4
• ¿QUÉ ES LA BIOMETRÍA? 8
• EL CUERPO HUMANO Y LA BIOMETRÍA 10
• TIPOS Y PROCESOS BIOMÉTRICOS CLAVE 11
• TECNOLOGÍAS BIOMÉTRICAS 12
• INTRODUCCIÓN 13
• LA DACTILOSCOPIA. ANTECEDENTES HISTÓRICOS 13
• CARACTERIZACIÓN Y CLASIFICACIÓN DE LAS HUELLAS 14
DACTILARES
• ETAPA DE CLASIFICACIÓN 17
• DISPOSITIVO DE ADQUISICIÓN 18
• RECONOCIMIENTO DE HUELLAS DACTILARES 18
• ADQUISICIÓN DIGITAL DE LA HUELLA 20
• PREPROCESADO DE LA IMAGEN 20
• ADELGAZAMIENTO (THINNING) 23
• DEPURACIÓN 24
• EXTRACCIÓN DE CARACTERÍSTICAS 25
• ETAPA DE RECONOCIMIENTO 25
• CARACTERÍSTICAS DEL SISTEMA 28
• MÉTODOS DE ATAQUE Y DEFENSA DEL SISTEMA 28
Página 1
Instituto Politécnico Nacional
JUSTIFICACIÓN ECONÓMICA 82
TRABAJO A FUTURO 83
CONCLUSIONES 84
MEDIOS DE INFORMACIÓN 87
Página 2
Instituto Politécnico Nacional
INTRODUCCIÓN
Con el avance del tiempo, se hace cada vez más necesario implementar nuevos sistemas
de seguridad que sean más confiables. La importancia de que existan sistemas de
seguridad más viables, ha llevado a que día a día se creen nuevos sistemas y se
perfeccionen los ya existentes.
Página 3
Instituto Politécnico Nacional
OBJETIVOS
Página 4
Instituto Politécnico Nacional
CAPÍTULO 1
PLANTEAMIENTO DEL PROBLEMA
Para evitar esto a los tradicionales métodos de acceso seguro mediante el uso de
palabras clave del tipo USUARIO + CONTRASEÑA, se han añadido desde hace
tiempo otros sistemas como el uso de tarjetas de coordenadas, sistema utilizado por
algunos bancos que operan a través de Internet. Este sistema se añade al de palabras
clave de manera que, cada vez que se va a efectuar una operación, se piden los dígitos
correspondientes a unas determinadas coordenadas.
Página 5
Instituto Politécnico Nacional
Página 6
Instituto Politécnico Nacional
Este documento esta dividido en 3 partes, en el capitulo 2 se trata los conceptos básicos
de las imágenes y como son representadas en matlab así como una introducción a las
operaciones básicas de manejo de archivos.
Estas técnicas son adecuadas para enfrentar problemas que hasta ahora eran resueltos
sólo por el cerebro humano y resultaban difíciles o imposibles para las máquinas lógicas
secuénciales. Un procesamiento paralelo realizado por un gran número de elementos
altamente interconectados, es la clave de su funcionamiento.
Las Redes Neuronales (Neural Networks) son utilizadas para la predicción, la minería
de datos (data mining), el reconocimiento de patrones y los sistemas de control
adaptativo. Constituyen una parte muy importante en el estudio y desarrollo de la
inteligencia artificial (AI) y el de la vida artificial (a-life).
Las Redes Neuronales pueden ser combinadas con otras herramientas como la lógica
difusa (lógica fuzzy), los algoritmos genéticos, los sistemas expertos, las estadísticas,
las transformadas de Fourier, etc.
Página 7
Instituto Politécnico Nacional
CAPÍTULO 2
BIOMETRÍA
¿QUÉ ES LA BIOMETRÍA?
El término biometría clásicamente se aplica de forma general a la ciencia que se dedica
al estudio estadístico de las características cuantitativas de los seres vivos: peso,
longitud, etc. Este término se utiliza también para referirse a los métodos automáticos
que analizan determinadas características humanas con el fin de identificar y
autentificar a las personas.
Desde este último punto de vista, la Biometría estaría a formar parte del mundo de la
criptografía y la seguridad informática, y estaría en uno de los tres niveles o puntos
críticos en los que se suelen diferenciar tradicionalmente los buenos sistemas de
seguridad.
Dentro de la Biometría estática nos encontramos entre otras con las siguientes
características:
Huella dactilar.
Características del ojo: Retina e Iris.
Rayas de la mano.
Geometría de la mano.
Poros de la piel.
Características estáticas de la cara.
Composición química el olor corporal.
Emisiones térmicas.
Venas de manos y muñecas.
Escritura manuscrita.
Voz.
Tecleo.
Gesto y Movimiento corporal.
Página 8
Instituto Politécnico Nacional
Según diversos autores, para que las características físicas y conductuales permitan ser
utilizadas como elementos de identificación deben de cumplir con los siguientes
requisitos básicos:
Universidad: todas las personas tienen que presentar la característica.
Este tipo de comparación se denomina uno a uno (1:1) puesto que únicamente se
comparan las características biométricas de una persona con las que la persona que
reclama ser.
Página 9
Instituto Politécnico Nacional
Historia de la Biometría
La primera referencia acerca del uso de una característica biométrica con fines
identificativos se remonta al siglo VII, fecha en la que se encuentran en China huellas
dactilares tanto en documentos como en esculturas de arcilla. En el año 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 sistemático
de las huellas dactilares, aunque no con el fin de utilizarlas como elemento de
identificación individual.
En 1856, sir William Herschel fue el primero en implantar una huella pulgar como
método de identificación en documentos para personas analfabetas.
En 1941, Murray Hill de los Laboratorios Bell inició el estudio de la identificación por
voz, sus trabajos fueron redefinidos por L. G. Kersta. En 1986 sir Alec Jeffreys utilizó
por primera vez el ADN para identificar al autor de unos asesinatos en Inglaterra.
El estudio de la Biología nos enseña que las características externas que observamos en
los individuos (fenotipo), y que son las estudiadas por la Biometría, se corresponden
con las características genéticas heredadas (genotipo) que hacen a cada individuo
singular
De todas las características biológicas presentes en los seres humanos con capacidad de
ser medidas y por tanto susceptibles de ser utilizadas por la Biometría podemos
considerar dos grandes grupos. Por una parte se encuentran vinculadas a determinados
órganos y sistemas como por ejemplo:
Página 10
Instituto Politécnico Nacional
Por otra parte están las que se centran en las características de tipo funcional. En este
caso aunque el efecto final se observa a través de determinados órganos efectores como
por ejemplo:
Los usuarios deben de darse de alta inicialmente en el sistema. Para ello deben
existir dispositivos que permitan la captura de los datos biométricos (p. e.
escáner para leer huellas dactilares, sistemas de registro de voz, etc.). Por una
parte los dispositivos para la captura de la información deben presentar unos
márgenes de tolerancia adecuados para permitir la reproductividad de la
información capturada en momentos distintos.
Página 11
Instituto Politécnico Nacional
Podemos considerar dos tipos principales e plantillas, las que generan cuando el
usuario se da de alta en el sistema y las que se generan cada vez que el usuario
intenta acceder al mismo.
TECNOLOGÍAS BIOMÉTRICAS
Existen diferentes aproximaciones conceptuales acerca de los procedimientos que
configuran la estructura del procedimiento biométrico. James L. Wayman, Director del
U. S. National Biometric Test Center de la San Jose State Univeresity.
Recopilación de datos.
Transmisión de datos.
Procesamiento de Señales.
Almacenamiento de datos.
Proceso de decisión.
Página 12
Instituto Politécnico Nacional
CAPITULO 3
HUELLA DACTILAR
INTRODUCCIÓN.
La identificación de personas a través del estudio analítico de las huellas dactilares,
denominada técnica de dactiloscopia, responde al método de identificación biométrica
por excelencia, ya que aparte de ser un método aceptado popularmente y de fácil
adquisición, cumple con las dos leyes básicas que regulan el nivel de viabilidad de todo
sistema de identificación de la invariabilidad temporal y la variedad infinita de
autentificador.
Página 13
Instituto Politécnico Nacional
Huellas distintas conversaciones mantenidas con Sir William Herschel. Este segundo,
Juez británico también afincado en Bengala, ya había utilizado por primera vez en la
historia la impresión de las huellas de los dedos corazón e índice de la mano derecha a
nivel oficial y en sus contratos privados como prueba de identificación adicional,
ratificando así el aspecto práctico de la idea.
A partir de aquí y hasta la fecha, han sido múltiples los avances en este campo, en el
que, gracias a la introducción de procesadores como herramientas de soporte, el método
de análisis ha derivado en sistemas automáticos de identificación de huellas dactilares,
conocidos como AFIS (Automated Fingerprint Identification System).
La huella dactilar se manifiesta a partir del sexto mes del desarrollo del embrión como
consecuencia de un proceso aleatorio, no genético, por lo que se puede formar que no
existe ningún tipo de correlación entre gemelos idénticos (monozigóticos) o individuos
de una misma familia. Son además invariantes con el tiempo: el dibujo papilar crece
proporcionalmente según el desarrollo físico corporal, sin alterar el número, el grado de
curvatura, ni la situación de las crestas presentes en la misma. Así pues, no se podrán
modificar fisiológicamente, voluntaria o patológicamente, con, por tanto, verdaderas
características invariantes, particulares unívocas propias del individuo, perfectamente
válidas en procesos de identificación de personas.
Colectivos étnicos: Los dedos de los asiáticos tienen las crestas muy pequeñas y
finas, hecho que dificulta en gran medida su adquisición. Este problema también
se detecta en personas de edad avanzada.
Página 14
Instituto Politécnico Nacional
Página 15
Instituto Politécnico Nacional
El Core responde al punto localizado en la zona nuclear de la huella, donde una de las
crestas cambia bruscamente de dirección y describen un ángulo de 180º, retorna, por
tanto, a la posición de origen. Este punto se utiliza como punto de referencia a partir del
cual se cuenta el número de cresta a considerar en un análisis dactiloscópico concreto.
El Delta es un punto característico del dibujo papilar de algunas huellas que pueden
presentar forma de triángulo o trípode, está formado por la aproximación o fusión de las
crestas existentes en la zona frontera entre las zonas marginal, basilar y nuclear de la
huella. Su importancia radica en que la zona donde se halla ubicada, así como sus
proximidades, aparecen muchos puntos característicos. Además, esta singularidad se
utilizará para realizar una primera clasificación de las huellas dactilares.
Figura 4-4: identificación de los puntos Core y Delta sobre la huella dactilar.
Clasificación
Todos los dactilogramas coinciden con el hecho de que las crestas papilares no
describen formas aleatorias, sino que agrupan hasta llegar a constituir sistemas
definidos por la uniformidad de su orientación y figura. Se puede distinguir con total
claridad seis grupos o clases distintas de configuraciones dérmicas, según la
denomindad Clasificación de Henry.
A continuación detallamos las seis clases propias de la clasificación de Henry, así como
un conjunto de ejemplos de las morfologías correspondientes a cada una de ellas:
Página 16
Instituto Politécnico Nacional
ETAPA DE CLASIFICACIÓN
La etapa de clasificación en un sistema de identificación de huellas dactilares responde
a un método de soporte o ayuda al reconocimiento, que realiza la clasificación
automática de la huella dactilar en una de las seis clases o patrones descritos.
Algorítmica
Una posible de clasificadores de huellas dactilares se realiza mediante el uso de
algoritmos encargados de filtrar la parte central de la huella, a través de un banco de
Filtros de Gabor, dando como resultado la discriminación de las crestas presentes en la
huella, en función de su dirección (0º, 45º, 90º y 135º). Esta información se cuantificará
posteriormente para generar el denominado código de la huella, o fingercode, necesario
para realizar la clasificación de la huella propiamente dicha.
Página 17
Instituto Politécnico Nacional
DISPOSITIVOS DE ADQUISICIÓN
En el mercado actual, existe una gran variedad de dispositivos de captura de huellas
dactilares. Todos ellos obedecen a escáneres del tipo inkles, es decir, dispositivos que
posibilitan la adquisición de las huellas sin necesidad de calcar los dibujos papilares
previamente entintados. Según su forma y utilización se podrán clasificar en:
Una segunda clasificación más estándar de estos tipos de scanners específicos responde
a la clasificación de los mismos en función del tipo de sensor utilizado:
Óptico
Capacitivo
Por Ultrasonidos.
Página 18
Instituto Politécnico Nacional
Página 19
Instituto Politécnico Nacional
PREPROCESADO DE LA IMAGEN
El problema fundamental cuando se realiza el preprocesado de la imagen dactilar,
consiste en discriminar de forma óptima si los pixeles evaluados, pertenecen a una
cresta o no. Esta consideración se debe a la problemática inherente al proceso de
captura: diferencias de brillo y contraste en la imagen, distintas presiones del dedo sobre
el lector, valores distintos de humedad, etc.
Mejora de la Imagen
Esta etapa de mejora, o enhancement, consiste en la aplicación de filtros lineales
direccionales para mejorar la calidad de las imágenes originales, disminuyendo el ruido
y acentuando los contornos o transiciones claro-oscuro o viceversa. Para la
implementación de estos filtros, se requerirá de la orientación local de las crestas
próximas a cada pixel, extraída a partir del denominado mapa o campo de orientación.
Dicho mapa de información adicional nos permitirá disponer de los ángulos tangentes
de las crestas presentes de la imagen.
Página 20
Instituto Politécnico Nacional
Binarización
El objetivo de esta etapa es decrementar el margen dinámico de niveles de gris entre las
crestas y los valles de la imagen, para facilitar el procesado de las etapas siguientes.
Este procedimiento posibilita la conversión de la imagen a 256 niveles de gris (8
bits/píxel), en una imagen monocroma o bitono (1 bit/píxel), suponiendo una
compresión adicional de factor 8 sobre el fichero original. En histogramas bimodales o
histogramas que presentan dos picos claramente diferenciados representativos del objeto
y el fondo de la imagen, respectivamente, como el caso que nos ocupa, será deseable
desarrollar algoritmos que calculen automáticamente el umbral que maximice la
separabilidad de los niveles del gris. El algoritmo clásico que proporciona este tipo de
cálculo responde al nombre de Método Otsu o Criterio de Discriminante. Dicho método
está basado en el cálculo de la probabilidad de los niveles de intensidad. Una vez
realizado el cálculo de las probabilidades, se recorre el histograma buscando el nivel de
gris con intervarianza más grane entre las dos clases presentes en el histogramas, éste se
elegirá como umbral óptimo de binarización.
Así, todos los píxeles que presenten un nivel de gris por debajo de dicho umbral
tomarán el valor cero (negro), mientras que a los que se encuentren por encima se les
asignará el valor uno (blanco). En la figura 4-15 se muestra la función de transferencia
del proceso descrito.
Página 21
Instituto Politécnico Nacional
Valoración de la Calidad
Una vez obtenida la imagen perfectamente filtrada y binarizada, se podrá realizar de
forma opcional, una comprobación automática del nivel de calidad de la misma, para
rechazar las imágenes de pobre definición. Asimismo, el sistema podrá realizar una
petición automática, solicitando una nueva entrada, en el caso de obtención de un
resultado con un bajo nivel de calidad.
La calidad de una imagen para una localización dada, se calcula mediante la relación de
(S/N+S) donde N+S en la ubicación (ij), obedece a la energía de la señal (en nuestro
caso, una imagen “D) estimada como sigue:
( p(u, v) p
( u ,v )R
avg )
Donde:
(u, v) pertenecen a la región R (p.e: 8x8 píxeles)
p(u, v) son los valores de los píxeles.
Pavg es el nivel de gris promedio en la región R.
En la figura 4.16 se presenta un ejemplo práctico del preprocesado descrito sobre una
huella tipo.
Página 22
Instituto Politécnico Nacional
ADELGAZAMIENTO (THINNING)
Esta etapa realiza una reducción del grosor de las líneas mediante distintas técnicas
hasta que todas presenten un grosor igual a un píxel, facilitando de esta manera el
proceso de reconocimiento. La técnica utilizada en nuestro caso es la Morfología
Matemática (MM), ya que responde a una potente herramienta de extracción de
información a partir de las imágenes.
I Bo ( I ) ( I )
Página 23
Instituto Politécnico Nacional
DEPURACIÓN
Esta etapa consiste en la aplicación de algoritmos de poda para eliminar las ramas
parasitas residuales perpendiculares a las crestas de la huella, que han surgido durante el
proceso anterior de adelgazamiento, así como la unión de líneas rotas mediante un
procedimiento de suavizado. La figura 4.20 muestra los resultados obtenidos. Este
proceso se lleva a cabo mediante las siguientes sencillas reglas:
Página 24
Instituto Politécnico Nacional
EXTRACCIÓN DE CARACTERÍSTICAS
Esta etapa de extracción de características, o feature extraction, responderá a la etapa de
obtención de la localización, orientación y tipo del conjunto de entrenamiento
(plantillas) y test necesarios para la etapa de reconocimiento. El fichero resultante ocupa
aproximadamente 300Bytes. De esta forma, sólo se almacenarán los datos que se
corresponden con la disposición de las minucias, evitando así guardar ka imagen
original de la huella.
Debido a que no será posible obtener siempre el mismo número de minucias en las fases
de entrenamiento y test, deberá aplicarse un algoritmo de reconocimiento, o matching,
capaz de, comparar el vector de características candidato con la plantilla
correspondiente. El algoritmo proporciona dos salidas:
ETAPA DE RECONOCIMIENTO
El algoritmo de reconocimiento de huellas dactilares o matching es un algoritmo de
comparación robusta entre la entrada biométrica parametrizada o modelo de test, y el
total de modelos de huellas existentes en la base de datos del sistema, en función de la
forma geométrica descrita por las posiciones de las minucias. En este sentido, será
necesario realizar la tarea previa de estimar los parámetros necesarios de traslación y
rotación, para alinear (hacer coincidir) el modelo de test con plantilla, a partir de las
minucias detectadas en la fase anterior. La parte anterior del algoritmo de
reconocimiento determinará la mínima distancia euclídea de las n comparaciones,
siendo n igual al número de modelos que conforman la base de datos. El resultado de
este cálculo, nos entregará la identidad de la persona a reconocer. A este procesado de
datos se le denomina minutiae pattern matching.
Página 25
Instituto Politécnico Nacional
Algoritmo de alineamiento.
La fase de alineamiento de imágenes, permitirá calcular los parámetros de rotación y
traslación que conduzca al mayor nivel de correspondencia espacial, al ajustar la huella
parametrizada con la plantilla. A continuación se detallan los paso del algoritmo de
alineamiento.
Página 26
Instituto Politécnico Nacional
donde:
(Δx, Δy, Δθ) son los parámetros de rotación y traslación calculados en el punto
5.
(xi, yi, θi) representa la minucia i-ésima del patrón de prueba (coordenadas y
ángulo de orientación de la cresta asociada).
Las deformaciones no lineales que se dan en las huellas dactilares hacen que dos
modelos (modelo de test-plantilla), aún en el caso de pertenecer a una misma huella, no
coincidan exactamente una vez alineados. De ahí la necesidad de diseñar un algoritmo
elástico de comparación capaz de establecer la correspondencia entre puntos dentro de
unos ciertos límites de tolerancia.
Página 27
Instituto Politécnico Nacional
Página 28
Instituto Politécnico Nacional
Página 29
Instituto Politécnico Nacional
CAPÍTULO 4
PROCESAMIENTO DIGITAL DE IMÁGENES
La visión es la más avanzada de nuestros sentidos, así que no está sorprendiendo que las
imágenes jueguen un papel importante en la percepción humana. Sin embargo, los seres
humanos son limitados por la banda visual de espectros electromagnéticos (EM) las
máquinas de la proyección de imagen casi cubren el espectro entero del EM, el
extenderse de las ondas gamma a las ondas de radio. Pueden operar en las imágenes
generadas por fuentes que los seres humanos no están acostumbrados a asociarlos con
imágenes. Estos incluyen ultrasonidos, microscopio de electrones, e imágenes
generadas por computadoras. Así, el procesamiento de imagen digital abarca un amplio
y variado campo de aplicaciones. No hay consenso general entre autores con respecto a
donde detener el procesamiento de imagen y otras áreas relacionadas, tal como el
análisis de la imagen y empezar la visión de la computadora. El área de análisis de
imagen está entre el procesamiento de imagen y la visión de la computadora.
Se debe considerar tres tipos de procesos computarizados: bajo nivel, medio nivel, y los
procesos de alto nivel. Los procesos de bajo nivel implican las operaciones primitivas
tales como preprocesamiento de imagen para reducir el ruido, el aumento del contraste,
y afilando de una imagen. El proceso de bajo nivel es caracterizado por el hecho que
sus entradas y salidas son las imágenes. El procesamiento del medio-nivel en imágenes
implica las tareas tales como la segmentación (dividiendo una imagen en regiones u
objetos), la descripción de esos objetos para reducirlos a una forma conveniente para
procesamiento de computadora, y para la clasificación (reconocimiento) de un de objeto
individual. El nivel medio de proceso es caracterizado por el hecho que sus entradas
generalmente son las imágenes, pero sus salidas son los atributos extraídos de esas
imágenes (por ejemplo, las orillas, los contornos, y la identidad de objetos individuales).
Finalmente, procesamiento de alto nivel implica "tener sentido" de un conjunto de
objetos reconocidos, como en el análisis de la imagen, y, realizar las funciones
cognoscitivas normalmente asociadas con la visión.
Página 30
Instituto Politécnico Nacional
Página 31
Instituto Politécnico Nacional
de un proceso físico, sus valores son proporcionales a la energía irradiada por una
fuente física (por ejemplo, ondas electromagnéticas). Como resultado, f(x, y) debe ser:
La función f(x, y) puede ser caracterizado por dos componentes: (1) la cantidad de
iluminación de la fuente incidente y (2) la cantidad de la iluminación reflejada por los
objetos apropiadamente, éstos se llaman los componentes de la iluminación y reflectante
y son denotados por i(x, y) y r(x, y), respectivamente. Etas dos funciones se combinan
como un producto para formar f(x, y):
donde:
y:
La ecuación (2.3-4) indica la reflexión es dada por 0 (la absorción total) y 1 (reflectante
total). La naturaleza de i(x, y) es determinado por la fuente de la iluminación, y por r(x,
y) es determinado por las características del imagen del objeto. Estas expresiones son
también aplicables a imágenes formadas por la transmisión de la iluminación por un
medio, tal como una radiografía toráxica En este caso, nosotros trataríamos con un
transmisor en vez de una función de índice de reflexión, pero los límites serían igual
que en Eq. (2.3-4), y la función de la imagen formada serían modelados como el
producto en Eq. (2.3-2).
Página 32
Instituto Politécnico Nacional
La función unidimensional mostrada en Fig. 2.16 (b) es una grafica de la amplitud (el
nivel gris) los valores de la imagen continua por el segmento AB en Fig. 2.16(a). Las
variaciones aleatorias son debidas al ruido de la imagen. Para probar esta función,
tomamos espacios iguales a las muestras de la línea AB, como es mostrado en la Fig.
2.16(c). La localización de cada muestra es dada por una marca vertical en la parte
inferior al de las muestras de figura. Las pruebas son mostradas en pequeños cuadrados
blancos sobrepuestos en la función. El conjunto de estas ubicaciones distintas da las
muestras de la función. Sin embargo, los valores de las muestras atraviesan todavía
(verticalmente) una gama continua de valores de niveles de gris. Para formar una
función digital, los valores del nivel de gris deben ser convertidos también
(cuantificación) en cantidades discretas. A un lado de la Fig. 2.16(c) muestra la escala
de niveles de grises dividida en ocho niveles distintos, recorriendo de negro a blanco.
Las marcas verticales indican el valor específico asignado a cada uno de los ocho
niveles de gris. Los niveles grises continuos son cuantificados simplemente asignando
uno de los ocho niveles grises distintos a cada muestra. La tarea es hecha dependiendo
de la proximidad vertical de una muestra a una marca vertical. Las muestras digitales
que resultan de tanto el muestreo como la cuantificación son mostradas en Fig. 2.16 (d).
Muestreando de manera solamente descrita asumimos que tenemos una imagen
continua en ambas direcciones de coordenada así como en la amplitud. En la práctica, el
método de muestreo es determinado según el arreglo del sensor usado para generar la
imagen. Cuando una imagen es generada por un elemento sensor solo combinado con
el movimiento mecánico, como en la Fig. 2.13, la salida del sensor es cuantificada de
manera descrita anteriormente. Sin embargo, el muestreo es logrado por la selección
del número de incrementos individuales mecánicos en los cuales activamos el sensor
para recoger datos. El movimiento mecánico puede ser hecho muy exacto en principio.
Sin embargo, los límites prácticos son establecidos por imperfecciones en la óptica
enfocaba en el sensor de la iluminación que es contradictorio con la resolución factible
con desplazamientos mecánicos. Cuándo un sensor es utilizado para la adquisición de la
imagen, el número de sensores establece las limitaciones de muestreo en una dirección
de la imagen. El movimiento mecánico en la otra dirección puede ser controlado más
exactamente, pero no tiene sentido para tratar de lograr la densidad de muestreo en una
dirección que excede el límite de muestreo establecido por el número de sensores en el
otro. La cuantificación del sensor de salida completa el proceso para generar una
imagen digital. Cuándo un arreglo de sensores es utilizada para la adquisición de la
imagen, no hay movimiento y el número de sensores en el arreglo establecen los límites
de muestreo en una y otra dirección. La cuantificación de los sensores de salida es
como los anteriores. La figura 2,17 ilustra este concepto. La figura 2.17(a) muestra una
imagen continua proyectada en el plano de un arreglo de sensor. La figura 2.17 (b)
muestra la imagen después de muestrear y cuantificar. Claramente, la calidad de una
imagen digital es determinada a en gran medida por el número de muestras y niveles
discretos de grises utilizado en el muestreo y cuantificación.
Página 33
Instituto Politécnico Nacional
Figura 2.16: Generando una imagen digital. (a) Imagen Continua. (b) Una línea de A
hacia B en imagen continua, usada para ilustrar los conceptos de Muestreo y
Cuantificación. (c) Muestreo y Cuantificación. (d) Línea Digital.
Página 34
Instituto Politécnico Nacional
El lado correcto de esta ecuación está por la definición por una imagen digital. Cada
elemento del arreglo matricial es llamado un elemento de la imagen, el elemento del
retrato, píxel o pel. Los términos imagen y píxel será utilizado para denotar una imagen
digital y sus elementos.
Página 35
Instituto Politécnico Nacional
Asumimos que los niveles discretos se espacian igualmente y que ellos son enteros en
el intervalo [0, L-1]. A veces el rango de valores atravesados por la escala gris se llama
rango dinámico de una imagen, y nosotros nos referimos a imágenes cuyos niveles
grises conforman una porción significativa de la escala gris teniendo como un alto
rango dinámico. Cuándo un número apreciable de píxeles exhibe esta propiedad, la
imagen tendrá contraste alto. El número, b, de pedacitos requeridos a almacenar para
digitalizar la imagen es:
Página 36
Instituto Politécnico Nacional
Las figura 2.19 nuestra una imagen del tamaño 1024x1024 píxeles cuyos niveles grises
son representados por de 8 bits. Las otras imágenes mostradas en Fig. 2.19 son los
resultados de submuestreo de la imagen 1024x1024. La imagen 512x 512 fue obtenida
borrando cada dos filas y la columna de la imagen 1024x1024. El número de niveles
grises permitidos se mantuvo en 256.
Página 37
Instituto Politécnico Nacional
Figura 2.19 1024x1024, imagen muestreada 8-bits hasta el tamaño 32x32 píxeles. El
nivele de grises se mantuvo en 256.
Comparando Fig. 2.20(a) con la imagen 512x512 en Fig. 2.20 (b) es casi imposible
notar las diferencias. El nivel de detalle perdido puede ser visto en una página impresa
en la escala en la que estas imágenes son mostradas. L a imagen siguiente 256x256 en
Fig. 2.20(c) muestra una pauta fina muy leve del tablero en las fronteras entre los
pétalos de la flor y el fondo negro. Los efectos son mucho más visibles en la imagen
128x128 en Fig. 2.20 (d), y ellos llegan a ser pronunciados en la imagen de 64x64 e
imágenes de 32x32 en las Fig. 2.20 (e) y (f), respectivamente.
Figura 2.20 (a) 1024x1024, imagen de 8 bits. (b) 512x512 imágenes resamblada de
1024x1024 píxeles por fila y columnas duplicados. (c) hasta (f) 256x256, 128x128,
64x64, y 32y 32 imágenes resambladas de 1024x1024 píxeles.
Página 38
Instituto Politécnico Nacional
En la figura 2.21 (b) hasta (h) fueron obtenidos reduciendo el número de bits de k=7 a
k=1 manteniendo la constante espacial de la resolución en 452x 374 píxeles. El 256-,
128-, y las imágenes de 64 niveles son visualmente idénticas para todo propósito
práctico. La imagen de 32 niveles mostrado en Fig. 2.21 (d), sin embargo, tiene un
conjunto casi imperceptible de estructuras muy finas en áreas de niveles grises lisos
(especialmente en el cráneo). Este efecto, causado por el uso de un número insuficiente
de niveles grises en áreas de la imagen digital, es llamado falso Contorno, así se llamó
porque las aristas se parecen a contornos topográficos de un mapa. Falso Contorno es
generalmente bastante visible en imágenes que utilizan 16 o menos espació
uniformemente de los niveles de grises, como las imágenes en las Fig. 2.21 (e) hasta
(h) mostradas.
Figura 2.21 (a) 452x374, imagen de 256 niveles. (b) hasta (d) la Imágenes mostradas
en 128, 64, y 32 niveles de grises, al manteniendo la constante espacial de la
resolución.
Página 39
Instituto Politécnico Nacional
Figura 2.21 (Continuación) (e) hasta (g) Imágenes mostradas en 16, 8, 4, y 2 niveles
de grises. (La cortesía del Dr. David R. Pickens, el Departamento de la Radiología &
las Ciencias Radiológicas, la Universidad de Vanderbilt, Centro Médico).
Los resultados de los Ejemplos anteriores ilustran los efectos producidos en la calidad
de la imagen variando N y K independientemente. Sin embargo, estos resultados sólo
contestan parcialmente que la pregunta de cómo variar N y K afecta las imágenes y
porque nosotros no hemos considerado ninguna relación que quizás exista entre estos
dos parámetros. Un estudio temprano por Huang [1965] procuró cuantificar
experimentalmente los efectos en la calidad de la imagen producida por el experimento
de varía N y K simultáneamente. El experimento consistió en un conjunto de pruebas
subjetivas. Las imágenes semejantes son mostradas en la Fig. 2,22. La cara de una
mujer es representante de una imagen con detalles relativamente pequeños; el retrato del
fotógrafo contiene una cantidad de detalle intermedio; y el retrato de la multitud
contiene, por la comparación, una cantidad grande de detalles.
Página 40
Instituto Politécnico Nacional
Figura 2.22 (a) Imagen con un nivel bajo de detalles. (b) la Imagen con un
nivel medio de detalles. (C) la Imagen con una cantidad relativamente grande de
detalle. (Imagen (b) cortesía del Instituto de Massachusetts de la Tecnología).
Página 41
Instituto Politécnico Nacional
CAPÍTULO 5
RECONOCIMIENTO DE PATRONES
Si bien el margen de aplicaciones es muy amplio las más importantes estan relacionados
con la visión y audición por parte de una máquina, de una forma análoga a los seres
humanos.
Página 42
Instituto Politécnico Nacional
Tareas que a primera vista nos parecen extremadamente triviales por estar
acostumbradas a realizarlas de forma natural multitud de veces al día, en realidad son
habilidades extremadamente complicadas que el hombre ha aprendido a realizar a lo
largo de su infancia.
Además, es posible formular métodos que combinen varias de estas tecnologías, y que
den lugar a sistemas híbridos de reconocimiento. En las aproximaciones 1 y 3 suele
distinguirse un proceso de entrenamiento(o aprendizaje) y un proceso de clasificación (o
test), de forma que inicialmente es necesario disponer de una serie de “ejemplos” de
cada una de las clases posibles, denominada secuencia de vectores de entrenamiento. A
partir de ella se realiza una extracción y selección de características, y se entrena o
ajusta un clasificador para que puedas realizar la tarea de asignar patrones de entada a
una de las clases posibles.
Por otra parte, el reconocimiento del clasificador está relacionado con otros campos,
tales como:
Página 43
Instituto Politécnico Nacional
MUNDO
REAL
CAPTACIÓN
(Sensor/transductor)
PREPROCESADOS
(Mejora)
SEGMENTACIÓN
EXTRACCIÓN DE
DESCRIPCIÓN
CARACTERÍSTICAS
CLASIFICADOR
Por otra parte, existen algoritmos de aprendizaje no supervisado en los cuales no resulta
necesario conocer a qué clase pertenece cada uno de los patrones de la secuencia de
entrenamiento.
Página 44
Instituto Politécnico Nacional
Ruido: frecuentemente las medidas del mundo real están alteradas por ruido del
propio sensor y del entorno. En algunos casos la captación del mundo real no se
realizará con el mismo dispositivo.
Rotaciones: aún estando en la misma posición, los objetos pueden haber girado
respecto a su centro, de tal manera que una comparación directa de los mapas de
bits.
Extracción de características.
Uno de los aspectos más importantes a tener en cuenta en un reconocedor de patrones es
el tipo de parametrización a realizar sobre la señal de entrada.
Página 45
Instituto Politécnico Nacional
Selección de características.
La posibilidad de mantener un sistema de reconocimiento de patrones al eliminar
algunas de las componentes de los vectores de características. Esta estrategia
corresponde a la introducción de un bloque selector de características entre los bloques
extractores de características.
Página 46
Instituto Politécnico Nacional
Página 47
Instituto Politécnico Nacional
CAPÍTULO 6
REDES NEURONALES
Página 48
Instituto Politécnico Nacional
La misma está constituida por neuronas interconectadas y arregladas en tres capas (esto
último puede variar). Los datos ingresan por medio de la “capa de entrada”, pasan a
través de la “capa oculta” y salen por la “capa de salida”. Cabe mencionar que la capa
oculta puede estar constituida por varias capas.
Antes de comenzar el estudio sobre las redes neuronales, se debe aprender algo sobre
las neuronas y de cómo ellas son utilizadas por una red neuronal. En la Figura 4.2 se
compara una neurona biológica con una neurona artificial. En la misma se pueden
observar las similitudes entre ambas (tienen entradas, utilizan pesos y generan salidas).
Figura 4.2: comparación entre una neurona biológica (izquierda) y una artificial
(derecha).
Mientras una neurona es muy pequeña en sí misma, cuando se combinan cientos, miles
o millones de ellas pueden resolver problemas muy complejos. Por ejemplo el cerebro
humano se compone de billones de tales neuronas.
Página 49
Instituto Politécnico Nacional
con j = 1, 2, …, n
con j = 1, 2, …, n
con j = 1, 2, …, n
Página 50
Instituto Politécnico Nacional
1) Función lineal:
Los valores de salida obtenidos por medio de esta función de activación serán:
a·( - ), cuando el argumento de ( - ) esté comprendido dentro del rango (-
1/a, 1/a). Por encima o por debajo de esta zona se fija la salida en 1 o –1,
respectivamente. Cuando a = 1 (siendo que la misma afecta la pendiente de la gráfica),
la salida es igual a la entrada.
2) Función sigmoidea:
Con
Los valores de salida que proporciona esta función están comprendidos dentro de un
rango que va de 0 a 1. Al modificar el valor de g se ve afectada la pendiente de la
función de activación.
Página 51
Instituto Politécnico Nacional
Con
Binaria:
MECANISMOS DE APRENDIZAJE.
Una red neuronal debe aprender a calcular la salida correcta para cada constelación
(arreglo o vector) de entrada en el conjunto de ejemplos. Este proceso de aprendizaje se
denomina: proceso de entrenamiento o acondicionamiento. El conjunto de datos (o
Página 52
Instituto Politécnico Nacional
conjunto de ejemplos) sobre el cual este proceso se basa es, por ende, llamado: conjunto
de datos de entrenamiento.
Si la topología de la red y las diferentes funciones de cada neurona (entrada, activación
y salida) no pueden cambiar durante el aprendizaje, mientras que los pesos sobre cada
una de las conexiones si pueden hacerlo; el aprendizaje de una red neuronal significa:
adaptación de los pesos.
En otras palabras el aprendizaje es el proceso por el cual una red neuronal modifica sus
pesos en respuesta a una información de entrada. Los cambios que se producen durante
el mismo se reducen a la destrucción, modificación y creación de conexiones entre las
neuronas. En los sistemas biológicos existe una continua destrucción y creación de
conexiones entre las neuronas. En los modelos de redes neuronales artificiales, la
creación de una nueva conexión implica que el peso de la misma pasa a tener un valor
distinto de cero. De la misma manera, una conexión se destruye cuando su peso pasa a
ser cero.
a) Aprendizaje supervisado.
b) Aprendizaje no supervisado.
Otro criterio que se puede utilizar para diferenciar las reglas de aprendizaje se basa en
considerar si la red puede aprender durante su funcionamiento habitual o si el
aprendizaje supone la desconexión de la red, es decir, su inhabilitación hasta que el
proceso termine. En el primer caso, se trataría de un aprendizaje on line, mientras que el
segundo es lo que se conoce como off line.
Página 53
Instituto Politécnico Nacional
Aprendizaje supervisado.
El aprendizaje supervisado se caracteriza porque el proceso de aprendizaje se realiza
mediante un entrenamiento controlado por un agente externo (supervisor, maestro) que
determina la respuesta que debería generar la red a partir de una entrada determinada. El
supervisor controla la salida de la red y en caso de que ésta no coincida con la deseada,
se procederá a modificar los pesos de las conexiones, con el fin de conseguir que la
salida obtenida se aproxime a la deseada.
En este tipo de aprendizaje se suelen considerar, a su vez, tres formas de llevarlo a cabo,
que dan lugar a los siguientes aprendizajes supervisados:
Página 54
Instituto Politécnico Nacional
Aprendizaje estocástico.
Consiste básicamente en realizar cambios aleatorios en los valores de los pesos de las
conexiones de la red y evaluar su efecto a partir del objetivo deseado y de distribuciones
de probabilidad.
Página 55
Instituto Politécnico Nacional
Aprendizaje no supervisado.
Las redes con aprendizaje no supervisado (también conocido como autosupervisado) no
requieren influencia externa para ajustar los pesos de las conexiones entre sus neuronas.
La red no recibe ninguna información por parte del entorno que le indique si la salida
generada en respuesta a una determinada entrada es o no correcta.
1) Aprendizaje hebbiano.
2) Aprendizaje competitivo y comparativo.
Aprendizaje hebbiano.
Esta regla de aprendizaje es la base de muchas otras, la cual pretende medir la
familiaridad o extraer características de los datos de entrada. El fundamento es una
suposición bastante simple: si dos neuronas y toman el mismo estado
simultáneamente (ambas activas o ambas inactivas), el peso de la conexión entre ambas
se incrementa.
Página 56
Instituto Politécnico Nacional
Redes monocapa.
En las redes monocapa, se establecen conexiones entre las neuronas que pertenecen a la
única capa que constituye la red. Las redes monocapas se utilizan generalmente en
tareas relacionadas con lo que se conoce como autoasociación (regenerar información
de entrada que se presenta a la red de forma incompleta o distorsionada).
Redes multicapa.
Las redes multicapas son aquellas que disponen de un conjunto de neuronas agrupadas
en varios (2, 3, etc.) niveles o capas. En estos casos, una forma para distinguir la capa a
la que pertenece una neurona, consistiría en fijarse en el origen de las señales que recibe
a la entrada y el destino de la señal de salida. Normalmente, todas las neuronas de una
capa reciben señales de entrada desde otra capa anterior (la cual está más cerca a la
entrada de la red), y envían señales de salida a una capa posterior (que está más cerca a
la salida de la red). A estas conexiones se las denomina conexiones hacia adelante o
feedforward.
Sin embargo, en un gran número de estas redes también existe la posibilidad de conectar
la salida de las neuronas de capas posteriores a la entrada de capas anteriores; a estas
conexiones se las denomina conexiones hacia atrás o feedback.
Estas dos posibilidades permiten distinguir entre dos tipos de redes con múltiples capas:
las redes con conexiones hacia adelante o redes feedforward, y las redes que disponen
de conexiones tanto hacia adelante como hacia atrás o redes feedforward/feedback.
Cuando ninguna salida de las neuronas es entrada de neuronas del mismo nivel o de
niveles precedentes, la red se describe como de conexión hacia delante (ver Figura 4.1).
Cuando las salidas pueden ser conectadas como entradas de neuronas de niveles previos
o del mismo nivel, incluyéndose ellas mismas, la red es de conexión hacia atrás.
Las redes de propagación hacia atrás que tienen lazos cerrados son llamadas: sistemas
recurrentes.
Página 57
Instituto Politécnico Nacional
El cambio de los pesos en las conexiones de las neuronas además de influir sobre la
entrada global, influye en la activación y por consiguiente en la salida de una neurona.
Por lo tanto, es de gran utilidad considerar las variaciones de la función activación al
modificarse el valor de los pesos. Esto se llama sensibilidad de la función activación, de
acuerdo al cambio en los pesos.
Las Redes Hopfield se emplean para reconocer patrones. Después que el aprendizaje
haya llegado a su fin, la red neuronal debe ser capaz de dar una salida correcta para cada
patrón de entrada dado, aun cuando este sea ruidoso.
La clave del aprendizaje Hopfield es que si un patrón que tiene que ser aprendido se
conoce, los pesos sobre cada conexión de la red neuronal pueden ser calculados. En esta
circunstancia, solamente el estado de las neuronas cambia durante el proceso de
aprendizaje. Este cálculo garantiza que cada patrón aprendido corresponda a un mínimo
de la función energía.
Página 58
Instituto Politécnico Nacional
Para calcular el peso de una conexión cualquiera, (y por simetría para la conexión
), en una Red Hopfield se utiliza la siguiente ecuación:
Generalmente es aconsejable trabajar con esta ecuación cuando los patrones que se han
de aprender no son muy semejantes unos a otros, y si el número de ceros y unos son
similares para todos los patrones. Con respecto al número de ceros y unos, el umbral de
cada neurona puede utilizarse para regular esto, distinguiéndose así dos casos posibles:
a) Si hay más 0s que 1s el umbral tiene que disminuirse, porque que las neuronas
tienen una probabilidad más alta para hacerse inactivas que para hacerse activas.
b) Si hay más 1s que 0s el umbral tiene que incrementarse, porque las neuronas
tienen una probabilidad más alta para hacerse activas que para hacerse inactivas.
PRINCIPALES APLICACIONES
Las redes neuronales pueden utilizarse en un gran número y variedad de aplicaciones,
tanto comerciales como militares.
Hay muchos tipos diferentes de redes neuronales; cada uno de los cuales tiene una
aplicación particular más apropiada. Algunas aplicaciones comerciales son:
Biología:
- Aprender más acerca del cerebro y otros sistemas.
- Obtención de modelos de la retina.
Empresa:
- Evaluación de probabilidad de formaciones geológicas y petrolíferas.
- Identificación de candidatos para posiciones específicas.
- Explotación de bases de datos.
- Optimización de plazas y horarios en líneas de vuelo.
-Optimización del flujo del tránsito controlando convenientemente la
temporización de los semáforos.
Página 59
Instituto Politécnico Nacional
Desde el punto de vista de los casos de aplicación, la ventaja de las redes neuronales
reside en el procesado paralelo, adaptativo y no lineal.
Asociación y clasificación.
En esta aplicación, los patrones de entrada estáticos o señales temporales deben ser
clasificadas o reconocidas. Idealmente, un clasificador debería ser entrenado para que
cuando se le presente una versión distorsionada ligeramente del patrón, pueda ser
reconocida correctamente sin problemas. De la misma forma, la red debería presentar
cierta inmunidad contra el ruido, esto es, debería ser capaz de recuperar una señal
"limpia" de ambientes o canales ruidosos. Esto es fundamental en las aplicaciones
holográficas, asociativas o regenerativas.
Página 60
Instituto Politécnico Nacional
Regeneración de patrones.
En muchos problemas de clasificación, una cuestión a solucionar es la recuperación de
información, esto es, recuperar el patrón original dada solamente una información
parcial. Hay dos clases de problemas: temporales y estáticos. El uso apropiado de la
información contextual es la llave para tener éxito en el reconocimiento.
Regeneración y generalización.
El objetivo de la generalización es dar una respuesta correcta a la salida para un
estímulo de entrada que no ha sido entrenado con anterioridad. El sistema debe inducir
la característica saliente del estímulo a la entrada y detectar la regularidad. Tal habilidad
para el descubrimiento de esa regularidad es crítica en muchas aplicaciones. Esto hace
que el sistema funcione eficazmente en todo el espacio, incluso cuando ha sido
entrenado por un conjunto limitado de ejemplos.
Optimización.
Las Redes Neuronales son herramientas interesantes para la optimización de
aplicaciones, que normalmente implican la búsqueda del mínimo absoluto de una
función de energía. Para algunas aplicaciones, la función de energía es fácilmente
deducible; pero en otras, sin embargo, se obtiene de ciertos criterios de coste y
limitaciones especiales.
Página 61
Instituto Politécnico Nacional
CAPÍTULO 7
EL AMBIENTE MATLAB
Los soportes estándares de MATLAB para datos y video incluyen JPEG, TIFF, PNG,
HDF, HDF-EOS, FITS, Microsoft Excel, ASCII, y archivos binarios. Al igual que esto
seremos capaces de soportar formatos de imágenes multibanda como LANDSAT. Las
funciones de bajo nivel E/S nos permiten desarrollar rutinas para trabajar con cualquier
formato de dato.
Dentro del ambiente de Simulink, Los bloques para Video e Imagen soporta archivos
multimedia como son: AVI, MPEG, WMV, o cualquier tipo soportado por Windows
Media (en la plataforma de Windows únicamente). En lo que a procesamiento de
imágenes medicas se refiere, puede soportar formatos de archivos tales como DICOM.
Página 62
Instituto Politécnico Nacional
Con MATLAB no se tienen que desarrollar algoritmos desde cero o trabajar con
interfaces complicadas para librerías externas, como es común con C y C++. Tú puedes
realizar algoritmos para el procesamiento de imágenes en MATLAB tal como se
expresan en su forma matemática. La mayor parte de algoritmos en el Toolbox de
procesamiento de imágenes son implementados dentro del lenguaje de MATLAB, lo
cual nos permite aprender de estos. En adición, nosotros podemos incorporar otros
algoritmos al toolbox de MathWorks, tal como Procesamiento de Señales, Wavelet,
Redes Neuronales y Estadística.
Página 63
Instituto Politécnico Nacional
Por ejemplo, en una imagen compuesta por 200 filas y 300 columnas de diferentes
puntos de colores podría ser guardada en MATLAB como una matriz de 200 por 300.
Algunas imágenes, como imágenes en color real, requieren un arreglo de tres
dimensiones, donde el primer plano en la tercera dimensión representa la intensidad del
pixel rojo, el segundo plano representa la intensidad del pixel verde, y el tercer plano
representa la intensidad del pixel azul. Esta convención realiza trabajos con imágenes en
MATLAB similar al trabajo con cualquier otro tipo de datos de matrices.
Página 64
Instituto Politécnico Nacional
Para las coordenadas del pixel, el primer componente r (la fila) se incrementa de forma
descendiente, mientras que el segundo componente c (la columna) se incrementa a la
derecha. Las coordenadas del pixel son valores completos y el rango varía entre 1 y la
longitud de las filas o columnas.
Esta es una correspondencia uno a uno entre las coordenadas del pixel y las coordenadas
de MATLAB usadas por la matriz. Esta correspondencia realiza la relación entre la
matriz de datos de imagen y la manera que la imagen es desplegada fácilmente para
entender. Por ejemplo, el dato para el pixel en la quita fila, segunda columna es
guardada en el elemento de la matriz [5,2].
Coordenadas espaciales
En el sistema de coordenadas del pixel, un pixel es tratado como una unidad discreta,
únicamente identificada por una simple par de coordenadas, como (5,2). Desde esta
perspectiva, una locación como lo es (5.3,2.2) no tiene significado alguno.
Para este momento, aunque, el uso de los pixeles se cree como un parche cuadrado. Para
esta perspectiva una localidad como lo es (5.3,2.2) es significativa, y es distinta de (5,2).
En este sistemas de coordenadas, locaciones en la imagen son posiciones en un plano, y
estas se describen en términos de x y y (no de r y c como en el sistema de coordenadas
del pixel). La siguiente figura ilustra el sistema de coordenadas espaciales usado para
las imágenes. Nótese que y incrementa hacia abajo.
Página 65
Instituto Politécnico Nacional
FUNCIONES BÁSICAS
El toolbox puede ahora leer y escribir metadatos privados, aunque cuando estos no esten
definidos en el diccionario de datos de DICOM. Cuando los metadatos privados no
están dentro del diccionario de datos, dicomread usa nombres genéricos para los campos
de los metadatos, más aun que los nombres descriptivos disponibles para las cualidades
definidas en el diccionario de los datos.
Puedes crear un diccionario encargado de los datos que contenga definiciones de tus
metadatos privados, usando la función dicomdict.
La función bwdist producelos resultados correctos para iamgenes muy grandes (tales
como 10000-a-5000).
La función dicomread provoca no usar mas el "Error usando nuevamente la forma" del
mensaje cuando leemos un archivo DICOM que contiene los datos y recubrimientos del
multiframe almacenados en los datos del pixel en el metadato.
La función dicomwrite puede ahora manejar correctamente cualidades de los datos con
VMs multiple (multiplicidad del valor).
La función del dicomwrite ahora produce los resultados correctos para el tipo de la
compresión de RLE (codificación de la funcionar-longitud) cuando el número de bits
por pixel es mayor que 8.
La función de im2col, cuando es llamada con el sintaxis im2col (1: N, [1 N]), ahora
vuelve un vector columna.
La función del imview, cuando es llamada con el imview del sintaxis (I, []), donde está
una imagen I constante, produce no mayor a un mensaje de alerta sobre un polinomio
gravemente condicionado.
La función del montage exhibe muestra una fila en blanco adicional al exhibir ciertos
múltiplos de imágenes.
La función del stretchlim ahora utiliza más compartimientos para alcanzar mejores
resultados para las imágenes de la entrada de la clase uint16 o dobles.
Página 66
Instituto Politécnico Nacional
Usando las funciones imread o dicomread, es posible leer datos que han sido
comprimidos usando la compresión sin perdida JPEG.
Para determinar si un archivo TIFF contiene un perfil ICC, hacemos uso de la función
imfinfo para recuperar la información acerca del archivo. Si los datos vueltos contienen
el campo ICCProfileOffset, el archivo contiene un perfil encajado ICC.
Arreglos de applycform
La función applycform no aplicaba algunos perfiles correctamente cuando la entrada de
color estaba en el espacio de color XYZ. Especificamente, los perfiles que contenían
una tabla de búsqueda de 8-bit o 16-bit que contenían una matríz de no-identidad "E" no
eran procesados correctamente por applycform.
Página 67
Instituto Politécnico Nacional
ANÁLISIS DE IMÁGENES
El Toolbox de Procesamiento de Imágenes provee un comprensible grupo de algoritmos
de referencia-estándar y herramientas graficas para las tareas del análisis de imágenes,
incluyendo:
Página 68
Instituto Politécnico Nacional
Una típica sesión usando MATLAB y las herramientas del Procesador de Imágenes
para el análisis de componentes conectados a una imagen con un fondo de una
intensidad no uniforme.
Visualización de Imágenes
El Toolbox de procesamiento de imágenes provee un ambiente integrado para la
exploración y despliegue de imágenes interactivas. Es posible cargar una imagen de un
archivo o desde el workspace de MATLAB, ajustar su contraste, examinar una región
de pixeles, ver la información de la imagen, haciendo unos del zoom, y seguir su
localización en una imagen grande usando la ventana de descripción. El ambiente de la
exhibición de la imagen es modular y abre, permitiendo modificar las herramientas para
proveer y adicionar lo necesario.
Página 69
Instituto Politécnico Nacional
I = imread('huella.png');
imshow(I)
background = imopen(I,strel('disk',15));
% Despliega la aproximación del fondo como una superficie
figure, surf(double(background(1:8:end,1:8:end))),zlim([0 255]);
set(gca,'ydir','reverse');
250
200
150
100
50
0
0
10 40
35
30
20 25
20
30 15
10
5
40 0
Página 70
Instituto Politécnico Nacional
Desde que la imagen y el fondo son de clase uint8, se usa la función IMSUBTRACT
para substraer el fondo.
I2 = imsubtract(I,background);
imshow(I2)
I3 = imadjust(I2);
imshow(I3);
level = graythresh(I3);
bw = im2bw(I3,level);
imshow(bw)
Página 71
Instituto Politécnico Nacional
grain =
0 0 0 39 39 39 39 39 39 39 39
39 39 39 39 39 39 39 39 39 39 39
39 39 39 39 39 39 39 39 39 39 39
39 39 39 39 39 39 39 39 39 39 39
39 39 39 0 0 39 0 39 39 39 39
39 39 39 0 0 39 39 39 39 39 39
39 39 39 0 39 39 39 39 39 39 39
39 39 0 39 39 39 39 39 39 39 39
39 39 39 39 39 39 39 39 39 39 39
0 39 39 39 39 39 39 39 39 39 39
39 39 39 39 39 39 0 0 0 0 0
Un buen camino para ver la matriz de etiquetas es desplegar la imagen indexada como
un pseudo-color. En la imagen de pseudo-color, el número que identifica cada objeto en
el mapa de la matriz de etiquetas tiene un color diferente asociado a la matriz de
colormap. Se usa LABEL2RGB para elegir colormap, el color de fondo, y como los
objetos en el mapa de matriz de etiquetas para los colores en el colormap.
Página 72
Instituto Politécnico Nacional
graindata = regionprops(labeled,'basic')
graindata =
graindata =
% Para buscar el área de los componentes etiquetados con 50s, se usa una notación en
punto para accesar al campo de área de los elementos 50 en el arreglo de estructura
graidata.
graindata(50).Area
ans =
203
Creando un nuevo vector allgrains el cual contiene las medidas de cada objeto
allgrains = [graindata.Area];
max_area = max(allgrains) % Buscando el valor máximo del área para todos los
objetos.
max_area =
26399
Página 73
Instituto Politécnico Nacional
39
200.2383
nbins = 20;
figure,hist(allgrains,nbins)
200
180
160
140
120
100
80
60
40
20
0
0 0.5 1 1.5 2 2.5 3
4
x 10
AMBIENTE GUI
Con los datos obtenidos se creo un ambiente gráfico para que el usuario tuviera la
posibilidad de hacer uso de este programa a través de un menú, dentro de este se listan
las posibles acciones a realizar, desde la simple visualización de la imagen hasta la
comparación con una base datos haciendo uso de una red neuronal. Los resultados de
muestras a continuación:
Página 74
Instituto Politécnico Nacional
Pantalla de bienvenida
Pantalla de menú
Página 75
Instituto Politécnico Nacional
Visualización de la imagen
Página 76
Instituto Politécnico Nacional
Fondo de la imagen
Imagen binarizada
Página 77
Instituto Politécnico Nacional
Página 78
Instituto Politécnico Nacional
Mejoramiento de la imagen
Campo de orientación
Página 79
Instituto Politécnico Nacional
Comparación de la imagen
En caso contrario:
Página 80
Instituto Politécnico Nacional
Terminar simulación
Página 81
Instituto Politécnico Nacional
JUSTIFICACIÓN ECONÓMICA
Existen varios sistemas existentes para el reconocimiento de huellas pero son realmente
costosos. Para la realización de este proyecto sólo fue necesario contar con una
computadora de escritorio, el software de matlab y nuestro trabajo intelectual, por la
realización del proyecto no genero un costo directo.
1100 € 35 €
$ 16500.00 $5000.00
Por lo que podemos observar el costo de nuestro sistema es mucho menor a los
existentes actualmente, esto nos permitiría que fuera más fácil de adquirir y ayudaría a
implementar sistemas de acceso más seguros.
Página 82
Instituto Politécnico Nacional
TRABAJO A FUTURO
Para el trabajo a futuro sería adecuado realizar un escáner para la lectura de las huellas
dactilares, así como también realizar una mejora al software y poder hacerlo más
amigable a los usuarios. Además que este mismo software nos permitiría realizar la
identificación también con el iris o la palma de la mano.
Una implementación seria tanto para los sistemas de seguridad como para el empleo de
la solución de crímenes en las agencias de investigaciones.
Página 83
Instituto Politécnico Nacional
CONCLUSIONES
El primero paso a realizar es adquirir las imágenes biométricas, para así poder realizar
el análisis de ella y poder extraer las características necesarias para realizar el control
adecuado. Para el caso de este trabajo tomamos una base de datos existente para así
poder minimizar los costos del proyecto, dichas bases de datos se encuentran
disponibles para que se continúen las investigaciones para proponer nuevos software,
además que en este trabajo nos enfocamos al desarrollo de un nuevo software
específicamente.
Una vez que se tiene procesada la imagen y se tienen adquiridas las características
propias de cada individuo, utilizamos una red neuronal para realizar la comparación con
nuestra base de datos, el cuál debe de tener almacenado los diferentes patrones de cada
imagen. Se decidió utilizar una red neuronal porque nos permitía realizar una
comparación muy aproximada de los datos existentes en nuestro sistema además de
tener un menor rango de error de aproximadamente un 3%. La red neuronal que
utilizamos fue una red estática, debido a que esta ya fue entrenada para obtener los
valores que utilizaremos los cuales estarán contenidos en una base de datos (sistema)
específico.
Página 84
Instituto Politécnico Nacional
*Arch: Arco
* Whorlt: Remolino
*Hardware:Dispositivos
*Software: Programa
*Scanner: Escaner
* inkless
* enhancement: Aumento
* Hit-miss
* Skeleton: Esqueleto
*test: Prueba
* matching: Emparejar
Página 85
Instituto Politécnico Nacional
* Liveness Check
Página 86
Instituto Politécnico Nacional
MEDIOS DE INFORMACION
Página 87
Instituto Politécnico Nacional
APENDICE
DESARROLLO DE LA APLICACIÓN
function presentacion
clear,clc,cla,close all
'Menubar','none','color',[0 0 0]);
axes('Units','Normalized','Position',[0 0 1 1]);
[x,map]=imread('imagen.jpg','jpg');
image(x),colormap(map),axis off,hold on
'Fontsize',20,'Fontangle','Italic','Fontweight','Bold','color',[0 1 1]);
'Fontsize',20,'Fontangle','Italic','Fontweight','Bold','color',[0 1 1]);
'Italic','Fontweight','Bold','Fontsize',14,'color',[1 1 1]);
'Fontangle','Italic','Fontweight','Bold','Fontsize',14,'color',[1 1 1]);
'Fontangle','Italic','Fontweight','Bold','Fontsize',14,'color',[1 1 1]);
botok=uicontrol('Style','pushbutton', ...
'Units','normalized', ...
'String','CONTINUAR',...
Página 88
Instituto Politécnico Nacional
gui_Singleton = 1;
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
else
gui_mainfcn(gui_State, varargin{:});
end
background = imread('escudo.jpg');
imshow(background);
background = imread('escudo1.jpg');
imshow(background);
handles.output = hObject;
varargout{1} = handles.output;
Página 89
Instituto Politécnico Nacional
I = imread(handles.direccion);
I2 = imsubtract(I,handles.background);
I3 = imadjust(I2);
level = graythresh(I3);
bw = im2bw(I3,level);
imshow(bw)
handles.bw=bw;
graindata = regionprops(handles.labeled,'basic')
graindata(50).Area
allgrains = [graindata.Area];
max_area = max(allgrains) % Buscando el valor máximo del área para todos los granos.
biggrain = find(allgrains==max_area)
mean(allgrains
nbins = 20;
hist(allgrains,nbins)
Página 90
Instituto Politécnico Nacional
I = imread(handles.direccion);
Iad = imadjust(I);
imshow(Iad);
I=imread('handles.direccion');
I2=imread('110_4.tif');
I3=[I I2];
i=0;
if I3(:,1:300)==I
imshow(I)
end
for j=1:512
for i=1:256
if I3[j,i]==I
imshow(I3);
else
input('NO ENCONTRADO');
end
end
end
I = imread(handles.direccion);
imshow(I);
Página 91
Instituto Politécnico Nacional
[labeled,numObjects] = bwlabel(handles.bw,4);
handles.labeled=labeled;
numObjects
grain = imcrop(labeled,rect)
imshow(RGB_label);
pos_size = get(handles.figure1,'Position');
switch user_response
case {'No'}
case 'Si'
delete(handles.figure1)
end
if isequal(FileName,0)
return
Página 92
Instituto Politécnico Nacional
else
imag=imread(strcat(Path,FileName));
end
handles.direccion=strcat(Path,FileName);
I = imread(handles.direccion);
background = imopen(I,strel('disk',15));
handles.background=background;
guidata(hObject,handles)
axes(handles.axes2)
axis off;
surf(double(background(1:8:end,1:8:end))),zlim([0 255]);
set(gca,'ydir','reverse');
Página 93