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