Image Processing – part 2

Image Processing – part 2

Edge detection

Perbedaan yang signifikan sebuah image brightness sangat menarik untuk beberapa alasan. Alasan yang pertama adalah sebuah tepian dari objek biasanya memiliki perbedaan intensitas cahaya (image yang terang bisa terdapat di latar belakang yang gelap atau sebaliknya image yang gelap bisa berada di latar belakang yang terang).dan alasan yang kedua adalah perbedaan tersebut dapat pula muncul akibat dari pola yang terbentuk dari perbedaan intensitas cahaya(zebra memiliki garis tubuh, macan tutul memiliki bintik-bintik pada tubuhnya atau garis-garis yang terbentuk karena bayangan).

Poin-poin dimana sebuah image memiliki perbedaan intensitas cahaya yang tajam itulah yang sering disebut edges atau edge points. (David A.Forsyth & Jean Ponce, Computer Vision A Modern Approach). Tetapi untuk menemukan garis yang cocok untuk disebut sebagai eges tidaklah mudah. Secara tipikal sangat sulit bagi kita untuk menentukan manakah edge yang berguna(perlu) dan manapula edge yang tidak berguna(tidak perlu).Dan untuk memenuhi semua itu sangat dibutuhkan informasi ber-level tinggi. Tidak kurang dari itu dibutuhkan pengetahuan sistem visual tentang apasajakah yang menarik yang sering terjadi pada sebuah edge dan juga dimanakah edge-edge itu berada.

(a)

(b)

(c)

Diatas adalah sebagian contoh dari edge detection yang mana gambar (a) adalah gambar asli koin-koin, gambar (b) adalah edge detection dengan menggunakan Sobel filter dan gambar (c) adalah contoh edge detection dengan menggunakan filter Canny. Setiap filter akan menghasilkan edge detection yang bervariasi.

Berikut ini adalah macam – macam metode pendeteksian tepi :

• Roberts Cross Edge Detector

Operator Roberts Cross melakukan pengukuran gradien spasial 2-D yang sederhana dan cepat pada sebuah gambar. Operator tersebut menandai daerah-daerah yang memiliki gradien spasial tinggi yang kemungkinan besar merupakan sebuah edge. Pada penggunaan umumnya, masukan untuk operator tersebut merupakan sebuah gambar grayscale, begitu juga dengan keluarannya. Nilai piksel di setiap titik pada hasil keluaran merepresentasikan perkiraan skala absolut dari gradien spasial dari gambar masukan pada titik tersebut.

Pada teorinya, operator Roberts Cross terdiri dari sepasang matriks konvolusi 2×2. Satu matriks merupakan hasil rotasi 90 derajat terhadap matriks lainnya.

Gambar diatas menunjukkan matriks konvolusi Reberts Cross.

Matriks ini didesain agar dapat merespon dengan maksimal pada edge yang bersudut 45° ke batas piksel, satu matriks untuk dua orientasi sudut 90o. Matriks ini dapat digunakan secara terpisah pada gambar masukan, untuk menghasilkan pengukuran yang terpisah dari komponen gradien pada setiap orientasi (Gx dan Gy). Matriks-matriks ini dapat selanjutnya dikombinasikan untuk mencari skala absolut dari gradien pada setiap titik dan orientasi dari gradien tersebut. Skala gradien adalah sebagai berikut:

Walaupun biasanya, skala rata-rata dihitung dengan menggunakan:

yang dapat diproses dengan lebih cepat.

Sudut dari orientasi pada edge yang meyebabkan kenaikan pada gradien spasial (relatif kepada orientasi batas piksel) adalah sebagai berikut:

Pada hal ini, orientasi 0 digunakan dengan pandangan bahwa arah dari kontras maksimum dari hitam ke putih berjalan dari kiri ke kanan, dan sudut lain dihitung berlawanan arah jarum jam dari rumus ini.
Seringkali, skala absolut merupakan astu-satunya keluaran yang dilihat user, dua komponen dari gradien diproses dan ditambahkan dalam sebuah single pass dari gambar masukan dengan menggunakan operator pseudo-convolotion.

Gambar diatas menunjukkan matriks Pseudo-Convolution

Matriks pseudo-convolution dapat menghasilkan perhitungan skala gradien rata-rata yang lebih cepat dengan menggunakan rumus:

• Sobel Edge Detector

Operator Sobel melakukan pengukuran spasial 2-D pada sebuah gambar dan menguatkan daerah-daerah yang memiliki gradien spasial tinggi untuk setiap edge yang bersangkkutan. Biasanya operator Sobel digunakan untuk mencari skala gradien absolut rata-rata pada setiap titik pada gambar grayscale masukan.

Pada teorinya, operator Sobel terdiri dari matriks konvolusi 3×3. Satu matriks merupakan hasil rotasi 90 derajat terhadap matriks lainnya. Matriks ini sangat mirip dengan operator Roberts Cross.

Gambar diatas menunjukkan matriks konvolusi Sobel

Matriks-matriks ini didesain untuk dapat merespon dengan maksimal terhadap edge yang berjalan secara vertikal dan horizontal relatif terhadap batas piksel, satu matriks untuk dua orientasi sudut 90o. Matriks ini dapat digunakan secara terpisah pada gambar masukan, untuk menghasilkan pengukuran yang terpisah dari komponen gradien pada setiap orientasi (Gx dan Gy). Matriks-matriks ini dapat selanjutnya dikombinasikan untuk mencari skala absolut dari gradien pada setiap titik dan orientasi dari gradien tersebut. Skala gradien adalah sebagai berikut:

Walaupun biasanya, skala rata-rata dihitung dengan menggunakan:

yang dapat diproses dengan lebih cepat.

Sudut dari orientasi pada edge yang meyebabkan kenaikan pada gradien spasial (relatif kepada orientasi batas piksel) adalah sebagai berikut:

Pada hal ini, orientasi 0 digunakan dengan pandangan bahwa arah dari kontras maksimum dari hitam ke putih berjalan dari kiri ke kanan, dan sudut lain dihitung berlawanan arah jarum jam dari rumus ini.

Seringkali, skala absolut merupakan satu-satunya keluaran yang dilihat user, dua komponen dari gradien diproses dan ditambahkan dalam sebuah single pass dari gambar masukan dengan menggunakan operator pseudo-convolotion.

Gambar diatas menunjukkan matriks Pseudo-Convolution

Matriks pseudo-convolution dapat menghasilkan perhitungan skala gradien rata-rata yang lebih cepat dengan menggunakan rumus:

• Prewitt Edge Detector

Pengenalan tepi Compass adalah sebuah pendekatan alternative untuk gradient turunan dari pengenalan tepi. Operasi ini biasanya menghasilkan dua buah citra / gambar, yang satu memperkirakan ukuran dari gradient tepi lokal dan yang satu memperkirakan orientasi tepi dari citra yang dimasukkan.

Ketika menggunakan pengenalan tepi Compass, citra tersebut dikonvolusikan menggunakan sebuah set matriks konvolusi, dimana setiap matriks yang sensitive kepada batas gambar / citra dalam orientasi yang berbeda. Untuk setiap piksel ukuran gradient dari batas lokal diperkirakan dengan respon maksimum dari delapan matriks pada lokasi piksel berikut :

dimana Gi adalah respon dari matriks i pada posisi piksel yang dipilih dan n adalah jumlah dari matriks konvolusi. Orientasi batas lokal diperkirakan dengan orientasi dari matriks yang memberikan respon maksimum.

Berikut ini adalah dua dari delapan matriks :

Gambar diatas menunjukkan matriks pengenalan tepi Prewitt compass yang sensitive pada 0° and 45°.

Seluruh set dari delapan matriks dihasilkan dengan mengambil salah satu matriks dan memutar koefisiennya searah jarum jam. Setiap matriks yang dihasilkan sensitive kepada orientasi tepi lainnya dengan jarak dari 0° sampai 315° dalam menghasilkan matriks 45°, dimana 0° merujuk pada sebuah tepi vertikal.

Respon maksimum |G| untuk setiap piksel memberikan menaikkan harga nilai dari piksel yang berhubungan ukuran gambar keluaran. Nilai dari orientasi gambar keluaran terletak antara 1 dan 8, bergantung pada salah satu matriks dari delapan buah matriks yang menghasilkan respon maksimum.

Pengenalan tepi ini juga dikenal dengan nama edge template matching, karena satu set dari template tepi yang dicocokan ke gambar, setiap template mewakili sebuah tepi dalam orientasi tertentu. Ukuran dan orientasi tepi kemudian tersebut ditentukan oleh template yang paling cocok dengan area lokal dari piksel.

Pengenalan tepi Compass adalah cara yang paling cocok untuk memperkirakan ukuran dan orientasi dari sebuah tepi. Ketika turunan dari gradient pengenalan tepi membutuhkan waktu penghitungan untuk memperkirakan orientasi dari ukuran dalam arah x- dan y-, pengenalan tepi Compass mendapatkan nilai orientasi langsung dari matriks dengan respon maksimum. Operator Compass disini dibatasi sampai delapan kemungkinan orientasi; tetapi pengalaman menunjukkan bahwa orientasi yang paling berhubungan belum tentu lebih akurat.

Di sisi lain, operator compass membutuhkan delapan konvolusi untuk setiap piksel, dimana operator gradient hanya membutuhkan dua, sebuah matriks menjadi sensitive pada tepi pada arah vertical dan sebuah matriks yang sensitive pada tepi pada arah horizontal.

• 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.

• Line Detection

Ketika tepi adalah sebuah tipe normal akhir dalam sebuah gambar, garis tipis dalam sebuah gambar cukup sering terjadi yang membuat hal tersebut berguna untuk mekanisme pemisahan untuk mendeteksi bagian – bagian dari gambar.

Operator dari pendeteksi garis terdiri dari sebuah matriks konvolusi untuk mendeteksi keberadaan garis dengan lebar yang berbeda n, pada orientasi tertentu θ. Gambar berikut menunjukkan kelompok dari empat buah matriks, dimana setiap matriks merespon pada suatu garis dengan lebar piksel ganda pada orientasi tertentu yang ditampilkan

Gambar diatas menunjukkan empat matriks pendeteksi garis yang memberikan respon maksimal pada horizontal, vertical, dan oblique garis dengan ketebalan piksel tunggal.

Jika Ri melambangkan respon dari matriks I, maka setiap matriks dapat dihubungkan dengan sebuah gambar dan, untuk titik tertentu, jika |Ri| > |Rj| untuk semua j ≠ i maka titik tersebut mungkin berisi sebuah garis yang orientasi dan lebarnya berhubungan dengan matriks i tersebut. Biasanya Ri di threshold untuk menghilangkan garis halus yang berhubungan denga tepid an fitur lain dengan intensitas gradient yang memiliki ukuran berbeda dengan lebar garis yang diinginkan.

Canny Edge Detector

Operator Canny didesain untuk menjadi sebuah pendeteksi tepi yang optimal( berdasarkan criteria tertentu). Canny menggunakan sebuah gambar grayscale, dan menghasilkan sebuah gambar yang menampilkan posisi dari intensitas dan akhir yang telah ditemukan.

Operator Canny bekerja dalam sebuah proses bertingkat. Pertama gambar akan diperhalus dengan menggunakan konvolusi Gaussian. Kemudian sebuah operator turunan pertama dari 2-D digunakan untuk menghaluskan gambar pada daerah yang telah ditandai dengan sebagian turunan pertama yang tinggi. Tepi ini diberikan kenaikan menjadi lipatan dalam ukuran gradient gambar. Kemudian algritma tersebut mencari puncak dari lipatan ini dan memberi nilai nol pada semua piksel yang bukan merupakan puncak lipatan yang menghasilkan garis tipis pada gambar keluaran, sebuah proses yang dikenal dengan non-maximal suppression. Proses pencarian ini menampilkan hysteresis yang dikendalikan oleh dua thresholds: T1 dan T2 dengan T1 > T2. Pencarian hanya dapat dimulai pada titik dimana nilai lipatan lebih tinggi dari T1. Pencarian kemudian berlanjut dalam dua arah keluar dari titik tersebut hingga tinggi dari lipatan tersebut bernilai kurang dari T2. Hysteresis ini membantu untuk meyakinkan bahwa tepi yang memiliki noise tidak rusak menjadi banyak bagian tepi.

ref : dari berbagai sumber

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: