Resumos
Este artigo relata uma nova abordagem para a avaliação dos vícios refrativos do olho humano (miopia, hipermetropia e astigmatismo) por meio de uma técnica de Aprendizado de Máquina. Esses vícios são diagnosticados a partir da análise de imagens do olho adquiridas por uma técnica específica, denominada Hartmann-Shack (ou Shack-Hartmann), as quais são pré-processadas utilizando análise de histograma e informações geométricas e espaciais do domínio da aplicação. Em seguida, vetores de características são extraídos por meio de duas técnicas: Análise de Componentes Principais e Tranformada wavelet de Gabor. Por fim, o conjunto de dados com os vetores de características extraídos é analisado por Support Vector Machines. Apesar das limitações do conjunto de imagens, resultados encorajadores foram obtidos, indicando o potencial desta abordagem na área de Optometria/Oftalmologia.
Aprendizado de Máquina; Vícios Refrativos; Sistemas Inteligentes; Imagens de Hartmann-Shack; Support Vector Machines
The article introduces a new image analysis approach for measuring refractive errors in the human eye (myopia, hypermetropia and astigmatism) using Machine Learning techniques. These refractive errors are identified through the analysis of images of the eye obtained with a specific technique known as Hartmann-Shack (or Shack-Hartmann), which are preprocessed with histogram analysis considering spatial and geometrical information on the application domain. Afterwards, feature vectors are extracted using two techniques: Principal Component Analysis and Gabor Wavelets Transform. Finally, the dataset with the extracted feature vectors is analyzed using Support Vector Machines. In spite of the limitations of the image dataset, encouraging results were obtained, suggesting the potential of the proposed approach in Optometry/Ophthalmology.
Machine Learning; Refractive Errors; Intelligent Systems; Hartmann-Shack Images; Support Vector Machines
SISTEMAS INTELIGENTES
Determinação de vícios refrativos oculares utilizando Support Vector Machines
Giampaolo Luiz LibralãoI; Antonio Valerio NettoII; André Ponce de Leon F. de CarvalhoIII; Maria Cristina Ferreira de OliveiraIV
IInstituto 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@icmc.usp.br
IIInstituto 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, antonio.valerio@cientistasassociados.com.br
IIIInstituto 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, andre@icmc.usp.br
IVInstituto 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, cristina@icmc.usp.br
RESUMO
Este artigo relata uma nova abordagem para a avaliação dos vícios refrativos do olho humano (miopia, hipermetropia e astigmatismo) por meio de uma técnica de Aprendizado de Máquina. Esses vícios são diagnosticados a partir da análise de imagens do olho adquiridas por uma técnica específica, denominada Hartmann-Shack (ou Shack-Hartmann), as quais são pré-processadas utilizando análise de histograma e informações geométricas e espaciais do domínio da aplicação. Em seguida, vetores de características são extraídos por meio de duas técnicas: Análise de Componentes Principais e Tranformada wavelet de Gabor. Por fim, o conjunto de dados com os vetores de características extraídos é analisado por Support Vector Machines. Apesar das limitações do conjunto de imagens, resultados encorajadores foram obtidos, indicando o potencial desta abordagem na área de Optometria/Oftalmologia.
Palavras-chave: Aprendizado de Máquina, Vícios Refrativos, Sistemas Inteligentes, Imagens de Hartmann-Shack, Support Vector Machines.
ABSTRACT
The article introduces a new image analysis approach for measuring refractive errors in the human eye (myopia, hypermetropia and astigmatism) using Machine Learning techniques. These refractive errors are identified through the analysis of images of the eye obtained with a specific technique known as Hartmann-Shack (or Shack-Hartmann), which are preprocessed with histogram analysis considering spatial and geometrical information on the application domain. Afterwards, feature vectors are extracted using two techniques: Principal Component Analysis and Gabor Wavelets Transform. Finally, the dataset with the extracted feature vectors is analyzed using Support Vector Machines. In spite of the limitations of the image dataset, encouraging results were obtained, suggesting the potential of the proposed approach in Optometry/Ophthalmology.
Keywords: Machine Learning, Refractive Errors, Intelligent Systems, Hartmann-Shack Images, Support Vector Machines.
1 INTRODUÇÃO
Uma maneira eficiente e relativamente barata de medir os vícios refrativos oculares (miopia, hipermetropia e astigmatismo) faz uso de um equipamento constituído de lentes-teste e figuras projetadas em um anteparo colocado a uma certa distância do paciente, que deve reconhecer perfeitamente as imagens projetadas. Para que isto ocorra, o oftalmologista experimenta diferentes lentes-teste de modo a encontrar a lente corretora mais adequada ao problema do paciente. Entretanto, a avaliação da lente corretiva é subjetiva, uma vez que o paciente é quem determina, em parte, a lente à qual melhor se adapta.
De forma a automatizar estas medidas de refração e diminuir o tempo de medida, que geralmente é em torno de 20 a 30 minutos, seria 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 favoreceria um aumento do número de exames feitos em pacientes em um mesmo período de atendimento.
Este tipo de sistema, denominado refrator automático, ou auto-refrator, existe comercialmente e é bem aceito por clínicas, consultórios e hospitais, onde há uma demanda muito grande de pacientes. O auto-refrator é um equipamento que, além de não requerer muito espaço físico para a realização dos exames, é muito rápido em suas medidas, permitindo um aumento significativo no número de pacientes atendidos em um determinado período. Também é particularmente interessante para pessoas com muita sensibilidade à luz.
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 distúrbios mentais, pacientes muito jovens, dentre outros.
Com o intuito de satisfazer a viabilidade técnica para a construção de um equipamento eficiente, buscou-se, neste trabalho, desenvolver um sistema computacional baseado em tecnologia de análise de imagens utilizando técnicas de Aprendizado de Máquina (AM). Estas técnicas foram escolhidas porque as imagens constituintes da base de dados disponível apresentavam ruídos, que não puderam ser completamente sanados devido à complexidade e sofisticação dos dados existentes nessas, não permitindo a utilização de um classificador clássico. Neste sentido, optou-se por um sistema de entendimento da imagem (Image Understanding) com o objetivo de interpretar a imagem e não apenas realizar comparações. Isto poderia reduzir o erro de classificação cometido devido aos ruídos presentes nas imagens.
O sistema computacional processa uma imagem fornecida pelo método de captação denominado Hartmann-Shack (HS) (Thibos, 2002) e posteriormente a analisa, extraindo as informações necessárias para um diagnóstico automático dos possíveis vícios refrativos existentes no globo ocular examinado, utilizando um algoritmo baseado em inteligência computacional.
A abordagem de análise usando AM é motivada pelo progresso observado em pesquisa e aplicações práticas das técnicas de AM nos últimos anos, certificando a eficiência destas técnicas em processar informações provenientes de um meio externo, particularmente no caso de Redes Neurais Artificiais (RNAs) (Rumelhart & McChelland, 1986) e Support Vector Machines (Joachims, 1999). Essa abordagem oferece um grande leque de possibilidades em termos de pesquisa e produtos voltados ao processamento de informações do globo ocular.
A possibilidade de reconhecer e analisar as características pertinentes ao globo ocular permite não apenas diagnosticar os vícios de refração, mas também obter outras informações sobre a saúde do globo ocular visando, no futuro, um mapeamento completo do olho humano, utilizando um único aparelho. Além disso, deseja-se introduzir o uso da técnica de AM descrita neste artigo à área de Optometria para análise de imagens do olho humano provenientes de vários métodos de aquisição (Fluorescein, Retro-illumination, Optical Scatter Map) (Thibos, 2002).
O sistema de Medição de Vícios Refrativos implementado por Valerio Netto (2003) engloba quatro etapas distintas (Figura 1):
Etapa 0 Módulo de aquisição de imagens. A aquisição das imagens oftalmológicas pela técnica de Hartmann-Shack (HS) foi realizada utilizando um equipamento chamado aberrometer, construído pelo grupo de Optometria da Universidade de Indiana (EUA). O banco de imagens utilizado para validar a abordagem foi adquirido pelo grupo de pesquisa liderado pelo Prof. Dr. Larry Thibos.
Etapa 1 - Módulo de pré-processamento de imagens. As imagens oftalmológicas produzidas pelo aberrometer não estão em um padrão que permite sua utilização imediata. É necessário padronizá-las e, posteriormente, eliminar ruídos que podem distorcer os resultados do processo de extração de características.
Etapa 2 - Módulo de extração de características. O objetivo da extração é diminuir a quantidade de atributos dos dados de entrada para o módulo de análise. Duas técnicas, cada uma baseada em um método diferente, foram implementadas e testadas. Do método de Análise Multivariada foi implementada a técnica de Análise de Componentes Principais (Principal Component Analysis PCA), e do método de transformada de Wavelets, a técnica da transformada de Gabor.
Etapa 3 Módulo de análise. É responsável pela interpretação dos atributos gerados pelo módulo de extração de características. Foram realizados experimentos com as Support Vector Machines (SVMs).
As imagens do banco disponibilizado foram pré-processadas para correção de defeitos e imperfeições introduzidos durante o processo de aquisição. Este pré-processamento utiliza as técnicas de análise de Histograma, bem como informações geométricas e espaciais do domínio da aplicação (Sonka et al., 1999).
Antes da análise das imagens, as características das mesmas são extraídas por duas técnicas: Transformada Wavelets de Gabor (Chang & Kuo, 1993) (Manjunath & Ma, 1996), e PCA (Johnson & Wichern, 1982), que permitem que o conjunto de dados retirado da imagem possa ser representado por um número reduzido de características relevantes, possuidoras da maioria das informações presentes na mesma e possibilitando, desta forma, que um número menor de atributos seja fornecido ao Módulo de Análise.
Este artigo apresenta a metodologia e os resultados do desenvolvimento do Módulo de Análise, ou Etapa 3 do sistema proposto. Esse módulo utiliza SVMs para analisar os dados resultantes da extração de características de uma imagem, gerando como saída uma medida do erro refrativo contido na mesma. O processo é viabilizado após uma etapa de treinamento utilizando um sub-conjunto do banco de imagens oftalmológicas disponíveis. Na Seção 2 é abordado o tópico de Aprendizado de Máquina, bem como a técnica utilizada no módulo de AM, as SVMs. Na Seção 3 são apresentadas noções sobre as técnicas de extração de características utilizadas. A Seção 4 apresenta o sistema de aquisição utilizado para obter as imagens. A Seção 5 discute o processo de construção dos vetores de características para cada uma das técnicas de extração utilizadas, vetores estes apresentados posteriormente às SVMs (Módulo de Análise). Finalmente, na Seção 6 a metodologia empregada para fazer a análise e gerar o diagnóstico é descrita, bem como os resultados obtidos com a abordagem proposta. Considerações finais são apresentadas na Seção 7.
2 APRENDIZADO DE MÁQUINA
Aprendizado de Máquina (AM) é um campo de pesquisa da Inteligência Computacional que estuda métodos capazes de extrair conceitos (conhecimento) a partir de amostras de dados.
Existem diversos algoritmos de AM que, após um período de treinamento, permitem a interpretação de novos dados e sua classificação de maneira apropriada, a partir de uma generalização do que lhe foi apresentado durante o treinamento.
Três são os paradigmas de aprendizado que indicam o modo como o algoritmo de AM interage com o seu ambiente: supervisionado, não-supervisionado e por reforço. As SVMs utilizadas neste trabalho seguem o paradigma de aprendizado supervisionado e são fundamentadas na Teoria de Aprendizado Estatístico (Vapnik & Chervonenkis, 1971).
2.1 Support Vector Machines (SVMs)
As SVMs (Muller et. al., 2001) vêm sendo cada vez mais utilizadas na resolução de diversos tipos de problemas, pois têm apresentado resultados equivalentes a outros algoritmos de AM, como as Redes Neurais Artificiais (RNAs), por exemplo, no reconhecimento de caracteres, na detecção de faces e imagens e na categorização de textos (Lorena & Carvalho, 2003).
As principais características das SVMs que tornam seu uso atrativo são (Smola et al., 1999):
Elevada capacidade de generalização, os classificadores gerados por uma SVM em geral alcançam bons resultados em termos de generalização. A capacidade de generalização de um classificador é medida por sua eficiência na classificação de dados que não pertençam ao conjunto utilizado para o treinamento. Na geração de preditores por SVMs, portanto, é evitado o overfitting, situação na qual o preditor se torna muito especializado no conjunto de treinamento, obtendo baixo desempenho quando confrontado com novos padrões;
Robustez em grandes dimensões, possibilita a aplicação de SVMs em vetores de características de grandes dimensões, por exemplo, imagens, como os analisados neste artigo. A maioria das técnicas de AM têm dificuldades em lidar com dados de grande dimensionalidade;
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. Esta é uma vantagem sobre as RNAs, onde a função objetivo possui mínimos locais;
Teoria bem definida, a base teórica das SVMs, a Teoria de Aprendizado Estatístico, é bem estabelecida dentro da Matemática e da Estatística.
As SVMs possuem diferentes núcleos que caracterizam seu modo de reconhecimento dos padrões, sendo os mais utilizados, e que foram explorados neste trabalho, 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 núcleo permite que uma SVM apresente características de uma rede RBF) e Sigmoidal (permite que a SVM tenha o comportamento semelhante ao de uma rede MLP). A correta definição do núcleo e de seus respectivos parâmetros possui forte influência nos resultados obtidos por uma SVM.
Apesar de sua popularização datar apenas da década de 90, as altas taxas de precisão e acurácia que atinge, sua alta capacidade generalização aliada à sua robustez diante de dados com dimensões elevadas explicam sua larga utilização em trabalhos recentes.
Maiores informações sobre SVMs e suas aplicações podem ser encontradas em (Dummais, 1998) onde foram utilizadas para reconhecimento de caracteres, e em (Fernadez & Viennet, 1999) para detecção de faces humanas em imagens.
3 TÉCNICAS DE EXTRAÇÃO DE CARACTERÍSTICAS
Com o intuito de verificar o impacto do processo de extração de características no desempenho do módulo de análise foram investigadas duas abordagens distintas: PCA (Principal Component Analysis) e Transformada de Gabor. Com a técnica PCA foram gerados quatro conjuntos de vetores de características, variando a quantidade dos atributos constituintes desses vetores, e com a transformada de Gabor foi utilizado um único conjunto de vetores de características.
3.1 Análise de Componentes Principais (PCA)
Apesar de existirem muitas técnicas de análise multivariada, todas têm como objetivo a redução da complexidade do problema em questão. Essas técnicas podem reduzir o número de variáveis a serem computadas, ou eliminar variáveis difíceis de serem observadas ou medidas, garantindo que informação relevante não seja perdida ainda que acarretem perda de informações.
A técnica PCA, também conhecida como transformada de Hotelling ou transformada de Karhunen-Loève, é uma técnica analítica que transforma um grupo de variáveis correlacionadas em variáveis não-correlacionadas. É um dos métodos estatísticos multivariados mais simples, em que dados p atributos X1, X2, ..., Xp, busca-se encontrar combinações lineares destes para produzir índices Z1, Z2, ..., Zp não-correlacionados.
A ausência de correlação é uma propriedade útil, pois indica que os índices estão representando características independentes dos dados.
Por meio do uso da PCA, espera-se que as variâncias da maioria dos índices sejam tão pequenas que possam ser desprezadas. Nesse caso, a variação dos conjuntos de dados pode ser descrita adequadamente pelos poucos atributos Z cujas variâncias são consideradas não desprezíveis. Um certo grau de economia é então atingido, já que a variação nos p atributos originais X fica representada por um menor número de índices Z.
Deve ser enfatizado que a PCA nem sempre reduz um número grande de atributos originais a um pequeno número de atributos transformados. Caso os atributos originais não sejam correlacionados, a análise não produz efeito algum. Os melhores resultados são obtidos quando os atributos originais são altamente correlacionados, positivamente ou negativamente. A PCA é uma das abordagens mais populares para o problema de reconhecimento de faces, e uma das mais adequadas para a extração de características (Romdhami, 1997).
Não foram utilizados pacotes de software para a aplicação da PCA, esta foi, inicialmente, implementada com um algoritmo para a geração dos autovetores e autovalores baseado no método de Jacob (William et al., 1992). Contudo, o método mostrou-se muito lento. Buscando maior eficiência computacional, foram adotados o método Householder e o algoritmo QL para calcular os autovetores e autovalores (William et al., 1992). O ganho foi de quatro vezes, isto é, uma mesma imagem teve seu tempo de processamento reduzido de 100 segundos para apenas 25 segundos.
Maiores detalhes sobre a utilização e aplicação da PCA podem ser encontrados em Guardo & Adler (1994), Moh & Shih (1995) e Fitzpatrick & Sonka (1999).
3.2 Transformada wavelet de Gabor
Wavelets são funções que satisfazem certos requisitos matemáticos para a representação de dados ou outras funções. Na análise de wavelet, a escala possui um papel importante no processamento dos dados. A wavelet pode ser processada utilizando diferentes escalas ou resoluções. Quando um sinal é observado em uma grande "janela" de tempo, suas características observadas são mais grosseiras. Quando é utilizada uma pequena "janela" de tempo, as características do sinal observado são mais finas. Portanto, é possível observar tanto as características mais aparentes quanto às menos perceptíveis (Mallat, 1999).
A aplicação das wavelets é observada em vários segmentos da ciência, como astronomia, engenharia, música, matemática, processamento de sinais e processamento de imagens. No caso de processamento de imagens, um dos pontos fortes da transformada wavelet é a possibilidade de representar a imagem toda com uma quantidade mínima de dados. Esses dados podem ser aproveitados na montagem de um vetor de características da imagem.
Gabor, em seu trabalho pioneiro (Gabor, 1946), demonstrou que a capacidade de caracterizar um sinal simultaneamente nos domínios temporal (ou espacial) e das freqüências é limitada pela "razão de incerteza conjunta", também conhecida como "princípio de Heisenberg" (Equação 2.1).
onde Dt e Dw representam incertezas nos domínios temporal e das freqüências, respectivamente. Gabor definiu uma família de funções que atingem esse limite inferior de "incerteza conjunta" - Equação 2.2.
Essa função f(t) descreve uma onda senoidal com freqüência w modulada por um envelope Gaussiano com duração (ou extensão) s. O conjunto original de filtros proposto por Gabor foi estendido para o caso bidimensional (2D) por Daugman (1995), podendo assim ser aplicado a imagens digitais. Em duas dimensões, essa função complexa é mais bem entendida pelas suas componentes real (fR) - Equação 2.3 e imaginária (fI) Equação 2.4:
onde uo e vo representam a freqüência espacial implementada no filtro ao longo das direções x e y, respectivamente e sx e sy a extensão espacial da função de Gabor.
Filtros com extensão (ou largura de banda) pequena no domínio espacial apresentam a vantagem de permitir uma melhor resolução entre as diferentes regiões texturais em uma imagem. Uma largura de banda menor no domínio das freqüências permite uma melhor discriminação entre diferentes texturas. Essas considerações evidenciam a vantagem dos filtros de Gabor, que possuem uma resolução conjunta ótima nos dois domínios.
A transformada de Gabor tem se mostrado adequada para extração de características, pois minimiza a incerteza das articulações bidimensionais no espaço de freqüência (Daugman, 1988). Vem sendo utilizada em várias aplicações de processamento de imagens como, por exemplo, na representação de imagens mediante a definição de um conjunto de wavelets que fornece uma representação completa das mesmas (Lee, 1996), na recuperação de imagens baseadas na textura (Manjunath & Ma, 1996) e na recuperação de imagens por conteúdo (CBIR - Content-based Image Retrieval) (Castanón, 2003). São relatadas aplicações no reconhecimento de indivíduos pela íris (Daugman, 2002), reconhecimento de impressões digitais (Jain et al., 2001) e de faces humanas em seqüências de vídeo (Feris et al., 2001).
O algoritmo de Gabor implementado foi baseado na implementação utilizada por Castanón (2003) para recuperação de imagens médicas por conteúdo (CBIR - Content-based Image Retrieval), inspirado no algoritmo desenvolvido por Daugman (2002) para o reconhecimento de pessoas por meio da íris (biometria ocular).
4 SISTEMA DE MEDIÇÃO
O processo de aquisição das imagens utilizando a técnica de Hartmann-Shack pode ser observado na Figura 2. O banco possui imagens de olhos de 100 pacientes, seis imagens relacionadas a cada paciente, sendo 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.
Foi adotado como saída para o Sistema de Medição inteligente a resolução de um auto-refrator comercial com precisão de 0,25 D (Dioptrias1 1 Unidade de medida do poder refrativo de uma lente. É o poder refrativo de uma lente com distância focal de um metro. O número de dioptrias de uma lente corresponde ao inverso da distância focal em metros. Assim, uma lente de três dioptrias tem uma distância focal de 1/3 de metro. ) para esférico (miopia e hipermetropia) e cilíndrico (astigmatismo), e 5º no eixo do astigmatismo. Tal precisão foi adotada por ser a existente na base de dados utilizada. A taxa de erro permitida para este tipo de aplicação é de ±0,25 D para S e C, e de ±5º para A, ou seja, a resolução encontrada nos auto-refratores comerciais existentes.
Os dados obtidos possuem o seguinte espectro: medida esférica (S) variando entre -1,75 D e +0,25 D; cilíndrica (C) variando entre 0,0 e 1,25 D e com eixo do astigmatismo (A) variando entre 0º e 180º. Os valores negativos do dado esférico (S) correspondem à miopia, por exemplo, -1,50 D significa que o paciente tem 1,50 D de miopia. Os dados positivos do esférico (S) correspondem à hipermetropia.
5 CONSTRUÇÃO DOS VETORES DE CARACTERÍSTICAS
Os vetores de características são representações das imagens a serem analisadas, após as mesmas serem pré-processadas e submetidas às técnicas de extração de características utilizadas neste trabalho, ou seja, a técnica de PCA e a da Transformada de Gabor. Estes vetores são a entrada para o módulo de análise, ou mais precisamente, para as SVMs, que visam identificar os vícios refrativos existentes em cada uma das imagens analisadas.
5.1 Vetores de Características utilizando PCA
A técnica PCA foi aplicada às colunas de cada imagem proveniente do pré-processamento de 400 x 400 (160.000) pixels. Cada imagem foi reduzida para uma matriz de 16 x 400 (6.400) atributos, sendo que esta matriz de características contém em torno de 55% das informações mais relevantes da imagem original. Essa porcentagem foi obtida após o processamento de todo o banco de imagens com a técnica PCA. A Figura 3 ilustra a aplicação da PCA.
Com o intuito de analisar a influência da entrada reduzida pela PCA no desempenho do módulo de análise, foram geradas outras configurações de entrada variando a quantidade de colunas utilizadas para os experimentos. Dessa forma, também foram montados vetores de características com 35 colunas (14.000 atributos), que representam em torno de 68% das informações mais relevantes da imagem original, e 70 colunas (28.000 atributos) que representam em torno de 81% das informações mais relevantes da imagem original. Todos os vetores de características foram normalizados entre os valores -1 e 1 antes de serem disponibilizados para o módulo de análise.
Um outro teste com a configuração do vetor de características consistiu em aplicar a PCA duas vezes, primeiro nas colunas e depois nas linhas de cada imagem. Após esse processo, a mesma imagem foi reduzida para um vetor de 140 x 10 (1.400) atributos. Na primeira etapa da PCA, as 400 colunas da imagem original foram reduzidas para 140 colunas, que representam em torno de 90% das informações mais relevantes da imagem original. Dessa forma, tem-se uma nova matriz de 140 x 400 (56.000) atributos. Na segunda etapa, a PCA foi aplicada às linhas dessa nova matriz, criando uma outra matriz de 140 x 10 (1.400) atributos.
A escolha do valor de 10 (número de linhas) ocorreu depois de uma avaliação do banco de imagens pelo algoritmo da PCA, tendo-se detectado que, para manter 90% do conteúdo relevante da imagem já anteriormente reduzida pela PCA na primeira etapa, seria necessário manter um mínimo de 10 linhas. A diferença no número de colunas e linhas necessárias para manter 90% das informações mais relevantes dos dados entre a primeira e a segunda PCA é devido aos diferentes tamanhos de entrada apresentada à primeira (160.000) e a segunda (56.000). Além disso, a entrada da segunda PCA já havia sido manipulada anteriormente pela técnica.
5.2 Vetores de Características utilizando Gabor
O processo de Gabor possui dois parâmetros de entrada, orientação e escala, que permite determinar o número de características finais que se deseja obter, seguindo a expressão [orientação * escala * 2]. Dessa forma, para um valor de orientação igual a 10 e um valor de escala igual a 10 obtém-se um vetor com 200 características relevantes da imagem processada. Os valores de orientação e escalas foram definidos empiricamente. Para os experimentos foram fornecidos 200 atributos para o módulo de análise, os quais foram normalizados, também entre -1 e 1, antes de serem disponibilizados para o mesmo.
6 METODOLOGIA E RESULTADOS OBTIDOS
O simulador utilizado para o treinamento das SVMs foi o SVMTorch (Collobert & Bengio, 2001), conhecido por sua eficiência ao tratar com grandes quantidades de dados. A base de dados utilizada constava de um arquivo constituído por 426 exemplares (retirando-se os padrões que apresentavam problemas de medição).
Cada uma das SVMs analisadas possuía como entrada os dados vindos da PCA (inicialmente vetores com 6400 características) e como saída uma das três medidas S, C ou A, relacionadas aos Vícios Refrativos.
Nos experimentos foram alterados diversos dos parâmetros, como por exemplo, tipo de núcleo (linear, polinomial, sigmoidal e gaussiano), critério de parada, e parâmetros específicos de cada um dos núcleos utilizados, sendo aqueles que mais influenciavam nos resultados obtidos: a modificação dos tipos de núcleo e de alguns dos parâmetros específicos relacionados a cada um destes.
Para gerar a estimativa do erro, utilizou-se o método de random resampling, isto é, o conjunto de dados original foi dividido 10 vezes em dois subconjuntos, o de treinamento e validação com 80% dos exemplos, e o de teste com 20% dos exemplos. Estas 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.
Os melhores resultados obtidos com as SVMs utilizadas para tratar um problema de regressão, isto é, prever o valor contínuo para as saídas S, C e A, cada uma sendo um valor contínuo, são mostrados na Tabela 6.1. A segunda coluna da tabela apresenta a quantidade de exemplos 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 que a variação do erro das medidas para S e C é de ±0,25 D, e para A é de ±5º. 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, estiver entre 0,25D e 0,75 D. Para a medida A, se o valor verdadeiro for igual a 30º, é computado como acerto se o valor atribuído pelo classificador estiver no intervalo entre 25º e 35º.
Devido às elevadas taxas de erro obtidas para regressão, decidiu-se transformar o problema em um problema de classificação, na suposição de que as SVMs poderiam apresentar um melhor desempenho. Assim, o módulo de análise foi alterado para tratar o problema de aprendizado das SVMs como um problema de classificação.
Para o treinamento dos módulos, as medidas S, C e A foram divididas em classes de acordo com um intervalo fixo. Para a 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 a 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º). Estas classes (faixas) definidas podem ser observadas na Tabela 6.2 para a medida C estudada, onde é possível notar que este padrão adotado não permite superposição entre as mesmas, pois obedece à escala de valores de um auto-refrator comercial.
Os melhores resultados obtidos podem ser observados na Tabela 6.3, para as três saídas S, C e A, 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, 100 e 3, e o parâmetro std do núcleo gaussiano com valor 22, 18 e 25, respectivamente para as saídas A, S e C. As colunas com o título "Propagação do erro" correspondem aos mesmos resultados da coluna "Medida exata", porém levando-se em consideração que a variação do erro das medidas para S e C é de ±0,25 D, e para A é de ±5º. 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, for 0,25 D ou 0,75 D. Para a medida A se o valor verdadeiro for igual a 30º, é computado como acerto se o valor atribuído pelo classificador for 30º, 25º ou 35º, ou seja, aumenta-se a quantidade de classes que representam um possível acerto pelas SVMs, no intuito de permitir às mesmas uma menor taxa de erro.
Uma pequena melhora nos resultados obtidos pode ser observada. Em seguida, optou-se por alterar a quantidade de atributos do vetor de características extraídos utilizando a PCA, a fim de observar se resultados mais satisfatórios poderiam ser alcançados. Foram testadas três versões, com 1400 (Tabela 6.4), 14000 (Tabela 6.5) e 28000 atributos (Tabela 6.6). Como podem ser observados pelos testes de hipótese da Seção 6.1, os resultados obtidos foram inferiores àqueles obtidos utilizando-se o vetor de entrada com 6400 atributos. Por isso, foi mantida a configuração inicial proposta (6400 atributos).
Na Tabela 6.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 6.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.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.
Concluída a análise das SVMs com a utilização da técnica PCA, foi utilizada a técnica da transformada wavelet de Gabor para o pré-processamento dos dados. Os mesmos experimentos realizados anteriormente com as SVMs foram repetidos com os novos dados gerados. A intenção foi identificar qual das duas técnicas conferiria ao módulo de análise um melhor desempenho. Todos os experimentos realizados seguem o mesmo modelo utilizado durante a análise da técnica PCA. Os melhores resultados obtidos podem ser observados na Tabela 6.7, trata-se de uma SVM com núcleo linear para as três saídas S, C e A, porém com parâmetro c apresentando, respectivamente, os valores 10, 100 e 0,1.
Os resultados observados na Tabela 6.7, se comparados aos encontrados na Tabela 6.3, sugerem que a técnica de Gabor se mostrou mais eficiente.
6.1 Seleção de Modelos por meio de Teste de Hipótese
Comparar os dois algoritmos apenas por meio dos resultados apresentados, por exemplo, a taxa de erro em problemas de classificação, não permite determinar se um algoritmo é melhor que outro. Sendo assim, um teste estatístico foi aplicado para uma melhor comparação dos algoritmos (Mason et al., 1989).
A fim de decidir qual deles é melhor (por exemplo, com grau de confiança de 95%), basta assumir um caso geral para determinar se a diferença entre dois algoritmos As e Ap é significante ou não, assumindo uma distribuição normal das taxas de erro (Weiss & Indurkhya, 1998). Para isso, a média e o desvio padrão combinados foram calculados de acordo com as equações (6.1) e (6.2), respectivamente. A diferença absoluta em desvios padrões (valor do teste estatístico -tcalc) foi calculada pela Equação (6.3) (Monard & Baranauskas, 2003).
Estabelecendo a hipótese inicial nula H0: As = Ap e a hipótese alternativa H1: As ¹ Ap. Se ad(As Ap) > 0, então Ap supera As. Porém, se ad(As Ap) > 2,00 (limite da região de aceitação) 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,00 então As supera Ap com grau de confiança de 95%. Os limites da região de aceitação RA: (-2,00; 2,00) para estes experimentos foram baseados na tabela da distribuição t-student (Mason et al., 1989), devido ao número pequeno de amostras de erro utilizadas para o teste de hipótese.
A Tabela 6.8 apresenta os dados calculados para os experimentos utilizando PCA com 6400 e 1400 atributos de entrada, levando em consideração, os resultados dos experimentos apresentados nas tabelas 6.3 e 6.4, respectivamente.
A Tabela 6.9 apresenta os dados calculados para os experimentos utilizando PCA com 6400 e 14000 atributos de entrada, levando em consideração, os resultados dos experimentos apresentados nas tabelas 6.3 e 6.5, respectivamente. Já a Tabela 6.10 apresenta os dados calculados para os experimentos utilizando PCA com 6400 e 28000 atributos de entrada, levando em consideração, os resultados dos experimentos apresentados nas tabelas 6.3 e 6.6, respectivamente.
Observando as tabelas 6.8, 6.9 e 6.10, é possível verificar que os resultados obtidos para a PCA com 6400 atributos de entrada foram superiores àqueles obtidos pelas PCAs com, respectivamente, 1400, 14000 e 28000 atributos de entrada, para as três medidas (S, C e A).
Na Tabela 6.11 tem-se os dados calculados para os experimentos utilizando PCA com 6400 atributos de entrada para os dados de classificação, e PCA com 6400 atributos de entrada para os dados de regressão, levando em consideração, os resultados dos experimentos apresentados nas tabelas 6.3 e 6.1, respectivamente.
Observando a Tabela 6.11, é possível verificar que os resultados obtidos com a PCA para classificação com 6400 atributos de entrada foram superiores àqueles obtidos pela mesma PCA utilizada para regressão, para as três medidas (S, C e A) estudadas. É importante observar que embora a PCA para classificação com 6400 atributos de entrada tenha apresentado resultados superiores aos obtidas pelas demais técnicas de PCA aplicadas, não foi possível garantir um grau de confiança superior a 95% para todas as comparações efetuadas.
A Tabela 6.12 apresenta os dados calculados para os experimentos utilizando a PCA para classificação com 6400 dados de entrada, que se mostrou mais adequada na análise dos dados estudados, e a Transformada de Gabor, levando em consideração os resultados dos experimentos apresentados nas tabelas 6.3 e 6.7, respectivamente.
Observando a Tabela 6.12, é possível verificar que os resultados obtidos com a utilização da transformada de Gabor foram superiores àqueles obtidos pela técnica de PCA 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 Transformada de Gabor para o módulo de extração de características do sistema proposto.
7 CONSIDERAÇÕES FINAIS
Este artigo ilustra a utilização de uma técnica de AM, mais especificamente SVMs, em uma abordagem inovadora para a análise de problemas oculares. Além disso, buscou-se gerar conhecimento nacional em uma área multidisciplinar (computação, física, optometria e engenharia biomédica), ainda pouco explorada. O desenvolvimento teve como base o banco de imagens de Hartmann-Shack obtido junto ao grupo de Optometria da Universidade de Indiana (EUA).
Apesar de suficiente para validar a metodologia, o banco de dados utilizado apresenta diversas limitações. As amostras disponíveis eram em pequena quantidade e apresentavam um espectro de medidas bastante reduzido: para esférica (S), o espectro varia entre -1,75 D e +0,25 D; e para cilíndrica (C), varia entre 0,0 D e 1,25 D (resolução 0,25 D), com o eixo (A) variando entre 5º e 180º (resolução de 5º). Dentro desse espectro, existem poucos exemplos de cada classe para o treinamento. Esse foi um dos fatores responsáveis pela dificuldade apresentada pelo módulo de análise em abstrair um modelo adequado para a classificação dos dados, fazendo com que o erro apresentado pelas SVMs seja elevado, na maioria dos casos maior que um random guess.
Os autores acreditam que um maior número de exemplos representativos distribuídos mais uniformemente pelo espectro de medidas possível (por exemplo, S variando entre 17,00 D e +17,00 D e C variando entre 0,0 e 17,00 D) permitiria melhorar o desempenho do módulo de análise.
Outro fator limitante da base, que prejudicou o desempenho das SVMs, foi a diferença constatada entre as medidas fornecidas de S, C e A relativas às três imagens de um olho de um mesmo paciente. Em muitos casos, existe uma grande diferença entre as três imagens do mesmo olho de um mesmo paciente, sendo que cada uma delas está associada a medidas diferentes de S, C e A. Para trabalhos futuros, os autores consideram indicada a utilização de um banco de imagens com, pelo menos, 30 imagens HS de cada olho, com o mesmo olho medido por um optômetro mecânico de boa precisão. Dessa forma, o banco teria 30 imagens de cada olho e uma única medida de S, C e A, facilitando o treinamento do classificador. Pela experiência adquirida no projeto, se este procedimento for executado para um espectro de medição mais amplo, os resultados do módulo de análise provavelmente seriam superiores aos obtidos.
Não foi possível comparar os resultados obtidos neste trabalho com outros obtidos por algum sistema semelhante, uma vez que esses são inexistentes até a presente data. Após uma extensiva busca bibliográfica, não foi identificado trabalho que utilize classificadores de AM ou estatísticos na determinação de vícios refrativos. Os autores acreditam que as técnicas de Gabor obtiveram um melhor desempenho porque a utilização de filtros de Gabor permite uma melhor codificação das características geométricas e relacionadas à textura. Além disso, a adequação destes filtros como modelos de objetos locais permite que, ao mesmo tempo em que ocorre uma redução significativa do número de características, é possível manter a precisão desejada da imagem (Krüger & Sommer 2002). As duas técnicas poderiam ser também combinadas, utilizando PCA após o uso da técnica de Gabor.
Apesar das limitações do banco de imagens utilizado, uma vez que o mesmo não foi montado de maneira a considerar aspectos fundamentais para a sua utilização em um módulo de análise baseado em técnicas de AM (balanceamento, quantidade de exemplos, ausência de ambigüidades), o comportamento das SVMs sugere que as mesmas respondem bem às adversidades de um banco de imagens obtido por um sistema real. Na área médica, pode ser muito difícil obter um espectro adequado de amostras no qual todas as classes estão representadas em quantidade suficiente para garantir um desempenho satisfatório do módulo de análise.
Como pode ser observado, os resultados obtidos com a técnica da PCA foram inferiores aos obtidos pela técnica de Gabor. Estão sendo também realizados estudos com as redes Multilayer Perceptron e Radial Basis Function, a fim de comparar os resultados obtidos pelas SVMs aos obtidos pelas técnicas citadas. Até o momento, os resultados são inferiores aos obtidos pelas SVMs, o que sugere que as limitações do banco de imagens utilizado sejam a razão do baixo desempenho.
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 ao Professor João Batista do E. S. Neto do ICMC/USP pelas suas contribuições na área de processamento de imagens. Os autores também agradecem o suporte financeiro da FAPESP (processos: 00/04779-2, 01/09540-0 e 02/08038-2) e CNPq (processo: 521931/97-5).
8 REFERÊNCIAS BIBLIOGRÁFICAS
Recebido do autor em 06/10/03
1ª revisão em 02/02/04
2ª revisão em 19/04/04
3ª revisão em 13/09/04
4ª revisão em 24/01/05
Aceito s/recom. do Ed. Ass. Prof.Takashi Yoneyama
- Castanón, C. A. B. (2003). Recuperação de imagens por conteúdo através de análise por wavelets, Dissertação de mestrado, ICMC/USP, São Carlos, fevereiro, p. 135.
- Chang, T. & Kuo, C. J. (1993). Texture Analysis and Classification with Tree-Structured - Wavelet Transform. IEEE Transactions on Image Processing, 2(4), p. 429441.
- Collobert, R. & Bengio, S. (2001). SVMTorch: Support Vector Machines for Large Scale Regression Problems, Journal of Machine Learning Research, vol. 1, p. 143-160. (http://www.idiap.ch/learning/SVMTorch.html).
- Daugman, D. (1988). Complete Discrete 2-D Gabor Transforms by Neural Networks for Image Analysis and Compression, IEEE Transactions. on Acoustic, Speech, and Signal Processing, 36(7), p. 11691179.
- Daugman, J G. (1995). Uncertainty Relation for Resolution in Space, Spatial Frequency and Orientation Optimized by Two-Dimensional Visual Cortical Filters. Journal of Optical Society of America, 7(2), p. 1160-1169.
- Daugman, J. (2002). How Iris Recognition Works. Proceedings of 2002 International Conference on Image Processing, vol. 1, p. 3336.
- Dummais, S. (1998). Using SVM for text categorization. IEEE Intelligent Systems, p. 21-23.
- Feris, R. S., Krueger, V., & Júnior., R. M. C. (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, Canadá, p. 113118.
- Fernadez, R & Viennet, E. (1999). Face identification using support vector machines, Proceedings of the European Symposium on artificial neural networks, p. 195-200, Brussels, D-Facto Press.
- Fitzpatrick, J. M. & Sonka, M. (1999). Handbook of Medical Imaging: process in medical image processing and analysis, SPIE Optical Engineering Press, vol. 3, September, p. 230.
- Gabor, D. (1946). Theory of Communication, Journal of the Institute of Electrical Engineers, v. 93, p. 429-457.
- Guardo, R & Adler, A. (1994). A neural network image reconstruction technique for electrical impedance tomography, IEEE Transactions on Medical Imaging, 13(4), p. 594-600.
- Jain, A., Ross, A., Prabhakar, S. (2001). Fingerprint Matching using Minutiae and Texture Features. Technical Report MSU-CSE-01-17, Department of Computer Science, Michigan State University, East Lansing, USA.
- Joachims, T. (1999). Making large-scale SVM learning practical. In: Schölkopf et al., Advances in kernel methods support vector learning MIT Press
- Johnson, R. A. & Wichern, D. (1982). Applied multivariate statistical analysis, 2nd edition, Prentice-Hall, New Jersey.
- Lee, T. S. (1996). Image Representation Using 2D Gabor Wavelets. IEEE Transactions on Pattern Analysis and Machine Intelligence, 18(10), p. 959971.
- Lee, S. & Verri, A. (2002). Pattern recognition with support vector machines, First International Workshop - SVM02, Niagara Falls, Canada, Proceedings Lecture Notes in Computer Science, n. 2388, Springer-Verlag.
- Lorena, A. C. & Carvalho, A. C. P. L. F. (2003). Introdução às Máquinas de Vetores Suporte (Support Vector Machines), Laboratório de Inteligência Computacional, ICMC/USP, São Carlos, n. 192.
- Mallat, S. G. (1999). A Wavelet Tour of Signal Processing Academic Press, 2nd edition, p. 300.
- Manjunath, B. & Ma, W. (1996). Texture Features for Browsin and Retrieval of Image Data. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 18, p. 837842.
- Mason, R., Gunst, R., Hess, J. (1989). Statistical design and analysis of experiments John Wiley & Sons, p. 340.
- Monard, M. & Baranauskas, J. (2003). Conceitos sobre aprendizado de máquinas em Sistemas Inteligentes: Fundamentos e Aplicações. Cap. 4., Editora Manole.
- Moh, J. & Shih, F. (1995). A general-purpose model for image operations based on multilayer perceptrons, Pattern Recognition, vol. 27, n. 3, p. 125-131.
- Muller, K. R., Mika, S. Ratsch, G., Tsuda, K. & Scholkopf, B. (2001). An introduction to kernel-based learning algorithm, IEEE Transactions on Neural Networks, vol. 12, n. 2, p. 181-201.
- Romdhami, S. (1997). Face recognition using principal components analysis, University of Glasgow.
- Rumelhart, D. & J.L McChelland (1986). Learning internal representations by error propagation In: D.E Rumelhart & J.L McChelland. Eds., Parallel distributed processing: explorations in the microstructure of cognition, vol. 1, Cambridge, MA. MIT Press.
- Smola, A. J., Barlett, P., Schölkopf, B., Schuurmans, D. (1999). Introduction to Large Margin Classifiers Cap. 1, p. 1-28.
- Sonka, M.; Hlavac, V.; Boyle, R. (1999). Image processing, analysis, and machine vision PWS Publishing, 2nd edition.
- Thibos, L. N. (2002). Research Computing Laboratory School of Optometry (http://research.opt.indiana.edu)
- Vapnik, V. N. & Chervonenkis, A. (1971) On the uniform convergence of relative frequencies of events to their probabilities. Theory of probability and applications, 16(2), p. 264-280.
- Valerio Netto, A. (2003). Processamento e análise de imagens para medição de vícios de refração ocular, Tese de doutorado, USP, São Carlos, julho, p. 145.
- Krüger, V. & Sommer. G. (2002). Gabor wavelet networks for efficient head pose estimation Image Vision Comput. 20(9-10), p. 665-672.
- Weiss, S. M. & Indurkhya, N. (1998). Predictive Data Mining: A Practical Guide, Morgan Kaufmann Publishers, Inc., San Francisco, CA.
- William H. P., Flannery B. P., Teukolsky S. A. (1992). Numerical recipes in C the art of scientific computing Cambridge University Press, 2nd edition.
Datas de Publicação
-
Publicação nesta coleção
14 Out 2005 -
Data do Fascículo
Jun 2005
Histórico
-
Recebido
06 Out 2003 -
Revisado
24 Jan 2005