identificação automática de bordas com o uso detransformadas

Propaganda
I SBAI - UNESP - Rio Claro/SP - Brasil
Identificação automática de bordas com o uso de Transformadas Rápidas de Fourier
MARCOS LUIZ MUCHERONI 1
PAULO ESTEVÃO CRUVlNEL2
EDSON ROBERTO MINATEL 1
1UFSCar-Departamento de Computação
Rodovia Washington Luis km. 235
13560- São Carlos - S.P, Brasil
2EMBRAPA-CNPDIA
Rua XV de Novembro no. 1452
13560 - São Carlos, SP. Brasil
cruvinel@npdia . embrapa . ansp.br
Abstract. In this paper it is presented an algorithm for both automatic identification and edge detection
present onto an image. It has been used both a Fast Fourier Transform analysis and a Laplacian computation
over an f(x,y) image. Moreover the results obtained showed the usefulness of this method to identify and to
detect edges of different format from an unknown image under analysis. This algorithm was implemented in
the C++ language on Silicon Graphics workstation.
I - Introdução
Uma borda em uma imagem pode ser entendida como limites de uma região onde significativas mudanças podem
proporcionar uma série de efeitos físicos, tais como reflectância superficial ou mesmo um melhoramento quanto a
visualização. Mudanças em aspectos físicos estão correlacionados com mudanças em intensidade, cores e textura.
Diversas aplicações necessitam do reconhecimento de bordas, e incluem desde identificação de aberrações de
cromos somas [Bille et al (1983)], análises em pesquisas agropecuárias [Roth et alo (1985)] e [Cruvinel (1992)], como
também em tarefas gerais como na identificação de objetos [Brady (1982)]. Um certo numero de trabalhos têm sido
publicados indicando as vantagens do uso de operadores direcionais [ Huertas (1986) ] e rotacionalmente invariantes [
Brady (1983)]. A identificação de bordas pode ser classificada em dois tipos de operadores direcionais: gradientes e
segundos derivativos. O objetivo de um algoritmo para a identificação de bordas está em localizar regiões onde a
intensidade/cor dos pixels muda muito rapidamente. Assim para uma imagem f(x, y) o cálculo do gradiente ou do
Laplaciano pode ser dado respectivamente por:
V f(x, y)=
a f(x, y)
ax
v2 f(x, y)
IX +
2
= a f(x,2 y)
ax
a f(x, y)
A
ay
+
A
Iy
a2 f(x, y)
_..:........:...<..:..
ay2
(1)
( 2)
onde IX e Iy são os vetores unitários nas direções x e y respectivamente.
O operador gradiente, na identificação de bordas, responde com uma amplitude máxima de sinal acusando a
borda, quando encontrada na imagem. Por outro lado os operadores Laplacianos, segundo derivativos, respondem com
um corte abrupto à passagem pelo zero, localizando assim a borda. Esta operação encontra um melhor resultado em
função de quanto maior for a relação sinal/ruído na imagem.
Neste trabalho procurou-se implementar a identificação automática de bordas através do uso de Transformada
de Fourier para o cálculo do Laplaciano em imagens f(x, yl.
A intensidade da imagem foi colocada em níveis de pseudo-cores, numa escala que vai desde tons escuros até o
branco, em conjunto com tons de amarelo, tons de verde e finalmente tons de azul. Assim tem-se que, em termos de
valores quantizados:
cinza < amarelo < verde < azul
- 520-
I SBAI - UNESP - Rio Claro/SP - Brasil
D- A Transformada de Fourier, a Separabilidade, o Deslocamento e o Laplaciano.
Uma maneira de obter-se o Laplaciano na análise de sinais e imagens é obtendo sua relação com a Transformada
de Fourier, podendo-se para isto fazer-se o uso de sua transformada rápida ( FFT).
Sendo X(x) uma função contínua da variável real x, a Transformada de Fourier F{X(x)} é definida pela equação:
00
F{X(x)} = Z(U)
= fX(x)e-i21tuXdx
(3)
-00
onde i = {:1 .
A Transformada de Fourier de uma função X(X) é uma função complexa do tipo:
Z(U) := Re(u) + i Im(u)
(4)
sendo um resultado importante a magnitude IZ(U) I, a qUal é chamada de espectro de Fourier e é dado por:
IZ(u) I = IRe 2 (u)
+ Im 2 (u) I 1/2
(5)
A variável u é chamadafreqUência devido o fato que, usando a fórmula de Euler, o termo exponencial pode ser
expresso na forma:
e-i 21tux =COS 21tux - i sen 21tux
(6)
A função contínua X(x) da variável x, da equação (3), pode ser expressa como um somatório de senos e cosenos,
os quais contém as componentes em freqüência da função . Pode-se desta forma, com uso da equação (6), obter-se
para cada componente u a resultante em função da freqüência.
Assim, dado Z(u), pode-se obter X(X) usando a Transformada de Fourier Inversa, dada por
r
]
{Z(u)}
= X(X) =
00
fZ(u) ei21tux du
(7)
Estes resultados podem ser extensíveis às funções XX(x, y) de duas variáveis e sua transformada ZZ(u, v). Se
XX(x, y) e ZZ(u, v) são contínuas e integráveis, pode-se obter os seguintes pares:
F{xx(x,y)}
= ZZfu,v) =
00
f f XX(x,y)e- i21t (ux+vy) dxdy
(8)
-00
e a sua inversa:
-]
F {ZZfu, v)}
=XX(x, y) =
00
f f ZZ(u, v)e i21t (ux + VY)du~v
(9)
-00
Sendo X(n) uma função discreta de N amostras, tem-se a Transformada Discreta de Fourier e sua inversa dadas
por:
- 521 -
I SBAI - UNESP - Rio ClarolSP - Brasil
'2
IN
1 N-1
Z(u) = N L X(n) el 1tun
(10)
N=O
e sua inversa dada por:
X(n)
N-1
L Z(n) e-I'21tuxlN
(11)
N=O
No caso de duas variáveis, tomando M por N amostras, os pares da Transformada de Fourier Discreta serão:
1 M-1 N-1
ZZ(u,v) = MN L
L XX(m,n)e- '121t(un/N +vm/M)
(12)
m=On=O
XX(m,n)
i i
M 1 N 1 ZZ(u,v)ei21t(un/N + vm/M)
(13)
u=O v=O
Três propriedades foram destacadas para a Transformada Discreta de Fourier de duas variáveis, neste trabalho, ou
seja:
lU) A propriedade da Separabilidade, que permite a implementação da Transformada Bi-dimensional, obtida a
partir da equação (12), com M = N (imagem quadrada), é dada por:
1 N-1 '2
IN
ZZ(u,v) = N2 L e-I 1tun
I 1tvn IN
L X(m,n)e- '2
N-1
(14)
n=O
n=O
Nota-se que na equação (14) o somatório á direita só depende de v. Assim chamando-se a Transformada unidimensional a direita de Z(n), tem-se:
1 N-1
'2
IN
ZZ(u,v) = N L Z(n)e -I 1tnu
(15)
n=O
Logo ZZ(u, v) é uma transformada uni-dimensional dependendo apenas de u.
Obtendo-se n funções de ZZ(fl) para cada transformada da função Z(n), pode-se simplificar ZZ(fi) tomando-a
uni-dimensional para fi = 0,1 , ... N2, ou seja:
ZZ(u, v) = ZZ(fl)
(16)
Por simplicidade, passa-se a denotar ZZ(fi) como ZZ(n), lembrando-se que n = 0,1 , ... N2,
Esta propriedade permite a implementação do FFT bi-dimensional a partir do uni-dimensional, podendo assim
utilizar seus algoritmos.
A implementação do algoritmo da Transformada Rápida de Fourier foi feita utilizando-se o algoritmo radix-2
[Pi"euss (1982)], com otimizações.
11.2) A Periodicidade. que permite a apresentação da Transformada de Fourier Bi-dimensional deslocando-a um
quadrante acima e à esquerda, pois:
ZZ(u, v) = ZZ(-u,-v)
- 522-
(17)
1
SSAI - UNESP - Rio Claro/SP - Brasil
ou, quando apresentada a magnitude:
IZZ(u, v) I = IZZ(-u,-v) I
(18)
A propriedade pode facilmente ser demonstrada tomando-se o módulo (magnitude) da Transformada Discreta de
Fourier Bi-Dimensional [Gonzalez(1987)] .
Através desta propriedade pode-se deslocar a imagem, bastando para isto que seja tomado apenas o seu espectro,
conforme a equação ( 18 ), o que permite assim uma visualização melhor das componentes presentes no espectro.
11.3) A propriedade do Laplaciano estabelece que o mesmo pode ser obtido através do uso da Transformada
inversa de Fourier levando-se em conta a soma dos quadrados das componentes em freqüência vezes a Transformada
de Fourier F(u,v) da imagem, ou seja:
(19)
Entretanto é necessário observar que tomando-se apenas a magnitude o Laplaciano não identificará mais a
passagem por zero e sim uma passagem abrupta por um nível intermediário, criando um conjunto de pixels, neste
nível, que identifica a borda.
111-0 Algoritmo do Laplaciano e Resultados
A Figura 1 abaixo ilustra em pseudo-código o algoritmo do Laplaciano desenvolvido.
O algoritmo de FFT implementado foi o Radix-2, sendo usado um mapeamento que permite transformar imagens
em vetores uni-dimensionais, sem alterar as propriedades da Transformada Discreta de Fourier. Conforme
desenvolvido na equação (16), o mesmo foi implementado no procedimento FFT (XX [N 2 )) significando assim a
Transformada Bi-dimensional de Fourier de XX (x I Y) mapeada em N2 elementos unidimensionais e
IFFT (ZZ [N 2 )) a Transformada de Fourier Inversa.
O vetor auxiliar CXAux [N 2 ) é · usado para armazenar temporariamente a imagem XX (x, y) I a a ser
analisada.
A função ZZL (N 2 ) denota o Laplaciano em freqüência obtido através do algoritmo que toma uni-dimensional a
Transformada de sinais bi-dimensionais, conforme o termo à direita da equação (19), a menos da Transformada
Fourier Inversa. Tomando-se esta transformada inversa obtém-se o Laplaciano.
inicio 1
Tome o tempo(horas,minutos,segundos);
CXAu~ [N2 ) = FFT (XX [N 2 ) ) ;
Para i = O até N2 faça:
inicio 2
U = i MOD N;
V = i DIV N;
fator = sqr(N/2-U) + sqr(N/2-V);
ZZL[i) = - sqr(2*PI)*fator*CXAux[i);
fim 2
Salve Vetor ZZL[i) em Disco;
Laplaciano[N 2 ) = IFFT (ZZL[N 2 ));
Mostre o Tempo de execução;
fim 1
Figura 1 - Pseudo código do algoritmo de identificação e detecção de bordas .
- 523-
I SBAI - UNESP - Rio Claro/SP - Brasil
Para se verificar a viabilidade do algoritmo desenvolvido utilizou-se a linguagem C++ e usou-se uma
'W orkstation Silicon Graphics' modelo 'Indigo' em ambiente 'UNIX'.
A interface gráfica foi desenvolvida com a 'Graphics Library' da 'Silicon Graphics' sobre ambiente compatível
com o X-Windows, o '4D-Gifts'.
Foram implementados os núcleos que possibilitam o cálculo do Laplaciano, bem como o cálculo da FFf e sua
inversa em imagens de 256x256 pixels por 256 tons, necessitando da ordem de 2.5 segundos para serem calculadas.
Uma imagem de 512x512 pixels ocupa a CPU por 10 segundos.
Devido a discretização envolvida na exibição das imagens, cuidados foram tomados para a visualização das
bordas detectadas. Assim, utilizou-se um recurso de filtragem, o qual identifica as mudanças abruptas de intensidades
presentes na imagem, possibilitando uma melhor visualização do resultado obtido com o operador Laplaciano. Esse
recurso é a limiarização (oothreshold que consiste na atribuição um único valor (uma cor fixa) a uma faixa de valores
da imagem resultante. Com isso consegue-se uma melhor continuidade das bordas identificadas.
Comparativamente, este método de identificação com uso da Transformada Rápida de Fourier é mais rápido que
os métodos que utilizam Convolução direta das imagens com máscaras pré-projetadas como, por exemplo, na análise
de figuras com texturas complexas, no que geralmente resulta em descontinuidades das bordas identificadas.
Com a convolução direta há a necessidade de se projetar préviamente a melhor máscara para a identificação de
bordas e no método pór Transformada de Fourier essa identificação é automática.
Outra vantagem é evidenciada pelo fato de se poder variar os valores da limiarização, adequando as larguras das
bordas convenientemente sem a necessidade de que novos cálculos sejam efetuados.
A figura 2 ilustra as etapas realizados onde as imagens têm 256 x 256 pixels, em 256 níveis de intensidade
divididos em pseudo-cores. Em ( 2a ) tem-se uma imagem genérica a ser analisada, composta por contornos diversos.
Em ( 2b ) tem-se a FFf da imagem apresentada em ( 2a ) já rearranjada para visualização. Em ( 2c) encontra-se
apresentado o resultado do calculo do Laplaciano, e em ( 2d ) o resultado do reconhecimento e da identificação das
bordas encontradas na imagem apresentada em ( 2a).
OO
),
- 524-
I SBAI - UNESP - Rio Claro/SP - Brasil
(a)
(b)
(c)
(d)
Figura 2 - (a) Imagem a ser analisada; (b) FFT rearranjada da imagem (a); (c) resultado do Laplaciano no
espaco em frequencia; (d) resultado da deteccao e o reconhecimento das bordas e contornos.
- 525-
I SBAI - UNESP - Rio Claro/SP - Brasil
IV - Conclusão
Os resultados encontrados levam a conclusão de ser este um algoritmo automático desenvolvido para a
identificação de bordas presentes em uma imagem sob análise. Os resultados obtidos trazem uma altenativa
metodológica para uso em vários campos da ciência aplicada e em particular na área agrosilvopastoril onde a
necessidade da rápida identificação de bordas e contornos se faz presente, bem como em aplicações onde a inspeção
visual é necessária.
Agradecimentos
Os autores agradecem o apoio institucional da EMBRAPA-CNPDIA e da UFSCar, Departamento de
Computação, bem como à FAPESP pelo suporte financeiro através dos processos 90/3773-7 e 9212/92. Agradecem
também o apoio científico dos pesquisadores Silvio Crestana e André Torre Neto.
Referências
Bille, J., Scharfenberg, H., and Mãnner, R., " Biological dosimetry by cromosome aberration scoring with parallel
image processing with the Heidelberg polyprocessor system OI, Computer in Biology and Medicine, 13 (1983) 49-79.
Brady M., "Computional approaches to computer vision" ACM Computers Surveys, 141 (1982) 3-71.
Brady M.and Hom, B.K.P., "Rotationally symetric operators for surface interpolations" Computer Vision, Graphics,
Image Processing, 12 (1983) 1-27.
Cruvinel, P.E ., "Electronics as an important tool for modem agriculture and the experience of the nucleus of research
and development of agricultural instrumentation NPDIA- EMBRAPA", in :II Escuela Latino Americana de Física de
Suelos, Buenos-Aires, Argentina, (1992).
Gonzalez, R.c., and Wintz, P., Digital Image
Processing, Addison-Wesley Pub. Co., 2 ed., 1987.
Huerta,>, A. and Medioni, G., "Detection of intensity changes with sub-pixel accuracy using Laplacian-Gaussian
masks" , IEEE Transaction Pattems Analysis and Machine Intelligence, PAMI-8 5 (1986) 651-664.
Preuss, R.D., "Very fast Computation of the Radix-2 Discrete Fourier Transform" IEEE Acoustic, Speech and Signal
Processing, 30 (1982) 595-607.
Roth, c.H., Henklain, J. C. e Farias, G.S., " Avaliação do tamanho de gotas de chuva natural e simulada para o norte
do Paraná OI, Revista Brasileira de Ciência do Solo, 9 (1985) 171-174.
- 526-
Download