Projeto Visão Computacional – Reconhecimento de Íris

No segundo semestre de 2010  um amigo e eu desenvolvemos uma pequena aplicação que permitia reconhecer a íris de olhos humanos através do algoritmo de crescimento de região e corte. Na época foi utilizada a biblioteca de visão computacional OpenCV – http://opencv.willowgarage.com/wiki/, este trabalho foi desenvolvido para a disciplina de Visão Computacional.

Para o reconhecimento de íris todas as imagens foram submetidas a alguns procedimentos experimentais. Primeiramente dividimos a imagem em três canais de cor (R/G/B) e em um próximo passo fizemos o corte da imagem** e observamos que o canal R (red) ao ser binarizado apresentava os melhores resultados de separação da irís + pupila do resto da imagem.

**Corte/binarização da imagem, neste contexto, é considerado uma técnica de processamento de imagens que analisa os pixels da imagem e cria uma outra imagem onde os pixels com menor intensidade recebem valor zero e os demais recebem valor  máximo de intensidade (valor 1).

Então utilizamos o resultado do corte sobre o canal R,  a partir dele fizemos procedimentos para remover a região da pupila da íris, e na sequencia utilizamos o algoritmo de crescimento de região (algoritmo que a partir de um pixel “semente” vai formando uma área com os pixels vizinhos até encontrar bordas/ regiões de valor muito diferente de intensidade), assim conseguimos chegar a um reconhecimentos aceitável da região da íris. É claro que esse reconhecimento não é perfeito, o algoritmo ainda poderia ser aprimorado.

Fizemos ainda um tratamento para cores de íris mais claras e mais escuras (ambas necessitam de um procedimento diferenciado para tal reconhecimento). Algumas imagens com os resultados obtidos estão abaixo, são mostradas as imagens de 3 olhos diferentes onde respectivamente temos as imagens  Original, canal Red, Corte (ou imagem binarizada),  somente a íris + pupila, somente a íris  – passo onde existe um tratamento diferente para cores claras e escuras de íris, e o crescimento de região (onde a íris foi reconhecida):

olho exemplo 1:

 

olho exemplo 2:

olho exemplo 3 (um caso em que o algoritmo não conseguiu reconhecer a íris de maneira significativa):