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ú
[email protected]
Renato Oviedo Frasson
Universidad Peruana de Ciencias Aplicadas (UPC)
Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica, Lima – Perú
[email protected], [email protected]
Prof. Guillermo Kemper Vásquez
Universidad Peruana de Ciencias Aplicadas (UPC)
Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica, Lima – Perú
[email protected]
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