Rabu, 09 Juni 2010

Zero Crossing Detector

Zero crossing detector mencari tempat dalam laplacian dari sebuah gambar dimana nilai dari laplacian lebih besar dari nol contohnya titik dimana laplacian mengalami perubahan tanda. Titik seperti itu biasanya terjadi pada tepi dalam gambar contohnya titik dimana intensitar dari sebuah image berubah secara terus – menerus, tetapi hal tersebut juga dapat terjadi pada tempat yang tidak mudah berasosiasi dengan tepi. Hal yang terbaik adalah dengan menganggap zero crossing detector sebagai sejenis fitur pendeteksi daripada sebuah pendeteksi tepi. Zero crossing selalu terletak pada closed contours dan juga keluaran dari zero crossing detector biasanya adalah sebuah gambar biner dengan ketebalan garis berpiksel tunggal yang menunjukan posisi dari titik zero crossing.

Titik awal dari zero crossing detector adalah sebuah gambar yang telah diolah menggunakan Laplacian dari Gaussian filter. Zero crossing yang hasilnya sangat dipengaruhi oleh ukuran dari Gaussian digunakan untuk tingkat kehalusan dari operator ini. Ketika tingkat kehalusan dinaikan maka sedikit demi sedikit kontur dari zero crossing akan ditemukan, dan sisanya yang tersisa dari proses tersebut akan berhubungan denga fitur gambar dengan ukuran yang lebih besar.

Inti dari zero crossing detector adalah Laplacian dari filter Gaussian dan kemudian pengetahuan dari operator akan diasumsikan disini. Seperti yang telah dijelaskan, tepi dari gambar memberi kenaikan pada zero crossing dalam keluaran LoG. Sebagai contoh, gambar berikut menunjukkan respon dari filter 1-D LoG pada step edge dari gambar berikut.

Gambar diatas menunjukkan Respon dari filter 1-D LoG pada a step edge. Grafik sebelah kiri menunjukkan sebuah gambar 1-D, dengan panjang 200 piksel, dan mengandung step edge. Grafik sebelah kanan menunjukkan dari sebuah filter 1-D LoG dengan Gaussian yang mengalami deviasi 3 piksel.

Tetapi, zero crossing juga terjadi pada bagian gambar yang gradiennya mulai bertambah atau berkurang, dan ini mungkin terjadi pada bagian yang bukan tepi. Tidak jarang zero crossing ditemukan pada daerah dengan gradien yang sangat rendah dimana intensitas dari gradien bergerak naik dan turun di sekitar nol.

Ketika gambar telah difilter dengan filter LoG, sisanya yang harus dilakukan adalah mendeteksi zero crossing. Hal ini dapat dilakukan dalam beberapa cara.

Cara yang paling mudah adalah dengan threshold keluaran LoG pada titik nol, untuk menghasilkan gambar biner dimana batasan antara daerah gambar bagian depan dan daerah latar belakang gambar mewakili lokasi dari titik zero crossing. Batasan ini dapat dengan mudah dideteksi danditandai dalam sekali proses, contohnya menggunakan operator morfologi. Sebagai contoh, untuk menemukan titik batas, kita hanya butuh menandai setiap titik gambar bagian depan yang memiliki sedikitnya satu neighbor latar belakang.

Masalahnya teknik ini akan merubah lokasi dari tepi zero crossing baik ke sisi terang dari tepi atau ke sisi gelap dari tepi, tergantung dari keputusan untuk mencari tepi dari daerah gambar bagian depan atau daerah gambar latar belakang.

Teknik yang lebih baik adalah menganggap titik dari kedua sisi dari batas threshold, dan memilih titik dengan ukuran terendah dari Laplacian, yang diharapkan mendekati zero crossing.

Sejak zero crossing gagal secara umum di antara dua piksel dalam gambar yang telah difilter dengan filter LoG, sebuah representasi alternatif keluaran adalah sebuah garis gambar yang secara sebagian menukar setengah piksel yang berseberangan dan setengah piksel yang berhubungan dengan gambar aslinya. Representasi seperti itu dikenal dengan dual lattice. Hal ini tentu saja tidak membuat zero crossing lebih akurat.

Pendekatan yang lebih akurat adalah dengan melakukan sebuah interpolasi untuk memperkirakan posisi dari zero crossing pada sebuah precision sub-piksel.

Tidak ada komentar:

Posting Komentar