• Tidak ada hasil yang ditemukan

TINJAUAN PUSTAKA Deteksi Tepi Canny

Canny merupakan deteksi tepi yang

diperkenalkan oleh John Canny pada 1986. Metode ini memiliki tiga kritetia dalam melakukan deteksi tepi yaitu, menurunkan error

rate, lokalisasi untuk setiap titik yang

merupakan edge, memiliki respon terhadap

single edge (McAndrew 2004).

Berdasarkan kriteria tersebut, maka langkah-langkah yang dilakukan pada deteksi tepi Canny

adalah penghalusan citra untuk menghilangkan

noise. Kemudian menerapkan turunan Gaussian

untuk memperoleh kandidat piksel. Pada kandidat piksel yang terpilih dilakukan penipisan sehingga diperoleh single piksel. Tahap selanjutnya adalah hysteresis untuk melakukan pengecekan terhadap piksel yang belum dilakukan penipisan. Hysteresis

menggunakan dua nilai treshold yaitu dan . Piksel yang memiliki nilai lebih besar dari diasumsikan sebagai edge dan untuk setiap piksel yang berada pada rentang dan juga diasumsikan sebagai edge apabila berdekatan dengan edge lainnya.

PENDAHULUAN Latar Belakang

Indonesia merupakan negara yang memiliki variasi tanaman yang tinggi. Menurut Bappenas (2003) terdapat lebih dari 38.000 spesies tanaman di Indonesia. Jumlah spesies yang besar tersebut menyebabkan tanaman menjadi sulit untuk diidentifikasi. Identifikasi tanaman yang dilakukan secara otomatis dapat digunakan

untuk mempermudah pengenalan

keanekaragaman tanaman karena akan memperkecil waktu dan tenaga yang dikeluarkan.

Bagian tanaman yang dapat digunakan dalam identifikasi adalah daun. Dalam proses identifikasi daun, dibutuhkan suatu penciri yang merupakan pembeda antara satu jenis daun dengan jenis daun lainnya. Penciri yang umum digunakan dalam pengenalan daun adalah penciri bentuk.

B-spline merupakan salah satu metode yang

dapat digunakan dalam memodelkan bentuk dan sudah secara luas diterapkan di bidang

computer aided geometric design dan computer

graphics. Menurut Toe & To (2004), b-spline

merupakan representasi kurva yang paling efisien karena memiliki karakteristik yang memungkinkan suatu kurva untuk direpresentasikan. Karakteristik yang dimiliki oleh kurva b-spline di antaranya adalah adanya

knot dan titik kontrol.

Pada pencocokan kurva b-spline, menemukan sebuah titik yang saling bersesuaian melalui titik kontrol atau knot di antara dua buah kurva tidak mudah untuk dilakukan karena setiap kurva b-spline memiliki jumlah titik kontrol yang berbeda-beda. Posisi

knot yang berbeda dan titik kontrol yang berbeda tersebut memungkinkan dihasilkan kurva yang sama. Selain itu, pada umumnya titik kontrol yang digunakan untuk merepresentasikan kurva b-spline berjumlah sedikit sehingga menyulitkan pencocokan kurva. Oleh sebab itu, metode pencocokan kurva dengan membandingkan titik kontrol atau

knot secara langsung tidak sesuai untuk diterapkan pada pencocokan kurva b-spline. (Lee et al. 2004).

Pada penelitian sebelumnya telah dilakukan pemodelan b-spline menggunakan penciri venasi daun, akan tetapi pencocokan kurva yang dilakukan masih secara manual (visual). Penelitian ini berfokus pada perhitungan kemiripan kurva b-spline (pencocokan kurva

berdasarkan sistem) dengan memanfaatkan pemodelan b-spline oleh Rahmadhani (2009).

Metode yang diusulkan pada penelitian ini yaitu pencocokan kurva b-spline yang diperkenalkan oleh Lee et al. (2004). Pada metode ini pencocokan kurva tidak secara langsung membandingkan titik kontrol dan knot

di antara kurva, akan tetapi melibatkan penentuan pasangan titik kontrol, informasi perubahan bentuk (deformation energy) dan karakteristik geometris (strain difference). Tujuan

Penelitian ini bertujuan untuk mengimplementasikan metode pencocokan citra daun menggunakan kurva b-spline.

Ruang Lingkup

Ruang lingkup penelitian ini adalah pencocokan citra daun menggunakan kurva

b-spline, data citra daun yang digunakan berasal

dari tanaman yang terdapat di kampus IPB Darmaga, Bogor, Indonesia.

Manfaat Penelitian

Melalui penelitian ini dihasilkan suatu sistem yang dapat mengukur kemiripan daun secara otomatis.

TINJAUAN PUSTAKA Deteksi Tepi Canny

Canny merupakan deteksi tepi yang

diperkenalkan oleh John Canny pada 1986. Metode ini memiliki tiga kritetia dalam melakukan deteksi tepi yaitu, menurunkan error

rate, lokalisasi untuk setiap titik yang

merupakan edge, memiliki respon terhadap

single edge (McAndrew 2004).

Berdasarkan kriteria tersebut, maka langkah-langkah yang dilakukan pada deteksi tepi Canny

adalah penghalusan citra untuk menghilangkan

noise. Kemudian menerapkan turunan Gaussian

untuk memperoleh kandidat piksel. Pada kandidat piksel yang terpilih dilakukan penipisan sehingga diperoleh single piksel. Tahap selanjutnya adalah hysteresis untuk melakukan pengecekan terhadap piksel yang belum dilakukan penipisan. Hysteresis

menggunakan dua nilai treshold yaitu dan . Piksel yang memiliki nilai lebih besar dari diasumsikan sebagai edge dan untuk setiap piksel yang berada pada rentang dan juga diasumsikan sebagai edge apabila berdekatan dengan edge lainnya.

Kurva B-Spline

Kurva spline merupakan potongan-potongan dari setiap bagian kurva yang terhubung secara bersama dan membentuk suatu kurva tunggal yang kontinu (Hearn & Baker 2004).

B-spline merupakan kurva spline yang

menggunakan fungsi basis atau blending

function. Blending function memungkinkan

suatu kurva direpresentasikan sebagai suatu kombinasi dari titik kontrol yang dimiliki oleh kurva tersebut.

Persamaan umum yang digunakan dalam membentuk kurva b-spline adalah:

(1)

dengan

dan merupakan masukan titik kontrol.

B-spline blending function, merupakan

polinomial berderajat dengan adalah

degree dari kurva b-spline. Nilai dari parameter

berada pada rentang hingga jumlah titik kontrol.

Rumus umum untuk menghitung blending

function menggunakan formula Cox-deBoor

sebagai berikut: (2) (3) dengan setiap blending function didefinisikan melalui subinterval pada rentang . Kemudian setiap ujung subinterval disebut

knot. Keseluruhan dari kumpulan ujung titik yang terpilih disebut sebagai vektor knot. Nilai berapapun dapat dipilih sebagai ujung titik subinterval, akan tetapi harus memenuhi

Nilai dan dipengaruhi oleh jumlah titik kontrol, parameter , dan vektor knot. Pemilihan vektor knot

memungkinkan penyebut pada perhitungan Cox-deBoor menghasilkan nilai 0, oleh sebab itu diasumsikan untuk setiap nilai yang terevaluasi 0/0 pada formula tersebut sebagai nilai 0.

Kurva b-spline memiliki karakteristik-karakteristik sebagai berikut:

1. Kurva polinomial yang mempunyai degree

dan kontinu di sepanjang rentang .

2. Kurva digambarkan dengan blending

functions untuk titik kontrol.

3. Setiap blending function didefinisikan melalui subinterval dari rentang total , dimulai pada nilai knot .

4. Rentang dari parameter dibagi ke dalam

subinterval melalui nilai pada vektor knot.

5. Nilai knot { }, menghasilkan kurva b-spline yang terdefinisi hanya pada rentang nilai knot hingga nilai knot

.

6. Setiap bagian dari kurva spline (di antara dua nilai knot berturut-turut) dipengaruhi oleh titik kontrol.

7. Satu titik kontrol dapat mempengaruhi bentuk paling banyak bagian kurva. Kurva b-spline terletak pada convex hull

sebanyak-banyaknya titik kontrol, sehingga b-spline sangat dibatasi oleh posisi masukan titik kontrol. Berapapun nilai yang terdapat pada rentang hingga , jumlah keseluruhan fungsi basis adalah 1:

. (4)

Pasangan Knot

Pada pencocokan kurva b-spline langkah yang paling mendasar harus dilakukan adalah mencari titik yang saling bersesuaian di antara dua kurva yang memiliki jumlah titik kontrol yang berbeda (Lee et al. 2004). Titik kontrol yang bersesuaian diperoleh dengan terlebih dahulu menentukan knot yang bersesuaian atau pasangan knot.

Rumus yang digunakan untuk mencari knot

yang bersesuaian adalah dengan menggunakan formula matriks pencocokan:

(5) dengan dan adalah kurva yang akan dicocokkan. Jumlah knot yang dimiliki oleh kurva dan berbeda, dan

. Notasi merupakan pembobot yang nilainya berkisar antara 0,2 hingga 0,8. Sedangkan dan merepresentasikan

curvature (lengkungan) dari kurva b-spline

dan secara berturut-turut, didefinisikan sebagai:

(6)

dengan curvature menyatakan cross product

antara turunan pertama dan turunan kedua kurva

b-spline dibagi dengan pangkat tiga jarak

Nilai matriks pencocokan diperoleh dengan menghitung jarak Euclidean dibagi dengan pembobot dan dikurangi dengan nilai curvature, dilakukan untuk seluruh kemungkinan pasangan

knot (Persamaan 5). Kemudian untuk mendapatkan pasangan knot yang bersesuaian dilakukan diskretisasi matriks dengan ketentuan:

. (7)

Thin Plate Spline Deformation Energy Thin plate spline (TPS) merupakan fungsi basis yang sangat umum digunakan untuk merepresentasikan pemetaan titik dari

ke titik pasangannya

(Bookstain 1989). Lokasi untuk setiap titik harus berbeda dan tidak collinear. TPS memiliki formula sebagai berikut:

(8)

dengan dan

merupakan koefisien TPS, adalah vektor kolom berukuran 2 x 1. Pada kondisi interpolasi,

dihasilkan persamaan linear untuk koefisien TPS: (9) dengan , , , dan adalah matriks zero, dan dihasilkan dari dan , selanjutnya deformation energy dihitung dengan menggunakan persamaan: (10)

Strain Difference Strain difference dihitung untuk mengevaluasi perbedaan pada setiap segmen kurva yang berpasangan (Lee et al. 2004). Persamaan yang digunakan adalah sebagai berikut:

(11)

dengan adalah pembobot, ,

, dan merupakan konveksitas segmen kurva, bernilai 1 jika cembung dan 0 jika cekung. Posisi knot baru yang diperoleh dari knot yang bersesuaian untuk setiap dua kurva yang dibandingkan secara berturut-turut dinyatakan dengan dan .

Cost Function Perbedaan dua buah kurva, kurva A dan kurva B dihitung dengan menggunakan cost function.Cost function merupakan penjumlahan deformation energy, dan strain difference, (Lee et al. 2004). Cost function didefinisikan sebagai berikut: . (12)

METODE PENELITIAN

Metode yang dilakukan pada penelitian ini dapat dilihat pada Gambar 1.

Citra daun

Segmentasi citra

Ekstraksi bentuk dengan pemodelan b-spline Perhitungan kemiripan dengan pencocokan kurva Hasil pencocokan kurva Evaluasi pencocokan daun Ekstraksi bentuk dengan pemodelan b-spline Segmentasi citra Citra kueri Indeks citra daun

Nilai matriks pencocokan diperoleh dengan menghitung jarak Euclidean dibagi dengan pembobot dan dikurangi dengan nilai curvature, dilakukan untuk seluruh kemungkinan pasangan

knot (Persamaan 5). Kemudian untuk mendapatkan pasangan knot yang bersesuaian dilakukan diskretisasi matriks dengan ketentuan:

. (7)

Thin Plate Spline Deformation Energy Thin plate spline (TPS) merupakan fungsi basis yang sangat umum digunakan untuk merepresentasikan pemetaan titik dari

ke titik pasangannya

(Bookstain 1989). Lokasi untuk setiap titik harus berbeda dan tidak collinear. TPS memiliki formula sebagai berikut:

(8)

dengan dan

merupakan koefisien TPS, adalah vektor kolom berukuran 2 x 1. Pada kondisi interpolasi,

dihasilkan persamaan linear untuk koefisien TPS: (9) dengan , , , dan adalah matriks zero, dan dihasilkan dari dan , selanjutnya deformation energy dihitung dengan menggunakan persamaan: (10)

Strain Difference Strain difference dihitung untuk mengevaluasi perbedaan pada setiap segmen kurva yang berpasangan (Lee et al. 2004). Persamaan yang digunakan adalah sebagai berikut:

(11)

dengan adalah pembobot, ,

, dan merupakan konveksitas segmen kurva, bernilai 1 jika cembung dan 0 jika cekung. Posisi knot baru yang diperoleh dari knot yang bersesuaian untuk setiap dua kurva yang dibandingkan secara berturut-turut dinyatakan dengan dan .

Cost Function Perbedaan dua buah kurva, kurva A dan kurva B dihitung dengan menggunakan cost function.Cost function merupakan penjumlahan deformation energy, dan strain difference, (Lee et al. 2004). Cost function didefinisikan sebagai berikut: . (12)

METODE PENELITIAN

Metode yang dilakukan pada penelitian ini dapat dilihat pada Gambar 1.

Citra daun

Segmentasi citra

Ekstraksi bentuk dengan pemodelan b-spline Perhitungan kemiripan dengan pencocokan kurva Hasil pencocokan kurva Evaluasi pencocokan daun Ekstraksi bentuk dengan pemodelan b-spline Segmentasi citra Citra kueri Indeks citra daun

Data Citra

Data citra yang digunakan berjumlah 6 buah. Data ini diperoleh dari hasil pemotretan pada 3 jenis tanaman yang terdapat di kampus IPB Darmaga, Bogor, Indonesia. Tanaman tersebut terdiri atas jarak pagar (Jatropha curas

linn), kumis kucing (Othosiphon aristatus), dan

tabat barito (Ficus deloidea L.). Citra berukuran 150 x 180 piksel dan berformat JPG.

(a) (c) (e)

(b) (d) (f)

Gambar 2 Citra daun (a) (b) jarak pagar, (c) (d) kumis kucing, dan (e) (f) tabat barito.

Segmentasi Citra

Segmentasi citra merupakan tahap persiapan citra sebelum diproses lebih lanjut. Pada tahap ini dilakukan deteksi tepi untuk memperoleh bentuk daun. Deteksi tepi yang dilakukan menggunakan deteksi tepi Canny. Hasil dari deteksi tepi menjadi masukan pada tahap ekstraksi bentuk.

Ekstraksi Bentuk dengan Pemodelan B-Spline

Hasil deteksi tepi yang diperoleh pada tahap segmentasi diubah menjadi posisi-posisi koordinat yang disebut dengan titik kontrol. Selanjutnya, informasi titik kontrol dan knot

yang dibangkitkan secara otomatis tersebut diinterpretasikan ke dalam bentuk kurva b-spline.

Pencocokan Kurva B-Spline

Pencocokan kurva b-spline diawali dengan penentuan pasangan knot menggunakan formula matriks pencocokan (Persamaan 5). Selanjutnya kemiripan antara citra kueri dengan citra yang terdapat pada pangkalan data dilakukan dengan menghitung cost function menggunakan Persamaan 12.

Evaluasi Pencocokan Daun

Hasil pencocokan citra daun diperoleh setelah dilakukan pengukuran kemiripan yaitu

dengan mencocokan kurva b-spline yang berasal dari citra kueri dengan kurva b-spline

pada citra pangkalan data. Implementasi Sistem

Sistem dikembangkan dengan menggunakan perangkat lunak MATLAB 7.7.0.471 (R2008b) dengan memanfaatkan fungsi yang telah dikembangkan pada penelitian sebelumnya dan beberapa library MATLAB. Perangkat keras yang digunakan adalah Intel Pentium PC 1.83 GHz dan RAM 1 GB.

Pada sistem ini terdapat fungsi utama, bspline. Fungsi utama dipanggil pada saat menjalankan sistem. Pada tahap praproses dilakukan deteksi tepi citra menggunakan

canny, penentuan treshold pada deteksi tepi

canny merujuk pada penelitian yang dilakukan

oleh Rahmadhani (2009). Setelah mendapatkan hasil deteksi tepi, selanjutnya keseluruhan tepi yang diperoleh diubah menjadi posisi koordinat dengan menggunakan library bwboundaries. Karena pemodelan b-spline tidak membutuhkan keseluruhan titik tepi yang diperoleh pada saat deteksi tepi maka dilakukan pengurangan titik dengan menggunakan rentang tertentu. Rentang yang digunakan pada penelitian ini adalah 10. Titik yang telah dikurangi tersebut kemudian menjadi masukan dalam melakukan pemodelan kurva b-spline. Pemodelan b-spline yang dilakukan pada sistem ini memanfaatkan

b-spline yang sebelumnya telah dikembangkan

oleh Rahmadhani (2009), keluaran yang dihasilkan pada pemodelan b-spline ini adalah informasi knot, titik kontrol dan derajat fungsi

b-spline. Fungsi untuk melakukan deteksi tepi

dan pemodelan b-spline pada sistem ini terdapat pada fungsi boundarySpline.

Perhitungan kemiripan dengan pencocokan kurva b-spline merupakan inti dari penelitian ini. Tahapan tersebut dilakukan apabila kurva

b-pline yang akan dibandingkan telah diperoleh.

Terdapat empat tahapan dalam perhitungan kemiripan, yaitu penentuan knot yang saling berpasangan di antara dua buah kurva yang dibandingkan, perhitungan deformation energy,

strain difference dan cost function.

Pada penentuan pasangan knot, melibatkan parameter knot, titik kontrol dan pembobot sebagai masukan. Berdasarkan formula matriks pencocokan (Persamaan 5), knot yang berpasangan dihitung dengan mengurangkan jarak Euclidean di antara knot dibagi pembobot dikurangi nilai curvature. Selanjutnya digunakan treshold untuk menentukan batas suatu knot dianggap berpasangan. Nilai matriks

pencocokan tersebut kemudian diubah ke dalam biner (0 dan 1). Nilai 0 menyatakan knot tidak berpasangan, sebaliknya nilai 1 menyatakan

knot yang dipasangkan tersebut berpasangan. Apabila pada suatu knot dari kurva yang akan dicocokkan (kurva model) berpasangan dengan lebih dari satu knot pada kurva pencocokan maka nilai 1 yang ditemukan pertama pada kurva pencocokan dianggap sebagai pasangan dari knot pada kurva model. Selanjutnya pasangan titik kontrol diperoleh dengan melihat posisi dari knot yang berpasangan. Perhitungan kelengkungan (curvature) dihitung dengan menggunakan Persamaan 6, merupakan cross

product antara turuan pertama dan turunan

kedua kurva b-spline dibagi pangkat tiga jarak Euclidean dari turunan pertama kurva b-spline.

Perhitungan turunan pertama dan turunan kedua dari fungsi b-spline memanfaatkan library fnder

dan fnval. Pada sistem ini, perhitungan

curvature terdapat pada fungsi kappa dan

penentuan pasangan knot terdapat pada fungsi matrixCorrespondence.

Berdasarkan informasi pasangan titik kontrol yang telah diperoleh sebelumnya, maka selanjutnya dapat dilakukan perhitungan

deformation energy. Pada tahap ini, dilakukan

penentuan solusi dari sistem persamaan linear ketika suatu titik dipetakan ke titik pasangannya (Persamaan 9). Deformation energy dihitung menggunakan Persamaan 10. Nilai menyatakan nilai perubahan bentuk yang merupakan solusi dari sistem persamaan linear. Sedangkan nilai merupakan jarak titik kontrol di antara kurva model. Perhitungan deformation

energy pada sistem ini terdapat pada fungsi

deformationEnergy.

Perhitungan strain difference ditentukan berdasarkan perbedaan yang terdapat pada setiap segmen kurva yang dipasangkan (Persamaan 11). Penentuan kecembungan atau kecekungan segmen kurva (konveksitas) melibatkan penggunaan tiga buah titik kontrol, terdapat kemungkinan bahwa tiga titik kontrol yang terpilih tersebut berada di luar segmen kurva. Konveksitas segmen kurva ditentukan dengan menghitung cross product dari garis yang terbentuk di antara tiga titik kontrol yang saling adjacent. Konveksitas disebut cembung apabila cross product bernilai negatif dan cekung apabila bernilai sebaliknya. Perhitungan nilai integral curvature juga dilakukan pada tahap ini, perhitungan integral dilakukan dengan memanfaatkan library cumtrapz. Keseluruhan perhitungan strain difference pada sistem ini terdapat pada fungsi strainDifference.

Perhitungan cost function dilakukan dengan menjumlahkan hasil perhitungan deformation

energy dan strain difference (Persamaan 12).

Cost function merupakan nilai yang menyatakan

perbedaan di antara kurva yang dipasangkan. Pada sistem ini perhitungan cost function

terdapat pada fungsi costFunction.

HASIL DAN PEMBAHASAN

Dokumen terkait