Corner Detection LANDASAN TEORI

14

2.2 Corner Detection

Banyak sekali informasi dalam sebuah citra yang dapat digunakan sebagai sebuah representasi sebuah citra. Informasi ini dapat berupa tepi, sudut, warna, garis dan masih banyak yang lainnya. Corner detection adalah pendekatan yang digunakan dalam computer vision untuk mengekstrak beberapa jenis feature, mengetahui karakteristik dari sebuah citra, lalu menyimpulkan isi suatu citra Bhatia Chabbra, 2011. Corner dapat didefinisikan sebagai perpotongan dari dua buah edge atau titik yang menghasilkan dua arah edge dominan yang berbeda pada sebuah local neighbor Burger, 2008. Untuk mengenali corner dapat dilakukan dengan menggeser window ke segala arah sehingga pada satu waktu tertentu didapatlah sebuah perbedaan yang besar yang kemudian diindentifikasikan sebagai corner, seperti yang dapat dilihat pada Gambar 2.11. Gambar 2.11 Cuplikan Windowing Apabila window digeser ke segala arah tetapi menghasilkan simpulan bagian flat dari objek dan tidak mendapat nilai apapun, maka hasilnya akan menjadi Gambar 2.12 bagian A, karena tidak terjadi perubahan dalam arah manapun. Pada Gambar 2.12 bagian B terjadi bila window digeser ke segala arah dan menghasilkan simpulan yang menyatakan bagian tepi dari objek yang disebut edge. Bila terjadi perubahan intensitas yang tertumpu pada satu sudut dari berbagai arah atau edge ketika window digeser maka akan dihasilkan sudut dari objek yang disebut sebagai corner, seperti yang ditujukan pada Gambar 2.12 bagian C. Window Edge Universitas Sumatera Utara 15 A B C Gambar 2.12 Ide Dasar Corner Detection Corner detection banyak digunakan dalam motion detection pendeteksi gerak, image registration pendaftaran citra, video tracking pelacakan video, image mosaicing, panoroma stitching, 3D modeling dan pengenalan objek. Corner detector yang baik harus memenuhi sejumlah kriteria, termasuk membedakan antara sudut- sudut yang benar dan salah, yang memiliki noise cukup besar, dan secara akurat dapat menentukan lokasi sudut. Ketentuan dasar yang digunakan dalam menentukan sudut, yaitu: ketika sebuah edge didefiniskan dalam sebuah citra, maka sebuah corner point didefinisikan sebagai sebuah area yang menunjukan nilai gradien dalam arah yang sama. Sebuah detektor akan dapat mendeteksi titik sudut corner yang terdapat pada sebuah citra walau citra tersebut berubah arah. Fungsi corner detector dapat dilihat pada Gambar 2.13. Di bawah terdapat sebuah segitiga yang berdiri tegak. Detektor akan mendeteksi sudut yang terdapat pada segitiga tersebut. Jika posisi segitiga diubah sedikit, maka detektor masih dapat mendeteksi sudut yang terdapat pada segitiga walau ada perubahan baik secara rotasi maupun tidak secara akurat. Gambar 2.13 Contoh Corner Detection Universitas Sumatera Utara 16 2.2.1 Harris Corner Detection HCD Operator ini dibangun oleh Harris dan Stephens didasarkan pada operator Moravec Harris Stephens, 1988 dan merupakan salah satu interest point detector yang cukup populer karena dapat mendeteksi sudut dengan stabil secara rotasi, skala, pencahayaan Schmid et al. 2000. Interest point detection merupakan salah satu terminologi computer vision yang mengacu pada pendeteksian titik yang kemudian akan diproses. Secara umum fungsi detektor memiliki ciri umum yang terdiri dari fungsi matematika yang dapat ditemukan pada sebuah citra serta dapat ditekesi maupun terjadi perbedaan rotasi. Operator Harris juga sangat sensitif terhadap noise dalam sebuah citra Guelzim et al. 2011. Operator ini banyak digunakan sebagai salah satu proses dalam pengembangan robot vision. Kumpulan citra yang diambil menggunakan operator ini akan digunakan dalam proses interpretasi robot. Sehingga robot dapat mengambil kesimpulan dalam perubahan citra. Harris corner detector didasarkan pada fungsi perubahan autorkorelasi, dimana perubahan sinyalnya dapat diukur dalam arah yang berbeda. Autokorelasi ini memiliki rumus matematis sebagai berikut: , = [ , − + ∆ + ∆ ] 2.2 dimana: 1. x i ,y i = titik pada jendela W fungsi Gaussian yang berpusat di x,y 2. I.,. = fungsi citra. 3. ∆ , ∆ = pergeseran W Sementara itu, citra yang digeser dirumuskan dengan ekspansi Taylor, yakni: + ∆ + ∆ ≅ , + [ , , ] ∆ ∆ 2.3 dengan substitusi persamaan 2.2 dan 2.3, maka persamaan 2.2 bisa diturunkan sebagai berikut: Universitas Sumatera Utara 17 , = [ , − + ∆ + ∆ ] = , − , − , , ∆ ∆ = − , , ∆ ∆ = , , ∆ ∆ = [ ∆ , ∆ ] ⎣ ⎢ ⎢ ⎢ ⎡ , , , , , , ⎦ ⎥ ⎥ ⎥ ⎤ ∆ ∆ = [ ∆ , ∆ ] , ∆ ∆ 2.4 dimana Cx,y merupakan matriks auto correlation yang menangkap nilai intensitas dari struktur local neighbour. Harris Corner Detection HCD menghitung nilai rata-rata matriks yang diambil dari perubahan gradien citra, lalu mengombinasikan dengan nilai eigenvalues untuk mendapatkan nilai corner, yang diambil dari nilai maksimum posisi corner yang teridentifikasi. Ada beberapa tahap dalam mencari corner menggunakan operator ini, yaitu dengan mencari nilai local structure matrix, nilai corner response function CRF, lalu menentukan nilai corner points Burger Burge, 2008. 2.2.1.1 Local Structure Matrix LSM Perhitungan dimulai dari turunan parsial pertama first partial derivative fungsi citra Iu,v dalam arah vertikal dan horisontal. Dimana persamaannya dapat dinyatakan sebagai berikut: I x u,v = , dan I y u,v = , . 2.5 Untuk setiap perpindahan tempat dalam citra u,v, pertama-tama hitung ketiga nilai Au,v, Bu,v, dan Cu,v, untuk: Universitas Sumatera Utara 18 Au,v = u,v 2.6 Bu,v = u,v 2.7 Cu,v = u,v . u,v 2.8 yang ditafsirkan sebagai elemen dari local structure matrix Mu,v: M = = . 2.9 Selanjutnya, tiap-tiap ketiga fungsi Au,v, Bu,v, dan Cu,v dihaluskan dari kekusutan convolution menggunakan nilai Gaussian filter , . Dimana nilai Gaussian filternya menggunakan fungsi: , = 2.10 untuk adalah standard derivation simpangan baku dari fungsi dan r adalah radius dari nilai tengah citra. Nilai piksel yang terletak pada tengah citra menerima nilai maksimum, sehingga dari nilai Gaussian filter , dapat menghasilkan nilai fungsi matriks sebagai berikut: = ∗ , ∗ , ∗ , ∗ , = ̅ ̅ ̅ 2.11 Karena matriks simetris, matriks dapat didefinisikan sebagai: ′ = 2.12 dimana dan adalah eigenvalues dari matriks yang didefinisikan sebagai: , = ± − det Universitas Sumatera Utara 19 = ̅ + ± ̅ − 2 ̅ + + 4 ̅ 2.13 Untuk trace = ̅ + dan det = ̅ - ̅ 2.14 Eigenvalues yang bernilai positif dan bilangan ril, memuat informasi penting mengenai local image structure. Nilai hasil dari local image structure akan dipengaruhi oleh eigenvalues. Untuk menyeleksi corner yang baik harus melihat nilai eigenvalues, seperti yang ditunjukkan pada Gambar 2.14 berikut ini. Gambar 2.14 Kurva Klasifikasi Corner, Flat, dan Edge Harris-Stephens, 1988 Dari Gambar 2.14 di atas, dapat kita lihat bahwa pengklasifikasian auto correlation sudah terlihat dengan jelas. Seperti yang sudah dibahas sebelumnya, ada tiga hal yang mempengaruhi nilai eigenvalues dari operator ini, yaitu sebagai berikut: 1. Dalam sebuah citra, jika wilayah yang diambil dalam citra tersebut seragam, atau hanya terdapat perubahan yang konstan, tidak terjadi perubahan apapun dan perubahan yang terjadi sangat kecil sekali, maka wilayah fungsi autokorelasi tersebut dinamakan daerah “flat”. Hal ini disebabkan karena nilai = 0 dimana ≈ ≈ 0. Bentuk ilustrasinya dapat dilihat pada Gambar 2.15 berikut ini. Universitas Sumatera Utara 20 Gambar 2.15 Representasi Eigenvalues Flat 2. Jika 0 atau memiliki nilai positif yang besar dan = 0, atau sebaliknya nilai = 0 dan 0, maka wilayah autokorelasi itu disebut sebagai edge, yang menyebabkan perubahan cukup besar dalam arah tegak lurus. Bentuk ilustrasinya dapat dilihat pada Gambar 2.16 di bawah ini. Gambar 2.16 Representasi Eigenvalues Edge 3. Jika 0 dan 0 dan berada pada nilai positif yang besar, maka wilayah tersebut dinamakan corner yang terbentuk dari fungsi autokorelasi lokal dengan puncak yang tajam sehingga pergeseran ke semua arah menghasilkan nilai yang besar. Ilustrasinya dapat dilihat pada Gambar 2.17 berikut. Universitas Sumatera Utara 21 Gambar 2.17 Representasi Eigenvalues Corner 2.2.1.2 Corner Response Function FCR Dari persamaan 2.12 di atas, maka nilai selisih dari dua eigenvalues adalah - = 2 . . − det 2.15 dimana nilai 0,25 . det dalam setiap kasus. Dalam sebuah corner nilai persamaan tersebut harus sekecil mungkin, yang kemudian di definiskan dengan fungsi: Qu,v = – α . = ̅ - ̅ – α . ̅ + 2.16 sebagai sebuah nilai ukur dari kekuatan corner corner strength. Qu,v disebut sebagai fungsi corner response corner response function dan mengembalikan nilai maksimum. Dalam prakteknya, nilai α berada di antara 0,04 sampai 0,06 dengan nilai maksimal 0,25. Semakin besar nilai α, maka semakin kecil sensitifitas dari detector dan semakin sedikit corner yang terdeteksi. Universitas Sumatera Utara 22 2.2.1.3 Menentukan Nilai Corner Points Sebuah citra yang berlokasi pada u,v diseleksi sebagai sebuah kandidat corner points ketika: Qu,v t H 2.17 dimana threshold nilai ambang t H diambil berdasarkan konten yang dan secara tipikal terletak di antara range 10.000 sampai 1.000.000 dalam sebuah citra. Jika nilai corner c i = u i , v i , q i yang sudah didapatkan akan diinput ke dalam: Corners = [c 1 , c 2 , … c N ] 2.18 yang kemudian akan diurutkan secara descending menurun q i ≥ q i+1 berdasarkan corner strength q i = Qu i , v i seperti yang sudah didefenisikan pada Pers. 2.17. Untuk menekan nilai false corner yang berada di sekitar area true corner maka harus dibuat nilai spesifik untuk mengeliminasi nilai false corner. Memenuhi hal ini maka list Corners diletakan dimulai dari depan sampai belakang front to back, dan nilai corner yang lemah akan terletak di bagian akhir list dimana bagian ini terdapat dalam daerah corner yang kuat, kemudian dihapus. Proses pengolahan corner detector dapat dilihat pada Gambar 2.18. Gambar 2.18 Flowchart Corner Detector Harris-Stephens, 1988 2.2.2 Algoritma Harris Corner Detection Berikut ini adalah algoritma Harris Corner Detection yang digunakan untuk mendeteksi corner Harris-Stephens, 1988: 1. Melakukan perhitungan x dan y dari citra. 2. Menghitung nilai turunan dan perkalian tiap piksel. Universitas Sumatera Utara 23 3. Mencari jumlah nilai produk dari tiap piksel yang kemudian dikalikan dengan fungsi Gaussian. 4. Mendefinisikan tiap piksel x,y ke dalam matriks M. 5. Menghitung nilai corner response R tiap piksel. 6. Menghitung nilai ambang R. 7. Menghitung nilai nonmax titik yang telah ditentukan. 8. Memasukkan nilai corner yang ditemukan.

2.3 Jaringan Saraf Tiruan Neural Network