Você está na página 1de 70

INPE-11279-PRP/242

USO DE REDES NEURAIS EM VISO COMPUTACIONAL E


PROCESSAMENTO DE IMAGENS

Jos Demisio Simes da Silva

Relatrio de atividades em estgio SPE/RHAE (CNPq-Processo n 260.048/95-0),


realizado no Nuclear Engineering Department da Universidade of Tennessee,
Knovville, USA

INPE
So Jos dos Campos
2004

Identificao do Bolsista:
Nome: Jos Demisio Simes da Silva
No. do Processo: 260.048/95-0
Instituio:
Instituto Nacional de Pesquisas Espaciais - INPE
Departamento:
Laboratrio de Computao e Matemtica Aplicada - LAC
Endereos:

Residencial: Rua Helena David Neme, 222 Ap 71


So Dimas - So Jos dos Campos - SP
CEP 12245-310
Instituio: Av. dos Astronautas, 1758
Jardim da Granja - So dos Campos - SP
CEP 12227-010

Nvel de Treinamento:
SPE - Estgio de Especializao no Exterior
Ttulo do Projeto de Tese/Pesquisa:
Uso de Redes Neurais em Viso Computacional e Processamento de Imagens.
Nome do Orientador: Dr. Robert E. Uhrig
Local: Nuclear Engineering Department
The University of Tennessee, Knoxville, USA

So Jos dos Campos, 07 de Julho de 1997

Jos Demisio Simes da Silva

Processo : 260.048/95-0
RELATRIO

Resumo: Este documento relata as atividades desenvolvidas durante a realizao de Estgio


de Aperfeioamento no Exterior, realizado no "Nuclear Engineering Department" na "The
University of Tennessee", nos Estados Unidos. No relatrio, so mencionados os estudos
bibliogrficos realizados e os experimentos efetuados para adquirir maior proficincia no uso
de redes neurais. O objetivo principal do trabalho foi adquirir maior familiarizao com o
paradigma e os algoritmos de redes neurais artificiais existentes, procurando gerar
competncia para o uso de redes neurais em tarefas de processamento de imagens e viso
computacional.
Introduo
O Estgio teve como objetivo adquirir maior proficincia no uso de redes neurais
como ferramenta computacional em aplicaes de viso computacional, processamento de
imagens, e reas correlatas, buscando capacitao tcnica para a realizao de pesquisas, que
contribuam para o progresso e desenvolvimento das reas de Viso Computacional e
Processamento de Imagens atravs do uso de ferramentas e mtodos computacionais
modernos.
As reas de Viso Computacional e Processamento de Imagens so exploradas por
diversos domnios de aplicao, tais como: indstria, cincias espaciais, medicina, etc. As
pesquisas realizadas por novos mtodos de resoluo de problemas nas reas, tentam
desenvolver algoritmos computacionais com as seguintes caractersticas: robustez,
desempenho e baixo custo computacional.
Na literatura especializada se encontra muitos trabalhos que exaltam procedimentos,
mtodos e algoritmos para a resoluo de problemas, empregando mtodos convencionais e
modernos. Os objetivos das reas so tratamento e extrao de informao quantitativa e
qualitativa de imagens. Os problemas so tratados sob vrias abordagens diferentes, cada uma
enfatizando tcnicas e mtodos que tentam superar os problemas de outra.

O surgimento de novas metodologias, teorias e ferramentas faz as pesquisas


convergirem naturalmente em busca de solues para problemas ainda no tratados por falta
de recursos computacionais e modelos, e para aqueles que exigem muitos esforos
computacionais. Neste sentido, uma linha de pesquisa tenta dotar as mquinas com as mesmas
capacidades de processamento dos humanos, tanto para o melhoramento dos dados, como
para a extrao automtica de informaes que eles representam.
Vrios mtodos esto disponveis para este fim. H pesquisadores que abordam este
problema como um problema de reconhecimento de padres sob hiptese cognitiva, isto , os
especialistas na aplicao tm conhecimento a priori da informao que pode estar nos dados,
como por exemplo em imagens. Em geral estes algoritmos tomam decises com base em
estatsticas obtidas a partir dos dados brutos (nveis de cinza das imagens), que envolve uma
fase de treinamento na obteno do espao de atributos e formao das classes.
No caso de Processamento de Imagens, a anlise de uma imagem no envolve apenas
a informao presente, alm dela, se usa conhecimento armazenado anteriormente. o caso,
por exemplo, de aplicaes em Sensoriamento Remoto. Os especialistas de Sensoriamento
Remoto lidam com uma quantidade de informao grande durante a inferncia de
informaes teis da imagem. Em geral a fase de treinamento para classificao e
interpretao das imagens envolve vrias horas de anlise dos dados das imagens, bem como
o levantamento da verdade terrestre. Apenas com a experincia tais especialistas comeam a
depender menos de informao complementar para certos objetivos. Evidentemente, eles
precisam estar atentos para as alteraes no uso do solo, que pode mudar com o tempo
tornando dinmica a tarefa de anlise de imagens em sensoriamento remoto.
A base para a extrao de informaes de uma imagem depende exclusivamente do
treinamento dado ao especialista. A interpretao de fotos areas ou de satlites, envolve o
treinamento exaustivo de novos usurios na interpretao dos nveis de cinza da imagem. A
interpretao depende da acuidade visual do observador e das condies de iluminao da
cena e do processo de aquisio das imagens.
A interpretao antecedida pela fase de extrao de atributos primitivos, como
intensidades de nveis de cinza, bordas, contornos e textura, atributos esses que so
naturalmente procurados pelo sistema visual humano quando exposto s imagens. Pode-se ver
ento que a capacidade visual dos humanos pode fazer a diferena entre os observadores. A
fase de extrao de atributos para interpretao desenvolvida atravs de algoritmos de Viso
Computacional. Para que as mquinas em Viso Computacional e Processamento de Imagens

tenham desempenho semelhante aos humanos na extrao de atributos, faz-se necessrio


utilizar algoritmos que permitam a integrao de dados de natureza diferente, combinando
alto desempenho e baixo custo computacional.
Uma forma de alcanar tal objetivo atravs do uso de tcnicas de Inteligncia
Artificial que permite o

desenvolvimento de algoritmos hbridos adequados para esta

integrao. Entretanto, a maioria das tcnicas utilizadas exige explicitao do conhecimento


para construo de inferncias pelas mquinas. necessrio ento se ter ferramentas que
evitem a representao explcita do conhecimento, ou seja, que trabalhem diretamente sobre
os dados brutos fornecidos, o tanto quanto possvel.
A abordagem por Redes Neurais adequada para tal tarefa, pois nela o conhecimento
mapeado nos padres de conexes entre os diversos processadores das redes. O padro de
conexo nas redes representa o conhecimento necessrio para a realizao da tarefa,
diminuindo a necessidade de explicitao dos vrios aspectos da informao.
Redes Neurais so utilizadas em diversas reas de aplicao na resoluo de
problemas envolvendo estimao de parmetros e otimizao, que so aspectos importantes
em tarefas de viso computacional e processamento de imagens, onde as inferncias so
sistematicamente melhoradas de acordo com o aumento da preciso da informao
armazenada. Com o objetivo de tornar as mquinas com a capacidade de inferncia prxima
de um observador humano, quando exposto a uma imagem, as tarefas de viso computacional
e de processamento de imagens poderiam explorar melhor os modelos conexionistas do que
apenas os aspectos de modelagem matemtica envolvidos.
Desenvolvimento do Estgio
Etapa 1. Contatos com grupos de pesquisa.
A primeira fase do plano de trabalho apresentado diz respeito a contatos com grupos
de trabalhos. Durante o estgio foram mantidos contatos com: o grupo de Viso
Computacional de Oakridge National Laboratory, o grupo de Viso Computacional do
Departamento de Engenharia Eltrica da University of Tennessee e o grupo de pesquisadores
que desenvolvem atividades de pesquisa utilizando redes neurais e lgica nebulosa no
Departamento de Engenharia Nuclear da University of Tennessee.

Estes contatos permitiram um conhecimento amplo do nvel de pesquisa que os grupos


vm desenvolvendo utilizando redes neurais. Os grupos de viso computacional tm
trabalhado prioritariamente com tarefas de reconhecimento de padres, enquanto o grupo do
departamento de engenharia nuclear tem suas atividades voltadas para processamento digital
de sinais.
Da observao do estgio dos trabalhos dos grupos conclui-se que, as tarefas
desenvolvidas esto prioritariamente voltadas para a resoluo de problemas. Apesar disso,
devido a existncia de tpicos abertos em redes neurais como: a definio da topologia
mnima da rede a ser utilizada, o tamanho de um conjunto de aprendizagem a ser utilizado, a
generalizao da aprendizagem e o tempo para aprendizagem de uma rede, a pesquisa por
algoritmos que melhorem o desempenho dos algoritmos em uso, tambm objeto de pesquisa
durante a realizao dos trabalhos.
Durante o estgio foram realizados experimentos, implementando-se algoritmos
computacionais para reduzir os conjuntos de treinamento atravs do uso de tcnicas de
clusterizao. Os experimentos so comentados no decorrer deste relatrio. Para se obter
redes mais concisas possveis tambm foi objeto de estudo no estgio o desenvolvimento e
implementao de um algoritmo de crescimento dinmico de uma rede neural.
Etapa 2. Pesquisa Bibliogrfica em redes neurais buscando identificar as mais variadas
aplicaes nas reas de viso computacional e processamento de imagens.
Vrios trabalhos podem ser encontrados na literatura, que utilizam redes neurais na
resoluo de problemas em Viso Computacional e Processamento de Imagens. Apenas
alguns trabalhos so mencionados ressaltando a variedade de problemas e de modelos que
tem sido utilizados.
Uma das aplicaes bastante citadas na literatura o uso de redes neurais em deteco
de bordas. As bordas em imagens representam descontinuidades ou mudanas abruptas na
distribuio de intensidade, sendo essenciais no reconhecimento dos objetos.
Um primeiro trabalho Srinivasan et al. (1994), que descrevem uma rede neural
sensvel a bordas em um campo receptivo largo, assumindo que na retina as bordas so
detectadas por camadas neuronais iniciais. Alm da deteco de bordas o experimento prov
compresso de imagem, que uma aplicao essencial para Processamento de Imagens.

A figura 2.1 ilustra a arquitetura do detector. A rede opera em um campo receptivo de


tamanho K x K, com centro em (x,y) na imagem de N x N. A camada codificadora gera um
vetor comprimido qxy= [q0q1qL-1]T a partir da entrada pxy=[p0p1pk2-1]T. As entradas so as
intensidades no campo receptivo. A segunda camada mapeia qxy para um vetor de borda em
2D. sxy= s0i + s1j d a intensidade da borda ao longo de duas direes ortogonais em (x,y), o
que permite o clculo da intensidade total e da direo da borda.
A funo da camada codificadora expressa por: qxy= Wtpxy, onde W = [w0w1...wL-1]
e cada wi um vetor coluna com os pesos que ligam cada neurnio ao campo receptivo. O
treinamento determina a matriz de pesos que produz um vetor sada qxy com o mximo de
informao sobre bordas no campo. Os elementos de qxy tm varincia mxima sobre o
conjunto de vetores de entrada e correlao mnima com outros elementos, que implica em
mximo de informao e mnimo de sobreposio. O treinamento da camada codificadora
usa imagens de crculos concntricos, que variam em intensidade, orientao, curvatura e
localizao.
Os pesos tm valores iniciais aleatrios. Calcula-se o produto escalar do vetor de
intensidade por cada vetor peso. Apenas o neurnio ganhador por inibio lateral tem o peso
ajustado.
Para a maximizao da varincia de sada, modificam-se os pesos pela regra de Hebb
wl+1 = wl + lqlpxy . l a taxa de aprendizagem, que gradualmente reduzida forando o
vetor de pesos para um valor final.
A interao entre os neurnios se d atravs de conexes inibitrias. Para um neurnio
l, a entrada inibitria

n l

vqn.

A aprendizagem tem dois ciclos iterativos (k). A sada de um neurnio por ciclo
al t , al t
. al (k) o nvel de ativao e um limiar. A ativao inicial
c. c.
0

dada por: ql(k)=

igual entrada, e posteriormente calculada por:


a (k ) =
t
l

[a ( k 1)]
t
l

t
1 + vq n ( k 1)
nl

k = 1,2,.....

As entradas inibitrias de outros neurnios suprimem continuamente a ativao. As


inibies mtuas decrescem as sadas at apenas um neurnio (o ganhador) ter sada no nula.

Neste ponto se tem o equilbrio e adaptam-se os pesos do ganhador. No prximo ciclo de


treinamento, uma nova entrada escolhida aleatoriamente e o processo se repete.

FIGURA 2.1 - Codificador e detector de bordas com rede neural.


FONTE: Sirinivasan et al. (1994, p. 1654).
As taxas de aprendizagem decrescem gradativamente com o treinamento com:

l(1-ql),
l+1 =

se o l-simo neurnio o ganhador


do (+1)-simo ciclo de treinamento

l,

caso contrrio

e controlam o processo de decaimento, o que melhora a adaptabilidade da rede.


O treinamento acaba quando as taxas de aprendizagem tm valores menor que um
limiar, por exemplo, 0.01.
Cada elemento de um vetor de pesos, que liga um pixel (x,y) a um neurnio,
multiplicado em seguida por uma funo envelope gaussiano com varincia ,

e 2

[( ( x x ) + ( y y ) ]
2

que aumenta a contribuio de pixels na regio central de raio , em relao aos pixels na
periferia do campo receptivo, assim a informao de borda no vetor de sada localizada.
O detector uma rede feed-forward de duas camadas, como na figura 2.1. A camada
escondida tem M neurnios e a entrada o vetor qxy, sada do codificador. Cada camada de
sada tem dois neurnios, que so os componentes de um vetor sxy de bordas, sxy=s0i+s1j, na
posio (x,y) na imagem. s0 e s1 so intensidades nas direes i e j, sendo mutuamente
perpendiculares. A intensidade resultante e a orientao da borda podem ser conseguidas por:
sxy = (s0 + s1)1/2 e xy = tan-1 (s1/s0).
Para cada pixel a rede mapeia um vetor qxy num vetor de borda bidimensional sxy.
O treinamento da rede detectora executado por um algoritmo de back-propagation,
com o objetivo de fazer a rede gerar um vetor de borda ideal para cada locao dada, mesmo
na presena de rudo. Gera-se qxy para cada ponto (x,y) na imagem de treinamento. Calcula-se
um vetor sxy ideal. Estes pares de vetores formam o conjunto de treinamento da rede. No
experimento Srinivasan et al. (1994) usaram uma imagem de crculos concntricos com
bordas em todas as orientaes.

FIGURA 2.2 - a) Imagens de crculos com rudo Gaussiano e SNR = 6. b) bordas detectadas
pelo detector neural e c) bordas detectadas pelo operador de Canny.
FONTE: Sirinivasan et al. (1994, p. 1660).
Se o deslocamento espacial do pixel (x,y) para a borda mais perto r0i+r1j e a
orientao
( r02 +r12 )

2 2

da

borda

mais

perto

xy,

ento

vetor

de

borda

sxy=

(sen xy i+ cos xy j) que satisfaz as condies gerais de deteco tima como

proposto por Canny (Canny, 1986). Na ativao, a rede detectora recebe entradas da rede
codificadora.
A figura 2.2 ilustra resultados obtidos com a aplicao do detector. As imagens
utilizadas so de 256 x 256 e o campo receptivo de 15 x 15. A camada codificadora tem
L=16 neurnios e a decodificadora tem M=32 neurnios. Segundo o trabalho, L e M foram
escolhidos empiricamente em funo da carga computacional exigida, =0.9999 e =0.001.
Na ativao a rede foi testada na imagem com crculos concntricos, deslocando-se sobre a
imagem a um passo de 1 pixel por vez.
Nas consideraes dos autores, a rede neural proposta comparvel com a abordagem
proposta por Canny para detectar bordas abruptas em imagens ruidosas. A tabela 2.1 mostra
resultados da comparao do detector de bordas neural com outros detectores.
TABELA 2.1 - Comparao de figuras de mrito do detector de bordas por rede neural e
outros
SNR

Operador
Sobel

Operador
Prewitt

LoG

Operador
de Canny

Rede
Neural

Sem rudo
1
1
12
0.60
0.61
6
0.27
0.27
3
0.21
0.21
FONTE: Srinivasan et al. (1994, p. 1661).

1
0.42
0.32
-

1
0.89
0.82
0.67

1
0.88
0.82
0.69

A figura de mrito, parmetro de comparao, calculada

ND

1
1
F
=
por

2
max( N I , N D ) i = 1 1 + d i

onde di a distncia do pixel declarado como borda e

o pixel de borda ideal mais perto, uma constante de calibrao, NI e ND so nmeros de


pixels de bordas ideal (I) e detectado (D).
Os valores na tabela 2.1 foram obtidos utilizando-se uma imagem sinttica com
crculos concntricos, com os operadores de Sobel, Prewitt, Laplaciano da Gaussiana e
Casamento de superfcie de Haralick e Canny.
Os autores enfatizam algumas vantagens do detector por rede neural em relao ao
detector de Canny: 1) pode ser treinado para qualquer tipo de distribuio de rudo e perfil de
borda, enquanto que o detector de Canny apropriado para bordas abruptas na presena de
rudo Gaussiano; 2) pode ser implementado em mquinas paralelas, devido a natureza
paralela do modelo, com tempo de execuo pequeno.
10

Paik et al. (1992) descrevem um algoritmo usando ADALINES para detectar bordas,
que mantm o desempenho computacional e reduz os efeitos de rudo. Os neurnios so
lineares adaptativos, com estados +1, 0 e -1. Isso torna o algoritmo um supressor de rudos,
sem aumentar a dimenso do operador.
As entradas da ADALINE so pixels que tm seus valores mapeados para estados
discretos, resultantes da classificao de cada ponto da janela em: 1) ponto de borda do lado
alto, 2) ponto de borda do lado baixo, ou 3) no um ponto de borda. Uma entrada j-sima da
ADALINE
1,
z j < mi

vj= 0, m j z j mi +
1,
z j > mi

1
onde controla a resoluo das bordas e o nvel de rudo. Na equao mi =
r

z
j =1

ro

nmero de pixels da janela e zj o valor do j-simo pixel da subimagem ordenada


lexicograficamente, com centro em xi, ou seja, zj=xk, j=1,..,r, sendo

( j 1) 1
1
k = i +
n2 + ( j 1) mod l
l 2
2

onde l a dimenso da mscara usada.


O problema foi reformulado como um dispositivo que envolve 3 hipteses: a) H1 - vj
pertence ao lado alto da borda; b) Ho - vj no ponto de borda; c) H-1 - vj pertence ao lado
baixo da borda.

Os autores supem uma borda abrupta de amplitude 2E, logo

as

hipteses so:
a) H1: zj=mi+E+ni ; b) H0: zj=mi+ni ; c) H-1: zj=mi-E+ni
onde ni uma componente de um rudo Guassiano com mdia zero e varincia 2. Devido
simetria do problema, Paik et al. (1992) consideram o critrio de deciso da mxima
verossimilhana, entre H1 e H0, como:
1
2
L(zj) = 2
1

e 2

2 2

( z j ( mi + E ))2

e 2

( z j mi )2

> T ( H1 )

< T ( H 0 )

T um limiar para probabilidade de ocorrncia de uma borda. Simplificando e tomando o


logaritmo da expresso:

11

> ( H1 )
2
zj
mi +
E
< ( H0 )

E
onde = ln(T). pode ser estimado a partir de =
2

E
.
2

Para rudo com alta intensidade, alto, o que suprime erros de classificao devido
ao rudo. Com rudos pequenos, suprime erros devido a erros de textura na imagem, erros
de quantizao e bordas contnuas (em rampa).
No experimento usou-se 12 padres de bordas bidirecionais (Tabela 2.2) com l=3,
somado 9 pixels e assumindo os estados +1, -1 e X (que significa qualquer). Aumentando-se l,
possvel aumentar o nmero de padres.
No trabalho Paik et al. (1992) usaram a separabilidade linear para classificar os dados
da entrada do detector. A definio de separabilidade linear considera um conjunto P de
vetores de dimenso L, cujos componentes assumem um dos M=j+k+1 valores do conjunto
{-j,,-1,0,1,,k }, ou seja, P={x|xi {-j,,-1,0,1,,k}, i=1,,L }. Os valores extremos no
intervalo so -j e k.
TABELA 2.2 - Padres de bordas em direes diferentes.
1
1
1

X
X
X

-1
-1
-1

-1
-1
-1

-1 -1 X
-1 X 1
X 1 1

1
1
X

90o

45o

X
X
X

1
1
1

-1
X
1

-1
X
1

-1
X
1

1
X
-1

1
X
-1

X
-1
-1

-1 -1
-1 X
-1 X

X
1
1

1
1
1

270o

225o

0o

45o/
90o

1
X
-1

1
X
-1

X
1
1

1
X
X

X
-1
-1

-1
-1
-1

180o

225o/
270o

-1
X
1

-1
-1
X

1
-1
-1

-1
X
-1

X
1
X

1
1
1

135o

45o
/
315o

X
X
-1

1
1
X

1
X
1

X
-1
X

315o

225o/
135o

FONTE: Paik et al. (1992, p. 1498).


Tomando dois subconjuntos de P mutuamente exclusivos, P0 e P1, P0P1 = P, com

1, w T x
onde um valor
um vetor peso w pode-se definir uma funo lgica F(x)=
T
0, w x
limiar. Se F separvel linearmente ento wTx > wTy, x P1 e y Po.
No caso de multi-estados, Paik et al. (1992) apresentaram um teorema propondo uma
funo linearmente separvel, que separa o vetor de entrada x, de dimenso L, dos vetores em
Po. Cada componente de x assume um valor extremo, formando os conjuntos P1={x} e o
conjunto Po=P-P1. Para a prova toma-se a definio de separabilidade linear e um vetor w,

12

1, xi = k
,i = 1,..., L tal que wixiwiyi, I. A desigualdade implica
com componentes wi=
1, xi = j
wTx>wTy. Tomando-se um conjunto P-1={-x}, x com valores extremos, vale wT(-x) < wTy <
wTx, y Po. O teorema permite duas formas de determinar os wi, i=1,,L:
a) os estados X assumem valores extremos, logo na borda os valores X e seus complementares
seriam os mesmos com sinais trocados. Com a funo discriminante, um mesmo vetor pode
detectar bordas em cada par bidirecional de bordas, pois tm valores extremos com sinais
trocados. No clculo dos wi usa-se a definio anterior. Como exemplo, para detectar bordas
direita ou esquerda em uma janela de tamanho l = 3 :w- = [ 1 w2 -1 1 w5 -1 1 w8 -1 ]T onde
w2, w5 e w8 podem ser +1 ou -1, dependendo de X no padro de bordas correspondente. b) os
valores X assumem apenas valores extremos sem alterao de sinal. Os componentes
correspondentes aos estados X so zero. No exemplo anterior w2=w5=w8=0.
O limiar na determinao de F, depende das entradas do vetor de peso. Nos casos foi
usado igual ao nmero de elementos da janela de anlise (r=lxl), no primeiro e igual ao
nmero de elementos da janela menos os estados X, no segundo. A anlise desenvolvida
permite que os vetores pesos sejam determinados de forma direta, pois se usa valores
extremos, do contrrio deve-se usar o algoritmo do LMS.O algoritmo para deteco de bordas
proposto baseia-se na definio de bordas e na determinao de pesos discutidas. Na
1,
2.3 usou-se os 4 primeiros padres de bordas. A sada g(.) g ( u ) = 0 ,
1,

onde

figura

u
< u <
u

um limiar de entrada, definido como . A borda resulta da operao OR sobre as

sadas das quatro ADALINES alteradas por g(.).


O detector foi experimentado e comparado com os operadores LoG e de Canny. O
estado X nos padres foi zero e =6, tais parmetros permitiram localizar bordas em qualquer
direo. Usou-se a imagem da figura 2.4 para os testes. A imagem tem nveis de rudo
diferentes, ou seja, SNR=100, 40, 20, 10, 1 dB (1a coluna da figura).
Para o operador neural, variou na seqncia: 45, 45, 45.3, 48.3 e 71.5, com E=90 e
= 0.68. Para o operador LoG L = 0.5, 0.5, 4, 5 e 6, na seqncia (3a coluna da figura 5.4).
A supresso de rudo necessita mscaras de tamanhos variados para se ter resultados
semelhantes ao operador neural. A comparao em relao a Canny considerou a localizao
da borda. Tomou-se uma mscara de 5 x 5. Os resultados esto na quarta coluna da figura 2.4.

13

Paik et al. (1992) encontraram degradao na qualidade das bordas detectadas pelo operador
Canny.

v0

wT v

g(. )

v1

w|T v

g(. )

z1

OR
xi

.
.
.

.
.
.

w/T v

g(. )

zr

vr

w\T v

g(. )

FIGURA 2.3 - Procedimento de deteco de bordas usando ADALINE de trs estados.


FONTE: Paik et al. (1992, p. 1500).
O experimento foi repetido para uma imagem real e os resultados foram semelhantes
(Paik et al., 1992). Para taxas de rudo altas os trs algoritmos tm desempenhos semelhantes,
mas os autores observaram que o detector neural era mais sensvel s bordas mais finas.
Na concluso Paik et al. (1992) comentam que detector neural proposto adequado
para detectar bordas e supera os operadores LoG e de Canny, nas mesmas condies de testes.
Trs vantagens so realadas do experimento com o operador neural: 1) a possibilidade de
reduo de rudo, mantendo-se o tamanho da janela de anlise e o desempenho na localizao
da borda; 2) baixa carga computacional; e 3) a largura da borda pode ser controlada
modificando-se a definio de borda, isto , escolhendo valores especficos para os estados X.

14

FIGURA 2.4 - Imagens com nveis de rudo diferentes para teste do detector neural e
resultados obtidos com os operadores neural, LoG e Canny.
FONTE: Paik et al. (1992, p. 1501).
Bhuiyan et al. (1994) argumentam que a deteco de bordas tem problemas com a no
uniformidade de iluminao. Assim, os mtodos existentes podem falhar na deteco para
objetos similares em regies com sombreamento diferentes na cena, necessitando de
readaptao s novas condies de iluminao. Eles propem um detector baseado na rede de
Hopfield usando resultados de Koch (1986), que mostrou que redes de Hopfield podem ser
generalizadas para resolver as funes de energias no quadrticas de viso primria, pelo
mapeamento dos processos de linhas binrias em variveis contnuas limitadas por 0 e 1,
vislumbrando tambm uma funo de custo associada. A rede Hopfield trata apenas de
problemas quadrticos. O trabalho usa a minimizao de energia, e prope um esquema para
mudar os parmetros da funo de energia, em uma imagem com iluminao varivel. A
implementao proposta foi comparada qualitativamente e quantitativamente com os
operadores de Sobel 3 x 3 e LoG, sobre uma imagem sinttica. A figura 2.5 mostra a
arquitetura proposta.

15

FIGURA 2.5 - Implementao do detector de borda baseado na rede Hopfield.


FONTE: Bhuiyan et al. (1994, p. 622).
No modelo uma imagem N x N tem 3 x N x N neurnios, assim um reticulado como na
figura 2.5, cada pixel (i,j) tem trs neurnios associados, um para o nvel de intensidade com
varivel interna de estado igual a sada fi,j, outro representando o processo de linha
horizontal, que decide se h descontinuidade na intensidade entre o pixel fi,j e fi,j+1 e que cuja
sada dada pela funo sigmide da varivel de estado interna mi,j: hi,j =

1
1+ e

2 mi , j

, se

no h descontinuidade hi,j=0, do contrrio hi,j=1. O ltimo neurnio, responde pelo processo


vertical da linha, cuja sada vi,j semelhante horizontal, mas depende da varivel de estado
interna ni,j.
A energia considerada dada por: E=EI+ED+EV+EP+EC+EL+EG, cujas componentes
so dadas por:
EI = Cr

[(f
i, j

ED = CD

2
2
i,j+1-fi,j) (1-hi,j)+(fi+1,j-fi,j) (1-vi,j)]

(f -d )
i, j

i,j

i,j

Ev = Cv

[h (1-h )+v (1-v )]

EP = CP

[h h

EC = Cc

[h +v ]

i, j

i, j

i, j

i,j

i,j

i,j

i,j

i,j i,j+1+vi,jvi+1,j]

i,j

i,j

16

EL = CL

{h [1-h

2
2
i+1,j-vi,j-vi,j+1) +(1-hi-1,j-vi-1,j-vi-1,j+1) ]+

i,j

i, j

vi,j[(1-vi,j+1-hi,j-hi+1,j)2+(1-vi,j-1-hi,j-1-hi+1,j-1)2]}
hi , j

EG = CG

[
i, j

vi , j

g i,1j (hi,j)dhi,j+

g i,1j (vi,j)dvi,j]

Bhuiyan et al, (1994) observaram que as componentes introduzem restries. A


componente Ei depende das intensidades dos pixels vizinhos. A componente ED representa a
credibilidade do dado, nela di,j a intensidade do pixel, portanto, (fi,j-di,j)2 a diferena entre o
valor original e o valor aproximado fi,j. O peso CD depende da relao sinal/rudo. EV introduz
uma restrio de fronteira e fora os processos de linha para 0 ou 1. EP introduz a restrio de
linha nica, penalizando a formao de linhas paralelas adjacentes. O custo pago pela
introduo de cada linha EC. Processos de linha ativos ao longo de uma linha ou curva so
representados por EL, que um termo que favorece linhas contnuas e penaliza interaes de
mltiplas linhas e segmentos descontnuos. A componente EG fora os processos de linha para
dentro do hipercubo [0,1]N.
As

df i , j

dt

variaes

em

fi,j,

mi,j

ni,j

no

tempo

so

dadas

por:

dn i , j
E
E
E dm i , j
=
=
;
;
. Portanto, a taxa de variao no
dt
v i, j
f i, j
hi , j
dt

tempo da energia total E(fi,j,hi,j,ni,j) :

dE
=
dt
=
i, j

=-

i, j

E
f i, j

i, j

E d f i, j
+
f i, j d t

i, j

E d m i, j
+
m i, j d t

i, j

E d n i, j
n i, j d t

E
E E
E E


+

+
f i , j i , j m i , j hi , j i , j n i , j v i , j

E

f i , j

E
+
hi, j

Considerando a definio de hi,j,

hi, j
E v i, j

+
m i, j
v i, j n i, j
hi , j
m i , j

= 2 h i , j (1 h i , j ) 0 . De forma semelhante

vi, j
dE
0 . Como nenhum termo negativo,
0 , ou seja, a energia ser sempre
n i, j
dt

decrescente e o sistema tenta encontrar um mnimo para E.

17

A figura 2.6 ilustra a variao de E e componentes em funo da diferena de


intensidades f i , j +1 f i , j .
Na figura 2.6 a) a energia total no proporcional a soma das componentes, com o
aumento da diferena das intensidades. Assim, a relao entre cada componente e a energia
total aumenta com a diferena. Os processos de linhas so sensveis a contraste. Para mostrar
as evidncias foi usada uma imagem com duas regies de borda, uma com intensidade 10
vezes maior que a outra. No experimento encontrava-se falsas bordas com os parmetros
ajustados para detectar na regio de baixo contraste e mascarava-se bordas quando se ajustava
os parmetros para deteco na regio de alto contraste. A figura 2.6 a) tem-se uma regio de
timo, onde no h problemas na deteco de bordas.
No trabalho, Bhuiyan et al. (1994) propem um diagrama de energia (figura 2.6b) que
mantm relativamente constante a relao entre cada componente e a energia total E,
acomodando toda a regio para o propsito de deteco de bordas. Para isso optou-se por
variaes de segunda ordem, ( fi, j+1 fi, j ) , para as componentes em funo da diferena de
2

intensidades. As componentes so variadas pelos parmetros C* ( CV, CP, CC, CL e CG ) em


segunda ordem, como funo das diferenas de intensidades. O parmetro CD constante para
um determinada relao sinal/rudo. A figura 2.7 exibe a proposta de variao de segunda
ordem dos parmetros C*.
Bhuiyan et al. (1994) usaram um limite inferior para os valores C*, para evitar a
deteco de bordas ruidosas se

f i,

j+1

f i,

< f th , valor limiar timo. Os valores

iniciais dos parmetros foram determinados heuristicamente como CI=1, CD=2, CV=0.2,
CP=2, CC=0.4, CL=1.6, CG=0.2, = 2 5 e f t h = 0 .
O controle sobre a atualizao mantido, expressando-se as varveis em funo de C,
(CV=C, CP=10C, CC=2C, CL=8C, CG=C). CI e CD mantm-se nos valores iniciais. Na
atualizao o algoritmo considera 7 valores de intensidades com centro no pixel (i,j) e toma a
mdia das intensidades na horizontal e na vertical:
C ( h i , j ) = [ C ( h i , j ) + C ( h i 1 , j ) + C ( h i +1, j ) + C ( v i , j ) + C ( v i , j + 1 ) + C ( v i 1, j ) + C ( v i 1, j + 1 )] / 7
C ( v i , j ) = [ C ( v i , j ) + C ( v i 1 , j ) + C ( v i +1 , j ) + C ( h i , j ) + C ( h i , j + 1 ) + C ( h i 1 , j ) + C ( h i 1 , j + 1 )] / 7

Os valores so atualizados a cada 5 iteraes. Abaixo de Cmin a formao de linhas


penalizada. A tabela 2.3 mostra a atualizao para Cmin com o nmero de iteraes. Os valores
de Cmin foram escolhidos observando-se imagens de duas barras idnticas, dois crculos

18

idnticos e dois tabuleiros de xadrez idnticos, sob faixas diferentes de contraste (de mdio
para alto contraste, ou seja, nas razes de 6:1, 10:1, 15:1 e 20:1, respectivamente).

a)
b)
FIGURA 2.6 - a) Relao da energia E e suas componentes. b) Diagrama de energia proposto
por Bhuiyan et al. (1994).
FONTE: Bhuiyan et al. (1994, p. 623).

FIGURA 2.7 - Relao de segunda ordem dos parmetros C* com a diferena de intensidades.
FONTE: Bhuiyan et al. (1994, p. 623).
Inicialmente no processo de deteco, hi,j=vi,j=0.5 e fi,jdi,j. A rede computa a
superfcie mais suave tomando os processos de linha como zero. O processo de intensidade
atualizado 100 vezes para cada atualizao da rede de processo de linha, ou seja, a rede do
processo de linha estacionria. Para isso Bhuiyan et al. (1994) usaram unidades de tempos
distintas:

t1 = 00001
.
. para o processo de linha.
para o processo de intensidade e t2 = 001

Calcula-se C(hi,j) e C(vi,j). As bordas existem se hi,j, vi,j 1.

19

FIGURA 2.8 - Imagem usada para deteco de bordas em Bhuiyan et al. (1994).
FONTE: Bhuiyan et al. (1994, p. 625).
TABELA 2.3 - Variao de Cmin em funo do nmero de iteraes.
Nmero de iteraes
1- 4
5 - 19
20 - 49
50 - 99
100 - 199
FONTE: Bhuiyan et al. (1994, p. 624).

Cmin
0.20
0.10
0.05
0.02
0.01

Na tabela 2.3 Cmin cai com o aumento do nmero de iteraes para a minimizao da
energia. O valor de 0.2 corresponde a deteco de bordas com grandes diferenas entre pixels.
O decrscimo gradativo significa que bordas cada vez menos abruptas esto sendo detectadas.
O processo continua at se atingir um estgio de energia mnima. No experimento observouse um limite mximo de 200 interaes.
O processo detecta muitas bordas pequenas, mas a restrio EL permite a conexo das
vrias bordas pequenas, formando bordas alongadas e contnuas.

20

O algoritmo foi testado, juntamente com os operadores LoG, Sobel 3 x 3, Sobel 3 x 3


baseado em contraste, em uma imagem com tamanho de 470 x 470, cujas intensidades
alternavam-se em reas claras com nvel de cinza 200 e reas ligeiramente mais escuras com
nvel de cinza 100 e uma rea variando em rampa de 10 a 244 conforme figura 2.8.
Ao longo dos limites do quadrado hi,j=vi,j=1 como condies de contornos. Como
condies iniciais mi,j=ni,j=0, para hi,j=vi,j=0.5. A figura 2.8 exibe os resultados da deteco
pelos operadores e o padro de borda ideal. Inspeo visual figura, mostra que os
operadores LoG e de Sobel no detectaram bordas na variao em rampa. Por sua vez o
detector neural deu um resultado muito prximo do padro esperado. Outro aspecto a
largura da borda que variou com o detector. O detector neural resultou na borda mais fina.
Uma anlise quantitativa est resumida na tabela 2.4. Nela P(AE/IE) a probabilidade
condicional de um pixel de borda atribudo, dado um pixel de bordas ideal e P(IE/AE) a
probabilidade condicional de um pixel de borda ideal, dado um pixel atribudo. O limiar de
binarizao foi escolhido de forma que P(AE/IE) P(IE/AE) em cada caso. P(AE/IE) e
P(IE/AE) retratam medidas de rejeio e deteco falsa. O erro uma medida de desvio das
bordas verdadeiras. Bhuiyan et al. (1994) concluem ento que os detectores devem ter
capacidade de maximizar as probabilidades condicionais e minimizar o erro.
TABELA 2.4 - Avaliao quantitativa dos algoritmos.
Algoritmo
P(AE/E)
Neural
1.000
Sobel
0.753
Sobel contraste
0.510
LoG
0.481
FONTE: Bhuiyan et al. (1994, p. 624).

P(IE/AE)
1.000
0.501
0.500
0.438

Erro de distncia
0.000
0.750
0.508
0.706

De acordo com os resultados das probabilidades e erro, na tabela 2.4, o algoritmo


neural apresentou o melhor desempenho, comparado a outros detectores nas mesma situao
de teste.
Outros trabalhos utilizando redes neurais em problemas de viso computacional e de
processamento de imagens, comentados com menos detalhes de implementao, so
relacionados a seguir.
Cruz et al. 1995, realizaram um experimento para resolver o problema de casamento
de caractersticas em viso estreo. O casamento consiste em encontrar caractersticas comuns
em pares de imagens que possibilitem o estabelecimento de referncias entre as imagens.
Neste trabalho os autores empregam redes neurais auto-organizveis. O objetivo a
21

classificao dos pares de caractersticas, no caso segmentos de bordas, como casamentos


verdadeiros ou falsos, o que implica na existncia de duas classes. O vetor parmetro de
correspondncia de duas funes densidade componentes, que representam as classes e
parecem com densidades normais, so estimadas usando um mtodo de aprendizagem no
supervisionado. A rede utilizada tem uma topologia de trs camadas e implementa a funo
de densidade de mistura e a regra de Bayes. O mtodo de aprendizagem no supervisionado
uma regra de aprendizagem e as restries de viso estreo levam a uma regra de ativao.
Haring et al. 1994 utilizaram a rede de Kohonen para segmentao de imagens em
multiescala. Nesta abordagem a imagem descrita atribuindo-se um padro de caracterstica
para cada elemento da imagem. Este padro consiste de uma famlia de caractersticas
geomtricas diferenciais invariantes. Cada padro da imagem de treinamento uma entrada
para uma rede de Kohonen, para se obter uma descrio do espao de caractersticas em
termos de padres de caractersticas prottipos, representados pelos vetores pesos da rede
neural. Aps esta fase possvel atribuir-se rtulos, atravs de um algoritmo supervisionado,
para cada um dos prottipos, utilizando-se classes obtidas de uma segmentao a priori da
imagem de treinamento. A segmentao de qualquer imagem semelhante a de treinamento,
feita comparando-se a representao do padro de caractersticas de cada elemento de
imagem, com todos os vetores pesos e atribuindo-se cada elemento a classe que apresente o
melhor vetor de casamento.
Accoto et al. 1993, utilizaram redes neurais na anlise de textura em imagens. A
medida de textura considerada baseia-se no conceito de dimenso fractal e avaliada por
uma rede neural. O treinamento da rede neural utilizou um conjunto de padres sintticos com
dimenses fractais conhecidas. A metodologia desenvolvida foi utilizada em um problema
real de anlise de imagens do mar, para identificao de vazamentos de leo.
Wenzel e Gimblett 1993, experimentaram redes neurais em dois problemas clssicos
de processamento de imagens: compresso e reconstruo de imagens. No trabalho utilizou-se
um perceptron em multicamadas treinado pelo algoritmo "backpropagation". Observou-se
que o mesmo algoritmo realizava compresso dos dados e conservava o significado associado
aos "bytes" correspondentes aos padres, o que pode ser utilizado para reconstruo.

Etapa 3. Estudo terico de alguns algoritmos de redes neurais.

22

A seguir feita uma introduo s redes neurais ressaltando alguns algoritmos mais
utilizados em aplicaes prticas. Existem vrias publicaes com material didtico
criterioso, que introduzem as Redes Neurais como ferramentas computacionais. Nas
referncias bibliogrficas so citados alguns livros e artigos que trazem textos bsicos sobre o
assunto.
Redes Neurais Artificiais
As Redes Neurais Artificiais (RNA) so modelos matemticos que representam os
princpios de atividades do crebro com base na neurobiologia e na teoria do comportamento.
Estes modelos so adequados para resolver problemas que envolvem classificao ou
predio, usando informaes conflitantes ou incompletas, tais como em aplicaes de
reconhecimento de padres, otimizao, controle, compresso de dados, diagnstico e
aproximao de funes, entre outras.
As redes neurais artificiais diferem de outros modelos computacionais, por possuir
uma arquitetura composta de vrias unidades de processamento simples interconectadas
(neurnios), formando uma estrutura semelhante a uma rede de tecido nervoso cerebral.
Apesar da semelhana na descrio no so modelos completos do crebro humano. Para
aproximaes mais realistas necessrio pesquisas em cincias cognitivas e neurobiolgicas e
na tecnologia de processamento analgico-digital em larga escala.
O princpio de funcionamento das redes neurais est diretamente ligado ao
funcionamento de cada unidade de processamento individual. Cada unidade quando excitada
processa as informaes apresentadas nas sua entradas (dendritos) at sua sada (axnio),
segundo uma funo de transferncia, inspirando-se no comportamento de neurnios
biolgicos. Como no crebro, as entradas da rede neural correspondem aos sensores e, a sada
aos neurnios motores (atuadores) que respondem aos estmulos.
O funcionamento bsico de cada n (elemento de processamento ou neurnio),
consiste no somatrio da multiplicao de cada elemento de entrada pelo peso (reforador ou
inibidor) associado a ele. O resultado passa por uma funo de transferncia produzindo a
sada do n, que submetida aos dendritos dos ns da camada seguinte.
A figura 3.1 ilustra esquematicamente um modelo de neurnio utilizado em redes
neurais artificiais.

23

O interesse em redes neurais est na possibilidade de construo de redes de


computao artificiais (Hertz et al., 1991), que tm a capacidade de imitar o crebro nas
tomadas de deciso e no raciocnio envolvendo informaes que apresentam caractersticas
complexas, ruidosas, irrelevantes e/ou parciais (Eberhart e Dobbins, 1990), e cujo padro de
conexo codifica as estruturas complexas envolvidas na soluo de um problema, o que
implica no termo "conexionismo" (Khanna, 1990). Estas caractersticas das redes neurais
podem ser usadas na soluo de problemas ditos difceis de resolver por outras abordagens
conhecidas (Eberhart e Dobbins, 1990).
As primeiras implementaes de redes neurais foram feitas por pesquisadores da
biologia, fisiologia e psicologia, que tentavam explicar resultados experimentais e
observaes do comportamento e da construo do crebro (Eberhart e Dobbins, 1990).
A forma das redes neurais armazenar conhecimento atravs de aprendizagem que a
medida da variao da memria no tempo, dW/dt 0. A memria resulta do processo de
atualizao dos pesos das conexes, provocado pela aquisio de novos conhecimentos.
X1

w1
w2

X2
......

f(.)

s = f(x1w1+x2w2+...+xnwn)

wn

Xn

FIGURA 3.1 - Modelo de neurnio usado em redes neurais artificiais.


A aprendizagem pode ser no-supervisionada ou supervisionada. Na primeira o
processo iterativo continua at se atingir uma resposta estvel para um determinado conjunto
de padres de entrada. Na aprendizagem supervisionada feito o monitoramento da
amostragem de pares do conjunto de padres de entrada e sada definidos, observando-se o
princpio da aprendizagem por condicionamento.
A figura 3.1 ilustra um elemento de processamento bsico utilizado em redes neurais.
O efeito da soma na unidade resulta na determinao de um hiperplano discriminante, que
separa os pontos nos dois lados do plano de forma diferente. Os sinais dos pesos (conexes)
tornam a entrada excitatria ou inibitria. Portanto, as conexes entre as unidades de
processamento caracterizam-se: a) pela natureza (excitatria ou inibitria); b) pelo grau de
influncia (peso), e mudam em resposta a novas entradas.

24

Uma regra utilizada para a aprendizagem a regra de Hebb (Khanna, 1990) definida
como: wi(t+1)=wi(t)+Cxi(t)y(t), onde xi(t) a entrada i do n, com sada y(t); C - taxa de
aprendizagem (ou constante de aprendizagem - autores diferentes usam nomenclaturas
diferentes para representar esta constante); e wi(t) - matriz de pesos, que corresponde
memria. Com esta regra uma rede funciona como um associador de padres. Na ativao,
apresentando-se parcialmente um padro, espera-se que a rede gere a verso completa do
padro associado. Para generalizar esta regra faz-se os pesos mudarem em funo de um sinal
de reforo R, wi(t+1)=wi(t)+CRi(t), onde Ri(t)=xi(t)y(t) o reforo para a sinapse i no instante
t, e C a taxa de aprendizagem.
Em geral aplicaes que envolvem correlao simultnea ou espacial, podem ser
apresentadas em uma forma que a regra de Hebb pode implementar. A regra de Hebb no
produz os aspectos temporais do condicionamento estmulo-resposta clssico, mesmo com
atrasos e modificaes. Portanto, no h memria de longo termo.
Outra regra de aprendizagem a de Widrow-Hoff onde o sinal de reforo definido
por:

R i ( t ) = [ z ( t ) y ( t )]x i ( t ) ,

y(t ) =

e portanto, wi(t+1) = wi(t)+C [ z ( t ) y ( t ) ]x i ( t ) , onde

w i ( t ) x i ( t ) e z(t) o sinal de sada desejado. Aqui os pesos convergem para que a

j =1

resposta seja um nmero real desejado para cada estmulo. A regra implementa um algoritmo
iterativo que computa uma soluo para um conjunto de equaes lineares, cuja soluo
existe se os padres de estmulo x1,...,xk so linearmente independentes.
Na regra de Hebb, uma resposta perfeita para uma entrada possvel apenas para
padres de estmulos ortogonais. Pela regra de Widrow-Hoff, a recuperao ocorre para
conjuntos de padres de estmulo linearmente independentes.
A aprendizagem competitiva um esquema no associativo que ocorre quando as
unidades de processamento competem e apenas a unidade de resposta mais forte a um padro
modificada. A ativao de uma unidade em particular induz ou inibe a ativao de outras
unidades ligadas a ela, de acordo com o tipo de conexo.
A atividade das unidades da rede dada por uma funo de ativao monotnica no
decrescente, como por exemplo funes linear, rampa, degrau e sigmide como na figura 3.2.
O arranjo das unidades de processamento forma a rede neural, dando origem aos
modelos de redes neurais artificiais. Os modelos disponveis na literatura fazem uso de tipos
de conexes diferentes. As conexes podem ser inibitrias ou excitatrias em feed forward,

25

com a informao fluindo em um sentido nico, ou em feedback com a informao fluindo


em ambos os sentidos e/ou recursivamente.
Duas fases caracterizam bem o funcionamento de redes neurais: a aprendizagem,
desenvolvida atravs de uma das tcnicas discutidas antes, e a ativao, quando a rede, uma
vez treinada, colocada em funcionamento para recuperao de informaes, dado uma certa
entrada.
f(x)

f(x)

x
linear

f(x)

f(x)

rampa

degrau

x
sigmoide

FIGURA 3.2 - Tipos de funes limiar utilizados na ativao de clulas (neurnios).


Modelos de Redes
Perceptron
O perceptron foi desenvolvido por Rosenblatt em 1957 que provou a convergncia
para padres linearmente separveis. Ele possui duas camadas, heteroassociativo (associa
padres decorrelacionados) e faz o reconhecimento de padres pelo mtodo do vizinho mais
prximo. O perceptron permite o armazenamento de pares de padres (Ak,Bk), onde k=1,...,m.
A aprendizagem do offline e ele opera em tempo discreto. A figura 3.3 ilustra um
perceptron de duas camadas. Os n componentes de FA so os elementos de Ak, e os m
componentes de FB so os elementos de Bk.
Na fase de aprendizagem do perceptron encontra-se a melhor configurao de pesos
que separa linearmente os padres. Os pesos das conexes entre os elementos de
processamento (Simpson, 1990), juntamente com os valores de limiares (ou polarizaes), so
inicializados aleatoriamente para valores dentro do intervalo [+1,-1].
A cada padro Ak a sada de cada elemento de processamento calculada por:
n

1,
b j = f w ij a i j , j=1,...,m, onde f ( x ) =
i=1

1,

26

x > 0
.
c. c.

Tendo-se os bj, calcula-se o erro em relao ao valor desejado, ou seja, ej=d kj - bj, para
j=1,...,m. Os erros so usados para atualizar os pesos, para cada elemento, por: wij= ai ej ,
para i=1,...,n e j=1,...,m. O processo continua at se atingir um erro suficientemente baixo ou
zero.
Na ativao apresenta-se um padro e observa-se a resposta. Para uma boa
aprendizagem a sada ser o padro que foi associado entrada durante o treinamento, ou uma
n

aproximao de algum padro aprendido. A ativao dada por b j = f w ij a i j .


i =1

b1k
b1
w11

bjk

wn1
wi1 w1j wij

bpk

bj
wnj
wip wnp

bp

w1p

FB

W
a1
a1k

ai
aik

an

FA

ank

FIGURA 3.3 - Perceptron Elementar.


FONTE: Simpson (1990, p. 101).
provado que o algoritmo de aprendizagem discutido converge, ou seja, sempre
encontra um soluo para configurao linearmente separvel em tempo finito. Simpson
(1990) referencia os trabalhos que provam o teorema da convergncia do perceptron.
O perceptron tem capacidade de armazenamento adequada e ativao imediata, mas
oferece a desvantagem de ser limitado pela condio de separabilidade linear. Portanto, em
situaes as categorias no so linearmente separveis, no podemos usar o perceptron.

Adaline
27

A rede Adaline (Adaptive Linear), proposta por Widrow e Hoff, um elemento lgico
de limiar adaptativo (Paik et al., 1992 ) com um nmero arbitrrio de entradas, que podem
assumir -1 ou +1, e um elemento de polarizao igual +1. As entradas e a polarizao ("bias")
so modificados pelos pesos correspondentes antes da soma. Na sada um quantificador
atribui +1 se a soma maior que zero ou -1 se a soma menor que zero.
Considerando um vetor de entrada com L elementos, x(t)= [ x 0 ( t ), x1 ( t ),... x L ( t )]T onde
cada elemento xi, pode assumir qualquer valor em {-j,...,0,...,k}, sendo k e j inteiros positivos.
Se o conjunto de coeficientes denotado pelo vetor peso w(t)= [w0(t),w1(t),...,wL(t)]T, a fase
de ativao segue o modelo da figura 3.4.

w1

X0

w2

X1
......

G(.)

wn

Xn

FIGURA 3.4 - Diagrama em bloco da fase de ativao da ADALINE.


FONTE: Paik et al. (1992, p. 1496).

y(t) o produto interno de x(t) e w(t), y(t)=x(t)Tw(t). Uma entrada x0(t) constante associada

ao peso w0(t) para controle do nvel de limiar (polarizao). q(t) assume valores binrios
produzidos por G(.) segundo a equao: q(t)= G(y(t)), onde G(.) pode ser a funo sinal,
degrau ou sigmide. Para a funo sinal ou o degrau, tem-se o perceptron.
Widrow e Hoff propuseram um algoritmo que tornam a aprendizagem mais rpida e
precisa. Os pesos so ajustados em funo do erro na sada, minimizando o erro quadrtico
mdio sobre todos os padres do conjunto de treinamento.
O mtodo dos mnimos quadrticos mdios calculado pela diferena entre o padro
esperado e a sada da rede. A minimizao da soma do erro quadrtico envolve uma
minimizao "gradiente descendente". O clculo dado por: E{(t)2}=E{[d(t)-y(t)]2=E{[d(t)wTx(t)]2, onde E{.} o valor esperado. Este mtodo permite a aprendizagem mesmo para

sadas corretas.
Perceptron de Multicamadas

28

Esta um classe importante de redes do tipo "feedforward" (ativao para frente).


Basicamente consiste de uma camada de entrada, uma ou mais camadas escondidas e uma
camada de sada que aprende offline e opera em tempo discreto. Tambm possvel se ter
conexes que ignoram camadas, conexes recorrentes e conexes laterais.
A figura 3.5 ilustra um perceptron de trs camadas que armazena pares de padres
espaciais arbitrrios (Ak,Ck), k=1,...,m usando um algoritmo (de aprendizagem) de correo de
erro baseado no gradiente descendente para multicamadas (minimizao do erro quadrtico),
atravs da retroprogao ("backpropagation") do erro. Outras funes de minimizao podem
ser usadas como entropia, erro linear, potncias do erro (Simpson, 1990).
O interesse em perceptron multicamadas em cincias cognitiva e da computao,
aumentou com o trabalho de Rumelhart, Hinton e Williams em 1986, que exploraram a
potencialidade do algoritmo "backpropagation" (Simpson, 1990). Na aprendizagem os valores
iniciais dos pesos entre camadas so aleatrios, juntamente com os limiares para cada
elemento da rede. Na ativao, um padro de entrada na camada FA, gera a ativao de cada
n

elemento nas camadas FB e FC dadas por bi = f a h v hi + i , para i=1,..,p e


h =1

c j = f bi v ij + j , para j=1,..,q.
i =1

c 1k
c1
w11

cjk

wp1
wi1

b1
vn1

v11

a1

v1i

cj
wpj
w1q
w1j wij

vh1

c qk

bi
vhi

wiq

v1p

ah

wpq

vni

FC

cq

FB

bp
vhp

vnp

V
an

FA

a1k

ahk
ank
FIGURA 3.5 - Perceptron Multicamadas de trs camadas.
FONTE: Simpson (1990, p. 114).
As redes perceptron multicamadas podem ser treinadas atravs de vrios algoritmos de

aprendizagem. O algoritmo mais referenciado na literatura o "backpropagation"


(retropropagao do erro) que no tem convergncia garantida, i., no garantido que um

29

erro mnimo global encontrado. Em geral mnimos locais so encontrados, provocando


oscilaes nas mudanas dos pesos.
O algoritmo "backpropagation" tem a capacidade de generalizao (responder aos
padres de entrada que no estavam no conjunto de treinamento), dependente do nmero de
ns nas camadas internas e do prprio nmero de camadas internas (escondidas). Uma
desvantagem do algoritmo o longo tempo para treinamento offline, o que no impede de
ser um dos mais referenciados na literatura em vrias reas de aplicao. Em viso
computacional h trabalhos em deteco de bordas e viso estreo (Srinivasan et al, 1994;
Mousavi e Schalkoff, 1994). Em processamento de imagens o algoritmo j foi utilizado
reconhecimento de padres em imagens de sensoriamento remoto. Para melhorar o
desempenho do algoritmo "backpropagation", em termos do tempo de aprendizagem, existem
vrias estratgias possveis, referenciadas na literatura especializada, que mostram
alternativas e melhoramentos aos algoritmos existentes que tentam resolver este problema. Os
trabalhos variam desde o monitoramento da taxa de aprendizagem empregada at a escolha
adequada de conjuntos de treinamento reduzidos, que mantenham a generalizao da rede, em
um certa aplicao.

O captulo 6 de Haykin (1994), que trata de perceptrons de

multicamadas, mostra algumas alternativas para acelerar a convergncia do algoritmo


"backpropagation" atravs da adaptao da taxa de aprendizagem.
A rede "Cascade-Correlation"
Um dos algoritmos alternativos ao "backpropagation" para treinamento de redes
multicamadas o algoritmo "cascade-correlation" (algoritmo da correlao em cascata)
concebido por Fahlman (1990) e implementado durante a realizao deste estgio utilizando o
ambiente o Matlab (Silva 1997). Uma das principais vantagens de uso desse algoritmo
poder iniciar o processo de treinamento da rede sem especificao de camadas escondidas e,
gradativamente, acrescentar neurnios escondidos formando assim uma estrutura em cascata
medida que so instalados na rede.
Este algoritmo pode otimizar o tempo de treinamento de uma rede multicamada.
Como no podemos adivinhar o tamanho apropriado da rede neural para resolver o problema
(uma que tenha tamanho mnimo e um bom desempenho (Haykin, 1994)), pode-se levar
bastante tempo na tentativa de se chegar rede apropriada, variando-se o nmero de
parmetros livres e/ou o nmero de camadas escondidas na rede. Entretanto, h tcnicas que

30

permitem que se comece: a) com uma rede grande que podada durante o treinamento (ou
seja, tcnica de prunning - poda); b) uma rede pequena que monitorada para a soluo do
problema e gradualmente incrementada para o tamanho final apropriado (tcnica de
growing - crescimento)(Haykin, 1994). Tambm possvel combinar as duas tcnicas,
"prunning" (poda) e "growing" (crescimento) (Lin e Lee, 1996 pgina 427). Para o
crescimento de redes, pode-se utilizar duas abordagens diferentes: 1) particionamento do
espao de entradas; ou 2) seleo de prottipos (Lin e Lee, 1996 pgina 427).
A abordagem 1) est relacionada com o particionamento do espao usando-se o menor
nmero de hiperplanos possvel, o que equivalente a projetar uma rede com o menor nmero
de neurnios possvel. Lin e Lee (1996) pginas 427-433, descrevem alguns algoritmos que
constroem redes neurais gradualmente.
A abordagem por seleo de prottipos, 2), envolve o uso de uma rede classificadora
de padres que consiste de uma cascata de duas subredes: a rede de casamento de pontos
(matching score - MS) e a rede de mximos (MAXNET) ou uma rede do tipo "winner-takeall" (o vencedor leva tudo), que uma rede recorrente (Lin e Lee, 1996, pgina 309). No
treinamento de uma rede classificadora de padres, dado um conjunto grande de entrada
com diferentes categorias e a rede cria um conjunto menor de prottipos que estatisticamente
representa padres de categorias diferentes. A subrede MS armazena estes prottipos para
casar com os padres no conjunto de teste, quando atribui um "score" para o grau de
casamento. A seleo de prottipos reduz a complexidade e aumenta a habilidade de
generalizao do classificador (Lin e Lee, 1996). Dado que o nmero de categorias em um
problema de classificao no conhecido e/ou as entradas para treinamento so produzidas
em execuo ou em tempo real, a rede de classificao deveria selecionar ou criar um novo
prottipo incrementalmente durante o processo de treinamento, o que equivalente ao
processo de criao de novos neurnios, uma vez que cada prottipo representado por um
neurnio na rede MS (Lee e Lin, 1996).
O algoritmo de correlao em cascata foi proposto por Fahlman (1990) como uma
arquitetura e um algoritmo de aprendizagem supervisionada para redes neurais. Esta
arquitetura treina e automaticamente adiciona novos neurnios rede neural, um a um,
enquanto a aprendizagem no for satisfatria. O resultado final uma rede com mltiplas
camadas.

Duas idias principais esto por trs do algoritmo: 1) a arquitetura em cascata;

e 2) o algoritmo de aprendizagem. A arquitetura em cascata significa que os neurnios so

31

adicionados um a cada vez. O algoritmo de aprendizagem responsvel pela criao e


instalao das novas unidades escondidas na rede existente.
Na aprendizagem, para cada novo neurnio escondido, a amplitude da correlao entre
a sada do novo neurnio e o sinal de erro residual maximizada. O neurnio novo recebe
uma conexo de cada uma das entradas originais, assim como de cada neurnio escondido j
existente. Os pesos da entrada no neurnio escondido so mantidos constantes no momento
que o neurnio adicionado rede e apenas as conexes na sada so treinadas de forma
repetitiva. Assim, cada neurnio adicionado representa uma nova camada (com um neurnio)
na rede. O algoritmo de aprendizagem inicia sem neurnios escondidos, e a rede treinada
sobre todo o conjunto de treinamento. Como no h camadas escondidas, usa-se uma regra de
aprendizagem sem necessidade de retropropagao do erro, como por exemplo a regra de
Widrow-Hoff. Seno houver reduo significativa no erro, depois de um certo nmero de
ciclos de treinamento, denominado pacincia, e o erro final no for satisfatrio, tenta-se
reduzir ainda mais os erros residuais, adicionando-se um novo neurnio. Para tanto, toma-se
um neurnio candidato que recebe conexes de entrada treinveis a partir de todas as entradas
externas da rede e de todos os neurnios escondidos j existentes. A sada do neurnio
candidato ainda no conectada a rede ativa. Em seguida roda-se alguns ciclos sobre o
conjunto de treinamento, ajustando-se os pesos de entrada do neurnio candidato aps cada
passagem, de forma a maximizar S definido por:

S =

( v p v )( E

E o)

p ,o

onde: o - a

sada da rede onde o erro medido; p - o padro em treinamento; v - a sada do neurnio


candidato; Ep,o - o erro residual da sada observado no neurnio o (sada); v e E o - so os
valores mdio de v e Eo sobre todos os padres.
S mede a correlao (ou covarincia) entre o valor da sada do neurnio candidato e o
erro residual na sada. Para maximizar S, o gradiente
S
=
w i

(E

p ,o

)a

,
p

I i,p

S
w

obtido como:
i

onde o o sinal da correlao entre o valor do

p ,o

neurnio candidato e a sada o; a ,p a derivada para o padro p da funo de ativao do


neurnio candidato, em relao soma de suas entradas; Ii,p a entrada que o neurnio
candidato recebe a partir do neurnio I para o padro p.

32

Camada de Entrada

Camada de Sada

Neurnios

FIGURE 3.6 - Arquitetura em cascata com 3 neurnios escondidos acrescentados. Rede


inicial com 2 entradas e 1 sada.
Uma vez que o gradiente

S est disponvel, possvel fazer um gradiente


w i

ascendente para maximizar S. Novamente se est treinando uma camada nica de pesos,
podendo-se usar a regra delta. Quando S pra de crescer, o novo neurnio candidato
instalado como um n ativo na rede e seus pesos de entrada so mantidos constantes. Os
neurnios da sada so treinados pela regra delta novamente e o ciclo se repete at o erro
convergir para um valor aceitvel.
Em Silva (1997) trs experimentos so descritos utilizando a rede "cascadecorrelation": o problema do OU-exclusivo, uma aplicao de aproximao de funo e uma
aplicao de modelagem.
Kohonen
A rede de Kohonen auto-organizvel e consiste de uma camada bidimensional de
neurnios arranjados espacialmente. Todas as entradas so conectadas a cada n na rede. A
realimentao est restrita a interconexes laterais entre ns vizinhos. No h camada de

33

sada separada, cada neurnio na rede tambm um neurnio de sada. A figura 3.7 ilustra um
mapa de caractersticas, de Kohonen.
O algoritmo de aprendizagem organiza os ns na grade em vizinhanas locais, que
funcionam como classificadores de caractersticas sobre os dados de entrada. O mapa
topogrfico organizado autonomamente por um processo cclico de comparao dos padres
de entrada com os vetores armazenados em cada n. A aprendizagem no supervisionada.
Nos locais onde as entradas casam com os vetores ns, a rea do mapa otimizada
seletivamente para representar uma mdia dos dados de treinamento para aquela classe. A
partir de um conjunto de ns aleatoriamente organizado, a grade ajusta-se em um mapa que
tem representao local e auto-organizado.

Ns de entrada
FIGURA 3.7 - Mapa de Kohonen.
FONTE: Beale e Jackson (1992, p. 110).
O algoritmo da rede de Kohonen funciona da seguinte forma:
a) Inicializao.
Define-se wij(t) (0 i n-1) como o peso entre a entrada i e o n j no tempo t. Os pesos so
inicializados para valores aleatrios pequenos. Toma-se o raio da vizinhana em torno do n

j, Nj(0), muito grande.


b) Apresenta-se a entrada x0(t),x1(t),..,xn-1(t); xi(t) a entrada para o n i no tempo t.
c) Calcula-se as distncias dj entre a entrada e cada n de sada j utilizando o mtodo da
distncia Euclideana:
dj =

n 1

(x (t ) w
i

i= 0

ij

(t )

d) Seleciona-se a menor distncia, atribuindo ndice j*.


e) Atualiza-se os pesos para o n j* e seus vizinhos, definidos pelo tamanho da vizinhana

Nj*(t). Os novos pesos sero:


w ij ( t + 1) = w ij ( t ) + ( t )( x i ( t ) w ij ( t )) . Para j em Nj*(t), 0in-1

34

(t) um ganho, (0<(t)<1) que decresce no tempo, diminuindo a adaptao dos pesos. A
vizinhana Nj*(t) decresce com o tempo, convergindo para rea de atividade mais alta.
f) Repete-se todos os passos a partir de b).
O esquema de aprendizagem empregado o "winner-take- all" (vencedor leva tudo),
apropriado para agrupamentos e classificaes. Entretanto, as redes com este esquema s
podem ser treinadas se as classes ou grupos so linearmente separveis por hiperplanos que
passam pela origem.
A rede de Kohonen foi usada em reconhecimento de objetos (Bebis e Papadourakis,
1992) e em segmentao de imagens em multiescala (Haring et al, 1994).
Neocognitron
O neocognitron foi proposto por Fukushima (1982) como modelo do mecanismo de
reconhecimento de padres visuais, com plausibilidade biolgica. Modelar redes neurais
ajuda a descobrir o mecanismo do crebro (Fukushima, 1988). A rede original autoorganizvel com aprendizagem no-supervisionada, e pode reconhecer padres mesmo com
variaes em posio e forma. Outras verses do modelo utilizam aprendizado
supervisionado.
Para emular o sistema visual, comeando pela retina, Fukushima (1988) tomou como
base consideraes fisiolgicas de que as reas visuais do crebro apresentam neurnios que
respondem de forma seletiva a caractersticas locais em um padro, tais como bordas e linhas
em certas orientaes. Clulas em reas superiores do crtex visual respondem a certas
figuras como crculos, tringulos, quadrados ou mesmo faces humanas. Assim, o crebro
possui uma estrutura hierrquica para extrao das primeiras caractersticas de um padro
visual. As caractersticas em seguida so integradas em outras mais complexas. Dentro desta
hierarquia, uma clula em estgios superiores geralmente recebe sinais de uma grande rea da
retina, sendo mais sensvel posio do estmulo, e os sinais fluem em sentido para frente e
para trs.
A rede neocognitron tenta modelar tal mecanismo. A rede analgica, ou seja, as
entradas e sadas tm valores analgicos no negativos. Uma camada de entrada seguida por
um nmero de mdulos conectados em srie. Cada mdulo consiste de duas camadas, a
primeira com clulas "S" (clulas simples do crtex visual) e a segunda com clulas "C
(clulas mais complexas). Cada clula S tem vrias entradas, excitatrias ou inibitrias.

35

Para sinais de entradas excitatrios a sada da clula cresce e para sinais inibitrios ela
decresce. Cada componente do vetor que forma a entrada tem seu prprio peso com valor
positivo, que pondera as entradas.
A sada da clula pode ser conectada a vrias entradas de outras clulas. Para uma

clula S, a sada dada por w = ( 1 +


i =1

a ( i ) u ( i ) / (1 + b v ) ) 1 , onde a(i) e b so

coeficientes de interconexes excitatrias e inibitrias, respectivamente. N o nmero de


unidades de entrada excitatrias (u(1),...,u(N)), e v a entrada inibitria. (.) a funo
x , ( x 0)
.
( x) =
0, ( x < 0)

Fazendo

e = a (i )u(i )

h=b.v

reescreve-se

i =1

e h
1+ e
w =
1 =
. A figura 3.9 ilustra uma clula usada no neocognitron.
1 + h
1 + h

As clulas C tambm tm caractersticas similares s clulas S, mudando-se (.)


x / ( + x ), ( x 0 )
para ( x ) =
onde uma constante positiva que determina o grau de
( x < 0)
0,

saturao da sada.
Os pesos das ligaes entre as clulas "C" em uma camada e clulas "S" na prxima
camada so modificveis, assim como os pesos entre a entrada e a outra camada na clula
"C". Os pesos intracamadas so fixos. Pode existir vrios "planos" (nveis) dentro de cada
camada. Cada clula recebe uma entrada de uma camada relativamente pequena e fixa que a
antecede. Quando a camada de sada alcanada, uma clula de sada v a entrada inteira
como um resultado deste efeito telescpico de decrescer o nmero de clulas em cada plano
com a profundidade na rede, como est ilustrado na figura 3.8.

FIGURA 3.8 - Clula S.


FONTE: Fukushima (1982, p. 456).

36

A auto-organizao se d por aprendizagem no-supervisionada. Um conjunto de


padres apresentado

vrias vezes entrada. Um caracterstica do neocognitron a

invarincia a posio, forma e tamanho do padro de entrada, mas a implementao


problemtica devido ao nmero de ns e caminhos que eleva a complexidade.

FIGURA 3.9 - Conexes no neocognitron.


FONTE: Fukushima (1982,p. 459).
A rede neocognitron foi usada para reconhecer os dgitos (0-9) na forma escrita
(Fukushima, 1982), e tambm para reconhecimento visual, cite-se por exemplo, o trabalho de
Santos e Oliveira (1995) para identificao de veculos.
Hopfield
Hopfield estudou uma rede auto-associativa similar ao perceptron, propondo tambm
uma funo de energia. A rede consiste de vrios neurnios conectados entre si conforme
figura 3.10.
A rede simtrica pois os pesos nas conexes so os mesmos em ambas as direes.
Cada n tem um limiar (polarizao) e uma funo limiar do tipo degrau. As entradas podem
ser (0,1) ou (-1,+1). A rede se diferencia de outras pela forma de produzir uma soluo.

37

A aprendizagem feita alterando-se os pesos das conexes em funo da entrada.


Inicializa-se a rede com um padro desconhecido i (0) = xi , 0 i N-1, onde i(t) a sada
do

no
N 1

t.

tempo

As

iteraes

continuam

at

atingir

convergncia

i ( t + 1) = f w ij j ( t ) , 0 j N-1, onde f(.) a funo degrau, no linear. Isto acontece

i=0

para todos os padres de todas as classes.

FIGURA 3.10 - A rede Hopfield.


FONTE: Beale e Jackson (1990, p. 134).
Na ativao a sada da rede forada a casar com um padro desconhecido no tempo
zero. Ela ento comea a interagir livremente at alcanar uma situao estvel quando a
sada permanece inalterada. Neste ponto diz-se que a rede convergiu para a soluo. Esta
auto-associao de padres significa que a apresentao de um padro corrompido, resultar
na ativao do padro perfeito na sada.
A funo de energia na rede de Hopfield dada por E =

1
w x x + xi Ti
2 i j i ij i j
i

onde wij o peso entre um n i e o n j e xi a sada no n i. Ti o limiar do n i. Os pesos


retratam a informao do padro, portanto, todos os padres esto includos na funo de
energia. Como os ns no so conectados com eles mesmo, wii =0.
A rede Hopfield tem uso em vrias aplicaes. Em aplicaes de viso computacional
(Bhuiyan et al., 1994) usaram uma rede Hopfield para deteco de bordas e (Lee et al., 1994)
utilizaram uma rede para viso estreo.

38

Etapa 4. Levantamento e caracterizao do problema de anlise de imagem a ser abordado.

Muitos problemas podem ser abordados na rea de Processamento de Imagens e de


Viso Computacional, com o objetivo de adquirir maior familiaridade com a utilizao do
paradigma de redes neurais nas aplicaes destas reas. Entretanto, em cada uma delas
existem inmeros problemas relacionados com o projeto e adequao de uma rede neural para
resolver o problema pretendido, bem como, como comentado na seo relativa a etapa 5 a
seguir, os aspectos relativos implementao, que podem ser amenizados pela utilizao de
um ambiente de programao verstil.
Um mesmo problema pode ser resolvido por redes distintas, utilizando aprendizagens
diferentes. Isso significa um universo de possibilidades de uso das redes neurais nas tarefas de
qualquer rea de aplicao, em particular nas reas de Processamento de Imagens e Viso
Computacional.
Em Uhrig (1995) so citados vrias possibilidades de uso de redes neurais em
aplicaes a engenharia nuclear. Isso reflete que os grupos envolvidos devem considerar
muitos aspectos de engenharia no projeto de uma rede a ser utilizada.
Neste trabalho, a aplicao de redes neurais esteve restrita a um problema de
classificao de imagens de sensoriamento remoto, utilizando dados do satlite Landsat 5
obtidos no Instituto Nacional de Pesquisas Espaciais - INPE. A restrio a uma aplicao
deve-se ao fato de haver necessidade de familiarizao com: o ambiente de programao, os
modelos de redes possveis e os aspectos de engenharia envolvidos no projeto de uma rede.
Entretanto, neste relatrio so relatados alguns trabalhos que exibem resultados de soluo de
problemas utilizando redes neurais em processamento de imagens e viso computacional (ver
etapa 2).
O trabalho abordado tem como objetivo identificar alvos em imagens de satlites. O
processo consiste na obteno de amostras para classificao e no desenvolvimento do
algoritmo com redes neurais a ser utilizado.
A classificao de imagens de satlite em Sensoriamento Remoto importante,
dado que um especialista da rea pode extrapolar resultados de classificao de uma rea
reduzida na imagem, para uma rea mais abrangente. A verdade terrestre pode ser levantada a
partir de pequenas reas de estudo e os resultados de classificao so ento estendidos para
as vrias reas dentro da imagem, que apresentam caractersticas radiomtricas similares.

39

Portanto, tambm h reduo de gastos com trabalhos de campo para identificao de


verdades terrestres.
As imagens utilizadas formam um conjunto das bandas 2, 3 e 4 do Landsat 5, da rea
de Braslia, Distrito Federal. Como o enfoque do treinamento era proficincia no uso de redes
neurais aplicadas no Processamento de Imagens e Viso Computacional, os alvos escolhidos
para classificao foram estabelecidos atravs da observao das imagens, sendo eles: gua,
vegetao, rea residencial e solo exposto.
Na seo referente a etapa 8, "Identificao de atributos e dados para uso na fase de
anlise, em funo do problema especfico", so feitas as consideraes de como as diversas
amostras para classificao foram selecionadas.

Etapa 5. Anlise da adaptabilidade de modelos de redes neurais

na modelagem dos

problemas.
Possivelmente a forma mais eficiente para determinar se uma aplicao de redes
neurais satisfatria, comparar os resultados obtidos com aqueles conseguidos atravs de
tcnicas j existentes, que em certas aplicaes podem apresentar disparidades por falta de
suficincia de modelo.
Tsoukalas e Uhrig (1997) e Haykin (1996) enumeram alguns itens que devem ser
observados na deciso de se utilizar redes neurais para resolver um problema. Entre eles
esto: aplicaes onde a tecnologia de computao existente no seja adequada; problemas
que requerem raciocnio qualitativo ou quantitativo complexo; problemas cujas solues
provm de parmetros extremamente interdependentes e que no tm quantificao precisa;
aplicaes que envolvem parmetros mltiplos interagindo; aplicaes envolvendo dados
ruidosos; aplicaes com dados incompletos; etc. Todos esses tpicos refletem aspectos de
engenharia, que so importantes quando se considera aplicaes de situaes no simuladas.
Haykin (1996) discute critrios prticos para aceitao de uma rede neural, para a resolver um
problema em processamento de sinais, dado que os seguintes atributos so observados:
preservao tima de informao disponvel e performance tima, dentro de uma viso
estatstica; robustez na performance com respeito a pequenas variaes nas condies
ambientais. Se estes atributos so observados, as redes neurais podem ganhar aceitao como
ferramentas para resolver problemas prticos.

40

Um dos problemas de uso das redes neurais est relacionado com o tempo usado no
treinamento, que um problema mal-condicionado ("ill-posed") (Haykin, 1996), e que pode
ser influenciado por fatores como: 1) escolha do tipo de rede; 2) quantidade de dados no
conjunto de treinamento disponvel; 3) arquitetura da rede utilizada; 4) natureza dos dados
nos conjuntos de treinamento; e 5) limitaes de mquina, por exemplo. Como forma de
superar estes problemas de incio, Tsoukalas e Uhrig (1997) comentam vrios aspectos
prticos do uso de redes neurais, que englobam: a) seleo da rede neural adequada para a
soluo de um problema; b) projeto da rede neural; c) fontes e Processamento de dados; d)
Representao dos dados; e) escalonamento e normalizao; e f) seleo de dados para
treinamento e testes.
A seleo da rede neural, a), depende dos dados disponveis para a aplicao. Se os
dados consistirem de pares de entrada e sada, ou seja, se alm dos dados de entrada, existir os
dados que se deseja, ento possvel se escolher uma rede neural com treinamento
supervisionado. Em geral estas situaes so difceis do ponto de vista prtico, pois nem
sempre fcil se obter tais pares de dados de entrada e sada, ou seja, nem sempre se tem
conhecimento a priori do que se espera que a rede neural classifique, aproxime ou modele.
Para aplicaes que no favorecem a superviso, o treinamento no supervisionado classifica
os dados de entrada segundo propriedades dos padres dos agrupamentos possveis,
traduzidas por medidas de similaridades associadas aos padres.
Como mencionado anteriormente, um aspecto importante relativo ao modelo de rede a
ser utilizado o tempo necessrio para treinamento e para ativao. Em geral as redes neurais
demandam bastante tempo para treinamento, mas na ativao uma nica passagem
suficiente. O tempo de ativao pode ser ainda menor, quase instantneo, se a rede for
implementada em "hardware" (circuitos digitais).
No projeto de uma rede neural artificial, b), os pontos seguintes devem ser
observados: o tamanho da rede neural; a escolha da sada; o tipo de funo de ativao para as
unidades; o nmero de camadas; e o nmero de neurnios em cada camada. O tamanho da
rede dependente da natureza do problema e da experincia do usurio. Os novatos no uso de
redes neurais preferem redes pequenas, enquanto tentam reduzir o problema. Para os usurios
experientes, prefervel que o problema decida o tamanho da rede a ser usada. A escolha da
sada est relacionada com a natureza da aplicao, que pode requerer ativao binria ou
multivalorada. Nmeros reais na sada podem ser traduzidos em unidades (monetria, tempo,
distncia) podendo ser codificadas em forma binria ou em multivalores. As sadas nas redes

41

neurais so geralmente interpretadas como classificaes, padres, nmeros reais e escolha


tima, todas apresentando requisitos especficos. Para o caso de classificaes que mapeam
estatisticamente os padres de entrada em categorias discretas, faz-se necessrio se ter 2 ou
mais neurnios de sada, sendo que apenas um ser ativado para uma dada entrada. Por outro
lado, as redes que identificam padres freqentemente tm mltiplos neurnios na sada,
sendo que todos so ativados ao mesmo tempo, o que forma um padro em resposta a entrada.
A funo de transferncia no neurnio tem como objetivo principal manter as sadas
dos neurnios dentro de limites razoveis para evitar saturao. As funes degrau ou sinal
(limiar) so usadas quando as entradas e sadas so binrias (0 e 1) ou bipolares (-1 e +1).
Outras funes utilizadas so a linear, a sigmoide e a tangente hiperblica. A escolha entre
elas baseia-se nos tipos de entrada e sada e tambm no algoritmo de aprendizagem utilizado.
Alguns algoritmos requerem que a derivada da funo de transferncia seja contnua,
restringindo a escolha s funes do tipo sigmoide e tangente hiperblica. As funes tipo
degrau e sinal so preferidas quando se tem em mos pares de entradas e sadas binrias.
Alguns modelos de redes neurais por definio j tm um nmero fixo de camadas,
por exemplo, Adaline, Madaline, Hopfield, Art-1, Mapas de Kohonen e Memrias
Associativas, que requerem 2 ou 3 camadas. No caso de redes do tipo perceptron de
multicamadas, h a necessidade de ser ter as camadas escondidas, que podem variar em
nmero dependendo da complexidade do problema a ser tratado. Estas camadas escondidas
funcionam como extratores de caractersticas das entradas. Quando usadas em grande nmero
podem melhorar significativamente a fora de processamento da rede, mas demandar mais
tempo de treinamento e conjunto de treinamento maiores. Tsoukalas e Uhrig (1997)
comentam que uma rede de 3 camadas (entrada, escondida e sada), com um nmero
suficiente de neurnios, adequada para representar qualquer mapeamento, e que novas
camadas s devem ser acrescentadas se a arquitetura em mos no for adequada.
O nmero de neurnios em cada camada tambm so determinados pela natureza do
problema em mos. Em particular, o nmero de neurnios nas camadas de entrada e de sada
dependem das dimenses dos vetores utilizados para represent-las. J em se tratando das
camadas internas, o nmero de neurnios determinado atravs de experimentao, por ainda
no existir mtodos capazes de calcular precisamente o nmero de neurnios requerido para
um problema. Haykin (1994) no captulo 6, cita uma abordagem numrica para calcular o
nmero de neurnios provavelmente necessrios para resolver um problema. Os resultados
encontrados foram conseguidos atravs de experimentos. Duas situaes podem ocorrer, que

42

exigem a interao na determinao do nmero de neurnios na camada escondida: um


nmero de neurnios insuficiente ou um nmero maior do que realmente necessrio. Poucos
neurnios na camada escondida far com que ela no faa o mapeamento correto das entradas
para a sada, enquanto neurnios em excesso degrada a generalizao e aumenta o tempo de
treinamento. Tsoukalas e Uhrig (1997) enfatizam que muitos neurnios, na realidade, fazem a
rede memorizar os padres sem extrair as caractersticas pertinentes para generalizao.
As fontes e o processamento de dados para redes neurais, c), deseja-se que o conjunto
de treinamento de seja representativo dos padres a ser reconhecidos e que englobe toda a
faixa de padres de entrada, para que a rede consiga ser eficiente na generalizao, com
capacidade de extrapolao e interpolao. Todos os dados relacionados com a aplicao
devem ser analisados para remover dados tecnicamente considerados esprios, o que pode ser
feito com pr-processamento dos dados. No caso de conjuntos de dados incompletos, o que
pode causar problemas, possvel cri-los a partir de estimativas com base nos dados
presentes utilizando tcnicas como por exemplo, tomar o valor esperado da varivel em
questo, ou a mediana, etc.
Um base de dados pode apresentar variaes temporais, importantes. Uma rede neural
pode detectar as tendncias nessas bases dados temporais. Por exemplo, uma aplicao que
envolve a predio de vendas em perodo futuro necessita que a rede seja treinada com
informaes referentes at o perodo anterior previso desejada, caso deseje-se maior
preciso. Mas em aplicaes onde a disponibilidade de dados no dinmica, pode-se usar
dados existentes para o treinamento, que cobrem vrios perodos de tempo, dependendo da
unidade utilizada para anlise, e usar o os dados do perodo a seguir como sada desejada.
Quando a informao representada em forma de imagem, os dados para a rede neural
so mais adequados se forem representados de forma no distribuda. Para o caso de imagem
em nvel de cinza, cada neurnio recebe um nmero que representa a intensidade de um pixel,
o elemento de imagem, do campo visual para cada ponto na imagem, assim como, os
parmetros que indicam a locao do pixel. O maior problema com as imagens que elas
possuem muitos pixels, o que implica bastante tempo para o treinamento. Por exemplo, se
uma imagem tem dimenses 1024 x 1024, mais de 1 milho de pixels existiro, o que tornar o
treinamento proibitivo. Nas aplicaes prticas pode-se aplicar tcnicas de extrao de
caractersticas para formar descritores da imagem que podem ser usados no treinamento da
rede, reduzindo consideravelmente o tempo de treinamento.

43

As aplicaes que necessitam de entrada de dados sensoriados so prejudicadas


quando h a interrupo da transferncia de dados do equipamento. Portanto, os meios de
aquisio de dados devem ser testados exaustivamente, para evitar problemas no treinamento
da rede, pois se em um conjunto de sensores faltar um, o sistema poder dar resultados no
desejados.
A representao dos dados, d), trata da converso dos mesmos de uma forma, para
outra mais significativa, ou seja, que tenha mais representatividade dos padres existentes no
conjunto de treinamento. Os dados podem ser fornecidos para a rede em forma de valores
contnuos ou binrios. Valores binrios so idias para situaes onde ocorrem grupos
naturais, pois constituem um mtodo melhor para fazer correlaes. Valores binrios devem
ser evitados quando se tem valores muito contnuos, pois do contrrio, difcil para a rede
aprender exemplos com valores perto ou na fronteira entre dois grupos (Tsoukalas e Uhrig,
1997). Outro aspecto considerado na representao de dados a codificao dos dados, ou
seja, converso dos dados para forma adequada para apresentar rede neural. Junto com isso
um algoritmo de decodificao deve ser idealizado de imediato. Apesar da codificao e
decodificao ser dependentes do modelo de rede, deve-se observar que os neurnios
trabalham com entradas e sadas que correspondem ao valores de ativao dos neurnios
(Tsoukalas e Uhrig, 1997), assim, a codificao precisa gerar valores dentro das faixas
"entendidas" pela funo de ativao. A entrada deve interpretar os dados brutos e a
decodificao da sada deve tomar a seqncia de nmeros obtidos e transformar na forma
requerida pelo usurio.
Outros aspectos importantes relativo ao projeto de redes neurais so o escalonamento
e a normalizao, e). A necessidade destes processamentos decorre da sensibilidade das redes
neurais s magnitudes absolutas. Se uma entrada est na faixa entre 1.000 e 1.000.000 e uma
segunda entrada est entre 0 e 1, as flutuaes na primeira entrada far com que a segunda
tenha sua importncia diminuda, o que pode tornar-se um problema se a segunda entrada, por
exemplo, for muito mais importante para a predio da sada desejada. A minimizao dessa
influncia todas as entradas pode ser conseguidas se as entradas so

escalonadas e

normalizadas, para corresponder mesma faixa de valores, em geral 0 a 1 ou -1 a 1.


Uma das caractersticas das redes neurais o poder de processamento em situaes
que envolvem no-linearidades. Por outro lado, o uso de relaes lineares torna mais fcil a
aprendizagem e a emulao em redes neurais. Por tanto, a tentativa de minimizao de nolinearidades nos problemas, significa a implementao de redes neurais mais simples, com

44

treinamento mais rpido e melhor desempenho no geral. A minimizao da no-linearidade


pode ser conseguida atravs da preparao dos dados.
A normalizao dos dados consiste em dividir os valores de um conjunto de entrada
por uma referncia arbitrria, geralmente escolhida como o valor mximo, o que faz o novo
mximo ser 1. Este processo pode significar perda de informao quando se tem no conjunto,
valores muito maiores ("spikes" - anomalias) do que a grande maioria, ou mesmo quando
todos os dados esto dentro de uma faixa estreita. Tomando-se o escalonamento, estabelecese uma relao linear entre duas variveis dentro de uma faixa escolhida para cada uma delas.
A normalizao pode ser encarada como um caso especial do escalonamento, quando o valor
mnimo de ambas as variveis zero.
Se escolhermos a faixa de atuao com valor mnimo 0.1 e valor mximo 0.9, ento
para um conjunto de entrada x, seus valores so convertidos para o conjunto y escalonado,
atravs da relao: y = mx + b , assim y = 0.1 para x = xmin e y = 0.9 para x = xmax, onde m =

0.8/(xmax-xmin) e b = 0.9-0.8xmax/(xmax-xmin)
Portanto,

y=

0.8 x max
0.8
x + 0.9
x max x min
x max x min

O escalonamento linear com valores entre 0.1 e 0.9 prefervel quando se usa a
funo de transferncia sigmide, o que evita a paralisia na aprendizagem, que significa a
repetio de um mesmo valor do erro a partir de um ciclo de aprendizagem, causada pela
saturao da funo de transferncia. No caso da funo de ativao tangente hiperblica,
prefervel usar a tcnica de "Z scores" (o nmero de desvios padro acima e abaixo da mdia)
(Tsoukalas e Uhrig, 1997). Para esta transformao primeiro se calcula a mdia e o desvio
padro para a varivel em todo o conjunto de treinamento. Depois converte-se cada valor para
um "Z score", subtraindo-se a mdia e dividindo a diferena pelo desvio padro, ou seja,

y = ( x ) / , onde a mdia e o desvio padro para a varivel x dentro do conjunto


de treinamento.
A seleo de dados para treinamento e testes, f), tambm se constitui em um passo
importante, pois para se treinar uma rede neural tudo que se precisa uma quantidade
adequada do tipo de informao importante para a soluo do problema. Em situaes em que
h dvidas sobre a importncia dos dados prefervel incluir os dados, pois a rede neural
pode aprender a ignorar as entradas que tm pouca importncia para o problema se houver
exemplos suficientes no conjunto de treinamento. O uso de dados inadequados torna as

45

correlaes mais difceis. O tempo de treinamento pode crescer muito se no houver tipos de
dados suficientes para as associaes, o que ocorre freqentemente com redes do tipo
"backpropagation" com um nmero excessivo de neurnios escondidos, pois a rede memoriza
valores individuais, sendo bem treinada mas com baixo desempenho em testes com dados
novos.

Etapa 6. Familiarizao com o ambiente computacional e as ferramentas disponveis para a

simulao dos modelos.


O uso de redes neurais em diversas reas de aplicao, tornou possvel o surgimento
de vrios tipos de sistemas para simulao dos modelos de redes existentes. A maioria destes
sistemas so pacotes fechados, ideais para usurios que procuram utilizar o paradigma de
redes neurais para a soluo de problemas na sua rea de aplicao. Entretanto, para fins
acadmicos e de treinamento no paradigma, prefervel se ter sistemas ou ambientes
computacionais abertos que favoream o desenvolvimento dos algoritmos existentes. Assim
pode-se proceder com modificaes nas implementaes, procurando tornar os algoritmos
mais elaborados, para aumentar as possibilidades dos modelos de redes neurais artificiais
existentes. Para isso, tais sistemas ou ambientes computacionais precisam dispor de
linguagens de programao de fcil compreenso, pois como se trata de implementaes de
modelos computacionais para soluo de problemas, faz-se necessrio que nfase seja dada
aos aspectos tericos do paradigma e no aos aspectos de implementao.
No ambiente de desenvolvimento deste trabalho, utiliza-se a caixa de ferramentas
("toolbox") de redes neurais do ambiente MATLAB, licenciado pela Mathworks Inc.(1997).
Todos os experimentos realizados foram desenvolvidos no MATLAB. Este software
prov os meios necessrios para a implementao dos algoritmos de redes neurais, tornando o
trabalho de implementao voltado para os aspectos mais tericos dos modelos, o que permite
a explorao de vrias possibilidades de combinaes distintas, sem empreendimento
demasiado de tempo na soluo de problemas de implementao.
O MATLAB um sistema interativo baseado em matrizes, para clculos cientficos e
de engenharia. O nome MATLAB em si a abreviao de MATrix LABoratory (Laboratrio
de Matrizes).

46

Como sistema, o MATLAB composto de um ncleo que interliga os "toolboxes" e


os interpreta em tempo de execuo. O ncleo (kernel) recebe o comando e v se ele existe
nos vrios "toolboxes" ou se faz parte das funes bsicas do MATLAB. Se a funo existir
executada, do contrrio o ambiente sinaliza para o usurio. A idia ter um "toolbox" para
cada rea de aplicao, com possibilidade de interao entre eles, possibilitando a
combinao de abordagens distintas para a soluo dos problemas.
Cada "toolbox" possui um manual que rever tpicos tericos da rea de aplicao e
introduz experimentos demonstrativos da utilizao das vrias funes disponveis.
Por se tratar de um sistema tambm voltado para clculos cientficos, o MATLAB
um sistema aberto, oferecendo recursos para modificar e/ou acrescentar aplicativos nos
"toolboxes" existentes, bem como para criar novos "toolboxes".
Os "toolboxes" so conjuntos de funes codificadas na linguagem de programao do
MATLAB e interpretadas em tempo de execuo pelo ncleo (kernel). Tais funes podem
ser traduzidas para outras linguagens de programao compiladas, permitindo a utilizao de
MATLAB em aplicaes que demandam pouco tempo de processamento. A traduo das
funes possvel, devido a existncia de "toolboxes", desenvolvidos para permitir a
portabilidade das funes para outros sistemas computacionais.
O "toolbox" de redes neurais constitui-se em um conjunto de funes que
implementam alguns modelos de redes neurais mais utilizados e referenciados na literatura.
Entretanto, a linguagem de programao do ambiente permite que novos modelos sejam
desenvolvidos. Na verso atual do "toolbox" possvel implementar modelos tais como:
perceptron, redes lineares, backpropagation, redes de bases radiais (radial basis networks),
redes auto-associativas e redes recorrentes.
A familiarizao com o ambiente foi feito por etapas. Primeiro procurou-se utilizar as
implementaes dos modelos de redes neurais existentes, utilizando os vrios experimentos
disponveis no "toolbox". Como os experimentos so abertos, foi possvel proceder com
modificaes no projeto dos mesmos procurando extrair todas as possibilidades de uso. Esta
primeira etapa permitiu a familiarizao com o funcionamento do ambiente na interpretao
das funes desenvolvidas, bem como, com a combinao de diferente "toolboxes".
Em uma segunda etapa alguns algoritmos de redes neurais foram desenvolvidos
utilizando-se a linguagem de programao do MATLAB, o que permitiu a familiarizao com
um ambiente de programao matricial.

47

Etapa 7. Pr-processamento das imagens para a normalizao dos dados para os algoritmos

de redes neurais.
No

estgio

foram

realizados

experimentos,

implementando-se

algoritmos

computacionais para reduzir os conjuntos de treinamento atravs do uso de tcnicas de


clusterizao. Os experimentos so comentados no decorrer deste relatrio. Para se obter
redes o mais concisas possveis tambm foi objeto de estudo no estgio, a implementao de
um algoritmo de crescimento dinmico de uma rede neural, o algoritmo Cascade-correlation.
A normalizao dos dados de entrada foi feita usando-se escalonamento linear como
mencionado na seo referente etapa 5 da anlise da adaptabilidade de modelos de redes
neurais na modelagem dos problemas.
O modelo de rede utilizado foi um perceptron de multicamadas treinado pelo
algoritmo "backpropagation" citado na seo referente etapa 3 do estudo terico de alguns
algoritmos de redes neurais.
A rede poderia ter duas arquiteturas diferentes, uma de trs camadas (camada de
entrada, camada escondida e camada de sada) e quatro camadas (camada de entrada, 2
camadas escondidas e camada de sada). Uma rede de trs camadas foi escolhida para resolver
o problema contendo neurnios com funo de ativao do tipo sigmoide (figura 3.2). O fato
de se escolher escalonamento linear para os dados de entradas deveu-se exatamente ao fato de
que a camada escondida tinha neurnios do tipo sigmoide, cujo intervalo de definio est
entre 0 e 1. Entretanto, observando a curva da funo sigmoide na figura 3.2, verifica-se que
abaixo de 0.1 e acima de 0.9 a funo satura facilmente. Portanto, se os dados de entrada
forem normalizados neste intervalo, podemos diminuir eventuais saturaes da funo de
ativao.

Etapa 8. Identificao de atributos e dados para uso na fase de anlise, em funo do

problema especfico.
Esta fase esta relacionada com a aquisio das amostras para formao do conjunto de
treinamento para a rede neural a ser utilizada.
O problema a ser resolvido classificar dados de satlite multiespectrais. No trabalho
trs bandas (faixas espectrais) so dadas correspondendo cada uma a um sensor sensvel a um

48

comprimento de onda especfico. Os dados foram adquiridos nos comprimentos de onda


correspondentes a luz visvel e infravermelho.
No caso do satlite Landsat 5 do programa LANDSAT, 7 sensores provm
informaes em diferentes comprimentos de onda, que permitem cham-lo mapeador
temtico, sendo possvel utiliz-lo para inferir informaes de uso do solo ou para
identificao de alvos em imagens terrestres. Devido as suas propriedades fsico-qumica, o
material ou alvo sobre a superfcie da terra responde diferentemente nos diferentes
comprimentos de onda. A combinao das respostas ento pode ser usada para se inferir
informaes sobre o alvo, por exemplo, inferir se uma plantao est ou no com algum tipo
de doena.
A aquisio das amostras feita iterativamente, como nos vrios sistemas de
processamento de imagens ou de geoprocessamento existentes. O processo de aquisio das
amostras supervisionado e depende do conhecimento do usurio de Sensoriamento Remoto.
Ele consiste em posicionar um cursor sobre a rea de interesse, da qual se tem certeza da
verdade terrestre, e atribu-lo a uma das possveis classes. Este procedimento seguido
normalmente em se tratando de aplicaes reais. Neste trabalho, tomou-se apenas 4 alvos
distintos para serem identificados dentro das imagens, ou seja, gua, vegetao, rea
residencial e solo exposto. O processo de aquisio consiste em colocar o cursor dentro da
regio de interesse e assim grupos de elementos das imagens (pixels) so extrados das
imagens correspondentes s bandas (faixas espectrais em uso, no caso 3 imagens
correspondentes s bandas 2, 3 e 4).
Cada amostra deve apresentar a propriedade de homogeneidade, podendo ser medida
pelo desvio padro da amostra em estudo. Quanto menor o desvio padro, melhor a amostra
na representao da classe.
Podemos ver que este ainda um problema subjetivo, j que a qualidade da amostra
depende do que se estipulou como correspondente verdade terrestre adquirida.
A figura 8.1 ilustra o processo de aquisio para uma nica banda. Um aspecto
importante no processo de aquisio de amostras est relacionado com a escolha do tamanho
da janela que ser utilizada. O tamanho da janela depende do quanto esta representativa da
classe em questo.
Nos classificadores estatsticos em geral as caractersticas utilizadas como parmetros
de classificao so medidas estatsticas das amostras. Assim, a dimenso da janela pode ser
qualquer na extrao de uma amostra. No caso de redes neurais, podemos utilizar medidas

49

estatsticas das amostras ou os prprios elementos da imagem (pixels). Se as medidas


estatsticas forem preferidas, as janelas podem ter dimenses quaisquer, mas se os prprios
pixels forem utilizados, ento se faz necessrio utilizar um tamanho mximo de janela que
pode ser utilizada.
No caso de utilizar os prprios pixels da janela como dados de entrada para a rede
neural, estes podem ser apresentados rede em forma bidimensional ou unidimensional. A
forma mais comum unidimensional, quando ento os dados bidimensionais devem ser
convertidos para um formato unidimensional. A figura 8.1 ilustra o processo de converso.
Observa-se que isso traz uma complicao para a arquitetura da rede a ser utilizada, pois a
camada de entrada se torna muito grande, dependendo da dimenso de janela utilizada. No
trabalho, as janelas podem ter dimenso quadrtica de 3, 5, 7 ou 9. Isso pode resultar em
camadas de entrada da rede com 9, 25, 47 ou 81 neurnios por banda. Como trs bandas so
utilizadas, pode-se chegar a uma camada de entrada com dimenso de at 3 x 81 = 243
neurnios.

nXn
n
n

( n = 3,5,7,9 )

FIGURA 8.1 - Processo de aquisio de amostras para classificao em uma imagem.


A figura 8.2 ilustra o processo de aquisio para o caso de trs bandas.

243
81

50

81

81

FIGURA 8.2 - Aquisio de amostras em trs bandas diferentes, utilizando janelas 9 x 9, o


que resulta em vetores de entrada de 243 neurnios.
A figura 8.3 ilustra os processos das figuras 8.1 e 8.2 utilizando um conjunto de 3
bandas, correspondentes a uma pequena rea cidade de Braslia, DF, nas bandas 2,3 e 4.
nXn
n
n

n = (3, 5, 7, 9)

a)

81

81

81

243

b)
FIGURA 8.3 - Exemplo de aquisio de amostras e imagens.

51

A aquisio das amostras foi efetuada por uma rotina (adrdsamp.m), que permite a
escolha entre tamanhos de janela fixos, variveis com iterao ou variveis em funo de uma
medida de homogeneidade. O algoritmo tambm permite a escolha sobre os tipos de dados
que podem ser fornecidos durante o treinamento: os prprios pixels ou medidas estatsticas.
No trabalho utilizou-se apenas a abordagem por tamanho fixo, com tamanho de janela
3 x 3, resultando ento em uma camada de entrada para rede de 9 pixels. Outro teste tambm
foi realizado utilizando medidas estatsticas das amostras para representar as propriedades da
classe. Foram utilizadas ento a varincia e a mdia. A varincia usada como medida de
homogeneidade e a mdia da amostra garantindo a identidade da classe.
Para o exemplo relatado foram extradas 50 amostras por classe, totalizando 200
amostras ao todo. Estas amostras compunham os dados de entrada. Como o algoritmo de rede
neural utiliza aprendizado supervisionado, foi necessrio tambm criar o conjunto de padres
desejados que seria apresentado na sada com a apresentao do conjunto de entrada. Tal
conjunto foi formado por vetores binrios representando as classes desejadas. Como apenas 4
classes foram escolhidas, os vetores de sada desejadas tinham dimenso 4. Portanto, a
camada de sada da rede tem 4 neurnios.
As classes escolhidas para classificao so: gua, vegetao, rea residencial e solo
exposto.

Etapa 9. Implementao dos algoritmos.

O trabalho necessita do uso de um algoritmo de aprendizagem supervisionada. Neste


trabalho optou-se pelo uso de perceptron de multicamadas utilizando-se o algoritmo
"backpropagation" para o treinamento.
A rede neural utilizada consistiu de 4 camadas: camada de entrada, 2 camadas
escondidas e camada de sada. A camada de entrada tem entre 6 a 243 neurnios, dependendo
do tamanho das amostras utilizadas e se os dados usados para treinamento so os prprios
pixels ou medidas estatsticas extradas das amostras. Especificamente no experimento
conduzido, utilizou-se janelas de tamanho 3 x 3, o que equivale a 9 pixels por amostra em
cada imagem, totalizando 27 pixels ordenados em um vetor unidimensional. A camada de
sada tem o nmero de neurnios igual ao nmero de classes desejadas. O experimento foi
realizado para a classificao de 4 classes distintas, como relatado na seo relativa a etapa 8.

52

O nmero de neurnios nas camadas internas foram conseguidos atravs de tentativa erro. Os
neurnios nas camadas internas tm como funo de ativao a funo sigmide (figura 3.2).
Na camada de sada usou-se a funo linear. Assim, os neurnios na sada, durante a ativao
da rede, apresentam valores no binrios. Para recuperar os vetores binrios utiliza-se uma
rede do tipo MAXNET, que iterativamente busca o neurnio que apresenta maior ativao.
Este processo feito se a soma das ativaes superar 0.4, ou seja, se os neurnios
apresentarem pelo menos um dcimo da ativao correspondente ao nvel 1, escolhido para
representar o neurnio correspondente a cada classe.
O algoritmo de rede neural utilizando o treinamento por "backpropagation" foi
implementado em ambiente MATLAB como a seguir. Entretanto, durante o experimento de
classificao de imagens de satlite, utilizou-se as implementaes existentes no prprio
ambiente MATLAB, como est no apndice A, onde se encontra todos os arquivos em
formato "scripts" utilizados no experimento.
- Algoritmo de Perceptron em Multicamadas Utilizando o Treinamento por Backpropagation:
% Algoritmo da Rede Perceptron em Multicamadas utilizando Treinamento por
Backpropagation
% Recebe Parametros de Entrada e Devolve Parametros Treinados.
%
04.22.96
%
Jose Demisio Simoes da Silva
%
% Descrio dos parmetros:
%
Parmetros de Sadas:
%
wih_initial
- Pesos iniciais entre a camada de entrada e a camada escondida
1
%
biasih_initial
- Limiares iniciais dos neurnios da camada escondida 1
%
whh_initial
- Pesos iniciais entre camadas escondidas 1 e 2.
%
biashh
- Limiares iniciais dos neurnios da camada escondida 2
%
who_initial
- Pesos iniciais entre camada escondida 2 e camada de sada
%
biasho_initial
- Limiares iniciais dos neurnios da camada de sada
%
wih
- Pesos finais entre a camada de entrada e a camada escondida 1
%
whh
- Pesos finais entre as camadas escondidas 1 e 2
%
who
- Pesos finais entre a camada escondida 2 e a camada de sada
%
thresholdih
- Limiares finais dos neurnios da camada escondida 1
%
thresholdhh
- Limiares finais dos neurnios da camada escondida 2
%
thresholdho
- Limiares finais dos neurnios da camada de sada
%
epoch
- Nmero final de iteraes
%
erroacumulado
- Evoluo do erro de treinamento
%
% Parmetros de Entrada:
%
n_de_no
s_input
- Nmero de entradas
53

%
%
%
%
%
%
%
%
%
%
%
%
%

functypeih
n_de_nos_hidden1
unctypehh
n_de_nos_hidden2
functypeho
n_de_nos_output
i
t
alfa
eta
n_max_de_epochs
err_desejado

- Funo de ativao da camada escondida 1


- Nmero de neurnios da camada escondida 1
- Funo de ativao da camada escondida 2
- Nmero de neurnios da camada escondida 2
- Funo de ativao da camada de sada
- Nmero de neurnios da camada de sada
- Vetor de entradas
- Vetor de sadas desejadas
- Constante de momentum
- Taxa de aprendizagem
- Nmero mximo de iteraes
- Erro mnimo desejado

function
[wih_initial,biasih_initial,whh_initial,biashh,who_initial,biasho_initial,wih,whh,who,threshol
dih,
thresholdhh, thresholdho,epoch,erroacumulado] =
bp_all(n_de_nos_input,functypeih,n_de_nos_hidden1,
functypehh,n_de_nos_hidden2,functypeho,
n_de_nos_output,i,t,alfa,eta,n_max_de_epochs,err_desejado)
% Computa Tamanho dos Vetores de Entrada:
[n_de_padroes_entrada n_input]=size(i);
[n_de_padroes_saida n_output]=size(t);
% Inicializa Valores de Biases (polarizaes):
thresholdih=ones(1,n_de_nos_hidden1)*rand(1,1);
% Normaliza Biases:
thresholdih=thresholdih-max(max(thresholdih))/2;
biasih_initial=thresholdih;
thresholdhh=ones(1,n_de_nos_hidden2)*rand(1,1);
thresholdhh=thresholdhh-max(max(thresholdhh))/2;
biashh_initial=thresholdhh;
thresholdho=ones(1,n_de_nos_output)*rand(1,1);
thresholdho=thresholdho-max(max(thresholdho))/2;
biasho_initial=thresholdho;
% Inicializa Pesos da Camada de Entrada e das Camadas Escondidas:
% Camada de Entrada para a Camada Escondida 1
wih = rand(n_de_nos_input,n_de_nos_hidden1);
wih=wih-max(max(wih))/2;
wih_initial=wih;
wihant=zeros(n_de_nos_input,n_de_nos_hidden1);
wihant=wih;
% Camada Escondida 1 para Camada Escondida 2
54

whh = rand(n_de_nos_hidden1,n_de_nos_hidden2);
whh=whh-max(max(wih))/2;
whh_initial=whh;
whhant=zeros(n_de_nos_hidden1,n_de_nos_hidden2);
% Inicializa Pesos da Camada Escondida para a Camada de Saida:
who = rand(n_de_nos_hidden2, n_de_nos_output);
who=who-max(max(who))/2;
who_initial=who;
whoant = zeros(n_de_nos_hidden2, n_de_nos_output);
whoant=who;
% Seta Variaveis de Controle de Treinamento:
% Para o aprendizado:
para_learning=0;
% Conta o Numero de Tentativas (Iteracoes):
epoch=0;
% Conta Periodo para Apresentacao de Resultados Parciais:
period_epoch=1;
% Inicia Treinamento:
while( ~para_learning )
% Conta as Iteracoes:
epoch=epoch+1;
% Apresenta Padrao por Padrao:
for padrao=1:n_de_padroes_entrada
in = [-1 i(padrao,:)];
toih= in *[thresholdih; wih];
% Chama Funcao de Ativacao :
oih = actvfunc(toih,functypeih);
tohh = [-1 oih]*[thresholdhh; whh];
ohh = actvfunc(tohh,functypehh);
toho= [-1 ohh]*[thresholdho; who];
oho = actvfunc(toho,functypeho);
% Calcula o Erro entre o Padrao Desejado e o Obtido pela Rede:
e(padrao,:)=t(padrao,:)-oho;
% Faz a Soma dos Erros Quadrativos Instantanea:
errodisc(padrao)=sum(sum(e(padrao,:).*e(padrao,:)))/2;
% Calcula Gradiente:
55

derivsigho=deriv(oho,toho,functypeho);
gradho = e(padrao,:).*derivsigho;
derivsighh=deriv(ohh,tohh,functypehh);
gradhh = derivsighh*sum(gradho*who');
derivsigih=deriv(oih,toih,functypeih);
gradih = derivsigih*sum(gradho*who');
% Acha o Acrescimo para os Pesos:
deltaih = eta*i(padrao,:)'*gradih;
deltahh = eta*oih'*gradhh;
deltaho = eta*ohh'*gradho;
% Atualiza Pesos:
wih=wih+alfa*(wih-wihant)+ deltaih;
whh=whh+alfa*(whh-whhant)+ deltahh;
who=who+alfa*(who-whoant)+ deltaho;
if epoch > 1
wihant=wih;
whhant=whh;
whoant=who;
end
% Atualiza Biases:
thresholdih=thresholdih-eta*gradih;
thresholdhh=thresholdhh-eta*gradhh;
thresholdho=thresholdho-eta*gradho;
end
% Acumula o Erro Medio por Iteracao (epoch)
erroepoch=sum(errodisc)/n_de_padroes_entrada;
errodisc=0;
% Apresenta Resultados Parciais
if period_epoch == 5
fprintf('epochs %d , erro %f\n',epoch,erroepoch)
period_epoch=0;
end
% Verifica a Condicao de Parada do Treinamento
if erroepoch < err_desejado | epoch > n_max_de_epochs
para_learning = 1;
end
% Acumula Erro Final
erroacumulado(epoch)=erroepoch;
period_epoch=period_epoch+1;
end
% Imprime a Evolucao do Erro.
plot (erroacumulado)
56

O algoritmo acima foi implementado com base em leituras do captulo 6 de Haykin


1994. O objetivo da implementao foi desenvolver o algoritmo de perceptron multicamada
em ambiente MATLAB, para adquirir proficincia com a implementao de redes neurais
artificiais e para familiarizao com a linguagem de programao do ambiente MATLAB.
Assim sendo, a implementao anterior no apresenta adendos ao algoritmo para
torn-lo mais rpido, como acontece com vrias implementaes existentes do mesmo
algoritmo, inclusive aquelas utilizadas nos experimentos de classificao de imagens
abordados neste trabalho. Dentre as abordagens que tentam acelerar o desempenho de redes
perceptron em multicamadas est o algoritmo "Cascade-Correlation" comentado na seo
referente etapa 3 do estgio. Outra abordagem para acelerao envolve o uso de lgica
nebulosa ("fuzzy logic") para controle da taxa de aprendizagem, como em Choi et al. 1992.

Etapa 10. Testes dos algoritmos de redes neurais em tarefas bem conhecidas de anlise de

imagens.
Como mencionado na seo anterior os experimentos com classificao de imagens
foram desenvolvidos utilizando as implementaes do perceptron em multicamadas
disponveis no "toolbox" do ambiente MATLAB. No apndice A tem-se a descrio das
vrias rotinas implementadas como arquivos "scripts", que durante a execuo invocam as
funes que implementam a rede neural utilizada.
Dois arquivos "scripts" bsicos so utilizados: um para treinamento da rede
(treiclas.m) e outro para ativao da rede (classify.m). O arquivo treiclas.m executa a fase de
treinamento da rede neural. O "script" foi projetado para permitir que o usurio construa o
conjunto de treinamento ou utilize conjuntos definidos anteriormente.
Para teste de aprendizagem foi feito um outro conjunto teste contendo o mesmo
nmero de amostras por classe. Este conjunto foi utilizado para medir a generalizao da rede
aps treinamento, o que ser comentado na seo referente medidas de desempenho.
Quatro conjuntos (samples2, samples3, samples4 e samples5) de dados foram
extrados das imagens. Sendo dois (samples2 e samples3) com janelas de tamanho fixo e dois
(samples4 e samples5) com janelas de tamanhos variveis em funo da varincia dentro da

57

janela. Neste caso a janela escolhida aquela que apresenta a menor varincia, interpretada
no contexto como sendo a mais suave, do ponto de vista de distribuio de radiometrias. As
amostras do arquivo samples2 foram utilizadas para treinar a rede com abordagens estatsticas
e no estatsticas. A abordagem no estatstica utiliza os prprios nveis de cinza das amostras
como dados de entrada para rede, enquanto que a abordagem estatstica utiliza as medidas de
mdia e varincia das amostras.
Os dados obtidos com janelas de tamanho varivel foram treinados apenas na
abordagem no estatstica.
A seguir so exibidos os resultados do treinamento obtido atravs das curvas de
evoluo do erro de treinamento.
A tabela 10.1 exibe um resumo da arquitetura da rede e do tipo de abordagem utilizada
no treinamento.
TABELA 10.1 - Resumo da arquitetura da rede neural utilizada com a abordagem utilizada no
treinamento.
Experimento
exp1
exp2
exp3

Abordagem
No estatstica
Estatstica
No estatstica

Nmero de ns na camada interna


20
20
20

A tabela 10.2 mostra um quadro das configuraes e resultados de treinamento


obtidos, salientando as bases de dados utilizadas.
TABELA 10.2 - Resultado do treinamento para os trs experimentos conduzidos.
Arquivo com

Conjunto de

SSE

SSE alcanado

Nmero de

resultados de

treinamento

estabelecido

em

iteraes no

treinamento

utilizado

como alvo

treinamento

treinamento

exp1

samples2

40

39.9840

475

exp2

samples2

40

39.9792

435

exp3

samples4

40

39.82

135

As figuras 10.1, 10.2 e 10.3 mostram a curvas de erro obtidas durante o treinamento.

58

3500

1600
1400

3000

1200

2500

1000

SSE

SSE

Training Evolution - Experiment 2

4000

Training Evolution - Experiment 1

1800

2000

800

1500
600

1000

400

500

200
0

100

200
300
Number of epochs

400

500

FIGURA 10.1 - Curva de treinamento do


experimento 1. A linha azul mostra como o erro de
treinamento. A linha vermelha o erro alvo

100

200
300
Number of epochs

400

500

FIGURA 10.2 - Curva de treinamento do


experimento 2. A linha azul mostra como o erro de
treinamento. A linha vermelha o erro alvo

Training Evolution - Experiment 3

800
700
600

SSE

500
400
300
200
100
0

20

40

60
80
100
Number of epochs

120

140

FIGURA 10.3 - Curva de treinamento do experimento 3. A linha azul mostra como o erro de
treinamento. A linha vermelha o erro alvo (SSE=40).
Aps o treinamento foi realizado o teste de generalizao da rede treinada. Este teste
consiste em apresentar dados no utilizados no treinamento e analisar o comportamento da
rede. A tabela 10.3 mostra um resumo dos testes de generalizao realizados.
TABELA 10.3 - Resultados da generalizao das redes treinadas.
Experimento
exp1
exp2
exp3

SSE generalizacao (samples3)


104
110

SSE generalizao (samples5)


66

59

Os dados na tabela 10.3 esto organizados segundo a utilizao dos arquivos de dados
usados no treinamento. A coluna referente ao arquivo samples3, significa que o treinamento
foi realizado com as amostras do arquivo samples2 e a coluna referente ao arquivo samples5,
significa que o treinamento foi realizado com as amostras do arquivo samples4.

FIGURA 10.4 - Resultado da classificao obtida com a rede neural treinada no experimento
1 (abordagem no estatstica, com janela de 3x3).
As figuras 10.4, 10.5 e 10.6 exibem o resultado da classificao realizada pelas redes
neurais, como resultado da apresentao das imagens originais filtradas por filtro passa baixas
para a eliminao de rudos. A figura 10.4 corresponde a classificao com os dados do
experimento 1 (exp1). A figura 10.5 exibe a classificao com os dados do experimento 2
(exp2). A figura 10.6 mostra o resultado da classificao, usando-se os dados do experimento
3 (exp3).

60

Na figura 10.4 as classes de interesse esto atribudas da seguinte forma: gua - cor
azul; Vegetao - cor verde; rea Construda - cor laranja; e Solo Exposto - Vermelho.
Na figura 10.5 as classes so assim distribudas: gua - cor azul; Vegetao - cor
verde; rea Construda - cor ciano; e Solo Exposto - Vermelho.

FIGURA 10.5 - Resultado da classificao obtida com a rede neural treinada no experimento
2 (abordagem estatstica, com janela de 3x3).
Na figura 10.6 as classes tm as seguintes cores associadas: gua - cor azul;
Vegetao - cor verde; rea Construda - cor laranja; e Solo Exposto - Vermelho.

61

FIGURA 10.6 - Resultado da classificao obtida com a rede neural treinada no experimento
3 (abordagem no estatstica, com janela de 9x9; Amostras obtidas com
janela adaptativa).
As figuras 10.4 e 10.5 exibem uma grande confuso entre as classes rea Construda e
Solo Exposto, como foi constatado no teste de generalizao e atravs da matriz de confuso
(ver tabelas 11.1, 11.2 e 11.3). Este problema pode ser solucionado se as amostras forem
melhor selecionadas durante o processo de aquisio de amostras e definio de classes.
A figura 10.6 exibe um melhor resultado, devido ao fato da janela (campo de visada)
do algoritmo classificador ser de grande dimenso (9x9), o que implica em um maior nmero
de pixels vizinhos interagindo na classificao de um pixel.

62

Etapa 11. Especificao de medidas de desempenho com aplicao s implementaes.

O desempenho de um classificador medido em funo do erro de classificao.


Neste trabalho o desempenho da rede neural como classificadora foi medido atravs do erro
de generalizao. A generalizao consiste na avaliao da rede neural treinada sobre dados
no utilizados no treinamento. Neste sentido, como comentado na seo referente a etapa 10
dos 'Testes dos algoritmos de redes neurais em tarefas bem conhecidas de anlise de imagens',
utilizou-se conjuntos de dados das mesmas classes (samples3 e samples5) tomadas como
alvos para teste da generalizao da rede.
O teste consistiu em apresentar as amostras rede e medir o erro em relao ao
esperado. A tabela 10.4 exibe os resultados do erro de classificao.
Como podemos observar o erro de generalizao para o caso do treinamento com
amostras de tamanho fixo (3x3), o desempenho de generalizao da rede foi baixo, se
compararmos os erros obtidos com o erro estabelecido como alvo no treinamento.
Entretanto, para o caso de amostras obtidas com janelas adaptativas, o erro de
generalizao aproximou-se do erro alvo.
Para se ter uma idia do que causou os baixos desempenhos, podemos observar as
matrizes de confuso para os dois casos de testes de generalizao. As tabelas abaixo
mostram as matrizes com a confuso entre as amostras.
Todos os dados nas tabelas 11.1 a 11.3 so expressos em porcentagens, em relao ao
total de amostras por classes. Para cada classes foram tomadas 50 amostras. Nas trs tabelas
verifica-se que as classes rea Construda e Solo Exposto apresentaram maior confuso.
Entretanto, o classificador que usou dados obtidos com janela adaptativa apresentou melhor
desempenho.
TABELA 11.1 - Matriz de confuso para o classificador do experimento 1.
gua

Vegetao

92
10

8
86

0
0

0
4

rea Construda

66

34

Solo Exposto

10

38

52

gua
Vegetao

63

rea Construda

Solo Exposto

TABELA 11.2 - Matriz de confuso para o classificador do experimento 2.

gua

Vegetao

90
8

10
84

0
0

0
10

rea Construda

66

34

Solo Exposto

12

36

50

gua
Vegetao

rea Construda

Solo Exposto

TABELA 11.3 - Matriz de confuso para o classificador do experimento 3.


gua

Vegetao

100
14

0
76

0
0

0
10

rea Construda

96

Solo Exposto

34

62

gua
Vegetao

rea Construda

Solo Exposto

Concluso

Este trabalho teve como objetivo a familiarizao com as redes neurais artificiais,
principalmente voltadas para aplicaes em Viso Computacional e Processamento de
Imagens. Apesar dos algoritmos de redes neurais serem cada vez mais utilizados em diversas
reas de aplicao, ainda h muito trabalho a ser realizado nas duas reas mencionadas
anteriormente, devido necessidade de adaptao dos algoritmos aos problemas destas reas.
A adaptabilidade dos modelos de redes neurais envolve estudos e pesquisas do
paradigma de redes neurais e das reas de aplicao. Os modelos de redes neurais disponveis
na literatura precisam ser construdos de forma a modelar os aspectos envolvidos nas tarefas,
o que implica na necessidade de pesquisas. Alm disso, existem muitos aspectos inerentes s
redes neurais que necessitam de pesquisas, para tornar os algoritmos de redes neurais
artificiais existentes e os que surgirem, mais eficientes no tocante a arquitetura utilizada e a
aprendizagem conseguida.
Durante o estgio foram feitos estudos e implementaes de algoritmos de redes
neurais, bem como o acompanhamento da sistemtica do uso de redes neurais em tarefas de
Processamento de Sinais e Imagens desenvolvidos no mbito do Departamento onde o estgio
foi desenvolvido.
Os experimentos propostos realizados consistiram em classificar imagens de satlite.
O objetivo principal foi aplicar a metodologia de trabalho de aplicao de redes neurais em

64

tarefas desta natureza, ou seja, como adaptar uma rede neural para executar a tarefa de
classificao supervisionada de imagens de satlite.
Portanto, os resultados encontrados, como visto nas figuras 10.4, 10.5 e 10.6, no so
resultados ditos precisos devido a dois fatores: primeiro, a imagem utilizada uma imagem
predominantemente de zona urbana, com uma alta densidade construda. Isso introduz um
grau de complexidade na obteno das amostras para as classes estabelecidas como alvo, por
a rea apresentar um uso de solo muito diversificado. Em segundo, como o problema de
sensoriamento remoto abordado no era o objetivo principal do trabalho, a seleo das
amostras no envolveu passos criteriosos para melhorar o desempenho do classificador.
Por outro lado o trabalho mostrou o poder das ferramentas de redes neurais, apesar da
complexidade existente quanto necessidade de treinamento. Em geral, a maioria do tempo
utilizado nos experimentos foi dedicada ao treinamento das redes neurais.
A especificao da rede neural uma tarefa iterativa que envolve a especificao de
vrias tentativas para se atingir uma topologia que resolva o problema. A resoluo do
problema inferida se h o treinamento da rede, ou seja, se a rede convergir para o erro alvo.
Entretanto, na literatura existem muitos trabalhos que sugerem o uso de um determinado
nmero de neurnios na camada interna, em funo do nmero de padres no conjunto de
treinamento. Essa abordagem pode no funcionar sempre em funo da natureza dos dados no
conjunto de treinamento.
Observou-se que muitos problemas podem ser resolvidos utilizando-se as redes
neurais. Entretanto, a maioria dos problemas resolvidos por redes neurais relatados na
literatura, j foram resolvidos por outras abordagens tambm. Em geral, a abordagem com
redes neurais tentam simplificar os problemas no sentido de que as restries inerentes a
maioria dos problemas, substituda pela tarefa menos difcil de treinar a rede neural, apesar
de se tomar bastante tempo de treinamento dependendo do algoritmo de aprendizagem usado.
H a necessidade entretanto, de se pesquisar novos modelos ou procedimentos de prprocessamento, que sejam mais adequados para determinadas reas de aplicao.
O estgio permitiu a familiarizao com ferramentas de simulao de redes neurais
adequadas e voltadas para a modelagem do problema em mos.

65

Referncias Bibliogrficas

Accoto, P.; Arena, F.; Storti-Gajani, G. Image Texture analysis with neural networks. World
Congress on Neural Networks, vol III, pp. III-776 - III-779, July 11-15, 1993.
Aloimonos, Y. Visual Shape Computation. Proceedings of the IEEE, 76(8):899-916, August
1988.
Aloimonos, Y. Active Perception. Editor Yiannis Aloimonos, Lawrence Erlbaum Associates,
New Jersey, 1993.
Bajcsy, R. Active Perception. Proceedings of the IEEE, 76(8):996-1005, August 1988.
Bajcsy, R.; Campos, M. Active and Exploratory Perception. CVGIP: Image Understanding,
56(1):31-40, July 1992.
Bebis, G.N.; Papadourakis, G.M. Object Recognition using Invariant Object Boundary
Representations and Neural Network Models. Pattern Recognition, 25(1):25-44, 1992.
Ballard, D.H.; Brown, C.M. Principles of Animate Vision. CVGIP: Image Understanding,
56(1):3-21, July 1992.
Beale, R.; Jackson, T. Neural Computing: An Introduction. IOP Publishing Ltd. 1990.
Bertero, M.; Poggio, T.; Torre, V. III-Posed Problems in Early Vision. Proceedings of the
IEEE, 76(8): 869-889, August 1988.
Bhuiyan, S.; Matsuo, H.; Iwata, A.; Fujimoto, H.; Sato, M. An improved Neural Network
based Edge Detection Method. Proceedings of the International Conference on Neural
Information Processing, Seoul, Korea, 1:620-625, October 17-20, 1994.
Boden, M.A. Computer models of mind: Computational approaches in theoretical
psychology. Cambridge University Press, 1991, p. 1 - 87.
Canny, J. A Computational approach to edge detection. IEEE Transactions on Pattern
Analysis and Machine Intelligence PAMI-8(6):679-698, 1986.
Choi, J.J.; Araabshashi, P.; Marks, R.J.; Caudell, T.P. Fuzzy Parameter Adaptation in Neural
Systems. International Joint Conference on Neural Networks, Vol.1, pp. 232-238,
Baltimore, MD, 1992.
Cruz, Jess M.; Pajares, G.; Aranda, J. A Neural Network Model in Stereovision Matching.
Neural Networks, 8(5):805-813, 1995.
Duda, R.O.; Hart, P.E. Pattern Classification and Scene Analysis. Stanford Research
Institute, Menlo Park, California, John Wiley & Sons, 1973.
Eberhart, R.C.; Dobbins, R.W. Neural Networks PC Tools: A Practical Guide. The John
Hopkins University Applied Physics Laboratory, Laurel, Maryland, 1990.

66

Fahlman, S.E. and Lebiere, C. The Cascade-Correlation Learning Architecture. Report CMUCS-90-100, Carnegie Mellon University, Pittsburgh, February 1990
Feldman, J.A. Connectionist Models and Parallelism in High Level Vision. Computer Vision,
Graphics, and Image Processing, 31:178-200, 1985.
Finkel. L.H.; Sajda, P. Constructing Visual Perception. American Scientist, 82:224-237, May
- June 1994.
Fukushima, K. A Neural Network for Visual Pattern Recognition. Computer, 65-75, March
1988.
Fukushima, K.; Miyake, S. Neocognitron: A New Algorithm for Pattern Recognition Tolerant
of Deformations and Shifts in Position. Pattern Recognition, 15(6):455-469, 1982.
Haykin, Simon. Neural Networks: A Comprehensive Foundation. Macmillan, New York,
1994
Haykin, Simon. Neural Networks Expand SP's Horizons. IEEE Signal Processing Magazine,
24-49, March 1996.
Haring, S; Viergever, M.A.; Kok, J.N. Kohonen networks for multiscale image segmentation.
Image and Vision Computing, 12(6):339-344, July/August 1994.
Hines, W. Matlab Supplement of Fuzzy and Neural Approaches in Engineering. (Under
preparation) John Wiley & Sons, 1997.
Hecht-Nielsen B. Neurocomputing. Addison-Wesly, 1990.
Hertz, J.; Krogh, A.; Palmer, R.G. Introduction to the Theory of Neural Computing. Santa Fe
Institute. Addison-Wesly, 1991.
Horn, B.K.P. Robot Vision. New York, NY, McGraw-Hill, 1986.
Jolion, J.M. Computer Vision Methodologies. CVGIP: Image Understanding, 59(1):53-71,
January 1994.
Joshi, A.; Lee, Chia-Hoang, Stereo Correspondence and Missing Points. World Congress on
Neural Networks, vol II, pp. III-731 - III-734, July 11-15, 1993.
Khanna, T. Foundations of Neural Networks. Addison-Wesley Publishing Company, Inc.,
1990.
Khotanzad, A.; Lu, J.H. Object Recognition Using a Neural Network and Invariant Zernike
Features. Proceedings of IEEE Computer Society Conference on Computer Vision and
Pattern Recognition, 200-205, San Diego, CA, June 4-8, 1989.
Koch, C.; Segev, I. Methods in neuronal Modeling: From Synapses to Networks. Mit Press,
Cambridge, 1989.

67

Koenderink, J.J The Structure of Images. Biological Cybernetics, 50:363-370, 1984.


Lee, J.J.; Shim, J.C.; Ho Ha Y. Stereo Correspondence Using the Hopfield Neural Network of
a New Energy Function. Pattern Recognition, 27(11):1513-1522, 1994.
Lin, Chin-Leng and Lee, C.S. G. Neural Fuzzy Systems: A Neural-Fuzzy Synergism to
Intelligent Systems. Prentice Hall, New Jersey, 1996
Lindeberg, T. Scale-Space: A Basis for Early Vision. Report from Computational Vision and
Active Perception Laboratory (CVAP). Royal Stockholm University, Institute of
Technology, Stockholm, Sweden. 1993.
Lu, Y.; Jain, R.C. Reasoning about Edges in Scale Space. IEEE Transactions on Pattern
Analysis and Machine Intelligence, 14(4):450-468, April 1992.
Mambelli, E. Ncomp: Application of the Holpfield Neural Network Model to the Stereo
Matching Problem. World Congress on Neural Networks, vol II, pp. III-735 - III-739,
July 11-15, 1993.
March, R. Computation of stereo disparity using regularization. Pattern Recognition Letters,
8:181-187, October 1988.
Marr, D. Vision. Freeman. San Francisco, CA. 1982.
Mathworks Inc. http://www.mathworks.com. 1997.
Mousavi, M.S.; Schalkoff, R.J. ANN Implementation of Stereo Vision Using A Multi-Layer
Feedback Architecture. IEEE Transactions on Systems, Man, and Cybernetics,
24(8):1220-1238, August 1994.
Nasrabadi, N.M.; Choo, C.Y. Hopfield Network for Stereo Vision Correspondence. IEEE
Transactions on Neural Networks, 3(1):5-13, January 1992.
Paik, J.K.; Brailean, J.C.; Katsaggelos, A.K. An Edge Detection Algorithm Using Multi-State
ADALINES. Pattern Recognition, 25(12):1495-1504, 1992.
Park, D.J.; Park, R.-H.; Lee, S.U.; Choi, J.S. Hierarchical edge detection using the bidirectional information in edge pyramids. Pattern Recognition Letters, 15:65-75, January
1994.
Pavlidis, T. Why progress in machine vision is so slow. Pattern Recognition Letters, 13:221225, 1992.
Pentland, A.P. Perceptual Organization and the Representation of Natural Form. Artificial
Intelligence, 28:293-331, 1986.
Poggio, T. Early Vision: From Computational Structure to Algorithms and Parallel Hardware.
Computer Vision, Graphics, and Image Processing, 31:139-155, 1985.

68

Poggio, T.; Torre, V.; Koch, C. Computational vision and regularization theory. Nature
317:314-319, 1985.
Rao, Rajesh P.N.; Ballard, Dana H. A Class of Stochastic Models for Invariant Recognition,
Motion, and Stereo. Submitted to NIPS 96.
Rattarangsi, A.; Chin, R.T. Scale-Based Detection of Corners of Planar Curves. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 14(4):430-449, April 1992.
Rosenfeld, A. Computer Vision: Basic Principles. Proceedings of the IEEE, 76(8):863-868,
August 1988.
Santos, N.M; Oliveira, E.C. A neurophysiological neural network model for vehicle
identification. Anais do II Congresso Brasileiro de Redes Neurais, Curitiba, 29/1001/11/1995, p. 133-137.
Sarkar, S.; Boyer, K.L. Perceptual Organization in Computer Vision: A Review and a
Proposal for a Classificatory Structure. IEEE Transactions on Systems, Man, and
Cybernetics, 23(2):382-398, March/April 1993.
Schalkoff, R.J. Digital Image Processing and Computer Vision, John Wiley & Sons, New
York, 1989.
Schalkoff, R.J. Pattern Recognition: Statistical, Structural and Neural Approaches, John
Wiley & Sons, New York, 1992.
Silva, J. D. S. The Cascade-Correlation using
http://www.lac.inpe.br/~demisio/casc.html. 1997.

the

Matlab

environment.

Simpson, P.K. Artificial Neural Systems: Foundations, Paradigms, Applications, and


Implementations. Pergamon Press. San Diego, 1990.
Skoneczny, S.; Foltyniewicz, R. An Efficient Method of Blur Identification by Neural
network for Image Restoration Purpose. World Congress on Neural Networks, vol II, pp.
III-665 - III-668, July 11-15, 1993.
Somers, D.C.; Nelson, S.B.; Sur, M. An Emergent Model of Orientation Selectivity in Cat
Visual Cortical Simple Cells. Journal of Neuroscience, in press, march 2, 1995
Srinivasan, V.; Bhatia, P.; Ong, S.H. Edge Detection Using a Neural Network. Pattern
Recognition, 27(12):1653-1662, 1994.
Torre, V.; Poggio, T. On Edge Detection. IEEE Transactions on Pattern Analysis and
Machine Intelligence, PAMI-8(2):147-163, March 1986.
Tsoukalas, L.H.; Uhrig, R.E. Fuzzy and Neural Approaches in Engineering. John Wiley &
Sons, 1997.

69

Uhrig, R.E. Tutotial: Artificial Neural Networks and Potential Applications to Nuclear Power
Plants. DOE-EPRI Workshop on Cost-Effective Instrumentation and Control
Technologies Upgrades, Nashivlle, Tennessee, March 22-24, 1995.
Wechsler, H. Computational Vision. Academic Press, Boston, 1990, p. 183 - 192.
Wenzel, B.C.; Gimblett, R.H. An Approach to Image Compression and Reconstruction Using
Neural Networks. World Congress on Neural Networks, vol IV, pp. IV-71 - IV-74, July
11-15, 1993.
Wehmeier, U.; Dong, D.; Koch, C.; Van Essen, D. Modeling the Mammalian Visual System.
Em Methods in neuronal Modeling: From Synapses to Networks. Editores: Christof Koch
e Idan Segev. MIT Press, Cambridge, 1989, p. 335-359.
You, S. D.; Ford, G. E. Network Model for Invariant Object Recognition. World Congress on
Neural Networks, vol II, pp. III-718 - III-721, July 11-15, 1993.

70