PENCOCOKAN CITRA DAUN MENGGUNAKAN KURVA
B-SPLINE
IKRIMA NURNY HIKMAWATI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
PENCOCOKAN CITRA DAUN MENGGUNAKAN KURVA
B-SPLINE
IKRIMA NURNY HIKMAWATI
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
ABSTRACT
IKRIMA NURNY HIKMAWATI. B-Spline Curve for Plant Leaf Image Matching. Under the supervision of YENI HERDIYENI.
B-spline stands as an efficient curve representation because of its properties and it has been widely used in computer aided design and computer graphics. Finding point correspondence between two curves is a fundametal task in b-spline curve matching. A b-spline curve is not uniqely described by a single set of control points. That is, with different choice for placement of the knot points, a different control points can be induced, but still describe the same curve. This condition is worsen if few knots and control points is used for curve matching. Thus, the direct comparison for knot and control points is not appropriate for curve matching. This research proposed an approach that incorporates deformable mapping (deformation energy) and geometric characteristics (strain difference) of spline curve. This method was implemented on plant leaf image. As the result, same species leaves have low total cost as compared to different species leaves.
Judul : Pencocokan Citra Daun Menggunakan Kurva B-Spline
Nama : Ikrima Nurny Hikmawati NIM : G64062543
Menyetujui:
Pembimbing
Dr. Yeni Herdiyeni, S.Si, M.Kom NIP 19750923 200012 2 001
Mengetahui:
Ketua Departemen Ilmu Komputer Institut Pertanian Bogor
Dr. Ir. Sri Nurdiati, M.Sc NIP 19601126 198601 2 001
PRAKATA
Segala puji hanya bagi Allah SWT karena dengan rahmat dan karunia-Nya, akhirnya penulis dapat menyelesaikan tugas akhir yang berjudul Pencocokan Citra Daun Menggunakan Kurva B-Spline. Penelitian ini dilaksanakan dari bulan Februari hingga Januari 2011 dan bertempat di Departemen Ilmu Komputer.
Terima kasih penulis ucapkan kepada Dr. Yeni Herdiyeni, S.Si, M.Kom selaku pembimbing yang telah memberikan arahan dan bimbingan selama penelitian ini dilakukan dan kepada Musthofa, S.Kom, M.Sc serta Dr. Ir. Sri Nurdiati, M.Sc selaku dosen penguji yang telah memberikan masukan untuk perbaikan skripsi ini. Ungkapan terima kasih juga penulis sampaikan kepada bapak dan mamak atas kasih sayang maupun doa yang tiada hentinya, serta kepada Mbak Is dan Mbak Dira untuk segala motivasi yang diberikan. Terima kasih untuk suasana kekeluargaan yang telah disuguhkan oleh anak-anak Lorong Ceria Harmony 2. Kepada teman seperjuangan penulis, Fifi, Lies, Poe, Vira, Wisnu, Kak Dimas, Pak Aris, dan Ilkom Angkatan 43, terima kasih untuk kebersamaannya. Semoga tulisan ini bermanfaat.
Bogor, Januari 2011
RIWAYAT HIDUP
Penulis dilahirkan di Tanjungpinang, Kepulauan Riau pada 12 November 1988 sebagai anak ketiga dari tiga bersaudara dari pasangan Badrun Asnawie dan Ratmini. Pada 2006, penulis berhasil menyelesaikan pendidikan sekolah menegah atas di SMA Negeri 1 Tanjungpinang.
v DAFTAR ISI
Halaman
DAFTAR GAMBAR ... vi
DAFTAR LAMPIRAN ... vi
PENDAHULUAN ... 1
Latar Belakang ... 1
Tujuan ... 1
Ruang Lingkup ... 1
Manfaat Penelitian ... 1
TINJAUAN PUSTAKA ... 1
Deteksi Tepi Canny ... 1
Kurva B-Spline ... 2
Pasangan Knot ... 2
Thin Plate Spline Deformation Energy ... 3
Strain Difference ... 3
Cost Function ... 3
METODE PENELITIAN ... 3
Data Citra ... 4
Segmentasi Citra... 4
Ekstraksi Bentuk dengan Pemodelan B-Spline ... 4
Pencocokan Kurva B-Spline ... 4
Evaluasi Pencocokan Daun ... 4
Implementasi Sistem ... 4
HASIL DAN PEMBAHASAN... 5
Hasil Praproses ... 5
Hasil Pemodelan B-Spline ... 6
Perhitungan Kemiripan (Pencocokan Kurva) ... 6
Hasil Pencocokan ... 7
Evaluasi Pencocokan Daun ... 7
KESIMPULAN DAN SARAN... 8
Kesimpulan ... 8
Saran ... 8
DAFTAR PUSTAKA ... 8
DAFTAR GAMBAR
Halaman
1 Metode Penelitian ... 3 2 Citra daun (a) (b) jarak pagar, (c) (d) kumis kucing, dan (e) (f) tabat barito. ... 4 3 Hasil deteksi tepi Canny pada citra daun (a) (b) jarak pagar, (c) (d) kumis kucing, dan
(e) (f) tabat barito. ... 6 4 Kurva b-spline pada citra daun (a) (b) jarak pagar, (c) (d) kumis kucing, (e) (f) tabat
barito. ... 6 5 Pasangan titik pada citra daun (b) jarak pagar dan (e) tabat barito... 7
DAFTAR LAMPIRAN
Halaman
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
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:
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 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)
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: dihasilkan persamaan linear untuk koefisien TPS: , 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: 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 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)
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.
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
Hasil Praproses
Pada tahap awal dilakukan pembersihan data secara manual sehingga diperoleh citra yang hanya memuat satu jenis daun dengan latar belakang putih. Selanjutnya untuk mendapatkan bentuk daun, dilakukan pendeteksian tepi menggunakan Canny. Hasil deteksi tepi dapat dilihat pada Gambar 3.
(a)
(b)
(c)
(d)
0 20 40 60 80 100120 140160180
Hasil Pemodelan B-Spline
Pemodelan b-spline pada penelitian ini memanfaatkan b-spline hasil penelitian Rahmadhani (2009). Kurva b-spline yang dihasilkan untuk setiap citra daun tergolong baik karena pada kurva tersebut tidak ditemukan garis terputus maupun garis yang salah terhubung sehingga bentuk kurva benar-benar mewakili bentuk daun yang sebenar-benarnya (Gambar 4). Hal tersebut sangat penting karena apabila terdapat kesalahan dalam pemodelan kurva maka parameter-parameter utama dalam pemodelan kurva b-spline yaitu titik kontrol dan
knot yang dihasilkan menjadi tidak akurat. Kedua parameter tersebut selanjutnya akan digunakan pada perhitungan kemiripan kurva.
(a)
Perhitungan Kemiripan (Pencocokan Kurva)
Tahap awal pencocokan kurva adalah menentukan pasangan knot yang bersesuaian dari keseluruhan knot yang mungkin dipasangkan di antara kedua kurva tersebut dengan menggunakan formula matriks pencocokan. Nilai treshold yang digunakan sebagai batas yang menentukan suatu knot
dengan knot lainnya berpasangan atau tidak yaitu sebesar 0,9994. Pemilihan nilai treshold
tersebut berdasarkan pada percobaan, treshold
yang terlalu rendah menyebabkan pasangan
knot yang ditemukan semakin banyak akan tetapi tidak akurat sedangkan treshold yang tinggi menghasilkan pasangan knot yang lebih akurat akan tetapi berjumlah sedikit.
Penentuan pasangan knot juga melibatkan parameter T (deterministic annealing). Adanya parameter T tersebut agar penentuan pasangan
knot tidak hanya didominasi oleh pengaruh jarak antara knot saja melainkan juga dipengaruhi oleh curvature (kelengkungan) kurva. Apabila nilai T kecil berarti jarak memainkan peranan penting dalam penentuan pasangan knot sebaliknya semakin besar nilai T
maka penentuan pasangan knot lebih dipengaruhi oleh kelengkungan kurva. Pada penelitian ini digunakan 2 nilai T agar penentuan pasangan knot tidak hanya dipengaruhi oleh satu faktor saja. Nilai T yang digunakan adalah 0,2 dan 0,8. Berdasarkan informasi pasangan knot yang diperoleh sebelumnya, pasangan titik kontrol dapat diketahui dengan melihat posisi pasangan knot
tersebut. Contoh pasangan titik kontrol dapat dilihat pada Gambar 5 sedangkan gambar pasangan titik kontrol untuk pencocokan seluruh jenis daun dapat dilihat di Lampiran 1.
Tabel 1 Hasil Pencocokan Daun jarak pagar dan (e) tabat barito. Tahap selanjutnya adalah perhitungan kemiripan dengan menggunakan formula cost
function. Formula ini merupakan penjumlahan
dari strain difference dan deformation energy. Pada formula strain difference digunakan pembobot yaitu sebesar 100, sementara itu pada formula deformation energy digunakan n
sebesar 100. Penentuan kedua parameter tersebut berdasarkan percobaan, dengan tujuan agar nilai yang dihasilkan berada pada rentang tertentu. Nilai cost function yang semakin mendekati 0 menunjukkan dua kurva yang dicocokkan tersebut semakin mirip.
Hasil Pencocokan
Hasil pencocokan kurva dapat dilihat pada Tabel 1. Pada setiap hasil pencocokan memiliki 3 buah nilai yang secara berurutan menyatakan
strain difference ( ), deformation energy ( ),
dan cost function ( ) untuk citra daun (a) (b)
jarak pagar, (c) (d) kumis kucing, dan (e) (f)
tabat barito.
Evaluasi Pencocokan Daun
Berdasarkan hasil pencocokan yang terdapat pada Tabel 1, perbedaan bentuk pada daun menyebabkan adanya perbedaan nilai cost
function ( ) yang dihasilkan.
Secara umum, hasil pencocokan kurva memperlihatkan bahwa pencocokan citra daun di antara daun yang sejenis menghasilkan nilai
yang lebih kecil dibandingkan dengan citra daun yang berbeda jenis. Nilai yang kecil menandakan bahwa kemiripan antara kedua jenis daun yang dicocokkan tersebut tinggi. Pencocokan di antara daun sejenis, yaitu antara daun jarak pagar (a) dan (b) menghasilkan sebesar 0,0893, antara daun (b) dan (a) sebesar 0,0851. Pencocokan antara daun sejenis lainnya yaitu antara daun kumis kucing (c) dan (d) menghasilkan sebesar 0,1186, antara daun (d) dan (c) sebesar 0,0894. Selain itu, pencocokan antara daun tabat barito (e) dan (f) menghasilkan sebesar 0,0567 serta pencocokan antara daun (f) dan (e) sebesar 0,0672. Pencocokan di antara daun sejenis menghasilkan nilai kecil dikarenakan pada umumnya tidak ditemukan perbedaan yang signifikan pada setiap segmen kurva yang dipasangkan dan juga pada posisi pasangan titik kontrol (Lampiran 2).
Pencocokan antara citra daun (a) jarak pagar dan (d) kumis kucing merupakan contoh kasus untuk nilai yang tinggi yaitu 3,0680. Nilai yang tinggi disebabkan adanya perbedaan yang signifikan pada setiap segmen kurva yang dipasangkan, khususnya dari segi konveksitas segmen kurva. Selain itu pasangan titik kontrol yang diperoleh pada pencocokan ini tepat, artinya tidak memiliki perbedaan posisi yang signifikan sehingga menyebabkan nilai yang dihasilkan rendah (Lampiran 2).
Sementara itu, contoh kasus untuk nilai yang tinggi terdapat pada pencocokan citra daun antara (c) kumis kucing dan (f) tabat barito. Nilai yang dihasilkan sebesar 1,4979. Nilai yang tinggi disebabkan banyaknya pasangan titik kontrol yang diperoleh yang memiliki posisi yang tidak tepat atau tidak sesuai. Nilai yang dihasilkan pada pencocokan ini rendah, hal ini disebabkan oleh konveksitas setiap segmen kurva yang dipasangkan cenderung seragam (Lampiran 2).
KESIMPULAN DAN SARAN
Kesimpulan
Pencocokan citra daun menggunakan kurva
b-spline berhasil diimplementasikan. Penentuan
pasangan titik kontrol dan konveksitas segmen kurva berpengaruh terhadap hasil pencocokan. Pencocokan di antara citra daun yang sejenis menghasilkan kemiripan yang tinggi.
Saran
Penelitian menggunakan data daun dengan jumlah yang lebih besar dan bervariasi agar dapat dihasilkan sistem pengenalan daun secara otomatis menggunakan kurva b-spline.
DAFTAR PUSTAKA
[Bappenas] Badan Perencanaan dan Pembangunan Nasional. 2003. Indonesian
Biodiversity and Action Plan (2003-2020).
Jakarta: Bappenas.
Bookstein FL. 1989. Principal Warps: Thin-Plate Splines and the Decomposition of Deformations. IEEE Transactions on Pattern Analysis and Machine Intelligence
11:567-585.
Hearn D, Baker MP. 2004. Computer Graphics
with OpenGL 3rd Edition. New Jersey:
Pearson Prentice Hall.
Lee SM, Abbott AL, Clark NA, Araman PA. 2004. Spline Curve Matching with Sparse
Knot Sets. IEEE 3:1808-1813.
McAndrew A. 2004. AnIntroduction to Digital
Image Processing with Matlab. United
States: Course Technology Press.
Rahmadhani. 2009. Ekstraksi Fitur Bentuk dan Venasi Citra Daun dengan Pemodelan
Fourier dan B-Spline [skripsi]. Bogor:
Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.
Toe T, To TV. 2004. Curve Matching by using
B-spline Curves. WSCG Poster
Proceedings at the 12th International
Conference in Central Europe on Computer Graphics, Visualization and Computer
Vision; Czech Republic, 2-6 Feb 2004.
Czech Republic: UNION Agency - Science Press.
Lampiran 1 Pencocokan citra Kueri citra daun (a) jarak pagar
Citra Daun N Kurva B-Spline Citra Daun
Kurva B-Spline
(Kueri)
Gabungan Kurva B-Spline
(a) jarak pagar
124
(b) jarak pagar 26
(c) kumis kucing 22
(d) kumis kucing 19
(e) tabat barito 34
(f) tabat barito 29
N = jumlah pasangan titik kontrol 40 60 80 100 120
20 40 60 80 100 120
20 40 60 80 100 120 140
Lampiran 1 Lanjutan
Kueri citra daun (b) jarak pagar
Citra Daun N Kurva B-Spline
(c) kumis kucing 29
(d) kumis kucing 26
(e) tabat barito 39
(f) tabat barito 32
N = jumlah pasangan titik kontrol
Lampiran 1 Lanjutan
Kueri citra daun (c) kumis kucing
Citra Daun N Kurva B-Spline
(c) kumis kucing 110
(d) kumis kucing 21
(e) tabat barito 25
(f) tabat barito 29
N = jumlah pasangan titik kontrol
Lampiran 1 Lanjutan
Kueri citra daun (d) kumis kucing
Citra Daun N Kurva B-Spline
(c) kumis kucing 21
(d) kumis kucing 119
(e) tabat barito 22
(f) tabat barito 27
N = jumlah pasangan titik kontrol
Lampiran 1 Lanjutan
Kueri citra daun (e) tabat barito
Citra Daun N Kurva B-Spline Citra Daun
Kurva B-Spline
(Kueri)
Gabungan Kurva B-Spline
(a) jarak pagar 35
(b) jarak pagar 38
(c) kumis kucing 26
(d) kumis kucing 23
(e) tabat barito
115
(f) tabat barito 54
N = jumlah pasangan titik kontrol
40 60 80 100 120
40 60 80 100 120
0 20 40 60 80 100 120 140
0 20 40 60 80 100 120 140
0 20 40 60 80 100 120 140
Lampiran 1 Lanjutan
Kueri citra daun (f) tabat barito
Citra Daun N Kurva B-Spline Citra Daun
Kurva B-Spline
(Kueri)
Gabungan Kurva B-Spline
(a) jarak pagar 30
(b) jarak pagar 35
(c) kumis kucing 29
(d) kumis kucing 27
(e) tabat barito 54
(f) tabat barito
115
N = jumlah pasangan titik kontrol 40 60 80 100 120
20 40 60 80 100 120
0 20 40 60 80 100 120 140
Lampiran 2 Pasangan titik kontrol dan konveksitas segmen kurva
Pencocokan citra daun sejenis, (a) jarak pagar dan (b) jarak pagar
Pencocokan citra daun (a) jarak pagar dan (d) kumis kucing
Lampiran 2 Lanjutan
Pencocokan citra daun (c) kumis kucing dan (f) tabat barito
20 40 60 80 100 120 140 160
1 2 3 4 5 6
7 8 9 10
11 12
14 13
15 16
17 18
19 20
21 22
23
24 25
26 27
28 29
1’
2’ 3’ 4’ 5’
6’
7’8’9’10’11’12’13’14’15’
16’
17’ 18’ 19’
20’ 21’ 22’ 23’
ABSTRACT
IKRIMA NURNY HIKMAWATI. B-Spline Curve for Plant Leaf Image Matching. Under the supervision of YENI HERDIYENI.
B-spline stands as an efficient curve representation because of its properties and it has been widely used in computer aided design and computer graphics. Finding point correspondence between two curves is a fundametal task in b-spline curve matching. A b-spline curve is not uniqely described by a single set of control points. That is, with different choice for placement of the knot points, a different control points can be induced, but still describe the same curve. This condition is worsen if few knots and control points is used for curve matching. Thus, the direct comparison for knot and control points is not appropriate for curve matching. This research proposed an approach that incorporates deformable mapping (deformation energy) and geometric characteristics (strain difference) of spline curve. This method was implemented on plant leaf image. As the result, same species leaves have low total cost as compared to different species leaves.
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
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
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:
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 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)
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: dihasilkan persamaan linear untuk koefisien TPS: , 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: 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 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: dihasilkan persamaan linear untuk koefisien TPS: , 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: 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 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)
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.
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
Hasil Praproses
Pada tahap awal dilakukan pembersihan data secara manual sehingga diperoleh citra yang hanya memuat satu jenis daun dengan latar belakang putih. Selanjutnya untuk mendapatkan bentuk daun, dilakukan pendeteksian tepi menggunakan Canny. Hasil deteksi tepi dapat dilihat pada Gambar 3.
(a)
(b)
(c)
(d)
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
Hasil Praproses
Pada tahap awal dilakukan pembersihan data secara manual sehingga diperoleh citra yang hanya memuat satu jenis daun dengan latar belakang putih. Selanjutnya untuk mendapatkan bentuk daun, dilakukan pendeteksian tepi menggunakan Canny. Hasil deteksi tepi dapat dilihat pada Gambar 3.
(a)
(b)
(c)
(d)
0 20 40 60 80 100120 140160180
Hasil Pemodelan B-Spline
Pemodelan b-spline pada penelitian ini memanfaatkan b-spline hasil penelitian Rahmadhani (2009). Kurva b-spline yang dihasilkan untuk setiap citra daun tergolong baik karena pada kurva tersebut tidak ditemukan garis terputus maupun garis yang salah terhubung sehingga bentuk kurva benar-benar mewakili bentuk daun yang sebenar-benarnya (Gambar 4). Hal tersebut sangat penting karena apabila terdapat kesalahan dalam pemodelan kurva maka parameter-parameter utama dalam pemodelan kurva b-spline yaitu titik kontrol dan
knot yang dihasilkan menjadi tidak akurat. Kedua parameter tersebut selanjutnya akan digunakan pada perhitungan kemiripan kurva.
(a)
Perhitungan Kemiripan (Pencocokan Kurva)
Tahap awal pencocokan kurva adalah menentukan pasangan knot yang bersesuaian dari keseluruhan knot yang mungkin dipasangkan di antara kedua kurva tersebut dengan menggunakan formula matriks pencocokan. Nilai treshold yang digunakan sebagai batas yang menentukan suatu knot
dengan knot lainnya berpasangan atau tidak yaitu sebesar 0,9994. Pemilihan nilai treshold
tersebut berdasarkan pada percobaan, treshold
yang terlalu rendah menyebabkan pasangan
knot yang ditemukan semakin banyak akan tetapi tidak akurat sedangkan treshold yang tinggi menghasilkan pasangan knot yang lebih akurat akan tetapi berjumlah sedikit.
Penentuan pasangan knot juga melibatkan parameter T (deterministic annealing). Adanya parameter T tersebut agar penentuan pasangan
knot tidak hanya didominasi oleh pengaruh jarak antara knot saja melainkan juga dipengaruhi oleh curvature (kelengkungan) kurva. Apabila nilai T kecil berarti jarak memainkan peranan penting dalam penentuan pasangan knot sebaliknya semakin besar nilai T
maka penentuan pasangan knot lebih dipengaruhi oleh kelengkungan kurva. Pada penelitian ini digunakan 2 nilai T agar penentuan pasangan knot tidak hanya dipengaruhi oleh satu faktor saja. Nilai T yang digunakan adalah 0,2 dan 0,8. Berdasarkan informasi pasangan knot yang diperoleh sebelumnya, pasangan titik kontrol dapat diketahui dengan melihat posisi pasangan knot
tersebut. Contoh pasangan titik kontrol dapat dilihat pada Gambar 5 sedangkan gambar pasangan titik kontrol untuk pencocokan seluruh jenis daun dapat dilihat di Lampiran 1.
Tabel 1 Hasil Pencocokan Daun jarak pagar dan (e) tabat barito. Tahap selanjutnya adalah perhitungan kemiripan dengan menggunakan formula cost
function. Formula ini merupakan penjumlahan
dari strain difference dan deformation energy. Pada formula strain difference digunakan pembobot yaitu sebesar 100, sementara itu pada formula deformation energy digunakan n
sebesar 100. Penentuan kedua parameter tersebut berdasarkan percobaan, dengan tujuan agar nilai yang dihasilkan berada pada rentang tertentu. Nilai cost function yang semakin mendekati 0 menunjukkan dua kurva yang dicocokkan tersebut semakin mirip.
Hasil Pencocokan
Hasil pencocokan kurva dapat dilihat pada Tabel 1. Pada setiap hasil pencocokan memiliki 3 buah nilai yang secara berurutan menyatakan
strain difference ( ), deformation energy ( ),
dan cost function ( ) untuk citra daun (a) (b)
jarak pagar, (c) (d) kumis kucing, dan (e) (f)
tabat barito.
Evaluasi Pencocokan Daun
Berdasarkan hasil pencocokan yang terdapat pada Tabel 1, perbedaan bentuk pada daun menyebabkan adanya perbedaan nilai cost
function ( ) yang dihasilkan.
Secara umum, hasil pencocokan kurva memperlihatkan bahwa pencocokan citra daun di antara daun yang sejenis menghasilkan nilai
yang lebih kecil dibandingkan dengan citra daun yang berbeda jenis. Nilai yang kecil menandakan bahwa kemiripan antara kedua jenis daun yang dicocokkan tersebut tinggi. Pencocokan di antara daun sejenis, yaitu antara daun jarak pagar (a) dan (b) menghasilkan sebesar 0,0893, antara daun (b) dan (a) sebesar 0,0851. Pencocokan antara daun sejenis lainnya yaitu antara daun kumis kucing (c) dan (d) menghasilkan sebesar 0,1186, antara daun (d) dan (c) sebesar 0,0894. Selain itu, pencocokan antara daun tabat barito (e) dan (f) menghasilkan sebesar 0,0567 serta pencocokan antara daun (f) dan (e) sebesar 0,0672. Pencocokan di antara daun sejenis menghasilkan nilai kecil dikarenakan pada umumnya tidak ditemukan perbedaan yang signifikan pada setiap segmen kurva yang dipasangkan dan juga pada posisi pasangan titik kontrol (Lampiran 2).
Pencocokan antara citra daun (a) jarak pagar dan (d) kumis kucing merupakan contoh kasus untuk nilai yang tinggi yaitu 3,0680. Nilai yang tinggi disebabkan adanya perbedaan yang signifikan pada setiap segmen kurva yang dipasangkan, khususnya dari segi konveksitas segmen kurva. Selain itu pasangan titik kontrol yang diperoleh pada pencocokan ini tepat, artinya tidak memiliki perbedaan posisi yang signifikan sehingga menyebabkan nilai yang dihasilkan rendah (Lampiran 2).
Sementara itu, contoh kasus untuk nilai yang tinggi terdapat pada pencocokan citra daun antara (c) kumis kucing dan (f) tabat barito. Nilai yang dihasilkan sebesar 1,4979. Nilai yang tinggi disebabkan banyaknya pasangan titik kontrol yang diperoleh yang memiliki posisi yang tidak tepat atau tidak sesuai. Nilai yang dihasilkan pada pencocokan ini rendah, hal ini disebabkan oleh konveksitas setiap segmen kurva yang dipasangkan cenderung seragam (Lampiran 2).
KESIMPULAN DAN SARAN
Kesimpulan
Pencocokan citra daun menggunakan kurva
b-spline berhasil diimplementasikan. Penentuan
pasangan titik kontrol dan konveksitas segmen kurva berpengaruh terhadap hasil pencocokan. Pencocokan di antara citra daun yang sejenis menghasilkan kemiripan yang tinggi.
Saran
Penelitian menggunakan data daun dengan jumlah yang lebih besar dan bervariasi agar dapat dihasilkan sistem pengenalan daun secara otomatis menggunakan kurva b-spline.
DAFTAR PUSTAKA
[Bappenas] Badan Perencanaan dan Pembangunan Nasional. 2003. Indonesian
Biodiversity and Action Plan (2003-2020).
Jakarta: Bappenas.
Bookstein FL. 1989. Principal Warps: Thin-Plate Splines and the Decomposition of Deformations. IEEE Transactions on Pattern Analysis and Machine Intelligence
11:567-585.
Hearn D, Baker MP. 2004. Computer Graphics
with OpenGL 3rd Edition. New Jersey:
Pearson Prentice Hall.
Lee SM, Abbott AL, Clark NA, Araman PA. 2004. Spline Curve Matching with Sparse
Knot Sets. IEEE 3:1808-1813.
McAndrew A. 2004. AnIntroduction to Digital
Image Processing with Matlab. United
States: Course Technology Press.
Rahmadhani. 2009. Ekstraksi Fitur Bentuk dan Venasi Citra Daun dengan Pemodelan
Fourier dan B-Spline [skripsi]. Bogor:
Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.
Toe T, To TV. 2004. Curve Matching by using
B-spline Curves. WSCG Poster
Proceedings at the 12th International
Conference in Central Europe on Computer Graphics, Visualization and Computer
Vision; Czech Republic, 2-6 Feb 2004.
Czech Republic: UNION Agency - Science Press.