PROGRAMA IRIS Jeanne Duarte Gerente do programa Iris - Lagoa.
Iris Reconhecimento
-
Upload
julio-ribeiro-del-cistia -
Category
Documents
-
view
28 -
download
0
description
Transcript of Iris Reconhecimento
Curitiba, 9 de novembro de 2006
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial
DISSERTAÇÃO
apresentada à UTFPR para obtenção do título de
MESTRE EM CIÊNCIAS
por
ANDRÉ ZANIN ROVANI
SISTEMA PARA CAPTURA AUTOMÁTICA DE IMAGENS DE ÍRIS
Banca Examinadora:
Presidente e Orientador:
Prof. Dr. Humberto Remigio Gamba UTFPR
Examinadores:
Prof. Dr. Ogê Marques Filho
FAU - EUA
Prof. Dr. Maurizio Tazza UTFPR
Curitiba
2006
ANDRÉ ZANIN ROVANI
SISTEMA PARA CAPTURA AUTOMÁTICA DE IMAGENS DE ÍRIS
Dissertação apresentada ao Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial da Universidade Tecnológica Federal do Paraná, como requisito parcial para a obtenção do título de “Mestre em Ciências” – Área de Concentração: Informática Industrial.
Orientador: Prof. Dr. Humberto Remigio Gamba
iv
R873 Rovani, André Zanin Sistema para captura automática de imagens de íris / André Zanin Rovani. Curitiba. UTFPR, 2006 XV, 63 f. : il. ; 30 cm Orientador: Prof. Dr. Humberto Remigio Gamba Dissertação (Mestrado) – Universidade Tecnológica Federal do Paraná. Curso de Pós-Graduação em Engenharia Elétrica e Informática Industrial. Curitiba, 2006. 1. Processamento de imagens – Técnicas digitais. 2. Informática industrial. 3. Algoritmos. 4. Estrutura do olho humano. 5. Íris. 6. Pupila. 7. Biométrica. I. Gamba, Humberto Remigio, orient. II. Universidade Tecnológica Federal do Paraná. Curso de Pós-Graduação em Engenharia Elétrica e Informática Indus- trial. III. Título CDD: 621.367
iii
Este trabalho é dedicado à Karine.
v
AGRADECIMENTOS
Agradeço a minha família pelo incentivo e apoio para a conclusão desse curso.
Agradeço a todos os meus amigos que contribuíram com idéias e
disponibilizaram seu tempo para a captura de imagens.
Agradeço ao Instituto de Automação da Academia Chinesa de Ciências pelo
fornecimento da base de imagens CASIA.
Agradeço aos revisores do trabalho Andressa Zanin Rovani, Karine Greice
Vieira, Tomas Fernandes, e Rafael Locks Lange pelas correções e pela paciência.
Agradeço especialmente ao professor e orientador Dr. Humberto Remigio
Gamba por apoiar este projeto desde o início.
E por fim, agradeço a todos que de alguma forma contribuíram para a
realização deste trabalho.
vii
SUMÁRIO
LISTA DE FIGURAS ...........................................................................................................ix LISTA DE TABELAS......................................................................................................... xii RESUMO........................................................................................................................... xiii ABSTRACT........................................................................................................................xiv 1 INTRODUÇÃO...................................................................................................................1
1.1. MOTIVAÇÃO .....................................................................................................1 1.2. OBJETIVO DO TRABALHO..............................................................................2 1.3. ESTRUTURA DA DISSERTAÇÃO....................................................................2
2 FUNDAMENTAÇÃO TEÓRICA .......................................................................................3 2.1. INTRODUÇÃO ...................................................................................................3 2.2. ESTRUTURA DO OLHO HUMANO..................................................................3 2.3. PARÂMETROS DE UMA LENTE......................................................................3 2.4. FILTRAGEM ESPACIAL ...................................................................................5 2.5. TRANSFORMADA DE HOUGH........................................................................5 2.6. HISTOGRAMA...................................................................................................7 2.7. TEOREMA DE BAYES ......................................................................................7 2.8. MÁQUINAS DE ESTADO FINITO ....................................................................8 2.9. ALGORITMO DE BRESENHAM PARA CÍRCULOS........................................9
3 REVISÃO DA LITERATURA..........................................................................................13 3.1. INTRODUÇÃO .................................................................................................13 3.2. MÉTODOS DE LOCALIZAÇÃO DE ÍRIS .......................................................13 3.3. MÉTODOS DE ESTIMATIVA DE FOCO ........................................................17
4 MATERIAIS E MÉTODOS ..............................................................................................19 4.1. SISTEMA DE AQUISIÇÃO DE IMAGENS .....................................................19 4.2. BASES DE DADOS UTILIZADAS ..................................................................22 4.3. ESTRUTURA DO ALGORITMO DE LOCALIZAÇÃO ...................................23
4.3.1. FILTRO GAUSSIANO........................................................................24 4.3.2. CÁLCULO DO GRADIENTE SOBEL ...............................................25 4.3.3. HISTOGRAMA DA IMAGEM ...........................................................25 4.3.4. ESTIMAÇÃO DO RAIO DA PUPILA................................................27 4.3.5. CÁLCULO DO CENTRÓIDE DA IMAGEM .....................................30 4.3.6. DETERMINAÇÃO DOS PARÂMETROS DA PUPILA.....................32 4.3.7. LIMIARIZAÇÃO DO GRADIENTE ..................................................37 4.3.8. DETERMINAÇÃO DOS PARÂMETROS DA ÍRIS ...........................39 4.3.9. ESTIMATIVA DE FOCO ...................................................................42
4.4. INTERFACE DE CONTROLE DA CAPTURA DE IMAGENS........................43 5 RESULTADOS.................................................................................................................49
5.1. VALIDAÇÃO DA LOCALIZAÇÃO DA ÍRIS ..................................................49 5.1.1. GERAÇÃO DO VÍDEO COM IMAGENS ARTIFICIAIS DE ÍRIS ....49 5.1.2. PROCESSAMENTO DO VÍDEO........................................................50
5.2. VALIDAÇÃO DO MÉTODO DE CAPTURA DE IMAGENS ..........................51 5.3. AVALIAÇÃO DO ALGORITMO DE DETECÇÃO DE FOCO ........................53
6 CONCLUSÃO ..................................................................................................................57 6.1. DISCUSSÕES ...................................................................................................57 6.2. CONCLUSÃO ...................................................................................................58 6.3. TRABALHOS FUTUROS .................................................................................58
REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................61
viii
ix
LISTA DE FIGURAS
Figura 1 – Estrutura do olho humano. ....................................................................................3 Figura 2 – Definição da profundidade de campo de uma lente ...............................................4 Figura 3 – Transformada de Hough. (PRATT, 2001) .............................................................6 Figura 4 – Exemplo de máquina de estado finito para reconhecer seqüências
ímpares de números 1. .......................................................................................9 Figura 5 – Esboço traçado pela equação da circunferência. ..................................................10 Figura 6 – Algoritmo de Bresenham para círculos................................................................11 Figura 7 – Círculo escuro sobre um fundo claro e seus vetores de gradiente.........................14 Figura 8 – Imagem de íris transformada de coordenadas retangulares para
coordenadas polares. .......................................................................................16 Figura 9 – Posição dos pontos pré-calculados de cada círculo com raio entre 10 e
107 pixels. .......................................................................................................17 Figura 10 - Princípio de funcionamento do cálculo do foco proposto por Park &
Kim (2005)......................................................................................................18 Figura 11 – Componentes do sistema de aquisição de imagens. ...........................................19 Figura 12 – Câmera de vídeo utilizada no trabalho. Possui CCD com 1/3 de
polegada e 600 linhas de resolução horizontal. ................................................19 Figura 13 – Objetiva com distância focal de 100 mm utilizada para obter as
imagens de íris. ...............................................................................................20 Figura 14 – Monitor de vídeo de 2,5’’ usado para a realimentação do
posicionamento para o usuário.........................................................................20 Figura 15 – Filtro infravermelho Hoya RM90 utilizado para impedir a entrada de
luz com comprimento de onda inferior a 900 nm. ............................................21 Figura 16 – Curva de transmissão de radiação de dois modelos de filtro Hoya. À
esquerda a curva do RM90, e à direta a curva do modelo RM100. ...................21 Figura 17 – Programa auxiliar desenvolvido para determinar manualmente os
parâmetros das imagens da base de dados CASIA. ..........................................23 Figura 18 – Diagrama de blocos do algoritmo de detecção...................................................24 Figura 19 – Máscara do filtro gaussiano utilizado na filtragem.............................................24 Figura 20 – Máscaras do operador de Sobel.........................................................................25 Figura 21 – Imagem de boa qualidade e seu respectivo histograma. Dimensões:
320×240 pixels, 256 tons de cinza. Fonte: BDIRIS..........................................26 Figura 22 – Imagem de baixa qualidade e seu respectivo histograma. Dimensões:
320×240 pixels, 256 tons de cinza. Fonte: BDIRIS..........................................26 Figura 23 – Resultado da binarização da Figura 21. (a) limiar mínimo 43, (b)
limiar máximo 75. Abaixo de cada pupila é apresentado o histograma da imagem original e o ponto onde foi aplicado o limiar de binarização. ................................................................................................27
Figura 24 – Resultado da binarização da Figura 22. (a) limiar mínimo 35, (b) limiar máximo 46. Abaixo de cada pupila é apresentado o histograma da imagem original e o ponto onde foi aplicado o limiar de binarização. ................................................................................................28
Figura 25 – Máquina de estados para detecção de máximos e mínimos locais. Na figura, h é o vetor de entrada, h[n] é o valor atual do vetor, h[n+1] é o valor do próximo elemento do vetor, n é o índice do elemento atual do vetor, incrementado a cada transição de estado, e listamax e listamin são listas que armazenam os máximos e os mínimos, respectivamente...............................................................................................29
x
Figura 26 – Comparação entre o centróide (estimativa do centro) e o centro real da pupila. Nota-se que na grande maioria das imagens o centróide está a uma distância de quatro ou cinco pixels do centro da pupila...................31
Figura 27 – Imagem de íris com seus parâmetros determinados e o quadrado delimitando a região de busca pela pupila. .......................................................32
Figura 28 – Direção dos vetores de gradiente em uma circunferência...................................33 Figura 29 – Esquerda: Imagem de uma íris onde as linhas contornam a pupila e a
íris. Direita: Histograma da imagem da esquerda, onde o nível de cinza do primeiro pico indica a média estimada da pupila. ...............................34
Figura 30 – Gráfico que apresenta a probabilidade de ocorrência de um acerto e de um erro em função da DM. .........................................................................35
Figura 31 - Esquerda: Imagem de íris 019_2_2.bmp da base de dados CASIA. Direita: Resultado da detecção de bordas através do operador de Sobel (módulo do gradiente)............................................................................38
Figura 32 – Fatia da imagem usada para fazer a detecção. As bordas da pupila são facilmente perceptíveis, no entanto as fronteiras da íris não apresentam bordas nítidas. ...............................................................................39
Figura 33 – Vetor gerado a partir da fatia da imagem. O pico estreito entre 180 e 210 é causado pelo reflexo do sistema de iluminação. No entanto ele não interfere na localização, pois a busca pela íris inicia com um raio maior que o da pupila. .....................................................................................40
Figura 34 – Derivada do vetor gerado a partir da fatia da imagem. Notam-se pequenos aglomerados que podem representar as bordas da íris. ......................40
Figura 35 – Resultado da detecção da íris. Os picos representam as bordas da íris, observadas em seu diâmetro horizontal. Neste caso em que aparecem apenas dois picos, não existe dúvida quanto à localização da íris. No caso em que existe mais de dois picos, a busca deve ser realizada através do cálculo dos pares de gradientes. ......................................................41
Figura 36 – Princípio de funcionamento do sistema de obtenção do foco. (a) Modelo da íris e as regiões de interesse. (b) Situação de uma região de intresse que está em foco. (c) Situação de uma região de interesse que está fora de foco........................................................................................42
Figura 37 - Grafo DirectX do software de captura de imagens de íris. Da esquerda para a direita, o primeiro bloco representa o hardware de captura de imagens, o segundo é o filtro de detecção da íris, o terceiro transforma imagens de 8 para 32 bits, e o último representa o monitor de vídeo. ............................................................................................43
Figura 39 – Tela principal do aplicativo de exemplo de captura automática de imagens. O software permite o cadastro de pessoas e também a pesquisa de indivíduos através da íris. .............................................................44
Figura 40 – A Caixa de Diálogo de Cadastro permite que seja tirada uma foto da pessoa, e que sejam capturadas as imagens de íris............................................45
Figura 41 – Caixa de diálogo de captura de íris. Em sua área cliente está o controle Windows que gera eventos contendo informações sobre os parâmetros da íris e da pupila, assim como o valor estimado do foco, distância do centro da pupila ao centro da imagem, quadros por segundo, centróide, e região de busca pelo centro da pupila. ............................46
Figura 42 – Imagem artificial de íris que compõe o vídeo usado para a validação do algoritmo de detecção. ................................................................................49
xi
Figura 43 – Gráfico que relaciona a freqüência de erros com o número de imagens. ..........................................................................................................50
Figura 44 – Protótipo do sistema de aquisição de imagens ...................................................52 Figura 45 – Histograma de uma imagem com pupila pequena. Nesse histograma o
primeiro máximo local que representa a pupila é tão pequeno que eventualmente é eliminado com o ruído...........................................................53
Figura 46 – Resultado de quatro experimentos em que o candidato, próximo da câmera, foi se afastando lentamente, até que a imagem ficasse completamente fora de foco. O experimento mostra que existem máximos nos quatro eventos realizados. ..........................................................54
xii
LISTA DE TABELAS
Tabela 1 – Formato do CCD e suas dimensões correspondentes.............................................4 Tabela 2 – Parcela inicial dos dados obtidos após a classificação manual das 4018
imagens da base de imagens BDIRIS...............................................................36 Tabela 3 – Desempenho da detecção da íris para limiarizações do gradiente entre
20 e 60% na base de dados CASIA..................................................................38
xiii
RESUMO
Nesta dissertação propõe-se um algoritmo para capturar imagens do olho e localizar de forma automática a pupila e a íris. O algoritmo proposto tem aplicações em sistemas que utilizam as informações geométricas do olho (raio e coordenadas do centro da pupila e da íris), como por exemplo, sistemas de reconhecimento de íris. Para o desenvolvimento do algoritmo, montou-se um protótipo para aquisição das imagens composto por uma câmera de vídeo, filtro infravermelho, sistema de iluminação, monitor, objetiva de 100 mm, e uma placa de captura ligada ao computador. O método proposto baseia-se na redução do espaço de busca para que o processamento de uma imagem possa ser avaliado em tempo real (30 quadros por segundo). Por isso, realizou-se um estudo em 756 imagens da base de dados CASIA para utilizar o centróide da imagem como uma estimativa para o centro da pupila e um estudo baseado no histograma da imagem para estimar do raio da pupila. Essas estimativas permitem que a imagem seja processada de forma rápida, e capturada se determinados critérios de qualidade forem satisfatórios. Um desses critérios é um parâmetro estatístico chamado de ‘diferença das médias’, que foi determinado através do estudo de 4018 imagens da base de dados BDIRIS. O outro critério é a estimativa de foco, que é uma medida da nitidez da borda da pupila. Esses critérios permitem aceitar ou rejeitar uma imagem, o que é essencial em um sistema de aquisição automática de imagens. O algoritmo desenvolvido foi implementado e testes revelam que o sistema captura imagens de íris em tempo real, bastando que para isso a pessoa posicione-se corretamente diante da câmera de vídeo.
xiv
ABSTRACT
In this dissertation a new algorithm is considered to capture images of the eye and to locate automatically the pupil and the iris. The considered algorithm has applications in systems that use the geometric data of the eye (radius and coordinates of the center of the pupil and the iris), as for example iris based recognition systems. For the development of the algorithm, a prototype for acquisition of the images was built, consisting of a video camera, infrared filter, lighting system, monitor, 100 mm objective, and a frame grabber linked to the computer. The considered method is based on the reduction of the search space so that the processing of an image can be evaluated in real time (30 pictures for second). Therefore, a study in 756 images of the database CASIA was done to use the centroid of the image as an estimate for the center of the pupil and a study based on the histogram of the image to estimate the radius of the pupil. These estimates allow the images be fast processed, and captured if some quality criteria become satisfactory. One of these criteria is a statistical parameter called `difference of the averages', that was determined through the study of 4018 images of the database BDIRIS. The other criterion is the focus assessment, which is a measure of the clearness of the edge of the pupil. These criteria allow to accept or to reject an image, which is essential in a automatic image acquisition system. The developed algorithm was implemented and tests disclose that the system captures images of iris in real time, being enough that for this the person remains correctly positioned ahead of the video camera.
CAPÍTULO 1
1 INTRODUÇÃO
1.1. MOTIVAÇÃO
A difusão de uma tecnologia biométrica depende de várias características:
segurança, preço, facilidade de manuseio, tempo de processamento. Dessas, a facilidade de
manuseio é a que mais influencia a tecnologia de reconhecimento de íris. Para que seja
possível capturar imagens do olho de uma pessoa, é preciso que ela colabore, posicionando-se
em frente a uma câmera de vídeo e aguardando durante alguns segundos o resultado do seu
cadastro ou identificação. No instante em que a pessoa está olhando para a câmera, o sistema
deve selecionar uma ou mais imagens do seu olho para posterior análise e comparação.
Assim, o assunto desta dissertação trata da forma com que a captura automática dessas
imagens de íris deve ser realizada.
A comparação de imagens de íris é realizada a uma taxa de 100 mil confrontos
por segundo em um computador com processador de 300 MHz, podendo chegar a um milhão
de pessoas por segundo nos processadores modernos de 3GHz. Além disso, a taxa de falsos
positivos (probabilidade da comparação de duas imagens de olhos distintos resultar em uma
coincidência) é de 610− , o que faz a tecnologia de comparação de íris mais confiável do que a
comparação de faces ou impressões digitais (DAUGMAN, 2001).
A captura de imagens de boa qualidade é essencial em qualquer sistema
biométrico, caso contrário pode elevar as taxas de falsa aceitação e falsa rejeição, ou seja,
pode reduzir o desempenho do sistema. É importante também evitar que o operador do
sistema decida o instante em que a imagem deve ser capturada, pois assim é possível manter o
banco de dados com imagens do mesmo padrão de foco e de posicionamento. E por fim, a
captura automática diminui o tempo que o usuário tem que olhar fixamente para a câmera,
pois bastam alguns quadros com a imagem em foco e centralizada para que o mesmo seja
dispensado.
2
1.2. OBJETIVO DO TRABALHO
O objetivo desse trabalho é desenvolver um sistema para captura automática de
imagens de íris. A captura das imagens (sob iluminação infravermelha) deve ser realizada
automaticamente e em tempo real quando uma pessoa posicionar-se corretamente em frente à
câmera de vídeo. Entende-se por um posicionamento correto aquele que gera uma imagem
centralizada e em foco. O processamento em tempo real permite que todas as imagens do
fluxo de vídeo sejam avaliadas
Como objetivos secundários têm-se o desenvolvimento de um programa
auxiliar para a determinação manual de parâmetros de imagens de íris, a construção de um
protótipo para aquisição de imagens, e a geração de um vídeo simulador de imagens de íris.
1.3. ESTRUTURA DA DISSERTAÇÃO
Esta dissertação está organizada em seis capítulos. O Capítulo 1 apresenta a
introdução ao trabalho destacando-se as motivações para o desenvolvimento e os objetivos. O
Capítulo 2 apresenta a fundamentação teórica necessária para compreender itens específicos
do trabalho. O Capítulo 3 apresenta os métodos de localização de íris e de estimativa de foco
existentes. O Capítulo 4 descreve como foi construído o protótipo para aquisição de imagens,
e como foi desenvolvido o algoritmo de localização automática de íris e de estimativa de foco.
O Capítulo 5 descreve os resultados obtidos e o Capítulo 6 finaliza com a conclusão do
trabalho, discussão, e trabalhos futuros.
CAPÍTULO 2
2 FUNDAMENTAÇÃO TEÓRICA
2.1. INTRODUÇÃO
Este item aborda alguns conceitos preliminares que são considerados
importantes para a leitura dessa dissertação.
2.2. ESTRUTURA DO OLHO HUMANO
A Figura 1 apresenta as três partes do olho humano relevantes para esse
trabalho. A esclera é a parte branca que envolve o olho e dá forma ao globo ocular. A íris é a
parte colorida do olho, que regula a quantidade de luz que atinge a retina. A pupila é uma
abertura no centro da íris que permite a passagem da luz.
Figura 1 – Estrutura do olho humano.
2.3. PARÂMETROS DE UMA LENTE
A distância focal é o parâmetro mais importante de uma lente. Para determinar
o seu valor é necessário conhecer outras três variáveis: tamanho do objeto a ser observado,
distância em que o objeto será observado, e o tamanho do CCD que será utilizado. O tamanho
nominal do CCD é especificado em polegadas em função de sua diagonal. A Tabela 1
apresenta as dimensões do CCD em milímetros e o seu tamanho nominal em polegadas.
4
Tabela 1 – Formato do CCD e suas dimensões correspondentes.
Diagonal (polegadas) Altura (mm) Largura (mm)
1/4” 2,4 3,2 1/3” 3,6 4,8 1/2” 4,8 6,4 2/3” 6,6 8,8 1” 9,6 12,8
A equação ccdaoaccdadodfa
+⋅= permite determinar a distância focal da altura dfa ,
onde do é a distância do objeto à lente, oa é a altura do objeto, e ccda é a altura do CCD. De
forma semelhante à equação ccdlolccdldodfl
+⋅= permite determinar a distância focal da largura
dfl , onde ol é a largura do objeto e ccdl é a largura do CCD. Assim, a distância focal da
lente será o menor valor entre os dois valores calculados (THE IMAGING SOUCE EUROPE
GMBH, 2003).
A profundidade de campo de uma lente é a região do eixo óptico em que a
imagem aparece com nitidez (Figura 2). Quando o objeto se encontra dentro da faixa de
profundidade de campo, diz-se que ele se encontra em foco, caso contrário o objeto encontra-
se fora de foco. Quanto maior a distância focal de uma lente, menor será a sua profundidade
de campo.
Figura 2 – Definição da profundidade de campo de uma lente
A abertura é um parâmetro que define a quantidade de luz que atravessa a
lente. A profundidade de campo varia com o inverso da abertura, ou seja, quanto maior a
abertura, menor a profundidade de campo.
5
2.4. FILTRAGEM ESPACIAL
Os filtros utilizados no processamento de imagens têm a função de eliminar
ruídos, suavizar ou enfatizar detalhes.
A filtragem espacial é assim denominada porque a operação de filtragem é
realizada no domínio do espaço (opondo-se à filtragem no domínio da freqüência, realizada
após uma transformada de Fourier). Para que se possa filtrar uma imagem no domínio do
espaço é necessária uma máscara, ou seja, uma matriz de coeficientes que serão utilizados
para efetuar uma multiplicação ponderada com os pixels da imagem (essa multiplicação
ponderada é conhecida como ‘convolução’).
Geralmente as máscaras são de tamanho 3×3, 5×5, ou 7×7. Valores maiores
também são possíveis, mas exigem grande esforço computacional, além de reduzirem as
dimensões da imagem para valores eventualmente inadmissíveis (redução causada pelo efeito
de borda).
A filtragem consiste em posicionar a máscara sobre o primeiro pixel da
imagem e efetuar a soma das multiplicações dos coeficientes da máscara pelos pixels
correspondentes da imagem. Assim, o pixel em que está posicionada a máscara receberá o
resultado da soma, e a máscara será deslocada para o pixel seguinte, até que todos os pixels da
imagem filtrada sejam calculados. (GONZALEZ & WOODS, 2000)
2.5. TRANSFORMADA DE HOUGH
A transformada de Hough é um método invariante à rotação e à translação,
utilizado para encontrar formas geométricas em uma imagem. A idéia desse método é
transformar a imagem de entrada (após uma detecção de bordas) em um espaço de
parâmetros, também chamado de espaço de Hough. Assim, fica estabelecida uma dualidade
entre o espaço original (cartesiano) e o espaço de parâmetros, que é explorado para encontrar
construções geométricas como linhas ou círculos. A dimensão do espaço de parâmetros é
proporcional ao número de parâmetros da forma geométrica que se deseja encontrar. Por
exemplo, um segmento de reta pode ser representado por dois parâmetros: o ângulo de sua
normal em relação à abscissa e a sua distância da origem, o que faz com que o espaço de
Hough para uma reta tenha duas dimensões. Da mesma forma um círculo pode ser
representado por três parâmetros: suas coordenadas do centro e o seu raio, o que faz com que
6
o seu espaço de Hough tenha três dimensões. A Figura 3 explica o princípio de
funcionamento da transformada de Hough. (PRATT, 2001)
Figura 3 – Transformada de Hough. (PRATT, 2001)
Como apresentado na Figura 3a, um segmento de reta pode ser descrito
parametricamente como θθρ senyx ⋅+⋅= cos , onde θ é ângulo da reta normal em relação à
horizontal e ρ é a distância da reta à origem. A transformada de Hough da reta é
simplesmente um ponto no espaço de parâmetros, como mostrado na Figura 3b. Uma família
de linhas passando através de um ponto em comum, como exibido na Figura 3c mapeia ao
conjunto de pontos conectados da Figura 3d. Agora, considere os três pontos colineares da
Figura 3e. A transformada de Hough da família de curvas que passa através dos três pontos
7
resulta no conjunto de três curvas paramétricas no espaço polar da Figura 3f. Essas três curvas
se cruzam em um único ponto correspondente à linha tracejada que passa através dos três
pontos colineares.
Cada reta mapeada para o espaço de parâmetros é considerada como um voto.
Ao mapear todos os pontos da imagem de entrada para o espaço de parâmetros, são obtidos
pontos com maior número de votos, que são exatamente aqueles que representam as retas na
imagem de entrada. A mesma idéia é aplicada para a detecção de círculos. No entanto, o
espaço de parâmetros dos círculos possui formato de um cone tridimensional, onde cada
ponto do cone corresponde a um círculo na imagem original.
2.6. HISTOGRAMA
O histograma de uma imagem é um gráfico que mostra a probabilidade de
ocorrência de uma cor. No caso de uma imagem colorida com três canais de cores, definem-se
três histogramas, um para cada cor. Uma imagem monocromática possuirá apenas um
histograma. O número de bits utilizados para representar um pixel influencia no número de
cores que a imagem pode possuir, e consequentemente no comprimento do histograma. Uma
imagem de 4 bits possui o histograma com 16 níveis, e uma imagem com 8 bits possui
histograma com 256 níveis. Todas as imagens estudadas neste trabalho possuem 256 níveis de
cinza. O histograma de uma imagem pode ser calculado através da equação nnrp k
kr =)( , onde
)( kr rp é a probabilidade do k-ésimo nível de cinza, kn é o número de pixels cujo nível de
cinza corresponde a k, n é o número total de pixels da imagem, k = 0, 1,..., L-1, onde L é o
número de níveis de cinza da imagem digitalizada, e 10 ≤≤ kr . (MARQUES FILHO &
VIEIRA NETO, 1999):
2.7. TEOREMA DE BAYES
Sejam x e y dois eventos e suas respectivas probabilidades de ocorrência
)(xP e )(yP , também conhecidas como probabilidades a priori. Denota-se a probabilidade
de ocorrência de x dada a ocorrência de y por )|( yxP , ou seja, esta é a probabilidade de
x condicionada a y . Por definição, ),( yxP é a probabilidade conjunta de x e y . Então,
)()|()()|(),( xxyPyPyxPyxP ⋅=⋅= . Este é o Teorema de Bayes, uma ferramenta
8
matemática usada para calcular a probabilidade a posteriori dado que se conhece a
probabilidade a priori. Organizando a igualdade tem-se o Teorema de Bayes em sua forma
mais conhecida )(
)()|()|(yP
xPxyPyxP ⋅= .
O Teorema de Bayes é utilizado neste trabalho para calcular o limiar de
decisão para a rejeição da localização da pupila. O limiar de decisão obtido possui valor
ótimo, ou seja, o valor que causa a menor probabilidade de erro na rejeição.
2.8. MÁQUINAS DE ESTADO FINITO
Uma máquina de estados finita é uma estrutura matemática definida
formalmente como uma quíntupla ),,,,( 0 FqQM δΣ= , onde:
• Q é um conjunto finito de estados;
• Σ é um conjunto de caracteres permitidos no alfabeto de entrada;
• QQ →Σ×:δ é uma função de transição de estados, que relaciona um estado e um
caractere de entrada a um estado;
• 0q é o estado inicial;
• F é um conjunto de estados finais.
Máquinas de estado finito são utilizadas para interpretar (ou reconhecer)
gramáticas. Dada uma fita de entrada e um sinal de sincronização, a máquina percorre os seus
estados de acordo com o caractere de entrada. Se ao término da fita, o estado atual pertencer
ao conjunto de estados finais, diz-se que a entrada é uma produção da gramática reconhecida
pela máquina (BARRET & COUCH, 1979).
Existem diversas variações desse conceito, entre eles o que permite executar
uma ação durante a transição de estados. Neste trabalho foi utilizada uma máquina de estados
para reconhecer extremos locais em uma seqüência de números. Ao término da seqüência, a
máquina terá preenchido uma lista com todos os extremos detectados durante a execução.
A Figura 4 apresenta um exemplo de máquina de estado finito capaz de
reconhecer seqüências ímpares de número 1. Neste exemplo:
• O conjunto finito de estados Q é {q0, q1}
• O conjunto de caracteres permitidos no alfabeto de entrada Σ é {0, 1} (também chamado
de vetor de entrada ou seqüência de entrada.)
9
• A função de transição de estados δ é definida por q0(q0,0) =δ , q1(q0,1) =δ ,
q1(q1,0) =δ , q0 1) (q1, =δ
• O estado inicial é q0
• O conjunto de estados finais é {q1}
q0
q1
1 1
0
0
q0
q1
1 1
0
0
q0q0
q1q1
1 1
0
0 Figura 4 – Exemplo de máquina de estado finito para reconhecer seqüências ímpares de
números 1.
Ao iniciar, o autômato encontra-se em q0, e enquanto os caracteres do vetor de
entrada forem iguais a 0, a máquina permanece no estado q0. A mudança de estado só ocorre
quando encontrar o caractere 1, quando muda para o estado q1, que é o estado final. Se o
vetor de entrada terminar nesse instante, a máquina encontra-se em um estado final, o que
significa que a seqüência de entrada é uma seqüência de números ímpares de caracteres 1. No
entanto, se a seqüência não terminar, a máquina poderá voltar ao estado q0, indicando que a
seqüência de entrada não contém um número ímpar de caracteres 1.
2.9. ALGORITMO DE BRESENHAM PARA CÍRCULOS
Este item aborda um algoritmo que é usado em computação gráfica para
determinar os pontos que formam uma circunferência, e que é usado nesse trabalho para
detectar os círculos que contornam a pupila e a íris. Este algoritmo é conhecido como
Algoritmo de Bresenham para Círculos (BRESENHAM, 1965), e foi elaborado por
Bresenham em 1963 para controlar um plotter digital através do computador.
Quando se trata de desenhar uma circunferência, a primeira idéia que surge é
utilizar a equação da circunferência: 22 yxr +±= . No entanto, essa equação envolve
10
trigonometria e o cálculo de uma raiz quadrada, que é indesejável por envolver instruções de
ponto flutuante. Além disso, quando esse cálculo é realizado em função de uma coordenada,
por exemplo, x, deixa espaços ou pixels não preenchidos ao longo do traçado da
circunferência em y, como apresentado na Figura 5.
Figura 5 – Esboço traçado pela equação da circunferência.
Bresenham apresenta uma forma elegante e eficiente para o cálculo dos pontos
que formam o traçado de uma circunferência, aproveitando-se da simetria da circunferência
em relação aos eixos de zero, quarenta e cinco, e noventa graus. Assim, para obter todos os
pontos da circunferência, basta calcular os pontos de um octante e rebatê-los para os outros
sete. Uma das características desse algoritmo é que ele determina o próximo ponto baseado na
posição do ponto anterior. Supondo que o primeiro ponto seja conhecido e localizado no
início do segundo octante (em noventa graus), o segundo ponto que melhor representa a
circunferência é determinado entre três alternativas: direita, abaixo, ou diagonal inferior
direita. Para determinar a alternativa correta, calcula-se o erro de cada uma ao longo do raio.
Se o erro for positivo a alternativa indica um ponto fora da circunferência e implica um
movimento horizontal à direita. Se o erro for negativo, o ponto está dentro da circunferência e
implica um avanço vertical para baixo. Se o erro for igual a zero o ponto está localizado sobre
a circunferência e implica um avanço na diagonal inferior direita. Como o cálculo deve ser
realizado apenas para o primeiro octante, estes passos devem ser executados apenas enquanto
o ponto estiver localizado acima da diagonal de 45°, ou seja, enquanto xy ≥ . A Figura 6
apresenta o pseudocódigo do algoritmo de Bresenham para círculos.
11
Figura 6 – Algoritmo de Bresenham para círculos.
CAPÍTULO 3
3 REVISÃO DA LITERATURA
3.1. INTRODUÇÃO
Este item apresenta os principais estudos publicados sobre a captura de
imagens de íris, nos quais este trabalho foi baseado.
3.2. MÉTODOS DE LOCALIZAÇÃO DE ÍRIS
Um dos métodos mais populares para localização da íris foi proposto por
Daugman (2001), no qual se utiliza um operador integral-diferencial em uma imagem
suavizada por um filtro gaussiano. A equação ∫ ⋅∗= ∂
∂
0000 ,,),,( 2
),()(maxyxrryxr ds
ryxIrG
πσ descreve
o operador proposto, em que r é o raio do círculo procurado, )(rGσ é uma função gaussiana
de suavização com desvio padrão σ , * é símbolo da convolução, r∂∂ é a notação de derivada
parcial, ∫ é o símbolo da integral de linha sobre a circunferência de raio r e centro ),( 00 yx e
),( yxI é uma imagem de íris em tons de cinza.
Este operador funciona como um detector de bordas circulares. Daugman
propõe que a pupila seja localizada por primeiro, para que então seja localizada a íris, pois sob
iluminação infravermelha (entre 700 e 900nm) as bordas da pupila são mais salientes que as
bordas da íris.
Outra forma de detectar os parâmetros da íris foi proposta por Wildes et al.
(1994), Este método é dividido em duas partes: detecção de bordas e Transformada de Hough
(BALLARD, 1981, DUDA & HART, 1975). Para determinar as fronteiras entre a esclera e a
íris, aplica-se um detector de bordas que favorece as direções próximas da vertical. A
motivação é que mesmo quando as pálpebras estiverem um pouco fechadas, as fronteiras
laterais continuarão visíveis. A imagem resultante é afinada (ou esqueletizada), e a partir dela
gera-se um espaço de três dimensões segundo os valores permitidos para o raio e as
coordenadas do centro. A transformada de Hough para círculos é então aplicada à imagem e o
ponto com o maior número de votos é considerado o representante dos parâmetros
procurados. A determinação dos parâmetros da pupila é análoga, exceto que a detecção de
14
bordas é realizada sem o favorecimento da direção vertical, e restrita à região composta pela
parte interna da íris.
Um algoritmo computacionalmente mais simples e que exige menos memória
que a transformada de Hough foi proposto por Rad et al. (2003), chamado de Detecção
Rápida de Círculos (DRC). Este algoritmo é utilizado para detectar círculos escuros em
fundos homogêneos mais claros, e é composto por quatro etapas. A primeira etapa consiste
em calcular o gradiente da imagem. Quando existirem círculos escuros na imagem, os seus
vetores de gradiente apontarão para fora do círculo, como na Figura 7.
Figura 7 – Círculo escuro sobre um fundo claro e seus vetores de gradiente.
A segunda etapa consiste em encontrar todos os pares de vetores de gradiente
que satisfazem as seguintes condições: (i) o ângulo entre os dois vetores é igual a 180° e (ii) a
reta que passa entre os dois vetores está na mesma direção dos vetores. Na terceira etapa, um
círculo candidato é considerado para cada par de vetores, em que o centro é o ponto médio do
segmento de reta que liga os vetores, e o raio é igual à metade da distância entre os vetores. A
quarta etapa extrai os círculos desejados da lista de candidatos gerada na etapa anterior. Para
isso os círculos candidatos são organizados na forma de triplas (centro x, centro y, raio) e
agrupados segundo a distância euclidiana entre eles. Assim os círculos podem ser encontrados
através do centro dos grupos.
Kee et al. (2001) apresentaram um método para a captura da íris em um vídeo
em que cada quadro (ou imagem) passa por uma avaliação de qualidade antes de ser
processado. A avaliação da qualidade da imagem consiste em três critérios: o primeiro detecta
se as pálpebras estão fechadas, o segundo verifica se a íris está centralizada, e o terceiro
calcula a razão entre os componentes de borda verticais e horizontais obtidos através do
algoritmo de Sobel para formar um escore. Considera-se que a imagem possui qualidade
suficiente para ser processada se ela atingir um valor mínimo de escore. Para localizar as
bordas da pupila Kee et al. (2001) descrevem um algoritmo de três etapas: na primeira etapa,
o detector de bordas de Canny (1986) é aplicado à imagem e seus componentes conectados
15
são rotulados. Na segunda etapa aplica-se a transformada de Hough para encontrar o centro da
pupila, e na terceira etapa os raios obtidos são agrupados e o valor médio do grupo com a
maior freqüência de ocorrência é considerado o raio da pupila. De forma análoga são
determinados os parâmetros da íris.
O método utilizado por Pan & Xie (2005) para detectar a pupila baseia-se na
análise do histograma da imagem, em que o limiar de segmentação da pupila é o valor do
mínimo local entre o primeiro e o segundo máximo local. Após a segmentação, é aplicada
uma morfologia matemática de erosão e dilatação para fechar os espaços provenientes do
reflexo da iluminação. Para encontrar o centro aproximado da pupila, a imagem é dividida em
pequenas regiões e aquela que possuir a menor soma de intensidade de pixels é considerada a
região que contém a pupila. Detectando horizontalmente as bordas da região na imagem
binária obtém-se o centro da pupila. Para determinar os raios da íris e da pupila, algumas
linhas próximas do centro são amostradas e o vetor obtido é diferenciado (ou derivado) para
que possam ser obtidos os picos que representam as bordas da íris e da pupila. Através desses
picos os respectivos raios são determinados.
Zhang & Li (2005) utilizaram pares de vetores de gradientes resultantes de
uma detecção de bordas de Canny (1986) para a detecção da pupila, posteriormente refinada
através do operador integral-diferencial de Daugman (2001). Para detectar a íris, o algoritmo
de Canny (1986) foi aplicado novamente favorecendo as bordas verticalmente direcionadas,
resultando em um conjunto de pixels que formam o vetor de entrada para o algoritmo de
Detecção Aleatória de Círculos, descrito por Chen & Chung (2001).
Mira Júnior & Mayer (2003) apresentaram um método essencialmente
morfológico para a detecção e extração de características da íris. Utilizando iluminação
visível (ou seja, não infravermelha) determinam as bordas da pupila aplicando a seguinte
seqüência de operadores morfológicos: limiarização, abertura e fechamento. Para determinar
as bordas da íris, a seqüência de operadores é: limiarização, fechamento e abertura.
Cui et al. (2004) descrevem um método baseado em uma Máquina de Vetor de
Suporte (THEODORIDIS & KOUTROUMBAS, 2003) para determinar os parâmetros da íris.
Para isso, detectam a pupila extraindo duas características da imagem: a área, dada pelo
número de pixels pretos da imagem binarizada, e a excentricidade, dada pela equação
2rsI c = , onde s é a área da pupila e r é a maior distância entre o centróide da pupila e um
ponto qualquer pertencente à mesma. Dada a existência da pupila, é realizada a busca pela
16
íris, que consiste em transformar a imagem do espaço de coordenadas retangulares para o
espaço polar, tendo o centro da pupila posicionado na origem (Figura 8).
Figura 8 – Imagem de íris transformada de coordenadas retangulares para coordenadas
polares.
Ao aplicar uma Análise Discriminante (MCLACHLAN, 2004), a imagem
resultante é classificada como sendo ou não uma imagem de íris.
O método de Mäenpää (2005) para detectar a pupila utiliza a limiarização
global da imagem. Depois de obtida a imagem binarizada, aplica-se o operador morfológico
de abertura para remover cílios e partes da sobrancelha, que não fazem parte da pupila.
Assim, o centro da pupila é determinado calculando-se o centróide da região resultante, e o
raio é obtido através da equação da área do círculo πsr = , onde r é o raio e s é a área da
região.
Um algoritmo para reconhecimento de íris em tempo real foi apresentado por
Cho et al. (2005) e implementado em um telefone celular com processador ARM de 300MHz.
Para detectar a pupila, utiliza-se uma limiarização global da imagem. Para minimizar o erro
de localização, o contraste e o brilho da imagem foram ajustados no conversor analógico-
digital da câmera para que houvesse a maior nitidez dos pixels escuros. Assim, os máximos
locais do histograma da imagem referentes à pupila e a esclera apresentam-se mais separados,
o que facilita a limiarização. Da mesma forma o conversor analógico-digital é ajustado para a
detecção das bordas da íris. Neste caso, a nitidez deve ser maior nos pixels com tons de cinza
elevados. Assim, a detecção da íris é realizada aplicando-se uma versão modificada do
operador integral-diferencial de Daugman (2001). A modificação consiste em pré-calcular a
disposição de alguns pontos de todos os possíveis círculos em que a íris pode estar contida.
Assim, a velocidade do processamento aumenta, pois esse cálculo não precisa ser efetuado em
tempo de execução. Tendo os pontos calculados, as diferenças entre os pixels (que
possivelmente estão em torno da borda da íris) são obtidas e o raio que apresentar a maior
soma das diferenças é considerado como sendo o raio da íris (Figura 9).
17
Figura 9 – Posição dos pontos pré-calculados de cada círculo com raio entre 10 e 107 pixels.
3.3. MÉTODOS DE ESTIMATIVA DE FOCO
Os métodos de estimativa de foco podem ser classificados em dois grupos: os
que utilizam toda a imagem e os que utilizam apenas uma região da imagem para obter o
resultado.
Intuitivamente, uma imagem (ou uma região) encontra-se em foco quando as
suas bordas são nítidas. Daugman (2001) estima o foco de uma imagem calculando o seu
espectro de Fourier e então relacionando a quantidade de altas freqüências com as baixas. O
foco estimado da imagem é proporcional a essa relação. No entanto, esse método é afetado
por cílios e sobrancelhas, que quando presentes na imagem geram resultado distorcido, pois
contribuem para a quantidade de altas freqüências. Pessoas que usam óculos também causam
problemas, pois existe a tendência de ajustar o foco na lente dos óculos, que está a uma
distância aproximada de um centímetro do olho. Como a profundidade de campo dos sistemas
ópticos de captura de íris é pequena (as objetivas normalmente usadas são de 50-300 mm) se
o foco estiver ajustado na lente dos óculos, o olho ficará completamente fora de foco. Esta é a
principal desvantagem de métodos que avaliam toda a imagem para determinar o foco.
Park & Kim (2005) utilizam um método do segundo grupo (Figura 10), em que
a região da imagem avaliada para obter o foco é a reflexão especular (causada pela retina) do
sistema de iluminação da íris. Quando está em frente à câmera, a pessoa pode estar situada em
três faixas de distância importantes. Uma dessas faixas é aquela em que a imagem da íris está
nítida, ou seja, está na região de profundidade de campo (faixa PC) do sistema óptico. Nesta
região, a reflexão especular apresenta-se como um pequeno ponto branco na imagem. As
outras duas faixas são aquelas situadas à frente (faixa II) e atrás (faixa III) da região de
profundidade de campo. Quando a pessoa está situada na faixa II, a imagem está fora de foco,
e a reflexão especular apresenta-se como um disco branco, nitidamente maior que o ponto na
18
faixa PC. Da mesma forma a imagem está fora de foco se a pessoa se encontrar na faixa III, e
a reflexão especular também se apresenta como um disco branco. Porém, nesse caso ela
possui um pequeno ponto preto central, que permite identificar, mesmo com a imagem fora de
foco, se a pessoa está muito próxima ou muito distante da faixa de profundidade de campo.
Este é o princípio de funcionamento do sistema de foco automático proposto por Park & Kim
(2005), em que é utilizada uma lente varifocal motorizada, que é movimentada segundo a
distância da pessoa em relação à lente.
Figura 10 - Princípio de funcionamento do cálculo do foco proposto por Park & Kim (2005).
CAPÍTULO 4
4 MATERIAIS E MÉTODOS
4.1. SISTEMA DE AQUISIÇÃO DE IMAGENS
O sistema de aquisição de imagens utilizado nesse trabalho é composto por
uma câmera de vídeo, uma objetiva, um monitor, um filtro infravermelho, e pela placa de
iluminação. A Figura 11 apresenta um diagrama de blocos com os componentes utilizados.
Câmera AYC-577FCDD 1/3’’
Objetiva100 mm
FiltroInfravermelho
RM90
Monitor 2.5’’
Placa deCapturaComputador
Iluminação
Câmera AYC-577FCDD 1/3’’
Objetiva100 mm
FiltroInfravermelho
RM90
Monitor 2.5’’
Placa deCapturaComputador
Iluminação
Figura 11 – Componentes do sistema de aquisição de imagens.
A câmera de vídeo (Figura 12) é fabricada pela empresa ADLER CCTV
(http://www.adlercctv.com), modelo AYC-577F. Esta câmera possui um CCD fabricado pela
Sony com tamanho de 1/3 de polegada e alta resolução (600 linhas horizontais).
Figura 12 – Câmera de vídeo utilizada no trabalho. Possui CCD com 1/3 de polegada e 600
linhas de resolução horizontal.
A objetiva (Figura 13) é fabricada pela empresa Leading Optics
(http://www.leadingoptics.com), modelo CNE05100V, com distância focal variável entre 5 e
100 mm. Neste trabalho a objetiva foi ajustada para a maior abertura de íris e maior distância
focal permitidas, e o foco regulado para a visualização de imagens com nitidez a uma
20
distancia de 30 cm. A profundidade de campo do sistema óptico nessa configuração fica com
aproximadamente um centímetro.
Figura 13 – Objetiva com distância focal de 100 mm utilizada para obter as imagens de íris.
Alguns sistemas de aquisição utilizam avisos sonoros, outros, espelhos para
orientar o usuário sobre o seu posicionamento. Nesse sistema é utilizado um monitor da
marca Pustom de 2,5 polegadas (Figura 14) fixado logo abaixo da objetiva, que consiste em
uma terceira alternativa para realimentar o posicionamento para o usuário. A realimentação é
realizada quando o usuário corrige a sua posição ao perceber que a sua imagem não está
centralizada no monitor.
Figura 14 – Monitor de vídeo de 2,5’’ usado para a realimentação do posicionamento para o
usuário.
Para impedir a passagem de iluminação visível pela lente e permitir a
passagem da luz infravermelha foi utilizado um filtro infravermelho (Figura 15). O filtro é
fabricado pela empresa HOYA OPTICS, modelo RM90.
21
Figura 15 – Filtro infravermelho Hoya RM90 utilizado para impedir a entrada de luz com
comprimento de onda inferior a 900 nm.
Este filtro é um passa-baixas (ou passa-longas), que possui freqüência de corte
em 900 nanômetros. Assim, apenas a radiação infravermelha com comprimento de onda
acima de 900 nm atinge o CCD, como mostra a Figura 16.
Figura 16 – Curva de transmissão de radiação de dois modelos de filtro Hoya. À esquerda a
curva do RM90, e à direta a curva do modelo RM100.
A placa de iluminação é composta por 4 leds infravermelhos de 5 mm, modelo
LD271, dispostos na forma de linha, com 2 cm de separação. Esses leds emitem radiação
infravermelha com comprimento de onda de 950 nm, com tolerância de 50 nm para mais ou
para menos.
A câmera foi ligada a um computador portátil através de uma placa de captura
de vídeo PCMCIA capaz de processar imagens de tamanho 320×240 pixels em até 30 quadros
por segundo no padrão NTSC.
22
4.2. BASES DE DADOS UTILIZADAS
No decorrer desse trabalho foram utilizadas duas bases de dados de íris: uma
de domínio público e outra privada.
A base de dados privada, BDIRIS, é constituída por 4018 imagens
provenientes de 22 pessoas. Estão armazenadas no formato bitmap com 256 tons de cinza e
com tamanho de 320×240 pixels. Esta base possui imagens originadas de vários modelos de
câmeras, níveis de iluminação, assim como a distância do indivíduo à lente.
A base de dados de domínio público é conhecida como CASIA
(http://www.sinobiometrics.org/casia iris.htm) e é constituída por 756 imagens provenientes
de 108 pessoas, com cada pessoa contribuindo com sete imagens de ambos os olhos (três
imagens de um olho e quatro de outro). As imagens também estão em formato bitmap com
256 tons de cinza e tamanho de 320×280 pixels. A grande maioria dessas imagens é de
orientais, explicando assim a obstrução causada por cílios em algumas delas.
A principal dificuldade com o processamento de imagens é definir os valores
ótimos de limiarização, tamanho de máscaras de filtro, larguras de janelas, entre outras.
Nesses casos é interessante possuir um mecanismo para auxílio na determinação desses
valores. Neste trabalho, esse mecanismo é uma base de imagens de íris com todos os
parâmetros importantes da íris pré-determinados. Por isso, foi desenvolvido um programa que
permite determinar manualmente e armazenar em um banco de dados os parâmetros das 756
imagens da base de dados CASIA. Os parâmetros armazenados são os raios e os centros da
pupila e da íris. Assim, em alguns casos, os valores para uma constante do software de
detecção são determinados estatisticamente utilizando-se esses parâmetros como referência. A
Figura 17 apresenta a tela principal desse programa auxiliar.
23
Figura 17 – Programa auxiliar desenvolvido para determinar manualmente os parâmetros das
imagens da base de dados CASIA.
4.3. ESTRUTURA DO ALGORITMO DE LOCALIZAÇÃO
O algoritmo de localização é composto pelos blocos da Figura 18. No primeiro
bloco a imagem é convoluída com máscaras gaussianas (RUSS, 1998) de tamanho 5×5. Então
os gradientes horizontais e verticais são calculados através do método de Sobel (GONZALEZ
& WOODS, 2000). No terceiro bloco calcula-se o histograma da imagem, que será utilizado
posteriormente para diversas considerações. Através do histograma, o raio da pupila é
estimado e o centróide da imagem calculado. Neste ponto é possível reduzir o espaço
tridimensional de busca pela pupila. Calcula-se uma estimativa do raio através do histograma,
o que significa que não será necessário iterar por todos os raios possíveis para que ele seja
encontrado. Calcula-se uma estimativa do centro da pupila através do centróide (ou centro de
massa) da imagem binarizada, limitando a busca pelo centro da pupila a uma região reduzida
da imagem. Na seqüência é realizada a procura pela pupila, a limiarização dos gradientes, a
busca pela íris, e no último bloco o foco da imagem é estimado. Nos próximos itens cada um
desses blocos será explicado com detalhes.
24
Figura 18 – Diagrama de blocos do algoritmo de detecção.
4.3.1. FILTRO GAUSSIANO
O filtro gaussiano é aplicado no domínio do espaço, através de uma
convolução de uma máscara com a imagem. O objetivo da aplicação desse filtro é suavizar a
imagem para evitar a presença de picos nos valores de gradiente, causados pelo ruído. A
máscara utilizada possui os valores apresentados na Figura 19, conforme sugerido por Russ
(1998). O tratamento de bordas realizado na imagem resultante é feito com o preenchimento
dos valores da imagem original.
Figura 19 – Máscara do filtro gaussiano utilizado na filtragem.
25
O tamanho dessa máscara assim como a variância da função gaussiana foi
selecionado empiricamente, de forma a não comprometer o tempo de processamento e o
tamanho resultante da imagem.
4.3.2. CÁLCULO DO GRADIENTE SOBEL
O operador de Sobel (GONZALEZ & WOODS, 2000) é composto pelas
máscaras de convolução apresentadas na Figura 20. Esse operador é utilizado para detectar os
gradientes horizontais e verticais da imagem de íris. Na implementação desse operador foi
feita uma simplificação em que ao invés de calcular a distância euclidiana para obter o valor
do módulo em um determinado ponto da imagem, considerou-se o módulo como sendo
apenas a soma dos valores do gradiente na horizontal e vertical. Uma alternativa para detectar
as bordas da pupila seria a utilização do operador de Canny (CANNY, 1986). Apesar dos
resultados apresentados por esse método serem superiores (pois ele detecta os componentes
conectados das bordas) aos do operador de Sobel, a escolha pelo último foi mantida, pois é de
rápido processamento.
Figura 20 – Máscaras do operador de Sobel
4.3.3. HISTOGRAMA DA IMAGEM
Neste bloco é gerado o histograma da imagem. Pelo histograma de uma
imagem de íris é possível inferir algumas características, como por exemplo, o contraste e a
média dos níveis de cinza da pupila. Como apresentado na Figura 21, o histograma de uma
imagem de íris de boa qualidade apresenta dois máximos locais com um mínimo local bem
característico entre eles. O primeiro máximo, com um nível de cinza menor e nitidamente
mais isolado dos outros é formado essencialmente pelos pixels pertencentes à pupila. O
segundo máximo apresenta uma variância maior que o primeiro e é constituído em sua
maioria pelos pixels que formam a íris.
No entanto, nem sempre as imagens são de boa qualidade e com freqüência
encontra-se imagens de baixo contraste como aquela ilustrada na Figura 22. O histograma
26
dessa imagem continua apresentando os dois máximos locais referidos anteriormente, porém
eles não têm a evidência que os máximos da Figura 21 apresentam, ou seja, seus valores
máximos são baixos em relação aos outros picos da imagem e não apresentam uma fronteira
nítida de separação. Além disso, não existe o mínimo local citado anteriormente.
Ainda, observa-se que o nível de cinza do primeiro máximo local é,
aproximadamente, a média do conjunto de pixels que constituem a pupila. Sendo assim,
quando a imagem é binarizada e utilizando-se como limiar o menor valor entre os dois picos,
o resultado é uma imagem que contém apenas a pupila.
Figura 21 – Imagem de boa qualidade e seu respectivo histograma. Dimensões: 320×240
pixels, 256 tons de cinza. Fonte: BDIRIS.
Figura 22 – Imagem de baixa qualidade e seu respectivo histograma. Dimensões: 320×240
pixels, 256 tons de cinza. Fonte: BDIRIS.
27
4.3.4. ESTIMAÇÃO DO RAIO DA PUPILA
Utilizando o valor de limiar sugerido no item 4.3.3 é possível obter uma
estimativa da área da pupila, distorcida apenas pela região de reflexo e por alguns cílios um
pouco mais escuros. Essa estimativa permite reduzir o espaço de busca por círculos
candidatos a pupila, pois a busca deixa de ser feita por todo o intervalo possível em que se
pode encontrar o raio da pupila, para ser feita no raio estimado com uma pequena tolerância
pré-definida.
Para demonstrar a importância do contraste da imagem e da separação entre os
máximos locais, a Figura 23 e a Figura 24 fazem uma comparação entre os valores máximos e
mínimos permitidos para o limiar de binarização.
Figura 23 – Resultado da binarização da Figura 21. (a) limiar mínimo 43, (b) limiar máximo 75. Abaixo de cada pupila é apresentado o histograma da imagem original e o ponto onde foi
aplicado o limiar de binarização.
Na Figura 23, o limiar mínimo de binarização é 43, e o máximo 75, o que
indica uma tolerância de 32 níveis de cinza para a escolha do limiar sem que a área estimada
da imagem tenha uma variação significativa.
28
Figura 24 – Resultado da binarização da Figura 22. (a) limiar mínimo 35, (b) limiar máximo 46. Abaixo de cada pupila é apresentado o histograma da imagem original e o ponto onde foi
aplicado o limiar de binarização.
Na Figura 24 o limiar mínimo é de 35 e o máximo 46, constituindo uma faixa
de 11 níveis de cinza, sendo que a partir do nono nível a área de preto começa a aumentar
significativamente. Além disso, não existe um mínimo local bem definido para que se possa
atribuir o limiar de binarização.
Assim, fica evidente que um dos parâmetros que define a qualidade de uma
imagem de íris é um histograma que apresenta um mínimo local bem definido entre os
máximos locais que correspondem à pupila e a íris.
Considere agora o histograma de uma imagem de íris, como aquele
apresentado na Figura 21. É nítida a existência de falhas periódicas em sua seqüência de
valores que são causadas pelo hardware de captura de imagens. Para corrigir essas falhas
aplica-se um filtro de média com uma janela de cinco pixels de lado, que também elimina
pequenos ruídos e suaviza a curva. O tamanho da janela de cinco pixels foi determinado
experimentalmente, de forma a preencher as falhas e ao mesmo tempo não comprometer os
detalhes do histograma. Neste momento o histograma está pronto para ser submetido a uma
análise sintática para a determinação de seus extremos locais. Essa análise sintática é feita
pela máquina de estados apresentada na Figura 25.
Ao detectar extremos locais em um histograma (ou em um vetor qualquer),
nota-se a existência de cinco estados (Figura 25):
29
• Subindo: Ocorre quando o valor do próximo elemento do vetor de entrada é maior que o
valor atual.
• Descendo: Ocorre quando o valor do próximo elemento do vetor de entrada é menor que o
valor atual.
• Plano Subindo: Ocorre quando o valor do próximo elemento do vetor de entrada é igual
ao valor atual e o estado anterior era Subindo.
• Plano Descendo: Ocorre quando o valor do próximo elemento do vetor de entrada é igual
ao valor atual e o estado anterior era Descendo.
• Plano Início: Ao iniciar o autômato, não se pode considerar um dos estados anteriores
como o estado inicial. Por isso existe o estado Plano Início, que é o estado inicial e faz
com que o vetor seja considerado plano até que o valor do próximo elemento do vetor
cause uma mudança de estado para subindo ou descendo.
Após o término da execução, existirão duas listas de extremos locais, uma de
máximos e outra de mínimos, que são preenchidas conforme esses extremos são detectados.
Plano início
Plano subindo
Descendo Subindo
Planodescendo
Início
h[n+1]=h[n]
h[n+1]=h[n]Início de Planoip = n
h[n+1]<h[n]Máximo Local Detectadolistamax.adicionar( (n+ip)/2 )
h[n+1]<h[n]
h[n+1]>h[n]h[n+1]=h[n]
h[n+1]>h[n]
h[n+1]>h[n]Mínimo Local Detectadolistamin.adicionar(n)
h[n+1]<h[n]Máximo Local Detectadolistamax.adicionar(n)
h[n+1]<h[n] h[n+1]>h[n]
h[n+1]=h[n]
h[n+1]<h[n]
h[n+1]=h[n]Início de Planoip = n h[n+1]>h[n]
Mínimo Local Detectadolistamin.adicionar( (n+ip)/2 )
Plano início
Plano subindo
Descendo Subindo
Planodescendo
Início
h[n+1]=h[n]
h[n+1]=h[n]Início de Planoip = n
h[n+1]<h[n]Máximo Local Detectadolistamax.adicionar( (n+ip)/2 )
h[n+1]<h[n]
h[n+1]>h[n]h[n+1]=h[n]
h[n+1]>h[n]
h[n+1]>h[n]Mínimo Local Detectadolistamin.adicionar(n)
h[n+1]<h[n]Máximo Local Detectadolistamax.adicionar(n)
h[n+1]<h[n] h[n+1]>h[n]
h[n+1]=h[n]
h[n+1]<h[n]
h[n+1]=h[n]Início de Planoip = n h[n+1]>h[n]
Mínimo Local Detectadolistamin.adicionar( (n+ip)/2 )
Figura 25 – Máquina de estados para detecção de máximos e mínimos locais. Na figura, h é o
vetor de entrada, h[n] é o valor atual do vetor, h[n+1] é o valor do próximo elemento do vetor, n é o índice do elemento atual do vetor, incrementado a cada transição de estado, e listamax e listamin são listas que armazenam os máximos e os mínimos, respectivamente.
30
No histograma de uma imagem de íris, o primeiro máximo local encontrado é
aquele associado à pupila. Ou seja, os pixels que formam a pupila possuem níveis de cinza
próximos ao nível de cinza em que este máximo se encontra. Neste trabalho, este nível de
cinza é chamado de média estimada da pupila, e ela tende a se aproximar da média real
quando diminuem os reflexos na região da pupila.
Ao primeiro mínimo local encontrado após o máximo associado à pupila é
atribuído o limiar de binarização da pupila. O número de pixels que possuem níveis de cinza
abaixo desse limiar é considerado a área estimada da pupila (em pixels). Dividindo-se esse
valor por π e extraindo-se a raiz quadrada obtém-se o raio estimado da pupila.
4.3.5. CÁLCULO DO CENTRÓIDE DA IMAGEM
Tendo determinado o limiar de binarização, o próximo passo é o cálculo do
centróide da imagem. Em geometria, o centróide de um objeto R, pertencente a um espaço n-
dimensional, é a intersecção de todos os hiperplanos que dividem R em quantidades iguais de
movimento com relação ao hiperplano. Quando o objeto possui densidade uniforme, o centro
de massa coincide com o centróide do objeto. No caso da imagem limiarizada da pupila,
pode-se fazer uma analogia do nível de cinza preto de cada pixel com a densidade de massa
uniforme. Dessa forma, dada a sua geometria circular, o centróide da imagem tende a se
aproximar do centro da circunferência que circunscreve a pupila.
As equações (1) e (2) fornecem as coordenadas ( )yx cc , do centróide da
imagem limiarizada da íris nas direções horizontal e vertical, respectivamente.
∑∑
∑∑
= =
= =
⋅= J
j
K
k
J
j
K
kx
kjI
kjIjc
1 1
1 1
),(
),( (1)
∑∑
∑∑
= =
= =
⋅= J
j
K
k
J
j
K
ky
kjI
kjIkc
1 1
1 1
),(
),( (2)
Nas equações (1) e (2), I é a imagem limiarizada (binarizada), j é a
coordenada do eixo horizontal, k é a coordenada do eixo vertical, J é a largura da imagem, e
K é a altura da imagem.
31
Dessa forma, fez-se um estudo para avaliar qual a variação média entre as
coordenadas do centróide e do centro da pupila. Os centróides foram obtidos
matematicamente através da imagem binarizada, mas o centro da imagem precisa ser
informado a priori para que o estudo seja realizado. Por isso foram utilizadas as 756 imagens
da base de dados CASIA, que foram limiarizadas e as coordenadas do centro da imagem
determinadas manualmente, conforme explicado no item 4.2.
A Figura 26 apresenta o gráfico da distância do centróide ao centro da pupila
versus o número de imagens.
Figura 26 – Comparação entre o centróide (estimativa do centro) e o centro real da pupila. Nota-se que na grande maioria das imagens o centróide está a uma distância de quatro ou
cinco pixels do centro da pupila.
Neste gráfico, o eixo vertical conta o número de imagens e o horizontal indica
a distância euclidiana que o centróide está do centro da pupila (em pixels). Por exemplo, a
terceira barra indica que existem 248 (de um total de 756) imagens em que a distância do
centróide ao centro é de cinco pixels.
Este gráfico é importante porque fornece uma constante para o algoritmo de
localização. Essa constante determina o raio de busca nas redondezas do centro estimado da
pupila. Se não existisse uma estimativa para o centro, a alternativa seria utilizar toda a
imagem como área de busca, mas nesse caso o tempo de localização aumentaria
proporcionalmente ao número de pixels. Ao observar as barras do gráfico da Figura 26, é
plausível considerar o raio de busca igual a dez pixels. O número de imagens com o erro
maior que dez nesse gráfico é desprezível, além do que esse erro é causado por sobrancelhas e
cílios, muitas vezes com o centro da pupila posicionado na parte inferior da imagem.
32
A Figura 27 apresenta uma imagem de íris em que seus parâmetros foram
determinados (bordas da íris e da pupila). O quadrado branco com 41 pixels de lado revela na
imagem a região de busca pela pupila. Percebe-se assim que o espaço de busca diminui
consideravelmente em relação à busca na imagem toda.
Figura 27 – Imagem de íris com seus parâmetros determinados e o quadrado delimitando a
região de busca pela pupila.
4.3.6. DETERMINAÇÃO DOS PARÂMETROS DA PUPILA
O raio da pupila é estimado através de uma técnica baseada no histograma
(item 4.3.4), e as coordenadas do centro da pupila são estimadas pela posição do centróide da
imagem binarizada (item 4.3.5). Dessa forma, o espaço de busca por esses parâmetros fica
reduzido às suas estimativas, ou seja, existem limites para cada uma dessas variáveis. Os
limites das coordenadas do centro são os pixels que se encontram dentro de um quadrado de
41 pixels de lado, centralizado na posição do centróide (Figura 27). Os limites do raio são
44 +≤≤− ee rrr , onde er é o raio estimado da pupila (item 4.3.4). Neste trabalho, a
tolerância de procura pelo raio da pupila é igual a quatro pixels, para mais ou para menos.
Esta tolerância foi obtida empiricamente com o compromisso de não excluir o raio verdadeiro
do intervalo e ao mesmo tempo não comprometer o desempenho do sistema. O tamanho do
espaço sem as estimativas para uma imagem de 320×240 pixels, com o raio máximo da pupila
igual é 50 é de ( ) ( ) 000.540.150502240502320 =⋅⋅−⋅⋅− , mais de um milhão e meio de
triplas possíveis. Considerando-se as estimativas do centro e do raio, o tamanho do espaço de
busca fica reduzido para 129.1594141 =⋅⋅ , ou seja, uma redução de 100 vezes que se reflete
no tempo de processamento da imagem.
Para determinar o centro e o raio da pupila adaptaram-se as técnicas propostas
por Bresenham (1965), para determinar os pontos de uma circunferência (item 2.9), e por Rad
(2003), para localização de círculos (item 3.2) através de pares de vetores de gradientes.
33
Seja uma tripla ( )ryxt ,,= pertencente ao espaço de busca da pupila, em que x
e y são as coordenadas do centro e r é o raio da pupila. Através do algoritmo de Bresenham
(1965) são obtidos os pontos da circunferência definida por essa tripla. A seguir procura-se
por pares de vetores de gradiente. Conforme ilustra a Figura 28, para que dois vetores sejam
considerados um par é necessário que eles estejam na mesma direção e possuam sentidos
opostos. Experimentalmente detectou-se que é comum a existência de pupilas que não
formam um círculo perfeito (como por exemplo, a pupila da Figura 29). Por isso, optou-se por
estabelecer uma tolerância para que a direção dos vetores seja considerada a mesma, ou seja,
definiu-se um ângulo máximo de desvio (φ) que os vetores podem ter em relação à direção
radial para que sejam considerados um par. Assim, se 1p for um ponto no primeiro octante, e
2p um ponto no quinto octante (ou qualquer combinação de octantes simétricos), pode-se
afirmar que eles formam um par de vetores se φ−≥ o180d ou φ≤d , onde d é resto da
divisão entre a diferença do ângulo de 1p e o ângulo de 2p por 180 (resto de 180
21 pp ∠−∠ ).
Cada uma das 15.129 triplas existentes no espaço (cada combinação possível
para ryx ,, ) é avaliada e associada a um escore, com valor proporcional ao número de pares
de vetores encontrados. Então as triplas são ordenadas por ordem de maior escore e apenas as
primeiras 20 triplas são armazenadas. O valor 20 foi determinado empiricamente de forma a
não comprometer a eficiência da localização, pois considerando-se um valor muito baixo
pode-se descartar a tripla procurada e, ao contrário, considerando-se um valor muito alto
pode-se avaliar todas as 15.129 triplas no pior caso, o que impediria o sistema de executar em
tempo real a 30 quadros por segundo.
Figura 28 – Direção dos vetores de gradiente em uma circunferência.
O próximo passo é localizar a pupila determinando qual dessas triplas
candidatas corresponde aos parâmetros da pupila presente na imagem, ou então rejeitar todas
as candidatas no caso em que a imagem não possua simetria suficiente para a existência de
34
uma pupila. Apenas o escore da tripla não é suficiente para rejeitar uma imagem, por isso
definiu-se um novo parâmetro chamado de DM – módulo da diferença entre as médias. A DM
consiste no valor absoluto da subtração do valor médio dos pixels que formam a pupila do
valor médio estimado da pupila, obtido através do primeiro máximo local do histograma da
imagem (item 4.3.4). Assim, se esse parâmetro possuir um valor baixo, significa que a média
estimada, observada no histograma da imagem (Figura 29), está muito próxima da média dos
níveis de cinza da pupila, efetivamente contados na imagem.
Figura 29 – Esquerda: Imagem de uma íris onde as linhas contornam a pupila e a íris. Direita:
Histograma da imagem da esquerda, onde o nível de cinza do primeiro pico indica a média estimada da pupila.
Se a circunferência da tripla candidata envolver corretamente a pupila, a
diferença entre as duas médias será pequena, causada apenas por reflexos especulares
(gerados pela iluminação do sistema de captura) e pelas imperfeições nas bordas da pupila.
Para determinar estatisticamente o valor ótimo de decisão para a DM foi
desenvolvido um programa auxiliar que permitisse localizar automaticamente a pupila,
levando em consideração apenas o escore das triplas, para então classificar o resultado e a
DM como um acerto ou um erro.
O processamento das imagens da base BDIRIS resultou em 3575 acertos e 443
erros, totalizando 4018 imagens. O resultado está apresentado no gráfico da Figura 30. Neste
gráfico, a DM é representada no eixo das abscissas (em níveis de cinza) e as probabilidades de
ocorrência de acertos e de erros estão indicadas na ordenada.
35
Figura 30 – Gráfico que apresenta a probabilidade de ocorrência de um acerto e de um erro
em função da DM.
Percebe-se que quando a DM encontra-se entre 0 e 5, a probabilidade de
ocorrência de um acerto é de quase 100%. O mesmo ocorre para a probabilidade de
ocorrência de um erro quando a DM encontra-se acima de 15. O intervalo de incerteza entre 5
e 15 é onde ficará ajustado o limiar de decisão. Para não aumentar a complexidade do estudo,
optou-se por considerar que o custo de um falso erro é igual ao custo de um falso acerto.
Deste modo, o limiar ótimo de decisão situa-se no ponto de cruzamento das curvas, em que o
valor da DM é igual a 14. A Tabela 2 apresenta os dados utilizados na construção do gráfico.
36
Tabela 2 – Parcela inicial dos dados obtidos após a classificação manual das 4018 imagens da base de imagens BDIRIS.
DM Probabilidade de acerto
dada uma DM ( )DMAp | Probabilidade de erro
dada uma DM ( )DMEp | 0 0,995 0,005 1 0,999 0,001 2 1,000 0,000 3 0,995 0,005 4 1,000 0,000 5 1,000 0,000 6 0,967 0,033 7 0,987 0,013 8 0,983 0,017 9 0,900 0,100
10 0,968 0,032 11 0,762 0,238 12 0,846 0,154 13 0,563 0,438 14 0,600 0,400 15 0,375 0,625 16 0,000 1,000 17 0,000 1,000 18 0,000 1,000 19 0,000 1,000 20 0,000 1,000 21 0,000 1,000 22 0,000 1,000
Ao dividir o número de acertos pelo total de imagens obtém-se a probabilidade
de acerto a priori, igual a 89%. De forma complementar, a probabilidade de erro a priori é de
11%.
O resultado dessa classificação manual permite obter a probabilidade de uma
DM ocorrer, dado que tenha ocorrido um acerto (e também para que tenha ocorrido um erro).
A probabilidade de ocorrência de uma DM qualquer é determinada dividindo-se o número de
imagens que obtiveram tal diferença pelo total de imagens. Dessa forma têm-se todas as
informações necessárias para obter a probabilidade a posteriori através do Teorema de Bayes
(DUDA et al. 2001, THEODORIDIS & KOUTROUMBAS, 2003).
A probabilidade a posteriori era o que faltava para completar a decisão a favor
de uma das triplas, pois dada uma tripla candidata, seu escore, e sua DM, é possível decidir
37
com a menor probabilidade de erro (em que a amostra da população foi baseada na BDIRIS)
qual delas representa mais corretamente a pupila, ou se nenhuma delas a representa.
Pelo Teorema de Bayes (2.7) tem-se que ( ) ( ) ( )( )DMp
ApADMpDMAp ⋅= || onde
( )DMAp | é a probabilidade de ocorrer um acerto dada uma diferença de médias DM, ( )Ap
é a probabilidade de ocorrência de um acerto, e ( )DMp é a probabilidade de ocorrência da
diferença das médias DM, e ( )ADMp | é a probabilidade de ocorrência de uma DM dada a
ocorrência de um acerto. Assim, a probabilidade de ocorrência a posteriori de um acerto é
calculada a partir de sua probabilidade de ocorrência a priori, obtida através da classificação
manual. A probabilidade de ocorrência a posteriori de um erro é obtida da mesma forma que
para um acerto, ( ) ( ) ( )( )DMp
EpEDMpDMEp ⋅= || , exceto pela substituição das probabilidades
de acerto ( )Ap pelas probabilidades de erro ( )Ep , e das probabilidades condicionais
( )EDMp | e ( )DMEp | .
Isto posto, decide-se por um acerto caso ( ) )|(| DMEpDMAp ≥ ou por um
erro caso ( ) )|(| DMEpDMAp < .
Na Tabela 2 percebe-se que ( ) )|(| DMEpDMAp < para 15≥DM . Assim
sendo, pode-se rejeitar imagens com a menor probabilidade erro se o valor de DM for maior
ou igual a 15.
4.3.7. LIMIARIZAÇÃO DO GRADIENTE
Esta etapa está representada pelo sétimo bloco do diagrama da Figura 18, que
antecede a localização da íris. Os gradientes referentes aos pixels que contornam a pupila são
geralmente os mais elevados da imagem, o que facilita a localização da pupila. O mesmo não
ocorre para a borda entre a íris e a esclera, pois sob iluminação infravermelha essa borda não
se apresenta tão nítida quanto sob a iluminação do espectro de luz visível (Figura 31).
38
Figura 31 - Esquerda: Imagem de íris 019_2_2.bmp da base de dados CASIA. Direita: Resultado da detecção de bordas através do operador de Sobel (módulo do gradiente).
Portanto, para facilitar a detecção da íris, valores muito baixos de gradiente
devem ser evitados para que não sejam confundidos com as bordas da íris. Assim, é
necessário determinar um valor de corte para limiarizar os gradientes. Nesta proposta de
algoritmo o valor de corte é determinado de forma dinâmica, baseando-se nos parâmetros da
imagem. Para determinar esse valor, gera-se o histograma da imagem do módulo do gradiente
considerando-se o valor de corte aquele que trunca 40% desses valores. Este procedimento
elimina 40% dos menores valores de gradiente, que nesse caso são considerados como sendo
ruído. Esta porcentagem é a que apresentou o maior número de íris localizadas na base de
dados CASIA. A Tabela 3 apresenta os dados do desempenho do algoritmo para valores de
corte entre 20 e 60%.
Tabela 3 – Desempenho da detecção da íris para limiarizações do gradiente entre 20 e 60% na base de dados CASIA.
Limiar (%) Rejeição (%) Acertos (%) Centro Raio
20 3 90 81 25 4 90 81 30 4 91 81 35 4 91 81 40 3 91 82 45 3 90 81 50 3 91 81 55 3 91 81 60 3 90 80
39
4.3.8. DETERMINAÇÃO DOS PARÂMETROS DA ÍRIS
A detecção da íris consiste em encontrar o raio e as coordenadas do centro da
íris. A determinação desses parâmetros só é possível se a localização da pupila for bem
sucedida, pois parte-se do princípio de que a íris e a pupila são dois círculos concêntricos ou
quase concêntricos. Assim, conhecendo-se o centro da pupila, qualquer tipo de busca pelos
parâmetros da íris resume-se ao espaço delimitado pelas redondezas do centro da pupila.
O primeiro passo para a detecção da íris é a seleção de uma ‘fatia’ horizontal
de vinte e uma linhas da imagem na altura do centro da pupila, como apresentada na Figura
32. Nota-se que as bordas entre a íris e a esclera são bastante suaves, o que dificulta a
definição de um valor de limiar, principalmente na presença de reflexos de iluminação nessa
região.
Figura 32 – Fatia da imagem usada para fazer a detecção. As bordas da pupila são facilmente
perceptíveis, no entanto as fronteiras da íris não apresentam bordas nítidas.
O próximo passo é transformar essa ‘fatia’ em um vetor (Figura 33). Para isso,
calcula-se a média de cada coluna dessa fatia, que será o valor do vetor naquela posição.
Nessa etapa existe um compromisso entre o número de linhas que compõem a ‘fatia’ e a
nitidez da borda da íris, pois quanto maior a altura da ‘fatia’, mais imune a ruídos será o
resultado, porém, como a borda da íris é circular, ela será suavizada e se tornará menos nítida.
Para uma íris com diâmetro aproximado de 200 pixels, experimentalmente detectou-se que
uma fatia com altura de 21 pixels não compromete a nitidez da borda e é pouco sensível a
ruídos.
40
Figura 33 – Vetor gerado a partir da fatia da imagem. O pico estreito entre 180 e 210 é
causado pelo reflexo do sistema de iluminação. No entanto ele não interfere na localização, pois a busca pela íris inicia com um raio maior que o da pupila.
O terceiro passo é a aplicação de um operador de derivada (ou de diferenças)
nesse vetor, a partir do centro da pupila em direção aos extremos, que resulta em um novo
vetor, apresentado na Figura 34. Nesta figura nota-se que as bordas da íris estão representadas
por dois aglomerados próximos das posições 81 e 301, e também que estes dados apresentam
ruídos que dificultam a localização exata da íris, principalmente em regiões próximas das
extremidades da imagem.
Figura 34 – Derivada do vetor gerado a partir da fatia da imagem. Notam-se pequenos
aglomerados que podem representar as bordas da íris.
Para reduzir o ruído aplica-se um filtro de média simétrico. Esse filtro
caracteriza-se por possuir duas janelas de média, posicionadas inicialmente na coordenada x
do centro da pupila. A cada iteração, as janelas deslocam-se uma posição em sentidos
41
opostos, em direção das extremidades do vetor. Com isso, um novo vetor é gerado, onde o
valor de cada ponto é igual à média dos valores das duas janelas.
A aplicação do filtro de média no vetor apresentado na Figura 34 gera o vetor
representado pelo gráfico da Figura 35. Nota-se que esse gráfico é simétrico, e que apresenta
picos candidatos a representarem as borda da íris. Quando existem apenas dois candidatos,
não existe dúvida quanto a posição das bordas, pois um deles representa a borda direita e o
outro a esquerda. No entanto, quando existirem quatro, seis ou mais picos, calcula-se os pares
de vetores de gradiente para os candidatos (como explicado no item 4.3.6) e atribui-se a borda
da íris para o par de picos que possuir o maior escore.
Figura 35 – Resultado da detecção da íris. Os picos representam as bordas da íris, observadas em seu diâmetro horizontal. Neste caso em que aparecem apenas dois picos, não existe dúvida
quanto à localização da íris. No caso em que existe mais de dois picos, a busca deve ser realizada através do cálculo dos pares de gradientes.
O último passo da localização da íris é o refinamento. O refinamento é
necessário porque o filtro de média simétrico aplicado no vetor de derivadas resulta em uma
detecção em que a pupila e a íris são concêntricas. No entanto essa concentricidade não pode
ser assumida, pois na maioria das pessoas a pupila tem a tendência de deslocamento nasal e
inferior em relação à íris (DAUGMAN, 2001).
No refinamento, tem-se a informação aproximada de onde estão localizadas as
bordas da íris, portanto, seleciona-se no vetor da Figura 34 (que possui ruído, porém é menos
distorcido pelo filtro de média simétrico) os dois máximos locais nas vizinhanças das bordas
encontradas, se eventualmente existirem. Enfim, o raio da íris é calculado como a metade da
distância entre as duas bordas, e a coordenada horizontal do centro como a metade da soma
das posições dessas bordas.
42
4.3.9. ESTIMATIVA DE FOCO
Conforme mencionado no item 4.1, a profundidade de campo (região em que a
imagem aparece com nitidez) do sistema óptico para captura de íris é de aproximadamente 1
cm, para imagens capturadas a 30 cm da lente. É difícil para uma pessoa se posicionar sem
suporte exatamente a essa distância e permanecer em foco e centralizada por alguns segundos
para que a sua íris seja registrada. Por isso, optou-se por desenvolver uma rotina para detectar
se uma imagem do vídeo que está sendo capturado está em foco.
Entre os métodos de estimativa de foco existentes, pode-se citar aquele
desenvolvido por Park & Kim (2005), em que utilizaram o reflexo da iluminação na retina
para determinar se a imagem encontra-se em foco. Quando em foco, o reflexo apresenta-se
como um ponto branco na imagem, e quando fora de foco esse reflexo apresenta-se com um
pequeno disco. Pode-se citar também o método utilizado por Daugman (2001), em que se
determina o foco de uma imagem através da potência espectral obtida pela transformada de
Fourier da imagem.
O método desenvolvido nesse trabalho baseia-se em características locais da
imagem para determinar o foco. O foco é calculado após a localização da íris, e seu valor é
obtido avaliando-se a nitidez das bordas verticais da pupila. O objetivo desse método é
atribuir um valor de foco para cada imagem, de forma que uma entre as diversas imagens
fornecidas pela câmera possa ser selecionada. A Figura 36 apresenta o princípio de
funcionamento do sistema de obtenção de foco. Nota-se que se a imagem estiver em foco, as
bordas da pupila serão bem definidas, e nos casos em que a imagem estiver fora de foco as
bordas da pupila apresentarão uma transição suave do nível de cinza da pupila para o nível da
íris.
Figura 36 – Princípio de funcionamento do sistema de obtenção do foco. (a) Modelo da íris e as regiões de interesse. (b) Situação de uma região de intresse que está em foco. (c) Situação
de uma região de interesse que está fora de foco.
43
Toma-se a média de cinco (valor obtido empiricamente) pixels à esquerda da
borda, comparando-se com a média de cinco pixels à direita. O valor absoluto da diferença
dessas médias constitui o foco dessa borda. Da mesma forma calcula-se o foco da borda
oposta. O menor deles é considerado o foco da imagem, pois nos casos em que a pupila for
localizada incorretamente e uma das bordas ficarem posicionada sobre uma região homogênea
da imagem, o resultado será um baixo valor para o foco.
4.4. INTERFACE DE CONTROLE DA CAPTURA DE IMAGENS
O algoritmo de detecção foi implementado com linguagem de programação
C++, e encapsulado na forma de um Filtro de Transformação DirectX. DirectX é uma
tecnologia do sistema operacional Windows que permite a manipulação de vídeos e sons na
forma de um grafo. De fato, o dispositivo de captura, os filtros de transformação, e o monitor
do microcomputador são nodos desse grafo. Uma das grandes vantagens dessa tecnologia é a
possibilidade de criação de grafos em que os seus nodos são independentes entre si.
Assim, fica a cargo de um software aplicativo (escrito em qualquer linguagem
de programação que suporte DirectX) montar o grafo de captura, inserir os filtros desejados e
implementar a interface com o usuário.
A interface de controle da captura de imagens desenvolvido nesse trabalho foi
escrita em linguagem de programação C#.NET, na forma de um controle Windows. A
interface utiliza o grafo DirectX apresentado na Figura 37 e recebe mensagens do filtro de
detecção a cada instante em que uma imagem é localizada. A mensagem enviada pelo filtro
contém os valores dos parâmetros da íris e da pupila, assim como o valor estimado do foco.
Ao receber uma mensagem, o controle desenha a imagem em sua área cliente, desenha os
círculos correspondentes às bordas da pupila e da íris, e lança um evento para sinalizar a
disponibilidade de uma imagem.
Figura 37 - Grafo DirectX do software de captura de imagens de íris. Da esquerda para a
direita, o primeiro bloco representa o hardware de captura de imagens, o segundo é o filtro de
44
detecção da íris, o terceiro transforma imagens de 8 para 32 bits, e o último representa o monitor de vídeo.
Assim, cabe ao aplicativo que contém o controle capturar esse evento decidir o
que fazer com os dados fornecidos. Tendo assim um controle Windows, foi desenvolvido um
aplicativo de exemplo para demonstrar o funcionamento do sistema e realizar testes de
captura. A tela principal da interface é exibida na Figura 38.
Figura 38 – Tela principal do aplicativo de exemplo de captura automática de imagens. O software permite o cadastro de pessoas e também a pesquisa de indivíduos através da íris.
A interface possui dois casos de uso: cadastro e pesquisa. Para realizar o
cadastro, seleciona-se a opção de menu ‘Arquivo’ e depois ‘Cadastrar Pessoa... ’, abre-se
então a caixa de diálogo de cadastro, exibida na Figura 39.
45
Figura 39 – A Caixa de Diálogo de Cadastro permite que seja tirada uma foto da pessoa, e que
sejam capturadas as imagens de íris.
Ao cadastrar uma pessoa é possível armazenar o seu nome, foto, e capturar as
imagens da íris. Tanto a foto como as imagens de íris podem ser obtidas de arquivo ou
capturadas a partir da câmera. Para capturar uma imagem de íris, seleciona-se a placa de
captura como o dispositivo de origem, e clica-se no botão “+D” para capturar imagens do
olho direito e o botão “+E” para imagens do olho esquerdo. Clicando em um desses botões
surge a caixa de diálogo de captura de íris (Figura 40).
46
Figura 40 – Caixa de diálogo de captura de íris. Em sua área cliente está o controle Windows que gera eventos contendo informações sobre os parâmetros da íris e da pupila, assim como o
valor estimado do foco, distância do centro da pupila ao centro da imagem, quadros por segundo, centróide, e região de busca pelo centro da pupila.
Como o controle fornece diversos eventos de captura, é preciso selecionar
aquele que contém uma imagem com parâmetros satisfatórios. Por isso, para obter uma
imagem, antes de tudo é preciso que ela tenha um foco mínimo de 30 níveis de cinza (com o
conjunto de lentes, câmera, e iluminação utilizado não é possível obter imagem com uma
diferença de cinza maior que 45 níveis, por isso o valor mínimo de foco igual a 30 é uma
limitação de hardware) e que o centro da pupila esteja a uma distância euclidiana máxima de
20 pixels do centro da imagem. Ao obter uma imagem com essas características, aguarda-se
mais um segundo por uma imagem com foco melhor ou cujo centro da pupila esteja mais
próximo do centro da imagem. Recebendo ou não outras imagens, quando o tempo de um
segundo se esgotar a caixa de diálogo fecha-se automaticamente disponibilizando a imagem
de íris capturada. Então, é possível capturar mais imagens ou efetuar a inserção das
informações no banco de dados.
Se dentro de vinte segundos não for possível obter pelo menos uma imagem
com parâmetros satisfatórios, a caixa de diálogo é fechada automaticamente e a captura falha.
Os tempos utilizados nesse procedimento são configuráveis por software, e foram obtidos de
forma experimental durante o desenvolvimento levando-se em consideração duas pessoas sem
prática na aquisição de imagens.
47
Também é possível pesquisar uma pessoa na base de dados. Para isso, clica-se
no botão capturar da tela principal, e depois de obtida uma imagem efetua-se a busca
selecionando-se a opção ‘Procurar’. Os registros encontrados são então apresentados no
quadro ‘Resultado da Busca’.
CAPÍTULO 5
5 RESULTADOS
5.1. VALIDAÇÃO DA LOCALIZAÇÃO DA ÍRIS
A validação do algoritmo de localização está dividida em duas partes: geração
do vídeo com imagens artificiais de íris e o processamento do vídeo utilizando o algoritmo de
localização.
5.1.1. GERAÇÃO DO VÍDEO COM IMAGENS ARTIFICIAIS DE ÍRIS
Para gerar o vídeo com imagens artificiais criou-se um componente DirectX,
escrito em linguagem C++, que fornece imagens simulando aquelas de uma câmera. As
imagens geradas são semelhantes ao modelo apresentado na Figura 41.
Figura 41 – Imagem artificial de íris que compõe o vídeo usado para a validação do algoritmo
de detecção.
Para simular movimento, a imagem desloca-se linearmente dentro do quadro
até “colidir” com uma das paredes, quando muda de direção e continua seu movimento. O
raio da íris permanece fixo com 90 pixels, mas o raio da pupila varia a cada quadro dentro do
intervalo de 20 a 62 pixels (aproximadamente entre 20 e 70% do tamanho da íris). O centro da
pupila coincide com o centro da íris em todos os quadros. Utilizou-se essa abordagem para
criar um vídeo composto por 500 quadros de tamanho 320×240.
50
5.1.2. PROCESSAMENTO DO VÍDEO
O GraphEdit é um programa distribuído junto com o DirectX e tem a
finalidade de simular fluxos de áudio e vídeo. Com o GraphEdit criou-se um grafo
(semelhante ao apresentado na Figura 37) em que o vídeo gerado encontra-se na entrada do
componente que implementa o algoritmo de localização. Ao executar o grafo, o componente
de localização processa cada quadro do vídeo e armazena as informações de localização em
um arquivo. Como os parâmetros da pupila e da íris do vídeo artificial são conhecidos, fez-se
uma comparação entre os valores reais e os obtidos através do algoritmo de localização. O
resultado da comparação está apresentado na Figura 42.
Figura 42 – Gráfico que relaciona a freqüência de erros com o número de imagens.
Este gráfico apresenta os erros obtidos para os raios da pupila e da íris, assim
como os erros das coordenadas de seus centros. Observa-se que existe um grande número de
acertos nos raios da pupila e da íris, e uma freqüência elevada de erros por três pixels da
coordenada x da íris. Observando-se as imagens constatou-se que esse é um erro de tendência
em que o centro da íris é localizado pouco à esquerda (três pixels) de sua posição exata.
Entre as 500 imagens, em uma delas não foi possível localizar a pupila, e em
outra não foi detectada a íris. Em duas imagens houve um erro de quatro pixels no cálculo da
coordenada x, assim como em duas imagens houve o mesmo erro no raio da íris.
51
5.2. VALIDAÇÃO DO MÉTODO DE CAPTURA DE IMAGENS
Foram realizados testes de captura de imagens em ambiente fechado, em que
participaram 6 pessoas, sendo que três delas possuíam íris de cor clara e o restante de cor
escura. O teste constituiu em posicionar a pessoa em frente à câmera (sem óculos e sem lentes
de contato), tirar uma foto, capturar o olho direito e depois o olho esquerdo.
Depois de posicionadas em frente à câmera, as pessoas levaram em torno de 20
segundos para ter cada uma de suas íris capturadas. O processamento de cada quadro de
320×240 pixels levou em torno de 11 ms em um Notebook Sony Vaio SZ160P, com
processador Intel Centrino Duo Core 1,86 GHz. Isso faz com que a captura ocorra em tempo
real a uma taxa de 29 quadros por segundo.
A principal dificuldade para a captura de imagens é fazer com que a pessoa
centralize o seu olho na imagem e então entre em foco, projetando-se para frente ou para trás
até que uma imagem de boa qualidade possa ser gerada. Além disso, o monitor de vídeo em
que a pessoa recebe a realimentação de sua posição (Figura 43) gera imagens “espelhadas”,
ou seja, quando a pessoa desloca-se para a esquerda, a sua imagem desloca-se para a direita, e
vice-versa. Isso gera grande desconforto e uma sensação de que a correção no posicionamento
não surte efeito na imagem. Portanto, pessoas habituadas a realizar este procedimento têm
suas íris capturadas com mais facilidade, reduzindo o tempo de captura. Durante o teste, uma
pessoa não pôde ser cadastrada no sistema, pois não conseguiu posicionar-se corretamente
diante da câmera. Isto é plausível, pois a captura é realizada com o usuário sem óculos ou
lentes de contato, o que causa grande dificuldade (principalmente quando a pessoa é portadora
de astigmatismo) para fazer a sua íris entrar na região de foco da lente. Aparentemente um
sistema de aquisição de imagens com teleobjetivas de zoom automático poderia corrigir essa
deficiência de captura, contudo isso não foi avaliado nesse trabalho.
52
Figura 43 – Protótipo do sistema de aquisição de imagens
Outro problema encontrado está relacionado com a maquiagem na região dos
olhos. Produtos utilizados para pintar as pálpebras e os cílios possuem coloração muito escura
sob iluminação infravermelha. Consequentemente, essa região escura permanece na imagem
após a binarização, causando um deslocamento no centro de gravidade da imagem. Quando
esse deslocamento é exagerado, ou seja, quando a área dessa região escura é muito grande, o
espaço de busca não contém o centro da pupila, o que impede que os parâmetros da íris sejam
detectados.
A luz do sol também prejudica a captura de imagens. O filtro infravermelho
utilizado na lente possui freqüência de corte em 900 nanômetros, e a radiação encontrada na
luz natural, mesmo quando projetada de forma indireta, possui muitos componentes de
freqüência com comprimentos de onda maiores que 900 nanômetros. Ao contrário, lâmpadas
incandescentes e fluorescentes interferem pouco na aquisição, pois são de baixa potência ou
possuem poucos componentes de baixa freqüência. Ao analisar o histograma de uma imagem
capturada com reflexos de luz solar percebe-se que o valor médio dos níveis de cinza da
imagem aumenta e o contraste também aumenta. No entanto, algumas pupilas tornam-se tão
pequenas (com raios da ordem de 10 pixels) que não são detectadas pelo algoritmo. O motivo
53
é que a área da pupila torna-se pequena e assim o pico do histograma, formado pelos pixels
que constituem a pupila, torna-se também pequeno, sendo confundido com o ruído e
eliminado pela suavização do histograma (Figura 44).
Figura 44 – Histograma de uma imagem com pupila pequena. Nesse histograma o primeiro máximo local que representa a pupila é tão pequeno que eventualmente é eliminado com o
ruído.
Outro problema está relacionado com a forma geométrica da pupila. Existem
pupilas que não são circulares, e sim elípticas (Figura 29). É uma premissa do algoritmo de
detecção que a pupila e a íris sejam circulares (mas não necessariamente concêntricas).
Quando o valor da excentricidade da pupila é muito diferente de 1.0, a detecção falha. O
motivo é que os pares de vetores de gradiente não coincidem, e o escore resultante do círculo
é baixo, fazendo que a tripla candidata à pupila seja descartada. A detecção também falha
quando a pupila é circular, mas está posicionada de forma oblíqua à lente, gerando uma
projeção ortogonal elíptica da pupila em relação à lente.
5.3. AVALIAÇÃO DO ALGORITMO DE DETECÇÃO DE FOCO
Conforme mencionado no item 4.3.9, para que o programa de detecção da íris
e da pupila tenha sucesso é fundamental que durante o processo de captura da imagem o olho
esteja dentro do intervalo de profundidade de campo do sistema óptico. Dessa forma, garante-
se a aquisição de uma imagem bem definida e a medida exata dos parâmetros da pupila. Nesse
trabalho programou-se uma rotina que avalia o foco da imagem em tempo real para que seja
possível armazenar a imagem automaticamente.
O funcionamento dessa abordagem foi avaliado em um experimento com duas
pessoas em que o foco da imagem foi estimado em todos os quadros com localização bem
sucedida. O experimento consiste em a pessoa posicionar o olho muito próximo da lente de
captura e afastar-se lentamente na direção axial dessa lente, passando pelo valor máximo de
54
foco e finalizando quando a imagem ficar completamente fora de foco. O gráfico gerado a
partir dos dados obtidos nesse experimento está apresentado na Figura 45.
Figura 45 – Resultado de quatro experimentos em que o candidato, próximo da câmera, foi se afastando lentamente, até que a imagem ficasse completamente fora de foco. O experimento
mostra que existem máximos nos quatro eventos realizados.
55
Neste gráfico, o valor do foco (em níveis de cinza) é dado pela ordenada e o
número da imagem na abscissa. Quando o olho está muito próximo da lente o foco tem um
valor baixo, que aumenta progressivamente até atingir o ponto de máximo, para então
decrescer novamente. Essas curvas mostram que quando a imagem da íris passa por um valor
máximo de níveis de cinza o qual corresponde ao foco, o método de cálculo retorna um valor
máximo.
Segundo as recomendações do item anexo A.4 do padrão INCITS M1/03-
0590, a imagem deve ter no mínimo 90 níveis de cinza de separação entre a esclera e a íris, e
no mínimo 50 níveis entre a íris e a pupila. Com o sistema de aquisição utilizado no trabalho,
o maior valor de foco obtido foi de 45 níveis (como pode ser visto no gráfico da
Figura 45), portanto não foi possível obter imagens como aquelas
recomendadas pelo INCITS. Para obter imagens conforme as recomendações do INCITS é
necessário que a lente e a câmera sejam adequadas para operar na faixa de infravermelho, e
que a iluminação seja uniforme e com potência suficiente para causar tal contraste na imagem.
Uma alternativa, que não foi abordada nesse trabalho, é realizar a captura das imagens na
faixa de iluminação visível.
Testes de captura em ambiente fechado foram realizados (sem a interferência
da iluminação solar) com dez pessoas. Quando o teste é realizado em ambiente fechado,
significa dizer que a íris será iluminada apenas pelo sistema de iluminação infravermelha
construído. Empiricamente, o valor mínimo de foco exigido para a captura foi ajustado para
35 níveis de cinza. Nesses termos, todas as imagens capturadas apresentaram-se em foco, o
que comprova a eficiência desse método, condicionada a esta restrição.
CAPÍTULO 6
6 CONCLUSÃO
6.1. DISCUSSÕES
Neste trabalho foi desenvolvido um sistema para a captura automática de
imagens de íris para fins biométricos. O tempo para determinar a existência de uma íris em
uma imagem e calcular os seus parâmetros assim como o seu foco ficou em torno de 11 ms
em um computador Intel Centrino Duo Core 1,86 GHz. Assim, é suficiente que uma pessoa
permaneça poucos instantes com o seu olho centralizado e no ponto focal diante da câmera
para ter a sua íris capturada. Para a detecção dos círculos referentes à pupila e à íris foi
utilizado o método de Pares de Vetores de Gradiente (RAD et. al, 1998) auxiliado pelo
algoritmo de Bresenham (1965) para círculos, como uma alternativa à Transformada de
Hough Circular (BALLARD, 1981).
Determinar a qualidade das imagens é a etapa mais difícil de ser realizada em
um sistema biométrico. Por isso foram determinadas algumas características que afetam
diretamente a qualidade assim como formas de mensurá-las, tais como a estimativa de foco e
a forma do histograma. Mesmo assim, essas características são válidas apenas para imagens
em que o olho preenche grande parte da área da imagem.
A estimativa de foco é realizada somente nos casos em que a pupila for
localizada corretamente, pois depende diretamente desses parâmetros. Por isso, esse método
não é adequado para tentar avaliar o foco antes da detecção dos parâmetros. No entanto, este
método ajuda a rejeitar algumas imagens localizadas incorretamente, naqueles casos em que o
raio da pupila é erroneamente estimado. Assim, considerando que o raio da pupila real é
maior que o da pupila estimada, pelo menos um dos estimadores de foco apresenta resultado
muito baixo, o que permite que a imagem seja rejeitada.
Também foi observado nos testes que eventualmente são capturadas imagens
no instante em que a pessoa está olhando para o lado. Isso ocorre quando o raio da pupila
torna-se muito pequeno, e é uma conseqüência do algoritmo de detecção de círculos através
de pares de vetores de gradiente. De fato, quanto menor o círculo, menos pares de gradiente
ele possui para ser avaliado. Como poucos pares de vetores são suficientes para produzir uma
58
tripla com escore alto, isso gera um falso candidato. Uma solução para esse problema é
capturar imagens de tamanho maior, como por exemplo, 640×480 pixels. Assim, o raio
mínimo admitido para a pupila seria de 30, e não 15 pixels, o que se espera que elimine o
problema, além de melhorar a qualidade das imagens.
O padrão INCITS M1/03-0590 para imagens de íris sugere que imagens de alta
qualidade devem ter 200 pixels ou mais como diâmetro da íris, o que indica uma resolução de
aproximadamente 20 pixels por milímetro. Observa-se que essa resolução é a mesma utilizada
para capturar imagens em grandes sistemas de reconhecimento de impressões digitais.
No algoritmo de detecção percebe-se um erro de tendência. A causa desse erro
é o empate do escore das triplas em todos os critérios utilizados. Assim, fica claro que seria
interessante utilizar mais um critério, dessa vez com capacidade de discriminar as triplas pela
sua posição. Atualmente, se nove triplas vizinhas possuírem o mesmo escore, a primeira delas
seria a escolhida. Um aperfeiçoamento poderia selecionar aquela que possuísse a menor
distância em relação às outras. Uma forma mais simples poderia apenas deslocar os centros
uma unidade para baixo e para a direita, considerando que este não é um erro aleatório e sim
de tendência.
6.2. CONCLUSÃO
O software para a captura automática de imagens de íris foi desenvolvido e
testado no protótipo construído e permite a captura de imagens sem a intervenção do
operador. O algoritmo de localização foi validado no simulador de íris proposto e determinou
os parâmetros de 99% das imagens avaliadas.
6.3. TRABALHOS FUTUROS
Realizar a detecção em imagens de tamanho 640×480 (tamanho VGA) permite
que o usuário tenha uma mobilidade maior, ou seja, ele não precisaria centralizar exatamente
o seu olho para realizar a captura. Além disso, a captura de imagens maiores aumenta a
qualidade da imagem e do sistema como um todo, pois tende a reduzir as taxas de falsa
aceitação e de falsa rejeição do software. Sugere-se que para processar uma imagem VGA, a
mesma seja reduzida para 320×240 e, depois de determinados, os parâmetros passem por um
refinamento na imagem de tamanho original. Infelizmente não é comum atualmente encontrar
59
placas de vídeo que capturem imagens VGA de boa qualidade a uma taxa de 30 quadros por
segundo e ainda assim disponibilizando tempo hábil para o processamento dos quadros.
Detectar pálpebras rapidamente é importante para alertar o usuário (através de
um sinal sonoro ou luminoso) para abrir ao máximo o seu olho no instante da captura. Assim
evita-se também que os cílios interfiram na detecção dos parâmetros.
Estimar o foco com diferentes níveis de iluminação e com diferentes cores de
íris é interessante por apresentar a variação do resultado em função de fatores encontrados no
dia a dia. O primeiro por influência da luz solar, e o segundo porque de fato as íris de olhos
azuis são mais escuras (do ponto de vista infravermelho) do que as de cor marrom.
Outra sugestão de trabalho futuro é aperfeiçoar o simulador de íris para que as
imagens geradas sejam mais próximas da realidade. Por exemplo, pode-se aplicar efeitos de
iluminação não uniforme, distorção por ruído, suavização de bordas, e variação de foco.
CAPÍTULO 6
REFERÊNCIAS BIBLIOGRÁFICAS
BALLARD, D. H. (1981), Generalizing the Hough Transform to Detect Arbitrary Shapes,
Pattern Recognition, Volume 13, p. 111-112.
BARRET, William A., COUCH, John D. (1979), Compiler Construction: Theory and
Practice, Science Research Associates Inc., 1ª Edição, p. 69.
BRESENHAM, J. E. (1965), Algorithm for computer control of a digital plotter, IBM
Systems Journal, Volume 4, Nº 1, p. 25-30.
CANNY, J. (1986), A computational approach to edge detection, IEEE Transactions on
Pattern Analysis and Machine Intelligence, Volume 8, p. 679-698.
CASIA IRIS DATABASE, http://www.sinobiometrics.org/casia iris.htm
CHEN, Tehchuan, CHUNG, Kuoliang, (2001), An Efficient Randomized Algorithm for
Detecting Circles, Computer Vision and Image Understanding, p. 172-191.
CHO, Dal Ho, PARK, Kang Ryoung, RHEE, Dae Woong (2005), Real-Time Iris Localization
for Iris Recognition in Cellular Phone, Sixth International Conference on Software
Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing
and First ACIS International Workshop on Self-Assembling Wireless Networks
(SNPD/SAWN'05), p. 254-259.
CUI, Jiali, MA, Li, WANG, Yunhong, TAN, Tieniu, SUN, Zhenan (2004), An Appearance-
Based Method for Iris Detection, The 6th Asian Conference on Computer Vision,
Volume 2, p. 1091-1096, Jeju Korea.
DAUGMAN, John (2001), High Confidence Recognition of Persons by Iris Patterns,
University of Cambridge, The Computer Laboratory, IEEE.
62
DUDA, Richar O., HART, Peter E. (1975), Use of the Hough Transform to Detect Lines and
Curves in Pictures, Communications of the ACM 15, p. 11-15.
DUDA, Richar O., HART, Peter E., STORK, David G. (2001), Pattern Classification, John
Wiley & Sons Inc., 2ª Edição.
MARQUES FILHO, Ogê, VIEIRA NETO, Hugo (1999), Processamento Digital de Imagens,
Editora Brasport Livros, Rio de Janeiro.
GONZALEZ, Rafael C., WOODS, Richard E. (2000), Processamento de Imagens Digitais,
Editora Edgard Blücher Ltda., São Paulo.
INCITS M1/03-0590 (2003), InterNational Committee for Information Technology
Standards, Iris Image Interchange Format, Anexo A, p. 13.
KEE, Gyundo, BYUN, Yungcheol, LEE, Kwanyong, LEE, Yillbyung (2001), Improved
Techniques for an Iris recognition System with High Performance, Proceedings of the
14th Australian Joint Conference on Artificial Intelligence: Advances in Artificial
Intelligence, Volume 2256, p. 177-188.
MÄENPÄÄ, Topi (2005), An Iterative Algorithm for Fast Iris Detection, Advances in
Biometric Person Authentication: International Wokshop on Biometric Recognition
Systems, p. 127, IWBRS 2005, Beijing, China, Springer Berlin, ISBN: 354029431-7.
MCLACHLAN, Geoffrey J. (2004), Discriminant Analisys and Statistical Pattern
Recognition, John Wiley & Sons Inc., Hoboken, New Jersey.
MIRA JÚNIOR, Joaquim de, MAYER, Joceli (2003), Image Feature Extraction for
application of Biometric Identification of Iris: A Morphological Approach, XVI
Simpósio Brasileiro de Computação Gráfica e Processamento de Imagens, São Carlos,
São Paulo, Brasil.
PAN, Lili, XIE, Mei (2005), The algorithm of iris image preprocessing, Fourth IEEE
Workshop on Automatic Identification Advanced Technologies, p. 134-138.
63
PARK, Kang Ryoung, KIM, Jaihie (2005), A real-time focusing algorithm for iris recognition
camera, IEEE Transactions on Systems, Man and Cybernetics, Volume 35, p. 441-
444.
PRATT, William K. (2001), Digital Image Processing: PIKS Inside, 3ª Edição. John Wiley &
Sons, Inc., ISBN: 047137407-5.
RAD, Ali Ajdari, FAEZ, Karim, QARAGOZLOU, Navid (2003), Fast Circle Detection
Using Gradient Pair Vectors, Proc. VII Digital Image Computing, Sydney, p. 879-
887.
RUSS, John C. (1998), The Image Processing Handbook, 3ª Edição, CRC Press LLC, ISBN:
084932532-3.
THE IMAGING SOURCE EUROPE GMBH (2003), Lenses: Selection and Setup,
http://www.1394imaging.com
THEODORIDIS, Sergios, KOUTROUMBAS, Konstantinos (2003), Pattern Recognition,
Academic Press, 2ª Edição.
WILDES, Richard P. (1997), Iris Recognition: An Emerging Biometric Tecnology,
Proceedings of the IEEE, Volume 85, nº 9.
WILDES, Richard P., ASMUTH, J. C., GREEN, G. L., HSU, S. C. (1994), A System for
Automated Iris Recognition, David Sarnoff Research Center Inc., Princeton, NJ, IEEE.
ZHANG, Pengfei, LI, Qiuming (2005), Resarch on Iris Image Preprocessing Algorithm,
Proceedings of the Fourth International Conference on Machine Learning and
Cybernetics, p. 5220-5224, Guangzhou-China.
RESUMO
Nesta dissertação propõe-se um algoritmo para capturar imagens do olho e
localizar de forma automática a pupila e a íris. O algoritmo proposto tem aplicações em
sistemas que utilizam as informações geométricas do olho (raio e coordenadas do centro da
pupila e da íris), como por exemplo, sistemas de reconhecimento de íris. Para o
desenvolvimento do algoritmo, montou-se um protótipo para aquisição das imagens composto
por uma câmera de vídeo, filtro infravermelho, sistema de iluminação, monitor, objetiva de
100 mm, e uma placa de captura ligada ao computador. O método proposto baseia-se na
redução do espaço de busca para que o processamento de uma imagem possa ser avaliado em
tempo real (30 quadros por segundo). Por isso, realizou-se um estudo em 756 imagens da base
de dados CASIA para utilizar o centróide da imagem como uma estimativa para o centro da
pupila e um estudo baseado no histograma da imagem para estimar do raio da pupila. Essas
estimativas permitem que a imagem seja processada de forma rápida, e capturada se
determinados critérios de qualidade forem satisfatórios. Um desses critérios é um parâmetro
estatístico chamado de ‘diferença das médias’, que foi determinado através do estudo de 4018
imagens da base de dados BDIRIS. O outro critério é a estimativa de foco, que é uma medida
da nitidez da borda da pupila. Esses critérios permitem aceitar ou rejeitar uma imagem, o que
é essencial em um sistema de aquisição automática de imagens. O algoritmo desenvolvido foi
implementado e testes revelam que o sistema captura imagens de íris em tempo real, bastando
que para isso a pessoa posicione-se corretamente diante da câmera de vídeo.
PALAVRAS-CHAVE
Biometria, captura da íris, reconhecimento de íris, estimativa de foco, tempo real.
ÁREAS DE CONHECIMENTO
10301038 - Análise de Algoritmos e Complexidade de Computação
10303057 - Processamento Gráfico (Graphics)
10303006 - Metodologia e Técnicas da Computação
2006
Nº. 419