Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
APLICAO DE VISO
COMPUTACIONAL PARA
EXTRAO DE CARACTERSTICAS
EM IMAGENS DO OLHO HUMANO
So Carlos
2007
SUMRIO
SUMRIO ........................................................................................................................... 2
LISTA DE FIGURAS ............................................................................................................. 3
LISTA DE TABELAS ............................................................................................................ 5
LISTA DE TABELAS ............................................................................................................ 5
RESUMO ......................................................................................................................... 6
ABSTRACT ..................................................................................................................... 7
1. INTRODUO ............................................................................................................. 8
1.1. MOTIVAO ...................................................................................................... 8
1.2. OBJETIVOS ......................................................................................................... 8
1.3. MATERIAIS E MTODOS ..................................................................................... 9
1.4. CRONOGRAMA ................................................................................................... 9
2. FUNDAMENTOS TERICOS ....................................................................................... 10
2.1. VISO COMPUTACIONAL ................................................................................. 10
2.2. BIOMETRIA ...................................................................................................... 10
2.3. OLHO HUMANO ............................................................................................... 11
2.3.1. PUPILA..................................................................................................... 12
2.3.2. RIS .......................................................................................................... 13
2.4. CAPTURA DE IMAGENS DIGITAIS ...................................................................... 13
2.5. IMAGENS DIGITAIS .......................................................................................... 15
2.5.1. ESPAOS DE COR ..................................................................................... 15
2.6. PROCESSAMENTO DE IMAGENS ........................................................................ 16
2.6.1. SMOOTH .................................................................................................. 17
2.6.2. THRESHOLD ............................................................................................. 17
2.6.3. TRANSFORMADA DE HOUGH.................................................................... 18
2.6.4. CONVERSO RGB ESCALA DE CINZA ....................................................... 20
3. MTODOS E IMPLEMENTAES ............................................................................... 21
3.1. ORGANIZAO DA APLICAO ........................................................................ 21
3.2. AMBIENTE DE DESENVOLVIMENTO .................................................................. 22
3.2.1. DEV-C++................................................................................................. 22
3.2.2. OPENCV.................................................................................................. 22
3.3. AQUISIO DE VDEOS ..................................................................................... 23
3.4. SOFTWARE ....................................................................................................... 23
3.4.1. CAPTURA DOS QUADROS ......................................................................... 23
3.4.2. PROCESSAMENTO PARA ENCONTRAR A PUPILA........................................ 24
3.4.3. IMAGENS BINRIAS ................................................................................. 25
3.4.4. OBTENO DOS DADOS ........................................................................... 27
3.5. ANLISE DOS DADOS ....................................................................................... 30
4. RESULTADOS ........................................................................................................... 31
4.1. TESTES DE EXECUO ..................................................................................... 31
4.2. ANLISE DOS DADOS DOS TESTES .................................................................... 41
4.3. DIFICULDADES E LIMITAES ......................................................................... 42
5. CONCLUSO E CONSIDERAES FINAIS ................................................................... 44
5.1. DISCUSSO ...................................................................................................... 44
5.2. CONCLUSO .................................................................................................... 45
5.3. SUGESTO DE TRABALHOS FUTUROS ............................................................... 45
REFERNCIAS BIBLIOGRFICAS ....................................................................................... 46
2
LISTA DE FIGURAS
Figura 1 - Olho Humano ................................................................................................ 12
Figura 2 - Msculos do olho .......................................................................................... 12
Figura 3 - Cmera com CCD para cada componente de cor e matriz de detectores
sensveis a um tipo de cor............................................................................................... 14
Figura 4 - Linha reta em imagem .................................................................................. 18
Figura 5 - Retas no espao de parmetros ..................................................................... 19
Figura 6 - Figura com crculo ......................................................................................... 19
Figura 7 - Crculos no espao de parmetros ................................................................. 20
Figura 8 Diagrama de blocos da aplicao.................................................................. 21
Figura 9 - Diagrama de blocos do software.................................................................... 21
Figura 10 - Procedimento para identificar a pupila ........................................................ 24
Figura 11 - Crculo Vermelho indica local onde a pupila foi encontrada ...................... 25
Figura 12 - Pontos utilizados para determinar o threshold da pupila ............................. 26
Figura 13 - Imagem binria com a pupila destacada ...................................................... 26
Figura 14 - Pontos utilizados para clculo do threshold da ris...................................... 26
Figura 15 - Imagem binria da ris e da pupila destacadas............................................. 26
Figura 16 - Eixo cartesiano com as retas que orientam os dimetros............................. 27
Figura 17 - Medio do dimetro no eixo x. .................................................................. 28
Figura 18 - Imagem Binria com dimetros calculados e traados................................ 29
Figura 19 - Dimetros traados na imagem original ...................................................... 29
Figura 20 - Dimetro da ris ........................................................................................... 29
Figura 21 - Grficos dos dimetros da pupila e da ris Voluntrio 1 .......................... 34
Figura 22 - Grfico da circularidade e da relao de dimetros Voluntrio 1............. 34
Figura 23 - Variao do dimetro da pupila no tempo Voluntrio 1........................... 35
Figura 24 - Dados dos vdeos Voluntrio 1................................................................. 35
Figura 25 - Derivada dos vdeos Voluntrio 1 ............................................................ 36
Figura 26 - Dimetros da pupila e ris - Voluntrio 2 .................................................... 37
Figura 27 - Circularidade e Relao dimetros pupila/ris - Voluntrio 2 ..................... 37
Figura 28 - Variao do dimetro da pupila no tempo (derivada) - Voluntrio 2.......... 37
Figura 29 - Dimetros da pupila e da ris de outro voluntrio........................................ 38
Figura 30 - Circularidade e Relao dos dimetros do olho de outro voluntrio........... 38
Figura 31 - Derivada da curva do dimetro da pupila de outro voluntrio .................... 38
3
Figura 32 - Dimetros da pupila e ris obtidos de uma amostra ruim ............................ 39
Figura 33 - Circularidade e Relao dos dimetros obtidas de uma amostra ruim ........ 39
Figura 34 - Derivada da curva da pupila de uma amostra ruim ..................................... 39
Figura 35 - Dimetros da pupila e ris de voluntrio com reao imperceptvel ao
estmulo luminoso .......................................................................................................... 40
Figura 36 - Circularidade e Relao entre dimetros com resposta imperceptvel ........ 40
Figura 37 - Derivada da curva de variao da pupila com variao imperceptvel........ 40
Figura 38 - Grfico mostrando os momentos em que h estmulo luminoso no olho.... 41
Figura 39 - Pupila Elptica: circularidade distante de 1.................................................. 41
Figura 40 - Medidas na curva da derivada ..................................................................... 42
Figura 41 - Movimentao do olho impede identificao da posio da pupila ............ 43
Figura 42 - Parte da ris fora do campo da imagem impossibilita medir seu dimetro .. 43
4
LISTA DE TABELAS
Tabela 1 - Cronograma de atividades............................................................................................ 9
Tabela 2 - Etapas do processamento de imagens ........................................................................ 17
Tabela 3 - Dados no acumulador da transformada...................................................................... 18
Tabela 4 - Arquivos que compem a aplicao .......................................................................... 22
Tabela 5 - Funes de captura de quadro.................................................................................... 23
Tabela 6 - Orientao dos dimetros medidos ............................................................................ 27
Tabela 7 - Tabela com dados de vdeo........................................................................................ 31
5
Resumo do Projeto de Formatura apresentado EESC-USP como parte dos requisitos
necessrios para a concluso do curso de Engenharia de Computao.
RESUMO
As caractersticas fsicas e comportamentais dos seres vivos podem ser medidas, tratadas e
estudadas estatisticamente. A rea do conhecimento que atua nesse sentido chamada de
biometria. Para seres humanos, a biometria tem aplicaes principalmente em diagnsticos
mdicos e na identificao pessoal, j que muitas caractersticas biomtricas so nicas em cada
indivduo. Algumas dessas caractersticas podem ser extradas a partir de imagens do corpo e
com o auxlio de sistemas de computao. O ramo da cincia e tecnologia que desenvolve
aplicaes para processamento de imagens chamado de Viso Computacional. possvel
extrair diversas informaes processando imagens dos olhos ao longo do tempo como o desenho
da ris e a variao do dimetro da pupila. O presente projeto prope o desenvolvimento de uma
aplicao de viso computacional capaz de processar vdeos do olho humano quadro a quadro
para identificar a variao do dimetro da pupila ao longo do tempo e em resposta variao da
luminosidade a que est exposta. A aplicao utiliza a linguagem de programao C e baseada
em bibliotecas de processamento de imagens em tempo real de cdigo aberto. A anlise dos
dados obtidos pelo processamento das imagens dos olhos pode indicar padres e anomalias da
reao pupilar que podem ser utilizados posteriormente em outras aplicaes.
6
Abstract of Graduation Project presented to EESC-USP as a partial fulfillment of the
requirements to conclude the Computer Engineering course
ABSTRACT
Physical and behaviors characteristics in live organisms can be statistically measured, treated
and studied. This knowledge area is called Biometrics. For human beings, biometrics is used
mainly in medical diagnosis and personal identification, since some characteristics are unique
for every person. Computer systems can be used to extract information in bodys images. This
scientific and technological area is called Computer Vision. It is possible to extract different
information while processing eye images like the iris shape and draw and the pupil diameter
variation in response to external light stimulus. This project proposes the development of a
Computer Vision application to process eye video frames in order to measure the pupil diameter
variation in response to light exposure. This is a C language application and uses open source
computer vision libraries for real time processing. The image processed data analysis can be
useful to indicate patterns and anomalies in pupil reaction to be used in other applications.
7
1. INTRODUO
1.1. MOTIVAO
As caractersticas fsicas e comportamentais dos seres vivos podem ser medidas,
tratadas e estudadas estatisticamente. A rea do conhecimento que atua nesse sentido chamada
de biometria. Para os seres humanos a biometria tem aplicaes principalmente na rea mdica,
em especial diagnsticos, e na identificao de indivduos. Existem diversas caractersticas
biomtricas que so nicas para cada humano e podem ser utilizadas como chave ou
identificador pessoal.
Instrumentos e ferramentas so utilizados para fazer medies diretamente nos corpos
dos seres vivos. Existe, porm algumas partes e caractersticas dos humanos que s podem ser
medidas e analisadas atravs da anlise de imagens e com o auxlio de mquinas e sistemas
computacionais. O ramo da cincia e tecnologia que desenvolve aplicaes de processamento de
imagens chamado de Viso Computacional.
Dos olhos possvel extrair diversas informaes. A leitura e formao de imagens da
ris e retina e a medio do dimetro da pupila so exemplos dessas informaes. Esses dados
so muito difceis e at impossveis de serem medidos sem o auxlio de sistemas de captura e
anlise de imagens. Medir a variao do dimetro da pupila ao longo do tempo e a reao a
estmulos luminosos pode fornecer diversas informaes sobre o indivduo acerca do seu nvel
de ateno e estresse, indicar a presena de doenas neurodegenerativas e leses cerebrais [1] e
at indicar se uma pessoa est potencialmente sob efeito de drogas. Existem pesquisas ainda que
buscam encontrar padres na variao do dimetro da pupila. Esses padres, caso sejam nicos
para cada indivduo poderiam ser utilizados para identificao.
Muitos trabalhos de viso computacional e extrao de caractersticas dos olhos j
foram desenvolvidos. O desenvolvimento de aplicaes para essa finalidade pode ser facilitado
com a utilizao de bibliotecas de processamento de imagens j em avanado estgio de
desenvolvimento. A biblioteca Open Source Computer Vision (OpenCV) uma biblioteca de
cdigo aberto com vrias implementaes teis para desenvolver aplicaes para processamento
de imagens em tempo real.
1.2. OBJETIVOS
O objetivo desse projeto desenvolver uma aplicao de Viso computacional com o
auxlio da biblioteca OpenCV capaz de extrair as caractersticas do olho humano. Essa aplicao
processa imagens estticas e vdeos de olhos para extrair o dimetro mdio da pupila, sua
circularidade (ndice de quo circular ela ) e o dimetro da ris. Esses dados so usados para
observar o comportamento da pupila em reao a estmulos luminosos.
8
1.3. MATERIAIS E MTODOS
Este trabalho foi desenvolvido com recursos prprios do autor e com o auxlio de um
aparelho desenvolvido para captao de imagens do olho disponvel no LAVI, Laboratrio de
Viso Computacional do Departamento de Engenharia Eltrica da Escola de Engenharia de So
Carlos.
Os softwares utilizados so todos livres e no necessitam de recursos adicionais. Toda a
aplicao foi desenvolvida em um computador porttil com processador Pentium 4 de 3,33GHz
com 1 Gigabyte de memria RAM e 60 Gigabytes de espao em disco rgido de 4200 rpm.
O processamento de imagens pesado e ocupa muita memria. Desta forma, as
implementaes buscaram otimizar a uso de memria RAM para evitar a utilizao da memria
de swap com o disco rgido, que torna o processamento extremamente lento. O cdigo fonte da
aplicao foi devidamente comentado e diversas observaes foram feitas para facilitar o
entendimento do mesmo.
1.4. CRONOGRAMA
A metodologia geral empregada para atingir os objetivos neste projeto pode ser dividida
em seguintes etapas. O cronograma seguido apresentado na tabela 1.
1. Elaborao do Plano de trabalho
2. Pesquisa bibliogrfica
3. Configurao do ambiente de desenvolvimento
4. Desenvolvimento da aplicao
5. Testes e obteno de dados
6. Anlise estatstica dos dados
7. Redao de Monografia e elaborao de apresentao
9
2. FUNDAMENTOS TERICOS
2.1. VISO COMPUTACIONAL
A Viso Computacional pode ser definida como o conjunto de mtodos e tcnicas que
tornam sistemas computacionais capazes de extrair e interpretar informaes de imagens. O
desenvolvimento de algoritmos computacionais capazes de extrair informaes presentes em
uma imagem fortemente influenciado pela compreenso dos processos de aquisio de
imagens e de sua percepo no sistema visual do homem e de outros animais [2]. Um dos
maiores objetivos da Viso Computacional buscar um modelo de representao genrico que
se aproxime da viso biolgica, objetivo esse ainda longe de ser alcanado.
Os primeiros estudos mais aprofundados e especficos de viso computacional datam do
final da dcada de setenta, quando os computadores j tinham capacidade de processamento
suficiente para processar grandes conjuntos de dados, como so as imagens. Por essa razo, esse
ramo relativamente novo e a maior parte dos trabalhos, aplicaes e abordagens esto
orientadas soluo de problemas prticos e especficos ou em estgio de pesquisa.
A viso computacional engloba e pode ser aplicada a diversas reas do conhecimento:
inteligncia artificial (inteligncia computacional), aprendizado de mquina (viso cognitiva),
processamento de sinais, fsica (tica), matemtica, neurobiologia (viso biolgica), robtica
(viso de robs).
Aplicaes da Viso Computacional podem ser encontradas como parte de sistemas
complexos. So exemplos desses sistemas equipamentos para processamento de imagens
mdicas e aplicaes industriais para controle de qualidade ou medio de caractersticas de
produtos. Alm dessas duas reas mais proeminentes, a viso computacional pode ser aplicada
no reconhecimento de pessoas e padres, segurana de ambientes, viso de robs, aplicaes
militares (msseis guiados, por exemplo) e vrias outras atividades que dependem da viso
biolgica. Muitos trabalhos que necessitam da viso humana so repetitivos, alguns perigosos, e
at podem prejudicar esse importante sentido. Os sistemas computacionais de viso podem
realizar esses trabalhos e so capazes de realizar outros os quais a viso humana no capaz.
2.2. BIOMETRIA
A palavra biometria tem sua origem no idioma grego significando o prefixo bio, vida e
metria, que deriva de metron, medida. Biometria significa medida da vida.
Biometria o estudo estatstico das caractersticas fsicas ou comportamentais dos seres
vivos [3]. Atualmente este termo associado identificao de pessoas atravs de medidas das
caractersticas fsicas ou comportamentais nicas de cada indivduo. comum utilizar dados
biomtricos tambm em aplicaes mdicas.
10
A biometria e a identificao biomtrica no so recentes. A papiloscopia (estudo das
impresses digitais) utilizada h muito tempo como forma de identificao, principalmente na
rea criminal. Um mtodo antigo de identificar biometricamente um indivduo era infligir
cicatrizes, tatuagens ou marcas em alguma parte de seu corpo. Em alguns casos, at mutilao
era usada como forma de identificao biomtrica.
A computao aumentou as possibilidades da biometria: tornou mais fcil a utilizao
de tcnicas antigas como as impresses digitais e permitiu que outras caractersticas fossem
obtidas a partir de imagens do corpo humano. Dentre essas caractersticas pode-se citar o
reconhecimento dos desenhos da ris ou da retina (vasos sanguneos da retina), o
reconhecimento da face, da voz, da geometria da mo, da geometria das veias do corpo. O
reconhecimento de assinaturas tambm pode ser enquadrado como atividade de biometria.
Existem trs processos chave que devem ser aplicados por um sistema biomtrico de
identificao: captura, extrao e comparao. A captura a aquisio de uma amostra
biomtrica que ser armazenada. A extrao a aquisio de uma amostra no momento em que
a identificao necessria. A comparao feita entra a amostra obtida na captura com a
amostra obtida no processo de extrao. Caso haja similaridade suficiente, a amostra validada.
Na rea mdica, a biometria est presente principalmente em equipamentos para
diagnstico e monitorao.
11
Figura 1 - Olho Humano [4]
2.3.1. PUPILA
A pupila responsvel por regular a entrada de luz no olho. Msculos contraem e
relaxam para aumentar ou diminuir seu dimetro. A pupila diminui seu dimetro conforme
aumenta a intensidade da luz a que o olho exposto e aumenta na situao oposta, quando a
intensidade de luz diminui. Apesar de ter a aparncia preta, a pupila translcida.
A biometria da pupila tem hoje aplicao principalmente mdica. A medio das
caractersticas fsicas da pupila pode ser utilizada por oftalmologistas para detectar patologias e
planejar cirurgias de correo de ametropias oculares [5].
Alteraes no tempo de reao da pupila, bem como alterao dos dimetros em
diferentes situaes, podem indicar problemas, em geral relacionados resposta cerebral. Aps
uma situao de choque como um acidente, por exemplo, comum avaliar a reao da pupila ao
estmulo luminoso. Caso sejam detectadas anomalias na reao, isso pode indicar algum tipo de
12
leso cerebral. O uso de algumas substncias, como remdios e algumas drogas, tambm
capaz de gerar alteraes na reao pupilar. D-se o nome de Midrase dilatao da pupila e
Miose diminuio de seu dimetro.
Pode-se comparar o funcionamento da pupila ao diafragma de uma mquina fotogrfica
[6, 7]. Alm de controlar a luminosidade que incide na retina, ela tambm regula a profundidade
focal [8]. Ao focalizar objetos distantes, o dimetro da pupila diminui, e aumenta na situao
oposta [4]. Alm dos fatores previamente citados, o estado emocional e de atividade cerebral
(estado de alerta ou distrao) tambm causam alterao no dimetro da pupila.
2.3.2. RIS
A ris uma membrana circular localizada entre a crnea e o cristalino. a parte que d
cor ao olho. Em seu centro est a pupila. a ris que controla o tamanho da abertura da pupila.
Tem cerca de doze milmetros de dimetro [17].
O desenho formado pela ris tem caractersticas nicas em cada indivduo. Por essa
razo, a biometria da ris muito utilizada na identificao de pessoas. A obteno de dados
sobre a ris no foco desse trabalho.
13
todos a fios para fazer a leitura da carga acumulada em cada um. A leitura das informaes dos
pixels feita uma linha de cada vez. As linhas da matriz so deslocadas at uma linha base onde
feita a leitura. Nessa linha, a carga de cada pixel determinada gerando um sinal analgico do
valor. O deslocamento das cargas at a linha de leitura feito atravs de variaes de tenso,
aplicadas em diferentes pontos dos pixels.
Para captar as cores existem trs tcnicas que so comumente utilizadas. A primeira
consiste em utilizar filtros para as trs componentes da luz bsicas: vermelho, verde e azul
(RGB). Trs filtros de cor, um para cada componente, so montados em um disco. O
movimento circular desse disco controla a exposio do CCD a cada componente de cor
gerando valores que iro compor a cor cada pixel. No disco de filtros ainda h normalmente um
espao sem filtro algum que possibilita a captao de imagens monocromticas. A segunda
configurao para captar cores consiste na utilizao de trs CCDs, um para cada componente
de cor. Um prisma separa e direciona a luz de cada cor para seu CCD especfico. Os dados
captados das trs cores iro compor a cor de cada pixel. A terceira tcnica a utilizao de um
chip com matriz de detectores onde cada elemento sensvel a um tipo de luz bsica (RGB).
Filtros direcionam a luz para os receptores corretos e controlam para que a intensidade de
exposio de cada componente seja a mesma. Atravs de tcnicas de interpolao possvel
completar os dados e obter as trs componentes de cor para cada pixel.
Figura 3 - Cmera com CCD para cada componente de cor e matriz de detectores sensveis a um
tipo de cor [9]
14
2.5. IMAGENS DIGITAIS
Uma imagem digital representa uma imagem de duas dimenses como uma seqncia
finita de valores digitais. Cada um desses valores representa um pixel, que o menor elemento
que compe uma imagem digital ou uma componente de cor de um pixel no caso de imagens
coloridas.
O valor de cada pixel obtido pela quantizao do sinal analgico (carga eltrica)
obtido pelo dispositivo de captura, como o CCD. Esse valor varia conforme a quantidade de bits
atribuda a cada pixel bem como o tipo de dado em que esse valor armazenado. Existem trs
tipos de imagens principais:
Imagens binrias: cada pixel pode assumir os valores 0 ou 1 e ocupam 1 bit.
Normalmente so resultado de algum processamento de imagem ou so
utilizadas em dispositivos que s lidam com esse tipo de imagem, como
aparelhos de fax e monitores monocromticos.
Imagens em escala de Cinza: cada pixel representado por apenas por um
valor.
Imagens Coloridas: nessas imagens, cada pixel representado por pelo menos
trs informaes, uma para cada canal de cor (RGB, por exemplo). O valor de
cada canal e a composio da imagem colorida depende do Espao de cores
utilizado.
A quantidade de nveis de cor que uma imagem pode representar depende da
profundidade do pixel, isto , da quantidade de bits utilizada para representar cada informao.
Em uma imagem em escala de cinza com 8 bits por pixel, por exemplo, possvel representar
255 nveis da cor cinza, desde o preto at o branco. Em muitas situaes o olho humano no
capaz de distinguir todos os nveis de cores que uma imagem pode apresentar, mas esses nveis
podem ser muito teis em processamento de imagens.
15
diferentes monitores CRT (Cathode Ray Tube), por exemplo, a cor pode ser interpretada
diferentemente por um observador.
Outro espao de cor o CMY(K), (Cyan, Magenta, Yellow, Black) que subtrativo.
utilizado principalmente por impressoras. A cor das imagens com a combinao das cores ciano,
magenta e amarela e opcionalmente com a cor preta. A converso RGB para CMY(K) pode ser
feita atravs dos seguintes clculos:
ciano = 1 vermelho
magenta = 1 verde
amarelo = 1 azul
Existem outros espaos de cor e variaes como o HSL (Hue, Saturation and
Lightness), que so alteraes do espao RGB. Cada um tem suas vantagens e desvantagens
para aplicaes diferentes.
16
bordas. comum utilizar imagens binrias na etapa de parametrizao, pois elas normalmente
facilitam o processamento e existem diversas tcnicas com desenvolvimento avanado para esse
tipo de imagem.
Tabela 2 - Etapas do processamento de imagens
1 Aquisio da imagem Amostragem, armazenamento e eventual compactao
2 Melhoramento (enhancement) Pr-tratamento digital da imagem
3 Segmentao da informao Extrao de objetos e partes da imagem
4 Parametrizao Determinao de grandezas dos objetos, forma,
descrio estrutural.
5 Reconhecimento Classificao dos objetos
6 Anlise quantitativa e Associao das grandezas medidas ao problema
aplicao da ferramenta a
outras reas da cincia
2.6.1. SMOOTH
A operao de smooth quando aplicada a uma imagem tem a inteno de melhorar sua
qualidade. Ela busca suavizar a imagem eliminando pontos que estejam fora de um padro
esperado. A forma mais comum dessa operao calcular o valor mdio dos pixels que estejam
na vizinhana de um pixel que est sendo analisado. Caso o valor do pixel seja muito diferente
do valor mdio dos pixels vizinhos, ele interpretado como rudo e seu valor corrigido.
A eliminao de rudos atravs da tcnica de smooth facilita a aplicao de algoritmos
de segmentao e reconhecimento posteriores.
2.6.2. THRESHOLD
Identificar partes de interesse em uma imagem uma das etapas mais crticas no
processamento de imagens. Uma das maneiras mais simples e eficazes de selecionar um
determinado objeto ou parte em uma cena atravs da operao de threshold.
Threshold um valor limite que usado em um critrio de seleo. Todos os pixels de
uma imagem so comparados a esse critrio de seleo e so alterados conforme a necessidade.
Um exemplo de aplicao de threshold comparar todos os pixels a um valor limite e caso
sejam maiores no alterar seu valor e, caso sejam menores, igualar a zero. Desta forma destaca-
se uma regio da imagem.
Comumente a operao de threshold gera imagens binrias ou em nveis de cinza.
Conforme a aplicao, qualquer outro tipo de destaque da regio de interesse pode se usado
como aplicar cores diferentes. Essa operao pertence etapa de segmentao do
processamento de imagens. Uma vez destacada a parte de interesse, a etapa de parametrizao
pode ser executada.
17
2.6.3. TRANSFORMADA DE HOUGH
A transformada de Hough foi desenvolvida por Paul Hough em 1962 e patenteada pela
IBM. Foi concebida para identificar linhas, crculos e elipses em imagens binrias e uma
importante ferramenta no processamento de imagens digitais. A transformada normalmente
aplicada a uma imagem que passou anteriormente pela operao de reconhecimento de bordas
[12].
O conceito da transformada mapear um pixel da imagem em uma curva no espao de
parmetros da forma que se deseja identificar. No caso da identificao de retas a equao
y = ax + b
Os valores x e y dos pontos da imagem so utilizados para traar uma curva no espao de
parmetros a b. Todos os pixels que so processados (de uma borda, por exemplo) e os
parmetros a e b so armazenados em um acumulador de duas dimenses. Em um exemplo,
uma figura tem uma reta que passa pelos pontos (1,1) e (2,2).
18
Esses mesmos pontos iro gerar duas retas que se cruzam no espao de parmetros,
justamente onde o acumulador tem o maior valor. No caso, A(1,0) foi incrementado duas vezes.
Para os valores de a=1 e b=0 temos a reta y=1x+0, ou seja y=x a equao da reta
encontrada nessa imagem, reta essa que existe.
Duda e Hart [13] sugeriram um procedimento similar utilizando, porm utilizando como
equao de reta [14]
= x cos( ) + ysen( )
E sugeriram tambm a utilizao do processo para identificar circunferncias. A equao de
uma circunferncia
( x a ) 2 + ( y b) 2 = c 2
Onde a e b so as coordenadas do centro da circunferncia e c seu raio de curvatura. Para cada
pixel da imagem gerada uma circunferncia no plano de parmetros (a,b) e so armazenadas
no acumulador. O cruzamento de circunferncias no plano de parmetros ir indicar as
coordenadas do centro da circunferncia que queremos identificar.
Se estivermos procurando crculos nessa figura com um raio fixo r, iremos obter uma
imagem no espao de parmetros similar a essa:
19
Figura 7 - Crculos no espao de parmetros
Neste exemplo, no ponto (3,5, 3,5) h a sobreposio das circunferncias gerada a partir
dos quatro pontos da figura 5. Esse ponto o centro da circunferncia de raio r. O valor de r
importante e necessrio nos clculos para detectar as circunferncias e torna mais complexa a
operao fazendo necessrio um acumulador tridimensional. Uma opo limitar a variao de
r ou tentar utilizar outras tcnicas para determinar o valor do raio para posteriormente utilizar a
transformada de Hough para encontrar o centro da circunferncia.
20
3. MTODOS E IMPLEMENTAES
3.1. ORGANIZAO DA APLICAO
A Aplicao de Viso Computacional para Extrao de Caractersticas em Imagens do
Olho Humano pode ser representada atravs do diagrama de blocos apresentado na figura 7.
21
Alm do programa principal, outros 3 arquivos cpp e seus respectivos headers compem
a aplicao. A tabela abaixo apresenta esses arquivos.
Tabela 4 - Arquivos que compem a aplicao
Arquivo Principais funes
Main.cpp Rotina do programa principal
videomng.cpp Rotinas de captura dos frames
videomng.h Rotinas para encontrar a pupila na imagem
Rotinas de threshold
Rotinas para calcular os dimetros da pupila e
ris
diameters.cpp Rotinas que identificam as bordas da pupila e
diameters.h ris e calculam a distncia entre as bordas
statistics.cpp Rotinas que calculam circularidade, dimetro
statistics.h mdio
As sees seguintes iro detalhar as ferramentas utilizadas e cada bloco que compe a
aplicao de viso computacional.
3.2.1. DEV-C++
O bloodshed Dev-C++ um ambiente de desenvolvimento integrado (Integrated
Development Environment IDE) para as linguagens de programao C e C++ [15]. Utiliza o
compilador mingw que faz parte do pacote de compiladores GCC (GNU Compiler Collection).
O Dev-C++ foi escolhido para compor o ambiente de desenvolvimento por ser um
software livre e de fcil configurao e integrao com outras bibliotecas como o OpenCV,
tambm utilizado nesse projeto.
3.2.2. OPENCV
A OpenCV (Open Source Computer Vision Library) uma biblioteca de funes de
programao de aplicaes de viso computacional em tempo real [16]. Desenvolvida
originalmente pela Intel, a biblioteca pode ser usada para desenvolvimento em Linux, Windows
e Mac OS X.
Entre as aplicaes da biblioteca esto a identificao de objetos, segmentao e
reconhecimento de imagens, reconhecimento de faces e gestos, captura de movimentos e
reconhecimento de bordas.
Uma srie de exemplos de aplicao acompanha o pacote de instalao da biblioteca.
Esses exemplos podem servir de base para o desenvolvimento de softwares de viso
22
computacional. Uma vez instalada a biblioteca, deve-se adicionar ao caminho padro do sistema
(PATH) as pastas onde esto os arquivos que sero utilizados na compilao futura.
3.4. SOFTWARE
23
Nesta estrutura, os dados sobre cada pixel esto armazenados na forma de um vetor e todas as
informaes necessrias sobre a imagem como tamanho, profundidade de bits, tipo de dado
utilizado esto presentes.
Tabela 5 - Funes de captura de quadro
Funo Descrio
initCapture Abre o vdeo para captura e inicia uma estrutura de captura da
biblioteca OpenCV que enderea o vdeo.
Uma vez capturado e com a orientao corrigida, um quadro pode passar para o
processamento e obteno dos dados do olho.
A deteco de crculos deve ser feita em imagens em escala de cinza e a todos os frames
a funo cvCvtColor aplicada. Essa funo converte o espao de cores de uma imagem. Com o
parmetro CV_BGR2GRAY indicamos que a imagem deve ser convertida do espao BGR
(similar ao RGB, mas com a ordem dos dados sobre as cores alterada) para escala de cinza.
Aps a converso, as imagens passam por um processo de remoo de salincias (smooth)
atravs da funo cvSmooth, tambm implementada pela OpenCV. S ento o algoritmo de
Hough aplicado.
24
A funo cvHoughCircles retorna trs informaes sobre cada crculo encontrado: o
valor da coordenada x do centro do crculo, o valor da coordenada y do centro do crculo e o
raio. Esses dados so armazenados em uma estrutura de dados tpica da biblioteca OpenCV, a
cvMemStorage, que capaz de armazenar diversos tipos de dados que so manipulados por
diferentes funes da biblioteca. Por fim, os dados armazenados que so do tipo ponto flutuante
so convertidos para o tipo inteiro, j que o acesso a pontos da imagem feita pela indexao de
ndices de matriz e esses ndices so do tipo inteiro.
Onde dst(x,y) o valor do pixel (x,y) na imagem binria e src(x,y) o valor do pixel na
posio (x,y) na imagem original. O valor mximo 255, que indica a cor branca, e threshold
determinado por outras funes.
25
Durante a execuo da aplicao so geradas duas imagens binrias destacando uma a
pupila e outra a ris e a pupila juntas. Para tal, dois valores de threshold devem ser corretamente
determinados. O valor limite referente imagem correspondente da pupila obtido atravs da
mdia dos valores dos pixels vizinhos ao centro da pupila encontrado pela transformada circular
de Hough. Com esse valor, a imagem binria da pupila gerada e os dimetros so calculados.
Na figura 12 possvel observar os pontos que foram utilizados para o clculo do threshold da
imagem da pupila indicados por um quadrado cinza sobre a pupila. Na figura 13 possvel
observar a imagem binria da pupila obtida com esse valor limite.
Figura 12 - Pontos utilizados para determinar o Figura 13 - Imagem binria com a pupila
threshold da pupila destacada
Aps calcular os dimetros da pupila o mesmo procedimento repetido para obter uma
imagem destacando a ris e pupila juntas. A mdia do valor de vrios pontos que esto na ris
calculada para servir de threshold. Esse procedimento s feito aps calcular o dimetro da
pupila no eixo x, pois o raio da pupila que vai indicar a posio correta dos pixels desejados.
As figuras 14 e 15 mostram respectivamente os pontos utilizados para o clculo do valor limite
de binarizao para a ris e a imagem binria obtida.
Figura 14 - Pontos utilizados para clculo do Figura 15 - Imagem binria da ris e da pupila
threshold da ris destacadas
26
O dimetro da ris pode enfim ser determinado com a imagem binria gerada para cada
quadro.
Os dimetros so calculados pela distncia dos dois pontos extremos da pupila e que
estejam sobre uma das retas de orientao. Um lao de repetio percorre a cada reta de
referncia desde um ponto fora da pupila at encontrar sua fronteira. Esse ponto de referncia
no to distante da origem (centro da pupila) para evitar repeties desnecessrias e varia para
cada reta. A distncia euclidiana entre os dois pontos que estejam na fronteira da pupila e sobre
uma mesma reta ser um dimetro e calculada pela frmula
27
Onde (x1, y1) e (x2,y2) correspondem aos pontos de fronteira. O valor do dimetro dado em
pixels.
Obtidos os valores dos quatro dimetros, podem ser calculados o dimetro mdio e a
circularidade. O dimetro mdio calculado pela frmula
dimetro1 + dimetro2 + dimetro3 + dimetro4
dimetro _ mdio =
4
Onde dimetroX, com X variando de 1 at 4, corresponde a cada um dos dimetros obtidos
orientados pelas retas. A circularidade utilizada nesse trabalho a relao entre os quatro
dimetros e indica o quanto eles so diferentes. Quando maior a diferena entre o valor desses
dimetros, mais distante de um o valor da circularidade, indicando o quo elptica a pupila.
Para calcular a circularidade, feita a mdia de duas relaes: a relao entre os dimetros
orientados pelas retas no eixo x e no eixo y e a relao entre os dimetros com inclinao de 45
graus em referncia ao eixo x. As frmulas seguintes demonstram o clculo:
circularidadeXY = dimetroX
dimetroY
circularidade45 = dimetro 45
dimetro135
circularidadeXY + circularid ade45
circularid ade =
2
Onde dimetroX o dimetro orientado pela reta do eixo x, dimetroY a reta orientada pelo
eixo y, dimetro45 orientado pela reta y=x e dimetro135 orientado pela reta y= -x.
28
Figura 18 - Imagem Binria com dimetros Figura 19 - Dimetros traados na imagem
calculados e traados original
O prximo dado que deve ser obtido o dimetro da ris. O mesmo procedimento
utilizado na imagem binria da pupila para obter os quatro dimetros utilizado para obter o
dimetro da ris. Com a imagem binria que destaca a ris e a pupila juntas, feito o lao de
aproximao at encontrar as fronteiras da ris apenas em relao ao eixo x, com o mesmo ponto
de origem utilizado nas retas de orientao dos dimetros da pupila. Calcula-se a distncia entre
esses dois pontos para definir o dimetro da ris. A figura 20 mostra o traado do dimetro da
ris.
O ltimo dado calculado com informaes do quadro que est sendo processado a
relao entre dimetro da ris e dimetro da pupila. Essa relao utilizada para auxiliar a
identificao de alteraes reais no dimetro da pupila. O dimetro da ris considerado
constante e s sofre alteraes quando o olho se movimenta para os lados. As imagens so
planas e no representam a curvatura do globo ocular. Por essa razo, ao movimentar o olho, os
dimetros da ris e da pupila iro variar. Se a relao entre esses dimetros se mantiver, isso
indica que no houve alterao no dimetro pupila. Caso contrrio, a alterao deve ser
registrada. A relao calculada como:
dimetroPupila
Re lao =
dimtetroris
29
Onde dimetroPupila o dimetro da pupila no eixo x e dimetroris o nico dimetro da ris
calculado.
Todos os dados obtidos so gravados em arquivos de texto para posterior anlise.
30
4. RESULTADOS
4.1. TESTES DE EXECUO
Para testar a aplicao desenvolvida foram utilizados treze diferentes filmes dos olhos
de oito voluntrios. Para alguns dos voluntrios mais de um filme foi captado e analisado. A
cada quadro dos filmes os dimetros da pupila e da ris, o valor da circularidade e a relao
entre pupila e dimetro foram calculados e armazenados em arquivos de texto. Porm, para a
anlise, utilizou-se o valor mdio dos dados obtidos a cada cinco quadros. Como foram
utilizados filmes com taxa de quadros de 15 e 30 quadros por segundo, cinco quadros
correspondem reao mdia da pupila a cada um tero e um sexto de segundo
respectivamente. Esses dados tambm foram armazenados em arquivos de texto e serviram de
base para a construo de grficos.
No foram observadas diferenas significativas nos resultados ao processar e analisar
vdeos com taxas de quadros de 15 e 30 quadros por segundo. Porm, vdeos com 30 quadros
por segundo quase sempre utilizavam toda a memria fsica do computador para serem
processados obrigando o sistema operacional a utilizar a memria de swap do disco rgido.
Quando isso acontecia, o processamento se tornava muito lento.
Alm dos dados previamente citados foi calculada durante a anlise a derivada da curva
que indica a variao do dimetro pupilar. Essa derivada tambm usou como base de tempo
cinco quadros do filme. A seguinte frmula descreve o clculo da derivada:
derivada = dimetro _ pupila ( x) dimetro _ pupila ( x 1)
Onde dimetro_pupila(x) o dimetro mdio dos ltimos cinco quadros que foram processados
e dimetro_pupila(x-1) o valor do dimetro mdio dos outros cinco quadros que antecedem o
primeiro quadro do tempo x.
Os dados obtidos e calculados passaram a compor tabelas e a partir dessas tabelas foram
criados os grficos. A tabela 7 mostra um exemplo da organizao dos dados coletados:
Tabela 7 - Tabela com dados de vdeo
Dimetro Dimetro Relao Derivada
Pupila ris Circularidade pupila/ris pupila
155,3853 352,25 0,977111 0,441122
155,4353 352 0,984191 0,441578 0,050003
153,1797 349,6 0,984198 0,438157 -2,25565
155,4525 351,2 0,978875 0,442632 2,272797
155,6646 350 0,981526 0,444756 0,212127
153,5746 353,4 0,98135 0,434563 -2,08995
155,6232 348,6 0,983432 0,446423 2,048538
157,2631 350,8 0,981147 0,448299 1,639954
154,6439 350 0,972155 0,44184 -2,61923
161,643 353 0,983915 0,457912 6,999131
158,8889 352,4 0,987468 0,450876 -2,75415
157,9631 349,4 0,972995 0,452098 -0,92575
31
156,9474 353,4 0,98381 0,444107 -1,01569
158,2874 350,4 0,980561 0,451733 1,339951
157,8252 352 0,984421 0,448367 -0,46214
145,5249 352,4 0,988598 0,412954 -12,3003
107,7851 352 1,002267 0,306208 -37,7398
97,85249 352,2 1,032367 0,277832 -9,9326
101,2117 347,8 1,025342 0,291005 3,359192
110,6215 350 1,005183 0,316061 9,409798
122,5869 350,4 0,992961 0,349849 11,96543
131,2952 349,8 0,969622 0,375344 8,708328
121,0556 350,8 0,977416 0,345084 -10,2397
126,3254 352 0,975695 0,358879 5,269837
134,2559 352,4 0,989203 0,380976 7,930511
127,4289 351,8 1,006591 0,36222 -6,82697
131,4538 351,8 0,99313 0,373661 4,024887
131,7574 348 0,971894 0,378613 0,303543
131,4352 351,4 0,9797 0,374033 -0,32217
134,053 349,8 0,973067 0,383227 2,617767
126,1683 351,2 0,998521 0,359249 -7,88467
111,6508 352,6 1,008828 0,31665 -14,5175
116,5378 351 1,02203 0,332016 4,887009
129,0432 350,8 0,986297 0,367854 12,50539
137,9065 351 0,99114 0,392896 8,863358
137,905 352,4 0,997633 0,391331 -0,00148
141,7693 353,2 0,995755 0,401385 3,864212
143,0835 351,8 0,985534 0,406718 1,314209
147,6841 351,2 0,994646 0,420513 4,600616
146,6477 351,4 0,986481 0,417324 -1,03641
146,7063 349,8 0,990445 0,4194 0,058593
147,0305 351,8 0,992239 0,417938 0,324265
152,8175 350,8 0,987357 0,435626 5,787002
147,1927 351,2 0,984739 0,419113 -5,62488
151,0154 348,6 0,988325 0,433206 3,822785
152,6761 351,4 0,984439 0,43448 1,660675
154,1868 349,4 0,982655 0,44129 1,510651
151,8518 349,8 0,981342 0,43411 -2,33493
150,2205 351,8 0,983564 0,427005 -1,63138
150,8776 351 0,981208 0,429851 0,657135
150,7225 353,2 0,983231 0,426734 -0,15505
152,2261 354,2 0,984356 0,429774 1,503556
148,4705 351,8 0,9801 0,422031 -3,75563
148,0669 350,2 0,980976 0,422807 -0,40355
150,8276 351,8 0,988755 0,428731 2,760666
126,0653 349,2 0,991376 0,361012 -24,7622
96,00545 351,75 1,0712 0,272937 -30,0599
97,09749 350,6 1,04055 0,276947 1,092041
116,1292 352,25 1,00881 0,329678 19,03171
116,1413 352 0,961406 0,329947 0,012139
116,26 350,2 0,971921 0,331982 0,118629
119,9641 351,4 0,980956 0,341389 3,704163
128,581 350,6 0,987738 0,366746 8,616912
120,5919 350,8 0,960547 0,343763 -7,9891
32
120,4263 352,2 0,980233 0,341926 -0,16569
129,0189 351,4 0,981727 0,367157 8,592636
120,6505 350,6 0,997642 0,344126 -8,36838
114,7928 346,4 0,993061 0,331388 -5,8577
123,1562 351,6 1,007923 0,350274 8,363357
120,3585 351,2 0,955415 0,342706 -2,79767
119,5606 351 0,994278 0,340628 -0,79793
124,3369 348,4 0,994594 0,35688 4,776344
126,2011 350,4 0,999558 0,360163 1,86422
131,5695 350,8 0,995353 0,375056 5,36837
125,8961 349 0,985215 0,360734 -5,6734
114,9064 350,6 0,991926 0,327742 -10,9897
127,3325 350 0,986314 0,363807 12,42609
139,8793 350,8 1,004233 0,398744 12,54681
139,55 352 1,002064 0,396449 -0,32932
145,7335 350 1,001199 0,416381 6,183456
142,6006 347,8 1,0044 0,410008 -3,13283
144,237 348,4 0,998593 0,413998 1,636398
146,6891 349,2 0,998331 0,420072 2,452087
143,7249 351,2 0,990819 0,409239 -2,96423
145,9027 352 1,000694 0,414496 2,177826
145,8648 348,2 0,993006 0,418911 -0,03787
149,2033 350,2 0,994904 0,426052 3,338485
148,0427 347,4 0,997357 0,426145 -1,16066
144,7749 351,4 1,002355 0,411995 -3,26778
139,6536 350 0,976193 0,39901 -5,12132
147,2098 349,8 0,997539 0,42084 7,556275
148,2669 346,6 0,979891 0,427775 1,057083
149,1705 348,8 0,990837 0,427668 0,903564
111,8179 349,6 1,005308 0,319845 -37,3526
92,58118 347,25 1,024655 0,266612 -19,2368
98,5025 350,4 1,021711 0,281114 5,921318
98,78032 347,2 1,023048 0,284506 0,277824
104,5274 349,2 1,020133 0,299334 5,747063
110,3301 350 0,998983 0,315229 5,802681
119,6656 350,2 0,994609 0,341706 9,335541
122,7319 350,4 0,982053 0,350262 3,066291
123,3647 349,2 0,991662 0,353278 0,632836
122,6198 350 0,992852 0,350342 -0,74498
120,0899 349,8 0,989405 0,34331 -2,52988
117,2035 348,75 1,010135 0,336067 -2,8864
121,9056 348,2 1,004362 0,350102 4,702088
126,2304 344,8 0,983286 0,366098 4,324867
124,7511 349,2 0,997475 0,357248 -1,47929
117,6156 343,6 0,985095 0,342304 -7,13554
120,9763 346 1,010215 0,349642 3,360656
120,5263 343,5 1,081478 0,350877 -0,45
133,871 343,6 0,984945 0,389613 13,34474
122,5863 343,75 0,965563 0,356615 -11,2847
135,2902 339,3333 0,98133 0,398694 12,70393
33
400
350
300
250
Dimetro Pupila
200
Dimetro ris
150
100
50
0
1 11 21 31 41 51 61 71 81 91 101 111
1,2
0,8
Circularidade
0,6
Relao dimetros
pupila/ris
0,4
0,2
0
1 11 21 31 41 51 61 71 81 91 101 111
34
30
20
10
0
1 10 19 28 37 46 55 64 73 82 91 100 109
-10 Derivada
-20
-30
-40
-50
450
400
350
300
Dimetro pupila vdeo 1
250 Dimetro Pupila vdeo 2
Dimetro ris vdeo 1
200 Dimetro ris vdeo 2
150
100
50
0
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97
35
80
60
40
20
Derivada Vdeo 2
0
Derivada vdeo 1
1 8 15 22 29 36 43 50 57 64 71 78 85 92
-20
-40
-60
-80
36
400
350
300
Dimetro Pupila 1
250 Dimetro Pupila 2
Dimetro Pupila 3
200
Dimetro ris 1
50
0
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
1,2
Circularidade 1
0,8
Circularidade 2
Circularidade 3
0,6
Relao dimetros 1
Relao dimetros 2
0,4
Relao dimetros 3
0,2
0
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
40
30
20
10
Derivada 1
0
Derivada 2
-10 1 9 17 25 33 41 49 57 65 73 81 89 97 105
Derivada 3
-20
-30
-40
-50
37
Os vdeos de outros quatro voluntrios foram analisados e no apresentaram
comportamento muito diferente dos vdeos dos voluntrios 1 e 2. Todos tiveram formato grfico
similar aos grficos apresentados em seguida.
400
350
300
250
200
150
100
50
0
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65
Dimetro Pupila
Dimetro ris
1,2
0,8 Circularidade
0,2
0
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64
20
15
10
5
0
-5 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61
-10
-15
Derivada
-20
-25
-30
38
A aplicao foi testada ainda com outros dois vdeos com caractersticas que
dificultavam a obteno dos dados desejados: o olho do voluntrio se movimentou muito
durante a captura, as plpebras sobrepuseram a pupila (olho pouco aberto) e em muitos
momentos, partes da ris ficavam fora do campo de captura de cmera, impossibilitando a
medio de seu dimetro. Os dados obtidos a partir desses vdeos demonstram a situao em
que a aplicao no capaz de identificar os dados do olho corretamente. Os grficos abaixo
exemplificam o caso de uma amostra de vdeo ruim.
400
350
300
250
Dimetro Pupila
200
Dimetro ris
150
100
50
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
2,5
1,5 Circularidade
Relao dos
1 dimetros
0,5
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
60
40
20
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 Derivada
-20
-40
-60
-80
39
Por fim, a pupila do voluntrio do ltimo vdeo analisado apresentou pouca reao ao
estmulo luminoso.
450
400
350
300
250 Dimetro pupila
200 Dimetro ris
150
100
50
0
1 10 19 28 37 46 55 64 73 82 91 100 109 118
Figura 35 - Dimetros da pupila e ris de voluntrio com reao imperceptvel ao estmulo luminoso
1,2
0,8
Circularidade
0,6
Relao Dimetros
0,4
0,2
0
1 11 21 31 41 51 61 71 81 91 101 111 121
200
150
100
50
0 Derivada
1 10 19 28 37 46 55 64 73 82 91 100 109 118
-50
-100
-150
-200
Os picos que podem ser observados nesses grficos foram originados por falhas durante
o processamento dos quadros do vdeo ao medir os dimetros da pupila ou ris.
40
4.2. ANLISE DOS DADOS DOS TESTES
A anlise dos dados obtidos durante os testes da aplicao permitiu observar um
comportamento comum da reao da pupila ao estmulo luminoso. Quando o olho exposto
luz, a pupila se contrai rapidamente e em poucos instantes dilata at estabilizar em um dimetro
apropriado para a viso. Quando o estmulo luminoso desligado, a ausncia de luz faz com que
a pupila volte a dilatar, mas ela no atinge o mesmo dimetro que tinha no incio do teste. Isso
se repete a cada vez que o olho submetido a luz e a ausncia de luz e o dimetro mximo
sempre diminui.
41
biomtricos. A velocidade de reao da pupila ao estmulo de luz, o quanto ela se contrai, o
tempo que leva para estabilizar em um dimetro e a forma como reage a estmulos de luz
sucessivos podem compor um cenrio de informaes nicas do indivduo.
42
Figura 41 - Movimentao do olho impede identificao da posio da pupila
Figura 42 - Parte da ris fora do campo da imagem impossibilita medir seu dimetro
43
5. CONCLUSO E CONSIDERAES FINAIS
5.1. DISCUSSO
A idia de construo da Aplicao de Viso Computacional para Extrao de
caractersticas em Imagens do Olho Humano derivou de um trabalho desenvolvido por outro
aluno de graduao durante a disciplina de Projeto de Sistemas Embarcados. O objetivo desse
trabalho era construir um hardware com microprocessadores capaz de processar imagens do
olho para medir o dimetro da pupila. Juntamente com o projeto de hardware, o aluno em
questo desenvolveu uma aplicao tambm utilizando o a biblioteca OpenCV que era capaz de
identificar a pupila e medir seu dimetro, mas sem nenhuma relao com o hardware.
Esse trabalho procurou evoluir a idia de utilizar o OpenCV para extrair dados do olho.
Houve um grande avano na estruturao da aplicao, em dividir a execuo em diversas
rotinas e organiz-las. A documentao da aplicao tambm facilita o entendimento daqueles
que eventualmente venham estudar a implementao. Outro grande avano foi o
desenvolvimento de rotinas para calcular os valores de threshold que so usados para obter as
imagens binrias. Para cada filme de um olho, esses valores variam e calcul-los a partir das
informaes presentes no prprio quadro facilita o processamento.
A atual implementao eficaz para identificar a pupila e os dimetros para a maioria
dos vdeos quando esses tm a qualidade requerida e no h sobreposio de partes (plpebra
sobre a pupila, ris fora do campo da imagem). Em alguns casos, porm, ajustes nos parmetros
que so utilizados pela transformada de Hough para identificar a pupila na imagem so
necessrios, o que faz que a aplicao no seja eficaz para 100% dos vdeos. As rotinas que
calculam o threshold em alguns casos tambm necessitam de ajustes, normalmente multiplicar o
valor limite por um fator de correo. O principal problema na rotina atual de clculo do
threshold da pupila a interferncia que o reflexo dos LEDs infravermelho causa.
A identificao da borda da ris com a utilizao de threshold tambm complexa em
alguns casos. Algumas imagens do olho tm variao de cor muito suave na fronteira da ris
com o corpo branco do olho. Por essa razo, a medida do dimetro da ris muitas vezes feita
de maneira incorreta.
Os vdeos utilizados nos testes no seguiram nenhum padro no tocante a tempos de
exposio e acionamento dos estmulos luminosos. No h tambm vdeos e nem dados
suficientes para que seja feita alguma concluso estatstica sobre o comportamento da pupila em
resposta aos estmulos. Os testes realizados permitem apenas sugerir possveis padres que, por
ventura, possam existir no comportamento pupilar. Para chegar a concluses, diversos testes
devem ser feitos com dados e vdeos preparados de forma correta.
44
5.2. CONCLUSO
Os objetivos deste trabalho foram atingidos. Uma aplicao capaz de identificar e medir
o dimetro da pupila foi desenvolvida. A aplicao pode ser utilizada para processar vdeos com
imagens do olho humano e gerar informaes para posterior anlise. Porm, diversas melhorias
ainda so bem vindas.
Os dados que so obtidos pela execuo dessa aplicao podem indicar padres e
comportamentos anmalos de uma pupila. Porm, concluses sobre o significado desses dados
no podem ser feitas com base apenas na observao estatstica e carecem de estudos de
diversas reas alm da computao.
45
REFERNCIAS BIBLIOGRFICAS
1
LAU, Jeffrey C. H.; Development of a Pupilometer. Departament of Electrical and Computer
Engeneering, University of Auckland, Auckland, Nova Zelndia. Disponvel em
<http://www.ele.auckland.ac.nz/archives/reports2005/pdfs/Image%20Processing/proj_127_jlau
027.pdf> Acesso em 01 de novembro de 2007
2
CARVALHO, P. C. et al.; Viso Computacional, Imageamento e Computao Grfica.
Instituto de Matemtica Pura e Aplicada, Rio de Janeiro. Disponvel em
<http://milenio.impa.br/novo/portugues/areas_visao.htm> Acesso em 05 de novembro de 2007
3
Wikipdia, A enciclopdia Livre. Verbete Biometria. Website visitado em 05 de novembro de
2007.
4
Wikipdia, A enciclopdia Livre. Verbete Olho Humano. Website visitado em 05 de
novembro de 2007.
5
CARVALHO, L. A. V. de, ROMO, A. C.; 2003. Instrumentao para Digitalizao e
Processamento Computacional da Pupila in vivo. Instituto de Fsica de So Carlos USP
6
LE GRAND Y., EL HAGE S. G. Physiological Optics. Springer Series in Opetical Sciences,
Springer-Verlag, 1980;13
7
OKUNO E., IBER L., CHOW C. Fsica para Cincias Biolgicas e Biomdicas, Ed. Harper
& Row (1982)
8
GULLSTRAND A. In Helmholtz. Treatise on Physiological Optics. Ed. 3, 1 (1980)
9
RUSS, John C. The Image Processing Handbook. Quarta Edio. CRC Press, 2002
10
FORD, A., ROBERTS, A. Color Spave Conversions. 1998. Disponvel em
<http://www.poynton.com/PDFs/coloureq.pdf> Acesso em 14 de novembro de 2007
11
ALBUQUERQUE, M. P. de, ALBUQUERQUE, M. P. de. Processamento de Imagens:
Mtodos e Anlises. Centro Brasileiro de Pesquisas Fsicas, Rio de Janeiro. Disponvel em
<http://www.cbpf.br/cat/pdsi/pdf/ProcessamentoImagens.PDF> Acesso em 14 de novembro de
2007.
46
12
JAMUND, T. Reconhecimento de Formas: A transformada de Hough. Seminrio de Viso
Computacional CPGCC/UFSC, 2000. Disponvel em
<http://www.inf.ufsc.br/~visao/2000/Hough/index.html> Acesso em 15 de novembro de 2007
13
DUDA, R. O.; HART, P. E. Use of the Hough transformation to detect lines and curves en
pictures. Graphics and image processing v. 15, n. 1, pp. 11-15. Janeiro 1988
14
PEREIRA, Ademir S. 1995. Processamento de Imagens Mdicas utilizando a Transformada
de Hough. Tese apresentada ai Instituto de Fsica de So Carlos para obteno do ttulo de
doutor em cincias fsicas aplicadas. IFSC USP, So Carlos.
15
Pgina de referncia do Bloodsheed DEV-C++. Disponvel em
<http://www.bloodshed.net/devcpp.html> Acesso em 11 de setembro de 2007
16
Pgina de referncia da Open Source Computer Vision Library. Disponvel em
<http://www.intel.com/technology/computing/opencv/index.htm>. Acesso em 25 de agosto de
2007.
17
Laboratrio tico Rigor; O Olho Humano Anatomia. Disponvel em
<http://www.laboratoriorigor.com.br/anatomia.html> Acesso em 15 de novembro de 2007
47