Visão por Computador - Grupo de Engenharia de Computadores

Transcrição

Visão por Computador - Grupo de Engenharia de Computadores
Universidade
do
Minho
Escola de Engenharia
Departamento de Informatica
Largo do Paco - 4709 BRAGA Codex- PORTUGAL
Tel +351-53-604470- Fax +351-53-612954
Vis~ao por Computador
Lus Paulo Peixoto dos Santos
Texto de Apoio
UM-DI-TA-95-02
03/Mar/1995
Vis~ao por Computador
Lus Paulo Peixoto dos Santos
[email protected]
Departamento de Informatica
Universidade do Minho
Largo do Paco
4709 BRAGA Codex
PORTUGAL
Tel +351-53-604470
Fax +351-53-612954
Texto de Apoio
UM-DI-TA-95-02
03/Mar/1995
Indice
1 Processamento de Imagem versus Vis~ao por Computador
1
2 Caractersticas de uma imagem digital
2
2.1 Problemas do processo de digitalizac~ao : : : : : : : : : : : : : : : : : : : :
3
3 Arquitectura para vis~ao por computador
4
4 Brilho e contraste
4
5 Histograma
5
5.1 Equalizac~ao do histograma : : : : : : : : : : : : : : : : : : : : : : : : : : :
6 Convoluc~ao
7
8
6.1 Filtros passa-baixo (smoothing lters) : : : : : : : : : : : : : : : : : : : : : 10
6.2 Filtros passa-alto (edge detection) : : : : : : : : : : : : : : : : : : : : : : : 12
6.3 Filtros n~ao-lineares : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14
6.4 Outros metodos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15
7 Segmentac~ao
16
7.1 Binarizaca~o : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16
7.2 Binarizaca~o adaptativa : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18
7.3 Operadores morfologicos : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18
7.4 Textura : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 20
7.5 Segmentac~ao baseada em regi~oes : : : : : : : : : : : : : : : : : : : : : : : : 23
7.6 Movimento : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 24
8 Detecc~ao de formas
27
8.1 Template matching : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28
8.2 A transformada de Hough : : : : : : : : : : : : : : : : : : : : : : : : : : : 29
i
9 Descric~ao de formas
31
9.1 Chain code : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 31
9.2 Assinaturas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32
9.3 Aproximaca~o poligonial : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32
9.4 Esqueleto : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 34
Refer^encias bibliogracas
35
ii
Lista de Figuras
1
Nveis de processamento : : : : : : : : : : : : : : : : : : : : : : : : : : : :
2
2
Arquitectura para vis~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : :
4
3
Histogramas tpicos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
6
4
Equalizac~ao do histograma : : : : : : : : : : : : : : : : : : : : : : : : : : :
7
5
Imagem nxn : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
9
6
Detecc~ao de contornos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10
7
Aplicac~ao da media : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11
8
Magnitude do gradiente (Sobel) : : : : : : : : : : : : : : : : : : : : : : : : 13
9
Calculo do Laplaciano : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13
10 Aplicac~ao da mediana : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15
11 Histograma bimodal : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17
12 Histograma n-modal : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17
13 Eros~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 19
14 Operador P (d ) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21
15 Partic~oes do espectro : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 23
16 Region splitting & merging : : : : : : : : : : : : : : : : : : : : : : : : : : : 25
17 Objecto em movimento : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25
18 Diferencas acumuladas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 26
19 AADI, PADI e NADI : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 27
20 Template matching : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28
21 Pir^amide de resoluc~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 29
22 Coordenadas polares : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 30
23 Transformada de Hough : : : : : : : : : : : : : : : : : : : : : : : : : : : : 30
24 Identicadores para chain codes : : : : : : : : : : : : : : : : : : : : : : : : 31
25 Chain codes : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32
iii
26 Assinatura em func~ao da dist^ancia : : : : : : : : : : : : : : : : : : : : : : 33
27 Assinatura em func~ao do ^angulo : : : : : : : : : : : : : : : : : : : : : : : : 33
28 Aproximac~ao poligonial : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 33
29 Aproximac~ao poligonial com grande precis~ao : : : : : : : : : : : : : : : : : 34
30 Esqueletos de varias regi~oes : : : : : : : : : : : : : : : : : : : : : : : : : : 35
iv
~ POR COMPUTADOR
1 PROCESSAMENTO DE IMAGEM VERSUS VISAO
1
1 Processamento de Imagem versus Vis~ao por Computador
O interesse no processamento de imagens digitais surge no a^mbito de duas areas de
aplicac~ao: melhoria do aspecto da imagem para observac~ao humana e processamento da
imagem para percepca~o autonoma da maquina.
Estas duas areas n~ao se excluem mutuamente, alias interceptam-se em muitos pontos.
Para extrair informac~ao sobre a localizac~ao de um objecto numa imagem, por exemplo, e
muitas vezes necessario melhorar o aspecto dessa imagem, retirando o rudo e melhorando
o contraste.
Por processamento de imagem designam-se as tecnicas que permitem melhorar o aspecto
da imagem. Estas tecnicas t^em como caracterstica receberem como input uma imagem, e
gerarem como output uma outra imagem, que resulta da primeira mas que sofreu algumas
alterac~oes.
Vis~ao por computador designa a ci^encia que extrai, de forma automatica, informac~ao da
imagem para percepc~ao autonoma da maquina. Exemplos de aplicac~oes neste campo s~ao
o reconhecimento de caracteres, controlo de robots industriais, localizac~ao de objectos em
movimento, etc. As tecnicas de vis~ao por computador recebem como input uma imagem
e/ou estruturas de dados e geram outras estruturas de dados que representam alguma(s)
caracterstica(s) da imagem.
Uma imagem digitalizada contem uma grande quantidade de informac~ao:
\Uma imagem vale por mil palavras"
Os algoritmos de processamento de imagem lidam com toda esta informac~ao, sendo portanto bastante pesados. Os algoritmos de vis~ao por computador lidam com estruturas
de dados abstractas que representam caractersticas da imagem (localizac~ao de objectos,
contornos de objectos, texturas, etc.). A quantidade de informac~ao a processar e bastante
menor.
Os metodos que lidam com toda a imagem e geram outra imagem (como a remoc~ao de
rudos, por exemplo) s~ao classicados de baixo nvel. Os metodos que recebem como
input uma imagem e geram uma estrutura de dados que representa alguma caracterstica
dessa imagem (como a descric~ao do contorno de um objecto) s~ao classicados de nvel
intermedio. Os metodos que lidam apenas com estruturas de dados abstractas e geram
outras estruturas de dados ou tomam decis~oes baseados no seu input s~ao classicados de
alto nvel. A medida que aumenta o nvel, diminui a quantidade de dados a processar
mas aumenta a complexidade do algoritmo (g. 1).
2 CARACTERSTICAS DE UMA IMAGEM DIGITAL
2
Alto Nivel
Complexidade
Informacao
Nivel Intermedio
Baixo Nivel
Figura 1: Nveis de processamento
2 Caractersticas de uma imagem digital
Uma imagem e uma func~ao bidimensional f (x y) da intensidade da luz, onde x e y representam as coordenadas espaciais (localizac~ao) de um ponto na imagem e f (x y) representa o
brilho, ou a cor, da imagem nesse ponto. Uma imagem pode ser vista como tridimensional,
com o terceiro eixo representando o brilho da imagem. Assim os pontos mais brilhantes s~ao
visualizados como sendo mais altos, enquanto os pontos mais escuros aparecem como sendo
mais baixos. Zonas da imagem com grandes variac~oes no brilho (contornos dos objectos,
por exemplo) s~ao visualizadas como planos inclinados. Zonas com um brilho constante
apresentam-se como planas, lembrando plancies ou planaltos, dependendo do seu brilho.
Zonas com muito rudo apresentam picos de altura aleatoria e distribudos aleatoriamente.
Uma imagem digitalizada consiste numa matriz bidimensional de inteiros que representam
o brilho, ou a cor, de cada ponto da cena. Cada ponto desta matriz e normalmente
designado por 'pixel', o que corresponde a abreviatura de picture element.
O processo de digitalizaca~o exige que sejam tomadas decis~oes relativamente ao numero de
pontos em que a imagem e amostrada (dimens~ao da imagem) e o numero de diferentes tons
que cada ponto pode tomar (tamanho de cada elemento da matriz). Como os computadores
s~ao maquinas binarias e vantajoso que estas quantidades sejam pot^encias de dois. Valores
tpicos para a dimens~ao da imagem s~ao 256x256, 512x512, 1024x1024.
A dimens~ao de cada elemento da matriz, isto e, cada ponto da imagem, determina o numero
de diferentes brilhos, ou cores, que cada ponto pode apresentar. As imagens digitalizadas
em true color t^em 24 bits para cada ponto. Estes 24 bits est~ao subdivididos em 3 bytes,
cada um representando a quantidade de vermelho, verde e azul que devem ser combinadas
para obter a cor desejada. Este sistema e designado por RGB.
2 CARACTERSTICAS DE UMA IMAGEM DIGITAL
3
As imagens monocromaticas n~ao t^em cores, mas sim tons de cinzento. O valor 0 representa
preto (aus^encia de brilho), o maior valor possvel representa branco e os valores intermedios
representam os varios tons de cinzento. E vulgar as imagens monocromaticas apresentarem
256 tons de cinzento, sendo necessario 1 byte para representar cada pixel.
Como a imagem digital e uma aproximac~ao a uma imagem contnua e natural interrogarmonos sobre qual a dimens~ao que a matriz digital deve ter e quantas cores ou tons de cinzento
s~ao necessarios para obter uma boa aproximac~ao. Por resoluc~ao entende-se o grau de
discernimento de detalhes que a imagem apresenta. A resoluc~ao depende da dimens~ao
da imagem (no de linhas e colunas) e do numero de tons que esta apresenta. Quanto
maiores forem estes par^ametros, maior e a qualidade da imagem digital. Infelizmente
aumenta tambem a quantidade de informac~ao a armazenar e, consequentemente, o poder
de computac~ao necessario para a processar. Quando a imagem se destina a visualizac~ao
humana a resoluca~o n~ao deve ir alem daquilo que o olho humano e capaz de ver. Este e
limitado no numero de cores e no tamanho dos pormenores que consegue distinguir. E
difcil denir o que e uma boa imagem, pois os requerimentos de qualidade variam de
aplicac~ao para aplicac~ao.
2.1 Problemas do processo de digitalizac~ao
Numa c^amera, a luz proveniente de uma cena tridimensional e focada, atraves das lentes,
numa superfcie bidimensional. A luz e ent~ao amostrada numa grelha de sensores distribudos uniformemente nesta superfcie. A imagem digital n~ao e mais do que uma matriz
bidimensional de valores inteiros que representam a intensidade da luz em cada um destes
pontos.
A imagem digital n~ao e perfeita, sendo varios os factores que podem contribuir para a sua
imperfeic~ao:
Intervalo de amplitudes suportado pelos sensores
Intervalo espectral suportado pelos sensores
Tempo de amostragem
Desfasamento temporal entre os sensores
Erros de quanticac~ao
O sinal digital n~ao pode conter tanta informac~ao como o sinal analogico, devido a sua
natureza discreta. Os erros de quanticac~ao s~ao portanto inevitaveis. As altas frequ^encias
do sinal analogico n~ao podem ser representadas se est~ao acima do limite de Nyquist, que
e metade da frequ^encia de amostragem. Teoricamente, a frequ^encia de amostragem tem
que ser pelo menos o dobro da mais alta frequ^encia que existir no sinal analogico. Na
pratica, isto aumenta a resoluc~ao do sinal digital, pelo que a soluc~ao mais comum e ltrar
as frequ^encias acima do limite de Nyquist. Quando estas frequ^encias n~ao s~ao removidas
(ltradas) surge o efeito designado como aliasing.
~ POR COMPUTADOR
3 ARQUITECTURA PARA VISAO
4
3 Arquitectura para vis~ao por computador
CAMERA
DIGITALIZADOR
PRE-PROC
FRAME
DISCO
MONITOR
STORE
SISTEMA DE
COMPUTACAO
CONSOLA
Figura 2: Arquitectura para vis~ao
A gura 2 apresenta um sistema de processamento de imagem generico.
A placa digitalizadora (frame grabber) e responsavel por converter a imagem analogica para
digital. A frame store e uma zona de memoria onde a imagem e mantida e pode ser acedida
pelos diversos modulos. O pre-processador e responsavel pelas operac~oes de baixo nvel,
como alterac~ao do brilho e contraste, convoluc~ao, calculo de transformadas, etc. Este pode
ser um processador digital de sinal (DSP), uma maquina tipo SIMD ou um processador
vectorial.
O sistema de computac~ao e responsavel por operac~oes de alto nvel. Para que seja possvel
obter resultados em tempo real esta maquina deve ter um grande poder de processamento.
O exemplo mais comum s~ao maquinas de memoria distribuda com um grande numero de
processadores. A maquina existente na Universidade do Minho e baseada em Transputers.
No entanto, estes processadores est~ao bastante ultrapassados como nodos de computac~ao.
4 Brilho e contraste
Muitas tecnicas de processamento de imagem s~ao baseadas na manipulac~ao de propriedades
estatsticas das imagens. O brilho e o contraste s~ao exemplos destas propriedades. O brilho
pode ser calculado como o valor medio de todos os pixels de uma imagem. Se v ij e o
brilho do pixel da linha i, coluna j ent~ao o brilho da imagem v e:
X
v = n1 v ij
ij
onde n representa o numero de pixels.
(
(
)
O desvio padr~ao, , da uma medida do contraste:
v
u1 X
t (v ij
=u
n ij
(
)
; v )2
)
5 HISTOGRAMA
5
Esta express~ao tem o inconveniente de exigir 2 passagens pela imagem, pois a media tem
que ser calculada primeiro. No entanto pode ser reescrita da seguinte forma:
v
u1 X
1 X
t
=u
v
; ( v ij )
ij
n ij
n ij
2
(
)
(
2
)
2
E possvel alterar os valores dos pixels de forma a alterar o brilho e contraste da imagem
para valores desejados. Para tal e necessario calcular 2 grandezas: g (ganho) e b (bias).
Estas s~ao baseadas no brilho pretendido (vnew ), contraste pretendido (new ), brilho anterior
(v) e contraste anterior().
g = b = vnew ; gv
,
new
Os novos valores dos pixels s~ao dados por
v ij = gv ij + b
(
)out
(
)
O metodo apresentado tem o inconveniente de calcular o ganho e o bias em toda a imagem,
n~ao tomando em considerac~ao as caractersticas locais de cada regi~ao da imagem. Uma
alternativa com melhores resultados consiste em calcular ganhos e bias diferentes para cada
ponto da imagem, baseados na informac~ao existente numa vizinhanca m m de cada pixel.
Para cada vizinhanca m m do ponto (i j ) s~ao calculadas a media e desvio padr~ao, v ij
e ij , respectivamente. O ganho e bias para cada ponto s~ao dados por
(
(
)
)
g ij = (
(
)
ij
b ij = vnew ; g ij v ij
,
new
)
(
)
(
O novo valor do pixel (i j ) e dado por
v ij = g ij v ij + b ij
(
)out
(
) (
)
(
) (
)
)
Este metodo permite obter melhores resultados mas exige mais tempo de processamento
pois para cada pixel t^em que ser calculados varias grandezas. Quanto maior e a vizinhanca
considerada, mais pesado se torna o problema. E , no entanto, um optimo algoritmo para
paralelizar, usando maquinas MIMD ou SIMD, podendo facilmente ser decomposto no
domnio dos dados.
O conceito de vizinhanca levanta alguns problemas nas margens da imagem. Para estes
pontos n~ao e possvel calcular v e pois a vizinhanca m m n~ao existe.
5 Histograma
O histograma de uma imagem indica o numero de pontos que existem para cada tom de
cinzento, ou cor, possveis nessa imagem. Por exemplo, se numa imagem s~ao possveis 4
tons de cinzento, variando de 0 a 3, e a imagem tem 16 pontos
5 HISTOGRAMA
6
4 2 8 2
e um histograma h(v) dessa imagem indicando que 4 pontos s~ao do tom 0, 2 do tom 1 e
assim sucessivamente.
O histograma normalizado H (v) e dado por
H (v) = h(nv)
em que n e o numero de pontos na imagem. Este histograma e obtido dividindo cada
elemento de h(v) por n.
0.25 0.125 0.5 0.125
Cada elemento indica a probabilidade de um pixel da imagem ter um determinado tom.
Neste exemplo, a probabilidade de um pixel ter o tom 2 e 0:5. O histograma e uma func~ao
de distribuica~o.
O histograma da uma boa representac~ao graca do brilho e contraste associados a uma
imagem (g. 3).
Imagem escura e
com pouco contraste
Imagem com bom
contraste global
Figura 3: Histogramas tpicos
O histograma acumulado Hacc(v) e dado por
v
X
Hacc (v) = H (vi)
i=0
Cada elemento deste histograma indica a probabilidade de um pixel ter um valor menor
ou igual a um determinado tom. No nosso exemplo temos Hacc igual a
0.25 0.375 0.875 1.0
A probabilidade de um pixel ter um tom menor ou igual a 2 e 0:875.
5 HISTOGRAMA
7
5.1 Equalizac~ao do histograma
Esta tecnica permite aumentar, de uma forma automatica, o contraste duma imagem.
Uma imagem apresenta um bom contraste global quando os pontos se encontram distribudos uniformemente pelos varios tons possveis. Se todos os pontos t^em valores concentrados numa pequena faixa do intervalo de tons o contraste e baixo. A equalizac~ao do
histograma consiste em distribuir os valores dos pixels pelo intervalo de tons disponvel
(g. 4).
EQUALIZACAO
Figura 4: Equalizac~ao do histograma
ALGORITMO
1.
2.
3.
4.
5.
Calcular histograma
Calcular histograma normalizado
Calcular histograma acumulado
Multiplicar histograma acumulado pelo maior tom possvel
Usar a tabela anterior como func~ao de transfer^encia para os valores dos pixels
EXEMPLO
Imagem de 4x4 com 8 tons a variar entre 0 e 7:
Imagem
original
0
0
1
2
Histograma
Histograma normalizado
Histograma acumulado
Func~ao de transfer^encia
4 6 6 0 0 0 0 0
0
0
1
1
1
1
1
2
2
2
2
2
0.25 0.375 0.375 0 0 0 0 0
0.25 0.625 1.0 1.0 1.0 1.0 1.0 1.0
2 4 7 7 7 7 7 7
~
6 CONVOLUCAO
Imagem
nal
8
2
2
4
7
2
2
4
4
4
4
4
7
7
7
7
7
O metodo descrito sofre dos inconvenientes de todos os metodos que apenas tomam em
conta informaca~o global, n~ao considerando as caractersticas locais de cada regi~ao da imagem.
A equalizac~ao, tal como foi descrita, calcula a func~ao de transfer^encia baseada no histograma de toda a imagem e usa esta func~ao para todos os pixels. No entanto, diferentes
regi~oes da imagem podem apresentar brilhos e contrastes muito diferentes. Para obter
melhores resultados a equalizac~ao deve ser local. Para cada pixel (i j ) calcula-se o histograma da sua vizinhanca m m. Baseado nesta histograma e calculada uma func~ao de
transfer^encia, que e usada apenas para o ponto (i j ). Esta operac~ao repete-se para todos
os pontos da imagem, excepto para as margens pois para estes pontos a vizinhanca m m
n~ao existe.
Esta tecnica e muito mais pesada mas permite obter melhores resultados. O algoritmo
pode sofrer algumas alterac~oes para diminuir o poder de processamento necessario:
1. Em vez de calcular o histograma para cada vizinhanca centrada no ponto (i j ) e
possvel dividir a imagem em k regi~oes n~ao sobrepostas, calcular o histograma e func~ao
de transfer^encia para cada regi~ao e aplicar esta func~ao a todos os pontos daquela
regi~ao. Este metodo produz, frequentemente, um efeito indesejado de tabuleiro de
xadrez.
2. De cada vez que o algoritmo avanca do ponto (i j ) para o ponto (i j + 1) apenas
uma coluna e acrescentada a nova vizinhanca e uma coluna e removida da antiga
vizinhanca. E possvel alterar o histograma ja calculado de modo a corresponder a
nova vizinhanca, sem ter que o recalcular inteiramente.
Este algoritmo e um bom candidato a paralelizac~ao com decomposic~ao no domnio dos
dados, devido a grande localidade exibida.
6 Convoluc~ao
Em processamento de sinal, um ltro linear e caracterizado pela sua resposta a um impulso.
A resposta g(x) de um ltro linear h(x) a um sinal contnuo unidimensional f (x) e dada
pelo integral da convoluc~ao :
Z
g(x) = f (t)h(x ; t)dt
As imagens digitais s~ao bidimensionais e discretas, logo a convoluc~ao e dada por um so-
~
6 CONVOLUCAO
9
matorio duplo
g ij =
(
)
iX
+w
jX
+v
k=i;w l=j ;v
f kl h i;kj;l
(
)
(
)
onde w, v s~ao os limites do ltro em cada dimens~ao.
Um ltro e aproximado por uma matriz que e aplicada a cada ponto da imagem.
2
3
h
h h
64 h h h 75
Filtro 3x3
h h h
11
12
13
21
22
23
31
32
33
0
1
2
3
4
5
... ... ... n
0
1
2
3
4
5
n
Figura 5: Imagem nxn
O resultado da aplicac~ao deste ltro ao ponto (2,2) da imagem representada na gura 5 e
dado por
r = h i
h i
22
11
23
+ h12 i(12) + h13 i(13) + h21 i(21) + h22 i(22) +
(23) + h31 i(31) + h32 i(32) + h33 i(33)
(1 1)
Para obter a imagem nal o ltro deve ser aplicado a todos os pontos da imagem (excepto
aos da fronteira, pois para estes n~ao existe vizinhanca). Quanto maior f^or a dimens~ao do
ltro, maior o tempo de processamento e mais pontos de fronteira s~ao perdidos.
A convoluc~ao permite ltrar imagens, retirando-lhes algumas frequ^encias espaciais, dependendo do ltro que e aplicado.
Por frequ^encia espacial entende-se o modo como as alterac~oes nos valores dos pixels est~ao
distribudas ao longo da imagem. Zonas que apresentam uma cor constante t^em baixas
frequ^encias (n~ao ha variac~oes), zonas com grandes mudancas nos tons dos pixels t^em grandes frequ^encias. Portanto uma zona da imagem que represente um objecto com uma so
cor e sem rudo tera frequ^encia zero, enquanto as zonas com rudo ou mudancas bruscas
de tons (como os contornos dos objectos) t^em altas frequ^encias.
Um ltro passa-baixo caracteriza-se por remover as altas frequ^encias, logo remove o rudo
e suaviza os contornos. A suavizaca~o dos contornos e, normalmente, um efeito prejudicial,
pois diculta a detecc~ao dos mesmos em passos posteriores da aplicac~ao. Estes ltros
~
6 CONVOLUCAO
10
s~ao normalmente designados por smoothing lters devido precisamente a este efeito de
suavizac~ao da imagem.
Um ltro passa-alto remove as baixas frequ^encias logo acentua o rudo e os contornos,
removendo informac~ao sobre as regi~oes constantes da imagem. Estes ltros, regra geral,
s~ao extremamente sensveis ao rudo. E pratica comum, quando da detecc~ao de contornos,
usar, num primeiro passo, um ltro passa-baixo para remover o rudo, seguido de um ltro
passa-alto para detectar os contornos.
Imagem original
2 objectos + ruido
Corte lateral
Aplicacao de
filtro passa-baixo
Aplicacao de
filtro passa-alto
CONTORNOS
Figura 6: Detecc~ao de contornos
Considere a gura 6. O ltro passa-baixo remove o rudo e suaviza os contornos. O
ltro passa-alto aplicado a seguir remove a informac~ao sobre as zonas de tom constante
da imagem, realcando aquelas onde se vericam variac~oes, que correspondem precisamente
aos contornos. Note que, como estes ltros s~ao aproximac~oes discretas ao ltro ideal
contnuo, n~ao s~ao perfeitos. Este efeito nota-se essencialmente pela quantidade de rudo
(altas frequ^encias) que o ltro passa-baixo deixa passar. Note tambem que o efeito de
suavizac~ao n~ao e suciente para que o ltro passa-alto deixe de detectar os contornos.
6.1 Filtros passa-baixo (smoothing lters)
Os ltros passa-baixo removem rudo e atenuam os contornos. Esta atenuac~ao, ou suavizac~ao, dos contornos faz com que as imagens ltradas parecam esbatidas, da designaremse como smoothing lters.
Um ltro passa-baixo extremamente simples e a media. Esta consiste em atribuir a um
ponto o valor da media de todos os pontos na sua vizinhanca m m. Se o valor deste ponto
e muito diferente dos seus vizinhos essa diferenca e atenuada.
~
6 CONVOLUCAO
2
Media 3 x 3 64
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
11
3
75
Este ltro exige 9 multiplicaco~es e 8 adic~oes para cada ponto, no entanto apresenta a
caracterstica de ser separavel, obtendo-se o mesmo efeito com 2 convoluc~oes:
8
>
<
hx = >
:
1
3
1
3
1
3
9
>
=
>
hy =
n
1
3
1
3
1
3
o
com apenas 6 multiplicac~oes e 5 adic~oes.
(a)
(b)
Figura 7: Media 5x5. a) Imagem original. b) Imagem ltrada
O equivalente digital do ltro Gaussiano e tambem muito usado. Uma superfcie Gaussiana
e dada por
#
"
1
x
+
y
exp ; 2
G xy = p
2
2
(
)
2
2
O valor de controla o grau de smoothing e a dimens~ao do ltro. Com = 0:3 obtem-se
2
3
0:25 0:43 0:25
64 0:43 0:73 0:43 75
0:25 0:43 0:25
Este ltro tambem e separavel, tendo-se
G(xy) = Gx Gy p
2
~
6 CONVOLUCAO
12
6.2 Filtros passa-alto (edge detection)
Estes ltros removem as baixas frequ^encias, realcando o rudo e os contornos dos objectos.
S~ao normalmente usados para detectar ou realcar contornos de objectos.
Os contornos correspondem a variac~oes nos tons dos pixels, logo e intuitivo usar gradientes
para medir estas variac~oes. O gradiente rf de uma regi~ao f , e um vector com a magnitude
e direcc~ao da maior variac~ao em f . O gradiente deve ser calculado em duas direcc~oes
perpendiculares.
As componenetes x e y do gradiente podem ser obtidas com 2 convoluc~oes:
gx = hx f
gy = hy f
A magnitude do gradiente e
q
G = gx + gy
!
= arctan ggy
x
2
e a direcc~ao
2
Existem varias aproximac~oes digitais ao gradiente
gy =
(
;1
)
gx =
1
n
;1
1
o
Os vectores apresentados t^em o inconveniente de o gradiente car centrado num ponto
inexistente da imagem. Da adoptar-se normalmente:
Geral
Sobel
Prewitt
Roberts
8 9
>
< ;1 >
=
gy = > 0 >
: 1 0
;1 ;2
gy = B
@ 0 0
0 1 2
;1 ;1
B
gy = @ 0 0
1 1!
gy = ;01 10
1
0 C
A
1 1
;1
0 C
A
1
;1
gx =
n
;1
0 1
0
;1 0 1
gx = B
@ ;2 0 2
0 ;1 0 1
;1 0 1
B
gx = @ ;1 0 1
;1 0 !1
gx = 10 ;01
o
1
CA
1
CA
Os ltros de Roberts t^em tambem a desvantagem de o gradiente car centrado num ponto
inexistente.
~
6 CONVOLUCAO
13
Uma imagem f xy que contem apenas os contornos mais fortes de uma outra imagem
original pode ser obtida com
(
( G xy T
f xy = 255
0 ( G xy > T
onde G xy e a magnitude do gradiente centrado em (x,y) e T e um limite escolhido a partir
do qual o contorno e considerado forte.
(
)
(
(
)
(
)
(
)
)
(a)
(b)
Figura 8: Gradiente: Sobel. a) Imagem original. b) Imagem ltrada
Aproximac~ao digital ao Laplaciano
O Laplaciano e a 2a derivada de uma func~ao f xy . Como 2a derivada n~ao da informac~ao
sobre a direcc~ao dos contornos, mas indica se um determinado ponto esta no lado claro ou
no lado escuro de um contorno, podendo ser usado para determinar se um determinado
ponto pertence ou n~ao a um objecto (gura 9). Tem ainda a vantagem de ser calculavel
numa unica passagem.
(
)
Imagem
Gradiente
Laplaciano
Figura 9: Calculo do Laplaciano
Conclus~oes sobre o Laplaciano:
Em zonas planas e nulo
~
6 CONVOLUCAO
14
Cruza o zero, mudando de sinal, nos pontos em que o contorno e mais forte
E positivo nas zonas do contorno que est~ao na parte mais clara da imagem
E negativo nas zonas do contorno que est~ao na parte mais escura da imagem.
O Laplaciano tem o inconveniente de ser extremamente sensvel ao rudo.
As aproximaco~es digitais ao Laplaciano s~ao
2
3
0 ;1 0
64 ;1 4 ;1 75 para uma vizinhanca 4
0 ;1 0
2
3
;1 ;1 ;1
64 ;1 8 ;1 75 para uma vizinhanca 8
;1 ;1 ;1
E frequentemente usada uma combinac~ao do Laplaciano com o Gaussiano para controlar
o tamanho dos objectos cujos contornos se pretende detectar. Os contornos dos objectos
mais pequenos s~ao suavizados pelo Gaussiano e n~ao s~ao detectados pelo Laplaciano. A
combinac~ao dos dois e dada por
"
# "
#
1
x
+
y
x
+
y
r G xy =
exp ; 2
2 2 ; 2
2
(
)
4
2
2
2
2
2
Quanto mais pequeno for mais sensvel e o ltro a pequenos objectos e a rudo.
O Laplaciano, tal como apresentado, e usado para detectar contornos. Esta tecnica e
tambem usada frequentemente para realcar contornos (edge enhancement). A ideia e somar
o resultado do Laplaciano a imagem original. O ltro digital usado e
2
3
0
;1 0
64 ;1 5 ;1 75 para uma vizinhanca 4
0 ;1 0
2
3
;1 ;1 ;1
64 ;1 9 ;1 75 para uma vizinhanca 8
;1 ;1 ;1
6.3 Filtros n~ao-lineares
Os ltros discutidos dizem-se lineares porque e aplicavel o teorema da convoluc~ao. Existem
alguns ltros passa-baixo n~ao-lineares que realizam um bom trabalho na remoc~ao de rudo.
A moda consiste em escolher para o pixel central o valor que ocorre mais vezes na sua
vizinhanca m m.
~
6 CONVOLUCAO
15
Imaginemos uma janela 3x3 centrada num ponto
10 10 11 10 12 11 10 12 12 Aplicando a moda o ponto central toma o valor 10 pois este e o que ocorre mais vezes
naquela vizinhanca.
A mediana consiste em ordenar, por ordem crescente, todos os pontos da vizinhanca m m
do ponto central, e escolher para novo valor deste ponto o valor que ca no meio desta
sequ^encia ordenada. No exemplo anterior teramos
Sequ^encia ordenada f10, 10, 10, 10, 11, 11, 12, 12, 12g
logo o resultado da mediana e 11.
Este metodo elimina ecazmente o rudo, quando este consiste em picos fortes e isolados, e n~ao suaviza os contornos, sendo portanto mais ecaz do que a media (gura 10).
Tem o inconveniente de exigir a ordenac~ao dos valores dos tons exigindo maior poder de
computac~ao. Isto agrava-se com o aumento do tamanho da vizinhanca.
(a)
(b)
Figura 10: Filtragem com mediana. a) Imagem binarizada. b) Imagem ltrada
6.4 Outros metodos
Um metodo vulgarmente utilizado para eliminar rudo aleatorio numa sequ^encia de
imagens e utilizar, n~ao uma imagem, mas a media das ultimas k imagens. Como
o rudo e aleatorio este cara diludo pela media de varias imagens iguais no seu
conteudo mas com rudo em pontos diferentes. Este metodo exige que se disponha de
uma sequ^encia de imagens da mesma cena, n~ao serve para processamento em tempo
real (em que nenhuma frame pode ser despedicada) e n~ao tolera variaco~es bruscas na
imagem.
Com a detecc~ao de contornos pretende-se identicar todos os pontos que pertencem
ao contorno de um determinado objecto. Na pratica, os contornos detectados quase
~
7 SEGMENTACAO
16
nunca s~ao contnuos pois o rudo e a iluminac~ao n~ao-uniforme das cenas causam irregularidades no brilho da imagem. Os algoritmos de detecc~ao de contornos s~ao,
por isso, normalmente seguidos de tecnicas de ligac~ao dos contornos. Um exemplo
e a transformada de Hough (a estudar mais a frente) que permite detectar se varios
pontos formam guras geometricas como rectas, crculos, elipses, etc. Uma outra possibilidade e fazer uma analise local das caractersticas dos pixels identicados como
pertencendo a contornos. Todos os pontos que numa determinada vizinhanca apresentem uma magnitude e direcc~ao do gradiente similares s~ao unidos e considerados
como fazendo parte do mesmo contorno. Para vericar a similaridade da magnitude
e direcca~o dos gradientes utilizam-se as express~oes
G xy ; G x y T
xy ; x y A
(
)
(
(
)
(
0
0
0
)
0)
onde A e T s~ao limites de toler^ancia previamente escolhidos.
7 Segmentac~ao
A segmentac~ao e o processo de divis~ao da imagem nas suas partes constituintes (objectos).
Este e o primeiro passo no processo de encontrar, reconhecer ou contar objectos numa cena.
Esta fase n~ao inclui a detecc~ao ou reconhecimento de formas particulares mas apenas a
divis~ao da imagem em regi~oes distintas. A segmentac~ao e um dos elementos mais importantes na analise automatica de de imagens porque consiste na extracc~ao de objectos, ou
outras entidades, para processamento posterior, tal como reconhecimento ou descric~ao.
Os algoritmos de segmentac~ao baseiam-se geralmente em uma de duas propriedades basicas
das imagens: descontinuidade e similaridade. Na primeira categoria a imagem e segmentada em pontos onde o nvel de cinzento sofre alterac~oes bruscas. As principais areas de
aplicac~ao s~ao a detecc~ao de pontos isolados, linhas e contornos. As principais abordagens
na segunda categoria (similaridade) s~ao a binarizac~ao (thresholding), region growing e region splitting & merging. O nosso estudo vai basear-se essencialmente nesta categoria. A
similaridade entre dois pontos (ou duas regi~oes) duma imagem e baseada em propriedades
como o tom ou a textura.
A segmentac~ao pode ser aplicada a uma unica imagem ou a uma sequ^encia de imagens.
Neste ultimo caso o movimento pode ser utilizado como um dado que permite aumentar o
desempenho dos algoritmos.
7.1 Binarizac~ao
A binarizac~ao de uma imagem (thresholding) e uma das tecnicas mais importantes em
segmentac~ao. Basicamente pretende-se converter uma imagem com varios tons numa outra apenas com preto e branco. A imagem binarizada contem menos informac~ao (sendo
portanto mais facil de processar) e contem objectos ja segmentados.
Imagine uma imagem com o histograma apresentado na gura 11.
~
7 SEGMENTACAO
17
T
Figura 11: Histograma bimodal
Este corresponde a uma imagem composta por objectos claros num fundo escuro. Um
metodo obvio para extrair os objectos consiste em atribuir a todos os pixels com um valor
superior a um limite T o valor branco e a todos os pixels com valor inferior a T o valor
preto.
(
( f xy > T
b xy = 255
0 ( f xy T
(
)
(
)
(
)
Esta tecnica pode ser generalizada e englobar varias classes de objectos classicados de
acordo com o seu brilho. O histograma da gura 12 corresponde a uma imagem com fundo
escuro, alguns objectos mais brilhantes e objectos extremamente brilhantes.
T1
T2
Figura 12: Histograma n-modal
Podemos escrever uma func~ao de thresholding multinvel que considere as varias classes de
objectos.
b xy
(
)
8
>
< 255
= > 128
:0
(
(
(
f xy T
f xy T
f xy < T
(
)
2
(
)
1
(
)
1
Claro que esta func~ao pode ser estendida para considerar um numero arbitrario de nveis.
Este threshold multinvel e geralmente menos avel do que a binarizac~ao devido a diculdade em determinar os varios Ti que efectivamente isolam regi~oes de interesse. Este genero
de problemas, quando resolvidos com thresholding, s~ao normalmente processados usando
tecnicas de binarizac~ao adaptativa, que estudaremos posteriormente.
A selecc~ao do valor de T que proporciona a melhor segmentac~ao e o principal problema da
binarizac~ao. O erro neste processo e dado pela adic~ao do numero de pontos pertencentes
~
7 SEGMENTACAO
18
ao fundo que foram classicados como pertencentes ao objecto com o numero de pontos
pertencentes ao objecto que foram classicados como pertencendo ao fundo. O processo
de escolha do valor de T passa normalmente por varias tentativas. No entanto, quando
este processo n~ao pode ser interactivo, tem que ser encontrado um metodo automatico. O
histograma de imagens reais raramente apresenta 2 picos distintos e disjuntos associados
ao fundo e aos objectos. Os valores possveis para estas entidades sobrep~oem-se devido a:
Iluminac~ao irregular ao longo da cena (sombra, por exemplo)
N~ao uniformidade nos tons do fundo e objectos
Presenca de varios objectos diferentes
O valor de T pode ser calculado em func~ao do brilho v e contraste da imagem
T = k + v
Uma possibilidade e o estudo analtico do histograma para identicar mnimos ou pontos
onde a sua caracterstica muda signicativamente. Para um estudo mais aprofundado
consultar Gonzalez, p. 354: : : 368].
7.2 Binarizac~ao adaptativa
A binarizac~ao global n~ao considera variac~oes locais ao longo da imagem. A binarizac~ao
adaptativa e uma alternativa que calcula o valor de T para cada ponto individualmente,
de acordo com a media e desvio padr~ao da sua vizinhanca m m.
t ij = k ij + v ij
(
( f xy t ij
b xy = 225
0 ( f xy < t ij
(
(
)
)
(
)
(
)
(
)
(
)
(
)
(
)
Esta tecnica e, obviamente, mais pesada que a binarizac~ao global.
7.3 Operadores morfologicos
Apos a binarizac~ao os objectos encontrados podem necessitar de processamento adicional
para retirar, ou reduzir, irregularidades nos contornos, eliminar buracos no interior e remover rudo. Isto e conseguido por operac~oes conhecidas como eros~ao (thinning) e dilatac~ao
(growing). Estes s~ao 2 operadores conhecidos como morfologicos porque alteram a forma
das regioes.
Para erodir uma regi~ao todos os pontos pertencentes ao seu contorno s~ao alterados para
passarem a pertencer ao fundo. Remove-se assim uma camada de pontos ao objecto. Para
dilatar uma regiao procede-se ao contrario, isto e, acrescenta-se uma camada de pontos ao
contorno do objecto.
~
7 SEGMENTACAO
19
A eros~ao tem a vantagem de remover sali^encias e remover pequenas regi~oes isoladas que
poderao ser rudo. Tem no entanto o inconveniente de aumentar buracos no interior dos
objectos, reentr^ancias nos seus contornos e de poder separar suas partes do mesmo objecto
que se encontrem unidas por linhas nas.
(a)
(b)
(c)
(d)
Figura 13: Eros~ao. a) Imagem binarizada. b) Imagem ltrada (mediana) c) Imagem
dilatada d) Imagem erodida
A dilatac~ao tem a vantagem de eliminar reentr^ancias nos contornos e buracos no interior
dos objectos. Tem as desvantagens de realcar sali^encias, aumentar pequenas regi~oes que
poder~ao ser rudo e ligar dois objectos distintos que estejam muito proximos.
Para reduzir estas desvantagens usa-se normalmente uma qualquer combinac~ao destas 2
tecnicas. Se o objectivo e erodir um objecto e possvel dilata-lo primeiro para eliminar
pequenas reentr^ancias ou buracos e, seguidamente, erodi-lo duas vezes seguidas (gura
13).
Existem varios algoritmos para estas tecnicas. Uma possibilidade, para a eros~ao, e remover
qualquer ponto que tenha como vizinho um ponto do fundo. Da mesma forma, na dilatac~ao,
pode-se acrescentar ao objecto qualquer ponto do fundo que tenha como vizinho um ponto
do objecto.
A eros~ao parece dar melhores resultados eliminando apenas os pontos com menos de 6
~
7 SEGMENTACAO
20
vizinhos pertencentes ao objecto. Em Gonzalez p.398] e proposto um outro algoritmo
para a eros~ao com o qual se pretende determinar o esqueleto de um objecto. O algoritmo
a usar em cada situac~ao depende do m a atingir com as operac~oes morfologicas e deve ser
escolhido com base em experi^encias.
7.4 Textura
Todas as tecnicas ate agora estudadas usavam como descritor de uma regi~ao o seu brilho ou
contraste. Uma outra abordagem para a descric~ao de uma regi~ao e quanticar a sua textura.
Embora n~ao exista nenhuma denic~ao formal para a textura, esta e uma importante fonte
de informac~ao para a segmentac~ao. Intiuitivamente podemos ver a textura como uma
medida de propriedades como suavidade, aspereza e regularidade de uma superfcie.
Uma textura pode ser classicada como sendo de granularidade na (marmore) ou granularidade grossa (parede de tijolos) e como sendo regular (rede de pesca) ou aleatoria
(estrada de alcatr~ao).
Com o estudo da textura levanta-se o problema da escolha da resoluc~ao a considerar. A
imagem de uma estrada, por exemplo, apresenta uma textura com variac~oes quase ao nvel
do pixel enquanto uma parede de tijolos tem repetico~es de elementos com varias centenas
de pontos de tamanho. Da mesma forma, se o objectivo e distinguir 2 paredes de tijolos
feitos de materiais diferentes mas com o mesmo tamanho, e preciso considerar a textura
de cada tijolo individualmente, e n~ao da parede como um todo.
As 3 principais abordagens para descrever texturas s~ao:
modelo estrutural
modelo estatstico
modelo espectral
O modelo estrutural lida com elementos basicos da textura (texel). Idealmente estes elementos repetir-se-~ao ao longo da regi~ao. O modelo estatstico quantica caractersticas
como a suavidade, aspereza, granularidade, etc. O modelo espectral lida com as regi~oes no
domnio das frequ^encias espaciais.
Modelo estrutural
Este modelo lida com o conceito de uma primitiva da textura (texel). Esta primitiva e
um elemento xo que se repete numa area da imagem. E o caso de uma imagem com
gr~aos de cafe ou moedas, uma parede de tijolos ou uma rede de pesca. Para caracterizar
o elemento basico destas texturas pode-se usar uma func~ao de densidade ou uma imagem
com o elemento que se repete. A func~ao de densidade e particularmente util quando o texel
pode sofrer rotac~oes ou amplic~oes /reduc~oes.
O texel pode ser difcil de identicar quando a textura a analisar e muito complexa. Isto
ocorre, por exemplo, em problemas de cristalograa onde se pretende distinguir e/ou identicar varios cristais.
~
7 SEGMENTACAO
21
Modelo estatstico
Quando n~ao e possvel denir um elemento basico que identique a textura, e vulgar
recorrer-se ao modelo estatstico para quanticar algumas propriedades daquela superfcie.
Isto acontece quando a resoluca~o da textura e muito alta e/ou tem um arranjo pseudoaleatorio. Com o modelo estatstico tenta-se quanticar propriedades como a suavidade,
aspereza e regularidade da superfcie.
Uma das abordagens mais simples consiste em usar os momentos do histograma de uma
regi~ao para caracterizar essa regi~ao. Os dois momentos mais comuns s~ao a media (brilho) e
o desvio-padr~ao (contraste). A vari^ancia ( ) e uma medida directa da aspereza da regi~ao
e pode ser usada para construir uma medida de suavidade relativa
R = 1 ; 1 +1 que e 0 para regi~oes de intensidade constante e aproxima-se de 1 em regi~oes muito asperas.
2
2
As limitac~oes destas medidas e que n~ao cont^em informac~ao sobre a posic~ao relativa dos
pixels. Para analisar esta informac~ao devem-se considerar n~ao apenas as intensidades, mas
tambem a posic~ao dos pontos uns relativamente aos outros. Para tal constroi-se a matriz
de coocorr^encia A.
Para construir esta matriz dene-se um operador P (d ) que estabelece um deslocamento
d na direcc~ao .
θ
P (1, 3 Π/4)
d
Figura 14: Operador P (d )
A e uma matriz k k onde k e o numero de tons possveis na imagem. Cada elemento a ij
e o numero de vezes que um ponto com o tom i aparece na posic~ao especicada por P (d )
relativamente a um ponto com o tom j.
(
)
Considere a seguinte imagem 6x5 com 2 tons 0, 1 e o operador P (1 3=4). A matriz de
coocorr^encia correspondente e a apresentada
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
"
1
1
0
0
1
0
1
1
0
0
0
A = 10
0 10
0
0
1
1
0
#
~
7 SEGMENTACAO
22
O elemento a (canto superior esquerdo), por exemplo, representa o numero de vezes que
um elemento com o tom 0 aparece a dist^ancia 1 e a direita e abaixo de outro ponto com o
tom 0. E importante notar que o tamanho da matriz de coocorr^encia depende do numero
de tons. Para manter este tamanho dentro de limites manuseaveis e usual diminuir o
numero de tons possveis em cada imagem.
00
A matriz de coocorr^encia A n~ao caracteriza univocamente as texturas, mas a comparac~ao de
algumas medidas extradas destas matrizes ajuda a averiguar a similaridade de 2 texturas.
Por exemplo, a presenca de valores elevados na diagonal principal de A indica a presenca
de faixas na imagem com direcc~ao igual a e espessura inferior a d.
A matriz de coocorr^encia normalizada C pode ser obtida dividindo cada elemento de A
pelo numero de pares de pontos na imagem que satisfazem P (d )
C ij = anij
X
n = aij
(
)
ij
S~ao varias as medidas que podem ser extradas da matriz C
Probabilidade maxima max(cij )
Inercia Pi Pj (i ; j )k cij
Homogeneidade Pi Pj ic;j i 6= j
Entropia Pi Pj cij log(cij )
Energia Pi Pj cij
ij
(
)k
2
A ideia e caracterizar a textura usando estas medidas. Um aspecto interessante e que estas
n~ao t^em nenhuma correspond^encia psicologica, isto e, o observador humano n~ao reconhece
as variac~oes na textura que estas quantidades medem. Os valores tpicos destas medidas
para um conjunto de texturas podem ser fornecidos a um sistema, que posteriormente
identicara texturas de outras imagens por comparac~ao dos seus descritores com aqueles
armazenados em memoria.
Modelo espectral
Este modelo baseia-se no uso de tecnicas no domnio das frequ^encias espaciais. Se uma
textura e periodica no espaco ent~ao o espectro apresenta picos nas altas frequ^encias. A
posic~ao destes picos pode ser identicada e usada como um descritor de texturas. Este
tipo de texturas periodicas e, normalmente, difcil de detectar usando tecnicas espaciais
devido a localidade destes metodos. E frequente, para isolar estes picos, efectuar partic~oes
radiais ou angulares do espectro. Com estas partic~oes pretende-se isolar as frequ^encias que
descrevem a textura. As partic~oes radiais s~ao utilizadas quando n~ao existe uma direcc~ao
associada a textura (gura 15).
O modelo espectral tem 2 caractersticas uteis para a descric~ao de texturas:
~
7 SEGMENTACAO
23
Figura 15: Partic~oes do espectro
Os picos mais proeminentes no espectro representam a direcc~ao principal dos padr~oes
das texturas e a sua localizac~ao no plano das frequ^encias indica o perodo espacial
destes padr~oes.
A remoc~ao das componentes periodicas (por ltragem) resulta numa imagem sem
elementos periodicos que pode depois ser descrita usando tecnicas estatsticas.
7.5 Segmentac~ao baseada em regi~oes
O objectivo da segmentac~ao e subdividir a imagem em regi~oes. Foi sugerido que uma
imagem pode ser dividida em varias regi~oes aplicando um thesholding multinvel. Esta
tecnica pode resultar num grande numero de regi~oes irregulares, que n~ao correspondem
a nenhuma caracterstica importante da imagem. Nesta secc~ao vamos procurar regi~oes
baseados nas propiedades locais dos pixels. A ideia e que todos os pontos de uma regi~ao
devem ter uma (ou mais) propriedade(s) comum(s), seja ela brilho, textura, gradiente, etc.
Seja R a imagem. A segmentac~ao pode ser vista como o processo de subdividir a imagem
em subregi~oes R , R : : :Rn tais que
1
1.
2.
3.
4.
5.
2
Sn R = R
i
i
Ri e uma regi~ao conectada
Ri \ Rj = P (Ri) = TRUE
P (Ri) P (Rj ) = FALSE se Ri e Rj s~ao conectadas.
=1
A condica~o 1 indica que a segmentac~ao deve ser completa, isto e, qualquer pixel da imagem
original pertence a uma regi~ao. Juntamente com a condic~ao 3 garantimos que cada pixel
pertence a uma e uma so regi~ao e que todos os pixels pertencem a uma regi~ao. A condic~ao
2 garante que todos os pontos numa regi~ao est~ao conectados. A condic~ao 4 assegura as
propriedades que devem ser satisfeitas pelos pontos para pertencerem a mesma regi~ao.
Um exemplo e dizer que P (Ri) = TRUE se todos os pontos naquela regi~ao t^em a mesma
intensidade. A condic~ao 5 indica que, se 2 regi~oes s~ao contguas, ent~ao t^em que ser diferentes
relativamente a propriedade P.
Region growing by pixel aggregation
~
7 SEGMENTACAO
24
Esta tecnica agrupa pixels ou subregi~oes em regi~oes maiores. Comecando por um conjunto
de pontos semente seed a regi~ao cresce, agregando pontos vizinhos que tenham propriedades
similares (brilho, textura, gradiente, etc.). Este processo repete-se ate que n~ao seja possvel
agregar mais pontos a regi~ao.
As propriedades a considerar para a condic~ao de agregac~ao podem ser varias. Um exemplo
e a diferenca absoluta entre o valor do pixel a agregar e o valor do ponto semente n~ao
ultrapassar um limite T. Outras caractersticas, como o gradiente, podem tambem ser
consideradas.
Psemente ; P xy T
(
)
Os dois problemas mais imediatos com esta tecnica s~ao a selecc~ao de pontos semente
adequados e a escolha das propriedades a considerar para a condic~ao de agregac~ao.
A escolha dos pontos iniciais e dependente da natureza do problema. Se se sabe a priori
que o objecto e claro e o fundo escuro, ent~ao podem ser escolhidos como sementes o ponto
mais escuro e o ponto mais claro. Se n~ao existe qualquer ideia sobre como distinguir
claramentre os objectos e possvel calcular, para todos os pontos, as mesmas propriedades
que est~ao associadas a condic~ao de agregac~ao. Se os resultados deste calculo apresentarem
blocos de valores, ent~ao os pontos no centro destes blocos podem ser usados como pontos
semente. Note que n~ao e desperdicado tempo de computac~ao pois no processo de agregaca~o
as propriedades n~ao precisam de ser recalculadas, ja est~ao disponveis.
A condic~ao de agregaca~o pode ser estatica ou evoluir com a regi~ao. E possvel, por exemplo,
utilizar sempre as propriedades dos ultimos pontos agregados em vez das propriedades do
ponto-semente. Outro factor importante e a condic~ao de paragem. Basicamente o processo
de agregac~ao termina quando mais nenhum ponto satisfaz a condic~ao de agregac~ao. No
entanto, se existir algum conhecimento sobre os resultados esperados, o criterio de paragem
pode ser enriquecido com informac~ao sobre o tamanho da regi~ao, forma da regi~ao, brilho
da regi~ao, etc.
Region splitting & merging
O metodo anterior comeca com um ponto e constroi a regi~ao a partir da. Uma alternativa
e comecar com toda a imagem e subdividi-la em subregi~oes regulares de acordo com um
conjunto de regras. Estas subregi~oes podem ser ainda subdivididas (se n~ao s~ao homogeneas
relativamente a um conjunto de propriedades) ou reunidas de novo se s~ao similares.
O metodo mais vulgar consiste em dividir a imagem em 4 quadrantes. Para cada um destes
quadrantes e estudada a sua homogeneidade relativamente a condic~ao P. Os quadrantes n~ao
homogeneos s~ao subdivididos de novo, e assim sucessivamente ate que n~ao sejam necessarias
mais subdivis~oes. Nesta fase unem-se regi~oes contguas que sejam similares relativamente
a mesma condica~o P (gura 16).
7.6 Movimento
O movimento e frequentemente utilizado pelos humanos e outros animais para extrair
objectos de interesse de um fundo com pormenores irreleventes. Numa sequ^encia de ima-
~
7 SEGMENTACAO
25
R1
R2
Figura 16: Region splitting & merging
gens o movimento deriva de um deslocamento relativo entre os sensores (c^amera) e a cena
visualizada.
Uma das aproximac~oes mais simples para detectar variac~oes entre duas imagens adquiridas
em instantes de tempo diferentes, ti e tj , e subtra-las ponto-a-ponto, obtendo a imagem
diferenca. Supondo que temos uma imagem refer^encia que contem apenas elementos estacionarios, podemos detectar objectos em movimento subtraindo uma imagem posterior
a esta imagem refer^encia. Na imagem diferenca resultante todos os objectos estacionarios
foram anulados, cando apenas as regi~oes que apresentam caractersticas diferentes, supostamente devido a movimento. A imagem diferenca pode ser obtida calculando
(
jr xy ; f xy j T
d xy = 10 (
( jr xy ; f xy j < T
(
)
(
)
(
)
(
)
(
)
onde T e um limite de toler^ancia previamente escolhido.
Esta tecnica pode ser aplicada usando uma imagem refer^encia ou a imagens sucessivas. A
gura 17 ilustra o resultado da aplicac~ao desta tecnica a duas imagens sucessivas com um
objecto em movimento. A imagem diferenca apresenta 2 regi~oes: uma correspondente
a zona para onde o objecto se deslocou, outra correspondente a zona que o objectou
abandonou.
Figura 17: Objecto em movimento
O uso de uma imagem diferenca levanta varios problemas. Primeiro a diferenca entre 2
imagens nunca e exacta devido ao rudo. Assim a imagem diferenca apresentara pontos
diferentes de zero que n~ao correspondem a movimento. Como, provavelmente, estes ser~ao
pontos isolados, ou pequenos blocos de pontos, podem ser posteriormente removidos por
ltragem (mediana?) mas isto pode resultar na remoc~ao de informac~ao relativa a pequenos
objectos ou objectos em movimento lento. A imagem diferenca entre 2 imagens sucessivas
contem, por objecto, 2 zonas de pontos, como ja foi visto. Quando existem muitos objectos
~
7 SEGMENTACAO
26
em movimento e difcil agrupar estas zonas em pares que realmente correspondem ao mesmo
objecto. Se um objecto se desloca muito lentamente, ent~ao cada um destes blocos pode
ser extremamente no (e por isso sensvel ao processo de ltragem) ou o movimento pode
n~ao ser detectado entre alguns pares de imagens, levando ao desaparecimento virtual (mas
temporario) daquele objecto.
O uso de uma imagem refer^encia, que contem apenas objectos estacionarios, levanta outros
problemas. N~ao e facil conseguir uma imagem sem movimento duma cena com muito
trafego (por exemplo uma rua muito concorrida), portanto a propria imagem de refer^encia
pode ser impossvel de obter. Uma vez obtida, coloca-se o problema de decidir quanto
tempo e que pode ser usada. Se pensarmos numa avenida da qual conseguimos uma
imagem sem qualquer objecto em movimento (obtida de madrugada, por exemplo), sera
que a podemos usar durante todo o dia? E necessario pensar que as condic~oes de iluminac~ao
v~ao mudar, v~ao existir veculos estacionados que n~ao est~ao em movimento mas tambem n~ao
est~ao contidos na refer^encia, etc. Daqui se conclui que a utilizac~ao de imagens consecutivas
ou imagens de refer^encia depende da natureza da propria aplicaca~o.
Diferencas acumuladas
O uso de uma imagem diferenca sofre de alguns inconvenientes como o facto de ser muito
sensvel ao rudo. Este problema e ultrapassado usando imagens de diferencas acumuladas.
Cada imagem da sequ^encia e subtrada a imagem refer^encia e um contador por cada pixel
e incrementado na imagem de diferencas acumuladas sempre que existe uma diferenca
signicativa entre aquele pixel na imagem e o pixel correspondente na refer^encia. Assim
quando a k-esima imagem da sequ^encia esta a ser processada, a imagem acumulada indica
quantas vezes cada pixel foi diferente da imagem refer^encia. Consegue-se assim ignorar
variac~oes esporadicas na imagem.
1
1
1
1
1
1
1)
1
1
1
1
3
3
3
3
2
2
1
3
2
1
2
1
1
2
3
2
1
1
2
2
1
1
1
1
2)
2
2
2
2
1
1
2
1
1
1
2
1
2
2
1
1
1
1
3)
4)
Figura 18: Diferencas acumuladas
Em certas aplicac~oes e util considerar 3 tipos de diferencas acumuladas. O metodo estudado
ate agora lida com o valor absoluto da diferenca entre a refer^encia e a imagem actual,
sendo por isso designado por AADI (Absolute Accumulative Dierences Image). Quando
~ DE FORMAS
8 DETECCAO
27
os objectos t^em um valor mais elevado que o fundo dene-se PADI (Positive ADI) como
sendo o metodo que apenas incrementa os contadores quando a diferenca entre os pontos
e positiva. NADI (Negative ADI) e o metodo oposto, os contadores so s~ao incrementados
quando a difrenca entre os pontos e negativa. Quando o fundo e mais claro que os objectos
estas denic~oes invertem-se.
3
3
3
3
2
2
1
3
2
1
2
1
1
2
3
2
1
1
2
2
1
1
1
1
3
3
3
3
2
2
1
3
2
1
2
1
2
3
2
1
1
2
2
1
1
1
1
1
Figura 19: AADI, PADI e NADI
O PADI tem a caracterstica de apenas crescer enquanto o objecto esta parcial ou totalmente sobreposto com a sua posic~ao na imagem refer^encia. Quando o objecto se desloca completamente da sua posic~ao inicial o PADI n~ao regista mais variac~oes. O NADI
comporta-se exactamente ao contrario, apenas registando alterac~oes nas zonas n~ao ocupadas inicialmente pelo objecto (gura 19).
Imagem refer^encia
A chave para o sucesso das tecnicas descritas dependem da exist^encia de uma imagem de
refer^encia com a qual possam ser feitas comparac~oes. Na pratica nem sempre e possvel
conseguir uma imagem de refer^encia apenas com elementos estacionarios e esta tem que
ser construda a partir de uma sequ^encia de imagens que cont^em objectos em movimento.
Isto e particularmente verdadeiro quando se processam cenas com muito movimento ou
que precisam de actualizac~oes frequentes.
Descreve-se a seguir uma aproximac~ao simplicada para construir uma imagem de refer^encia a partir da primeira imagem de uma sequ^encia. Quando um objecto em movimento se desloca completamente para fora da sua posic~ao nesta primeira imagem, o fundo
correspondente a essa posic~ao inicial pode ser obtido da imagem actual e substitudo na
imagem refer^encia. Quando todos os objectos se tiverem deslocado da sua posic~ao inicial
a imagem de refer^encia deve conter apenas elementos estacionarios. O deslocamento dos
objectos pode ser estabelecido monitorizando o crescimento do PADI. Esta e uma aproximac~ao simplicada porque quando um objecto em movimento se desloca da sua posic~ao
inicial, outro objecto qualquer pode estar a entrar nessa zona dicultando a obtenc~ao dessa
regi~ao do fundo.
8 Detecc~ao de formas
As tecnicas discutidas nesta secc~ao destinam-se a detectar numa imagem formas previamente conhecidas. Vamos distinguir duas tecnicas diferentes: numa esta disponvel um
~ DE FORMAS
8 DETECCAO
28
template da forma que se pretende encontrar, na outra disp~oe-se de uma descric~ao matematica da forma a encontrar (caso de rectas, por exemplo).
8.1 Template matching
Este e um metodo de ltragem muito popular com o qual se pretende detectar um objecto
em particular numa imagem. O ltro e uma sub-imagem que contem o objecto a detectar
(ou parte dele) e e designado por template.
template
Figura 20: Template matching
O metodo consiste em subtrair o ltro a uma subregi~ao da imagem centrando-o num
determinado pixel. Para esta subtracc~ao usa-se habitualmente a dist^ancia Euclidiana d
dada por
i
XXh
d ij =
I xy ; t x;iy;j
2
(
2
)
x y
(
)
(
)
onde x e y s~ao as dimens~oes do template. Esta operac~ao e repetida centrando o template
em todos os pontos da imagem. O resultado da subtracca~o e zero quando a regi~ao da
imagem a que o ltro esta a ser a ser aplicado e exactamente igual ao ltro. Na pratica
o resultado nunca sera exactamente 0 devido ao rudo, diferentes condic~oes de iluminac~ao
e diferencas entre o objecto a detectar e o template. A abordagem a seguir consiste em
procurar mnimos na matriz bidimensional resultante do calculo da dist^ancia Euclidiana
(designada por superfcie de correlac~ao). Se estes mnimos estiverem dentro de um limite
de toler^ancia previamente estabelecido, ent~ao o objecto esta encontrado.
Este metodo e computacionalmente muito pesado e extremamente sensvel a rotac~oes e
diferencas de escala entre o objecto a detectar e o template.
Pir^amide de resoluc~ao
A resoluc~ao da imagem original pode n~ao ser a mais indicada para procurar objectos ou
contornos. Quando a resoluc~ao da imagem e demasiado grande a aplicac~ao de tecnicas
como o template matching torna-se demasiado pesada. E mais eciente localizar primeiro
o objecto numa imagem com menor resoluc~ao e, posteriormente, renar o resultado obtido
~ DE FORMAS
8 DETECCAO
29
passando para a imagem de maior resoluc~ao. Este processo introduz a noc~ao de pir^amide
de resoluc~ao.
64x64
128x128
256x256
Figura 21: Pir^amide de resoluc~ao
Esta imagem pode ser obtida achando a media de cada 4 pixels e gerando, a partir da, um
novo ponto na imagem com menor resoluc~ao. Este processo pode ser repetido varias vezes
dando origem a uma pir^amide com varios nveis. O algoritmo de detecc~ao de formas pode
ser aplicado a imagem de menor resoluc~ao e o valor obtido pode ser renado progredindo
na direcc~ao da base da pir^amide.
8.2 A transformada de Hough
Esta transformada permite encontrar linhas numa imagem. As linhas podem estar em
qualquer posic~ao e com qualquer orientac~ao. Inclusivamente podem ter descontinuidades
devidas a rudo, ou estar parcialmente invisveis devido a sobreposic~ao de outros objectos.
A ideia e procurar pontos colineares e, dependendo do seu numero, decidir se pertencem
ou n~ao a uma linha.
A estrategia a seguir consiste em para cada ponto, n~ao pertencente ao fundo, calcular todas
as rectas que podem passar por ele. A equac~ao da recta e y = mx + b onde m e o declive
e b a ordenada na origem. Se dispusermos de uma matriz bidimensional H cujos eixos
sejam m e b, inicializada a 0, podemos para cada ponto (x y) da imagem calcular os pares
(m b) de todas as rectas que passam por esse ponto, e incrementar na matriz H todas
as celulas cujos ndices sejam os pares calculados. Depois de todos os pontos processados
cada celula da matriz H indica o numero de pontos da imagem que pertencem a recta
com os par^ametros (m b). Escolhendo apenas as celulas da matriz H com valores mais
elevados temos determinadas as rectas mais fortes da imagem, cujos par^ametros (m b) s~ao
os ndices dessas celulas.
O problema com o processo descrito e que tanto m como b podem variar ate ao innito,
n~ao sendo possvel conceber uma matriz que possa representar este espaco. Mas usando
coordenadas polares temos a equac~ao da recta
= x cos + y sin ~ DE FORMAS
8 DETECCAO
30
ρ
θ
Figura 22: Coordenadas polares
Os valores entre os quais e podem variar s~ao limitados, logo a tecnica atras descrita
pode ser implementada usando uma matriz bidimensional H cujos eixos s~ao e . N~ao e
possvel, por motivos obvios, calcular todas as rectas que passam num ponto (x y), mas
variando com um passo adequado e possvel calcular um grande numero de rectas que
passam em cada ponto e, portanto, obter varios pares (
).
A matriz H tem o aspecto apresentado na gura 23. Cada linha corresponde a todas as
rectas que passam num ponto presente na imagem. Os pontos com as coordenadas (
)
onde duas ou mais linhas se cruzam correspondem a rectas para as quais existem varios
pontos colineares na imagem original. Quanto maior o numero de linhas que se cruzam
nas coordenadas (
) mais pontos colineares existem pertencentes a essa recta.
ρ
θ
max θ
Figura 23: Transformada de Hough
Normalmente a transformada de Hough e aplicada a imagens que foram pre-processadas
de modo a que na imagem so estejam presentes pontos que possam corresponder a caractersticas relevantes. Isto porque esta transformada e um algoritmo bastante pesado. O
caso mais comum consiste em aplicar um algoritmo de detecc~ao de contornos (ex. gradiente)
e aplicar posteriormente a Transformada de Hough, quer para eliminar descontinuidades
destes contornos, quer para reconhecer a forma dos mesmos.
Esta transformada pode ser aplicada a uma variedade de outras formas geometricas, como
por exemplo crculos, com a equac~ao
(x ; a) + (y ; b) = r
2
2
2
~ DE FORMAS
9 DESCRICAO
31
seguindo a abordagem descrita. A pricinpal diferenca e que agora temos 3 par^ametros em
vez de dois, logo a matriz H deve ser tridimensional. Outras guras possveis s~ao:
Parabola: (y ; yr ) = 4Sx (x ; xr)
Elipse:
y;y )2
S2
(
r
y
+
x;x )2
S2
(
r
x
=1
9 Descric~ao de formas
Depois de uma imagem ter sido segmentada em regi~oes com signicado e usual representar
e descrever estas regi~oes de uma forma adequada para futuro processamento. Este processamento consiste, normalmente, em identicac~ao ou comparac~ao de formas, pelo que n~ao e
necessario armazenar toda a imagem, mas apenas os objectos de interesse, conseguindo-se
assim a vantagem adicional de poupar espaco de armazenamento. Basicamente existem
duas possibilidades para descrever uma regi~ao: descrever o seu contorno, ou descrever o
seu conteudo. Vamos limitar o nosso estudo a algumas tecnicas de descric~ao baseadas em
contornos. Uma caracterstica importante para estas tecnicas de descric~ao e que devem ser
o mais insensveis que f^or possvel a variac~oes de tamanho e rotac~oes.
9.1 Chain code
Esta tecnica baseia-se no uso de identicadores para caracterizar a direcc~ao dos contornos.
O numero de identicadores usados depende da conectividade considerada (ver gura 24).
1
2
3
0
2
4
0
7
5
3
1
6
Figura 24: Identicadores para chain codes
O chain code e gerado comecando por um ponto do contorno do objecto (normalmente o
ponto mais acima e a esquerda) e avancando ao longo do contorno. A direcc~ao do movimento de um ponto para outro e armazenada, construindo-se assim a sequ^encia designada
por chain code. O processo repete-se ate que se regresse ao ponto de partida (gura 25). O
algoritmo usado para caminhar ao longo do contorno deve ser cuidadosamente escolhido.
O ideal e procurar o proximo ponto directamente a esquerda da direcc~ao de entrada no
ponto actual (quando o passeio ao longo do objecto e feito na direcc~ao dos ponteiros do
relogio) e depois procurar sucessivamente nas outras direcc~oes (mais uma vez no sentido
dos ponteiros do relogio) ate ser encontrado um ponto que pertenca ao contorno.
Na pratica e inaceitavel considerar todos os pontos do contorno por duas raz~oes: a sequ^encia
resultante e demasiado grande e demasiado sensvel a pequenas irregularidades existentes
~ DE FORMAS
9 DESCRICAO
32
no contorno (rudo?). A alternativa e gerar o chain code avancando de n em n pontos de
cada vez.
O chain code gerado e dependente do ponto inicial e e sensvel a rotac~oes do objecto.
Para obter uma sequ^encia insensvel a rotac~oes pode-se normalizar o chain code, usando
a diferenca entre cada duas direcc~oes sucessivas em vez do proprio codigo das direcc~oes.
Esta diferenca e calculada contando o numero de direcc~oes que separam dois elementos
sucessivos da sequ^encia (no sentido contrario aos ponteiros do relogio). Para o primeiro
elemento calcular a diferenca entre o ultimo e o primeiro elementos da sequ^encia n~ao
normalizada. O ponto de incio da sequ^encia pode ser redenido rodando a sequ^encia
normalizada ate que esta forme o menor inteiro possvel.
0
1
2
1
0
3
rotacao 90
30
1
3
1
2
chain code :
0
3
0
0
3
1
2
1
2
3
2
2
0330322111
0003223211
normalizado : 3 3 0 1 3 3 0 3 0 0
3003301330
rodado :
0033013303
0033013303
Figura 25: Chain codes
9.2 Assinaturas
Uma assinatura e uma representac~ao unidimensional de um contorno. Existem varios
metodos para gerar assinaturas. Independentemente do metodo usado a ideia e obter uma
representac~ao unidimensional que e mais simples que o contorno bidimensional original.
Uma das assinaturas mais simples consiste em representar a dist^ancia dos pontos do contorno a um ponto central do objecto em func~ao de um a^ngulo (gura 26). Esta representac~ao e invariante com a rotac~ao, a menos de uma rotac~ao horizontal do graco.
Um outro metodo para gerar uma assinatura e considerar o ^angulo formado por 3 pontos sucessivos do contorno (gura 27). Este a^ngulo deve ser medido sempre na mesma
direccc~ao.
9.3 Aproximac~ao poligonial
O contorno de qualquer objecto pode ser representado, com a precis~ao desejada, por um
polgono. Uma descric~ao exacta e conseguida quando o numero de lados do polgono e
igual ao numero de pontos do contorno, de tal forma que cada par de pontos adjacentes
~ DE FORMAS
9 DESCRICAO
r
33
r
θ
r
θ
r
π/2
π
θ
2π
3π/2
θ
Figura 26: Assinatura em func~ao da dist^ancia
Ψ
270
180
90
Figura 27: Assinatura em func~ao do a^ngulo
dene um segmento de recta. O que se pretende, no entanto, e determinar um polgono
que d^e uma aproximac~ao ao contorno do objecto.
d
f
a
1. [a b]
2. [a c b d]
3. [a e c b f d]
4. ...
b
e
c
Figura 28: Aproximac~ao poligonial
Descreve-se a seguir um metodo iterativo para obter uma aproximac~ao poligonial (consultar
gura 28):
1. Calcular uma linha que une dois extremos (a,b)
2. Determinar os dois pontos (c e d) que est~ao mais afastados do segmento ab], um de
cada lado deste segmento. Formar o polgono acbd].
~ DE FORMAS
9 DESCRICAO
34
3. Se nenhum ponto do contorno esta mais afastado do polgono ate agora encontrado
do que um determinado limite T, ent~ao terminar.
4. Para cada segmento do polgono determinar se existe um ponto do contorno que
esteja mais afastado dele que o limite T, mas n~ao esta mais perto de nenhum outro
segmento do polgono. Caso estes pontos existam ent~ao o polgono e estendido para
os incluir.
5. Regressar ao passo 3
Cada iterac~ao deste algoritmo resulta num polgono cada vez mais proximo do contorno
do objecto em quest~ao. A precis~ao do algoritmo depende do par^ametro T, que e a maxima
dist^ancia que qualquer ponto do contorno pode ter relativamente ao segmento do polgono
que esta mais proximo dele. O nosso exemplo poderia resultar num polgono como o da
gura 29.
g
1. [a b]
2. [a c b d]
3. [a e c b f d]
4. ...
d
f
a
j
i
n. [a e i c h b f j d g]
b
e
c
h
Figura 29: Aproximac~ao poligonial com grande precis~ao
9.4 Esqueleto
Para representar a estrutura de uma regi~ao podemos reduzi-la a um grafo. Isto e conseguido
usando tecnicas de eros~ao. Em Gonzalez e proposto um algoritmo de eros~ao vocacionado
para a esqueletizac~ao de objectos. Uma outra abordagem para determinar o esqueleto
consiste em calcular a Medial Axis Transform (MAT). Para cada ponto p da regi~ao e
calculado o conjunto de pontos do contorno que est~ao mais perto de p. Se este conjunto
tiver mais do que um elemento, ent~ao p pertence ao contorno. Este algoritmo e muito
agradavel de um ponto de vista conceptual, mas e computacionalmente proibitivo, porque
implica o calculo da dist^ancia de todos os pontos da regi~ao a todos os pontos do contorno.
~ DE FORMAS
9 DESCRICAO
35
Figura 30: Esqueletos de varias regi~oes
Refer^encias bibliogracas
Gonzalez, Rafael and Wintz, Paul. Digital Image Processing. Addison-Wesley Publishing. 2a edic~ao. 1987
Storer, Richard and Morgan, Andy. Introduction to Image Processing & Computer
Vision. Universidade do Minho. 1991