390
IEEE LATIN AMERICA TRANSACTIONS, VOL. 3, NO. 5, DECEMBER 2005
Sistema Baseado em Inteligência
Computacional para Entendimento de Imagens
Oftalmológicas
Antonio Valerio Netto
Resumo: Neste projeto foi desenvolvido um sistema
computacional de análise de imagens baseado em técnicas de
aprendizado de máquina para auxiliar o diagnóstico na área
oftalmológica, particularmente, um sistema de medidas
objetivas e automáticas dos vícios de refração ocular
(astigmatismo, hipermetropia e miopia). Os resultados do
trabalho sugerem um caminho para melhorar a interpretação
das imagens vindas da técnica de aquisição chamada HartmannShack (HS) para permitir que, posteriormente, outros
problemas oculares sejam detectados e medidos. O trabalho
atuou em um campo da área de entendimento da imagem
(Image Understanding) usando máquinas de suporte vetorial
(Support Vector Machines – SVM). Uma motivação para
investigar técnicas de aprendizado de imagens para o
reconhecimento e análise das imagens no contexto deste projeto
foi a busca por um sistema de medição capaz de interpretar o
conteúdo das imagens como um todo, ao invés de fazer a
medição pela comparação de dados discretos extraídos da
imagem com dados extraídos de uma imagem de referência.
Palavras-Chave: Sistemas inteligentes, Entendimento de
imagens, Máquinas de suporte vetorial, Aprendizado de
máquina, Vícios refrativos, Imagens oftalmológicas.
I. INTRODUÇÃO
Uma forma eficiente e relativamente barata de medir os
erros de refração ocular (miopia, hipermetropia,
astigmatismo) faz uso de um equipamento constituído de
lentes-teste e figuras projetadas num anteparo colocado a uma
certa distância do paciente, que deve reconhecer
perfeitamente as imagens projetadas. Em síntese, a rotina
clínica de um exame de refração consiste de três passos
fundamentais [1]:
• Cicloplegiar o paciente (paralisa-se o músculo ciliar do
olho, processo popularmente conhecido como "dilatar" a
pupila);
• Por meio da retinoscopia, avaliar qualitativamente e
quantitativamente o erro refrativo ocular;
• Em seguida, submeter o paciente a um teste (em um
equipamento denominado "Green's") cujo método de
medida utiliza optotipos constituídos por letras ou figuras
projetadas em um anteparo, distantes 5m do paciente. Este
Antonio Valerio Netto, Cientistas Associados Desenvolvimento Tecnológico
Ltda,
Divisão
de
Sistemas
Computacionais
(e-mail:
[email protected]).
deve reconhecer as letras ou figuras com o auxílio de
várias lentes posicionadas frente aos seus olhos.
Tal avaliação permite determinar as lentes corretivas mais
adequadas ao paciente. Entretanto, a avaliação da lente
corretiva é subjetiva, uma vez que o paciente é quem
determina, em parte, a lente à qual melhor se adapta. No
intuito de automatizar estas medidas de refração e diminuir o
tempo de medição, que geralmente é em torno de 20 a 30
min, é muito útil contar com um equipamento automático e
objetivo capaz de proporcionar a mesma, ou melhor, precisão
do que as medidas tradicionais, em menor tempo. Isso
favorece um aumento do número de exames feitos em
pacientes no mesmo período de tempo de atendimento.
Este tipo de sistema, denominado refrator automático, ou
auto-refrator, é um teste automático que faz uma medição
computadorizada do olho humano para determinar
aproximadamente a prescrição das lentes para os óculos de
um determinado paciente. O equipamento que faz esse teste é
chamado de auto-refrator, e é freqüentemente combinado com
um ceratômetro (Keratometer), equipamento utilizado para
medir a curvatura da córnea, fornecendo ao médico rapidez e
precisão em ambas as medidas [17] [18] [19] [20].
O médico utiliza os resultados do equipamento como ponto
de partida para prescrever, por exemplo, um primeiro par de
óculos para um paciente recente ou para determinar uma
possível troca de lentes para um paciente que já usa óculos.
Os auto-refratores também possibilitam ao médico fazer uma
medição com razoável precisão em pacientes que não falam
ou não são cooperativos, como indivíduos que sofrem de
problemas mentais ou pacientes muito jovens [21]. Isso é de
grande valia especialmente no caso de crianças, pois diminui
o cansaço, além de orientar o oftalmologista nos casos de má
informação e não cooperação [22].
Com o intuito de viabilizar tecnicamente a construção de
um equipamento eficiente que ofereça uma alternativa aos
auto-refratores importados atuais, buscou-se neste projeto
investigar um sistema computacional com uma abordagem
inédita para medição de vícios refrativos (astigmatismo,
hipermetropia e miopia) baseado em tecnologia de análise de
imagens utilizando técnicas de Aprendizado de Máquina.
Aprendizado de Máquina (AM) é um campo de pesquisa da
área de Inteligência Computacional que estuda o
V. NETTO: SYSTEM BASED ON COMPUTATIONAL INTELLIGENCE
desenvolvimento de métodos capazes de extrair conceitos
(conhecimento) a partir de amostras de dados [2].
A idéia da utilização das técnicas de AM foi devido ao
enorme progresso em pesquisa e aplicações práticas nos
últimos anos que certificam a eficiência dessas técnicas, em
especial, redes neurais artificiais e Máquinas de suporte
vetorial, em extrair conceitos (conhecimento) a partir de
amostras de dados. Em geral, os diversos algoritmos de AM
são utilizados de forma a gerar classificadores para um
conjunto de exemplos de dados.
Essa abordagem oferece um leque de possibilidades em
termos de pesquisa acadêmica e tecnológica voltada à
interpretação de informações de um globo ocular. Com o
reconhecimento e análise das características pertinentes ao
globo ocular utilizando algoritmos de aprendizado de
máquina é possível não apenas diagnosticar os vícios de
refração, mas também obter outras informações sobre a saúde
do mesmo [3].
O projeto sempre buscou ampliar horizontes para atingir o
objetivo principal, ao mesmo tempo, que contribuir com as
áreas que foram sendo investigadas para a construção desse
caminho. Dessa forma, além da contribuição prática que foi o
desenvolvimento de uma nova metodologia para medição dos
vícios de refração ocular e da contribuição computacional
baseada na investigação de um sistema de análise de imagens
que atua no campo do Entendimento/Interpretação da
Imagem (Image Understanding) onde existem hoje poucos
projetos realizados utilizando Máquinas de suporte vetorial
[4]. Dessa forma, os resultados apresentados podem auxiliar
na verificação da adequação destas técnicas para a execução
de tarefas nesse campo da área de reconhecimento de padrões.
Uma outra contribuição consiste na introdução do uso das
técnicas de AM em uma nova área (Optometria/
Oftalmológica). Acredita-se que o trabalho permita uma
aproximação entre as áreas de Computação e Optometria,
pois o que está sendo proposto é diferente do que os
especialistas em Optometria vêm realizando na área de
medição de anomalias [5]. Além disso, a utilização de um
software inteligente visa fornecer um caminho para melhorar
a interpretação das imagens do olho humano obtidas pela
técnica de aquisição utilizada no projeto (técnica de
Hartmann-Shack) para permitir que, posteriormente, outros
problemas oculares sejam detectados e medidos baseados na
mesma imagem.
Nas próximas seções são apresentadas informações sobre a
técnica utilizada para aquisição dos dados do olho humano
(Hartmann-Shack); noções sobre a técnica de aprendizado de
máquina (Máquinas de suporte vetorial) com o qual se obteve
o melhor desempenho no módulo de análise do sistema; em
seguida é apresentada na metodologia, a seqüência de
desenvolvimento do projeto e na seção final contém as
considerações relacionadas as perspectivas diante de algumas
decisões tomadas ao longo do projeto, e as conclusões gerais
sobre o trabalho.
391
II. TÉCNICA DE AQUISIÇÃO DE DADOS DO OLHO
HUMANO
Um dos maiores desafios deste projeto foi encontrar uma
forma adequada de adquirir as informações necessárias do
olho humano, visto que não é possível utilizar determinados
métodos já patenteados por empresas estrangeiras. Com o
aprofundamento dos estudos nesta área, concluiu-se que é
impossível também, até o momento, utilizar alguma forma de
aquisição de imagem bidimensional, como uma simples
imagem digitalizada da íris ou da retina, pois estas imagens
não conteriam as informações necessárias para o diagnóstico
dos vícios refrativos. Foi observado, também, que quase todas
as formas de aquisição de dados que contém as informações
necessárias trabalham com um feixe de luz enviada para o
olho humano. Dessa forma, o estudo foi se aprofundando na
área de Optometria, em busca de soluções. Deparou-se com
algumas metodologias de aquisicionamento, até a descoberta
da técnica Hartmann-Shack. A escolha desta técnica está
vinculada à inovação que ela está introduzindo na área de
Optometria. Na opinião de especialistas, o medidor de
anomalia (aberrometer) baseado no princípio de HartmannShack é o mais promissor dos vários métodos existentes [6].
Esta técnica é baseada na seguinte teoria, normalmente, é
suposto que os raios de luz penetram no olho e formam uma
imagem na retina. Se o objeto é um ponto de luz distante, por
exemplo uma estrela, estes raios de luz são paralelos quando
penetram no olho, e sofrem uma refração para formar uma
imagem perfeita do ponto na retina. Ou melhor dizendo, o
ponto de origem emite ondas de luz na mesma direção. Este
fenômeno é semelhante a uma pedra jogada num tanque de
água que gera ondas circulares que se propagam para fora. Se
o ponto de origem está suficientemente distante, para que os
raios penetrem no olho; eles virão, essencialmente, na forma
de um plano. Adotando os raios de luz simplesmente como
linhas,
pode-se
desenhar
as
frentes
de
onda
perpendicularmente, afirmando então que se trata de ondas
planas, o que é equivalente a afirmar que os raios são
paralelos. Uma vez dentro do olho, a onda muda de forma
tornando-se circular e, posteriormente, focando-se num ponto
da retina. Imaginando o processo inverso, um feixe de luz
proveniente de um ponto de reflexão de imagem da retina,
saindo do olho. Se o olho é perfeito, a frente de onda
emergente será um onda plana, e os raios serão paralelos.
Entretanto, se o olho possuir alguma anomalia a frente de
onda emergente será distorcida a medida em que vai se
distanciando. Naturalmente, a reflexão da luz será muito
embaçada, mas é possível capturar fotograficamente a luz
refletida que sai do olho, como pode ser observado em uma
fotografia com pontos vermelhos cobrindo a pupila dos olhos
das pessoas, quando o flash é suficientemente luminoso.
Dessa forma, para a medição das anomalias do olho, um
ponto origem de luz é criado na retina, e a frente de onda de
luz emergente deste olho é analisada por um conjunto de finas
lentes. Este conjunto de microlentes divide a frente de onda
em vários feixes individuais, cada qual focado em um sensor
CCD (Charge-Coupled Device). Para um olho perfeito, uma
onda plana refletida será focada perfeitamente dentro de um
392
IEEE LATIN AMERICA TRANSACTIONS, VOL. 3, NO. 5, DECEMBER 2005
grid de imagens de pontos (Figura 1). Será gerada uma
imagem contendo todos os pontos vindos do conjunto de
lentes, e os espaçamentos entre estes pontos serão os mesmos
existentes no lenslet (origem). É importante observar que a
direção da propagação da luz é a mesma em todas as direções
para uma onda plana perfeita, mas em uma onda com
anomalias a direção da propagação da luz varia dentro da
frente de onda. Conseqüentemente, este sistema pode ser
usado para determinar a forma de propagação da frente de
onda de luz, pela análise da localização dos pontos
registrados pelo sensor CCD [6]. A Fig. 1 mostra a reflexão
de uma frente de onda (wavefront) distorcida em um olho
amétrope. Os raios de luz refletidos em um olho imperfeito,
não são paralelos. Conseqüentemente, ao atingir o conjunto
de microlentes, eles irão focar as imagens dos pontos
desordenadamente. Pela análise exata da localização de cada
ponto neste conjunto desordenado é possível calcular a
inclinação (slope) da frente de onda com anomalia em relação
ao conjunto de lentes, chegando-se finalmente a forma desta
anomalia [7].
Fig. 1. Princípio da frente de onda [7].
III. MÁQUINAS DE SUPORTE VETORIAL
No decorrer do desenvolvimento das técnicas de AM,
diversos pesquisadores se inspiraram nos sistemas biológicos
para desenvolverem as redes neurais artificiais, cujos
conceitos são baseados nos mecanismos de aprendizado
cerebrais, e os algoritmos genéticos, que têm seus conceitos
inspirados no processo de evolução natural e na genética. No
campo de aprendizado simbólico, têm-se as árvores de
decisão, e inspirado nos processos cognitivos houve o
desenvolvimento dos sistemas de raciocínio baseado em casos
(RBC). As Máquinas de suporte vetorial, por sua vez,
fundamenta-se em teorias estatísticas.
As SVMs (Support Vector Machines – Máquinas de
suporte vetorial) constituem uma família de algoritmos de
aprendizado que vem recebendo grande atenção nos últimos
anos [29]. Elas foram desenvolvidas a partir de 1992 pela
equipe do pesquisador Vladimir Vapnik [9] e seus
fundamentos são provenientes da teoria de aprendizagem
estatística apresentada nas décadas de 60 e 70 por Vapnik e
Chernovenkis [8].
Vapnik idealizou o princípio indutivo de Minimização do
Risco Estrutural (Structural Risk Minimization – SRM) que
busca minimizar o erro do conjunto de treinamento (risco
empírico), juntamente com o erro do conjunto de teste.
Segundo Vapnik, a motivação para esse princípio surgiu da
necessidade de desenvolver limites teóricos para a capacidade
de generalização dos sistemas de aprendizagem. Uma maior
generalização normalmente implica em um maior número de
acertos na fase de teste. No caso do princípio de Minimização
do Risco Empírico utilizado em RNAs a generalização é
obtida pela escolha de pesos para os neurônios de modo a
prover um erro de treinamento mínimo [28]. No entanto,
somente a Minimização do Risco Empírico não fornece bons
resultados. É preciso considerar o Risco Estrutural, pois
quanto maior esse risco, mais complexo é o hiperplano de
decisão dessas funções no espaço de entrada dos dados [30].
Obter um equilíbrio entre ambos os erros permite superar
tendências de excesso de ajustes (overfitting) e melhorar a
capacidade de generalização.
As SVMs podem ser consideradas máquinas de
aprendizagem com apenas uma camada escondida, treinadas
por um algoritmo supervisionado. Seu treinamento é
relativamente simples, e requer a resolução de um problema
quadrático, dependente dos vetores de treinamento e de
alguns parâmetros especificados pelo usuário. É feito um
mapeamento não-linear dos dados em um espaço de dimensão
elevada onde um hiperplano ótimo (com a maior margem de
separação possível) possa ser construído, permitindo a
separação das classes positivas e negativas ou a utilização da
máquina para regressão.
A SVM possibilita a abordagem dos problemas de duas
formas. Na primeira, não são considerados erros de
classificação, ou seja, padrões que por ventura estejam fora
dos valores típicos de sua classe irão desviar o hiperplano de
separação de forma que este padrão (incorreto) seja
classificado como correto. Na segunda, são estabelecidas
variáveis de folga, de forma que padrões fora dos valores
típicos da sua classe podem ser desconsiderados, dependendo
da quantidade de folga que se use, diminuindo assim a
probabilidade de erro de classificação. Algumas das
principais características das SVMs que justificam sua
utilização são [10]:
o Boa capacidade de generalização - os classificadores
gerados por uma SVM em geral alcançam bons resultados
em termo de generalização. Essa capacidade é medida por
sua eficiência na classificação de dados que não
pertençam ao conjunto utilizado em seu treinamento,
portanto, é evitado o overfitting (memoriza os padrões de
treinamento, gravando suas peculiaridades e ruídos, ao
V. NETTO: SYSTEM BASED ON COMPUTATIONAL INTELLIGENCE
invés de extrair as características gerais que permitirão a
generalização ou reconhecimento de padrões não vistos
durante o treinamento).
o Robustez em grandes dimensões – as SVMs são
robustas diante de objetos de grandes dimensões, como
por exemplo, imagens. Comumente há a ocorrência de
overfitting nos classificadores gerados por outros métodos
inteligentes sobre esses tipos de dados.
o Teoria bem definida – as SVMs possuem uma base
teórica bem estabelecida dentro da Matemática e
Estatística.
Dentre as várias técnicas conhecidas de AM
potencialmente aplicáveis, as SVMs possuem características
que justificam a sua utilização no contexto deste projeto [24].
As SMVs têm boa capacidade de generalização; robustez
diante de objetos de dimensões elevadas, como imagens;
convexidade da função objetivo, isto é, possui apenas um
mínimo global; capacidade de lidar com dados ruidosos e
uma base teórica bem estabelecida na Matemática e
Estatística. As SVMs têm sido muito utilizadas em aplicações
recentes, com resultados comparáveis aos obtidos por outros
algoritmos de aprendizado, como RNAs, tendo se mostrado
superiores em algumas tarefas. É o caso de reconhecimento
de caracteres [11] [25], detecção de faces humanas em
imagens [12] [26] e reconhecimento de pessoas pelas
características da cor e forma do corpo [27].
Apesar do bom desempenho em diversas aplicações,
algumas ressalvas devem ser feitas com relação à
complexidade computacional na busca por soluções, da ordem
de n2 a n3, em que n é o número de exemplos de treinamento.
Apesar de polinomial, esse valor pode ser significativo em
aplicações em que o volume de dados é grande. Porém, os
tempos de treinamento são consideravelmente menores do
que em outros algoritmos de aprendizagem. Outro problema é
a forma como o conhecimento é adquirido e codificado pelos
classificadores gerados por SVMs. Esse conhecimento não é
facilmente interpretado, o que é uma desvantagem sobre
outras técnicas de AM como as árvores de decisão, que
organizam o conhecimento adquirido em uma estrutura
diretamente interpretável [31].
IV. METODOLOGIA E RESULTADOS
O desenvolvimento do projeto envolveu três fases distintas
que são apresentadas na Tabela 1.
Fase 0 Sistema de aquisição das imagens oftalmológicas por meio
da técnica de Hartmann-Shack realizada pela Universidade
de Indiana (EUA).
Fase 1 Realização do pré-processamento (módulo de préprocessamento) e extração de características (módulo de
extração de característica) das imagens adquiridas na fase
0.
Fase 2 Reconhecimento e análise dos dados obtidos na fase 1, por
meio de técnicas de aprendizado de máquina (módulo de
análise).
Tab. 1. Fases envolvidas no projeto do sistema de medição.
393
Para aquisição das imagens foi utilizado um equipamento
chamado “Aberrometer” construído na School of Optometry
da Indiana University que opera baseado nos princípios de
Hartmann-Shack. Foram adquiridas imagens dos olhos de
100 pacientes, cujas pupilas foram dilatadas e a acomodação
paralisada com a aplicação de ciclopentalato (0.5%, uma
gota), sendo três imagens do olho direito (OD) e três do olho
esquerdo (OS), totalizando seis imagens por paciente (600
exemplos) [13]. Cada imagem é identificada por um rótulo
em que consta o número do paciente, o olho (direito ou
esquerdo) e o número da aquisição, por exemplo,
24o64_OD1. Cada imagem é associada a três medidas,
esférica (S), cilíndrica (C) e eixo do astigmatismo (A), que
caracterizam os vícios refrativos do olho correspondente.
Uma medida S negativa indica que o olho diagnosticado sofre
de miopia (dificuldade de enxergar à distância), e quando
positiva indica a presença de hipermetropia (dificuldade de
enxergar de perto). As medidas C e A estão relacionadas ao
astigmatismo e ao eixo do astigmatismo, respectivamente
(visão distorcida, tanto de longe quanto perto).
Essas medidas são utilizadas no treinamento dos
algoritmos de AM, e foram obtidas pelo algoritmo
desenvolvido por pesquisadores da equipe de Optometria da
Universidade de Indiana [32], o qual é baseado no princípio
do polinômio de Zernike [23]. As medidas associadas às
imagens do banco têm resolução de 0.25 D para S e C, com
valores para esférica (S) variando no intervalo entre -1.75 D e
+0.25 D, e com valores para cilíndrica (C) variando entre 0.0
D e 1.25 D; valores do eixo do astigmatismo (A) variam entre
0º e 180º, com resolução de 5o. O banco é constituído de
imagens em tons de cinza (grayscale) com resolução de 536 x
414 pixels.
A aquisição de imagens oftalmológicas por meio do
“Aberrometer” não gera imagens em um padrão que permita
a sua utilização direta pelo sistema proposto, dessa forma, se
faz necessário uniformizá-las e posteriormente retirar
características (ruídos) que poderiam distorcer os resultados
do módulo de extração de características. Para isto, foram
desenvolvidos módulos computacionais baseados nos métodos
de análise de histograma e informação espacial e geométrica
do domínio da aplicação [14].
O pré-processamento das imagens engloba duas fases. A
primeira consiste em centralizar o círculo de HS, que
corresponde ao diâmetro da pupila e à região de interesse
para a análise, em uma nova imagem de tamanho padrão.
Esse tamanho padrão foi especificado de acordo com o maior
diâmetro de pupila (maior tamanho do círculo de HS)
encontrado no banco de imagens. A segunda etapa consiste na
eliminação de ruídos devidos às imperfeições e
desalinhamento óptico no equipamento de aquisição [24].
Na Fig. 2 é apresentada uma visão geral do processamento
efetuado por esse módulo.
394
IEEE LATIN AMERICA TRANSACTIONS, VOL. 3, NO. 5, DECEMBER 2005
Fig. 2. Operações efetuadas pelo módulo de pré-processamento das imagens
oftalmológicas [24].
Após o pré-processamento, é realizada uma extração de
características com o objetivo de reduzir o número de
atributos de entrada para o módulo de análise sem perder
informações relevantes. Da análise multivariada foi
implementada a técnica da PCA (Principal Component
Analysis) [15]. Foram montados quatro vetores de
características distintos, com diferentes números de atributo.
Para isto, foi implementado um aplicativo para gerar
automaticamente o vetor de características de cada uma das
imagens da base original, processando toda a base sem
intervenção do usuário. Esse aplicativo recebe como entrada,
os vetores de pixels que representam as imagens de HS já préprocessadas, e gera como saída, os vetores de características.
Esses vetores contêm valores numéricos gerados pela PCA. A
PCA transforma um grupo de variáveis correlacionadas (caso
dos pixels) em variáveis não correlacionadas. A PCA é um
dos métodos estatísticos multivariados em que dadas p
variáveis X1, X2, ..., Xp, busca-se encontrar combinações
lineares destas para produzir índices Z1, Z2, ..., Zp não
correlacionados.
O tempo de processamento para extrair as características
de todas as imagens da base utilizando a PCA foi de
aproximadamente três horas, uma média de 25 segundos por
extração. O hardware utilizado foi um Pentium III 500MHz
com 512MB de memória RAM.
Observando-se as três medidas – esférica (S), cilíndrica
(C) e eixo do astigmatismo (A) – associadas a cada imagem
de HS que caracterizam os vícios refrativos verificou-se dois
problemas que prejudicaram seriamente o treinamento do
algoritmo de aprendizado no módulo de análise. O primeiro
problema está relacionado à presença de medidas ambíguas
de S, C e A associadas a múltiplas imagens do mesmo olho.
Em muitos casos existe uma grande diferença entre as três
imagens do mesmo olho de um mesmo paciente, e cada uma
delas está associada a medidas diferentes de S, C e A. Por
exemplo, o olho direito (OD) do paciente “24o6p” possui as
três medidas de S bastante diferentes. Essa diferença é
salientada quando são utilizadas as medidas no padrão de
“Auto Ref”, as quais são calculadas a partir das medidas
originais do banco de imagens [24].
O padrão “Auto Ref” utilizado para apresentar a saída
adota a resolução da saída utilizada por vários auto-refratores
comerciais, nos quais as medidas são apresentadas com
resolução de 0.12 ou 0.25 Dioptrias para miopia,
hipermetropia (esférica) e astigmatismo (cilíndrica); e de 5o
para o eixo do astigmatismo. São essas as medidas utilizadas
no treinamento dos algoritmos de AM. Para treinar
adequadamente o módulo de análise seria importante que as
três medidas de um mesmo olho fossem semelhantes. Uma
alternativa, caso exista dificuldade de replicabilidade na
metodologia de obtenção das medidas, seria aumentar o
número de exemplos por olho (por exemplo, 30 imagens). A
existência de poucos exemplos muitas vezes dificulta a
geração de um bom modelo estatístico baseado em padrões, o
que diminui as chances de um desempenho adequado na fase
de generalização por um sistema baseado em AM.
A segunda limitação do banco de imagens é
conseqüência direta do primeiro problema, e é o ruído
presente nos valores medidos. Por exemplo, existiam medidas
de paciente que a diferença entre os valores apresentados para
a saída S, C e A estavam acima do erro permitido. Para ser
aceita, as diferenças nas medidas devem estar dentro da
margem de erro permitida pela resolução do equipamento de
aquisição das imagens, que para S e C é de ±0.25 Dioptrias
(D), e para A é de ±5 graus (o). Em muitas das imagens do
banco foi possível verificar essa variação superior à margem
de erro tolerada. Existem casos graves em que a diferença
entre as medidas chega a ser de 0.75 D para S, 0.5 D para C e
70o para A [24]. Diante desse fato, foram retirados do banco
de imagens original os exemplos referentes a um mesmo olho
cujas medidas apresentavam diferença superior a 0.25 D para
S e C, e superior a 5o para A. O banco de imagens resultante
ficou com 426 exemplos.
Em vista das limitações do banco de imagens optou-se por
investigar o algoritmo SVM para a implementação do módulo
de análise. Como discutido anteriormente, as SVMs possuem
uma boa capacidade de generalização por seguir o princípio
de minimização do risco estrutural, ao invés do princípio de
minimização do risco empírico empregado por RNAs
convencionais. A minimização do risco estrutural reduz o
erro de generalização, enquanto o risco empírico minimiza o
erro de treinamento [28].
O módulo de análise utilizando SVM foi implementado
baseando-se na ferramenta Torch, (linguagem C) para a
plataforma LINUX [33]. Nos experimentos foram
manipulados os seguintes parâmetros do modelo SVM: o tipo
de kernel (linear, polinomial, Gaussiano e sigmoidal), o
critério de parada e os parâmetros dos kernels. Foi
desenvolvido um algoritmo para gerar automaticamente
diferentes combinações de valores possíveis para o conjunto
de parâmetros, inclusive ajustando os parâmetros específicos
dos kernels [24] e, posteriormente, treinar o modelo
resultante com o sub-conjunto de treinamento e validação.
Outro programa obtém a medida de desempenho (estimativa
de erro) para o modelo definido pelo conjunto de parâmetros
V. NETTO: SYSTEM BASED ON COMPUTATIONAL INTELLIGENCE
sendo testado, utilizando o sub-conjunto de teste. O conjunto
de parâmetros do modelo que apresentou a melhor medida de
desempenho foi armazenado para posterior utilização no
módulo de análise. Devido ao grande número de combinações
possíveis para os parâmetros, os treinamentos e a verificação
do melhor modelo demandaram um longo tempo e esforço.
Para estimar o erro foi adotado o método de reamostragem
aleatória (random resampling), isto é, o conjunto de dados
original com 426 exemplos foi particionado 10 vezes em dois
subconjuntos, um sub-conjunto de treinamento e validação
com 80% dos exemplos, e um sub-conjunto de teste com 20%
dos exemplos. Essas 10 partições foram montadas
aleatoriamente e têm como objetivo aumentar a significância
estatística dos resultados. Na montagem dos subconjuntos
procurou-se manter uma distribuição uniforme dos exemplos
de cada medida de S, C e A.
Quando o aprendizado é tratado como um problema de
classificação, uma medida de desempenho comumente usada
é a taxa de erro do classificador. Usualmente, a taxa de erro
compara a classe verdadeira de cada exemplo com a classe
atribuída pelo classificador h. O operador ||E|| retorna 1 se a
expressão E for verdadeira, e zero caso contrário; n é o
número de exemplos. Para problemas de regressão, o erro
pode ser estimado calculando-se a distância entre o valor real
e o valor atribuído pelo classificador. Usualmente, a medida
adotada é o erro quadrático médio (mean squared error –
MSE) [34].
A arquitetura adotada no experimento é apresentada na
Figura 3 Para cada uma das medidas S, C e A foi treinado um
modelo de SVM. É possível observar na figura que,
inicialmente, o processo de aprendizado foi tratado como um
problema de regressão, isto é, foram utilizadas SVMs para
regressão e as saídas S, C e A consistem, cada uma, em um
valor contínuo estimado para cada uma das medidas. Por
exemplo, a SVM para estimar S possui como entrada um
vetor de características de 6400 atributos extraídos utilizando
PCA e gera como saída um valor real. Posteriormente, este
valor é convertido no padrão de medida “Auto Ref”, que
apresenta o valor segundo a resolução de um auto-refrator
comercial, de 0,25 D.
395
Os erros médios obtidos com os conjuntos de teste
definidos pelas 10 partições pelas melhores configurações de
SVM, para cada uma das medidas S, C e A são mostrados na
Tabela 2. A segunda coluna da tabela apresenta a quantidade
de exemplos de cada uma das medidas presentes em cada
conjunto de teste. Na coluna com o título “Medida exata” são
apresentadas as taxas médias (em porcentagem) e o desvio
padrão (em porcentagem) do erro das SVMs para as medidas
de S, C e A. A coluna com o título “Propagação do erro”
também apresenta o erro médio e desvio padrão, porém
considerando uma tolerância do erro das medidas de S e C de
±0.25 D, e uma tolerância do erro de A de ±5o. Isso significa
que, se uma medida S ou C possui valor igual a 0.5 D, são
computados como acertos do classificador os valores 0.5 D,
0.25 D ou 0.75 D. Para uma medida A cujo valor exato é 30o
são computados como acertos os valores 30o, 25o ou 35o.
Tab. 2. Desempenho das melhores configurações de SVM para a arquitetura
regressiva.
Alternativamente a uma arquitetura para regressão,
decidiu-se investigar se uma arquitetura de SVM para
classificação (Figura 4) apresentaria melhor desempenho, e o
módulo de análise foi alterado para tratar o problema de
aprendizado como um problema de classificação. Com isso,
ao invés de aproximar um valor de saída as SVMs devem
associar uma imagem a uma das classes de saída. O conjunto
de medidas de S foi separado em 9 classes, correspondentes a
cada grupo de medidas entre -1.75 D e +0.25 D, com
intervalos de 0.25 D; o conjunto de medidas C foi separado
em 6 classes, correspondentes a cada grupo de medidas entre
0.0 D e 1.25 D, com intervalos de 0.25 D; e o conjunto de
medidas de A foi separado em 25 classes.
Fig. 4. Módulo de análise para classificação [24].
Fig. 3. Módulo de análise proposto inicialmente com medidas regressivas. [24].
As saídas de S, C e A são representadas por vetores de 9, 6
396
IEEE LATIN AMERICA TRANSACTIONS, VOL. 3, NO. 5, DECEMBER 2005
ou 25 elementos, respectivamente, em que cada elemento do
vetor corresponde a uma classe na posição correspondente.
Por exemplo, a posição 1 do vetor está associada à primeira
classe das medidas, a posição 2 à segunda classe das medidas,
e assim por diante. Assim, uma SVM para medir S possui
como entrada um vetor de 6400 atributos e como saída um
vetor de 9 elementos: a posição do maior dos 9 elementos do
vetor de saída indica a correspondente classe da saída. Os
resultados obtidos com as melhores configurações da
arquitetura de classificação, para cada uma das medidas, são
mostrados na Tabela 3. Trata-se de SVMs com núcleo
gaussiano, porém com parâmetro c (limite entre o erro de
treinamento e a margem) apresentando, respectivamente, os
valores 100, 3 e 100, e o parâmetro std do núcleo gaussiano
com valor 18, 25 e 22 respectivamente para as saídas S, C e
A.
Tab. 3. Desempenho das melhores configurações de SVM para a arquitetura de
classificação.
Os resultados obtidos com a transformação do problema de
regressão em um problema de classificação apresentaram uma
melhora, porém insuficiente para garantir um bom
desempenho do sistema de medição. Optou-se, então, por
aumentar a quantidade de atributos do vetor de características
fornecido como entrada. Foram testadas três variações, com
1400 (resultados de erro médio e desvio padrão na Tabela 4),
14000 (resultados na Tabela 5) e 28000 atributos (resultados
na Tabela 6). Como podem ser observados, os resultados
apresentados foram inferiores ou semelhantes aos obtidos
utilizando-se 6400 atributos. Por isso, foi mantida a
configuração inicial (6400 atributos).
Na Tabela 4, para as medidas S e C, tem-se SVMs com
núcleo gaussiano, com parâmetro c apresentando,
respectivamente, os valores 1 e 2, e o parâmetro std do núcleo
gaussiano o valor 7000. Para a medida A, tem-se uma SVM
com núcleo linear, com parâmetro c apresentando o valor 0,1;
e o parâmetro h o valor 300. Na Tabela 5, para as medidas S,
C e A, tem-se uma SVM com núcleo gaussiano, com os
parâmetros c e std, respectivamente com os valores 100 e 20,
valores default do simulador SVMTorch, os valores default
foram aqueles que garantiram uma melhor classificação pela
SVM em análise. A Tabela 6 apresenta SVMs com núcleo
gaussiano para as medidas S, C e A, com o parâmetro c
apresentando o valor 2, e o parâmetro std do núcleo gaussiano
apresentando o valor 100 para as saídas S e C e 7000 para a
saída A.
Tab. 5. Resultados da arquitetura de classificação com 14000 atributos.
Tab. 6. Resultados da arquitetura de classificação com 28000 atributos.
Com o intuito de verificar quanto os resultados obtidos são
influenciados pelo desbalanceamento das classes, i.e., pelas
diferentes quantidades de exemplos por classe, buscou-se
balancear a quantidade de exemplos de cada classe de
medidas antes de apresentá-los ao módulo de análise. Foram
montadas 10 novas partições dos exemplos de entrada,
contendo dois conjuntos cada: um conjunto de treinamento e
validação, com 80% dos exemplos, e um conjunto de teste,
com 20% dos exemplos. Para as medidas de S e C os
conjuntos foram constituídos por classes com mais de 30
exemplos, e para as medidas de A os conjuntos foram
constituídos por classes com mais de 25 exemplos. Foram
escolhidas cinco classes para S, quatro classes para C e quatro
classes para A. Os resultados obtidos podem ser observados na
Tabela 7 que apresenta SVMs com núcleo gaussiano para as
medidas S, C e A, com o parâmetro c apresentando o valor 4,
e o parâmetro std do núcleo gaussiano apresentando o valor
85 para as saídas S e C e 5500 para a saída A.
Tab. 7. Resultados da arquitetura de classificação com balanceamento artificial
(6400 atributos).
Os resultados obtidos indicam a importância de balancear
o banco de imagens para facilitar o treinamento e,
conseqüentemente, obter um melhor desempenho na fase de
teste, principalmente se existir um grande número de classes
(observar a diferença entre os resultados da medida A). Este
fator deve ser levado em consideração no momento da
construção de um banco de imagens para teste. Contudo,
observou-se que os resultados da medida C foram inferiores
aos resultados apresentados na Tabela 3. Isso pode estar
ocorrendo devido a duas das classes originais (medidas iguais
a 0.25 e 0.50, na Tabela 3) possuírem uma quantidade de
exemplos muito elevada em comparação às demais classes. O
alto índice de acerto é decorrente da maior quantidade de
exemplos dessas classes nos conjuntos de teste.
V. CONSIDERAÇÕES FINAIS
Tab. 4. Resultados da arquitetura de classificação com 1400 atributos.
Uma motivação para investigar técnicas de AM para o
reconhecimento e análise das imagens HS no contexto deste
projeto foi a busca por um sistema de medição capaz de
V. NETTO: SYSTEM BASED ON COMPUTATIONAL INTELLIGENCE
interpretar o conteúdo das imagens como um todo, ao invés
de fazer a medição pela comparação de dados discretos
extraídos da imagem com dados extraídos de uma imagem de
referência, como é feito atualmente por especialistas em
Optometria utilizando técnicas como os polinômios de
Zernike [23]. Nessas abordagens convencionais, muitas
informações contidas nas imagens são ignoradas no processo
de análise [5] [16]. Uma abordagem baseada na análise do
conteúdo da imagem permitirá, no futuro, que além dos vícios
refrativos sejam detectadas outras enfermidades do olho
humano a partir das imagens de HS, como é o caso do “Tears
Film Breakup” [16].
Apesar das limitações da base de dados utilizada, haja
vista que ela não foi aquisicionada levando em consideração
pontos importantes (balanceamento, quantidade de
exemplares por classes e ausência de ambigüidades) para sua
utilização em um módulo de análise baseado em técnicas de
aprendizagem de máquina. O comportamento das SVMs
demonstraram que as mesmas conseguem responder bem as
adversidades de um banco de dados obtidos por um sistema
real. Na área médica, muitas vezes, é difícil obter um espectro
adequado onde todas as classes estão representadas com
quantidades suficientes para que se tenha um excelente
desempenho no módulo de análise.
Observando a facilidade das SVM de relacionar suas
saídas com os dados que são usados para supervisioná-las, é
possível vislumbrar uma excelente oportunidade no momento
que se deseja reproduzir em um sistema computacional de
baixo custo, resultados obtidos com sistema complexos e
custosos. Por exemplo, poderia se detectar e diagnosticar uma
doença ocular utilizando uma complexa parafernália e depois
tentar relacionar por meio de uma imagem ou de dados
vindos de sensores específicos esta doença utilizando SVM.
Para as imagens de Hartmann-Shack, ao invés dos dados
obtidos com o medidor de anomalia (“aberrometer”)
convencional para alimentar a base de dados a ser utilizada
para supervisionar o módulo de análise, poderia se utilizar
um outro sofisticado aparelho para adquirir estes dados. Este
aparelho sofisticado é muito caro para se ter uma versão
comercial. Contudo, poderia se ter toda a sua característica e
precisão relacionada com uma imagem do olho humano (por
exemplo, com a imagem de Hartmann-Shack), utilizando
para isso um módulo de análise baseado em técnicas de
aprendizagem de máquina.
Por se tratar de um trabalho pioneiro, existem muitas
oportunidades de continuidade na área de atuação do projeto.
Um dos primeiros trabalhos sugeridos seria a investigação de
outras técnicas de extração de características. Como o objetivo
da extração de características é diminuir os atributos de
entrada para o módulo de análise, poderia ser testada uma
compressão de imagens baseada em transformadas de wavelet
(Wavelet compression), como Daubechies, que é um dos
métodos mais eficientes de compressão de imagens. Seria
interessante verificar o comportamento do módulo de análise
com os atributos fornecidos por essa técnica e comparar os
resultados aos obtidos com a PCA. Um outro trabalho
interessante está vinculado ao estudo das relações entre os
vetores de características gerados pelas técnicas aplicadas e as
397
medidas (no caso do projeto, os valores de S, C e A) utilizadas
para supervisionar o treinamento dos algoritmos de AM.
Entender esta relação pode ser fundamental no momento em
que se estiver buscando extrair outros tipos de informações
das imagens de HS. Outro ponto a ser pesquisado é a
influência do diâmetro do olho na imagem de HS analisada.
Ele poderia ser utilizado como uma medida de supervisão
adicional do módulo de análise, juntamente com S, C e A. É
interessante saber se essa informação é significativa no
processo de reconhecimento dos vícios refrativos, ou mesmo
na análise de outros problemas oculares.
Para evitar a dependência, no momento da análise das
imagens, com relação a alguma característica imposta pelo
treinamento supervisionado, como é o caso da resolução das
medidas de miopia, hipermetropia e astigmatismo, sugere-se
utilizar um módulo de análise baseado em redes neurais não
supervisionadas (redes Self-Organising). Dessa forma, a
própria rede trataria de identificar as classes utilizando
características encontradas na própria imagem.
Abstraindo as informações deste projeto, é possível
imaginar um sistema adaptado utilizando técnicas de
aprendizado de máquina para análise de outras imagens
oftalmológicas com o intuito de identificar outros problemas
oculares, como por exemplo, imagens provenientes das
técnicas: Fluorescein, Retro-illumination e Optical scatter
map [7]. Além disso, a própria imagem fornecida pelo
Hartmann-Shack pode estar oferecendo este tipo de desafio,
como é o caso do já citado “Tear Film Breakup”.
VI. AGRADECIMENTOS
O autor agradece ao Professor Ph.D. Larry Thibos da
School of Optometry - Indiana University - USA, pelo auxílio
com informações da área de Optometria e pela liberação do
banco de imagens de Hartmann-Shack, e a Profa. Ph.D.
Maria Cristina F. de Oliveira e o Prof. Ph.D. André P. L. F.
Carvalho do Instituto de Ciências Matemática e de
Computação da Universidade de São Paulo (ICMC/USP).
Também agradecer o suporte financeiro da FAPESP
(processos: 00/04779-2, 01/09540-0 e 02/08038-2).
VII. REFERÊNCIAS BIBLIOGRÁFICAS
[1] Ventura, L. et al. (1996). Desenvolvimento de um
software para a determinação automática de miopia,
hipermetropia e astigmatismo oculares, Revista de Física
Aplicada e Instrumentação, vol. 11, n. 2, p. 77-83, junho.
[2] Mitchell, T. (1997). Machine Learning. McGraw Hill.
[3] Valerio Netto, A. & Oliveira, M. C. F. (2002). Using
neural nets to measure ocular refractive errors - a
proposal, Proceeding SPIE - Applications and Science of
Neural Networks, Fuzzy Systems, and Evolutionary
Computation, Seattle – EUA, December.
[4] Egmont-Petersen, M. et al. (2002) Image processing with
neural networks – a review, Pattern Recognition, v. 35,
pp. 2279-2301, October.
[5] Valerio Netto, A. (2001). Proposal to use artificial
intelligence in the field of ophthalmology, Oxyopia:
398
Vision Science Seminar – Indiana University (IU),
Indiana - USA, October.
[6] Thibos, L. N. & Hong, X. (1999). Clinical applications of
the shack-hartmann aberrometer, Optometry and vision
science, vol. 76, no. 12, pp. 817-825.
[7] Thibos, L. N. (2000). Principles of hartmann-shack
aberrometry, Wavefront Sensing Congress, Santa Fe.
http://www.opt.indiana.edu/people/faculty/thibos/VSIA/
VSIA-2000_SH_tutorial_ v2/index.htm
[8] Vapnik, V. N. & Chervonenkis, A. (1968). On the
uniform convergence of relative frequencies of events to
their probabilities. Theory of probability and
applications, (16):262-280.
[9] Vapnik, V. et al. (1992). A Training Algorithm for
Optimal Margin Classifiers. In Fifth Annual Workshop
on Computational Learning Theory, Pittsburgh.
[10] Smola, A. J. et al. (1999). Advances in large margin
classifiers. MIT Press.
[11] Dummais, S. (1998). Using SVM for text categorization.
IEEE Intelligence Systems, pages 21-23.
[12] Fernadez, R & Viennet, E. (1999). Face identification
using support vector machines, Proc. of the European
symposium on artificial neural networks, pp. 195-200,
Brussels, D-Facto Press.
[13] Thibos, L. N., et al. (2002). Statistical variation of
aberration structure and image quality in a normal
population of healthy eyes, JOSA A, Volume 19, Issue
12, pp. 2329-2348.
[14] Sonka, M.; Hlavac, V.; Boyle, R. (1999). Image
processing, analysis, and machine vision. Second ed.
PWS Publishing.
[15] Johnson, R.A. & Wichern, D. (1982). Applied
multivariate statistical analysis, 2nd edition, PrenticeHall, New Jersey.
[16] Himebaugh, N. et al. (2001). Comparison of Fluorescein
and Hartmann-Shack wavefront sensing methods for
monitoring tear film breakup, http://research.opt.
indiana.edu/
[17] Steinberg, C. S. (2002). Eye exam tests.
http://www.visioncare.com/cityeyes/tests.htm
(November).
[18] Canon (2002). RK-5 auto ref-keratometer - Take the next
step, Canon Inc., http://www.canom.com (November).
[19] Nidek (2002). Auto refractometers AR-600, ARK-700
and AR-660, http://www.nidek.com, (August).
[20] Topcon (2002). Bringing the future into focus,
http://www.topcon.com/auto.htm (August).
[21] Uras, R. (1995). Analise comparativa da refração
automática objetiva com refração clínica, Tese
(Doutorado), UNIFESP, Escola Paulista de Medicina,
São Paulo – SP, 79 Pp.
[22] Santos, J. F. et al.. (1998). Estudo comparativo entre dois
métodos de refração: objetiva e subjetiva, Revista
Brasileira de Oftalmologia, vol. 57, n. 2, fevereiro.
[23] Liang, J., et al. (1994). Objective measurement of wave
aberrations of the human eye with the use of a HartmannShack wave-front sensor. J. Opt. Soc. Am., Vol. 14, No.
11/ July, pp. 1949-1957.
IEEE LATIN AMERICA TRANSACTIONS, VOL. 3, NO. 5, DECEMBER 2005
[24] Valerio Netto, A. (2003). Processamento e análise de
imagens para medição de vícios de refração ocular, Tese
de doutorado, ICMC/USP, São Carlos, julho, p. 145.
[25] Lecun. Y. A et al. (1995). Comparison of learning
algorithms
for
handwritten
digit
recognition.
Proceedings of the international conference on artificial
neural networks, vol. 2, pages 53-60, Nanterre, France.
[26] Osuna, E. (1998). Applying SVMs to face detection,
IEEE Intelligence Systems, pp. 23-26.
[27] Nakajima, C. et al. (2002). Full-body person recognition
system, Pattern Recognition, September, 15 Pp.
[28] Vapnik, V. (1995). The Nature of Statistical Learning
Theory, Springer-Verlag, New York.
[29] Schölkopf, B. (1998). SVMs – a practical consequence of
learning theory. IEEE Intelligence Systems, pp. 36-40,
July.
[30] Cherkassky, V. & Mulier, F. (1998). Learning from data.
Concepts, theory and methods. John Wiley and Sons,
Inc.
[31] Cristianini, N & Shawe-Taylor, J. (2001). An
introduction to support vector machines and other kernelbased learning methods. Cambridge University Press.
[32] Hong, X. et al. (2002). Shack-Hartmann data analysis
software for MATLAB http://research.opt.indiana.edu/
Library/SHtoolkit/README.html
[33] Torch (2002). Torch: a modular machine learning
software library. http://www.torch.ch/
[34] Monard, M. & Baranauskas, J. (2003). Conceitos sobre
aprendizado de máquinas em Sistemas Inteligentes:
Fundamentos e Aplicações. Cap. 4., Editora Manole.
VIII. BIBLIOGRAFIA
Antonio Valerio Netto é doutor em ciência da
computação e matemática computacional pelo Instituto
de Ciências Matemáticas e de Computação da
Universidade de São Paulo (ICMC/USP). Iniciou sua
carreira como técnico em informática industrial
(ETEP). Posteriormente, formou-se bacharel em
ciência da computação pela Universidade Federal de
São Carlos (UFSCar) e mestre em engenharia pela
Universidade de São Paulo (EESC/USP). Em 2001 foi
pesquisador visitante na Universidade de Indiana
(EUA). Trabalhou vários anos como engenheiro de desenvolvimento em
empresas de alta tecnologia e posteriormente, como consultor de novas
tecnologias da Debis Humaitá, empresa do grupo DaimlerChrysler, e T-Systems
do Brasil, empresa do grupo Deutsche Telekom. Atualmente, é sócio fundador
da Cientistas Associados Desenvolvimento Tecnológico Ltda. onde ocupa o
cargo de gerente da divisão de tecnologia. Possui em torno de 70 publicações
entre livro, capítulos de livro, revistas e congressos internacionais e nacionais nas
áreas de computação e engenharia. Participou de diversos projetos tecnológicos
financiados pelo governo e instituições privadas. Recebeu diversos prêmios e
menções honrosas, como a do SAE (Society of Automotive Engineers) Brasil
2001 – melhor paper técnico na categoria projetos. Suas áreas de interesse são:
sistemas interativos; simulação visual; aquisição, processamento e análise de
imagens digitais; sistemas inteligentes e desenvolvimento de negócios na área de
tecnologia.
Download

PDF Full-Text