Вы находитесь на странице: 1из 13

OCR utilizando Redes Neurais e otimizac ao por enxame de

partculas (PSO)
C elia Cristina Bojarczuk Fioravanti
1
, Wellton Costa de Oliveira
1
1
Universidade Tecnol ogica Federal do Paran a (UTFPR)
Programa de P os-Graduac ao de Engenharia El etrica e Inform atica Industrial
(CPGEI) Curitiba/pr Brazil
{celiacristina, wcoliveira}@utfpr.edu.br
Abstract. Os sistemas de reconhecimento otico, de caracteres OCR (Optical
Character Recognition) s ao sistemas desenvolvidos para, de uma certa forma,
reproduzir a capacidade humana de ler textos. O Objetivo deste trabalho e re-
solver o problema de OCR utilizando duas t ecnicas muito importantes: Redes
Neurais Articiais multicamadas com o algoritmo de treinamento backpropaga-
tion e utilizando otimizac ao por enxame de partculas (PSO). Trinta e seis im-
agens de dimens oes 25x25 foram utilizadas para treinar a rede neural e trinta
e duas imagens para testar. No PSO, foram utilizadas imagens de tamanhos
aproximados de 170x170,. A rede neural consequiu acertar 28 letras de 36, er-
rando 4 letras. O PSO se mostrou um m etodo de optimizac ao exvel, onde se
pode alterar facilmente a func ao de tness a ser utilizada.
Resumo. Os sistemas de reconhecimento otico, de caracteres OCR (Optical
Character Recognition) s ao sistemas desenvolvidos para, de uma certa forma,
reproduzir a capacidade humana de ler textos. O Objetivo deste trabalho e re-
solver o problema de OCR utilizando duas t ecnicas muito importantes: Redes
Neurais Articiais multicamadas com o algoritmo de treinamento backpropaga-
tion e utilizando otimizac ao por enxame de partculas (PSO). Trinta e seis im-
agens de dimens oes 25x25 foram utilizadas para treinar a rede neural e trinta
e duas imagens para testar. No PSO, foram utilizadas imagens de tamanhos
aproximados de 170x170,. A rede neural consequiu acertar 28 letras de 36, er-
rando 4 letras. O PSO se mostrou um m etodo de optimizac ao exvel, onde se
pode alterar facilmente a func ao de tness a ser utilizada.
1. Introduc ao
Um sistema de reconhecimento optico de caracteres (OCR) pode ser apresentado para
reproduzir a capacidade humana de ler textos e e composto por uma parte de extrac ao de
caractersticas e uma parte da classicac ao [Sakano et al. 1996].
Utilizando-se t ecnicas de reconhecimento de padr oes (Rede neural e otimizac ao
por enxame de partculas - PSO), o computador consegue identicar qual letra est a
naquela imagem especca.
1.1. Objetivos
O objetivo geral deste trabalho e realizar o OCR utilizando redes neurais e PSO.
2. Fundamentac ao Te orica
2.1. Sistemas de Reconhecimento

Otico - OCR
Os sistemas de reconhecimento otico, de caracteres OCR (Optical Character Recognition)
s ao sistemas desenvolvidos para, de uma certa forma, reproduzir a capacidade humana de
ler textos. Este captulo abordar a as diferentes t opicos relacianados com a assunto, apre-
sentando uma classicac ao dos sistemas de reconhecimento de caracteres em geral (n ao
somente os oticos) e descrevendo as principais caractersticas e algoritmos empregados
em tais sistemas[Osorio 1991].
Em geral, os sistemas de OCR ossuem implementadas as seguintes
func oes: aquisic ao da imagem do texto, tratamento da imagem, localizac ao e
separac ao dos caracteres, pre-processamento dos padr oes, extrac ao de atributos,
reconhecimento/classicac ao dos padr oes e p os-processamento. A Figura 1 mostra um
exemplo de extrac ao de atributos de uma imagem.
Figura 1. extrac ao de dados (pixels) de uma imagem
uma vez extradas as caractersticas das imagens, e necess aria a realizac ao do
reconhecimento/classicac ao dessas imagens para saber qual letra est a naquela imagem.
para isso, utiliza-se t ecnicas de reconhecimento de padr oes. Uma delas e a Rede neural
e outra e a t ecnica de otimizac ao por enxame de partculas (PSO), que ser ao vistos nas
pr oximas sec oes.
2.2. Redes Neurais - Backpropagation
O c erebro humano possui mais de dez bilh oes de neur onios, cada qual conectado, em
m edia, a milhares de outros neur onios. Estas conex oes s ao conhecidas por sinapses e o
c erebro humano possui cerca de 60 trilh oes dstas conex oes. Neur onios s ao, na verdade,
elementos de processamento muito simples. Cada neur onios e composto por uma soma,
que e o corpo do neur onio, um ax onio e v arios dendreitos (Figura 2).
O neur onio recebe entradas de outros neur onios, junto aos seus dendritos e quando
este sinal de entrada excede um limiar, o neur onio e ativado- na verdade, ocorre uma
reac ao qumica que resulta em um pulso el etrico, conhecido como potencial de ac ao, que
ser a enviado ao ax onio ( a sada do neur onio), em direc ao ` as sinapses que conectam um
neur

Onio aos dendritos de outros neur onios.


Figura 2. Um neur onio no c erebro humano
Embora cada neur onio isoladamente seja muito simples, esta enorme e complexa
rede de neur

Onios e capaz de processar informac oes de extraordin aria complexidade, a


uma grande taxa. Em termos de complexidade, o c erebro humano excede, de longe,
qualquer dispositivo criado pelo homem, ou at e mesmo qualquer outro objeto ou estrutura
que ocorra naturalmente no universo, pelo que conhecemos atualmente.
O c erebro humano tem uma propriedade chamada plasticidade, o que signica que
os neur onios podem mudar a natureza e o n umero de conex oes com outros neur

Onios em
resposta a eventos que ocorram. Deste modo, o c erebro e capaz de aprender. O c erebro
usa uma orma de atribuic ao de cr edito para reforcar conex oes entre neur onios que levem
a soluc oes corretas para problemas e para enfraquecer conex oes que levam a soluc oes
incorretas. A intensidade de uma conex ao, ou sinapse, determina qual ser a sua inu encia
nos neur onios desta conex ao e, assim, se uma conex ao for enfraquecida, seu papel ser a
atenuado nas computac oes subsequentes.
Redes de neur onios articiais s ao modeladas em relac ao ao c erebro humano e s oa
compostas por v arios neur onios articiais. Neur onios em redes neurais articiais tendem
a ter menos conex oes do que neur onios biol ogicos e as redes neuronais (atualmente) s ao
todas signicativamente menores, em termos de n umeros de neur onios, do que as do
c erebro humano. Os neur onios s ao conhecidos como neur onios de McCullock e Pitts,
que foram os bi ologos criadores das redes neurais articiais (criado em 1943).
Cada neur onio (ou n o) em uma rede neural recebe uma s erie de entradas. Uma
func ao chamada de func ao de ativac ao e aplicada a esses valores de entrada, o que resulta
no nvel de ativac ao do neur onios, que e o valor de sada do neur onio onde um eixo (x)
representa o valor de entrada para o neur onio e um eixo (y) representa a sada ou o nvel
de ativac ao do neur onio. (Figura 3).
Uma func ao das mais comumente usadas e a func aodegrau ou func ao de limiar
limiar. Ao usar esta func ao, as entradas para o neur onio s ao somadas (tendo cada uma
sido multiplicada por um peso w), t. Se a soma for maior do que o limiar, o neur onio
ativar a e ter a um nvel de ativac ao de +1. Caso contr ario, car a inativo e ter a zero como
nvel de ativac ao (em algumas redes, quando a soma n ao excede o limiar, considera-se
que o nvel de ativac ao seja 1 em vez de 0). Ent ao, o comportamento do neur onio pode
ser expresso da seguinte forma
X =

n
i=1
w
ij
x
i
Figura 3. Quatro func oes de ativac ao. (a) Fuc ao degrau; (b) func ao linear; (c)
func oes sigmoide; (d) func ao tangente hiberb olica.
X e a soma ponderada das n entradas do neur onio, de x
1
a x
n
, onde cada entrada
x
i
e multiplicada pelo seu peso correspondente w
i
. Por exemplo, vamos considerar um
neur onio simples que s o tenha duas entradas. Cada uma dessas entradas tem um peso
associado a ela, como por exemplo w
1
= 0, 8 e w
2
= 0, 4, e as entradas de neur onios
sendo x
1
= 0, 7 e x
2
= 0, 9, ent ao, o peso somado dessas entradas e (0, 8 0, 7) + (0, 4
0, 9) = 0, 92. O nvel de ativac ao Y e denido para este neur onio como:
Y = +1 para X < t ou 0 para X t
Ent ao, se t for menor ou igual a 0,92, este neur onio ser a ativado com este conjunto
especco de entradas. Caso contr ario, ele ter a zero como nvel de ativac ao. Uma rede
neural consiste em um conjunto de neur onios conectados. As conex oes entre neur onios
t empesos associados a elas e cada neur onio transmite sua sada ` as entradas do neur onio ao
qual estiver conectado. Esta sada depende da aplicac ao da func ao de ativac ao ` as entradas
que ele recebe. Deste modo, um sinal de entrada para a rede e processado por toda a
rede e uma sada (ou sadas m ultiplas) ser a produzida. N ao h a processamento central ou
mecanismo de controle - toda a rede e envolvida em cada fragmento de computac ao que
ocorre.
Quando uma entrada e dada a uma rede neural, a sada n ao aparece imediatamente
porque leva um perodo nito de tempo para os sinais passarem de um neur onio ao outro.
Em redes neurais articiais, este tempo e geralmente muito curto, por em, no c erebro
humano, as conex oes neuronais s ao supreendentemente lentas.

E apenas a natureza do
c erebro, com um enorme grau de paralelismo, que permite a realizac ao de c alculos t ao
rapidamente.
Para que as redes neurais aprendam, o peso associado a cada conex ao (equivalente
a uma sinapse no c erebro humano) pode ser alterado em resposta a conjuntos especcos
de entradas e de eventos.
O perceptron, que foi proposto primeiramente por Rosenblatt (1958), e um sim-
ples neur onio usado para classicar suas entradas em uma de duas categorias. O percep-
tron pode ter qualquer n umero de entradas, que ` as vezes s ao organizadas em uma grade.
Esta grade pode ser usada para representar uma imagem ou um campo de vis ao, e, ent ao,
os perceptrons podem ser usados para realizar classicac ao de imagem ou tarefas de re-
conhecimento simples. O perceptron usa uma func ao degrau que retorna +1 se a soma
ponderada das entradas, X, for maior do que o limiar, t, e -1 se X for menor ou igual a t,
conforme j a foi comentado anteriormente neste trabalho.
Redes Neurais Multicamadas vem resolver problemas do mundo real que n ao e
linearmente separ avel e, embora perceptrons sejam um modelo interessante para estudar
o modo como os neur onios articiais podem funcionar, e necess aria a utilizac ao de mul-
ticamadas que e uma t ecnica com mais capacidade. A primeira camada e a camada de
entrada, cada n oi nesta camada recebe um sinal de entrada unico. Geralmente, os n os
nesta camada n ao s ao neur onios, mas apenas atuam na passagem dos sinais de entrada
para os n os da pr oxima camada, que e neste caso uma camada oculta ou escondida. Uma
rede pode ter uma ou mais camadas ocultas (ou escondidas) que contenham os neur onios
que realmente fazem o trabalho. Cada sinal de entrada e passado a cada um dos n os nesta
camada e que a sada de cada n o nesta camada e passada a cada n o da camada nal, que
e a camada de sada. A camada de sada opera a ultima etapa de processamento e envia
sinais de sada. A rede e chamada de rede com alimentac ao adiante porque os dados s ao
alimentados a partir dos n os de entrada em direc ao aos n os de sada. Isso contrasta com as
redes recorrentes nas quais alguns dados s ao passados de volta, a partir dos n os de sada
na direc ao dos n os de entrada. (Figura 4).
Figura 4. Exemplo de uma rede neural multicamada
Backpropagation (retropropagac ao) e ummetodo comumente usado emredes neu-
rais articiais multicamadas onde cada neur onio tem pesos associados em suas entradas
e h a uito mais pesos a serem ajustados quando um erro e cometido para um fragmento
de dados de treinamento. Obviamente, uma quest ao importante e como atribuir respons-
abilidade (ou cr edito) aos diferentes pesos e esse e o trabalho do backpropagation.Em vez
de usar uma simples func ao degrau, utilizada por perceptrons unicos, redes multicamadas
com backpropagation geralmente usam a func ao sigmoide.
Assim como o perceptron unico, o algoritmo de backpropagation comeca
atribuindo valores aleat orios aos pesos na rede, que geralmente recebem pequenos val-
ores na faixa entre -0,5 e 0,5. COmo alternativa, os pesos podem ser normalmente dis-
tribudos entre -2,4/n e 2,4/n, onde n e o n umero de entradas da camada de entrada. Cada
iterac ao do algoritmo envolve, de incio, a alimentac ao de dados por meio da rede, desde
as entradas at e as sadas. A pr oxima fase, que d a origem ao nome do algoritmo, en-
volve a alimentac ao de erros de volta, das sadas ` as entradas. Estes valores de erro s ao
alimentados de volta, atrav es da rede, fazendo mudancas nos pesos dos n os ao longo do
caminho. O algoritmo segue deste modo, at e que as sadas produzidas para os dados de
treinamento aproximem-se sucientemente dos valores desejados - em outras palavras,
at e que os valores de erro sejam sucientemente pequenos. Como a func ao sigmoide nao
pode realmente chegar a 0 ou a 1, e comum aceitar valores como 0,9 representando 1 e
0,1 representando 0. Considerando uma rede de tr es camadas e usar i para representar n os
na camada de entrada, j para representar n os na camada oculta e k para representar n os na
camada de sada. Ent ao, por exemplo, w
ij
se refere ao peso de uma conex ao entre um n o
na camada de entrada e um n o na camada oculta. A func ao que e usada para gerar o valor
de sada de um n o j na rede pode ser vista como:
X
j
=

n
i=1
x
i
.w
ij

j
Y
j
=
1
1+e

X
j
sendo n o n umero de entradas para o n o j, w
ij
o peso da conex ao entre cada n o
i e cada n o j,
j
e o valor de limiar em uso para o n o j, que e estabelecido em um valor
aleat orio entre 0 e 1, x
i
e o valor de entrada para o n o de entrada i e Y
j
e o valor de sada
produzido pelo n o j. Uma vez que as entradas tenham sido alimentadas por meio da rede
para produzirem sadas, um gradiente de erro e calculado para cada n o k na camada de
sada. A iterac ao do algoritmo de backpropagation e geralmente concluda quando a soma
dos quadrados dos erros dos valores de sada, para todos os dados de treinamento em uma
epoca, for menor do que um limiar, tal como 0,001.
2.3. Otimizac ao por Enxame de Partculas - PSO
Omran (2005), em seus estudos investigou a utilizac ao de um m etodo eciente de
otimizac ao, conhecido como PSO (Particle Swarm Optimization), para o campo de re-
conhecimento de padr oes e processamento de imagens. Inicialmente um m etodo de
agrupamento baseado no PSO foi proposto, sendo que a aplicac ao de um algoritmo de
agrupamento para o problema de classicac ao n ao supervisionada e segmentac ao de im-
agens foi investigada. Finalmente, as abordagens baseadas em PSO foram propostas para
a quantizac ao da imagem colorida e problemas de separac ao espectral. Neste estudo
tamb em foi avaliada a inu encia dos par ametros do PSO sobre o desempenho dos algo-
ritmos propostos.
Ba-Karait e Shamsuddin (2008) utilizaram neste estudo o PSO para reconhecer
dgitos escritos ` a m ao sem restric oes. Neste estudo cada classe foi codicada sendo o
centroide no espaco no espaco de caractersticas multidimensionais e o PSO foi utilizado
para sondar a posic ao ideal para cada centroide. Os resultados obtidos revelaram que
PSO forneceu um desempenho promissor e um comportamento est avel em reconhecer
esses dgitos [Sahel Ba-Karait and Shamsuddin 2008].
Gorai e Ghosh (2009) utilizaram o PSO (Particle Swarm Optimization) neste es-
tudo, uma vez que consideraram o realce da imagem um problema de otimizac ao. O
realce da imagem foi feito principalmente para maximizar o conte udo de informac ao da
imagem melhorada com a func ao de transformac ao de intensidade parametrizada, que uti-
lizou a informac ao local e global da imagem. Um crit erio objetivo para medir a melhoria
da imagem foi utilizado que considerava as informac oes de entropia e borda da imagem,
e tentando conseguir uma melhor imagem foram otimizados os par ametros utilizando o
PSO [Gorai and Ghosh 2009].
Huang e Yin (2010) propuseram a utilizac ao do PSO baseado em rede neural para
vdeo OCR, a m de permitir a recuperac ao baseada em conte udo autom atica na base
de dados de vdeo digital. Considerando que o texto e muitas vezes apresentada contra
um fundo complexo, o problema desaador na pesquisa foi a sua detecc ao e extrac ao. A
transformada wavelet foi feita realizada e os coecientes foram as entradas para a rede
neural treinada por PSO. A sada nal da rede de regi oes de texto foi diferente daque-
las regi oes n ao-texto. Os resultados experimentais demonstraram a ec acia do m etodo
proposto [Huang and Yin 2010].
Kroetz et al. (2011) propuseram um estudo inicial baseado em otimizac ao por
enxame de partculas, em conjunto com registro de imagens para a detecc ao autom atica
do cord ao de solda do tipo PDVD (parede dupla vista dupla assim denominada pois a
radiac ao precisa atravessar os dois lados da parede da tubulac ao antes de alcancar o lme
radiogr aco e em tais situac oes a fonte ca posicionada a uma dist ancia maior da peca)
em radiograas. O PSO foi aplicado para otimizar o registro das imagens modelo, onde
as vari aveis que determinam as posic oes do tubo e do cord ao s ao as vari aveis otimizadas
e comp oem os par ametros das partculas. Segundo Kroetz et al., as imagens utilizadas
n ao apresentavam variac oes expressivas nas geometrias e posic oes do tubo e do cord ao de
solda, portanto, testes adicionais com radiograas que apresentem uma diversidade maior
de situac oes se fazem necess arios para testar a generalidade do m etodo. Neste estudo
inicial, a utilizac ao de PSO para otimizar o registro de imagens se mostrou ecaz.
Suyama et al. (2013) apresentaram uma metodologia para a detecc ao da regi ao
central de cord oes de solda de tubulac oes de petr oleo em imagens radiogr acas parede
dupla vista dupla. O m etodo foi baseado em tr es etapas: pr e-processamento (para
isolar as regi oes candidatas), otimizac ao (para denir a elipse que melhor se inscreve
em cada regi ao candidata), decis ao (escolha da melhor regi ao candidata). Os resul-
tados obtidos mostraram que o algoritmo PSO convergiu de maneira satisfat oria para
a selec ao do polgono que mais se assemelhava ` a regi ao central do cord ao de solda
[Huang and Yin 2010].
A otimizac ao por enxame de partculas (Particle Swarm Optimization PSO) e
proposta inicialmente por James Kennedy e Russel Eberhart [Kennedy 2006], como um
modelo para otimizac ao de func oes contnuas n ao-lineares. O PSO constitui-se de uma
heurstica populacional derivada de modelos do comportamento coletivo de animais e
insetos na coordenac ao de seus movimentos em tarefas, tais como: busca e obtenc ao
de alimentos [Heppner and Grenander 1990]. Os modelos iniciais foram simplicados,
perdendo a exig encia de manter uma dist ancia mnima de seus vizinhos e transformando
a arquitetura de comunicac ao, a qual era inicialmente baseada em proximidade espacial.
A arquitetura foi alterada para usar uma topologia bem denida por um grafo. Assim, o
PSO possui, atualmente, mais semelhancas com modelos de inu encia m utua entre seres
humanos em suas formas de pensar e agir [Axelrod 1997].
No PSO, o enxame e constitudo por uma quantidade xa de agentes, chama-
dos de partculas, e estruturado de forma que cada agente seja capaz de comunicar-se
com um subconjunto de seus pares, chamados de vizinhos. Cada partcula movimenta-se
pelo espaco de soluc oes com uma determinada velocidade, avaliando a cada iterac ao a
soluc ao correspondente ` a posic ao ocupada. Essa velocidade deve sofrer inu encia das
experi encias passadas pr oprias (fator cognitivo) e de seus vizinhos (fator social), sendo
essas inu encias usualmente implementadas como dois atratores, o primeiro localizado
na melhor posic ao j a avaliada pela partcula em quest ao e o segundo localizado na melhor
posic ao visitada pelas partculas adjacentes [Axelrod 1997].
Considerando um espaco de busca N-dimensional e um enxame com S partculas,
a posic ao da i- esima (i
th
) partcula do enxame na j- esima (j
th
) dimens ao pode ser atual-
izada mediante as equac oes 3.1 e 3.2 (Kennedy e Eberhart, 1995; Kennedy et al., 2001):
v
ij
(t + 1) = w.v
ij
(t) + c
1
.r
1
(y
ij
(t) x
ij
(t)) + c
2
.r
2
(y
ij
(t) x
ij
(t))
x
ij
(t + 1) = x
ij
(t) + v
ij
(t + 1)
em que w e o peso da in ercia que decresce linearmente durante o tempo de
execuc ao do algoritmo; r
1
e r
2
s ao n umeros aleat orios uniformemente distribudos entre
0 e 1; c
1
e c
2
s ao constantes que representam o par ametro cognitivo e o social, respec-
tivamente, com o cognitivo representando a inu encia do conhecimento individual e, o
social, a inu encia do conhecimento coletivo; y
ij
e a melhor posic ao individual da i
th
partcula na j
th
dimens ao e y
ij
e a melhor posic ao global entre todas as partculas na i
th
s
dimens ao [Axelrod 1997].
Na equac ao 3.1, a primeira parte e o hist orico de movimentac ao e est a relacionada
com a estabilidade do enxame de partcula. A segunda parte consiste da parte cognitiva,
que representa o conhecimento independente da partcula. Aterceira parte e a parte social,
que representa a colaborac ao entre as partculas [Axelrod 1997].
Como resultado dessa din amica, ocorre que o enxame, inicialmente disperso por
todo o espaco de busca, passa a focar em determinadas regi oes que apresentaram soluc oes
mais promissoras com o decorrer da execuc ao do algoritmo. Isso permite que o PSO seja
capaz de renar boas soluc oes j a encontradas, sem perder a capacidade de realizar uma
busca mais ampla no espaco. Observa-se que, ao contr ario de alguns m etodos tradicionais
de busca em intelig encia articial, em geral um enxame de partculas avalia uma soluc ao
inteira por vez, n ao fazendo avaliac oes da contribuic ao de cada parte para a soluc ao como
um todo. Nota-se, tamb em, que uma partcula isolada possui uma limitada capacidade de
otimizac ao, sendo altamente propensa a car presa em otimos locais [Axelrod 1997].
A despeito de ser uma meta-heurstica relativamente recente, a otimizac ao por
enxame de partculas conseguiu granjear um relevante espaco [Poli et al. 2007] devido ` a
sua simplicidade e poder de processamento.
Ao contr ario de outras t ecnicas tradicionais de programac ao matem atica, o PSO
n ao requer informac oes de gradiente da func ao objetivo, necessitando apenas de seus
valores nos pontos avaliados e de operadores simples.
Sendo sistemas auto-organizados, os paradigmas de intelig encia de enxame, que
e uma t ecnica computacional baseada no comportamento coletivo de sistemas auto-
organizados de sistemas descentralizados com o objetivo de realizar uma determinada
tarefa, levam a processos altamente distribudos, com baixa depend encia de indivduos
isolados, de forma que o PSO e um modelo de otimizac ao relativamente robusto contra a
atrac ao exercida por regi oes de baixa qualidade sobre alguns agentes. O fato deste mecan-
ismo centrar-se na ac ao de agentes baseados em regras muito simples, leva a uma facili-
dade em sua implementac ao e tamb em a baixas exig encias de mem oria e poder de proces-
samento [Eberhart et al. 1996]. Estas baixas exig encias permitem que cada iterac ao seja
executada em pouco tempo, levando a uma r apida converg encia, decorrente tamb em da
intensa troca de informac ao entre os agentes.
No PSO, verica-se que o balanco entre explorac ao e busca local, crucial para
um bom algoritmo de otimizac ao, e realizado atrav es de um consenso entre um indivduo
e seus vizinhos [Kennedy 2006], sendo o tamanho do passo limitado em cada dimens ao
pela soma do fator de in ercia da partcula ` as suas dist ancias aos atratores pessoal e so-
cial. Dessa forma, se um conjunto de partculas conectadas obtiver sucesso em uma
determinada regi ao, ele se concentrar a nesta porc ao do espaco e permitir a uma fase de
maior explorac ao; caso contr ario, se o grupo encontrar-se disperso pelo espaco de busca,
a partcula dever a vagar sem uma tend encia denida [Kennedy 2006].
3. Metodologia
Para este trabalho foi fornecido uma base de dados com 258 exemplos para o conjunto
de treinamento e 145 exemplos para o conjunto de teste, a m de classicar o nvel de
conhecimento do usu ario. Os dados constantes na base eram cinco atributos de entrada,
sendo eles STG (The degree of study time for goal object materials), SCG (The degree
of repetition number of user for goal object materials), STR (The degree of study time of
user for related objects with goal object), LPR (The exam performance of user for related
objects with goal object) e PEG (The exam performance of user for goal objects); e um
atributo de sada, sendo UNS (The knowledge level of user).
3.1. OCR Utilizando Redes Neurais
Para este trabalho, foi utilizado uma rede neural multicamada com o algoritmo de back-
propagation para os ajustes de pesos quando um erro e cometido para um fragmento de
dados de treinamento. Foi utilizado uma biblioteca em C chamada FANN (Fasta Arti-
cial Neural Network). Esta biblioteca cria um arquivo .netbaseado na congurac ao
da rede (n umero de neur onios de entrada, de sada, escondidos, epoca, erro esperado) e
baseado tamb em no arquivo de treinamento dado .train. Baseado neste arquivo .net,
o algoritmo de teste consegue retornar um erro m edio que a rede teve baseado em outro
arquivo de teste .test. A metodologia consiste em realizar o treinamento de dados ex-
trados de 36 imagens de dimens oes 25x25 (gerando 625 pixels de entrada), sendo 12
imagens de letras A (diferentes), 12 de imagens de letras B (diferentes) e 12 de imagens
de letras P (diferentes), como segue a Figura 5. Os dados aqui referem-se aos valores de
pixels de cada posic ao x y da matriz que forma a imagem, onde cada pixel e comparado
com um limiar (100) onde o pixel que for menor que 100 recebe 0.01 e o pixel que for
maior que 100 recebe valor 0.99, tornando assim a imagem binarizada para melhor re-
alizar o treinamento da rede neural. Esses Pixels s ao extrados das imagens utilizando a
biblioteca openCV.
Figura 5. Base de imagens de letras para treinamento da rede neural
Uma base com imagens para teste tamb em foi criada, onde trinta e duas imagens
foram criadas, onde 17 imagens s ao As, 9 imagens s ao de Bs e 6 imagens s ao de Ps,
conforme a Figura 6.
Figura 6. Base de imagens de letras para teste da rede neural
3.2. OCR Utilizando otimizac ao por enxame de partculas (PSO)
Para extrair caractersticas da imagem utilizou-se uma parte do processamento de im-
agens, neste caso, o reconhecimento de padr oes para encontrar pontos na imagem que
identicassem uma possvel letra [?]. Em conjunto com alguns trabalhos pesquisados [?],
vericou-se que para esta tarefa utilizaram a dist ancia Euclidiana ou a dist ancia Maha-
lanobis.
No PSO, foi acrescentado ` a partcula as coordenadas da imagem, bem como valor
do pixel em cada coordenada. A func ao de tness utilizada no PSO, levando-se em
considerac ao os artigos lidos, foi a dist ancia euclidiana entre o indivduo na populac ao
e a sada a ser reconhecida.
fitness = DE =

n
i
=1
(x
i
y
i
)
2
O matlab foi utilizado para vericar o funcionamento do PSO inicialmente, e na
sequencia foi acrescentado a imagema ser analisada para detectar umponto ou uma regi ao
que tivesse na imagem uma letra.
4. Resultados e Discuss ao
Para os resultados e discuss ao da implementac ao do OCR utilizando redes neurais arti-
ciais multicamadas com algoritmo de backpropagation de treinamento, com 625 entradas,
um neur onio de sada, uma camada escondida de 100 neur onios e 500 mil epocas, chegou
ao erro esperado (de 0.00001) na epoca 53 (Figura 7).
Figura 7. Resultado do treino da rede neural
com esse treinamento, a rede e consequiu acertar 28 letras de 36, errando 4 letras,
conforme a Figura 8
Figura 8. Resultado dos testes da rede neural
Para os resultados do PSO, foram utilizadas imagens de tamanhos aproximados
de 170x170, podendo ter uma variac ao conforme a letra na imagem. As imagens a serem
analisadas s ao em nveis de cinza de 0 a 255. Foi utilizado o valor de 50 para as iterac oes,
a in ercia teve o valor inicial de 0.5, o fator de correc ao de 2.0 e o tamanho da populac ao
de 169. Com estes valores iniciais, vericou-se que com o PSO foi possvel obter regi oes
iniciais indicando partes da letra a ser identicada.
Um primeiro exemplo analisado foi a letra P com o tamanho de 136x166, tendo-se
obtido uma regi ao no lado esquerdo superior da letra. Outro exemplo foi a letra D com
o tamanho de 168x145, tendo-se obtido tamb em uma regi ao no lado esquerdo superior
da letra. A Figura 9 ilustram estes resultados, observando-se que na imagem a posic ao
inicial e na parte superior esquerda, enquanto que o resultado do PSO e mostrado na
posic ao inferior esquerda.
Figura 9. Resultado com a imagem letra P e resultado com imagem letra D
5. Conclus ao
Neste trabalho foram realizadas duas soluc oes diferentes para OCR, uma utilizando Redes
Neurais Articiais multicamadas como algoritmo de treinamento backpropagation e outra
utilizando pso.
Para a rede neural, foi utilizado a biblioteca em C FANN (fast articial neural
network) que possui o algoritmo de backpropagation, onde para uma rede neural com
uma camada escondida de 100 neur onios e 500 mil epocas, chegou ao erro esperado (de
0,0001) na epoca 53 e conseguiu acertar 28 de 32, errando obviamente 4 vezes.
Com este trabalho vericou-se que o PSO e um m etodo de optimizac ao exvel,
onde se pode alterar facilmente a func ao de tness a ser utilizada. Percebeu-se que alguns
pontos n ao convergiram para a regi ao inicial das letras, mas isto n ao tira o m erito da
converg encia do PSO. Com isto, vericou-se que podem ser realizadas modicac oes na
func ao de tness, para melhorar o desempenho do PSO.
Refer encias
Axelrod, R. (1997). The dissemination of culture a model with local convergence and
global polarization. Journal of conict resolution, 41(2):203226.
Eberhart, R., Simpson, P., and Dobbins, R. (1996). Computational intelligence PC tools.
Academic Press Professional, Inc.
Gorai, A. and Ghosh, A. (2009). Gray-level image enhancement by particle swarm op-
timization. In Nature & Biologically Inspired Computing, 2009. NaBIC 2009. World
Congress on, pages 7277. IEEE.
Heppner, F. and Grenander, U. (1990). A stochastic nonlinear model for coordinated
bird ocks. AMERICAN ASSOCIATION FOR THE ADVANCEMENT OF SCIENCE,
WASHINGTON, DC(USA). 1990.
Huang, T. and Yin, L. (2010). Hybrid particle swarm optimized wavelet network for video
ocr. In Information Processing (ISIP), 2010 Third International Symposium on, pages
9194. IEEE.
Kennedy, J. (2006). Handbook of nature-inspired and innovative computing. Swarm
intelligence, pages 187219.
Osorio, F. S. (1991). Um estudo sobre reconhecimento visual de caracteres atrav es de
redes neurais.
Poli, R., Kennedy, J., and Blackwell, T. (2007). Particle swarm optimization. Swarm
intelligence, 1(1):3357.
Sahel Ba-Karait, N. and Shamsuddin, S. M. (2008). Handwritten digits recognition using
particle swarm optimization. In Modeling & Simulation, 2008. AICMS 08. Second Asia
International Conference on, pages 615619. IEEE.
Sakano, H., Kida, H., and Mukawa, N. (1996). Seeing the character images that an ocr
system sees-analysis by genetic algorithm. In Pattern Recognition, 1996., Proceedings
of the 13th International Conference on, volume 4, pages 411416. IEEE.

Вам также может понравиться