# Reconocimiento de iris

El reconocimiento del iris es un método de autentificación biométrica que utiliza técnicas de reconocimiento de patrones (los cuales han sido almacenados anteriormente en una base de datos) en imágenes de alta resolución del iris del ojo de un individuo.
No ha de ser confundido con otro, menos frecuente, basado en el escaneo de la retina. El reconocimiento del iris utiliza la tecnología de las cámaras: con una fina iluminación infrarroja se reduce el reflejo que se haya podido producir en la convexa córnea y poder crear detalladas imágenes de las complejas estructuras del iris. Una vez convertidas en plantillas digitales, estas imágenes proporcionan una representación matemática del iris, las cuales coinciden con una identificación positiva e inequívoca de un individuo.
La eficacia del reconocimiento del iris es raramente obstaculizada por gafas o lentes de contacto. La tecnología basada en el iris tiene el valor atípico más pequeño (es decir, hay un número de personas reducido que no lo pueden usar) de todas las tecnologías biométricas. Debido a su velocidad de comparación, el reconocimiento del iris es la tecnología biométrica más adecuada para la identificación de un grupo numeroso de personas. Una ventaja clave del reconocimiento del iris es su estabilidad (el patrón o la plantilla pueden durar muchos años), ya que, salvo un traumatismo, esta “matrícula” individual puede durar toda la vida.
El físico John G. Daugman (del Laboratorio Informático de la Universidad de Cambridge) fue pionero en este campo, desarrollando los procesos de creación de algoritmos de reconocimiento mediante el iris necesarios para la adquisición de la imagen y la puesta en el mercado de instrumentos necesarios para tal fin. Estos algoritmos se utilizaron para iniciar la comercialización de esta tecnología en conjunto con una primera versión del sistema IrisAccess, diseñado y fabricado por LG Electronics, en Corea del Sur. Los algoritmos de Daugman son la base de la mayoría de los sistemas de reconocimiento del iris que se introdujeron en el mercado hasta 2006. En las pruebas, cuando los límites (umbrales) coincidían, para una mejor comparación, se cambiaba la configuración predeterminada para que permitiera una tasa de error situada entre una región de 10$^{-3}$ a 10$^{-4}$; a pesar de esto, los porcentajes de los códigos del iris incorrectos o rechazados son comparables con los sistemas de detección mediante la huella dactilar más precisos.
Vale mencionar también que existen diferentes técnicas aparte de la de Daugman, como la de Comparación de histogramas, la de Análisis de texturas o la desarrollada por Wildes, por mencionar algunas.

## Principio de funcionamiento

El proceso se divide en varias etapas:

### Captura de la imagen

Se captura una imagen de la capa arbórea del iris en blanco y negro, en un entorno correctamente iluminado, usando una cámara de alta resolución.
Los sistemas más complejos incorporan un sistema de triple cámara (dos de ellas para localizar el ojo dentro de la imagen y la tercera para capturar la muestra del usuario), y están pensados para cajeros automáticos, pero su coste de fabricación es elevado.
Un parámetro a tener en cuenta a la hora de diseñar un sistema de captura es, aparte de la calidad de la imagen obtenida, la comodidad del usuario. Es necesario utilizar la óptica necesaria para facilitar la ampliación (zum) de la imagen a capturar para evitar rechazos por parte de los usuarios.
La imagen obtenida ha de ser procesada para extraer 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.

### Preprocesamiento 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 uniforma 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 en las siguientes etapas.
Téngase en cuenta que en esta etapa no se pretende resaltar ningún detalle 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 más delante de los valores de la pupila.
Por último, la imagen es binarizada y la pupila aparece como un círculo negro sobre un fondo blanco, también aparecen otros objetos, los cuales son eliminados utilizando un algoritmo de etiquetado. A veces el círculo aparece cortado o deforme (por efectos de luz, reflejos, …), pero estos errores se corrigen en la siguiente etapa.
Al etiquetar todos los objetos de la imagen, se elige al más grande, el cual representa a la pupila. Al final de esta etapa se tiene la imagen de la pupila (representada por un círculo negro) sobre un fondo blanco.

### Extracción de la zona de interés

Antes de comenzar el siguiente apartado, es importante hacer notar que, al contrario de lo que piensa todo el mundo, la pupila y el iris no son concéntricos.

#### Hallando el centro y radio de la pupila

El algoritmo de detección de círculos consiste en hallar la gradiente de la imagen, los vectores gradientes del círculo buscados apuntan hacia fuera y son perpendiculares al borde la imagen (círculo), 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 círculo, separados 180 grados entre sí, debe tener la misma dirección que el vector gradiente.
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 círculo tiene su propio centro). Finalmente, el círculo correcto es extraído entre todos los círculos candidatos mediante el almacenamiento de las 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 la misma.
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.

#### Hallando el centro y radio del iris

Para extraer el borde externo del iris se aplica un estiramiento del histograma de la imagen en escala de grises original, luego se aplican el filtro de mediana para uniformar las regiones y eliminar falsos contornos, seguidamente se aplican los filtros de Canny con un alfa adecuado que permita resaltar el borde externo del iris y facilitar la detección del mismo.
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 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 capturada y las dos máscaras de extracción, consiguiendo aislar la zona de interés (el anillo del iris) en la imagen.

### Preprocesamiento de imágenes para la codificación

A fin de incrementar la eficiencia de los códigos, se probaron algunos métodos de preprocesamiento de imágenes para poder resaltar bordes, detalles y demás características del iris que aumentaron la certeza de los códigos a probar.

#### Estiramiento de histograma

Las imágenes del iris tienen un histograma centrado en un valor de grises, 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.

#### Incremento de Contraste

Se implementó también un programa que aumenta el contraste de los píxeles 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.

### 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.

### 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. Se realizan pruebas utilizando diferentes bandas de filtración para construir el código (las bandas que caracterizan a una imagen del iris son las siguientes: 4HL, 4LH, 4HH, 5HL, 5LH y 5HH).
Además se incluyen los valores promedio de cada una de las subimágenes mencionadas. Este tipo de codificación aumenta la eficiencia del código incrementando las diferencias entre códigos de distintas imágenes.
Así mismo, también se modifican ciertos parámetros al momento de convertir el sistema de coordenadas de las imágenes.

#### Otros factores

Además del tipo de codificación Haar, también se tienen en cuenta otros factores:
* Región del iris a utilizar: En ciertas imágenes el iris se ve obstruido por el párpado o por alguna pestaña, es por eso que se prueba 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 llegó 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.
* 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 coordenadas del iris, esto influye de gran manera en los resultados de la posterior codificación.
Si se usa un delta muy pequeño la imagen crece debido a la redundancia de píxeles, pero a la vez se 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íxeles de la imagen original son llevados a la nueva representación. Se determinó que el valor apropiado para delta es 0,009.

### Algoritmo de verificación

En esta etapa se identifica (comparar la plantilla de un individuo con la de muchos) o se verifica (compararla con la de uno mismo) una plantilla creada por proyección de la imagen del iris con una plantilla de valores almacenada en una base de datos.
Las etapas de preprocesado y de extracción de características involucran un coste computacional muy elevado. Sin embargo, ese coste conlleva que los datos que le lleguen al bloque de verificación sean tan sencillos que los cálculos involucrados resulten, prácticamente, despreciables.
En concreto, Daugman propone discriminar los coeficientes entre positivos y negativos, asignando un "1" a los positivos (o nulos) y un "0" a los negativos. Con la secuencia de bits conseguida, se aplica una distancia de Hamming para obtener la distancia entre el patrón, previamente almacenado, y la muestra a verificar.
La Distancia de Hamming es, simplemente, una medida de los bits que son distintos, por lo que la operación es realizar un XOR entre los vectores (aplicada a los 2048 bits que codifican cada patrón) y contar el número de bits que son "1".
Se considera que el ojo es el mismo de alguno de los ojos de la base de datos si tiene más de veinte regiones bien parecidas.

## Ventajas

El iris del ojo ha sido descrito como la parte ideal del cuerpo humano para la identificación biométrica por varias razones:
* Se trata de un órgano interno que está bien protegido contra daños y el desgaste por una membrana transparente y altamente sensible (la córnea). Esto lo distingue de las huellas digitales, las cuales pueden ser difíciles de reconocer después de realizar trabajos manuales durante años.
* El alto nivel de aleatoriedad en su estructura, el cual permite 266 grados de libertad que pueden ser codificados y una densidad de información de 3,4 bits por mm² de tejido.
* El iris es predominantemente plano, y su configuración geométrica es controlada únicamente por dos músculos complementarios (el esfínter y el dilatador de la pupila) que controlan el diámetro de la pupila. Esto hace que la forma del iris sea mucho más predecible que, por ejemplo, la de la cara.
* El iris tiene una textura fina que, como las huellas dactilares, se determina al azar durante el proceso embrionario de gestación. Incluso individuos genéticamente idénticos tienen texturas del iris completamente independientes (gemelos). aunque las huellas digitales también son diferentes.
De hecho, los dos ojos de una persona poseen patrones distintos, siendo ésta una característica muy importante que tiene que ser considerada en el sistema al no ser la imagen de los dos ojos intercambiables.
* Un escaneo del iris es similar a tomar una fotografía y se puede realizar a partir de unos 10 cm hasta unos metros de distancia. No es necesario que la persona que deba ser identificada tenga contacto físico con los equipos que han sido tocados recientemente por extraños, eliminando así una objeción que se ha planteado en algunas culturas en contra de los escáneres de huellas dactilares, (donde un dedo de la mano tiene que tocar una superficie), o de los escáneres de la retina, donde el ojo puede estar muy cerca del objetivo (como mirar por una lente de microscopio).
* Algunos sostienen que una fotografía digital enfocada con un diámetro del iris de unos 200 píxeles contiene, a largo plazo, información mucho más estable que una huella digital.
* El primer algoritmo de reconocimiento del iris (IrisCode), desplegado comercialmente por John Daugman, tiene una tasa de error sin precedentes (mejor que $10^{-11}$).
* A pesar de que existen algunos procedimientos médicos y quirúrgicos que pueden afectar el color y el aspecto general del iris, la fina textura se mantiene notablemente estable a lo largo de muchas décadas. Algunas identificaciones del iris han tenido éxito durante un período de unos 30 años.

## Desventajas

* El escaneo del iris es una tecnología relativamente nueva y es incompatible con la gran inversión que las autoridades policiales y de inmigración de algunos países ya han hecho en el campo del reconocimiento de huellas dactilares.
* Es muy difícil realizar el reconocimiento del iris a partir de una distancia superior a un par de metros y si la persona a identificar no coopera (manteniendo la cabeza quieta y mirando a la cámara). Sin embargo, varias instituciones académicas y vendedores de sistemas biométricos están desarrollando productos que dicen ser capaces de identificar a sujetos a una distancia de hasta 10 metros ("iris a distancia").
* Al igual que con otras tecnologías biométricas basadas en fotografías, el reconocimiento del iris es susceptible a la mala calidad de la imagen, con fallos asociados a las tasas de registro.
* Al igual que con las infraestructuras de otros métodos de identificación (bases de datos de los residentes nacionales, tarjetas de identidad (DNI), etc.), activistas de derechos civiles han expresado su preocupación de que la tecnología de reconocimiento de iris puede ayudar a los gobiernos a “controlar” a personas en contra de su voluntad.

## Consideraciones de seguridad

Como con la mayoría de otras tecnologías de identificación biométrica, un problema aún no resuelto satisfactoriamente con el reconocimiento del iris es el relacionado con la verificación de tejidos vivos. La fiabilidad de cualquier identificación biométrica depende de garantizar que la señal adquirida y comparada, ha sido tomada de una parte del cuerpo vivo de la persona a ser identificada y no es un modelo fabricado. Muchos de los sistemas de reconocimiento de iris disponibles comercialmente son fáciles de engañar presentando una fotografía de alta calidad de una cara en vez de un rostro real, lo que hace que estos dispositivos no sean aptos para aplicaciones sin supervisión, tales como sistemas de control de acceso a puertas. El problema de la verificación de tejidos vivos es menos preocupante en las aplicaciones de supervisión (por ejemplo, el control de la inmigración), donde un operador humano supervisa el proceso en el que se toma la foto.
Algunos métodos que se han sugerido para aumentar la defensa contra el uso de ojos e iris falsos son:
* Haciendo un cambio de iluminación ambiental durante la identificación (por ejemplo, encendiendo una lámpara brillante), de manera que la dilatación de las pupilas pueda ser verificada y la imagen del iris se registre con varios diámetros de la pupila.
* Analizando, mediante espectros de frecuencias espaciales en 2D, los picos de las imágenes del iris causados por los patrones del trazo de las impresoras disponibles comercialmente en las lentes de contacto (falsos iris).
* Analizando espectros de frecuencias temporales de las imágenes debido a los picos causados por las pantallas de ordenador.
* Utilizando el análisis espectral en lugar de, únicamente, cámaras monocromáticas para distinguir el tejido del iris de otro material.
* Observando el característico movimiento natural del globo ocular (midiendo los nistagmos, el seguimiento de los ojos mientras lee texto, etc.).
* Haciendo pruebas para detectar la retro-reflexión de la retina (el efecto de los ojos rojos).
* Haciendo pruebas para las reflexiones de cuatro superficies ópticas del ojo (frente y reverso de ambas córnea y el cristalinos) para verificar su presencia, posición y forma.
* Utilizando imágenes en 3D (por ejemplo, cámaras estéreo) para verificar la posición y forma del iris en relación con otras características del ojo.
Un informe del 2004 publicado por la Oficina Federal para la Seguridad de la Información (Alemania) señaló que ninguno de los sistemas de reconocimiento del iris disponibles comercialmente en la actualidad, implementa tecnología suficiente para verificar si lo que está detectando es un tejido vivo. Como cualquier tecnología de reconocimiento de patrones, verificar los tejidos vivos tendrá su propia probabilidad de error y, por lo tanto, se reducirá aún más la probabilidad de que un usuario legítimo sea aceptado por el sensor.

## Sensores

En sistemas para el reconocimiento del iris es común encontrar cámaras de vídeo de tipo CCD. En la figura se puede apreciar un diagrama de bloques de esta cámara CCD.
El corazón de las cámaras es un circuito integrado tipo CCD (Dispositivo de Carga Acoplada). Este dispositivo consiste en varios cientos de miles de elementos individuales (píxeles) localizados en la superficie de un diminuto CI (Circuito Integrado).
Cada píxel se ve estimulado con la luz que incide sobre él (la misma que pasa a través de las lentes y filtros de la cámara), almacenando una pequeña carga de electricidad. Los píxeles se encuentran dispuestos en forma de malla con registros de transferencia horizontales y verticales que transportan las señales a los circuitos de procesamiento de la cámara (convertidor analógico-digital y circuitos adicionales). Esta transferencia de señales ocurre 6 veces por segundo.

## Aplicaciones desplegadas

* El control arboláreo de seguridad de la patria (IrisGuard) en las fronteras de los Emiratos Árabes ha estado operando un sistema de seguimiento expulsado en los Emiratos Árabes Unidos (EAU) desde 2001, cuando la EAU puso en marcha una iniciativa a nivel nacional sobre la seguridad en las zonas fronterizas. Hoy en día, todo el país de los EAU, aeropuertos y puertos marítimos de entrada y salida están equipados con estos sistemas. Todos los extranjeros que poseen un visado para entrar en los EAU se procesan a través de cámaras de iris instaladas en todos los puntos de inspección de inmigración (primarios y auxiliares). Hasta la fecha, el sistema ha detenido a más de 330.000 personas que intentaban entrar en los EAU con documentos de viaje fraudulentos.
* Es una de las tres tecnologías de identificación biométrica normalizada a nivel internacional por la OACI (Organización de Aviación Civil Internacional) en los pasaportes del futuro (las otras dos son las huellas dactilares y el reconocimiento facial).
* La tecnología de reconocimiento del iris ha sido aplicada por BioID Technologies SA en Pakistán para el proyecto de repatriación del ACNUR (agencia de la ONU para refugiados), cuyo objetivo es controlar la distribución de ayuda a los refugiados afganos. Los refugiados son repatriados por la ACNUR en cooperación con el Gobierno de Pakistán, y se les da una cantidad de dinero para comenzar de nuevo. Para asegurarse de que a la gente no se les paga más de una vez, su iris se escanea, y el sistema detectará a los refugiados en el siguiente intento. La base de datos cuenta con más de 1,3 millones de plantillas del código del iris y alrededor de 4000 registros por día. El tiempo de comparación del iris de un individuo con los 1,3 millones de plantillas se realiza en 1,5 segundos.
* Los aeropuertos (Países Bajos) ofrecen tanto a líneas aéreas como a aeropuertos un innovador y rápido sistema de seguridad basado en tecnologías de escaneo del iris del ojo humano. El procedimiento de seguridad tiene dos fases. En la primera (15 minutos), se revisa el pasaporte del viajero, pasa el control reglamentario y se escanea el iris de su ojo. Sus datos son cifrados e insertados en una tarjeta inteligente. En la segunda (15 segundos), se identifica y se confirma la identidad del pasajero en la zona de embarque (escaneando nuevamente el iris y comprobando si los datos coinciden con los de la tarjeta).
* El medio de control de las fronteras IRIS (Iris Recognition Immigration System) utilizado en el Reino Unido.
* Este sistema de reconocimiento se utilizó para identificar a la “niña afgana” (Sharbat Gula) 28 años después de que el fotógrafo Steve McCurry sacara en la portada de la revista National Geographic una imagen suya con 12 años.
* En una serie de aeropuertos de EE. UU. y Canadá, como parte del programa NEXUS, que facilita la entrada a los EE. UU. y Canadá a los viajeros de bajo riesgo.
* En varios aeropuertos de Canadá, como parte del programa CANPASS Air que facilita la entrada en Canadá a los viajeros de vuelos de bajo riesgo.
* En la iridología: técnica de medicina alternativa supuestamente basada en el estudio de los patrones, colores y otras características del iris como método diagnóstico.
* En móviles de última generación, los cuales, identifican el iris en vez del PIN para acceder a los mismos.

## Funciones para el reconocimiento de iris en MATLAB

En la dirección: http://iie.fing.edu.uy/investigacion/grupos/gti/timag/trabajos/2004/recon_iris/prog/prog.htm se encuentran distintas funciones para el reconocimiento de iris para el MATLAB. Las 3 funciones que se podrá encontrar son:
* Función que reconoce la pupila y el borde del iris.
* Función que realiza el estiramiento del iris reconocido.
* Función que realiza la transformada y divide en zonas.
Hay que tener en cuenta que la implementación en MATLAB no ha sido depurada de forma detallada, ni optimizada.

## Resultados experimentales

Se han realizado numerosos exámenes para comprobar la eficacia de este sistema de detección.
Para el descrito a continuación, se ha utilizado una base de datos compuesta por las imágenes de ambos ojos de 10 personas con al menos 10 muestras de cada uno de los ojos. Las fotografías se tomaron en diferentes días y horas, durante 7 meses. Se consideró cada ojo como una persona “distinta”, es decir cada persona tiene dos identidades una por cada ojo, lo cual nos proporciona 20 usuarios “virtuales” diferentes.

### Resultados en verificación

En una arquitectura de verificación, el rendimiento de un sistema biométrico se analiza mediante tres medidas: Tasa de Falsa Aceptación (FAR), la Tasa de Falso Rechazo (FRR) y la Tasa de Igual Error (ERR), es decir, el valor donde las tasas FAR y FRR son iguales bajo un cierto umbral. Par cada una de las métricas se han utilizado diferentes umbrales (permiten decidir si el usuario es aceptado o rechazado) obteniendo diferentes valores de las tasas FAR y FRR.
Resultados con filtros de Gabor: El rendimiento del primer sistema, se ha llevado a cabo utilizando los 4 tamaños del vector de características que señalamos anteriormente. En ella se muestra que, en todos los casos, la tasa EER, está siempre por debajo del 10%, alcanzando su mejor valor en 3,6% para 1860 bits. También puede apreciarse que pueden obtenerse tasas FAR nulas para tasas FRR muy bajas, lo que significa que el sistema es idóneo para entornos de muy alta seguridad.
Resultados utilizando la representación multiescala de cruces por cero: Como en Clasificación, también en este caso la distancia binaria de Hamming aplicada al código de la firma del iris obtiene los mejores resultados. En la primera imagen, se muestra el comportamiento de las tasas FAR y FRR, obteniendo una tasa EER de 0,12% Pero, lo que es más importante, se obtienen tasas FAR nulas para valores aún más pequeños que en el sistema anterior de la tasa FRR, lo que hace de este un sistema óptimo para entornos que requieran una alta seguridad. Los resultados obtenidos con la distancia Euclídea y dz se muestran en la segunda imagen, donde puede apreciarse que se alcanza una EER de 2,47% utilizando la distancia Euclídea y de 2,12% utilizando la distancia dz. Lo que significa una gran mejora respecto a los resultados obtenidos con filtros de Gabor.