Reconhecimento de Caracteres Usando Redes Neurais - Inf

Propaganda
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL
CURSO DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
PROCESSAMENTO DE IMAGENS POR REDES NEURAIS
Reconhecimento de Caracteres Usando Redes Neurais
Alunos
Alexandre Cruz Berg
Daniel Nehme Müller
Professor
Paulo Martins Engel
Porto Alegre, julho de 1993
Reconhecimento de Caracteres Usando Redes Neurais
1
2
INTRODUÇÃO
Os sistemas de reconhecimento de caracteres são sistemas desenvolvidos para reproduzir a capacidade humana de ler textos. Por sua
vez, as Redes Neurais são elementos interconectados em forma paralela
com as quais se procura imitar uma certa concepção de funcionamento do
cérebro humano. Com essas redes voltadas ao reconhecimento de caracteres, busca-se o aprendizado para posterior reconhecimento de padrões
que são provenientes da digitalização de imagens de textos. Estes sinais
são armazenados na rede, como forma de aprendizado, para posterior
consulta no reconhecimento desses sinais.
Objetivos
Este trabalho tem por objetivo o estudo do reconhecimento de
caracteres utilizando o aprendizado oferecido pelas Redes Neurais. É feita
uma abordagem das características do processo de reconhecimento de caracteres e de que forma pode ser feito um aprendizado na implementação
computacional desta técnica.
Estrutura
Este trabalho ficou organizado da seguinte maneira:
no capítulo 2 são abordadas as técnicas utilizadas no reconhecimento de caracteres, na obtenção das imagens e no processamento das imagens;
Reconhecimento de Caracteres Usando Redes Neurais
3
por sua vez no capítulo 3 temos a descrição detalhada dos
métodos de aprendizado para reconhecimento de caracteres por
Redes Neurais;
finalizando no capítulo 4 encontram-se as conclusões sobre o
trabalho.
Reconhecimento de Caracteres Usando Redes Neurais
2
4
TÉCNICAS UTILIZADAS
O processamento de imagens trabalha com a imagem digital,
onde esta é definida como sendo uma matriz de M x N elementos (vetores com informações referentes aos pontos da imagem).
Cada ele-
mento da imagem digital é denominada de pixel, tendo associado a si
uma informação referente à luminosidade e à cor. Esta informação pode
ser um valor indicativo de intensidade luminosa ou um índice para acesso
indireto à cor real.
Esta representação através de uma matriz bidimensional de
pontos é resultante da manipulação da imagem como sendo uma área de
memória do computador. A cada pixel é associada uma ou mais posições
de memória que irão armazenar as diversas informações referentes a eles.
Com isto pode-se armazenar e processar as informações referentes a uma
imagem.
As técnicas de digitalização de imagens podem ser classificadas
em três tipos:
(a) Pontual: baseado em câmeras de vídeo onde serão
feitas manipulações em cima dos pontos mostrados
na tela do monitor de vídeo;
(b) Vetorial: seu principal dispositivo é o scanner, sendo
técnica baseada em um arranjo em vetor dos elementos fotossenssíveis, os quais são deslocados sobre o plano de digitalização através de um sistema
mecânico;
(c) Matricial: é o tipo utilizado pelas mesas digitalizadoras, onde é feita a transcrição da imagem em termos
de coordenadas do plano cartesiano (x,y) referentes às
Reconhecimento de Caracteres Usando Redes Neurais
5
posições sobre as quais é deslocado um cursor, movimentado sobre uma mesa especial sensora.
A partir do momento que já se tem posse da imagem digital deve-se então fazer uma discretização desta imagem para posterior
manipulação das informações contidas nela.
Para realizar a discretização, ou amostragem, de uma imagem
deve ser fixado um intervalo de tempo que vai determinar a freqüência
de amostragem e consequentemente o número de pontos discretizados
(resolução da imagem). No caso de textos digitalizados, a resolução ideal
de digitalização deve ser tal que um único caracter resule em uma matriz
de 20 pontos na vertical por 15 pontos na horizontal. Tem-se que levar
em consideração o tipo de dispositivo usado na impressão, o tipo de letra
utilizado e a relação sinal/ruído presente na digitalização.
Após ter
sido
feita esta
amostragem é
realizada uma
discretização da intensidade luminosa, denominada de quantização, onde
uma imagem com tons contínuos é convertida em uma de tons discretos,
divididos em níveis da coloração deste tom (geralmente utiliza-se os níveis
de cinza). Para os sistemas de processamento de imagens orientados ao
tratamento de textos, somente dois níveis são necessários, fazendo uso
apenas do preto e do branco. Nestes sistemas a informação presente
sempre pode ser distinguida apenas através da identificação de uma cor
de fundo e a cor dos caracteres, sendo que as imagens serão classificadas
de acordo com os níveis que serão trabalhados.
A seguir, faz-se uma análise de reconhecimento de padrões na
matriz de pontos, sendo feita de maneira diferente da síntese que trabalha em cima de modelos de padrões. O objetivo do reconhecimento de
padrões junto ao processamento de imagens é extrair, detectar e identificar elementos presentes em uma cena. As etapas realizadas nesse
Reconhecimento de Caracteres Usando Redes Neurais
6
processao são: tratamento da imagem digitalizada, seleção e extração de
características e atributos dessa imagem e a classificação desses atributos.
Após é feita a localização e separação das imagens gráficas das
textuais, sendo feita nesta última a localização dos caracteres até gerar
uma matriz de pontos, que conterá um caracter. Para isto deve-se levar
em conta o espaçamento entre os caracteres, tamanho de pontos e tipo
do caracter.
A parte do pré-processamento realiza alguma correção em termos de distorções de caracteres. Ajusta o tamanho da matriz resultante
da segmentação dos caracteres para ficar compatível com o tamanho
padrão. Ajuste de escala e posição também são feitas neste estágio.
Finalmente é feita uma extração dos atributos, visando ressaltar algumas características dos padrões, de forma a facilitar sua
identificação. A etapa onde se realiza o reconhecimento dos padrões resulta em uma classificação do padrão em uma das classes pré-definidas.
2.1 Técnicas de Reconhecimento
Pode-se classificar as diferentes técnicas de reconhecimento de
padrões em três categorias, a seguir discriminadas:
Atributos Globais
Os atributos são extraídos de cada ponto interior ao retângulo
que circunscreve a matriz do caracter. Os atributos empregados não re-
Reconhecimento de Caracteres Usando Redes Neurais
7
fletem nenhuma propriedade local, geométrica ou topológica do traçado.
Algumas destas técnicas foram desenvolvidas originalmente para reconhecer apenas carcateres impressos.
Distribuição de Pontos
É uma outra forma de reduzir a dimensionalidade dos conjuntos de atributos, onde estes são derivados a partir das distribuições estatísticas dos pontos. Diferentes tipos de distribuição tem sido utilizadas,
correspondendo a diferentes tipos de técnicas de reconhecimento.
Atributos Geométricos e Topológicos
Esta técnica é baseada na extração de atributos que descrevem
a geometria ou topologia de interesse no traçado do caracter. Estes atributos podem representar propriedades locais ou globais do caracter
Reconhecimento de Caracteres Usando Redes Neurais
3
8
MÉTODOS DE APRENDIZADO PARA
RECONHECIMENTO DE CARACTERES POR
REDES NEURAIS
Redes Neurais Artificiais são, na prática, elementos computacionais de lógica não-linear operando em paralelo e dispostos de forma
a representar redes neurais biológicas [LIP 87]. A grande vantagem de
representar redes neurais, tais como o cérebro, está na capacidade de
trabalhar sobre exemplos do que já existe, dispensando a programação
algorı́tmica. Assim, o cérebro, podendo se adaptar ao que já existe, trabalha como um sistema dinânmico não-algorı́tmico [KOS 87]. Esta falta
de certeza é a grande vantagem da implementação de uma rede neural: há vários elementos concorrendo para dar a resposta a um determinado estı́mulo, ganhando ao final a resposta mais dada, como uma
votação, proporcionando a capacidade de dar respostas consistentes a
diversos contextos de estı́mulos (figura 3.1). É em cima deste princı́pio
democrático, de lógica nebulosa, que surge a utilização das redes neurais
para o reconhecimento de padrões, mesmo que a amostra a reconhecer
tenha grandes variações do original [KIN 89].
Como podemos observar, redes neurais têm o potencial de
uma imensa gama de aplicações, principalmente no que diz respeito à
substituição das tarefas notavelmente humanas, como o reconhecimento
de voz, imagens, análise do mercado financeiro e outros comportamentos sociais. No presente trabalho, ressaltamos a importância das redes
neurais no reconhecimento de imagens e, em especial, de caracteres. As
imagens que vemos a todo o momento dificilmente são idênticas umas
das outras, o que dificulta seu processamento através da programação
algorı́tmica tradicional. Com o auxı́lio do pré-processamento de imagens,
como sistemas OCR, apresentados nas secções anteriores, um padrão
Reconhecimento de Caracteres Usando Redes Neurais
9
Figura 3.1: Transformação: a capacidade de adaptação possibilita a
recuperação de um padrão distorcido.
ótico pode ser transformado num simples código ASCII, que poderá ser
aprendido por uma rede neural e posteriormente reconhecido.
Apresentaremos a seguir dois modelos de rede neural que podem ser utilizados para o reconhecimento de caracteres. Ambos partem
de concepções distintas de redes neurais, sendo, portanto, de interessante análise comparativa. O modelo BAM parte de uma concepção de
memória associativa, vendo o cérebro de uma forma compacta, centralizada. Já o modelo Backpropagation transmite uma idéia de neurônios
independentes que estão interconectados numa rede de diversos nı́veis de
profundidade. A seguir estes modelos serão apresentados com maiores
detalhes.
Reconhecimento de Caracteres Usando Redes Neurais
10
3.1 Reconhecimento através do modelo BAM
O modelo BAM (Bidirectional Associative Memory), idealizado
por Bart Kosko, baseia-se numa memória associativa de duas camadas
retro-alimentadas de neurônios interconectados[KOS 87]. Os neurônios
da primeira camada são conectados com todos os da segunda, e viceversa.
A cada conexão está associado um valor, denominado peso,
que corresponde a um elemento de uma matriz M, que é definida pela
multiplicação da matriz transposta de um padrão A por outra matriz de
um padrão B. Desta forma, no aprendizado podem ser associados dois
padrões distintos, ou seja, pode ser ensinado um determinado padrão
para entrada e devolver um outro padrão na saı́da, o que é uma caracterı́stica única dentre as redes binárias de aprendizado supervisionado.
O padrão neste modelo é sempre uma matriz binária, de 0’s e
1’s, que, correspondendo a uma imagem digitalizada, é armazenado na
matriz M de pesos. Há diferentes formas de armazenamento: o padrão
A pode corresponder à imagem que se quer reconhecer, e B pode ser a
mesma imagem, outra imagem ou ainda um outro formato de codificação
(figura 3.2). Como os padrões estão codificados em matrizes binárias
e os processos de aprendizado e reconhecimento são operações sobre
essas matrizes, o modelo BAM torna-se uma excelente alternativa para
reconhecimento em tempo real. Neste sentido, Kosko indica o modelo
BAM como ideal para reconhecimento de imagens em tempo de execução
[KOS 87].
A utilização do modelo BAM para o reconhecimento de caracteres também é ressaltada [BLU 90]. Num experimento realizado nos Laboratórios do Instituto de Informática da UFRGS, aplicando uma rede BAM
para o reconhecimento de caracteres mapeados em matrizes binárias de
Reconhecimento de Caracteres Usando Redes Neurais
A
11
B
Figura 3.2: Padrões Associados: BAM possibilita o relacionamento de
dois padrões distintos.
8x8 elementos, foi obtido o reconhecimento perfeito de padrões com até
40% de distorção, comprovando sua aplicabilidade.
As únicas restrições fazem-se quanto à necessidade de muita
memória, limitando o tamanho das matrizes de peso. Alternativas a isso
existem, como o conceito de sistema BAM, onde há várias matrizes de
pesos que são selecionadas de acordo com o padrão a reconhecer [BLU
90].
3.1.1 Reconhecimento através do modelo Backpropagation
O modelo Backpropagation é uma generalização dos modelos
baseados no conceito de redes que têm elementos computacionais individuais, formando uma camada que é conectada diretamente a saı́das, nas
quais é exigida, no aprendizado, uma resposta pré-estabelecida. No caso
do backpropagation, há camadas intermediárias, não ligadas a saı́das,
tornando-se uma rede multinı́vel [HIN 90] (figura 3.3). Desta forma, o
erro - diferença entre a saı́da desejada e a atual - necessita ser retropropagado para as camadas intermediárias [RUM 86].
Outra grande
Reconhecimento de Caracteres Usando Redes Neurais
12
diferença do backpropagation para seus antecessores é a aplicação de
uma função sigmoid como função de transferência [WID 90].
a)
b)
Figura 3.3: Comparação: o modelo de uma camada (a) evoluiu para
múltiplas camadas (b).
Como o backpropagation é uma rede de elementos adaptativos, cada um destes elementos, chamados neurônios, necessita de uma
operação própria, independente, além da verificação do aprendizado da
rede como um todo em sua saı́da.
Disso decorre a necessidade da
realização de diversas iterações de operações sobre a rede até se chegar à
saı̀da desejada.
O fato deste modelo ter múltiplas camadas permite que uma
maior variedade de padrões seja aprendida, dada a maior capacidade de
separação de classes de padrões.
A utilização de backpropagation no reconhecimento de imagens
é aplicada, por exemplo, para o reconhecimento em tempo real [CAU 91].
Mas há crı́ticas quanto ao grande tempo necessário ao aprendizado [HIN
90] e a excessiva complexidade da rede [WID 90].
Na experimentação realizada nos laboratórios do Instituto de
Informática da UFRGS, confirmaram-se as virtudes e defeitos atribuı́dos
Reconhecimento de Caracteres Usando Redes Neurais
ao modelo.
13
Foi possı́vel o aprendizado de dez padrões de algarismos
digitalizados - de 0 a 9 - e transformados em matrizes binárias de 24x16
elementos, com um ótimo desempenho no reconhecimento. Mas, por
outro lado, o tempo gasto com o aprendizado foi um fator que pesou
fortemente contra o modelo.
Reconhecimento de Caracteres Usando Redes Neurais
4
14
CONCLUSÕES
Através da utilização das Redes Neurais Artificiais podemos obter o reconhecimento eficaz de caracteres, com rapidez e segurança comparável à flexibilidade humana. Desta forma, o processo composto pelo
pré-processamento - a seleção e a classificação de imagens de caracteres - e pelo aprendizado com posterior reconhecimento através de redes
neurais perfaz a simulação de muitas tarefas hoje monótonas ao homem.
Algumas utilidades do reconhecimento de caracteres que livrariam do homem rotinas trabalhosas seriam a conferência de assinaturas, separação de correspondência nos correios, controle de infrações de
trânsito, transcrição automática de textos, etc. Como podemos perceber,
o estudo das Redes Neurais abre um novo caminho para novas relações no
trabalho humano, retirando deste a parte operacional para poder centrar
sua atenção na parte criativa, dando mais sentido à natureza humana.
Reconhecimento de Caracteres Usando Redes Neurais
15
BIBLIOGRAFIA
[BLU 90]
BLUM, Adam. Bidirectional Associative Systems in C++.
Dr. Dobb’s Journal, Redwood City, n. 163, April 1990, p.
16-26.
[CAU 91]
CAUDILL, M. Driving Solo. AI Expert, San Francisco, Freeman Publications, Sept. 1991.
[HIN 90]
HINTON, G. E. Connectionist Learning Procedures. In:
Machine Learning - Paradigms and Methods. MIT Press,
Cambridge, 1990.
[KIN 89]
KING, T. Using Neural Networks for Pattern Recognition.
Dr. Dobb’s Journal, Redwood City, January 1989, p. 1628.
[KOS 87]
KOSKO, B. Constructing an Associative Memory. Byte,
Hightstown, v. 12, n. 10, Sept. 1987, p. 137-144.
[LIP 87]
LIPPMANN, R. P. An Introduction to Computing with Neural Networks. IEEE ASSP Magazine, New York, v. 3, n.
4, April 1987, p. 4-22.
[MUL92]
MÜLLER, Daniel N. et alli SINCO 1.0: Um Simulador Neural
Configurável, Porto Alegre, CPGCC-UFRGS, 1992.
[OSO91]
OSÓRIO, Fernando S. Um Estudo Sobre o Reconhecimento Visual de Caracteres Através de Redes Neurais,
Porto Alegre, CPGCC-UFRGS, 1991.
[RUM 86]
RUMELHART, D. E. and MCCLELLAND, J. L. Learning Internal Representations By Error Propagation. In: Parallel Distributed Processing. Rumelhart, D. E. and McClelland, J. L. (eds.). MIT Press, Cambridge, 1986.
Reconhecimento de Caracteres Usando Redes Neurais
[WAL91]
16
WALTER, Marcelo. A Obtenção de Texturas na Síntese
de Imagens Realísticas Num Ambiente Limitado Porto
Alegre, CPGCC-UFRGS, 1991.
[WID 90]
WIDROW, B. & LEHR, M. A. 30 Years of Adaptive Neural Networks: Perceptron, Madaline and Backpropagation. Proceedings of the IEEE, v. 78, n. 9, sep. 1990.
Download