Abstract— Automatic bank check processing is a very hard task as it requires efficiency and precision. Banks have been adding different background patterns in the checks to increase its security. For automatic recognition of the contents of the check, the systems need to remove this background as it does not contain any valid information of the check. This can be done by thresholding algorithms which can work in document images removing all the background and letting just the ink colors to remain. In this paper, we present a new algorithm to threshold images of the courtesy amount of Brazilian bank checks. This new algorithm uses the concept of entropy as defined by Tsallis to find the best cut-off value. Experiments have shown that our algorithm is better than several well-known thresholding algorithms.
Keywords— Entropy, Image Processing, Document Image Processing.
I. INTRODUÇÃO
OM os avanços na tecnologia da informação, os bancos vêm investindo cada vez mais na automação de seus processos. O processamento automático de cheques envolve, principalmente, o reconhecimento das informações contidas no cheque como dados do cliente, do banco e valor do cheque. Essa é uma tarefa bastante complexa já que deve ser segura e precisa. A falsificação deve ser dificultada ao máximo. Para isso, os bancos usam diferentes padrões no fundo do cheque com variações de formas e de cores. No entanto, isso dificulta também o uso de técnicas de reconhecimento automático das informações do cheque já que, muitas vezes, os tons dos padrões se confundem com os tons da tinta do texto. No Brasil, existem 159 bancos; cada um tendo diferentes tipos de cheque para cada tipo de conta corrente.
Um cheque bancário brasileiro pode ser dividido em quatro grandes áreas: a área 1 com informações do banco e da conta do cliente; a Área 2 (chamada de Courtesy Amount – CA) com o valor numérico do cheque; a Área 3 (contendo a logomarca do banco, data, assinatura do cliente e o valor por extenso do cheque – o Legal Amount ou LA) e a Área 4 com o CMC7 (Character Magnetic Code) que é um código de identificação. Por regulamentação do Banco Central do Brasil, todos os bancos devem ter seus cheques assim divididos e em
Este trabalho foi apoiado pelo Departamento de Sistemas e Computação da Escola Politécnica de Pernambuco, Universidade de Pernambuco e pela AiLeader Pattern Recognition.
R.F.P.Neves, C.A.B.Mello e M.S.Silva fazem parte do Departamento de Sistemas e Computação, Universidade de Pernambuco, Recife, PE, Brasil, rfpn, carlos, [email protected].
B.L.D.Bezerra está com a AiLeader Pattern Recognition, Recife, PE, Brasil, [email protected].
localizações específicas no cheque. As dimensões das áreas, no entanto, podem sofrer pequenas variações. A Fig. 1 mostra um exemplo de cheque brasileiro e a distribuição dessas quatro áreas principais.
Figura 1. Diagramação de um cheque brasileiro.
Para automatizar o processamento de cheques, é necessário reconhecer o texto e validar alguns campos. Reconhecimento de texto é feito usando técnicas de OCR (Optical Character Recognition – Reconhecimento Óptico de Caracteres) [1]. Um algoritmo de OCR tem, basicamente, os seguintes passos: pré-processamento, limiarização, extração de características e o reconhecimento em si. Este artigo explora a fase de limiarização que é responsável pela separação dos objetos (o texto) do fundo (o papel). Definimos um novo método para binarização da região do courtesy amount de cheques brasileiros para fins de reconhecimento do valor do cheque. O reconhecimento desse valor é mais simples que do valor por extenso já que o conjunto de símbolos (dígitos) é menor.
Existem diversas pesquisas importantes associadas ao processamento de imagens de cheques. Após a binarização (tratada em mais detalhes na próxima Seção), a segmentação de caracteres é um dos passos mais importantes nesse processamento automático visando a um reconhecimento do texto escrito em cheques. Esse assunto é abordado em [2] onde os autores propõem um processo de segmentação em dois estágios (um global e outro local) para o reconhecimento do valor do cheque.
Estudos em informação manuscrita são feitos em [3]. Em [4], os autores propõem um novo método para limiarização de imagens de cheques bancários chineses baseado em casamento de sinais que traz resultados satisfatórios para o campo data daqueles cheques. No entanto, para usar essa técnica é necessário um sinal base com a estrutura do campo o qual o algoritmo atuará.
Segmentação da data é estudada em [5] com a proposta de um sistema para reconhecimento da data, onde o primeiro passo é separar o campo de data em três sub-imagens, correspondendo ao dia, mês e ano. Em [6], é descrito um R. F. P. Neves, Member IEEE, C. A. B. Mello, Member IEEE, M. S. Silva e B. L. D. Bezerra
Thresholding the Courtesy Amount of Brazilian
Bank Checks Based on Tsallis Entropy
método para segmentar e reconhecer automaticamente vários campos do cheque através de conectividade, entropia, energia, e outras medidas.
A próxima Seção revisa alguns conhecidos algoritmos de limiarização e apresenta seus resultados quando aplicados ao nosso objeto de estudo (o courtesy amount de cheques brasileiros). Na Seção 3, detalhamos nossa proposta de algoritmo. Os resultados são apresentados e analisados na Seção 4 e a Seção 5 conclui o artigo.
II. ALGORITMOS DE LIMIARIZAÇÃO
Limiarização ou binarização é o processo que busca por um ponto de corte que separe objetos relevantes (no nosso caso, a tinta) do restante da imagem (no nosso caso, o papel) [1]. Encontrar o correto ponto de corte para imagens de cheques é bastante difícil dado a complexidade dos padrões no fundo do cheque. Assim, é comum o tratamento de cada área do cheque em separado. Limiarização é um dos primeiros passos em sistemas de segmentação de imagens [7][8].
Cavalcanti et al. [9] criaram uma proposta de limiarização do CA baseado no fato que não existe apenas um valor que separa exatamente o texto do fundo, mas, sim, um espaço de valores. A idéia principal é encontrar dois pontos de corte T1 e
T2 para restringir esse espaço. T1 é o valor de corte que
elimina a maior parte do fundo, enquanto T2 é o ponto de corte
que define a tinta. Todos os valores acima de T1 são
convertidos para branco e todos os valores abaixo T2 são
convertidos para preto. Os valores entre T1 e T2 são analisados
de acordo com seus vizinhos. Se qualquer vizinho ao redor de um pixel tem valor acima de T2 então esse pixel tem sua cor
convertida para preto; do contrário, ela vira branco. Esse método é usado na ferramenta iBinarize™ da AiLeader Pattern Recognition para processamento de imagens de cheques.
De uma maneira geral, existem diversos algoritmos clássicos para limiarização de uma forma geral. O algoritmo de Otsu [10] quebra o histograma em duas classes C0 e C1
relacionadas ao papel e à tinta. O nível t, o qual define esse ponto de quebra, é obtido pela minimização das equações:
λ = σb2/σw2 (1)
η = σb2/σt2 (2)
κ = σt2/σw2 (3)
onde σw2 é a variância dentro da classe; σb2 é a variância entre
classes e σt2 é a variância total.
Em [11], Pun propôs um algoritmo de limiarização baseado em entropia. A entropia é calculada para toda a imagem e é dividida em: entropia do background (Hw) e entropia do
foreground (Hb). O valor de corte é o valor que maximiza:
H = Hb + Hw. (4)
Mello criou um novo algoritmo de limiarização para atuar em imagens de documentos históricos o qual foi definido em [13] e aprimorado em [12]. Embora tenha sido desenvolvido para documentos históricos, esse método também gera bons resultados em imagens de cheques já que os dois tipos de imagens têm em comum o background complexo. O algoritmo
é baseado na entropia de Tsallis [14] que pode ser definida como: 1 ) ( 1 ) ( − − =
∑
α α α i i p S H (5)onde p(i) é a probabilidade de a cor i estar na imagem e α é um número real o qual assume valores diferentes dependendo da aplicação.
Baseado na idéia de Pun, o algoritmo de Mello usa a cor mais freqüente, t, para separar a entropia de Tsallis [14] como:
) ( ) ( ) (S H A H B Hα = bα + wα (6) onde
∑
= − − − = t i b b p i X A H 0 ) ( 1 1 1 ) ( α α α α (7) e∑
+ = − − − = 255 1 ) ( 1 1 1 ) ( t i w w p i X B H α α α α (8)com Xb e Xw variáveis tal sua soma seja igual a 1. O valor de
corte final, th, é: α α w b mw H H mb th= * + * (9) onde mb e mw são constantes definidas heuristicamente,
usando a entropia de Shannon (detalhes em [13]).
Esses e outros algoritmos (listados na Seção IV) foram testados para imagens de courtesy amount. Nossa base de imagens tem mais de 1.300 cheques digitalizados a 200 dpi de resolução e 256 níveis de cinza. Com dito anteriormente, nosso objetivo é limiarizar o courtesy
amount dessas imagens de cheques. A imagem ideal que desejamos
encontrar é aquela que preserva a maior parte do conteúdo registrado pela tinta e elimina todo o resto. Essa é uma tarefa bastante difícil, pois, às vezes, o texto é preservado, mas parte do fundo também; ou todo o fundo e removido assim como parte do texto.
Esses experimentos mostraram que a melhor binarização foi conseguida pelo algoritmo de Mello para a maior parte das imagens de CA. Em alguns casos, porém, os resultados não foram tão bons como o exemplo mostrado na Fig. 3. Foi observado que algumas características do método de Mello não estavam trazendo bons resultados para as imagens de cheque. Notadamente, a classificação das imagens usando a entropia de Shannon e, posteriormente, a definição do valor das constantes para gerar o ponto de corte pode não chegar a um valor ideal. Mais detalhes sobre esses resultados são apresentados na Tabela II e discutidos na Seção IV.
A seguir, apresentamos uma variação proposta nesse método para alcançar nossos propósitos.
III. NOVO ALGORITMO PARA LIMIARIZAÇÃO DO COURTESY AMOUNT
Baseado no algoritmo de Mello, a nova proposta trabalha com a mesma idéia inicial: quebrar a entropia de Tsallis, usando a cor mais freqüente, e classificar as imagens em grupos para definir as constantes usadas em (7), (8) e (9).
A classificação da imagem é feita agora usando a quantidade de texto existente na imagem ao invés da entropia de Shannon como é feito no algoritmo original de Mello.
Primeiro, a imagem é binarizada com um valor de corte fixo th definido experimentalmente. O valor do stroke-run é então calculado nessa imagem em duas cores: o stroke-run é um vetor com a quantidade de carreiras com um determinado comprimento nos objetos da imagem. Por carreira entendemos seqüências adjacentes de pixels com uma mesma cor. No caso, estamos interessados apenas em seqüências de preto já que essas correspondem à tinta. Por exemplo, a primeira posição do vetor guarda o número de carreiras com comprimento igual a 1; a segunda posição guarda o número de objetos com comprimento de carreira igual a 2 e assim por diante. Por causa das características da tinta de um documento, vamos considerar apenas carreiras com comprimento entre 1 e 6.
A quantidade de texto preservado é obtida pela soma do vetor sstroke-run. As imagens são então divididas em cinco grupos de acordo com a quantidade de texto preservado (TP):
• Grupo 1: TP < 700 objetos;
• Grupo 2: 700 objetos ≤ TP < 1.500 objetos;
• Grupo 3: 1.500 objetos ≤ TP < 2.200 objetos;
• Grupo 4: 2.200 objetos < TP < 3.000 objetos;
• Grupo 5: TP > 3.000 objetos.
Os valores usados para separar cada grupo foram encontrados empiricamente.
Os primeiros dois grupos contêm imagens claras: imagens com a cor mais freqüente (t) e histogramas agrupados perto de 255 em uma imagem com 256 tons de cinza. Esse grupo contém também imagens com histograma achatado. Essas características são entendidas como distorções de um histograma ideal e podem ser facilmente identificadas analisando o histograma da imagem como pode ser visto na Fig. 2. A Fig. 2a apresenta uma imagem comum de um courtesy amount e seu histograma em comparação com outras imagens (Figs. 2b e 2c) que também fazem parte do grupo um, mas apresentam distorção em seus histogramas.
É possível usar as medidas de assimetria e curtose para identificar essas distorções. Assimetria analisa a concentração do histograma ao redor do seu valor médio. Uma distribuição gaussiana tem uma assimetria com valor 0. Se a assimetria for negativa, isso indica que a maior parte do histograma está concentrada no lado esquerdo da distribuição; caso contrário, ela está agrupada no lado direito. A curtose mede o achatamento de uma distribuição em relação a uma distribuição Normal. Quando seu valor é 0, o histograma é tão achatado quanto uma distribuição gaussiana. Se seu valor é menor que 0, a distribuição é mais achatada.
Após identificar as imagens que são claras e com distorções no histograma, o método proposto aplica uma especificação de histograma [15] nelas para corrigir suas distribuições. Essa técnica muda o histograma inicial tal que ele se aproxime ao de outra distribuição dada – chamada de distribuição de referência (veja a Fig. 3).
a)
b)
c)
Figura 2. Análise do histograma: a) um courtesy amount normal com seu histograma similar a uma função gaussiana; b) uma imagem com o histograma
mais concentrado no seu lado direito (tons claros); e c) uma imagem com o histograma mais achatado que o normal.
Para escolher a melhor distribuição a ser usada como referência para a especificação, um índice de fidelidade foi usado [16]. Tal índice avalia o grau de semelhança entre duas imagens ou duas distribuições. No caso, o índice usado foi desenvolvido para imagens, mas adaptado para comparar histogramas. Ele apresenta um valor entre -1 e 1, onde 1 representa duas imagens (ou histogramas) iguais. Esse índice foi calculado nos histogramas das imagens de nossa base.
Cada histograma é comparado com todos os outros usando o índice de fidelidade. O histograma que alcançar, em média, o maior valor de similaridade (e menor desvio padrão) é o escolhido para ser o histograma de referência da especificação. A Fig. 3a mostra esse histograma de referência. As Figs. 3b e 3c apresentam uma imagem com distorção no histograma e o resultado após a especificação, respectivamente.
a)
b)
c)
Figura 3. Exemplo de especificação de histograma: a) histograma de referência; b) imagem clara com distorções de histograma; e c) Fig. 3b
imagem resultante após aplicação da especificação de histograma. Com a análise do histograma feita, o Grupo 1 é agora dividido em três sub-grupos, e o Grupo 2 é dividido em dois
sub-grupos (novamente, seja t a cor mais freqüente da imagem):
Grupo 1:
• Imagens com t > 250;
• Imagens com t > 200, curtose > 2 e assimetria > 1 (i.e., imagens claras com seus histogramas concentrados nos tons claros);
• As outras imagens desse grupo. Grupo 2:
• Imagens com curtose > 20;
• Imagens com curtose ≤ 20.
As imagens classificadas no Grupo 1 com t > 250 ou com t > 200, curtose > 2 e assimetria > 1 e imagens classificadas no Grupo 2 com curtose > 20 são as que precisam de especificação de histograma para alcançar um melhor resultado na binarização pelo método proposto.
Para cada grupo, as constantes α, mb e mw são definidas de
acordo com a Tabela I. O ponto de corte é então obtido conforme (9).
TABELAI
CONSTANTES DEFINIDAS BASEADO NA QUANTIDADE DE TEXTO PRESERVADO
(TP) PARA CADA GRUPO DE IMAGENS. Grupo Número de Objetos Constantes
1 TP < 700 se (t > 250) mb = mw = 1; α = 0,19; se (t > 200, curtose > 2 e assimetria > 1) mb = mw = 1; α = 0,20; caso contrário mb=0,5; mw=3;α = 0,18; 2 700 ≤ TP < 1.500 se (curtose > 20) mb=1,5; mw=0,5;α=0,27; caso contrário mb=1; mw=2,5; α=0,25; 3 1.500 ≤ PP < 2.200 mb=1; mw=2; α = 0,32; 4 2.200 ≤ PP < 3.000 mb = mw = 1; α = 0,35; 5 TP ≥ 3.000 mb = mw = 1; α = 0,4;
Assim como em [12], a escolha dos parâmetros é feita de forma empírica, considerando os resultados por inspeção visual. Pode-se observar como mudanças no parâmetro α afetam o resultado da binarização no exemplo a seguir. Considere a imagem da Fig. 4a que apresenta um exemplo de uma imagem de CA. Considerando apenas a entropia de Tsallis conforme definido em (5) como ponto de corte, variações no parâmetro α levam a diferentes valores de corte, como pode ser visto na Fig. 4. Isso mostra também que valores de α que podem gerar imagens de boa qualidade não estão em um espaço muito grande. Nesse exemplo, os valores de 0,1 e 0,5 já geraram imagens com muito ruído ou com o texto quase todo apagado.
As partes mais custosas (em termos computacionais) do algoritmo são relativas ao cálculo do vetor stroke-run (feito sob a matriz da imagem) e à especificação do histograma (feito usando o histograma da imagem e posterior correção das suas cores). A definição de constantes e através delas do ponto de corte é feita através de regras definidas tomando como base o valor da quantidade de texto preservada, calculada usando o vetor stroke-run. A criação desse vetor é feita através de duas leituras da matriz imagem (uma na horizontal e outra na
vertical), sendo assim de complexidade 2.n.m, onde n é o número de linhas e m o número de colunas da imagem. O histograma pode ser calculado junto com a criação do vetor stroke-run, não aumentando a complexidade do algoritmo. Apenas a especificação da imagem, quando necessária, exige uma nova leitura da matriz, acrescentando uma nova função de complexidade n.m. Assim, no pior caso, quando a especificação é necessária, pode-se considerar que o algoritmo tem complexidade O(n2).
a) b) c)
d) e) f)
g) h)
Figura 4. Conseqüências no ponto de corte (th) para limiarização com variações do parâmetro α: a) imagem original em tons de cinza e imagens limiarizadas com b) α = 0,1, th = 178; c) α = 0,2, th = 127; d) α = 0,27, th = 102; e) α = 0,3, th = 94; f) α = 0,4, th = 71; g) α = 0,5, th = 56; e h) α = 0,6,
th = 47. IV. RESULTADOS
O padrão ouro de cada imagem é usado para analisar os resultados. Para isso, imagens ideais foram geradas manualmente, onde cada melhor ponto de corte foi definido por inspeção visual para binarizar as imagens. Cada imagem produzida por algoritmos de limiarização é comparada com essa imagem ideal usando quatro métricas: precisão, acurácia, sensibilidade e especificidade [17].
Precisão avalia o erro na classificação do papel. Se seu valor tende para 1, então houve poucos erros na classificação do papel. Sensibilidade é o erro na classificação da tinta; quando seu valor tende para 1, então houve poucos erros na classificação da tinta. Acurácia indica a quantidade de erros na classificação (tinta e papel). Seu valor tendendo para 1 indica poucos erros na classificação em geral. Por ultimo, especificidade avalia a correta classificação do papel e, se seu valor for igual a 1, então todo o papel foi corretamente classificado. Essas medidas são definidas como:
Precisão = TP/P (10) Sensibilidade = TP/(TP + FN) (11) Acurácia = (TP + TN)/(P + N) (12) Especificidade = TN/(FP + TN) (13) onde: • P = TP + FP e N = TN + FN;
• TP (True Positive – Verdadeiros Positivos): o número de pixels corretamente classificados como papel;
• FP (False Positive – Falsos Positivos): o número de pixels erroneamente classificados como papel;
• TN (True Negative – Verdadeiros Negativos): o número de pixels corretamente classificados como tinta;
• FN (False Negative – Falsos Negativos): o número de pixels erroneamente classificados como tinta.
Para testar nosso algoritmo, usamos uma base com mais de 1.300 imagens de cheques brasileiros, digitalizados com 200
dpi de resolução e em tons de cinza. O CA de cada cheque foi separado do restante do cheque. A Tabela II mostra a comparação entre diversos algoritmos de limiarização e nossa proposta em relação à imagem ideal. O melhor algoritmo deve ter todas as quatro medidas próximas de 1 ao mesmo tempo.
Para tanto, 23 algoritmos foram escolhidos para teste. Isso inclui o algoritmo original de Mello [12] e o de Cavalcanti [9] voltado a binarização de cheques. Além desses, apresentamos os resultados gerados também pelos algoritmos de: como: dois picos [1], Li-Lee [18], C-Means [19], Brink [20], Huang [21], Kapur [22], Otsu [10], Johannsen [1], White [23], porcentagem de preto [1], Yager [23], Kapur [23], seleção iterativa [1], Yen [23], Fisher [23], tom médio dos níveis de cinza [1], Renyi [23], Bernsen [23], Niblack [23], Kittler [23], Sauvola [23], Pun [1]. Esses algoritmos foram escolhidos por serem referência em artigos sobre binarização ou por serem baseados em entropia, como a nossa proposta. Maiores detalhes sobre eles podem ser encontrados em [23]. Podemos observar pela Tabela II que nosso algoritmo foi o único que apresentou todas as quatro medidas com valores acima de 0,9, mostrando um bom desempenho na classificação tanto do papel quanto da tinta.
TABELAII
COMPARAÇÃO ENTRE ALGORITMOS DE LIMIARIZAÇÃO:MÉDIA (E DESVIO
PADRÃO) PARA PRECISÃO (P),SENSIBILIDADE (S),ACURÁCIA (A) E
ESPECIFICIDADE (E). Algoritmo P S A E Novo Algoritmo 0,90 (0,17) 0,92 (0,13) 0,98(0,02) 0,99(0,02) Johannsen 0,86 (0,27) 0,99 (0,02) 0,93(0,12) 0,98(0,03) White 0,78 (0,18) 0,98 (0,02) 0,94(0,09) 0,97(0,02) Mello 0,81 (0,23) 0,98 (0,02) 0,91(0,17) 0,97(0,03) Li-Lee 0,97 (0,05) 0,99 (0,01) 0,76(0,29) 0,93(0,14) Cavalcanti 0,88 (0,21) 0,77 (0,11) 0,97(0,02) 0,99(0,02) Porc de Preto 0,96 (0,09) 0,99 (0,01) 0,68(0,26) 0,96(0,02) Otsu 0,99 (0,03) 0,99 (0,01) 0,61(0,20) 0,95(0,03) Yager 0,99 (0,04) 0,99 (0,01) 0,63(0,23) 0,91(0,14) Kapur 0,99 (0,04) 0,99 (0,01) 0,60(0,18) 0,92(0,11) Sel. Iterativa 0,99 (0,04) 0,99 (0,01) 0,56(0,27) 0,89(0,12) Yen 0,99 (0,04) 0,99 (0,01) 0,54(0,22) 0,87(0,17) Fisher 0,99 (0,03) 0,99 (0,01) 0,55(0,31) 0,84(0,21) Tom Médio 0,98 (0,09) 0,99 (0,01) 0,53(0,28) 0,86(0,15) Brink 0,99 (0,03) 0,99 (0,08) 0,54(0,31) 0,83(0,22) Renyi 0,99 (0,03) 0,99 (0,01) 0,41(0,22) 0,81(0,18) Bernsen 0,99 (0,03) 0,99 (0,01) 0,27(0,16) 0,74(0,13) Huang 0,98 (0,06) 0,99 (0,01) 0,36(0,34) 0,65(0,28) C-Means 0,99 (0,03) 0,99 (0,01) 0,28(0,23) 0,70(0,18) Niblack 0,96 (0,04) 0,99 (0,01) 0,22(0,11) 0,75(0,05) Kittler 0,09 (0,07) 0,93 (0,03) 0,93(0,24) 0,93(0,03) Dois picos 0,98 (0,07) 0,97 (0,14) 0,27(0,32) 0,56(0,24) Sauvola 0,97 (0,05) 0,99 (0,01) 0,16(0,08) 0,62(0,06) Pun 1,00 (0,00) 1,00 (0,00) 0,15(0,08) 0,59(0,05)
Outra comparação feita foi através do uso de métricas de distâncias para avaliar a dissimilaridade entre as imagens binárias. Para tanto, foram calculadas as distâncias entre os CA’s binarizados e as imagens ideais foram calculadas. As distâncias avaliadas foram: Euclidiana, City Block, Minkowski, Canberra e Angular [24]. No caso das imagens e preto-e-branco, as distâncias de Canberra e City Block apresentaram os mesmos resultados. Os melhores algoritmos devem ter as menores distâncias a não ser a angular que quanto maior melhor.
A Tabela III apresenta os valores médios dessas distâncias calculadas para os mesmos algoritmos presentes na Tabela II.
Novamente, nosso novo algoritmo alcançou os melhores resultados.
Por último, avaliamos o erro médio quadrático (MSE – Mean Square Error) e sua forma em escala logarítmica a Razão Sinal-Ruído de Pico (PSNR – Peak Signal-to-Noise Ratio). Esses valores são obtidos através das seguintes equações:
∑
= − = m i i l i k m MSE 1 2 ) ( ) ( 1 (14) ) ( log 10 2 10 MSE C PSNR= (15)onde: k é a imagem ideal; l a imagem resultante dos algoritmos; m o tamanho da imagem e C a cor máxima que um pixel pode assumir. Em uma imagem binária C = 1, em uma imagem em tons de cinza C = 255. O melhor algoritmo deve ter alto PSNR e baixo MSE. O desempenho de nossa proposta em comparação com outros algoritmos de limiarização pode ser visto na Tabela III, onde apresentamos os resultados médios. Como pode ser visto, o algoritmo proposto alcançou o menor MSE e um dos mais altos valores PSNR, em média.
TABELAIII
COMPARAÇÃO ENTRE ALGORITMOS DE LIMIARIZAÇÃO:VALORES MÉDIOS DE
DISTÂNCIAS (E=EUCLIDIANA,CB=CITY BLOCK,M=MINKOWSKI,A= ANGULAR),MSE E PSNR. Algoritmo E CB M A MSE PSNR Novo Algoritmo 17,57 412,8 6,51 0,0128 0,01 21,40 Johannsen 17,78 499 6,41 0,0128 0,02 22,10 White 23,07 628 7,96 0,0128 0,02 18,24 Mello 23,50 739 7,90 0,0128 0,02 18,92 Li-Lee 31,20 2076 8,99 0,0126 0,07 18,58 Cavalcanti 27,76 852,0 9,07 0,0128 0,03 16,38 Porc de Preto 31,64 1150 9,80 0,0127 0,04 15,68 Otsu 35,08 1390 10,55 0,0127 0,05 14,59 Yager 40,85 2642 11,25 0,0125 0,09 14,6 Kapur 40,70 2268 11,45 0,0126 0,07 13,86 Sel. Iterativa 47,43 3255 12,46 0,0125 0,11 13,42 Yen 50,29 3711 13,04 0,0123 0,12 12,43 Fisher 54,42 4844 13,37 0,0121 0,16 13,13 Tom Médio 53,41 4131 13,47 0,0123 0,14 12,42 Brink 55,89 5073 13,63 0,012 0,17 12,82 Renyi 65,37 5573 15,69 0,0119 0,18 9,879 Bernsen 83,74 7628 18,94 0,0097 0,25 6,798 Huang 89,08 10538 19,01 0,0105 0,35 8,128 C-Means 87,64 8842 19,33 0,0113 0,29 6,893 Niblack 86,28 7544 19,49 0,015 0,25 6,165 Kittler 43,72 2025 12,32 0,0124 0,07 12,28 Dois picos 105,82 13279 21,59 0,0099 0,44 6,511 Sauvola 105,60 11247 22,32 0,0166 0,37 4,387 Pun 110,53 12271 23,02 0,0108 0,40 3,975 V. CONCLUSÕES
Este artigo apresenta um novo algoritmo para binarização do courtesy amount de imagens de cheques bancários brasileiros. A área do courtesy amount contém o valor numérico do cheque. Essa é uma área pequena do cheque (em relação a seu tamanho total) e contém elementos da tinta usada para preencher o cheque já que, em geral, as pessoas usam uma caneta apenas para preencher o cheque ou um sistema de preenchimento automático cuja tinta não varia tanto em um mesmo cheque. Assim, é possível colher informação importante sobre o cheque analisando essa área. Em um
sistema de reconhecimento bancário automático, essa é a área mais fácil para uma identificação automática do valor do cheque. Para limiarização, aplicamos diversos algoritmos bastante mencionados na literatura, buscando a melhor resposta. Concluiu-se que o algoritmo de limiarização de documentos históricos de Mello alcançou os melhores resultados; contudo, algumas imagens ainda apresentavam resultados insatisfatórios. Isso motivou o desenvolvimento de um novo algoritmo, tomando o de Mello como base, mas implantando algumas modificações.
Para análise dos resultados, avaliamos as medidas de precisão, sensibilidade, acurácia e especificidade, comparando as imagens geradas com imagens ideais. O melhor algoritmo deve ter essas quatro medidas perto de 1. Na Tabela II, pode-se obpode-servar que a maior parte dos algoritmos aprepode-senta baixos valores de sensibilidade. Por exemplo, Li-lee e Otsu têm bons resultados nas outras três medidas, mas o valor de sensibilidade é muito baixo, indicando que esses métodos falharam na classificação da tinta. Os experimentos mostraram que nossa nova proposta obteve os melhores resultados.
Como trabalho futuro, pretendemos usar a informação colhida no CA sobre a tinta para binarizar o restante do cheque. Já que, em geral, como mencionamos, o cliente usa uma mesma caneta para preencher todo o cheque, é bastante provável que os tons de tinta definidos no CA sejam os mesmos para todo o restante do cheque.
AGRADECIMENTOS
Os autores gostariam de agradecer ao apoio do Departamento de Sistemas e Computação, FACEPE, Escola Politécnica de Pernambuco (PIBIC/POLI) e AiLeader Pattern Recognition. Agradecemos também às valiosas contribuições dos revisores.
REFERÊNCIAS
[1] J. R. Parker, Algorithms for Image Processing and Computer Vision, New York: John Wiley and Sons, 1997, p. 420.
[2] L.Q.Zhang, C.Y.Suen, “Recognition of Courtesy Amounts on Bank Checks based on a Segmentation Approach”, International Workshop on Frontiers in Handwriting Recognition, Canadá, pp. 298-302, 2002. [3] J.Zhou et al., “A Feedback-based Approach for Segmenting Handwritten
Legal Amounts on Bank Cheques”, International Confeence on Document Analysis and Recognition, EUA, pp. 887-891, 2001.
[4] Z. Honggang, C. Guang, L. Gang, G. Jun, “Bank Check Image Binarization Based on Signal matching”, Proceedings of IEEE International Conference on Information, Communications and Signal Processing, Tailândia, pp. 1430-1433, 2005.
[5] Q.Xu et al., “A Knowledge-based Segmentation System for Handwritten Dates on Bank Cheques”, International Conference on Document Analysis and Recognition, EUA, pp. 384-388, 2001.
[6] V.K.Madasu, B.C.Lovell, “Automatic Segmentation and Recognition of Bank Cheque Fields”, Digital Imaging Computing: Techniques and Applications, Austrália, pp. 223-228, 2005.
[7] A.Conci, E.O.Nunes, “Texture Segmentation and Edge Location of Regions in Multiband Images”, IEEE Latin America Transactions, Vol. 5, No. 3, pp. 185-192, 2007.
[8] M.A.Gonzalez, V.L.Ballarin, “Image segmentation using Watershed Transform: Marker definition based on fuzzy logic”, IEEE Latin America Transactions, Vol. 6, No. 2, pp. 223-228, 2008.
[9] G. D. C. Cavalcanti, et al. “A Heuristic Binarization Algorithm for Documents with Complex Background.”, Proceedings of IEEE International Conference on Image Processing, Atlanta, pp. 389-392, 2006.
[10] N. Otsu, “A threshold selection method from gray-level histograms”, IEEE Transactions on Systems, Man, and Cybernetics, vol. 9, pp. 62-66, 1979.
[11] T. Pun, “Entropic Thresholding, the new Approach”, Computer Graphics and Image Processing, vol. 16, pp. 210-239, 1981.
[12] C. A. B. Mello, L.A. Schuler, “Thresholding Images of Historical Documents Using a Tsallis-Entropy Based Algorithm”, Journal of Software, vol. 3, no. 6, pp. 29-36, 2008.
[13] C. A. B. Mello, A. Sanchez, A. L. I. Oliveira, A.N.G. Lopes Filho, “An Efficient Gray-Level Thresholding Algorithm for Historic Document Images”, Journal of Cultural Heritage, vol. 9, pp. 109-116, 2008. [14] C. TSallis, “Possible Generalization of Boltzmann-Gibbs statistics”,
Journal of Statistical Physics, vol. 52, pp. 479-487, 1988.
[15] R. C. Gonzalez, R.E.Woods, Digital Image Processing, New York: Addison-Wesley, 2007, p. 976.
[16] Z. Wang, A. C. Bovik, “A Universal Image Quality Index”, Signal Processing Letters, vol. 9, pp.81-84, March 2002.
[17] N. A. McMillan, C.D. Creelman, Detection Theory, New Jersey: LEA Publishing, 2005, p. 512.
[18] C. H. Li, C. K. Lee, “Minimum Cross Entropy Thresholding”, Pattern Recognition, vol. 26, pp. 617-625. 1993.
[19] C. V. Jawahar, P. K. Biswas, A. K. Ray, “Investigations on Fuzzy Thresholding Based on Fuzzy Clustering”, Pattern Recognition, vol. 30, pp. 1605-1613, 1997.
[20] S. W. Katz, A. D. Brink, “Segmentation of Chromosome Images”, Proceedings of Communications and Signal Processing, África do Sul, pp.85-90, 1993.
[21] L. K. Huang, M. J. Wang, “Image Thresholding by Minimizing the Measures of Fuzziness”, IEEE Transactions on Pattern Recognition, vol. 28, pp. 41-51, 1995.
[22] J. N. Kapur, P. K. Sahoo, A. K. C. Wong, “A New Method for Gray-Level Picture Thresholding using the Entropy of the Histogram” Computer Vision, Graphics and Image Processing, vol. 29, pp. 273-285, 1985.
[23] M. Sezgin, B. Sankur, “Survey over image thresholding techniques and quantitative performance evaluation”, Journal of Electronic Imaging, vol. 1, pp. 146-165, 2004.
[24] A.Webb, Statistical Pattern Recognition, New York: John Wiley Professional, 2002, p. 514.
Renata Freire de Paiva Neves possui graduação em Ciência da Computação
pela Universidade Católica de Pernambuco (2006), mestrado em Engenharia da Computação (2008) pela Universidade de Pernambuco. Atualmente, trabalha no Centro de Estudos Avançados do Recife (CESAR). Tem experiência na área de Ciência da Computação, com ênfase em processamento de imagens.
Carlos Alexandre Barros de Mello (M’2008) possui graduação em
Engenharia Elétrica/Eletrônica (1994), mestrado (1996) e doutorado (2002) em Ciência da Computação pela Universidade Federal de Pernambuco. Atualmente, é professor adjunto do Departamento de Sistemas e Computação, da Universidade de Pernambuco. Tem experiência na área de Ciência da Computação, com ênfase em processamento de imagens. Atua principalmente nos seguintes temas: processamento de imagens de documentos, processamento de imagens médicas e análise de texturas.
Maíra Sabóia da Silva faz graduação em Engenharia da Computação pela
Universidade de Pernambuco, sendo estudante de iniciação científica com bolsa da FACEPE.
Byron L.D. Bezerra possui graduação em Ciência da Computação pela
Universidade Federal de Pernambuco (2001), mestrado (2004) e doutorado (2008) em Ciência da Computação pela Universidade Federal de Pernambuco. Atualmente, é Diretor de Tecnologia da AiLeader Pattern Recognition. Atua principalmente nos seguintes temas: processamento de documentos, reconhecimento de padrões, filtragem de informação e personalização.