Download BIOMETRIA OPTICA DE IRIS
Document related concepts
no text concepts found
Transcript
Biometria optica de iris BIOMETRIA OPTICA DE IRIS Evanny Obregón Gamarra Universidad Peruana de Ciencias Aplicadas (UPC) Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica, Lima – Perú u010262@upc.edu.pe Renato Oviedo Frasson Universidad Peruana de Ciencias Aplicadas (UPC) Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica, Lima – Perú a910455@upc.edu.pe, renato.oviedo@gmail.com Prof. Guillermo Kemper Vásquez Universidad Peruana de Ciencias Aplicadas (UPC) Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica, Lima – Perú pcelgkem@upc.edu.pe R ESUMEN El proyecto consiste en implementar un sistema de identificación biométrica a través del iris de una persona utilizando una PC para realizar el procesamiento de las imágenes. El desarrollo y prueba de los algoritmos se realizó en MATLAB, posteriormente se pasaron todos los algoritmos a C++ utilizando Borland C++ Builder. Se creo una interfaz gráfica en la PC con la cual el usuario puede capturar imágenes provenientes de una cámara digital (WebCam). Posteriormente, la imagen capturada es procesada digitalmente para obtener un código que la caracterice. Se usan algoritmos de pre procesamiento de imágenes para poder mejorar la calidad de la imagen y poder extraer la mayor cantidad de información de la misma. El código que caracteriza a una imagen del Iris se construye utilizando Waveletes tipo Haar. El código del iris esta compuesto de 366 bits con lo cual se obtiene 1.5031x10110 códigos diferentes. Las pruebas de los algoritmos de codificación se realizaron con una muestra extraída de una base de datos de imágenes del iris obtenidas de Internet (CASIA Iris Image Database v1.0). La base de datos esta compuesta de 749 imágenes, 7 imágenes de 108 individuos distintos. Las pruebas realizadas con una muestra de 40 individuos (280 imágenes) arrojaron valores por encima del 98% de certeza de algoritmo propuesto. ABSTRACT The project consists on implementing a biometric identification system through the human iris using a PC for digital image processing. Development and test of algorithms were made in MATLAB, after that all the algorithms were developed in C++ using Borland C++ Builder. A graphic interface for the PC UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) was created; there the user can capture images from a digital camera (WebCam). Then the captured image is digital processed to obtain a characterization code. Pre processing and enhancement algorithms are used to improve image quality and obtain a big amount of information. Haar type Wavelets are used to construct the characterization code of an iris. The code have 366 bits, which makes a total of 1.5031x10110 distinct codes. The algorithms test were made with a sample extracted of a data base of iris images obtained form the Internet (CASIA Iris Image Database v1.0). The data base this composing of 749 images, 7 images of 108 different individuals. The tests made with a sample of 40 individuals (280 images) threwvalues over 98% of certainty of proposed algorithm. I. INTRODUCCIÓN La biometría se basa en la premisa de que cada individuo es único y posee rasgos físicos distintivos o de comportamientos, los cuales pueden ser utilizados para identificarla o validarla. El iris humano es una estructura única por individuo que forma un sistema muy complejo inalterable durante toda la vida de la persona. Desde hace unos años el iris humano se viene utilizando para la autenticación de usuarios. Para ello, se captura una imagen del iris en blanco y negro, en un entorno correctamente iluminado, usando una cámara de alta resolución. Generalmente esto se hace mirando a través del lente de una cámara fija, la persona simplemente se coloca frente a la cámara y el sistema captura la imagen del iris, ésta imagen se procesa para extraer 1 Biometria optica de iris patrones, que a su vez son sometidos a algoritmos matemáticos hasta obtener una cantidad de datos suficiente para los propósitos de identificación. Esa muestra es comparada con otra tomada con anterioridad y almacenada en la base de datos del sistema, de forma que si ambas coinciden el usuario se considera autenticado con éxito; la probabilidad de una falsa aceptación es la menor de todos los modelos biométricos. II. OBJETIVOS • • • • Desarrollar un método robusto de codificación del iris. Comprender y aplicar las diferentes técnicas y algoritmos utilizados en el procesamiento digital de imágenes. Realizar pruebas que comprueben la eficiencia del método propuesto. Programar todos los algoritmos e interfaces en C++, a fin de poder realizar una codificaron extremadamente rápida y eficiente. III. D ESCRIPCIÓN DEL S ISTEMA En la Figura 1, se muestra el diagrama de bloques del proceso. Captura de la imagen Pre procesamiento de la imagen 3.1. Pre-procesamiento de la imagen A fin de poder extraer la zona de interés (iris) de la imagen capturada, se aplican ciertos filtros sobre la misma. El primer paso es aplicar un filtro de mediana, el cual uniformiza la conjuntiva del ojo. Esto sirve para que los bordes de las pestañas, pupila e iris sean más marcados, de tal forma que puedan ser mejor identificados el las siguientes etapas. Téngase en cuenta que en esta etapa no se pretende resaltar ningún detalles de la imagen con fines de codificación, tal solo se resaltan los bordes de la zona de interés para su posterior extracción. El segundo paso es hallar el histograma de la imagen y obtener un valor umbral para binarizar la misma. La pupila del ojo aparece en el histograma como un pico bien marcado en los valores bajos de intensidad de gris (dado que la pupila es negra). Esto permite ubicar el umbral de binarización un poco mas delante de los valores de la pupila. Por ultimo, la imagen es binarizada y la pupila de aparece como un circulo* negro sobre un fondo blanco, también aparecen otros objetos, los cuales son eliminados utilizando un algoritmo de etiquetado. El etiquetar todos los objetos de la imagen, se elige al más grande, el cual representa a la pupila. Al final esta etapa se tiene la imagen de la pupila (representada por un círculo negro) sobre un fondo blanco. * La pupila se asemeja a un círculo, pero por efectos de luz, reflejos, etc. algunas veces aparece cortada o deforme. Estos errores con corregidos en la siguiente etapa, en la cual se detecta el radio y el centro de la pupila dentro de la imagen con gran precisión. 3.2. Extracción de la zona de interés Extracción de la zona de interés (Iris) Conversión a coordenadas polares Codificación Comparación con códigos de la base de datos Validación Figura 1. Diagrama de bloques del sistema UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 3.2.1 Hallando el centro y radio de la pupila El algoritmo de detección de círculos7 consiste en hallar la gradiente de la imagen, los vectores gradientes del círculo buscado apuntan hacia fuera y son perpendiculares al borde la imagen (círculo) (ver Figura 2), por simetría del centro del círculo por cada vector existirán dos vectores en direcciones opuestas, la fase entre estos dos vectores debe ser aproximadamente 180 grados. Además, el vector que une dos puntos del circulo, separados 180 grados entre sí, debe tener la misma dirección de que el vector gradiente (ver Figura 3). El segundo paso es aplicado para encontrar todos los pares de vectores que cumplan con las condiciones anteriores. El tercer paso es considerar un círculo candidato por cada par de vectores, cada uno tiene su propio centro. Finalmente, el círculo correcto es extraído entre todos los círculos candidatos mediante el almacenamiento de las 2 Biometria optica de iris coordenadas del centro de cada (Cx,Cy) círculo y su radio(r), luego se halla el histograma de los valores almacenados(Cx,Cy,r) detectando cuales son los de mayor ocurrencia, los cuales corresponden al círculo correcto. Este algoritmo, también nos otorga las coordenadas de centro de la pupila y el radio de esta. Luego, considerando la pupila concéntrica con el iris en el eje vertical, pero no en el eje horizontal. Se asume como coordenada del centro del iris en el eje x la coordenada del centro de la pupila del eje x; en el eje y se toma el radio del iris como referencia para hallar la coordenada “y” del centro del iris. Conociendo las coordenadas del centro del iris y su radio, se traza una circunferencia de color blanco sobre un fondo negro. Se realiza una operación AND entre la imagen captura y las dos mascaras de extracción, consiguiendo aislar la zona de interés (el anillo del iris) en la imagen. 3.3. Pre – procesamiento de imágenes para codificación Figura 2. Vectores gradiente del circulo A fin de incrementar la eficiencia de los códigos, se probaron algunos métodos de pre – procesamiento de imágenes para poder resaltar bordes, detalles y demás características del iris que aumentaran la certeza de los códigos a probar. 3.3.1 Estiramiento de histograma Figura 3. Vectores gradiente opuestos (180°) Habiendo identificado el círculo de la pupila y sus coordenadas de centro; así como el radio de la misma; la pupila es aislada mediante una máscara de extracción, en la cual el círculo de la pupila es de color negro en un fondo blanco. Las imágenes del iris tienen un histograma centrado en un valor de gris aproximadamente igual a 150, las componentes de gris de la imagen se extienden de 80 hasta 200 aproximadamente. Es por esto que las bandas comprendidas entre 1 – 80 y 200 – 255, son aprovechadas para estirar el histograma de la imagen. En la figura 4 y en la figura 5 se muestran respectivamente las imágenes de iris antes y después de la aplicación de la técnica de estiramiento de histograma. 3.2.2. Hallando el centro y radio del iris Para extraer el borde externo del iris se aplica estiramiento de histograma de la imagen en escala de grises original, luego se aplican el filtro de mediana para uniformizar las regiones y eliminar falsos contornos, seguidamente se aplican los filtros Canny con un alfa adecuado que permita resaltar el borde externo del iris y facilitar la detección del mismo mediante la función D. Esta función realiza un barrido radial (Är) y angular del iris (Äè) buscando el radio donde maximice D. D = ∑∑ (I n,m − I n −k ,m ) Figura 4. Imagen original 5 (1) m k =1 siendo: I i , j = I ( x0 + i∆ r Cos ( j∆θ ), y 0 + i∆ r Sen ( j∆θ ) ) (2) UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) Figura 5. Imagen resultante de la aplicación de la técnica de estiramiento de histograma 3 Biometria optica de iris 3.3.2 Incremento de Contraste Se implemento también un programa que aumenta el contraste de los pixeles que se encuentran entre 80 y 200 en escala de grises, las demás intensidades se hacen cero para que no influyan en el procesamiento. En la figura 6 y en la figura 7 se muestran respectivamente las imágenes de iris antes y después de la aplicación de la técnica de incremento de constraste. Esto se logra con el siguiente procedimiento: los parámetros θ (θ ∈ [0 ; 2π]) y ρ (ρ ∈ [0 ; 1]) describen el sistema de coordenadas polar y la siguiente transformación mediante la I ( x (ρ , θ ), y (ρ , θ )) → I (ρ , θ ) , implementación de las siguientes ecuaciones. x (ρ, θ) = (1 − ρ ) * x p (θ) + ρ * x i (θ ) y(ρ, θ) = (1 − ρ ) * y p (θ) + ρ * y i (θ) (3) (4) Con: x p (θ) = x p 0 (θ) + rp * cos(θ) y p (θ) = y p 0 (θ) + rp * sin(θ ) x i (θ) = x i 0 (θ) + ri * cos(θ) yi (θ) = y i 0 (θ) + ri * sin(θ) (5) (6) (7) (8) En donde: Figura 6. Imagen original Xp0 = centro de la pupila en x. Yp0 = centro de la pupila en y. Xi0 = centro del iris en x. Yi0 = centro del iris en y. rp = radio de la pupila. ri = radio del iris. A fin de que no se pierda información al momento de realizar la transformación los deltas de ρ y de θ se toman como sigue: Figura 7. Imagen resultante de la aplicación de la técnica de incremento de constraste. 3.4 Transformación a coordenadas polares Una vez extraído el iris de la imagen del ojo, se debe realizar un cambio de coordenadas a fin de poder extraer las características del iris y poder armar un código que lo identifique. La idea es obtener una representación rectangular del iris (ver Fig. 8). dρ = 1 ri − rp (9) dθ = 1 2 * π * ri (10) En realidad estos dos parámetros son valores fijos precalculados, debido a que se desea obtener imágenes del mismo tamaño al momento de realizar la transformación de coordenadas. 3.5 Algoritmos de codificación Caracterización de imágenes mediante la wavelet tipo Haar. A partir de la imagen del iris en formato polar, se aplica la transformada Haar a la imagen hasta llegar al nivel 5 del árbol (ver Fig.9). En las primeras pruebas se aplicaba la transformada Haar hasta obtener el nivel nivel 4. Figura 8. Procedimiento de representación rectangular de la imagen de iris UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) Luego se codificaba el nivel 4HH, para así crear el código. Este tipo de codificación no funcionó adecuadamente y no se obtuvieron los resultados deseados. Por ello se pensó en realizar otro tipo de codificación pero sin dejar de usar la transformada Haar. 4 Biometria optica de iris pierden algunas texturas necesarias para que la codificación sea más eficiente. Por el contrario, si el delta es muy grande, se pierde información porque no todos los píxel de la imagen original son llevados a la nueva representación. Se determino que le valor apropiado para delta es 0.009. IV.- PRUEBAS Y RESULTADOS Para evaluar los resultados de los códigos propuestos se evaluaron los siguientes parámetros. Se aplico la transformada Haar hasta llagar al nivel 5 y se realizo otro tipo de codificación. Se realizaron pruebas utilizando diferentes bandas de filtraje para construir el código, se concluyo que las bandas que caracterizan a una imagen del iris son las siguientes: 4HL, 4LH, 4HH, 5HL, 5LH y 5HH. Para cada una de las bandas resultantes (identificado con I(x,y)), la forma de codificación fue la binarización. Es decir, 1 I(x, y) > 0 f (x , y) = 0 I(x , y) ≤ 0 (11) Además se incluyeron los valores promedio de cada una de las sub-imágenes mencionadas. Este tipo de codificación aumento la eficiencia del código incrementando las diferencias entre códigos de distintas imágenes. Así mismo, también se modificaron ciertos parámetros al momento de convertir el sistema de coordenadas de las imágenes. Además del tipo de codificación Haar, también se tuvieron en cuenta otros factores. Región del iris a utilizar: En ciertas imágenes el iris se ve obstruido por el parpado o por alguna pestaña, es por eso que se probo la codificación del iris utilizando solo ciertas regiones, las cuales estén libres de cualquier agente extraño que puede adulterar las características del iris. Se llego a la conclusión de que la región que menos problemas presenta es una región trapezoidal de 50º a cada lado del iris (ver Fig.8). Rango de verdaderos reconocimientos VR (%): Representa el número de identificaciones que se realizaron acertadamente. Rango de Falso de reconocimiento FR (%): Aquellos códigos que se identificación falsamente como verdaderos. Rango de verdaderos rechazos VRC (%): Representa los códigos que fueron acertadamente rechazados. Rango de falsos rechazos FRC (%): Representa los códigos que fueron erróneamente rechazados y tomados como falsos. A fin de comprobar la eficiencia del código, se realizaron pruebas con 40 usuarios, de los cuales 35 son extraídos de la base de datos de Internet y los otros 5 son propios. Estos son los resultados. Verdaderos reconocimientos (%) Falsos reconocimientos (%) Verdaderos rechazos (%) Falsos rechazos (%) 98.66 1.12 98.87 1.33 Se utilizó la distancia de Hamming como medida de validación de códigos. También se probaron otros códigos, los cuales no tuvieron el grado de certeza que si tiene Haar. Uno de ellos fue la firma del iris, el cual se compara con el método de Haar en la Figura 10. Comparación de códigos 120 100 Porcentaje Figura 9. Transformada bidimensional de wavelets de Haar : arbol de descomposición en 5 niveles VR 80 FR 60 VRC FRC 40 20 0 Haar Firma Tipo de Codificación Parámetros del algoritmo de cambio de sistema de coordenadas: Se notó que al cambiar los parámetros del algoritmo que convierte la representación del sistema de cordeadas del iris, esto influye de gran manera en los resultados de la posterior codificación. Figura 10. Método de Haar vs. firma del iris Producto final (Entorno Visual - Fig. 11): Descripción del proceso: Si se usa un delta muy pequeño la imagen crece debido a la redundancia de pixels, pero a la vez se UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 5 Biometria optica de iris Botón Abrir Imagen, abre un cuadro de dialogo que permite seleccionar la ruta de la imagen que se desea codificar para su posterior autenticación o almacenamiento en la base de datos. [4] [5] [6] [7] Figura 11. Aplicación C++ Builder – Entorno Visual Botón Procesar, transforma la imagen seleccionada a escala de grises para hallar las coordenadas de centro de la pupila e iris, las cuales son necesarias para realizar la transformación de coordenadas polares a coordenadas rectangulares de la región de interés, anillo del iris. Luego se procede a codificar la imagen del anillo del iris en coordenadas rectangulares utilizando la transformada Haar; dicho código se almacena en una variable temporal del programa a la espera de la siguiente acción. [8] John Daugman “The importance of being random: statistical principles of iris recognition”, The Computer Laboratory, University of Cambridge, Cambridge CB3 0FD, UK 5 Received 21 December 2001. Christel-loïc TISSE, Lionel MARTIN, Lionel TORRES, Michel ROBERT “Person identification technique using human iris recognition”. Jafar M. H. Ali Aboul Ella Hassanien “An Iris Recognition System to Enhance E-security Environment Based on Wavelet Theory”, AMO - Advanced Modeling and Optimization, Volume 5, Number 2, 2003 Ali Ajdari Rad, Karim Faez, Navid Qaragozlou “Fast Circle Detection Using Gradient Pair Vectors”, Proc. VIIth Digital Image Computing: Techniques and Applications, Sun C., Talbot H., Ourselin S. and Adriaansen T. (Eds.), 10-12 Dec. 2003, Sydney Pajares Gonzalo, De la Cruz Jesús “Visión por Computador” Ed.RA-MA, Madrid, España. Botón Guardar , almacena el código del anillo del iris en un archivo de la base de datos. Botón Comparar, compara el código que se encuentra en la variable temporal con todos los códigos almacenados en la base de datos, la comparación se realiza mediante la distancia de Hamming, si el porcentaje es mayor al umbral determinado se reconoce como Usuario Identificado, en caso contrario se reconoce como Usuario no Identificado. V. R EFERENCIAS BIBLIOGRÁFICAS [1] [2] [3] W. W. Boles and B. Boashash “A Human Identification Technique Using Images of the Iris and Wavelet Transform ”, IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 46, NO. 4, APRIL 1998 Carmen Sanchez - Avila and Raul SanchezReillo “Sistemas de identificación biométrica mediante patrón de iris utilizando representación multiescala e información de fase”. John Daugman, PhD, OBE “How Iris RecognitionWorks” University of Cambridge, The Computer Laboratory, Cambridge CB2 3QG, U.K. UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 6