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).