Você está na página 1de 12

Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002. p.292-303.

O PROCESSO DE DETECO DE BORDAS DE CANNY:


FUNDAMENTOS, ALGORITMOS E AVALIAO EXPERIMENTAL
GIOVANE MAIA DO VALE
ALUIR PORFRIO DAL POZ

Universidade Estadual Paulista - Unesp


Faculdade de Cincias e Tecnologia - FCT
Departamento de Cartografia, Presidente Prudente - SP
{gmvale, aluir}@prudente.unesp.br

RESUMO: Este artigo descreve e discute os fundamentos tericos e os aspectos algortmico e


computacional do processo de deteco de bordas de Canny. Baseia-se em dois critrios bsicos de
desempenho, i.e., os critrios de deteco e localizao. Estes dois critrios esto sujeitos ainda a um
terceiro, conhecido como injuno de resposta mltipla, que fora o processo deteco a detectar uma
nica borda onde existe somente uma borda verdadeira. O principal objetivo do trabalho de Canny o
desenvolvimento de um detector timo para o tipo de bordas mais comum em imagens digitais, i.e., as
bordas tipo degrau. Um das principais constataes de Canny que o operador timo encontrado muito
semelhante funo gerada pela primeira derivada da funo Gaussiana. Em complemento a este
operador, so tambm propostos um processo conhecido como supresso no mxima, que tem por
funo principal o afinamento das bordas, e um outro processo conhecido como histerese e que se baseia
numa dupla limiarizao, cuja funo a de eliminar a fragmentao das bordas causada pelo rudo da
imagem. Este trabalho apresenta, alm dos aspectos tericos e computacionais acima mencionados,
tambm alguns resultados experimentais obtidos com imagens sintticas e reais.

ABSTRACT: This paper describes and discusses the theoretical fundamentals and the computational and
algorithmic aspects of the Canny edge detection process. It is based on two basic performance criteria,
i.e., the detection and localization criteria. Both criteria must be still under a third one, which is known as
the multiple response constraint and enforces the edge detection process to detect single edge where there
is only one true edge. The major goal of Canny work is the development of an optimal detector for the
most common edge occurrence in digital images, i.e., the step edges. One of most important finding of
Canny is that the optimal operator found is very similar to the first derivative of the gaussian function. In
complement to this operator, it is proposed two processes that are known as the nonmaximum suppression
and the hysteresis. The goal of the nonmaximum suppression is the edge thinning, which allows the
detected edges to be one-pixel width. The hysteresis is based on a double thresholding and its goal is to
eliminate edge fragmentation due to the image noisy. This paper also presents, in addition to the
theoretical and computational aspects above mentioned, some experimental results obtained with
synthetic and real images.

1 INTRODUO detectadas e, por conseqncia, detecta-se tambm o


rudo, que uma forma indesejvel de variao. Para que
As bordas constituem informao de alta as bordas esprias no sejam ento detectadas, deve-se
freqncia e encerram propriedades significativas de uma suavizar a imagem antes da deteco. Contudo, existem
imagem. Estas propriedades incluem descontinuidades efeitos inoportunos ligados suavizao, i. e., perda de
fotomtricas, geomtricas e as caractersticas fsicas dos informao e deslocamento de estruturas de feies
objetos. Tais propriedades do objeto so passadas proeminentes no plano da imagem. Alm disso, existem
imagem pois, variaes pertinentes ao objeto ocasionam diferenas entre as propriedades dos operadores
variaes nos tons de cinza da imagem. diferenciais comumente utilizados, o que ocasiona bordas
Para que se obtenha resultados acurados nos diferentes. Logo, difcil formular um algoritmo de
passos subsequentes deteco das bordas, necessrio deteco de bordas que possua um bom desempenho em
que esta deteco seja eficiente e confivel. A fim de que diferenciados contextos e capture os requisitos
as variaes dos tons de cinza sejam detectadas (bordas) necessrios aos estgios subsequentes de processamento
necessrio diferenciar a imagem. Quando a imagem (Ziou e Tabbone, 1997). Consequentemente, no tocante
diferenciada, as variaes dos nveis de cinza so ao processamento de imagem digital, uma variedade de

G. Vale; A.. Dal Poz


Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002.
detetores de bordas tem sido desenvolvidos visando sinal/rudo, este critrio eqivale a maximizar a razo
diferentes propsitos, com formulaes matemticas sinal/rudo.
diferenciadas e com propriedades algortmicas distintas. Maximizar a razo sinal/rudo implica em
Com base nos problemas acima mencionados, minimizar o rudo.
Canny (1986), desenvolveu um processo de deteco de
bordas a partir de critrios de quantificao de 2) Localizao:
desempenho de operadores de bordas conhecidos como:
critrio de deteco e critrio de localizao. Estes Pontos de borda devem estar bem localizados, isto
critrios de desempenho ainda esto sujeitos ao critrio de a distncia entre os pontos extrados pelo detetor e o
resposta mltipla, que corresponde ao fato de que deve "centro" verdadeiro da borda deve ser minimizada.
haver, na sada do operador, uma nica resposta para uma
nica borda. Para que os critrios sejam aproximadamente 3) Resposta:
atendidos, Canny aproxima o operador timo, obtido a
partir dos trs critrios de desempenho, pela primeira O detetor de borda no deve identificar mltiplos
derivada da funo Gaussiana. Em complemento a este pixels de borda onde existe um nico, ou seja, deve-se
operador, foi proposto um processo chamado supresso obter uma nica resposta para uma nica borda.
no mxima (supresso de valores de pixels que no Este critrio est implicitamente contido no 1
forem mximos locais na direo transversal borda), que critrio pois quando ocorrem duas respostas para uma
causaria um afinamento da borda, atendendo injuno mesma borda, ento, uma dever ser considerada falsa.
de resposta mltipla, e uma limiarizao adaptativa Contudo, a formulao matemtica do 1 critrio
(histerese) com complementao de bordas, para no engloba necessariamente a questo de resposta
eliminar a fragmentao dos contornos das bordas. mltipla, sendo necessrio explicit-la.
Este trabalho tem por motivao a discusso de
aspectos tericos e computacionais do processo de 2.1 Deteco e Localizao
deteco de bordas de Canny. A seo 2 apresenta a
definio e o desenvolvimento dos critrios de Teoricamente estabelecidas as metas de
desempenho. A deduo do filtro timo a partir dos desempenho de um detetor de bordas, o que se quer agora
critrios de desempenho, apresentada na seo 3. A sintetiz-las matematicamente de modo a se tornarem
justificativa da aproximao do filtro timo pela primeira uma ferramenta aplicvel. Sem perda de generalidade, os
derivada da funo Gaussiana encontra-se na seo 4. Na sinais sero trabalhados de forma unidimensional, pois o
seo 5 encontram-se aspectos pertinentes estimao do comportamento das bordas anlogo para o caso
rudo e limiarizao. A seguir, na seo 7 so bidimensional, exceto no caso da ocorrncia de quinas.
apresentados os aspectos algortmico e computacional. As A filtragem de uma borda ruidosa com o filtro da
consideraes finais so apresentadas na seo 8. figura 1a) (operador diferena), d origem a um sinal
filtrado que apresenta muitos mximos locais
2 CRITRIOS DE DESEMPENHO (serrilhamento). Porm, quando a borda filtrada com o
filtro mostrado na figura 1b), o que se obtm um sinal
Dada sua importncia, os detetores de borda (step filtrado mais suave (Canny, 1986).
edge detectors) fazem parte de muitos sistemas de viso
computacional. Suas aplicaes so incontveis e uma de f(x)
suas principais caractersticas a de reduzir drasticamente
a quantidade de dados a serem processados, preservando
a)
informaes estruturais importantes sobre a fronteira dos x
objetos.
Qualquer que seja o detetor e a tcnica envolvida,
necessrio que este atenda trs critrios bsicos g(x)
(Canny, 1986), a saber: b) x

1) Taxa de Erro: (SNR)

As bordas que ocorrem na imagem no devem ser Figura 1 Filtros diferenciais


confundidas e no se deve detectar bordas falsas, ou seja,
o detetor deveria ter baixa probabilidade de: Em seu trabalho, Canny (1986) explicita que as
Falhar ao detectar pontos de borda bordas devem ser consideradas como um mximo local no
verdadeiros; resultado da filtragem (figura 2). Por este motivo, o filtro
detectar, falsamente, pontos no pertencentes da figura 1a) no tem desempenho to bom quando
borda. comparado ao filtro da figura 1b), pois o sinal resultante
Visto que ambas as probabilidades so funes da filtragem "serrilhado", podendo apresentar mais de
monotonicamente decrescentes, em funo da razo um mximo nas adjacncias da borda.

G. Vale; A.. Dal Poz


Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002.

G(x) expressa como H n (x) + H G (x). Se esta resposta total tem


um mximo em x 0 , ento:
x
H G (x) H' n (x 0 ) + H' G (x 0 ) = 0 (4)

x
Lembrando que a Srie de Taylor dada por:
Figura 2 - Ilustrao da borda G(x) como mximo local
na sada do operador (H G (x))
h h2 hn n
f(x) = f(x 0 ) + f '(x 0 ) + f '' (x 0 )+ ...+ f ( x 0 )+..
Sero abordadas inicialmente as questes relativas 1! 2! n!
razo sinal/rudo e localizao.
Seja f(x) a resposta de impulso do filtro e G(x) a
borda. Assumi-se que a borda est centrada em x = 0. onde h = x - x 0 , com x .
Ento, a resposta de impulso do filtro para esta borda, em Logo, a expanso de Taylor de H' G (x 0 ), em
relao ao seu centro, dada pela convoluo: relao origem (Mac-Laurin), dada por:

W
H' G (x 0 ) = H' G (0) + x 0 H'' G (0) + O(x 02 )
HG = W
G ( x )f ( x ) dx (1) (5)

Notar que:
assumindo que o filtro tem resposta de impulso finito no
intervalo [-W , W] com W < , ou seja, o suporte do
filtro (conjunto de pontos do domnio onde a funo no H' G (x 0 ) = H' G (0) + (x 0 - 0)/ 1! H'' G (0) + O(x 02 ) (6)
se anula) compacto (Limitado e Fechado) (Gomes,
1994). O erro mdio quadrtico da resposta para o rudo
n(x) somente, ser: Como H' G (0) = 0 o primeiro termo da expanso
(eq. 5) ignorado. Alm disso, como x 0 pequeno,
1 ignora-se os termos quadrtico e de ordem superior.
{
H n = E[n ( x ) * f ( x )]2 }1
2
= n0

W
W
2
f ( x ) dx

2
(2) Assim, das equaes 4 e 5, tem-se:

H'' G (0) x 0 - H' n (x 0 ) (7)


onde n 0 a amplitude do rudo mdio quadrtico por
unidade de comprimento, ou seja, n 0 o quadrado da
quantizao do rudo (Lim, 1990). Defini-se ento o Pois:
primeiro critrio como o resultado da razo sinal/rudo,
expresso pelo quociente das respostas acima descritas:
H' G (x 0 ) x 0 H'' G (0)
W

SNR =
W
G ( x )f ( x ) dx
(3)
E, substituindo a equao acima na equao 4:
W
n0 W
f 2 ( x ) dx
H' n (x 0 ) + H'' G (0) x 0 0

Na equao 3, acima, pode-se perceber que se o H' n (x 0 ) uma quantidade randmica Gaussiana e
denominador, que o erro mdio quadrtico da resposta
segundo Canny (1986) sua varincia dada por:
para o rudo somente, tender zero, SNR aumentar, isto
, se o rudo na imagem for prximo de zero a deteco
ser tanto melhor. Dessa forma percebe-se que a forma W
matemtica sintetiza bem a noo intuitiva. E[H'n (x 0 )] = n 02
W
f '2 ( x ) dx (8)
Como as bordas esto centradas em x = 0, na
ausncia do rudo deveria haver neste ponto um mximo
local, para a resposta. Sendo esta representada por onde E[y] o valor esperado de y (esperana de y).
H G (x), ento H' G (0) = 0. Se H n (x) a resposta do filtro Combinando este resultado com a equao 7 (substituindo
H' G (x 0 ) por x 0 H'' G (0)), tem-se:
para o rudo somente, ento a resposta total pode ser
G. Vale; A.. Dal Poz
Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002.
Pela desigualdade de Schwarz, acima descrita, para
W
integrais, mostra-se que SNR limitado superiormente

E[ x 02 ]
n 02 W
f '2 ( x ) dx
= x 02 (9)
por:
2
W
G ' ( x ) f ' ( x ) dx W
W n 01 W
G 2 ( x ) dx (12)

onde x 0 uma aproximao para o desvio padro de


E o limite superior para a Localizao:
x0.
Finalmente, a localizao definida como o
W
inverso de x 0 , isto : n 01
W
G '2 ( x ) dx (13)
W

Localizao =
W
G ' ( x ) f ' ( x ) dx
(10) Se ambos os limites so atendidos, ento o produto
W

n0 2
f ' ( x ) dx de SNR pela localizao maximizado quando
W f(x) = G(-x) para x [-W, W].
Assim, de acordo com os dois primeiros critrios,
o detetor timo de bordas tipo degrau deve possuir
As equaes 3 e 10 so as frmulas matemticas tambm a forma de um degrau, como o operador
para o primeiro e o segundo critrios e reduzem o diferena. Como este operador possui uma banda muito
problema de projeto do filtro maximizao de ambas as larga, sua aplicao, gera, devido ao rudo, respostas com
frmulas, simultaneamente. A fim de que isso ocorra, muitos mximos, gerando muitos mximos falsos de
maximiza-se o produto da primeira equao pela segunda. borda. Como foi visto anteriormente a filtragem com
Por enquanto ser usado o produto dos critrios para operadores diferena apresenta inmeros picos
bordas arbitrrias, isto , se buscar maximizar: (serrilhado), nas adjacncias da borda verdadeira,
dificultando ou impossibilitando a seleo de um nico
W W ponto de borda. necessrio adicionar aos critrios um

W
G ( x )f ( x ) dx W
G ' ( x ) f ' ( x ) dx quesito que diga que a funo f no ter muitas respostas
para uma nica borda na vizinhana do degrau. antes
(11)
W W

n0 2
f ( x ) dx n0 2
f ' ( x ) dx necessrio limitar o nmero de picos na resposta, de modo
W W que haja baixa probabilidade de serem detectadas mais
que uma borda. O ideal seria fazer a distncia entre os
picos na resposta do rudo se aproximar largura da
Esta equao deve possuir uma injuno adicional resposta do operador para um nico degrau de borda. Esta
na soluo, pois, at aqui, nenhuma definio sobre a largura seria uma frao da largura do operador.
eliminao de respostas mltiplas foi descrita A distncia entre mximos adjacentes na resposta
matematicamente. Tal problema ser explicitado na
de f devido ao rudo, denotado por x max , ser o dobro de
prxima seo.
x zc , que a distncia mdia entre pontos crticos desta
2.2 Eliminao de Respostas Mltiplas resposta, ou seja:

Ao se estabelecer o problema de deteco de


bordas, foi especificado que as bordas deveriam ser x max = 2 x zc (14)
detectadas como mximos locais na resposta de um filtro
linear aplicado imagem. Os critrios de deteco at onde, x zc dado por:
aqui introduzidos medem a eficcia do filtro na
discriminao entre o sinal e o rudo no centro da borda.
Porm tais critrios no levam em considerao o 1
+ 2
comportamento nas proximidades da borda.

2
f ' ( x ) dx
Como poder ser visto a seguir, o primeiro e o x zc = (15)
+
f " ( x ) dx

segundo critrios podem ser trivialmente maximizados. 2

Seja k e h duas funes reais integrveis em [a, b],
ento a desigualdade de Schwarz para integrais dada
por:
Pode-se, ento, aproximar a distncia x max para
2 2
b b b alguma frao k da largura do operador:
[k(x)]
2
a k ( x ). h ( x ) dx dx . [h ( x )] dx
a a

x max (f ) = kW (16)
G. Vale; A.. Dal Poz
Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002.
A expresso 15 representa a injuno de resposta Como A uma constante positiva, pode-se retir-la
mltipla. Note que o nmero timo de k seria o que da integral e do mdulo e, como tambm u 1 (x) nulo
proporcionasse apenas um mximo para a regio de
para x<0, a equao pode ser rescrita como:
resposta do filtro. Sendo 2W a largura da regio onde se
concentra o suporte do filtro, o nmero de mximos (N n )
0
da resposta devido ao rudo dado por:
SNR =
A W
f ( x ) dx
(20)
+W
Nn =
2W 2W 2
= =
x max kW k
(17)
n0 W
f 2 ( x ) dx

Substituindo G(x) na equao 10:


Lembrando que k o nmero que estabelece a
distncia entre mximos na regio de suporte do operador,
verifica-se que quanto mais prximo de zero k estiver, +W
maior ser o nmero mximos devido ao rudo.
A W
(u 1 ( x ))'. f ' ( x ) dx
interessante notar que a distncia entre mximos Localizao = (21)
+W

varia na mesma proporo com que a largura do operador 2
n0 f ' ( x ) dx
W
escalonado. Para tanto, supor que f obtido
escalonando f por um fator de escala , i. e.,
f (x) = f( x ). Substituindo esta expresso na equao Como u 1 (x) varia muito abruptamente em x = 0,

logo (u 1 (-x))' , isto (u 1 (x))' = - (x), sendo
14, tem-se que x max (f ) = x max (f ) , visto que se est
(x) o delta de Dirac (Butkov, 1968). Pode-se ento
lidando com um espao de funes. Assumindo agora que
rescrever a equao 21 como:
o suporte do filtro f [-W, W], tem-se que o suporte de
f escalonado por , i. e., o suporte de f [- W,
+W
W]. Portanto, as larguras de suporte de f e f so,
respectivamente, 2 W e 2 ( W). Fica ento provado que
A W
[( x )] f ' ( x ) dx
A f ' ( 0)
Localizao = =
+W +W
a distncia entre mximos e a largura do operador so
escalonadas pelo fator de escala . Outra constatao
n0 W
f '2 ( x ) dx n0 W
f '2 ( x ) dx
importante que o nmero de mximos no intervalo de (22)
suporte de f invariante em relao ao escalonamento de
O numerador da Localizao possui tal forma pois,
f. De fato, o nmero de mximos Nn ( f ) para f a pela propriedade de filtragem da funo (x), tem-se
razo entre a largura de suporte de f (i. e., (2W)) e o (Butkov, 1968):

intervalo entre mximos para f (i.e., x max (f)), i. e.,


+
Nn ( f ) = (2W) / x max (f) = 2W / x max (f). Este

( x ) h ( x ) dx = h (0) (23)
exatamente o nmero de mximos para f .

3 UM DETETOR PARA BORDAS (STEP EDGES) onde h(x) uma funo contnua qualquer.

Uma borda tipo degrau pode ser expressa Quando se toma h (x) = f '(x), chega-se ao
matematicamente por G(x) = A u 1 (x), onde A a numerador da equao 22.
amplitude da borda e u 1 (x) dada por: Ambos os critrios melhoram diretamente com a
razo A/n 0 , que pode ser chamada razo sinal/rudo da
imagem. Agora, remove-se esta dependncia da imagem e
0, para x < 0 define-se duas medidas de desempenho e , as quais
u 1 ( x ) = (18)
1, para x 0 dependem somente do filtro:

0
E substituindo G(x) na equao 3:
A f ( x ) dx
(f ) (f ) =
W
SNR = onde (24)
n0 +W

W
f 2 ( x ) dx
SNR =
W
Au 1 ( x )f ( x ) dx
(19)
W

W
n0 W
f 2 ( x ) dx

G. Vale; A.. Dal Poz


Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002.

A f ' (0) A soluo obtida a partir da maximizao da


Localizao = (f ' ) onde (f ' ) = (25) expresso 27 uma classe de funes, todas relacionadas
n0 +W

W
f '2 ( x )dx ao longo do espao-escala.
Encontrar a funo f que maximize a equao 27
um trabalho bastante complexo, que envolve o uso de
clculo variacional. A aplicao desta tcnica ainda
Supor agora que f seja um filtro escalonado requer que a equao 26 seja rearranjada atravs da
espacialmente, construdo a partir de f, onde tcnica dos multiplicadores de Lagrange, que possibilita a
f (x) = f ( x ), com >1 sendo um fator de escala. obteno de uma forma passvel de ser, posteriormente,
transformada na equao diferencial de 4 ordem de
Notar que se o intervalo de suporte de f [-W, W], ento Euler-Lagrange.
o intervalo correspondente para f [- W, W]. Isso A soluo geral para a equao de Euler-Lagrange
no semi-intervalo de suporte [-W, 0] tem a seguinte
significa que as larguras de suporte de impulso de f e f forma:
so respectivamente 2W e (2W). Pode-se dizer ento
que f um filtro estreito e f um filtro mais largo.
f ( x ) = a1ex sen x + a 2ex cos x + a 3e x sen x +
Quando se substitui f nas equaes (24) e (25), obtm- (28)
+ a 4e x cos x + c
se as funes de desempenho do filtro escalonado:
onde a 1 , a 2 , a 3 , a 4 , , e c so as incgnitas a
1 determinar.
(f )= (f ) e (f ' ) =

(f ' ) (26) A funo 28 est sujeita s seguintes condies de
contorno:

A primeira destas equaes mostra que um filtro f (0) = 0 f (-W) = 0 f ' (0) = s f ' (-W) = 0 (29)
f com larga resposta de impulso ter melhor razo onde s um incgnita constante igual declividade da
sinal/rudo que um filtro estreito quando aplicado funo f na origem. Visto que f (x) assimtrica, pode-se
imagem. Matematicamente, se variar imediato que estender a equao 28 para todo o intervalo de suporte
(f ) variar diretamente. A segunda implica que um [-W, W] usando o fato de que f (-x) = -f (x). As quatro
condies de contorno possibilitam encontrar as
filtro estreito dar melhor localizao que um largo. quantidades de a 1 , a 2 , a 3 e a 4 em funo das incgnitas
Matematicamente, se variar, ento (f ' ) ter uma , , c e s . Aplicando as condies de contorno 29
variao inversamente proporcional a . Nota-se que as equao 28, obtm-se um sistema de equaes para a
variaes so inversamente relacionadas, isto , ambos os obteno dos valores de a 1 , a 2 , a 3 e a 4 em funo das
critrios ou crescem ou decrescem por . Trata-se incgnitas , , c e s .
ento de um princpio de incerteza relacionado com a Como c uma constante de integrao gerada na
deteco (SNR) e localizao, no podendo melhor-los obteno da equao 28, pode-se arbitr-la, ficando os
simultaneamente, ou seja, se a localizao melhora, ento parmetros incgnitos reduzidos a 3 ( , e =s/c).
a deteco tem seu resultado piorado e vice-versa.
interessante notar que esse resultado terico est Infelizmente isso no reduz a complexidade do problema,
relacionado com questes prticas de projetos de filtros de pois ainda necessrio determinar os valores destes
deteco de borda. Por exemplo, quando se usa uma parmetros que maximizam a condio de filtro timo
mscara de dimenso pequena, a sensibilidade aos (eq. 27). Se no bastasse, falta impor o critrio de resposta
detalhes ser maior. Infelizmente esta sensibilidade no mltipla. Como uma soluo analtica para este problema
aumenta apenas pelos detalhes reais da imagem, mas invivel, um processo de otimizao numrica
tambm pelos detalhes esprios da imagem, causados recomendado.
principalmente pelo rudo da imagem. Com um filtro A forma do filtro f depende, ento, da injuno de
largo ganha-se na deteco de detalhes mas perde-se em respostas mltiplas, isto , depende da distncias entre as
localizao. A discusso acima sugere que o critrio para respostas adjacentes (x max ). Em geral, o ideal que as
determinao do filtro (f) timo dado pelo produto das respostas adjacentes estejam o mais distantes possvel,
equaes (24) e (25), visto que este produto invariante facilitando a separao do pico verdadeiro dos falsos.
s mudanas de escala: Segundo Canny (1986), quanto menor o espaamento
entre as respostas adjacentes, mais ngreme a funo f
na origem. Assim, um filtro muito ngreme, em relao
0

W
f ( x ) dx
f ' (0)
origem, beneficia o critrio de localizao, mas no
favorvel aos outros critrios. Por outro lado, um filtro
(f ) . (f ' ) = . (27)
+W +W menos ngreme, em relao origem, desfavorvel ao

2 2
f ( x ) dx f ' ( x ) dx
W W

G. Vale; A.. Dal Poz


Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002.
critrio de localizao, mas os critrios de deteco e de Tabela 1 - Parmetros dos filtros e medidas de
respostas mltiplas so beneficiados. desempenho de vrios filtros
Portanto, o critrio de otimizao numrica n x max r
mencionado acima deve encontrar um conjunto de 1 0,15 4,21 0,215 24,5955 0,12250 63,97566
parmetros que balanceie otimamente os trs critrios. 2 0,3 2,87 0,313 12,4712 0,38284 31,26860
Canny (1986) apresenta a seguinte expresso matemtica 3 0,5 2,13 0,417 7,85869 2,62856 18,28800
para o critrio de resposta mltipla: 4 0,8 1,57 0,515 5,06500 2,56770 11,06100
5 1,0 1,33 0,561 3,45580 0,07161 4,80684
6 1,2 1,12 0,576 2,05220 1,56939 2,91540
f ' (0) 7 1,4 0,75 0,484 0,00297 3,50350 7,47700
= r (30)
s Fonte: Canny, 1986.

4 UMA APROXIMAO EFICIENTE


onde s o desvio padro do rudo e r o fator de
desempenho de resposta mltipla. O fator r varia no O filtro timo recm derivado (n. 6, tabela 1),
intervalo [0, 1] e, quanto mais prximo estiver de 1, mais pode ser aproximado pela primeira derivada da funo
afastadas estaro as respostas mltiplas. Gaussiana G'(x) (figura 4), onde:
Os resultados obtidos por otimizao numrica
para vrios filtros so dados na tabela 1. Os coeficientes
x2
a 1 , a 2 , a 3 e a 4 , para todos estes filtros podem ser G ( x ) = exp 2 (31)
2
encontrados tomado c = 1. O maior valor de r obtido
usando otimizao numrica 0,576, que corresponde ao
filtro n. 6 da tabela 1.
Como mostra a tabela 1, o filtro que apresenta um A razo para que se utilize esta funo reside no
melhor balanceamento o 6, sendo desta forma fato de que ela apresenta uma eficiente forma para
denominado timo. Entretanto, caso se esteja disposto computar a extenso bidimensional do filtro. Para o
tolerar uma ligeira reduo no desempenho r de resposta momento, sero comparados o desempenho terico da
mltipla, pode-se obter uma melhora significativa nos primeira derivada da funo Gaussiana com o operador
outros dois critrios. Por exemplo, os filtros 4 e 5 tem um timo.
produto significativamente melhor que o filtro 6 e G(x)
somente uma pequena reduo de r. Quando plotados x
(figura 3), pode-se ver que os filtros 4 e 5 tm uma
declividade maior em relao origem, sugerindo que o
ganho no desempenho est principalmente na localizao.
O desnvel abrupto prximo origem sugere que, na
Figura 4 - Primeira derivada da funo Gaussiana
convoluo, as diferenas sejam drsticas, privilegiando a
localizao, ao passo que, no filtro 6, a transio, na
O filtro f fica ento:
origem, mais suave e fornece um melhor balanceamento
entre deteco e localizao, apesar de fornecer um menor
ndice r. x x2
1) G' (x) = exp (32)
2 2 2

2)
e os termos do critrio de desempenho (eqs. 27 e 30) so
3) dados por:

4) 1 0

5)
f ' (0) =
s
f ( x ) dx =1

(33)
6) + + 3

f 2 ( x ) dx =
2

f '2 ( x ) =
43
7)
Fonte: Canny, 1986 O ndice de desempenho total (eq. 27) para este
Figura 3 - O operador timo para vrios valores de x max . operador :
De cima para baixo, se tem os seguintes valores de x max :
0,15, 0,3, 0,5, 0,8, 1, 1,2, e 1,4. (f ) . (f ' ) = 0,92 (34)
G. Vale; A.. Dal Poz
Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002.
Enquanto o valor r calculado a partir da equao onde B a imagem ruidosa, A a imagem sem rudo e N
(30) : o rudo, lembrando que A e N no so correlacionados.
Comumente, por uma questo prtica, assume-se que este
f ' (0) tipo de rudo segue a distribuio normal (rudo
= r r = 0,51 (35)
s Gaussiano), com mdia zero e um presumido desvio-
padro.
Quando se toma imagens com os parmetros de
O desempenho da primeira derivada da funo rudo conhecidos ( e ), o que se verifica que este
Gaussiana 20% pior que o desempenho do operador rudo possui uma distribuio homognea sobre a
timo. Quanto ao fator r, verifica-se que pior 10%. imagem. Dessa forma pode-se ento, tratar o problema de
Provavelmente, seria difcil detectar uma diferena desta estimao do rudo atravs da idia de que bordas tambm
magnitude visualmente, verificando-se o desempenho dos fazem parte do rudo (Wiener-Hopf, apud Parker, 1997).
dois operadores em imagens reais, e, por causa da A imagem seria filtrada e a varincia do rudo seria
primeira derivada do operador Gaussiano poder ser estimada a partir de uma mdia local calculada em uma
computada com muito menos esforo em duas dimenses, rea restrita da imagem filtrada. Contudo, esta forma de
dada tambm a sua simplicidade e separabilidade, ela tem estimao de parmetros do rudo sensvel s bordas e
sido, na prtica, usada com exclusividade. os parmetros estimados sero tendenciosos, tornando-se
A resposta de impulso dos dois operadores podem pouco teis.
ser comparadas, visualmente, na figura 5. Notar que as Uma soluo para este problema consiste em se
respostas de impulso de ambos os filtros so bastante construir um histograma global da imagem filtrada
semelhantes, o que intuitivamente sugere um desempenho (amplitude/freqncia) e analis-lo, considerando que a
semelhante. resposta para as bordas so baixas freqncias com
a) f(x) valores altos de amplitude e que o rudo representar o
x restante das respostas. Assim, pode-se efetuar a mdia
G(x) com valores de amplitude da imagem de entrada que, no
b) x histograma, apresentem amplitudes menores que 80%, por
exemplo.
No caso de rudo dependente do sinal o nvel de
rudo para cada ponto na imagem uma funo de seu
Figura 5 - a) Detetor timo de Bordas; b) Primeira nvel de cinza (Parker, 1997). Isto , o rudo esta
derivada da funo Gaussiana relacionado ao nvel de cinza dos pixels da imagem
atravs de alguma funo. Felizmente esta forma de rudo
5 ESTIMAO DO RUDO E LIMIARIZAO menos importante e pode ser melhor contornado
(Parker, 1997).
A afirmao "no h imagem sem rudo", At mesmo com a estimao do rudo, o detetor de
infelizmente verdadeira. Independente da causa ou do borda suscetvel fragmentao, principalmente se um
tipo de rudo, a verdade que ele sempre est presente e, nico limiar for usado. A fragmentao a separao de
por ser um evento randmico, no pode ser predito ou um contorno de borda causado pela flutuao da sada do
medido acuradamente em uma imagem, visto que, no se operador acima e abaixo do limiar, ao longo do contorno
pode separar rudo de dados da imagem. Dada a natureza
(Canny, 1986). Caso se tenha um nico limiar T1 e,
randmica do rudo, o que se pode fazer, algumas vezes,
caracterizar seu efeito na imagem atravs de uma supondo que se tenha uma borda que possua uma mdia
distribuio de probabilidade com mdia e desvio-padro de tons de cinza de mesmo valor ( T1 ), havero valores da
especficos. borda acima e abaixo do limar at mesmo quando o rudo
Existem dois tipos de rudo que podem ser tratados insignificante. O resultado da limiarizao sero
dessa forma: rudo independente do sinal e rudo fragmentos de bordas.
dependente do sinal. tambm muito difcil fixar um limiar tal que haja
O rudo independente do sinal randmico e uma pequena probabilidade de se detectar borda espria
estatisticamente independente do dados da imagem, isto , quando o detetor possui grande sensibilidade. Uma
adicionado aos pixels da imagem resultando uma soluo possvel para este problema efetuar a mdia da
imagem ruidosa (Parker, 1997). Freqentemente, isto magnitude ao longo de parte do contorno da borda. Se a
ocorre quando uma imagem eletronicamente transmitida mdia est acima de um limiar, o segmento inteiro
de um local a outro ou at mesmo quando de sua detectado. Se a mdia est abaixo do limiar, no se
aquisio (sensor). Pode-se expressar esta idia atravs da detecta nenhuma parte do contorno.
adio: Na implementao do operador de Canny a
limiarizao efetuada com histerese (duplo limiar) e
acompanhada de um processo de "complementao das
B=A+N
bordas", isto , se qualquer parte de um contorno est
acima do maior limar T 1 , ento estes pontos so
imediatamente detectados, formando um conjunto L1. O
G. Vale; A.. Dal Poz
Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002.
restante dos pontos que se encontram abaixo do maior
limiar T 1 e acima do menor limiar T 2 (pontos do Q[i, j] 1/2 x * S[i, j]
contorno e pontos no pertencentes a ele) formam um
segundo grupo de pixels L2. O procedimento algortmico ou
consiste em buscar no conjunto de pontos detectados L1 a
ocorrncia de extremidades de contornos e, no segundo Q[i, j] (S[i, j] - S[i+1, j] +S[i, j+1] - S[i+1, j+1])/2
conjunto de pontos L2, escolher pixels que completem
estes contornos. O algoritmo efetua este preenchimento (39)
at que no hajam mais fragmentos de contornos isolados
em L1 ou que no hajam mais pontos em L2 que possam
ser aproveitados. onde * denota a convoluo.
A probabilidade de fragmentao muito reduzida
pois, para um contorno ser fragmentado, ele precisa As diferenas finitas tem sua mdia efetuada
flutuar sobre o maior limiar e abaixo do menor limiar. atravs das mscaras 2x2, mostradas acima, tal que, as
Tambm a probabilidade de falsos pontos de borda derivadas parciais so computadas em pontos de mesmas
isolados reduzida pois a magnitude de tais pontos coordenadas. A magnitude e orientao do gradiente so
precisa estar acima do maior limiar. A razo do maior computadas por frmulas de converso de coordenadas
para o menor limiar na implementao est na faixa de retangulares para polar:
dois ou trs para um, isto :

M[i, j] = P[i, , j]2 + Q[i, j]2 (40)


T1 = 2T2 ou T1 = 3T2 (36)

6 ASPECTOS ALGORTMICO E COMPUTACIONAL [i, j] = arctan(Q[i, j], P[i, j]) (41)

No que diz respeito aos aspectos algortmicos e


computacionais, sero expostos abaixo alguns detalhes onde a funo arco-tangente toma duas componentes, em
que se destinam implementao do processo de deteco y e em x, e gera o ngulo da direo do gradiente.
elaborado por Canny. Como se sabe, a convoluo e a
diferenciao so associveis e a Gaussiana separvel, Sabendo-se que pontos de borda so mximos no
dessa forma pode-se efetuar, a princpio, a suavizao da resultado da filtragem, pode-se ento, selecionar estes
imagem com o filtro de suavizao Gaussiano, usando pontos e obter uma melhor localizao para a borda
filtragem separvel. O resultado ser uma matriz de dados atravs da tcnica de supresso no mxima. A supresso
S[i, j], onde: no mxima o anulamento de pixels cujos valores no
so mximos locais, em perfis limitados, na direo
perpendicular borda, ou seja, busca-se, na direo do
S[i, j] = G[i, j, ] * I[i, j] (37) gradiente da imagem, por valores de pixels que so
mximos locais.
e o desvio padro da Gaussiana e controla o grau de
A matriz de magnitudes da imagem M[i, j] ter
suavizao. valores maiores onde o gradiente maior, porm, este
Esta etapa, por ser uma bastante usual, no requer fato no suficiente para identificar as bordas. Note que
uma explicao mais aprofundada. bordas so caracterizadas por mudanas bruscas no nvel
O gradiente da matriz suavizada S[i, j] pode ser de brilho, logo, encontr-las implica em encontrar locais
ento computado por uma mscara 2x2 de aproximaes onde a magnitude de M[i, j] um mximo local. Para
de primeira-diferena, para produzir duas matrizes de identificar bordas, os cumes largos da matriz M[i, j]
derivadas parciais P[i, j], derivada em x, e Q[i, j], precisam ser afinados, tal que, somente a magnitude em
derivada em y (Jain, 1995): pontos de grande intensidade permaneam.

A figura 6 ilustra o caso onde o pixel central (c, l)


P[i, j] 1/2 x * S[i, j] examinado. O valor de (c, l) um mximo local e a
direo do gradiente de 45.
Neste caso, supondo que uma mscara 3x3
ou percorre M[i, j] e compara a magnitude do gradiente do
pixel central (c, l) com a magnitude de seu vizinho no
P[i, j] (S[i, j+1] - S[i, j] + S[i+1, j+1] - S[i+1, j])/2 sentido do gradiente (c+1, l-1) e com a magnitude de seu
vizinho no sentido contrrio ao do gradiente (c-1, l+1),
(38) verifica-se que os pixels em cinza tero seus valores
igualados a zero.

G. Vale; A.. Dal Poz


Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002.
M[i, j] onde N[i, j] denota o processo de supresso no mxima.
Os valores no nulos em N[i, j] correspondem a picos em
M[i, j].
Apesar da filtragem Gaussiana suavizar a imagem
c -1 c c +1 inicialmente, N[i, j] conter muitos fragmentos de falsas
l-1 bordas causadas por rudos e detalhes de textura. O
contraste dos fragmentos de falsas bordas pequeno e,
Direo da
Borda
como j foi discutido anteriormente, pode-se pensar em
l Direo do eliminar detalhes esprios por meio de uma limiarizao
Gradiente aplicada em N[i, j], ou seja, os valores N[i, j] abaixo do
l+1
limiar sero mudados para zero.
Figura 6 - Esquema de supresso no mxima quando a Mesmo com a aplicao da limiarizao, falsas
direo do gradiente de 45. bordas ainda ocorrero. A permanncia de falsas bordas,
aps a limiarizao de N[i, j], pode ter como motivo a
A supresso no mxima, ento, afina os cumes de escolha de um limiar baixo (falso positivo) e/ou pela
magnitude do gradiente em M[i, j], pela supresso de ocorrncia de pores de contorno real que podem ter
todos os valores ao longo da linha do gradiente que no sido perdidos (falso negativo) devido suavizao do
so valores pico dos cumes. contraste da borda por uma sombra ou devido escolha
O algoritmo comea por limitar o ngulo [i, j] do de um limiar alto demais. A escolha do correto limiar
gradiente em um dos quatro setores da figura 7: difcil e envolve tentativa e erro.
Um esquema de limiarizao eficaz, como foi
[i, j] = Setor ([i, j]) (42) visto, envolve o uso de histerese, que consiste na
90 limiarizao com dois limiares 1 e 2 , com
1 2 2 ou 1 3 2 .
135 2 Aplica-se a limiarizao duas vezes, em N[i, j],
45
3 uma com 1 e outra com 2 , e se obtm,
1
respectivamente, duas imagens limiarizadas T 1 [i, j] e
T 2 [i, j]. Dessa forma T 1 conter poucas falsas bordas,
180 0 0 0
porm poder ter falhas de contorno (falsos negativos). O
algoritmo de dupla limiarizao liga bordas por curvas.
Quando o algoritmo encontra o fim de um
1 3 contorno em T 1 ele busca em T 2 , atravs de uma
225 2 315 vizinhana-de-8, por as bordas que podem ser ligadas ao
contorno em T 1 . O algoritmo continua a completar
270
bordas de T 1 a partir de pontos buscados em T 2 at que
Figura 7 Setores considerados para a supresso no
descontinuidades de bordas de T1 tenham sido eliminadas
mxima
ou que no hajam pontos em T2 que possam ser
Esta forma de distribuio de setores proposta
aproveitados. O algoritmo efetua a complementao das
em Jain (1995) e tem como objetivo classificar ngulos
bordas como um subproduto do histerese e soluciona
intermedirios do gradiente por setores, visto que, na
alguns problemas da escolha de limiar.
prtica, pixels vizinhos do pixel de referncia estaro em
O algoritmo do Operador de Canny fica:
um destes quatro setores.
1. Ler a imagem I[i, j] a ser processada;
Estabelecidos os setores, uma mscara 3x3
2. Criar uma mscara de suavizao Gaussiana
passada, de modo que seja feita a comparao do pixel
G[i, j, ] para convoluir com a imagem de
central M[i, j], ao longo da linha do gradiente,
comparando-o com seu dois vizinhos, de acordo com o entrada I[i, j]. O desvio padro desta
Gaussiana um parmetro para o detetor de
setor [i, j] determinado.
borda;
Se a magnitude do elemento examinado M[i, j] no 3. Usar aproximaes de diferenas finitas
for maior que a de seus vizinhos, ao longo da linha do (equaes 38 e 39) para se obter as derivadas
gradiente, ento M[i, j] recebe zero de magnitude. Este parciais sobre a imagem suavizada e compute
processo afina de modo geral os cumes at a espessura de a magnitude M[i, j] e orientao do gradiente
um pixel. Assim, considerando esta etapa tem-se:
[i, j](equaes 40 e 41);
4. Aplicar a supresso no mxima na magnitude
N[i, j] = snm(M[i, j], [i, j]) (43) do gradiente (equao 43);
5. Usar o algoritmo de histerese para detectar e
efetuar a complementao das bordas (sntese
de feio); e;
G. Vale; A.. Dal Poz
Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002.
6. Armazenar/visualizar as borda detectadas. A deteco foi efetuada em uma imagem sinttica
(figura 8) e em uma imagem real (figura 11). De acordo
7 EXPERIMENTO E AVALIAO com a teoria de Canny, os limiares foram mantidos fixos,
sendo que o maior limiar corresponde a 30% da escala de
Nesta subseo so apresentados alguns relutados tons de cinza e o maior limiar corresponde a 80%. O
e a avaliao do processo de deteco de bordas. Os desvio-padro da Gaussiana utilizada para suavizao
resultados obtidos foram gerados atravs de um programa variou, sendo que os valores utilizados foram: = 1 nas
de computador em linguagem C. figuras .9 e 12 e = 3, nas figuras 10 e 13. A imagem
sinttica foi feita no software Paint Shop Pro e nela foi
adicionado 25% de rudo.

Figura 8 Imagem de sinttica

Figura 11 Imagem de sinttica

Figura 9 Deteco efetuada com =1

Figura 12 Deteco efetuada com =1

Figura 10 Deteco efetuada com =3


Figura 13 Deteco efetuada com =3
G. Vale; A.. Dal Poz
Anais do Simpsio Brasileiro de Geomtica, Presidente Prudente - SP, 9-13 de julho de 2002.
Tanto na deteco com a imagem sinttica como CANNY, J. A Computational Approach to Edge
na deteco com a imagem real, pode-se ver nitidamente Detection. IEEE Transactions on Pattern Analysis and
que quanto maior o desvio-padro menor a quantidade de Machine Intelligence, V. 8, n. 6, pp. 679-698, 1986.
bordas esprias. necessrio, no entanto, se tomar
cuidado com o adotado na suavizao pois, se for GOMES J., VELHO L. Computao Grfica: Imagem.
muito alto haver um borramento das bordas e, Srie de Computao e Matemtica. IMPA/SBM, Rio de
consequentemente, um decrscimo na localizao e Janeiro, 424 p, 1994.
deteco. Os resultados do detetor, em ambos os casos,
mostrou-se satisfatrio. Verifica-se que em todas as JAIN, R.; Kasturi, R; Schunck, B. G. Machine Vision.
imagens, mesmo aquelas detectadas com alto , MIT Press and McGraw-Hill, Inc New York 1995
praticamente no houve fragmentao das bordas, o que,
comprova a eficcia do "processo de completar bordas" LIM, Jae S. Two-dimensional signal and image
com os resultados do histerese. O detetor tambm se prossecing. Department of Engineering and Computer
mostrou eficiente na localizao das bordas. Tal Science Massachusetts Institute of Technology - Pentice
desempenho devido supresso no mxima, que reduz Hall PTR - 1990.
as bordas a um pixels de espessura.
PARKER, J. R. Algorithms for Image Processing and
8 CONSIDERAES FINAIS Computer Vision. John Wiley & Sons, Inc., New York,
417p, 1997.
Ao se utilizar um detetor de bordas, espera-se que,
a partir de seu resultado final, se possa encontrar os ZIOU D., TABBONE S. Edge Detection Techniques -
objetos de interesse com pouco esforo computacional, An Overview. International Journal of Pattern
com baixa probabilidade de ambigidade e com nvel Recognition and Image Analysis,Vol. 8, No. 4, pp. 537-
satisfatrio de acurcia. 559, 1998. also Technical Report, No. 195, Dept. Math. et
De acordo com os exemplos analisados, verificou- Informatique, Universit de Sherbrooke, 41 pages, 1997.
se que o processo de deteco de bordas de Canny
mostrou-se bastante flexvel, independente da origem da
imagem utilizada. Mesmo visualmente, pode-se verificar
que a fragmentao das bordas relevantes da imagem foi
minimizada, mesmo com o uso de um alto . Tal fato
pode ser atribudo ao comportamento satisfatrio do
processo de histerese. Cabe lembrar que, mesmo sendo
robusto e eficiente ao detectar bordas, o operador de
Canny ainda est suscetvel aos efeitos indesejveis da
suavizao Gaussiana. No entanto, se adotado de
modo coerente, i. e., estimado a partir da quantizao do
rudo o balanceamento entre deteco e localizao
propicia uma resultado de tima qualidade.
Por ltimo, vale ressaltar que a supresso no
mxima combinada com a histerese permite obter
informaes de contorno com alta qualidade e riqueza de
detalhes, o que certamente beneficia as etapas
subsequentes de qualquer processo automtico ou semi-
automtico de extrao de feies cartogrficas em
imagens digitais.

AGRADECIMENTOS

Os autores agradecem CAPES, pelo suporte, sob


a forma de bolsa de Demanda Social CAPES, concedida
ao mestrando Giovane Maia do Vale a partir de 1 de maio
de 2001.

REFERNCIAS

BUTKOV, E. Fsica Matemtica. St. Jhns's University,


New York - Editora Guanabara S. A. - pp. 224 - 239,
1968.

G. Vale; A.. Dal Poz

Você também pode gostar