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 0 50 100 150 0 20 40 60 80 100 120140160180 0 50 100 150 0 20 40 60 80 100120140160180 0 50 100 150 0 20 40 60 80 100 120140160180 0 50 100 150 (f)
Gambar 3 Hasil deteksi tepi Canny pada citra daun (a) (b) jarak pagar, (c) (d) kumis kucing, dan (e) (f) tabat barito.
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) (b) (c) (d) (e) (f)
Gambar 4 Kurva b-spline pada citra daun (a) (b) jarak pagar, (c) (d) kumis kucing, (e) (f) tabat barito.
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.
0 50 100 150 0 50 100 150
Tabel 1 Hasil Pencocokan Daun a b c d e f a 0 0,0424 0,0469 0,0893 0,0080 0,6641 0,6722 3,0680 0,2518 3,3198 0,8930 0,6785 1,5715 0,4166 0,3645 0,7811 b 0,0387 0,0464 0,0851 0 0,3638 0,2446 0,6084 0,3057 0,3056 0,6113 0,1905 1,3020 1,4925 0,0019 1,1601 1,1620 c 0,0117 0,2380 0,2497 0,3641 0,6703 1,0344 0 0,0073 0,1113 0,1186 0,2402 0,5085 0,7487 0,1531 1,4979 1,6510 d 3,1242 0,2158 3,3400 0,3030 0,2886 0,5916 0,0068 0,0826 0,0894 0 0,4063 0,7093 1,1156 0,0168 1,2616 1,2784 e 0,0075 0,7648 0,7723 0,1580 0,5735 0,7315 0,1516 0,1065 0,2581 0,3906 0,5725 0,9631 0 0 0,0567 0,0567 f 0,0003 0,2893 0,2896 0,0009 0,9458 0,9468 0,2052 0,3534 0,5586 0,0166 0,4395 0,4561 0 0,0672 0,0672 0 (b) (e)
Gambar 5 Pasangan titik pada citra daun (b) 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).
Nilai yang dihasilkan dapat dipengaruhi secara dominan oleh salah satu dari dua parameter penentunya, yaitu strain difference ( ) maupun deformation energy ( ).
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).