Análise de Desempenho de Classificadores Baseados em Redes Neurais, Máquinas de Vetores de Suporte e Florestas de Caminhos Ótimos para o Reconhecimento de Dígitos Manuscritos Aparecido Nilceu Marana, João Paulo Papa e Giovani Chiachia UNESP – Faculdade de Ciências – Departamento de Computação – Bauru - SP (nilceu,papa.joaopaulo,giovanichiachia)@gmail.com Abstract The optical character recognition (OCR) is an important tool in computer vision. Several researches have been motivated by the development of systems that can automatically recognize digital text. In this context, an interesting problem is the automatic reading of handwritten text, in which several applications can be addressed. In such a way, this work aims to compare the robustness of four important classifiers with respect to handwritten numeric digits recognition: artificial neural network using multilayer perceptron (ANN-MLP), support vector machines with radial basis function (SVMRBF) and linear (SVM-LINEAR) kernels and optimumpath forest (OPF), which is a novel graph-based classifier recently introduced in the literature. We are the first to introduce the OPF in the OCR research field as well to perform a detailed study about the SVM-based and ANN-MLP classifiers’ performance in this context. We used a dataset composed by 2000 handwritten samples, in which each digit was represented by its feature vector composed by 72 features extracted by a non homogeneous sampling from the Hough space. The experiments showed that all classifiers achieved good performance, which can demonstrate the robustness of the features extracted from the Hough space. Highlights to the SVM-RBF classifier accuracy and to the OPF classifier training speed, which was much faster. 1. Introdução O reconhecimento ótico de caracteres (do inglês OCR) é uma importante linha de pesquisa na área de visão computacional. Pesquisas sobre OCR são motivadas pela demanda de sistemas que sejam capazes de interpretar dados óticos obtidos através de caracteres escritos manualmente ou por máquinas [1]. Uma aplicação importante de OCR é, por exemplo, a identificação e a separação automática de correspondências nas empresas de correios por meio dos códigos de endereçamento postal [2]. Esta aplicação requer o reconhecimento tanto de caracteres escritos manualmente quanto impressos por máquinas. Como grande parte dos envelopes das correspondências ainda é redigida manualmente, o reconhecimento eficiente de dígitos manuscritos é crucial para a obtenção de um bom desempenho. Para o reconhecimento correto dos dígitos manuscritos, além da utilização de técnicas eficientes para extração de características, é também fundamental a utilização de classificadores eficazes e rápidos. O objetivo principal deste trabalho é comparar o desempenho, em termos de eficácia e tempo de processamento, de quatro importantes técnicas de classificação aplicadas ao reconhecimento de dígitos manuscritos: redes neurais artificiais utilizando perceptron multicamadas (ANN-MLP), máquinas de vetores de suporte com funções de base radial (SVMRBF) e linear (SVM-LINEAR) e florestas de caminhos ótimos (OPF). Vale ressaltar, também, que este trabalho é o primeiro a utilizar o classificador OPF para o reconhecimento ótico de caracteres, bem como é pioneiro na área de reconhecimento de dígitos manuscritos ao investigar comparativamente tais classificadores supervisionados. A Seção 2 descreve o material e as técnicas utilizadas neste trabalho. A Seção 3 apresenta os resultados obtidos com os experimentos e, por fim, a Seção 4 apresenta as conclusões. 2. Material e Métodos Nos experimentos realizados neste trabalho, 2000 dígitos manuscritos por um grupo heterogêneo de pessoas foram utilizados, sendo tal conjunto formado por 200 amostras de cada dígito. Metade destas imagens foi utilizada para treinar os classificadores e a outra metade para testá-los. A Figura 1 apresenta amostras dos dígitos manuscritos utilizados nos experimentos. É possível observar que há uma grande variabilidade intraclasses, o que dificulta consideravelmente a classificação correta dos dígitos. A Figura 2 apresenta um diagrama que ilustra a seqüência de processamento que a técnica adotada neste trabalho requer para a classificação dos dígitos. Inicialmente, a imagem do dígito é digitalizada. Na próxima etapa, as bordas dos dígitos são detectadas utilizando-se operadores de Sobel [3] e afinadas através 2.2. Extração dos Descritores Figura 1: Amostras de alguns dígitos manuscritos utilizados nos experimentos. Bordas Hough Vetor de Características Classificador Figura 2: Fases de processamento da estratégia adotada para o reconhecimento de dígitos manuscritos. de uma técnica para detecção de pixels de cume [4]. Em seguida, calcula-se a transformada de Hough da imagem binária contendo as bordas afinadas do dígito [5]. Na seqüência, extrai-se o vetor de características do dígito a partir do espaço de Hough e, a partir desta representação vetorial, o dígito é finalmente classificado. 2.1. Detecção de Bordas e Afinamento O primeiro passo para a detecção dos pontos de contorno (bordas) é o realce das diferenças dos tons de cinza da imagem fonte. Como as descontinuidades nos tons de cinza de uma imagem caracterizam suas bordas, é preciso localizar as ocorrências mais significativas dessas descontinuidades. Para se obter este resultado, os operadores de Sobel [3] foram utilizados pelo fato de serem simples, rápidos e por apresentarem bons resultados para a base de imagens em questão. Os pixels de cume das bordas detectadas no passo anterior correspondem aos pixels onde as magnitudes do gradiente são máximos locais. A técnica de afinamento de bordas adotada neste trabalho consiste na identificação dos pixels de cume proposta em [4]. Neste trabalho, os descritores dos dígitos manuscritos foram obtidos utilizando-se uma técnica baseada em amostragens não homogêneas do espaço de Hough [6]. Um problema comum no processo de extração de primitivas de imagens consiste na detecção de curvas analíticas, tais como: retas, círculos, parábolas e elipses. A Transformada de Hough (TH) fornece um meio efetivo para a detecção de tais curvas, particularmente para a detecção de retas [5]. A TH é uma transformada paramétrica que transforma os pontos de uma curva num pequeno conjunto de parâmetros que a caracteriza. Praticamente, ela converte um problema difícil e global de detecção de curvas, no espaço da imagem, a um problema relativamente simples de detecção de picos locais, no espaço de parâmetros (também conhecido como espaço de Hough). Ela foi originalmente usada para detectar linhas retas em imagens digitais. No entanto, seu uso foi expandido para a detecção de curvas genéricas definidas analiticamente. Existem vários algoritmos para calcular a TH, tais como a transformada combinatória de Hough, a transformada binária de Hough e a transformada dinâmica de Hough [7, 8, 9]. O que difere tais algoritmos é a desempenho relativo ao tempo e à acurácia da detecção das retas. Neste trabalho foi usado o algoritmo mais simples, chamado de transformada de Hough padrão [5]. Os descritores dos dígitos manuscritos utilizados na classificação são extraídos diretamente do espaço de Hough. O descritor ideal seria constituído pelo espaço de Hough completo, mas tal descritor seria impraticável tanto em termos de armazenamento quanto em termos de tempo de computação [6]. Por essa razão, os descritores são determinados a partir de amostragens não homogêneas do envelope do espaço de Hough, de modo similar ao proposto por Castellano [6]. O envelope do espaço de Hough corresponde à área de concentração das senóides no espaço de Hough. As amostras são obtidas dividindo-se os envelopes em linhas e colunas. Das várias submatrizes bidimensionais resultantes são retirados os valores máximos armazenados, que são colocados em vetores de características. Esses vetores são então utilizados para descrever os dígitos. A Figura 3 ilustra o processo de extração do vetor de características a partir da amostragem não homogênea do espaço de Hough dos dígitos. 2.3. Redes Neurais Artificiais (ANN-MLP) Para se obter classificadores neurais, uma abordagem típica consiste em utilizar uma arquitetura onde os neurônios são conectados em uma estrutura multicamadas, conhecida como ANN-MLP (Articial Neural Networks - Multilayer Perceptron) [10]. Nessa estrutura, a saída de cada neurônio numa determinada camada alimenta a entrada de todos os neurônios da camada seguinte. O número de neurônios da primeira camada corresponde à Figura 3. Extração do vetor de características a partir de amostragem não homogênea do espaço de Hough do dígito manuscrito. dimensionalidade do vetor de características. O número de neurônios da camada de saída ao número de classes do problema de classificação. A rede neural ANN-MLP reconhece um vetor de padrões X como pertencente à classe ωm caso a m-ésima saída da rede possuir o maior valor dentre as m-1 saídas restantes. Este modelo de rede neural é chamado de feedforward, devido ao fato de tanto a camada de entrada quanto as intermediárias, ou escondidas, serem submetidas somente à camada mais alta, ou seja, a camada K é subordinada à camada K-1, e assim por diante. As duas principais funções de ativação usadas em ANNMLP são funções sigmóides dadas por φ(x) = tanh(x) e φ(x) = (1+e-x)-1, onde a primeira é a função tangente hiperbólica, que varia entre –1 e 1, e a última tem o mesmo formato, mas varia entre 0 e 1. Funções de ativação mais especializadas incluem as funções RBF (radial basis function), que consistem em funções cujos valores dependem somente da distância a partir da origem, tal como φ(x) = φ(||x||), ou alternativamente, da distância de algum outro ponto c, chamado centro, tal como φ(x,c) = φ(||x-c||). 2.4. Máquinas de Vetores de Suporte (SVM) Segundo Cortes & Vapnik [11], a máquina de vetores de suporte (Support Vector Machine - SVM) é um procedimento construtivo universal de aprendizagem baseado na teoria de aprendizado estatístico. Assim como as redes neurais, as SVMs podem ser utilizadas para o aprendizado de diversas representações. Adicionalmente, através das funções de núcleo, as SVMs podem implementar um mapeamento não-linear dos dados de entrada para um espaço de características de maior dimensão, determinando hiperplanos ótimos neste espaço. Este mapeamento leva então à separação não-linear dos dados no espaço de entradas em duas ou mais classes e pode ser feito através de funções de base radial ou funções polinomiais, entre outras. Supondo dados de treinamento linearmente separáveis (sem superposição), o hiperplano ótimo no espaço de características é aquele que apresenta a margem de máxima separação (maior distância entre os vetores de suporte). Para dados de treinamento em que as amostras das diversas classes apresentam superposição (dados não separáveis linearmente), uma generalização deste conceito é utilizada. Em casos onde se deseja classificar os dados em apenas duas classes, a classificação é dita binária e lança mão de apenas um hiperplano de separação. A classificação de dados em várias classes exige uma abordagem mais detalhada. Tratando-se da classificação binária, o problema é o de achar uma função paramétrica, linear ou não, para um hiperplano de separação dos pontos de Rm em dois conjuntos, em que m é o número de dimensões existentes. Considerando que o problema seja separável por um hiperplano linear com um conjunto de M observações xi = (xi1,..., xim) e respostas binárias yi , obtêm-se então três hiperplanos: 1. Hiperplano de Separação: H0: y – wtx + b = 0 que separa as observações. 2. Hiperplano Superior: H1: y = wtx + b = +1 que é definido pelos pontos extremos do grupo em que y = +1. 3. Hiperplano Inferior: H2: y = wtx + b = -1 que é definido pelos pontos extremos do grupo em que y = -1. Os pontos extremos que definem os hiperplanos H1 e H2 são chamados de vetores de suporte e a orientação do plano de separação (H0) é feita de forma que a distância entre H1 e H2 seja máxima. Uma vez que a distância entre os hiperplanos H1 e H2 é calculada por (1) e o objetivo é encontrar os parâmetros w que maximizem essa distância, define-se então a função-objetivo do problema como sendo (2) No problema separável por um hiperplano linear, podemos tomar como restrição a não existência de pontos entre H1 e H2. Faz-se então wtx – b ≥ +1 para y = +1 e wtx – b ≤ -1 para y = -1. Essas duas restrições podem ser simplificadas, resultando na restrição (3) O problema de separação tem m+1 incógnitas (w1,..., wm, b) e o hiperplano é estimado apenas pelos pontos extremos das classes, ou seja, os vetores de suporte. Desta maneira, como parte do processo de otimização, os pontos interiores das classes são desconsiderados na função-objetivo [12]. A extensão natural desse modelo é o tratamento dos problemas não separáveis por um hiperplano linear mesmo tendo os dados sido mapeados pelas funções de núcleo. Nesse caso, introduz-se N variáveis de folga (ξi ≥ 0, i=1,…,N) nas restrições. Como contrapartida, essa folga leva a penalização da função-objetivo. Sendo assim, a formulação do problema de otimização passa a ser (4) onde C é uma constante de penalização (C > 0), o que leva o problema a ter N+m+1 incógnitas (ξ1,…,ξN,w1,…,wM,b). 2.5. Floresta de Caminhos Ótimos (OPF) O OPF (Optimum-Path Forest) é um classificador supervisionado de aplicação geral, porém particularmente eficiente para classificação de imagens, o qual tem demonstrado ser similar às SVMs, porém muito mais rápido [13]. O classificador OPF reduz o problema de classificação de padrões para um problema de particionamento em um grafo induzido pelo conjunto de dados. Elementos chave (protótipos) escolhidos previamente iniciam um processo de conquista nesse grafo, oferecendo caminhos de custo ótimo para as demais amostras. É definida uma função de custo de caminho a qual associa a cada caminho no grafo o custo de considerar todos os objetos ao longo do caminho como pertencendo à mesma classe. Sendo assim, aplica-se o algoritmo da Transformada Imagem Floresta (Image Foresting Transform - IFT) [14] com o intuito de particionar o grafo em uma floresta de caminhos ótimos cujas raízes são os protótipos. Desta forma, tais protótipos competem entre si, sendo que cada um deles define uma árvore de caminhos ótimos, isto é, um cluster cujos nós são os objetos mais fortemente conexos ao seu protótipo do que qualquer outro, de acordo com alguma função de custo. O treinamento consiste, essencialmente, em construir essa floresta de caminhos ótimos onde os objetos em uma dada OPF irão possuir o mesmo rótulo de seu protótipo, ou seja, a mesma classe da raiz da árvore da qual ele pertence. Para classificar um objeto do conjunto de treinamento, avaliam-se os caminhos ótimos dos protótipos até ele com o intuito de encontrar qual OPF irá conquistar o elemento a ser classificado. O rótulo dessa árvore é associado ao objeto de teste [15]. 3. Resultados Experimentais Nesta seção são apresentados os resultados para a classificação automática de dígitos manuscritos utilizando quatro classificadores: OPF, SVM-RBF, SVM-LINEAR e ANN-MLP, utilizando 50% das amostras para treinar os classificadores e o restante para posterior classificação. Os experimentos foram executados 10 vezes com diferentes conjuntos de treinamento e avaliação com o intuito de calcular a taxa de acerto média, bem como o seu desvio padrão e os tempos médios de execução de cada classificador. Para implementação do classificador OPF, utilizamos a LibOPF [15], uma biblioteca para o desenvolvimento de classificadores baseados em floresta de caminhos ótimos. Já para SVM-RBF, utilizamos a LibSVM [16], que implementa validação cruzada para otimização dos parâmetros da SVMRBF e emprega a técnica um-contra-um para problemas de classificação com múltiplas classes. Com relação à SVMLINEAR, que utiliza uma função linear para o mapeamento das amostras em um espaço de maior dimensão, adotou-se a LibLINEAR [17]. Finalmente, para implementação da ANN-MLP, utilizou-se a biblioteca FANN [18] com a seguinte arquitetura de rede neural: 72:250:250:10, onde 72 significa o tamanho da camada de entrada da rede (número de características), 250 corresponde a 25% do tamanho do conjunto de treinamento (temos, assim, duas camadas escondidas com 250 neurônios cada uma) e 10 corresponde ao número de neurônios da camada de saída, ou seja, ao número de classes (dígitos de 0 a 9). A Tabela 1 apresenta a acurácia média dos classificadores utilizados. Tabela 1: Taxas médias de reconhecimento e tempos de execução (segundos) para os classificadores OPF, SVMRBF, SVM-LINEAR e ANN-MLP. Classificador OPF SVM-RBF SVMLINEAR ANN-MLP Acurácia 90.91 ± 0.53 94.12 ± 0.51 Tempo de execução (treinamento) 0.2475 422.0 Tempo de execução (teste) 0.2463 0.57819 88.16 ± 1.06 7.9056 0.0249 89.76 ± 1.44 25653.15 0.16834 Os classificadores utilizados obtiveram boas taxas de acerto no conjunto de testes, o que demonstra a robustez do conjunto de características extraídas do espaço de Hough. Em relação à acurácia, o destaque vai para o classificador SVM-RBF, que, em comparação ao segundo colocado, classificou corretamente em média 3.21% a mais dos casos. Entretanto, nota-se que o classificador OPF foi extremamente mais rápido que os demais algoritmos com relação ao tempo de execução da fase de treinamento. O algoritmo baseado em floresta de caminhos ótimos foi, respectivamente, 1707.05, 31,94 e 103649.97 vezes mais rápido (fase de treinamento) que a SVM-RBF, a SVMLINEAR e a ANN-MLP. As Tabelas 2-5 apresentam as matrizes de confusão obtidas para os classificadores OPF, SVMRBF, SVM-LINEAR e ANN-MLP. Tabela 2: Matriz de confusão apresentando desempenho do Classificador OPF para cada dígito. 0 1 2 3 4 5 6 7 8 9 0 93 0 0 1 0 2 2 3 4 3 1 1 90 6 0 2 1 0 4 0 2 2 0 2 81 0 1 0 0 0 1 2 3 1 1 6 87 2 4 0 3 2 8 4 0 0 0 0 73 0 0 3 1 2 5 0 0 2 6 0 81 0 0 3 2 6 1 0 1 0 5 3 92 1 4 0 7 0 0 0 0 2 0 0 77 0 0 8 0 1 1 3 3 7 6 5 81 3 o 9 4 6 3 3 12 2 0 4 4 78 Tabela 3: Matriz de confusão apresentando o desempenho do classificador SVM-RBF para cada dígito. 0 1 2 3 4 5 6 7 8 9 0 96 0 0 0 0 0 1 0 0 1 1 0 99 6 0 1 1 0 3 3 0 2 1 0 85 3 0 0 2 0 2 2 3 0 1 3 86 2 1 0 0 1 4 4 0 0 0 0 92 0 0 2 0 4 5 0 0 4 5 0 93 4 0 3 1 6 0 0 0 0 0 0 92 0 1 0 7 0 0 0 1 1 0 0 84 1 1 8 0 0 2 2 0 4 1 10 90 2 9 2 0 0 3 4 1 0 1 0 85 Tabela 4: Matriz de confusão apresentando o desempenho do classificador SVM-LINEAR para cada dígito. 0 1 2 3 4 5 6 7 8 9 0 88 0 1 0 0 3 2 2 0 3 1 1 82 14 1 8 3 5 3 5 4 2 0 1 68 1 0 1 0 0 1 1 3 2 4 4 76 2 7 2 3 4 8 4 0 0 0 0 78 0 0 0 0 4 5 0 5 4 9 1 69 4 6 6 4 6 3 1 2 1 1 4 81 0 1 0 7 0 1 2 6 2 1 0 82 5 2 8 6 4 5 5 3 8 5 4 78 23 9 0 2 0 1 5 4 1 0 0 51 Tabela 5: Matriz de confusão apresentando o desempenho do Classificador ANN-MLP para cada dígito. 0 1 2 3 4 5 6 7 8 9 0 90 0 0 0 0 0 0 0 0 0 1 0 89 0 0 1 0 0 12 0 5 2 0 0 88 0 0 0 0 0 0 0 3 2 6 0 87 7 14 0 0 15 0 4 0 0 0 0 87 0 0 0 0 0 5 0 0 0 0 0 84 0 0 0 0 6 6 10 2 1 0 0 100 0 0 0 7 0 0 0 0 0 0 0 88 0 7 8 0 0 0 0 5 0 0 0 85 0 9 2 0 10 12 0 2 0 0 0 88 4. Conclusões No presente trabalho foram analisados os desempenhos de quatro classificadores supervisionados (OPF, SVM-RBF, SVM-LINEAR e ANN-MLP) para o reconhecimento automático de dígitos manuscritos sobre uma base contendo 2000 imagens (200 imagens para cada dígito). Cada imagem representou um exemplo no espaço de entradas por meio de um conjunto de características extraídas através de uma amostragem não homogênea do espaço de Hough. Os resultados experimentais demonstraram que tal metodologia para representação dos dígitos foi muito eficaz, tendo acertado os classificadores em torno de 91% dos casos de teste. Os destaques são o classificador SVM-RBF, que acertou o maior número de casos, e o algoritmo baseado em floresta de caminhos ótimos, que foi extremamente mais rápido que os demais na fase de treinamento. Este trabalho destaca-se por ser o primeiro a utilizar o classificador OPF na área de OCR, bem como por promover um estudo comparativo entre classificadores “estado-da-arte” aplicados ao problema de reconhecimento de dígitos manuscritos. Como trabalho futuro pretende-se investigar mais classificadores e outras metodologias de amostragem do espaço de Hough. Referências Bibliográficas [1] TAPPERT, C. C., SUEN, C. Y., and WAKARA, C. "The state of the art in on-line handwritten recognition”, IEEE Trans. on Pattern Analysis and Machine Intelligence, 12 (8), pp. 787-808, 1990. [2] SRIHARI, S. N. "Recognition of handwritten and machine printed text for postal address interpretation", Pattern Recognition Letters, 14 (4), pp. 291-302, 1991. [3] GONZALEZ, R. C. "Digital Image Processing", Addison Wesley, 1993. [4] BÄSSMANN, H. and BESSLICH, P. W. “Ad Oculos”, Digital Image Processing, Thomson Publishing, 1995. [5] ILLINGWORTH, J. and KITTLER, J. “A survey of the Hough Transform”, Computer Vision, Graphics, and Image Processing, vol. 44, pp. 87-116, 1988. [6] CASTELLANO, G.; SANDLER, M. B. “Handwritten digits recognition using Hough transform and neural networks”. In: IEEE Int. Symp. Circuits and Systems, Proceedings of IEEE Int. Symp. Circuits and Systems, Atlanta, 1996. [7] CHAN, C. K. “Hough Transform techniques for pattern recognition”, PhD. Thesis, University of London (King's College), Londos, UK, 1994. [8] LI, H., LAVIN, M. A. and LE MASTER, R. “Fast Hough Transform: a hierarquical approach”, Computer Vision, Graphicis, and Image Processing, vol.36, pp.139161, 1986. [9] TZVI, D. B. “New technique for the Hough Transform for shape representation”, PhD. Thesis, University of London, King's College, London, UK, 1990. [10] HAYKIN, S. "Redes Neurais: Princípios e Prática", Bookman, 2ed, 2000. [11] CORTES, C.; VAPNIK, V. "Support-Vector Networks", Machine Learning, vol. 20, no. 3, pp 273-297, 1995. [12] DUDA, R. O.; HART, P. E.; STORK, G. S. “Pattern Classification”, 2ed, Wiley, 2000. [13] PAPA, J. P.; FALCÃO, A. X.; SUZUKI; C. T. N. "Supervised pattern classification based on optimum-path forest", International Journal of Imaging Systems and Technology, vol. 19, no. 2, pp. 120-131, 2009. [14] FALCÃO, A. X.; STOLFI, J.; LOTUFO. R. A. "The Image Foresting Transform: Theory, Algorithms and Applications", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 26, no. 1, pp. 19-29, 2004. [15] PAPA, J. P.; FALCÃO, A. X.; SUZUKI; "LibOPF: A library for the design of optimum-path forest classifiers", available at http://www.ic.unicamp.br/~afalcao/libpf, 2008. [16] Chih-Chung C.; Chih-Jen, L.; “LibSVM: A library for support vector machines”, 2001. Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm [17] FAN, R.-E.; CHANG, K.-W.; HSIEH C.-J., WANG X.-R.; C.-J. LIN. “LibLINEAR: A Library for Large Linear Classification”, Journal of Machine Learning Research, vol. 9, 1871-1874, 2008. Software available at http://www.csie.ntu.edu.tw/~cjlin/liblinear [18] NISSEN, S. “FANN: Fast Artificial Neural Network Library”, Department of Computer Science, University of Copenhagem, 20003. Software available at http://leenissen.dk/fann/