12
Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002. p.292-303. G. Vale; A.. Dal Poz O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS, ALGORITMOS E AVALIAÇÃO EXPERIMENTAL GIOVANE MAIA DO VALE ALUIR PORFÍRIO DAL POZ Universidade Estadual Paulista - Unesp Faculdade de Ciências e Tecnologia - FCT Departamento de Cartografia, Presidente Prudente - SP {gmvale, aluir}@prudente.unesp.br RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo de detecção de bordas de Canny. Baseia-se em dois critérios básicos de desempenho, i.e., os critérios de detecção e localização. Estes dois critérios estão sujeitos ainda a um terceiro, conhecido como injunção de resposta múltipla, que força o processo detecção 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 constatações de Canny é que o operador ótimo encontrado é muito semelhante à função gerada pela primeira derivada da função Gaussiana. Em complemento a este operador, são também propostos um processo conhecido como supressão não máxima, que tem por função principal o afinamento das bordas, e um outro processo conhecido como histerese e que se baseia numa dupla limiarização, cuja função é a de eliminar a fragmentação das bordas causada pelo ruído da imagem. Este trabalho apresenta, além dos aspectos teóricos e computacionais acima mencionados, também alguns resultados experimentais obtidos com imagens sintéticas 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 INTRODUÇÃO As bordas constituem informação de alta freqüência e encerram propriedades significativas de uma imagem. Estas propriedades incluem descontinuidades fotométricas, geométricas e as características físicas dos objetos. Tais propriedades do objeto são passadas à imagem pois, variações pertinentes ao objeto ocasionam variações nos tons de cinza da imagem. Para que se obtenha resultados acurados nos passos subsequentes à detecção das bordas, é necessário que esta detecção seja eficiente e confiável. A fim de que as variações dos tons de cinza sejam detectadas (bordas) é necessário diferenciar a imagem. Quando a imagem é diferenciada, as variações dos níveis de cinza são detectadas e, por conseqüência, detecta-se também o ruído, que é uma forma indesejável de variação. Para que as bordas espúrias não sejam então detectadas, deve-se suavizar a imagem antes da detecção. Contudo, existem efeitos inoportunos ligados à suavização, i. e., perda de informação e deslocamento de estruturas de feições proeminentes no plano da imagem. Além disso, existem diferenças entre as propriedades dos operadores diferenciais comumente utilizados, o que ocasiona bordas diferentes. Logo, é difícil formular um algoritmo de detecção de bordas que possua um bom desempenho em diferenciados contextos e capture os requisitos necessários aos estágios subsequentes de processamento (Ziou e Tabbone, 1997). Consequentemente, no tocante ao processamento de imagem digital, uma variedade de

O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Embed Size (px)

Citation preview

Page 1: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002. p.292-303.

G. Vale; A.. Dal Poz

O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY:FUNDAMENTOS, ALGORITMOS E AVALIAÇÃO EXPERIMENTAL

GIOVANE MAIA DO VALEALUIR PORFÍRIO DAL POZ

Universidade Estadual Paulista - UnespFaculdade de Ciências e Tecnologia - FCT

Departamento de Cartografia, Presidente Prudente - SP{gmvale, aluir}@prudente.unesp.br

RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico ecomputacional do processo de detecção de bordas de Canny. Baseia-se em dois critérios básicos dedesempenho, i.e., os critérios de detecção e localização. Estes dois critérios estão sujeitos ainda a umterceiro, conhecido como injunção de resposta múltipla, que força o processo detecção a detectar umaúnica borda onde existe somente uma borda verdadeira. O principal objetivo do trabalho de Canny é odesenvolvimento de um detector ótimo para o tipo de bordas mais comum em imagens digitais, i.e., asbordas tipo degrau. Um das principais constatações de Canny é que o operador ótimo encontrado é muitosemelhante à função gerada pela primeira derivada da função Gaussiana. Em complemento a esteoperador, são também propostos um processo conhecido como supressão não máxima, que tem porfunção principal o afinamento das bordas, e um outro processo conhecido como histerese e que se baseianuma dupla limiarização, cuja função é a de eliminar a fragmentação das bordas causada pelo ruído daimagem. Este trabalho apresenta, além dos aspectos teóricos e computacionais acima mencionados,também alguns resultados experimentais obtidos com imagens sintéticas e reais.

ABSTRACT: This paper describes and discusses the theoretical fundamentals and the computational andalgorithmic 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 asthe multiple response constraint and enforces the edge detection process to detect single edge where thereis only one true edge. The major goal of Canny work is the development of an optimal detector for themost common edge occurrence in digital images, i.e., the step edges. One of most important finding ofCanny is that the optimal operator found is very similar to the first derivative of the gaussian function. Incomplement to this operator, it is proposed two processes that are known as the nonmaximum suppressionand the hysteresis. The goal of the nonmaximum suppression is the edge thinning, which allows thedetected edges to be one-pixel width. The hysteresis is based on a double thresholding and its goal is toeliminate edge fragmentation due to the image noisy. This paper also presents, in addition to thetheoretical and computational aspects above mentioned, some experimental results obtained withsynthetic and real images.

1 INTRODUÇÃO

As bordas constituem informação de altafreqüência e encerram propriedades significativas de umaimagem. Estas propriedades incluem descontinuidadesfotométricas, geométricas e as características físicas dosobjetos. Tais propriedades do objeto são passadas àimagem pois, variações pertinentes ao objeto ocasionamvariações nos tons de cinza da imagem.

Para que se obtenha resultados acurados nospassos subsequentes à detecção das bordas, é necessárioque esta detecção seja eficiente e confiável. A fim de queas variações dos tons de cinza sejam detectadas (bordas) énecessário diferenciar a imagem. Quando a imagem édiferenciada, as variações dos níveis de cinza são

detectadas e, por conseqüência, detecta-se também oruído, que é uma forma indesejável de variação. Para queas bordas espúrias não sejam então detectadas, deve-sesuavizar a imagem antes da detecção. Contudo, existemefeitos inoportunos ligados à suavização, i. e., perda deinformação e deslocamento de estruturas de feiçõesproeminentes no plano da imagem. Além disso, existemdiferenças entre as propriedades dos operadoresdiferenciais comumente utilizados, o que ocasiona bordasdiferentes. Logo, é difícil formular um algoritmo dedetecção de bordas que possua um bom desempenho emdiferenciados contextos e capture os requisitosnecessários aos estágios subsequentes de processamento(Ziou e Tabbone, 1997). Consequentemente, no tocanteao processamento de imagem digital, uma variedade de

Page 2: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002.

G. Vale; A.. Dal Poz

detetores de bordas tem sido desenvolvidos visandodiferentes propósitos, com formulações matemáticasdiferenciadas e com propriedades algorítmicas distintas.

Com base nos problemas acima mencionados,Canny (1986), desenvolveu um processo de detecção debordas a partir de critérios de quantificação dedesempenho de operadores de bordas conhecidos como:critério de detecção e critério de localização. Estescritérios de desempenho ainda estão sujeitos ao critério deresposta múltipla, que corresponde ao fato de que devehaver, na saída do operador, uma única resposta para umaúnica borda. Para que os critérios sejam aproximadamenteatendidos, Canny aproxima o operador ótimo, obtido apartir dos três critérios de desempenho, pela primeiraderivada da função Gaussiana. Em complemento a esteoperador, foi proposto um processo chamado supressãonão máxima (supressão de valores de pixels que nãoforem máximos locais na direção transversal à borda), quecausaria um afinamento da borda, atendendo à injunçãode resposta múltipla, e uma limiarização adaptativa(histerese) com “complementação de bordas”, paraeliminar a fragmentação dos contornos das bordas.

Este trabalho tem por motivação a discussão deaspectos teóricos e computacionais do processo dedetecção de bordas de Canny. A seção 2 apresenta adefinição e o desenvolvimento dos critérios dedesempenho. A dedução do filtro ótimo a partir doscritérios de desempenho, é apresentada na seção 3. Ajustificativa da aproximação do filtro ótimo pela primeiraderivada da função Gaussiana encontra-se na seção 4. Naseção 5 encontram-se aspectos pertinentes à estimação doruído e limiarização. A seguir, na seção 7 sãoapresentados os aspectos algorítmico e computacional. Asconsiderações finais são apresentadas na seção 8.

2 CRITÉRIOS DE DESEMPENHO

Dada sua importância, os detetores de borda (stepedge detectors) fazem parte de muitos sistemas de visãocomputacional. Suas aplicações são incontáveis e uma desuas principais características é a de reduzir drasticamentea quantidade de dados a serem processados, preservandoinformações estruturais importantes sobre a fronteira dosobjetos.

Qualquer que seja o detetor e a técnica envolvida,é necessário que este atenda à três critérios básicos(Canny, 1986), a saber:

1) Taxa de Erro: (SNR)

As bordas que ocorrem na imagem não devem serconfundidas e não se deve detectar bordas falsas, ou seja,o detetor deveria ter baixa probabilidade de:

• Falhar ao detectar pontos de bordaverdadeiros;

• detectar, falsamente, pontos não pertencentesà borda.

Visto que ambas as probabilidades são funçõesmonotonicamente decrescentes, em função da razão

sinal/ruído, este critério eqüivale a maximizar a razãosinal/ruído.

Maximizar a razão sinal/ruído implica emminimizar o ruído.

2) Localização:

Pontos de borda devem estar bem localizados, istoé a distância entre os pontos extraídos pelo detetor e o"centro" verdadeiro da borda deve ser minimizada.

3) Resposta:

O detetor de borda não deve identificar múltiplospixels de borda onde existe um único, ou seja, deve-seobter uma única resposta para uma única borda.

Este critério está implicitamente contido no 1ºcritério pois quando ocorrem duas respostas para umamesma borda, então, uma deverá ser considerada falsa.

Contudo, a formulação matemática do 1º critérionão engloba necessariamente a questão de respostamúltipla, sendo necessário explicitá-la.

2.1 Detecção e Localização

Teoricamente estabelecidas as metas dedesempenho de um detetor de bordas, o que se quer agoraé sintetizá-las matematicamente de modo a se tornaremuma ferramenta aplicável. Sem perda de generalidade, ossinais serão trabalhados de forma unidimensional, pois ocomportamento das bordas é análogo para o casobidimensional, exceto no caso da ocorrência de quinas.

A filtragem de uma borda ruidosa com o filtro dafigura 1a) (operador diferença), dá origem a um sinalfiltrado que apresenta muitos máximos locais(serrilhamento). Porém, quando a borda é filtrada com ofiltro mostrado na figura 1b), o que se obtém é um sinalfiltrado mais suave (Canny, 1986).

Figura 1 – Filtros diferenciais

Em seu trabalho, Canny (1986) explicita que asbordas devem ser consideradas como um máximo local noresultado da filtragem (figura 2). Por este motivo, o filtroda figura 1a) não tem desempenho tão bom quandocomparado ao filtro da figura 1b), pois o sinal resultanteda filtragem é "serrilhado", podendo apresentar mais deum máximo nas adjacências da borda.

b)g(x)

x

f(x)

a) x

Page 3: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002.

G. Vale; A.. Dal Poz

Figura 2 - Ilustração da borda G(x) como máximo localna saída do operador (H G (x))

Serão abordadas inicialmente as questões relativasà razão sinal/ruído e à localização.

Seja f(x) a resposta de impulso do filtro e G(x) aborda. Assumi-se que a borda está centrada em x = 0.Então, a resposta de impulso do filtro para esta borda, emrelação ao seu centro, é dada pela convolução:

∫− −=W

WG dx)x(f)x(GH (1)

assumindo que o filtro tem resposta de impulso finito nointervalo [-W , W] com W < ∞ , ou seja, o suporte dofiltro (conjunto de pontos do domínio onde a função nãose anula) é compacto (Limitado e Fechado) (Gomes,1994). O erro médio quadrático da resposta para o ruídon(x) somente, será:

[ ]{ } 21

W

W

20

212

n dx)x(fn)x(f*)x(nEH

== ∫− (2)

onde n² 0 é a amplitude do ruído médio quadrático porunidade de comprimento, ou seja, n² 0 é o quadrado daquantização do ruído (Lim, 1990). Defini-se então oprimeiro critério como o resultado da razão sinal/ruído,expresso pelo quociente das respostas acima descritas:

−−

=W

W

20

W

W

dx)x(fn

dx)x(f)x(GSNR (3)

Na equação 3, acima, pode-se perceber que se odenominador, que é o erro médio quadrático da respostapara o ruído somente, tender à zero, SNR aumentará, istoé, se o ruído na imagem for próximo de zero a detecçãoserá tanto melhor. Dessa forma percebe-se que a formamatemática sintetiza bem a noção intuitiva.

Como as bordas estão centradas em x = 0, naausência do ruído deveria haver neste ponto um máximolocal, para a resposta. Sendo esta representada porH G (x), então H' G (0) = 0. Se H n (x) é a resposta do filtropara o ruído somente, então a resposta total pode ser

expressa como H n (x) + H G (x). Se esta resposta total temum máximo em x 0 , então:

H' n (x 0 ) + H' G (x 0 ) = 0 (4)

Lembrando que a Série de Taylor é dada por:

f(x) = f(x 0 ) +!1

h f '(x 0 ) +!2

h2f '' (x 0 )+ ...+

!nhn

f n ( x 0 )+..

onde h = x - x 0 , com x∈ℜ .Logo, a expansão de Taylor de H' G (x 0 ), em

relação à origem (Mac-Laurin), é dada por:

H' G (x 0 ) = H' G (0) + x 0 H'' G (0) + O(x 20 ) (5)

Notar que:

H' G (x 0 ) = H' G (0) + (x 0 - 0)/ 1! H'' G (0) + O(x 20 ) (6)

Como H' G (0) = 0 o primeiro termo da expansão(eq. 5) é ignorado. Além disso, como x 0 é pequeno,ignora-se os termos quadrático e de ordem superior.Assim, das equações 4 e 5, tem-se:

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

Pois:

H' G (x 0 ) ≅ x 0 H'' G (0)

E, substituindo a equação acima na equação 4:

H' n (x 0 ) + H'' G (0) x 0 ≅ 0

H' n (x 0 ) é uma quantidade randômica Gaussiana esegundo Canny (1986) sua variância é dada por:

∫−W

W

2200n dx)x('fn = )²] (x E[H' (8)

onde E[y] é o valor esperado de y (esperança de y).Combinando este resultado com a equação 7 (substituindoH' G (x 0 ) por x 0 H'' G (0)), tem-se:

G(x)

H G (x)x

x

Page 4: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002.

G. Vale; A.. Dal Poz

202W

W

W

W

2202

0 x

dx)x('f)x('G

dx)x('fn]x[E δ=

− (9)

onde 0xδ é uma aproximação para o desvio padrão dex 0 .

Finalmente, a localização é definida como oinverso de 0xδ , isto é:

−−

=W

W

20

W

W

dx)x('fn

dx)x('f)x('GoLocalizaçã (10)

As equações 3 e 10 são as fórmulas matemáticaspara o primeiro e o segundo critérios e reduzem oproblema de projeto do filtro à maximização de ambas asfórmulas, simultaneamente. A fim de que isso ocorra,maximiza-se o produto da primeira equação pela segunda.Por enquanto será usado o produto dos critérios parabordas arbitrárias, isto é, se buscará maximizar:

−−

W

W

20

W

W

dx)x(fn

dx)x(f)x(G

−−

W

W

20

W

W

dx)x('fn

dx)x('f)x('G (11)

Esta equação deve possuir uma injunção adicionalna solução, pois, até aqui, nenhuma definição sobre aeliminação de respostas múltiplas foi descritamatematicamente. Tal problema será explicitado napróxima seção.

2.2 Eliminação de Respostas Múltiplas

Ao se estabelecer o problema de detecção debordas, foi especificado que as bordas deveriam serdetectadas como máximos locais na resposta de um filtrolinear aplicado à imagem. Os critérios de detecção atéaqui introduzidos medem a eficácia do filtro nadiscriminação entre o sinal e o ruído no centro da borda.Porém tais critérios não levam em consideração ocomportamento nas proximidades da borda.

Como poderá ser visto a seguir, o primeiro e osegundo critérios podem ser trivialmente maximizados.

Seja k e h duas funções reais integráveis em [a, b],então a desigualdade de Schwarz para integrais é dadapor:

dx)]x(h[.dx)]x(k[dx)x(h).x(kb

a

2b

a

22b

a ∫ ∫∫ ≤

Pela desigualdade de Schwarz, acima descrita, paraintegrais, mostra-se que SNR é limitado superiormentepor:

n ∫−− −

W

W

210 dx)x(G (12)

E o limite superior para a Localização:

n ∫−− −

W

W

210 dx)x('G (13)

Se ambos os limites são atendidos, então o produtode SNR pela localização é maximizado quandof(x) = G(-x) para x ∈[-W, W].

Assim, de acordo com os dois primeiros critérios,o detetor ótimo de bordas tipo degrau deve possuirtambém a forma de um degrau, como o operadordiferença. Como este operador possui uma banda muitolarga, sua aplicação, gera, devido ao ruído, respostas commuitos máximos, gerando muitos máximos falsos deborda. Como foi visto anteriormente a filtragem comoperadores diferença apresenta inúmeros picos(serrilhado), nas adjacências da borda verdadeira,dificultando ou impossibilitando a seleção de um únicoponto de borda. É necessário adicionar aos critérios umquesito que diga que a função f não terá muitas respostaspara uma única borda na vizinhança do degrau. É antesnecessário limitar o número de picos na resposta, de modoque haja baixa probabilidade de serem detectadas maisque uma borda. O ideal seria fazer a distância entre ospicos na resposta do ruído se aproximar à largura daresposta do operador para um único degrau de borda. Estalargura seria uma fração da largura do operador.

A distância entre máximos adjacentes na respostade f devido ao ruído, denotado por x max , será o dobro dex zc , que é a distância média entre pontos críticos destaresposta, ou seja:

zcmax x2x = (14)

onde, x zc é dado por:

21

2

2

zcdx)x("f

dx)x('fx

π=

∫∫

∞+

∞−

∞+

∞− (15)

Pode-se, então, aproximar a distância x max paraalguma fração k da largura do operador:

kW)f(xmax = (16)

Page 5: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002.

G. Vale; A.. Dal Poz

A expressão 15 representa a injunção de respostamúltipla. Note que o número ótimo de k seria o queproporcionasse apenas um máximo para a região deresposta do filtro. Sendo 2W a largura da região onde seconcentra o suporte do filtro, o número de máximos (N n )da resposta devido ao ruído é dado por:

k2

kWW2

xW2Nmax

n === (17)

Lembrando que k é o número que estabelece adistância entre máximos na região de suporte do operador,verifica-se que quanto mais próximo de zero k estiver,maior será o número máximos devido ao ruído.

É interessante notar que a distância entre máximosvaria na mesma proporção com que a largura do operadoré escalonado. Para tanto, supor que λf é obtidoescalonando f por um fator de escala λ , i. e.,

λf (x) = f( λx ). Substituindo esta expressão na equação

14, tem-se que )f(x)f(x maxmax λ=λ , visto que se estálidando com um espaço de funções. Assumindo agora queo suporte do filtro f é [-W, W], tem-se que o suporte deλf é escalonado por λ , i. e., o suporte de λf é [-λW,

λW]. Portanto, as larguras de suporte de f e λf são,respectivamente, 2 W e 2 (λW). Fica então provado quea distância entre máximos e a largura do operador sãoescalonadas pelo fator de escala λ . Outra constataçãoimportante é que o número de máximos no intervalo desuporte de f é invariante em relação ao escalonamento def. De fato, o número de máximos Nn ( λf ) para λf é a

razão entre a largura de suporte de λf (i. e., λ (2W)) e o

intervalo entre máximos para λf (i.e., λ x max (f)), i. e.,Nn ( λf ) = λ (2W) / λ x max (f) = 2W / x max (f). Este éexatamente o número de máximos para f .

3 UM DETETOR PARA BORDAS (STEP EDGES)

Uma borda tipo degrau pode ser expressamatematicamente por G(x) = A u 1− (x), onde A é aamplitude da borda e u 1− (x) é dada por:

≥<

=− 0xpara,10xpara,0

)x(u 1 (18)

E substituindo G(x) na equação 3:

−− −

=W

W

20

W

W1

dx)x(fn

dx)x(f)x(AuSNR (19)

Como A é uma constante positiva, pode-se retirá-lada integral e do módulo e, como também u 1− (x) é nulopara x<0, a equação pode ser rescrita como:

∫+

−=

W

W

20

0

W

dx)x(fn

dx)x(fASNR (20)

Substituindo G(x) na equação 10:

∫+

+

−− −

=W

W

20

W

W1

dx)x('fn

dx)x('f.))'x(u(AoLocalizaçã (21)

Como u 1− (x) varia muito abruptamente em x = 0,logo (u 1− (-x))' ∞−→ , isto é (u 1− (x))' = - δ (x), sendoδ (x) o delta de Dirac (Butkov, 1968). Pode-se entãorescrever a equação 21 como:

∫∫

∫+

+

+

−=

δ−=

W

W

20

W

W

20

W

W

dx)x('fn

)0('fA

dx)x('fn

dx)x('f)]x([AoLocalizaçã

(22)

O numerador da Localização possui tal forma pois,pela propriedade de filtragem da função δ (x), tem-se(Butkov, 1968):

)0(hdx)x(h)x( =δ∫+∞

∞− (23)

onde h(x) é uma função contínua qualquer.

Quando se toma h (x) = f '(x), chega-se aonumerador da equação 22.

Ambos os critérios melhoram diretamente com arazão A/n 0 , que pode ser chamada razão sinal/ruído daimagem. Agora, remove-se esta dependência da imagem edefine-se duas medidas de desempenho ΛΣ e , as quaisdependem somente do filtro:

∑ ∑∫

∫+

−==

W

W

2

0

W

0 dx)x(f

dx)x(f)f(onde)f(

nASNR (24)

Page 6: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002.

G. Vale; A.. Dal Poz

∫+

=ΛΛ=W

W

20 dx)x('f

)0('f)'f(onde)'f(

nAoLocalizaçã (25)

Supor agora que λf seja um filtro escalonadoespacialmente, construído a partir de f, onde

λf (x) = f ( λx ), com λ >1 sendo um fator de escala.

Notar que se o intervalo de suporte de f é [-W, W], entãoo intervalo correspondente para λf é [-λW, λW]. Isso

significa que as larguras de suporte de impulso de f e λfsão respectivamente 2W e λ (2W). Pode-se dizer entãoque f é um filtro estreito e λf um filtro mais largo.

Quando se substitui λf nas equações (24) e (25), obtém-se as funções de desempenho do filtro escalonado:

)'f(1)'f(e)f()f( Λλ

=ΛΣλ= λλ∑ (26)

A primeira destas equações mostra que um filtro

λf com larga resposta de impulso terá melhor razãosinal/ruído que um filtro estreito quando aplicado àimagem. Matematicamente, se λ variar é imediato que

∑ λ )f( variará diretamente. A segunda implica que umfiltro estreito dará melhor localização que um largo.Matematicamente, se λ variar, então )f( '

λΛ terá umavariação inversamente proporcional a λ . Nota-se que asvariações são inversamente relacionadas, isto é, ambos oscritérios ou crescem ou decrescem por λ . Trata-seentão de um princípio de incerteza relacionado com adetecção (SNR) e localização, não podendo melhorá-lossimultaneamente, ou seja, se a localização melhora, entãoa detecção tem seu resultado piorado e vice-versa.

É interessante notar que esse resultado teórico estárelacionado com questões práticas de projetos de filtros dedetecção de borda. Por exemplo, quando se usa umamáscara de dimensão pequena, a sensibilidade aosdetalhes será maior. Infelizmente esta sensibilidade nãoaumenta apenas pelos detalhes reais da imagem, mastambém pelos detalhes espúrios da imagem, causadosprincipalmente pelo ruído da imagem. Com um filtrolargo ganha-se na detecção de detalhes mas perde-se emlocalização. A discussão acima sugere que o critério paradeterminação do filtro (f) ótimo é dado pelo produto dasequações (24) e (25), visto que este produto é invarianteàs mudanças de escala:

∫∫

∫+

+

−=ΛΣ

W

W

2W

W

2

0

W

dx)x('f

)0('f.

dx)x(f

dx)x(f)'f(.)f( (27)

A solução obtida a partir da maximização daexpressão 27 é uma classe de funções, todas relacionadasao longo do espaço-escala.

Encontrar a função f que maximize a equação 27 éum trabalho bastante complexo, que envolve o uso decálculo variacional. A aplicação desta técnica aindarequer que a equação 26 seja rearranjada através datécnica dos multiplicadores de Lagrange, que possibilita aobtenção de uma forma passível de ser, posteriormente,transformada na equação diferencial de 4ª ordem deEuler-Lagrange.

A solução geral para a equação de Euler-Lagrangeno semi-intervalo de suporte [-W, 0] tem a seguinteforma:

cxcosea

xseneaxcoseaxsenea)x(fx

4

x3

x2

x1

+ω+

+ω+ω+ω=α−

α−αα

(28)

onde ce,,a,a,a,a 4321 ωα são as incógnitas adeterminar.

A função 28 está sujeita às seguintes condições decontorno:

f (0) = 0 f (-W) = 0 f ' (0) = s f ' (-W) = 0 (29)

onde s é um incógnita constante igual à declividade dafunção f na origem. Visto que f (x) é assimétrica, pode-seestender a equação 28 para todo o intervalo de suporte[-W, W] usando o fato de que f (-x) = -f (x). As quatrocondições de contorno possibilitam encontrar asquantidades de 4321 aea,a,a em função das incógnitas

sec,, ωα . Aplicando as condições de contorno 29 àequação 28, obtém-se um sistema de equações para aobtenção dos valores de 4321 aea,a,a em função dasincógnitas sec,, ωα .

Como c é uma constante de integração gerada naobtenção da equação 28, pode-se arbitrá-la, ficando osparâmetros incógnitos reduzidos a 3 ( βωα e, =s/c).Infelizmente isso não reduz a complexidade do problema,pois ainda é necessário determinar os valores destesparâmetros que maximizam a condição de filtro ótimo(eq. 27). Se não bastasse, falta impor o critério de respostamúltipla. Como uma solução analítica para este problemaé inviável, um processo de otimização numérica érecomendado.

A forma do filtro f depende, então, da injunção derespostas múltiplas, isto é, depende da distâncias entre asrespostas adjacentes (x max ). Em geral, o ideal é que asrespostas adjacentes estejam o mais distantes possível,facilitando a separação do pico verdadeiro dos falsos.Segundo Canny (1986), quanto menor o espaçamentoentre as respostas adjacentes, mais íngreme é a função fna origem. Assim, um filtro muito íngreme, em relação àorigem, beneficia o critério de localização, mas não éfavorável aos outros critérios. Por outro lado, um filtromenos íngreme, em relação à origem, é desfavorável ao

Page 7: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002.

G. Vale; A.. Dal Poz

critério de localização, mas os critérios de detecção e derespostas múltiplas são beneficiados.

Portanto, o critério de otimização numéricamencionado acima deve encontrar um conjunto deparâmetros que balanceie otimamente os três critérios.Canny (1986) apresenta a seguinte expressão matemáticapara o critério de resposta múltipla:

Σ=σ

r)0('f

s (30)

onde sσ é o desvio padrão do ruído e r é o fator dedesempenho de resposta múltipla. O fator r varia nointervalo [0, 1] e, quanto mais próximo estiver de 1, maisafastadas estarão as respostas múltiplas.

Os resultados obtidos por otimização numéricapara vários filtros são dados na tabela 1. Os coeficientes

4321 aea,a,a , para todos estes filtros podem serencontrados tomado c = 1. O maior valor de r obtidousando otimização numérica é 0,576, que corresponde aofiltro n.º 6 da tabela 1.

Como mostra a tabela 1, o filtro que apresenta ummelhor balanceamento é o 6, sendo desta formadenominado ótimo. Entretanto, caso se esteja disposto àtolerar uma ligeira redução no desempenho r de respostamúltipla, pode-se obter uma melhora significativa nosoutros dois critérios. Por exemplo, os filtros 4 e 5 tem umproduto ΛΣ significativamente melhor que o filtro 6 esomente uma pequena redução de r. Quando plotados(figura 3), pode-se ver que os filtros 4 e 5 têm umadeclividade maior em relação à origem, sugerindo que oganho no desempenho está principalmente na localização.O desnível abrupto próximo à origem sugere que, naconvolução, as diferenças sejam drásticas, privilegiando alocalização, ao passo que, no filtro 6, a transição, naorigem, é mais suave e fornece um melhor balanceamentoentre detecção e localização, apesar de fornecer um menoríndice r.

Fonte: Canny, 1986Figura 3 - O operador ótimo para vários valores de x max .

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.

Tabela 1 - Parâmetros dos filtros e medidas dedesempenho de vários filtros

n maxx ΣΛ r α ω β1 0,15 4,21 0,215 24,5955 0,12250 63,975662 0,3 2,87 0,313 12,4712 0,38284 31,268603 0,5 2,13 0,417 7,85869 2,62856 18,288004 0,8 1,57 0,515 5,06500 2,56770 11,061005 1,0 1,33 0,561 3,45580 0,07161 4,806846 1,2 1,12 0,576 2,05220 1,56939 2,915407 1,4 0,75 0,484 0,00297 3,50350 7,47700

Fonte: Canny, 1986.

4 UMA APROXIMAÇÃO EFICIENTE

O filtro ótimo recém derivado (n.º 6, tabela 1),pode ser aproximado pela primeira derivada da funçãoGaussiana G'(x) (figura 4), onde:

σ−= 2

2

2xexp)x(G (31)

A razão para que se utilize esta função reside nofato de que ela apresenta uma eficiente forma paracomputar a extensão bidimensional do filtro. Para omomento, serão comparados o desempenho teórico daprimeira derivada da função Gaussiana com o operadorótimo.

Figura 4 - Primeira derivada da função Gaussiana

O filtro f fica então:

σ−

σ−= 2

2

2 2xexpx)x('G (32)

e os termos do critério de desempenho (eqs. 27 e 30) sãodados por:

∫∫

∞+

∞−

∞+

∞−

∞−

σπ

=σπ

=

=

322

0

s

43)x('f

2dx)x(f

1dx)x(f1)0('f

(33)

O índice de desempenho total (eq. 27) para esteoperador é:

92,0)'f(.)f( =ΛΣ (34)

1)

2)

3)

4)

5)

6)

7)

xG’(x)

Page 8: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002.

G. Vale; A.. Dal Poz

Enquanto o valor r calculado a partir da equação(30) é:

51,0rr)0('f

s=⇒Σ=

σ (35)

O desempenho ΣΛ da primeira derivada da funçãoGaussiana é 20% pior que o desempenho do operadorótimo. Quanto ao fator r, verifica-se que é pior 10%.Provavelmente, seria difícil detectar uma diferença destamagnitude visualmente, verificando-se o desempenho dosdois operadores em imagens reais, e, por causa daprimeira derivada do operador Gaussiano poder sercomputada com muito menos esforço em duas dimensões,dada também a sua simplicidade e separabilidade, ela temsido, na prática, usada com exclusividade.

A resposta de impulso dos dois operadores podemser comparadas, visualmente, na figura 5. Notar que asrespostas de impulso de ambos os filtros são bastantesemelhantes, o que intuitivamente sugere um desempenhosemelhante.

Figura 5 - a) Detetor Ótimo de Bordas; b) Primeiraderivada da função Gaussiana

5 ESTIMAÇÃO DO RUÍDO E LIMIARIZAÇÃO

A afirmação "não há imagem sem ruído",infelizmente é verdadeira. Independente da causa ou dotipo de ruído, a verdade é que ele sempre está presente e,por ser um evento randômico, não pode ser predito oumedido acuradamente em uma imagem, visto que, não sepode separar ruído de dados da imagem. Dada a naturezarandômica do ruído, o que se pode fazer, algumas vezes, écaracterizar seu efeito na imagem através de umadistribuição de probabilidade com média e desvio-padrãoespecíficos.

Existem dois tipos de ruído que podem ser tratadosdessa forma: ruído independente do sinal e ruídodependente do sinal.

O ruído independente do sinal é randômico eestatisticamente independente do dados da imagem, isto é,é adicionado aos pixels da imagem resultando umaimagem ruidosa (Parker, 1997). Freqüentemente, istoocorre quando uma imagem é eletronicamente transmitidade um local a outro ou até mesmo quando de suaaquisição (sensor). Pode-se expressar esta idéia através daadição:

B = A + N

onde B é a imagem ruidosa, A é a imagem sem ruído e Né o ruído, lembrando que A e N não são correlacionados.Comumente, por uma questão prática, assume-se que estetipo de ruído segue a distribuição normal (ruídoGaussiano), com média zero e um presumido desvio-padrão.

Quando se toma imagens com os parâmetros deruído conhecidos ( σµ e ), o que se verifica é que esteruído possui uma distribuição homogênea sobre aimagem. Dessa forma pode-se então, tratar o problema deestimação do ruído através da idéia de que bordas tambémfazem parte do ruído (Wiener-Hopf, apud Parker, 1997).A imagem seria filtrada e a variância do ruído seriaestimada a partir de uma média local calculada em umaárea restrita da imagem filtrada. Contudo, esta forma deestimação de parâmetros do ruído é sensível às bordas eos parâmetros estimados serão tendenciosos, tornando-sepouco úteis.

Uma solução para este problema consiste em seconstruir um histograma global da imagem filtrada(amplitude/freqüência) e analisá-lo, considerando que aresposta para as bordas são baixas freqüências comvalores altos de amplitude e que o ruído representará orestante das respostas. Assim, pode-se efetuar a médiacom valores de amplitude da imagem de entrada que, nohistograma, apresentem amplitudes menores que 80%, porexemplo.

No caso de ruído dependente do sinal o nível deruído para cada ponto na imagem é uma função de seunível de cinza (Parker, 1997). Isto é, o ruído estarelacionado ao nível de cinza dos pixels da imagematravés de alguma função. Felizmente esta forma de ruídoé menos importante e pode ser melhor contornado(Parker, 1997).

Até mesmo com a estimação do ruído, o detetor deborda é suscetível à fragmentação, principalmente se umúnico limiar for usado. A fragmentação é a separação deum contorno de borda causado pela flutuação da saída dooperador acima e abaixo do limiar, ao longo do contorno(Canny, 1986). Caso se tenha um único limiar 1T e,supondo que se tenha uma borda que possua uma médiade tons de cinza de mesmo valor ( 1T ), haverão valores daborda acima e abaixo do limar até mesmo quando o ruídoé insignificante. O resultado da limiarização serãofragmentos de bordas.

É também muito difícil fixar um limiar tal que hajauma pequena probabilidade de se detectar borda espúriaquando o detetor possui grande sensibilidade. Umasolução possível para este problema é efetuar a média damagnitude ao longo de parte do contorno da borda. Se amédia está acima de um limiar, o segmento inteiro édetectado. Se a média está abaixo do limiar, não sedetecta nenhuma parte do contorno.

Na implementação do operador de Canny alimiarização é efetuada com histerese (duplo limiar) e éacompanhada de um processo de "complementação dasbordas", isto é, se qualquer parte de um contorno estáacima do maior limar T 1 , então estes pontos sãoimediatamente detectados, formando um conjunto L1. O

a)

b)

f(x)

G(x)

x

x

Page 9: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002.

G. Vale; A.. Dal Poz

restante dos pontos que se encontram abaixo do maiorlimiar T 1 e acima do menor limiar T 2 (pontos docontorno e pontos não pertencentes a ele) formam umsegundo grupo de pixels L2. O procedimento algorítmicoconsiste em buscar no conjunto de pontos detectados L1 aocorrência de extremidades de contornos e, no segundoconjunto de pontos L2, escolher pixels que completemestes contornos. O algoritmo efetua este preenchimentoaté que não hajam mais fragmentos de contornos isoladosem L1 ou que não hajam mais pontos em L2 que possamser aproveitados.

A probabilidade de fragmentação é muito reduzidapois, para um contorno ser fragmentado, ele precisaflutuar sobre o maior limiar e abaixo do menor limiar.Também a probabilidade de falsos pontos de bordaisolados é reduzida pois a magnitude de tais pontosprecisa estar acima do maior limiar. A razão do maiorpara o menor limiar na implementação está na faixa dedois ou três para um, isto é:

2121 T3TouT2T == (36)

6 ASPECTOS ALGORÍTMICO E COMPUTACIONAL

No que diz respeito aos aspectos algorítmicos ecomputacionais, serão expostos abaixo alguns detalhesque se destinam à implementação do processo de detecçãoelaborado por Canny. Como se sabe, a convolução e adiferenciação são associáveis e a Gaussiana separável,dessa forma pode-se efetuar, a princípio, a suavização daimagem com o filtro de suavização Gaussiano, usandofiltragem separável. O resultado será uma matriz de dadosS[i, j], onde:

S[i, j] = G[i, j, σ ] * I[i, j] (37)

e σ é o desvio padrão da Gaussiana e controla o grau desuavização.

Esta etapa, por ser uma bastante usual, não requeruma explicação mais aprofundada.

O gradiente da matriz suavizada S[i, j] pode serentão computado por uma máscara 2x2 de aproximaçõesde primeira-diferença, para produzir duas matrizes dederivadas parciais P[i, j], derivada em x, e Q[i, j],derivada em y (Jain, 1995):

ou

P[i, j] ≅ (S[i, j+1] - S[i, j] + S[i+1, j+1] - S[i+1, j])/2

(38)

ou

Q[i, j] ≅ (S[i, j] - S[i+1, j] +S[i, j+1] - S[i+1, j+1])/2

(39)

onde * denota a convolução.

As diferenças finitas tem sua média efetuadaatravés das máscaras 2x2, mostradas acima, tal que, asderivadas parciais são computadas em pontos de mesmascoordenadas. A magnitude e orientação do gradiente sãocomputadas por fórmulas de conversão de coordenadasretangulares para polar:

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

])j,i[P],j,i[Qarctan(]j,i[ =θ (41)

onde a função arco-tangente toma duas componentes, emy e em x, e gera o ângulo da direção do gradiente.

Sabendo-se que pontos de borda são máximos noresultado da filtragem, pode-se então, selecionar estespontos e obter uma melhor localização para a bordaatravés da técnica de supressão não máxima. A supressãonão máxima é o anulamento de pixels cujos valores nãosão máximos locais, em perfis limitados, na direçãoperpendicular à borda, ou seja, busca-se, na direção dogradiente da imagem, por valores de pixels que sãomáximos locais.

A matriz de magnitudes da imagem M[i, j] terávalores maiores onde o gradiente é maior, porém, estefato não é suficiente para identificar as bordas. Note quebordas são caracterizadas por mudanças bruscas no nívelde brilho, logo, encontrá-las implica em encontrar locaisonde a magnitude de M[i, j] é um máximo local. Paraidentificar bordas, os cumes largos da matriz M[i, j]precisam ser afinados, tal que, somente a magnitude empontos de grande intensidade permaneçam.

A figura 6 ilustra o caso onde o pixel central (c, l)é examinado. O valor de (c, l) é um máximo local e adireção do gradiente é de 45º.

Neste caso, supondo que uma máscara 3x3percorre M[i, j] e compara a magnitude do gradiente dopixel central (c, l) com a magnitude de seu vizinho nosentido do gradiente (c+1, l-1) e com a magnitude de seuvizinho no sentido contrário ao do gradiente (c-1, l+1),verifica-se que os pixels em cinza terão seus valoresigualados a zero.

P[i, j] ≅ 1/2 x * S[i, j]

Q[i, j] ≅ 1/2 x * S[i, j]

Page 10: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002.

G. Vale; A.. Dal Poz

Figura 6 - Esquema de supressão não máxima quando adireção do gradiente é de 45º.

A supressão não máxima, então, afina os cumes demagnitude do gradiente em M[i, j], pela supressão detodos os valores ao longo da linha do gradiente que nãosão valores pico dos cumes.

O algoritmo começa por limitar o ângulo θ [i, j] dogradiente em um dos quatro setores da figura 7:

])j,i[(Setor]j,i[ θ=ζ (42)

Figura 7 –Setores considerados para a supressão nãomáxima

Esta forma de distribuição de setores é propostaem Jain (1995) e tem como objetivo classificar ângulosintermediários do gradiente por setores, visto que, naprática, pixels vizinhos do pixel de referência estarão emum destes quatro setores.

Estabelecidos os setores, uma máscara 3x3 épassada, de modo que seja feita a comparação do pixelcentral M[i, j], ao longo da linha do gradiente,comparando-o com seu dois vizinhos, de acordo com osetor ]j,i[ζ determinado.

Se a magnitude do elemento examinado M[i, j] nãofor maior que a de seus vizinhos, ao longo da linha dogradiente, então M[i, j] recebe zero de magnitude. Esteprocesso afina de modo geral os cumes até a espessura deum pixel. Assim, considerando esta etapa tem-se:

])j,i[],j,i[M(snm]j,i[N ζ= (43)

onde N[i, j] denota o processo de supressão não máxima.Os valores não nulos em N[i, j] correspondem a picos emM[i, j].

Apesar da filtragem Gaussiana suavizar a imageminicialmente, N[i, j] conterá muitos fragmentos de falsasbordas causadas por ruídos e detalhes de textura. Ocontraste dos fragmentos de falsas bordas é pequeno e,como já foi discutido anteriormente, pode-se pensar emeliminar detalhes espúrios por meio de uma limiarizaçãoaplicada em N[i, j], ou seja, os valores N[i, j] abaixo dolimiar serão mudados para zero.

Mesmo com a aplicação da limiarização, falsasbordas ainda ocorrerão. A permanência de falsas bordas,após a limiarização de N[i, j], pode ter como motivo aescolha de um limiar τ baixo (falso positivo) e/ou pelaocorrência de porções de contorno real que podem tersido perdidos (falso negativo) devido à suavização docontraste da borda por uma sombra ou devido à escolhade um limiar τ alto demais. A escolha do correto limiar édifícil e envolve tentativa e erro.

Um esquema de limiarização eficaz, como foivisto, envolve o uso de histerese, que consiste nalimiarização com dois limiares 1τ e 2τ , com

1τ ≅ 2 2τ ou 1τ ≅ 3 2τ .Aplica-se a limiarização duas vezes, em N[i, j],

uma com 1τ e outra com 2τ , e se obtém,respectivamente, duas imagens limiarizadas T1 [i, j] eT 2 [i, j]. Dessa forma T 1 conterá poucas falsas bordas,porém poderá ter falhas de contorno (falsos negativos). Oalgoritmo de dupla limiarização liga bordas por curvas.

Quando o algoritmo encontra o fim de umcontorno em T 1 ele busca em T 2 , através de umavizinhança-de-8, por as bordas que podem ser ligadas aocontorno em T 1 . O algoritmo continua a completarbordas de T1 a partir de pontos buscados em T 2 até quedescontinuidades de bordas de T1 tenham sido eliminadasou que não hajam pontos em T2 que possam seraproveitados. O algoritmo efetua a complementação dasbordas como um subproduto do histerese e solucionaalguns problemas da escolha de limiar.

O algoritmo do Operador de Canny fica:1. Ler a imagem I[i, j] a ser processada;2. Criar uma máscara de suavização Gaussiana

G[i, j, σ ] para convoluir com a imagem deentrada I[i, j]. O desvio padrão destaGaussiana é um parâmetro para o detetor deborda;

3. Usar aproximações de diferenças finitas(equações 38 e 39) para se obter as derivadasparciais sobre a imagem suavizada e computea magnitude M[i, j] e orientação do gradienteθ [i, j](equações 40 e 41);

4. Aplicar a supressão não máxima na magnitudedo gradiente (equação 43);

5. Usar o algoritmo de histerese para detectar eefetuar a complementação das bordas (síntesede feição); e;

00

1

1 3

2

2

3

90º

135º

180º

225º

270º

315º

45º

c -1 c c +1

l - 1

l

l+1

Direção daBorda

M[i, j]

Direção doGradiente

Page 11: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002.

G. Vale; A.. Dal Poz

6. Armazenar/visualizar as borda detectadas.

7 EXPERIMENTO E AVALIAÇÃO

Nesta subseção são apresentados alguns relutadose a avaliação do processo de detecção de bordas. Osresultados obtidos foram gerados através de um programade computador em linguagem C.

Figura 8 – Imagem de sintética

Figura 9 – Detecção efetuada com σ =1

Figura 10 – Detecção efetuada com σ =3

A detecção foi efetuada em uma imagem sintética(figura 8) e em uma imagem real (figura 11). De acordocom a teoria de Canny, os limiares foram mantidos fixos,sendo que o maior limiar corresponde a 30% da escala detons de cinza e o maior limiar corresponde a 80%. Odesvio-padrão da Gaussiana utilizada para suavizaçãovariou, sendo que os valores utilizados foram: σ = 1 nasfiguras .9 e 12 e σ = 3, nas figuras 10 e 13. A imagemsintética foi feita no software Paint Shop Pro™ e nela foiadicionado 25% de ruído.

Figura 11 – Imagem de sintética

Figura 12 – Detecção efetuada com σ =1

Figura 13 – Detecção efetuada com σ =3

Page 12: O PROCESSO DE DETECÇÃO DE BORDAS DE CANNY: FUNDAMENTOS ... · RESUMO: Este artigo descreve e discute os fundamentos teóricos e os aspectos algorítmico e computacional do processo

Anais do Simpósio Brasileiro de Geomática, Presidente Prudente - SP, 9-13 de julho de 2002.

G. Vale; A.. Dal Poz

Tanto na detecção com a imagem sintética comona detecção com a imagem real, pode-se ver nitidamenteque quanto maior o desvio-padrão menor a quantidade debordas espúrias. É necessário, no entanto, se tomarcuidado com o σ adotado na suavização pois, se formuito alto haverá um borramento das bordas e,consequentemente, um decréscimo na localização edetecção. Os resultados do detetor, em ambos os casos,mostrou-se satisfatório. Verifica-se que em todas asimagens, mesmo aquelas detectadas com alto σ ,praticamente não houve fragmentação das bordas, o que,comprova a eficácia do "processo de completar bordas"com os resultados do histerese. O detetor também semostrou eficiente na localização das bordas. Taldesempenho é devido à supressão não máxima, que reduzas bordas a um pixels de espessura.

8 CONSIDERAÇÕES FINAIS

Ao se utilizar um detetor de bordas, espera-se que,a partir de seu resultado final, se possa encontrar osobjetos de interesse com pouco esforço computacional,com baixa probabilidade de ambigüidade e com nívelsatisfatório de acurácia.

De acordo com os exemplos analisados, verificou-se que o processo de detecção de bordas de Cannymostrou-se bastante flexível, independente da origem daimagem utilizada. Mesmo visualmente, pode-se verificarque a fragmentação das bordas relevantes da imagem foiminimizada, mesmo com o uso de um alto σ . Tal fatopode ser atribuído ao comportamento satisfatório doprocesso de histerese. Cabe lembrar que, mesmo sendorobusto e eficiente ao detectar bordas, o operador deCanny ainda está suscetível aos efeitos indesejáveis dasuavização Gaussiana. No entanto, se σ é adotado demodo coerente, i. e., estimado a partir da quantização doruído o balanceamento entre detecção e localizaçãopropicia uma resultado de ótima qualidade.

Por último, vale ressaltar que a supressão nãomáxima combinada com a histerese permite obterinformações de contorno com alta qualidade e riqueza dedetalhes, o que certamente beneficia as etapassubsequentes de qualquer processo automático ou semi-automático de extração de feições cartográficas emimagens digitais.

AGRADECIMENTOS

Os autores agradecem à CAPES, pelo suporte, soba forma de bolsa de Demanda Social CAPES, concedidaao mestrando Giovane Maia do Vale a partir de 1 de maiode 2001.

REFERÊNCIAS

BUTKOV, E. Física Matemática. St. Jhns's University,New York - Editora Guanabara S. A. - pp. 224 - 239,1968.

CANNY, J. A Computational Approach to EdgeDetection. IEEE Transactions on Pattern Analysis andMachine Intelligence, V. 8, n. 6, pp. 679-698, 1986.

GOMES J., VELHO L. Computação Gráfica: Imagem.Série de Computação e Matemática. IMPA/SBM, Rio deJaneiro, 424 p, 1994.

JAIN, R.; Kasturi, R; Schunck, B. G. Machine Vision.MIT Press and McGraw-Hill, Inc New York – 1995

LIM, Jae S. Two-dimensional signal and imageprossecing. Department of Engineering and ComputerScience Massachusetts Institute of Technology - PenticeHall PTR - 1990.

PARKER, J. R. Algorithms for Image Processing andComputer Vision. John Wiley & Sons, Inc., New York,417p, 1997.

ZIOU D., TABBONE S. Edge Detection Techniques -An Overview. International Journal of PatternRecognition and Image Analysis,Vol. 8, No. 4, pp. 537-559, 1998. also Technical Report, No. 195, Dept. Math. etInformatique, Université de Sherbrooke, 41 pages, 1997.