+ All Categories
Home > Documents > Zero Crossing Detector on Curve Using Laplacian of Gaussian (LoG)

Zero Crossing Detector on Curve Using Laplacian of Gaussian (LoG)

Date post: 17-Jul-2015
Category:
Upload: jans-hendry
View: 153 times
Download: 0 times
Share this document with a friend
Description:
[Digital Image Processing] Mar. 14ZERO CROSSING DETECTOR USING LAPLACIAN OF GAUSSIAN (LoG)Laplacian dapat digunakan untuk deteksi tepi pada sebuah citra. Deteksi tepi ini menggunakan zero crossing yang dihasilkan dari turunan kedua f(x). Dengan prinsip zero crossing tersebut, bukan hanya pada citra tapi Laplacian dapat digunakan pada kurva 1 dimensi. Bagaimana hal tersebut bisa dilakukan? Kita coba membahas itu. Laplacian satu dimensi dirumuskan sebagai: , ,,=∇,=+Jika kita menggun
5
 D I @.& GM, I 1   EO COING DEECO ING LALACIAN OF GAIAN (LG) L . D (). D , L 1 . B ? K . L :              J 1 () L :      K LG L G. B LG 1 . K :  I .  H .  L . LG . A :   . D , .  L L G (LG) .  L . LG .
Transcript

5/14/2018 Zero Crossing Detector on Curve Using Laplacian of Gaussian (LoG) - slidepdf.com

http://slidepdf.com/reader/full/zero-crossing-detector-on-curve-using-laplacian-of-gaussian-log 1/4

 

[Digital Image Processing]

[[email protected]{ee&it UGM, Indonesia}] Page 1 

Mar. 14

ZERO CROSSING DETECTOR USING LAPLACIAN OF GAUSSIAN

(LoG)

Laplacian dapat digunakan untuk deteksi tepi pada sebuah citra. Deteksi tepi ini menggunakan

zero crossing yang dihasilkan dari turunan kedua f(x). Dengan prinsip zero crossing tersebut,

bukan hanya pada citra tapi Laplacian dapat digunakan pada kurva 1 dimensi. Bagaimana hal

tersebut bisa dilakukan? Kita coba membahas itu.

Laplacian satu dimensi dirumuskan sebagai:

, = ∇ , = ,

+

 ,

 

Jika kita menggunakan gaussian 1 dimensi sebagai fungsi f(x) nya maka Laplacian menjadi:

= −

 

Kemudian ini disebut sebagai LoG atau Laplacian of Gaussian.

Bagaimana kita menerapkan LoG dalam mendeteksi zero crossing dalam sebuah kurva 1

dimensi. Kita coba menyusun langkah-langkah sebagai berikut:

-  Isyarat atau data terlebih dahulu dikonvolusikan dengan fungsi gaussian.

-  Hasil konvolusi kemudian ditemukan zero crossingnya dengan mengkonvolusikannya

dengan fungsi laplacian.

-  Lokasi dari zero crossing merupakan titik dimana terjadi perubahan nilai dari positif ke

negatif atau negatif ke positif atau bisa saja dari nol ke positif atau dari nol ke negatif 

pada isyarat asli. Sementara indikator pada fungsi LoG nya adalah perubahan nilai dari

negatif ke positif atau positif ke negatif.

Atau dengan langkah-langkah berikut:

-  Terlebih dahulu fungsi gaussian dikonvolusikan dengan fungsi laplacian. Dengan cara ini

jumlah operasi matematis bisa lebih diperkecil, sehingga komputasi lebih sedikit.

-  Lalu isyarat asli dikonvolusikan dengan fungsi Laplacian of Gaussian (LoG) dari point 

pertama.

-  Lokasi dari zero crossing merupakan titik dimana terjadi perubahan nilai dari positif ke

negatif atau negatif ke positif atau bisa saja dari nol ke positif atau dari nol ke negatif 

pada isyarat asli. Sementara indikator pada fungsi LoG nya adalah perubahan nilai dari

negatif ke positif atau positif ke negatif.

5/14/2018 Zero Crossing Detector on Curve Using Laplacian of Gaussian (LoG) - slidepdf.com

http://slidepdf.com/reader/full/zero-crossing-detector-on-curve-using-laplacian-of-gaussian-log 2/4

 

[Digital Image Processing]

[[email protected]{ee&it UGM, Indonesia}] Page 2 

Mar. 14

Dengan menggunakan langkah-langkah di atas, kita coba untuk membuat program Matlab untuk 

mendeteksi lokasi dari zero crossing pada kurva satu dimensi. Perlu dicatat bahwa filter

gradient akan bekerja dengan baik jika terjadi perubahan nilai dalam kurva secara drastis atau

cepat.

Catatan penting, bahwa ketika kita melakukan konvolusi isyarat asli dengan LoG bukan berarti

nilainya benar-benar nol. Sehingga kita mencari lokasi di mana perubahan nilai terjadi untuk 

dijadikan sebagai posisi zero crossing terjadi.

Programnya sebagai berikut:

clear all;

close all;

clc;

%% data 

% t=0:1/100:2*pi; 

% X=sin(t); 

X=[zeros(1,100),ones(1,100)];

%% 

%% gaussian function 

s=3;

m=0;

w=3; % panjang jendela 

jendela=(w-1)/2;

x=-jendela:jendela;

% gaussian dengan koefisien normalisasi 

% koef=(1/sqrt(2*s*s*pi)); 

koef=1;

G=koef*exp(-((x-m).^2/(2*(s^2))));

sumG=sum(G(:));

if sumG~=0

G=G/sumG;

end 

%% 

%% Second derivative of Gaussian (LoG) 

koef2=((x.^2-2*s^2)/s^4);

LoG=G.*koef2;LoG=LoG - sum(LoG(:))/prod(w);

ress2=conv2(X,LoG,'same');

plot(X); hold on;

plot(ress2/max(ress2),'r-.','LineWidth',2); hold on;

%% 

%% Laplacian of Gaussian (LoG) toolbox matlab 

h=fspecial('log',[1 3],3);

hasil=imfilter(X,h,'same');

plot(hasil/max(hasil),'g'); hold on;

%% 

5/14/2018 Zero Crossing Detector on Curve Using Laplacian of Gaussian (LoG) - slidepdf.com

http://slidepdf.com/reader/full/zero-crossing-detector-on-curve-using-laplacian-of-gaussian-log 3/4

 

[Digital Image Processing]

[[email protected]{ee&it UGM, Indonesia}] Page 3 

Mar. 14

%% finding zero crossing location 

n=1;

ress2(ress2<eps*max(ress2(:))) = 0;

for m=1:length(ress2)-1if (sign(ress2(m))==1 || sign(ress2(m+1))==-1)

kol(n)=m+1;

n=n+1;

end 

end 

plot(kol,X(1,kol),'r*'); hold off ;

axis([0 200 -2 2]);

title('How To Find Zero Crossing');

xlabel('cacah');

ylabel('amplitudo');

legend('Original Signal','LoG','LoG Matlab toolbox');

%% 

Hasil eksekusi dari program di atas adalah

Letak dari zero crossing tidak benar-benar nol karena data yang kita masukkan sebenarnya

merupakan data diskret yang panjangnya 200 data. Sehingga ketika kita memilah nilai zero

crossing yang tepat, kita terkendala dalam hal presisi nya. Tapi langkah-langkah yang diberikan

sudah mewakili yang ditunjukkan dengan perpotongan antara LoG dengan isyarat asli (data).

5/14/2018 Zero Crossing Detector on Curve Using Laplacian of Gaussian (LoG) - slidepdf.com

http://slidepdf.com/reader/full/zero-crossing-detector-on-curve-using-laplacian-of-gaussian-log 4/4

 

[Digital Image Processing]

[[email protected]{ee&it UGM, Indonesia}] Page 4 

Mar. 14

Perpotongannya saja tidak benar-benar nol. Dengan demikian apa yang telah dipaparkan di atas

sebelumnya terbukti.

Demikianlah artikel tentang deteksi zero crossing dengan menggunakan LoG telah dijelaskan

pada artikel ini. Semoga bisa membantu walau mungkin masih memiliki kekurangan. Koreksi

akan diterima dengan baik. Selanjutnya, teori ini akan digunakan untuk deteksi tepi pada citra

digital yang akan dijelaskan pada artikel selanjutnya.

@ thanks.


Recommended