Técnicas de Aprendizado de Máquina para análise de imagens

Propaganda
Técnicas de Aprendizado de Máquina para análise de imagens
oftalmológicas
Giampaolo Luiz Libralão
Rodrigo Mithuhiro Oshiro
Antonio Valerio Netto
André Ponce de L. F. de Carvalho
Maria Cristina F. de Oliveira
Instituto de Ciências Matemáticas e de Computação - ICMC
Universidade de São Paulo - USP
Av Trabalhador São-carlense, 400 – CEP 13560-970, São Carlos – SP, Brasil.
{giam, oshiro}@grad.icmc.usp.br, {aneto, andre, cristina}@icmc.usp.br
Resumo
Este artigo relata a aplicação de técnicas de Aprendizado de Máquina (AM) para diagnosticar vícios refrativos
(miopia, hipermetropia e astigmatismo) do olho humano. São usadas imagens adquiridas por uma técnica
específica chamada Hartmann-Shack (HS) ou Shack-Hartmann (SH) para o desenvolvimento do sistema. Estas
imagens são pré-processadas utilizando-se análise de histograma e de informações espaciais e geométricas do
domínio da aplicação. Posteriormente, características relevantes das imagens são extraídas aplicando-se a técnica
de transformada wavelet de Gabor. Finalmente, essas características são analisadas por algoritmos baseados em
Redes Neurais Artificiais (RNAs) e Support Vector Machines (SVMs) para o diagnóstico do olho sob o exame.
Palavras-chave: optometria, hartmann-shack, processamento de imagens, interpretação de imagens,
aprendizagem de máquina, sistemas inteligentes, redes neurais, support vector machines, engenharia biomédica.
Abstract
This article presents the application of Machine Learning (ML) technique to assist ophtalmological diagnosis.
The system developed produces objective and automatic measures of ocular refraction errors, namely myopia,
hypermetropia and astigmatism from functional images of the human eye acquired with a technique known as
Hartmann-Shack (HS) or Shack-Hartmann (SH). Image processing techniques are applied to these images using
histogram analysis and spacial-geometrical information of the application’s domain. The Gabor wavelet
transform technique is applied to extract feature vectors from the images, which are then input to ML techniques
that output a diagnosis of the refractive errors in the imaged eye globe. The ML techniques used are the Artificial
Neural Networks (ANNs) and the Support Vector Machines (SVMs).
Keywords: optometry, hartmann-shack, image processing, image understanding, machine learning, intelligent
systems, artificial neural networks, support vector machines, biomedical engineering.
1. Introdução
O olho humano pode apresentar vícios refrativos, como miopia, hipermetropia e
astigmatismo. Existem diversos meios de diagnosticá-los, entretanto, pouco se descreve sobre
o uso de técnicas de Aprendizado de Máquina (AM) para a realização desse tipo de
diagnóstico. Este artigo relata a aplicação dessas técnicas ao desenvolvimento de um sistema
de medição de vícios refrativos. AM é uma área da Inteligência Artificial cujo objetivo é o
desenvolvimento de técnicas computacionais sobre o aprendizado, bem como a construção de
sistemas capazes de adquirir conhecimento de forma automática. Um sistema baseado em
aprendizado trabalha por meio de experiências acumuladas e de soluções bem-sucedidas de
problemas anteriores [11].
Técnicas de AM, em particular Redes Neurais Artificiais (RNAs) e Support Vector
Machines (SVMs), têm sido aplicadas de forma bem-sucedida em pesquisas e aplicações
práticas nos últimos anos para extrair conceitos (conhecimento) a partir de amostra de dados
[12]. Este trabalho introduz tais técnicas na área de Optometria/Oftalmologia, de forma a
viabilizar o futuro desenvolvimento de abordagens alternativas às existentes para a análise de
problemas oculares. Também busca gerar conhecimento inédito em âmbito nacional em uma
área multidisciplinar (computação, física, optometria e engenharia biomédica), visando, no
futuro, a construção de um equipamento de medição de vícios refrativos.
Este artigo apresenta no capítulo 2 uma introdução à teoria das RNAs e das SVMs. No
capítulo 3 é descrita a metodologia para a preparação das informações necessárias para o
treinamento dos algoritmos de AM e são descritos os experimentos realizados e os seus
resultados. Por fim, no capítulo 4 são apresentadas as considerações finais sobre o trabalho.
2. Aprendizado de Máquina
Pesquisas de AM estudam o desenvolvimento de métodos capazes de extrair conceitos
(conhecimento) a partir de amostras de dados [10]. Existem diversos algoritmos de AM cujo
intuito é permitir que, após um determinado treinamento com um certo conjunto de dados
cujas instâncias têm classificação conhecida, uma máquina seja capaz de interpretar novos
dados e classificá-los de maneira apropriada a partir de uma generalização do que lhe foi
apresentado anteriormente. Alguns algoritmos de AM têm como inspiração os sistemas
biológicos (como as RNAs e os Algoritmos Genéticos), os processos cognitivos (Raciocínio
Baseado em Casos), o aprendizado simbólico (Árvores de Decisão) e as Teorias Estatísticas
(SVMs). Três são os paradigmas que indicam a forma de aprendizado do algoritmo de AM:
• Supervisionado: utiliza supervisores para obter o melhor modelo desejado na fase de
treinamento.
• Não-supervisionado: permite que o algoritmo de AM aprenda a representar ou agrupar
as entradas segundo alguma medida de similaridade entre as entradas.
• Por reforço: o aprendizado ocorre por meio de recompensas, dependendo do
desempenho apresentado.
2.1
Redes Neurais Artificiais
As Redes Neurais Artificiais (RNAs) empregam um modelo matemático inspirado na
estrutura neural dos seres vivos, adquirindo conhecimento por meio da experiência [14]. Elas
são constituídas por um conjunto de nodos, que simulam o papel dos neurônios, conectados
por uma regra de propagação. Cada nodo recebe suas entradas com os pesos associados,
vindos de outros nodos, ou de um estímulo externo. A camada de entrada possui um nodo
especial, chamando de bias, que serve para aumentar os graus de liberdade, permitindo uma
melhor adaptação da rede ao conhecimento a ela fornecido [16]. Sobre estas entradas é
aplicada uma função de ativação, que utiliza como argumento, usualmente, uma somatória
ponderada das entradas da rede. O estado de ativação de um nodo é determinado pela função
de ativação, geralmente uma função sigmoidal ou uma função degrau (Hard Limiter) [13].
Uma camada que recebe sinais externos do ambiente é denominada camada de entrada e uma
camada que emite sinais para o ambiente é denominada camada de saída. Quaisquer outras
são denominadas camadas ocultas e não se conectam diretamente com o ambiente [3]. Na rede
chamada feedforward a propagação do sinal intercamadas é progressiva e toda entrada é
recebida da camada adjacente, com exceção da primeira, em que os sinais de entrada são as
próprias entradas da rede. Na fase de treinamento há a determinação e a correção dos pesos e
dos bias [2].
Neste trabalho é utilizada a rede Radial Basis Function (RBF), cujo valor da ativação de
cada nodo da camada intermediária é dado em função da distância Euclidiana entre os vetores
de entrada e os vetores centro da unidade. Os valores de ativação das unidades internas são
combinados linearmente com os pesos das conexões entre a camada interna e a de saída para
formar a arquitetura da rede [14]. Para o aprendizado, inicialmente, os parâmetros das funções
“base radiais” são determinados por métodos não-supervisionados [14]. Nesse estágio
somente o conjunto de entrada é utilizado para a determinação dos parâmetros das funções de
ativação. Em seguida, as funções de ativação mantêm-se fixas enquanto os pesos da camada
são ajustados, isto é, os pesos da rede são determinados pela solução de um problema linear
[1]. Uma característica das redes RBF é o particionamento do espaço de padrões de entrada
definindo hiper-elipsóides.
2.2
Support Vector Machines
As Support Vector Machines (SVMs) vêm sendo cada vez mais utilizadas na solução de
diversos tipos de problemas, pois têm apresentado resultados equivalentes a outros algoritmos
de AM, como as RNAs, principalmente para soluções de reconhecimento de caracteres,
detecção de faces e imagens e categorização de textos [8]. As principais características
presentes nas SVMs que tornam seu uso atrativo são [15]:
• Boa capacidade de generalização: esta capacidade previne a ocorrência de overfitting,
problema muito comum que existe com as RNAs;
• Robustez em grandes dimensões: o que as tornam uma opção diante de objetos de
grandes dimensões, como imagens;
• Convexidade da função objetivo: a aplicação das SVMs implica na otimização de uma
função quadrática, que possui apenas um mínimo global. Esta é uma vantagem sobre
as RNAs, onde a função objetivo possui mínimos locais;
• Teoria bem definida: a base teórica das SVMs é bem estabelecida dentro da
Matemática e Estatística.
As SVMs possuem diferentes kernels que caracterizam seu modo de reconhecimento dos
padrões sendo os mais utilizados os tipos Linear, Polinomial (que manipula uma função
polinomial cujo grau pode ser definido durante os treinamentos), Gaussiano (corresponde a
um espaço de características de dimensão infinita, a utilização desse tipo de função permite
que a SVM se comporte com características de uma rede RBF) e Sigmoidal (permite que a
SVM tenha o comportamento de uma rede MLP). As diferentes definições do kernel e seus
respectivos parâmetros provocam alterações nos resultados fornecidos por uma SVM.
3. Desenvolvimento e resultados obtidos
O sistema de medição de vícios refrativos proposto por Valerio Netto [12] é composto
por três fases (Tabela 1):
Tabela 1 – Fases do sistema de Medição dos Vícios Refrativos [12].
Fase 0
Fase 1
Fase 2
Aquisição das imagens oftalmológicas por meio da técnica de HS, pelo grupo de
Optometria da Universidade de Indiana (EUA).
Pré-processamento (módulo de pré-processamento) e extração de características
(módulo de extração) aplicadas às imagens adquiridas na fase 0.
Módulo de Análise – Reconhecimento e análise dos dados obtidos por meio de
técnicas de AM.
O processo de aquisição das imagens de HS utilizou um equipamento construído na
School of Optometry (Indiana University - USA) conhecido por “Aberrometer” (Figura 1). As
imagens, após a aquisição, passam por uma fase de pré-processamento, cujo intuito é corrigir
defeitos e imperfeições introduzidos durante a aquisição das mesmas. O banco possui imagens
de olhos de 100 pacientes, seis por paciente, três imagens do olho direito e três do olho
esquerdo, totalizando 600 imagens. Cada imagem está associada a três medidas – esférica (S),
cilíndrica (C) e eixo do astigmatismo (A) que caracterizam os vícios refrativos. Os erros
refrativos das imagens foram determinados com precisão de 0.25 D (Dioptrias) para esférica e
cilíndrica (miopia, hipermetropia e astigmatismo) e 5o para o eixo do astigmatismo.
Figura 1 - Sistema de aquisição de imagens baseado em HS [18].
Antes da análise das imagens utilizando as técnicas de AM, vetores de características são
extraídos das mesmas pela técnica de transformada de Gabor, que reduz as informações de
cada imagem abstraindo suas características relevantes [5]. A transformada de Gabor tem sido
utilizada em várias aplicações de processamento de imagens, como no reconhecimento de íris
[4], impressões digitais [7] e faces humanas em seqüências de vídeo [6].
O conjunto de dados originais (426 exemplos retirando-se os padrões que apresentavam
problemas de medição) foi dividido em 10 partições cada qual com dois subconjuntos, o de
treinamento e validação com 80% dos exemplos, e o de teste com 20% dos exemplos. Para
cada medida (S, C e A) foi projetado e desenvolvido um módulo independente. O módulo de
análise baseado em SVMs utilizou a ferramenta Torch [17]. Para os experimentos, foram
manipulados diversos parâmetros das SVMs, como o tipo de kernel (linear, polinomial e
gaussiano), critério de parada, parâmetros dos kernels, etc. Um módulo de análise alternativo
baseado em RNAs (RBF) foi implementado e testado, entretanto os treinamentos demandaram
um longo tempo devido ao grande número de combinações e variações a serem exploradas
para cada modelo de rede RBF (quantidade de nodos, determinação dos centros, função de
ativação: Gaussian, Inverse Multiquadratic, Multiquadratic, Thin Plate Spline, Cubic e
Linear, função de inicialização, etc.). Nos experimentos foi utilizado o método cross
validation [3]. Para verificar qual a melhor arquitetura da rede RBF (Model Selection) foi
utilizado o simulador SNNS (Stuttgart Neural Network Simulator) [20].
Para o treinamento dos módulos, as medidas S, C e A foram divididas em classes de
acordo com um intervalo fixo. Para esférica (S) foram criadas 9 classes (as medidas variam
entre -1.75 D e +0.25 D com intervalos de 0,25 D), para cilíndrica (C) foram criadas 6 classes
(as medidas variam entre 0.0 D e 1.25 D com intervalos de 0,25 D) e para o eixo do
astigmatismo (A) foram criadas 36 classes (as medidas variam entre 0º e 180º com intervalos
de 5º).
Neste tipo de experimento, uma medida de desempenho comumente usada é a taxa de
erro de um classificador “h”. Usualmente, a taxa de erro é obtida utilizando a equação (1), a
qual compara a classe verdadeira de cada exemplo com a classe atribuída pelo classificador. O
operador ||E|| retorna 1 se expressão E for verdadeira, e zero caso contrário; n é o número de
exemplos.
1 n
(1)
err (h) = ∑ || y i ≠ h( x i ) ||
n i =1
Os resultados obtidos utilizando o conjunto de testes são apresentados nas Tabelas 2 e 3.
A segunda coluna da tabela apresenta a quantidade de exemplos em cada conjunto de teste
para cada uma das medidas. As colunas com o título “Medida exata” correspondem às taxas
médias (em porcentagem) e desvio padrão (em porcentagem) do erro das SVMs geradas para
a análise das medidas S, C e A. As colunas com o título “Propagação do erro” correspondem
aos mesmos resultados da coluna anterior (“Medida exata”), porém, levando-se em
consideração a variação do erro das medidas para S e C é de ±0.25 D, e para A é de ±5o. Isso
significa que se uma medida S ou C possui o valor verdadeiro igual a 0.5 D, é computado
como acerto se o valor atribuído pelo classificador, além do próprio 0.5 D, é igual a 0.25 D ou
0.75 D. Para a medida A, se o valor correto for igual a 30o, valores atribuídos pelo
classificador iguais a 30o, 25o ou 35o são computados como acertos.
Tabela 2 – Resultados da arquitetura de classificação utilizando SVM.
S
C
A
Total de exemplos
82
83
70
Medida exata
Erro Médio
Desvio Padrão
62.20%
± 1.10%
42.17%
± 1.02%
81.43%
± 1.61%
Propagando o erro
Erro Médio
Desvio Padrão
18.29%
± 1.12%
9.64%
± 1.00%
70.00%
± 1.64%
Tabela 3 – Resultados da arquitetura de classificação utilizando redes RBF.
S
C
A
Total de exemplos
82
83
70
Medida exata
Erro Médio
Desvio Padrão
68.29%
± 2.10%
50.60%
± 1.62%
85.71%
± 2.20%
Propagando o erro
Erro Médio
Desvio Padrão
27.06%
± 2.08%
21.18%
± 1.53%
81.18%
± 2.10%
Comparando os dois algoritmos observando apenas os valores, por exemplo, da taxa de
erro em problemas de classificação, não é fácil verificar qual deles apresenta melhor
desempenho. Por isso, foi aplicado um teste estatístico para comparar os resultados dos
algoritmos [9]. Esse teste permite comprovar, com um elevado grau de confiança, se o
desempenho de um algoritmo é realmente superior ao desempenho de outro. Para decidir qual
deles é melhor (com grau de confiança de 95%) basta assumir o caso geral para determinar se
a diferença entre dois algoritmos – As e Ap – é significante ou não, tendo-se uma distribuição
normal [19]. Para isso, a média e o desvio padrão combinados são calculados de acordo com
as equações (2) e (3), respectivamente. A diferença absoluta em desvios padrões é calculada
pela equação (4) [11].
mean( As − Ap) = mean( As) − mean( Ap)
sd ( As − Ap) =
ad ( As − Ap) =
(2)
sd ( As) 2 + sd ( Ap) 2
2
(3)
mean( As − Ap)
sd ( As − Ap)
(4)
Se ad(As – Ap) > 0 então Ap supera As. Porém, se ad(As – Ap) ≥ 2 desvios padrões então
Ap supera As com grau de confiança de 95%. Por outro lado, se ad(As – Ap) ≤ 0 então As
supera Ap e se ad(As – Ap) ≤ -2 então As supera Ap com grau de confiança de 95%.
A Tabela 4 apresenta os dados calculados para os algoritmos SVM e RBF, considerando
os resultados dos experimentos apresentados nas Tabelas 2 e 3, respectivamente. Pela
diferença absoluta nos desvios padrão (ad) verificou-se que as SVMs foram superiores as
RBFs com grau de confiança maior que 95% para as três medidas (S, C e A). Dessa forma, foi
adotada a solução usando SVM para o módulo de análise do sistema proposto.
Tabela 4 – Resultados da comparação estatística dos algoritmos SVM e RBF.
Erro médio
Desvio padrão
S
0.622
± 0.011
SVM (As)
C
0.421
± 0.010
Mean (As – Ap)
sd (As – Ap)
ad (As – Ap)
S
-0.06
0.016
-3.66
A
0.814
± 0.016
S
0.682
± 0.021
C
-0.08
0.014
-6.20
RBF (Ap)
C
0.506
± 0.016
A
0.857
± 0.022
A
-0.04
0.017
-2.48
4. Considerações Finais
O artigo apresentou uma metodologia para o diagnóstico de vícios refrativos oculares
baseada na análise de imagens por algoritmos de AM. É importante salientar que o
desenvolvimento teve como base o banco de imagens de Hartmann-Shack (HS) obtidos junto
ao grupo de Optometria da Universidade de Indiana (EUA). Isto foi suficiente para validar a
metodologia, porém estas amostras, além de não serem em grande quantidade, possuem um
espectro de medição reduzido; para esférica (S) varia entre -1.75 e + 0.25; e para cilíndrica (C)
varia entre 0.0 e 1.25 com eixo (A) variando entre 5º e 180º (resolução 0.25 D).
Apesar de todas as limitações do banco de imagens utilizado, cuja criação não levou em
consideração pontos importantes (como balanceamento, quantidade de exemplos, ausência de
ambigüidades) para utilização em um módulo de análise baseado em técnicas de AM, o
comportamento tanto das SVMs quanto das RNAs demonstra que as mesmas conseguem
responder bem às adversidades de um banco de imagens obtido por um sistema real. Na área
médica pode ser difícil obter um espectro de medidas adequado em que todas as classes estão
representadas em quantidade suficiente para que se tenha um excelente desempenho no
módulo de análise. Observando a facilidade das SVMs e das RNAs de relacionar saídas com
as informações que são utilizadas para supervisioná-las, é possível vislumbrar uma excelente
oportunidade de reproduzir em um sistema computacional de baixo custo os resultados
obtidos com sistemas complexos e custosos.
5. Agradecimentos
Os autores agradecem ao Professor 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 o suporte financeiro da FAPESP (processos:
00/04779-2, 01/ e 02/08038-2) e CNPq 09540-0 (processo: 521931/97-5).
6. Referências Bibliográficas
1. Bishop, C. M. (1996). Neural Networks for Pattern Recognition, Oxford University Press.
2. Braga, A. P. et al. (1998). Fundamentos de redes neurais artificiais, XI Escola Brasileira de
Computação.
3. Carvalho, A. C. P. L. F. (1999). Notas de aula: SCE5809 - Redes neurais, Grupo de
Inteligência Computacional, Pós-graduação em Computação, ICMC–USP, São Carlos-SP.
4. Daugman, J. (2002). How Iris Recognition Works. Proceedings of 2002 International
Conference on Image Processing, 1:33–36.
5. Daugman, D. (1988). Complete Discrete 2-D Gabor Transforms by Neural Networks for
Image Analysis and Compression, IEEE Trans. on Acoustic, Speech, and Signal
Processing, 36(7): 1169–1179.
6. Feris, R. S., et al. (2001). Efficient Real-Time Face Tracking in Wavelet Subspace.
Proceedings of International Conference on Computer Vision, Workshop on Recognition,
Analysis and Tracking of Faces and Gestures in Real-Time Systems, Vancouver, BC., pages
113–118.
7. Jain, A., et al. (2001). Fingerprint Matching using Minutiae and Texture Features.
Technical Report MSU-CSE-01-17, Department of Computer Science, Michigan State.
8. Lorena, A. C. & Carvalho, A. C. P. L. F. (2002). As máquinas de vetores suporte, relatório
interno, Laboratório de Inteligência Computacional, ICMC/USP, São Carlos – SP, junho.
9. Mason, R., Gunst, R., Hess, J. (1989). Statistical design and analysis of experiments, John
Wiley & Sons.
10. Mitchell, T. (1997). Machine Learning. McGraw Hill.
11. Monard, M. & Baranauskas, J. (2003). Conceitos sobre aprendizado de máquinas. Em
Sistemas Inteligentes: Fundamentos e Aplicações, Cap. 4, Editora Manole, 512 Pp.
12. Valerio Netto, A. (2001). Proposal to use artificial intelligence in the field of
ophthalmology, Oxyopia: Vision Science Seminar – Indiana University (IU), Indiana USA, October, 2001.
13. Perez, L. G. et al. (1994). Training an artificial neural network to discriminate between
magnetizing inrush and internal faults, IEEE Transactions on Power Delivery, vol. 9, n. 1,
pp. 434-441.
14. Prampero, P. S. (1998). Combinação de classificadores para reconhecimento de padrões,
Dissertação (Mestrado), Instituto de Ciências Matemáticas e Computação - USP, São
Carlos - SP, 84 Pp., Março.
15. Smola, A. J., Barlett, P., Schölkopf, B., and Schuurmans, D. 1999. Introduction to Large
Margin Classifiers, chapter 1, pages 1-28.
16. Tatibana, C. Y & Kaetsu, D. Y. (2000). Uma introdução às redes neurais.
http://www.din.uem.br/ia/neurais/ (março).
17. Torch (2002). Torch: a modular machine learning software library. http://www.torch.ch/
18. Visual Optics LAB (2001). http://research.opt.indiana.edu/Labs/427/427.html
19. Weiss, S. M. & N. Indurkhya (1998). Predictive Data Mining: A Practical Guide,
Morgan Kaufmann Publishers, Inc., San Francisco, CA.
20. Zell, A et al. (1995). SNNS: Stuttgart Neural Network Simulator. User manual, version
4.1, University of Stuttgart. (Report No. 6/95).
Download