• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN

3.2. Arsitektur Umum

Metode Convolutional Neural Network (CNN) yang digunakan dalam penelitian ini memiliki tahapan dalam pengklasifikasian data tanaman. Tahapan yang pertama adalah proses pengumpulan data pelatihan yang digunakan dalam pembelajaran neural network. Metode CNN memiliki pre-trained neural network yang menggunakan data latih untuk melatih neural network. Proses pelatihan ini dilakukan untuk mendeteksi nilai yang ada pada gambar untuk menghasilkan ciri setiap gambar tanaman. Nilai inilah yang akan disimpan dan digunakan sebagai pengenal (classifier). Classifier ini digukanan pada tahap pengujian untuk proses klasifikasi tanaman.

Untuk lebih jelasnya mengenai gambaran metode penelitian dapat dilihat pada gambar 3.3 yang menunjukkan arsitektur umum yang digunakan dalam penelitian ini.

Gambar 3.3. Arsitektur Umum Penelitian

3.2.1. Pre-Trained Neural Network

Pada tahapan ini, neural network dilatih menggunakan total 160 data citra tanaman dengan format .png. Adapun proses dari pre-trained neural network ini dapat bekerja dengan beberapa data pelatihan, seperti:

1) Citra mikroskopis tanaman yang dikenal (kunyit dan temulawak), 2) Citra mikroskopis tanaman yang sama atau mirip, dan

3) Citra mikroskopis tanaman yang berbeda.

Kondisi di atas kemudian diproses untuk mendapatkan suatu nilai ciri untuk tiap citra menggunakan Convolutional Neural Network (CNN). Nilai ciri tersebut selanjutnya akan dilatih kembali untuk memastikan agar nilai ciri citra dari tanaman yang sama akan identik, dan sebaliknya mempunyai nilai yang berbeda untuk tanaman yang berbeda. Proses ini diulang terus-menerus sampai didapatkan kondisi neural network yang ideal.

Hasil dari proses inilah yang akan digunakan sebagai Trained Neural Network dan akan berguna untuk proses klasifikasi tanaman selanjutnya.

3.2.2. Testing Neural Network

Pada proses ini data uji yang digunakan sebanyak 20 citra untuk tiap jenis tanaman, jadi totalnya adalah 40 citra berformat .png.

3.2.3. Pre-Processing

Tahap pre-processing memungkinkan untuk menghasilkan citra yang lebih baik, sehingga akan lebih mudah diproses dan menghasilkan output yang lebih optimal pada tahap berikutnya.

1) Resizing

Citra yang diinput akan mengalami perubahan ukuran (resizing) menjadi 100x100. Proses ini bertujuan untuk mempercepat proses klasifikasi dan menyamaratakan ukuran citra setiap data.

2) Grayscaling

Pada tahap ini, citra yang sudah diubah ukurannya akan diproses grayscale menjadi citra keabuan. Berhubung pada penelitian tentang stomata ini

27

memerlukan data tekstur citra dan bukan citra warna, maka dapat dilakukan grayscale.

Citra yang telah diproses pada tahap grayscaling akan menghasilkan piksel-piksel warna gelap dan terang atau disebut dengan gradasi citra. Gradasi citra ini yang akan menghasilkan pola tertentu yang dapat digunakan pada tahapan selanjutnya.

Gambar 3.4 Tampilan Hasil Grayscale

3) Filter Gabor

Tahapan ini dilakukan dengan menginisialiasi variabel berikut:

ο‚· Tentukan parameter u, v, m, n untuk digunakan dalam perhitungan gabor filter bank.

Variabel u adalah jumlah skala (kecil ke besar), dengan nilai default adalah 5, variabel v adalah jumlah orientasi (horizontal, vertikal, diagonal), dengan nilai default adalah 8. Variabel m adalah jumlah baris dalam matriks gabor filter 2 dimensi, nilainya harus integer bulat ganjil, dengan nilai default adalah 39, dan n adalah jumlah kolom dalam matriks gabor filter 2 dimensi, nilainya harus integer bulat ganjil, dengan nilai default adalah 39. Dengan demikian penulis menetapkan nilai sebagai berikut dalam kode program:

gaborFB.u = 6;

gaborFB.v = 9;

gaborFB.m = 39;

gaborFB.n = 39;

ο‚· Tentukan parameter d1, d2 untuk digunakan dalam perhitungan gabor features

Parameter d1 dan d2 merupakan downsampling dari baris dan kolom matriks. Fungsinya untuk mengecilkan ukuran matriks dengan cara mengambil poin-poin penting dari matriks tersebut. Semakin besar nilai downsampling, maka semakin kecil pula ukuran matriks yang dihasilkan, sehingga perhitungan dapat dilakukan lebih cepat, tetapi tingkat kecocokannya akan semakin lemah, demikian pula sebaliknya.

Berikut adalah nilai yang ditetapkan penulis untuk parameter downsampling:

gaborFE.d1 = 3;

gaborFE.d2 = 3;

Gambar 3.5 Tampilan Hasil Proses Filter Gabor

3.2.4. Feature Extraction

Ekstraksi fitur yang dipakai dalam penelitian ini adalah Gray Level Co-Occurrence Matrix (GLCM). Metode ekstraksi fitur GLCM adalah salah satu ekstraksi order kedua pada fitur statistic tekstur. Ekstraksi order kedua menunjukkan hubungan statistik antara 2 piksel. GLCM adalah sebuah matriks dengan jumlah baris dan kolom sebanding dengan jumlah gray level (G) dalam suatu citra.

Metode GLCM dapat menghasilkan setidaknya 4 ekstraksi cirri dari suatu citra digital tiap sudut ketetanggan pikselnya. Besaran tersebut antara lain contrast, correlation, energy, dan homogeneity.

29

1) Contrast

Merupakan ukuran keberadaan variasi aras keabuan antarpiksel citra dengan lokasi relatif. Contrast memiliki memiliki batas nilai dari 0 hingga pangkat 2 dari panjang matriks GLCM simetris. Pada citra dengan elemen piksel yang bernilai sama secara keseluruhan, contrast bernilai 0. Untuk mencari ekstraksi fitur contrast dapat digunakan rumus sebagai berikut:

π‘Ÿ βˆ‘ βˆ‘

(3.1) 2) Correlation

Merupakan ukuran ketergantungan linear antarnilai tingkat keabuan dalam citra. Correlation dalam GLCM berfungsi untuk mengatur ketergantungan linier dari tingkat keabuan dalam ketetanggan piksel citra. Untuk mencari ekstraksi fiturnya dapat digunakan rumus sebagai berikut:

π‘Ÿπ‘Ÿ βˆ‘ βˆ‘

(3.2) 3) Energy

Merupakan nilai dari jumlah kuadrat pada elemen-elemen matriks GLCM.

Energy memiliki nilai yang tinggi ketika citra memiliki homogenitas yang baik atau nilai piksel yang hampir sama. Untuk mencari nilai ekstraksi fiturnya dapat digunakan rumus berikut:

Digunakan untuk mengukur homogenitas yaitu ukuran kedekatan distribusi masing-masing elemen pada matriks GLCM ke matriks GLCM diagonal.

Untuk mencari ekstraksi fiturnya dapat digunakan rumus berikut:

π‘š βˆ‘ βˆ‘

(3.4)

Tahapan awal untuk melalukan perhitungan besaran pada GLCM adalah menentukan matriks inputan terlebih dahulu.

0 1 0 1

2 3 1 1

0 2 3 2

2 1 3 1

Gambar 3.6 Matriks input awal

Dengan perhitungan GLCM, maka akan didapat nilai GLCM dari matriks 4x4 tersebut seperti gambar berikut ini:

0 0.125 0.042 0 0.125 0.083 0.042 0.125 0.042 0.042 0 0.125

0 0.125 0.125 0 Gambar 3.7 Matriks GLCM 4x4 sudut 0o

Selanjutnya kita masukkan nilai matriks yang sudah didapat ke dalam table untuk mempermudah perhitungan. Untuk piksel 0 tidak perlu dicantumkan karena jika dimasukkan dalam rumus hasilnya juga akan tetap bernulai 0 atau tidak mempengaruhi perhitungan yang ada.

Tabel 3.2 Nilai Matriks GLCM

GLCM Nilai

(1,2) 0.125

(1,3) 0.042

(2,1) 0.125

(2,2) 0.083

(2,3) 0.042

(2,4) 0.125

31

(3,2) 0.042

(3,4) 0.125

(4,2) 0.125

(4,3) 0.125

Tahapan selanjutnya kita masukkan nilai matriks GLCM ke dalam rumus besaran contrast, correlation, energy, dan homogeneity.

1) Contrast

βˆ‘ βˆ‘

{

}

{ }

Contrast = 0.192

2) Correlation

βˆ‘ βˆ‘

{

}

33

4) Homogeneity

Berdasarkan perhitungan yang dilakukan, maka dihasilkan nilai ekstraksi ciri dari matriks GCLM 4x4 seperti pada table 3.3.

Tabel 3.3 Hasil Perhitungan Nilai Ektraksi Ciri dari Matriks GLCM

Contrast 0.192

Correlation 0.104

Energy 0.107

Homogeneity 0.441

3.2.5. Convolutional Neural Network (CNN)

Pada tahapan ini data citra akan diklasifikasikan ke dalam 2 jenis output, yaitu citra stomata kunyit atau temulawak. Total data yang digunakan adalah 200 citra yang akan dibagi menjadi data latih dan data uji dengan perbandingan 160 : 40, dimana 160 data latih memuat 80 data dari tiap kategori, sedangkan 40 data uji memuat 20 data dari tiap kategori.

35

Tahapan awal dari pengolahan citra ini adalah dengan mengubah ukuran citra yang awalnya berukuran 100x100 piksel menjadi 32x32 piksel. Dianjurkan untuk menggunakan citra dengan ukuran nilai pangkat 2, seperti 16, 32, 64, 128 dan seterusnya. Untuk ukuran 16x16 ke bawah akan membuat informasi piksel banyak yang hilang, sedangkan untuk ukuran 128x128 atau lebih besar akan membuat tingkat pemrosesan menjadi lebih lambat. Ukuran yang ideal adalah 32x32 piksel dan 64x64 piksel. Dengan pertimbangan tersebut, penulis membuat nilai ukuran yang digunakan adalah 32x32.

Pada bab sebelumnya sudah dijelaskan bahwa proses umum pada CNN terdiri dari proses konvolusi, fungsi aktivasi, dan pooling. Banyaknya proses dalam tahapan ini disesuaikan dengan kebutuhan penelitian.

Proses konvolusi dilakukan sebanyak 4 kali, atau terdapat 4 convolution layers yang digunakan. Pada umumnya sudah cukup 2 layer saja yang digunakan untuk model klasifikasi, tetapi pada penelitian ini digunakan jaringan yang lebih deep sebagai implementasi deep learning untuk melatih model yang ada dan melihat bagaimana kinerja dari model prosesnya.

Adapun fungsi aktivasi yang digunakan adalah ReLu untuk menjadikan proses training menjadi lebih cepat. Ukuran kernel/filter yang digunakan untuk setiap layer konvolusi yaitu sebesar 3x3. Sedangkan ukuran pooling yang digunakan yaitu sebesar 2x2. Pooling dilakukan dua kali, yaitu setelah dua proses konvolusi pertama dan setelah dua proses konvolusi selanjutnya. Hal ini dilakukan agar ukuran input tidak berkurang secara drastis di setiap proses yang dilakukan, sehingga informasi citra input yang dimiliki masih berguna dan bisa digunakan dalam proses klasifikasi.

Sedangkan jumlah filter/kernel yang digunakan juga variatif, yaitu sebanyak 32 filter untuk layer konvolusi 1 dan 2 serta 64 filter untuk layer konvolusi 3 dan 4.

Penggunaan jumlah filter lebih banyak pada dua layer konvolusi terakhir dikarenakan ukuran input pada kedua lapisan tersebut lebih kecil, sehingga dibutuhkan lebih banyak filter untuk mengesktrak informasi citra. Pada proses akhir yaitu klasifikasi, softmax classifier digunakan untuk memberikan hasil yang lebih intuitif, sehingga memudahkan dalam melakukan klasifikasi dari interpretasi probabilistik untuk semua label yang dihasilkan.

Proses yang terjadi yaitu dimulai dengan melakukan β€œencoding” dari sebuah citra menjadi features yang berupa angka yang merepresentasikan citra tersebut. Pada

proses konvolusi pertama, citra sebagai input berukuran 32x32 piksel sebenarnya adalah multidimensional array dengan ukuran 32x32x3 (3 adalah jumlah channel RGB). Citra inilah yang akan dilakukan beberapa proses seperti yang disebutkan pada model. Filter akan digerakkan dengan stride 1 ke seluruh bagian dari input citra, mulai dari sudut kiri atas sampai kanan bawah. Setiap pergeseran filter pada input citra dilakukan operasi β€œdot” atau perhitungan matematis. Pada penelitian ini tidak ditambahkan zero padding, sehingga ukuran input yang digunakan sama dengan 32x32 piksel. Dengan kata lain, output yang dihasilkan dari proses konvolusi memiliki ukuran yang lebih kecil.

Besarnya ukuran citra yang dihasilkan dari proses konvolusi pertama ini menjadi 30x30 piksel. Hasil ukuran ini juga bisa didapatkan menggunakan perhitungan dibawah ini.

(W-F+2P)/S+1 = 32-3+2(0)/1 + 1 = 30

Begitu juga seterusnya untuk melakukan perhitungan ukuran citra yang terbentuk. Hasil operasi ini kemudian dikenakan dengan fungsi aktivasi yairu ReLu dan pooling. Masukan untuk fungsi aktivasi tersebut adalah nilai real dan keluaran dari fungsi tersebut adalah nilai antara 0 dan 1. Jika masukannya sangat negatif, maka keluaran yang didapatkan adalah 0, sedangkan jika masukan sangat positif maka nilai keluaran yang didapatkan adalah 1. Pada prinsipnya, pooling layer terdiri dari sebuah filter dengan ukuran dan stride tertentu akan bergeser ke seluruh area feature map.

Pooling yang digunakan yaitu Max Pooling. Tujuan dari penggunaan pooling layer yaitu untuk mengurangi dimensi dari feature map (downsampling).

Dengan menggunakan filter ukuran 2x2 dan stride 2 pada operasi max pooling, didapatkan ukuran citra yang terbentuk setelah dilakukan proses konvolusi pertama, dikenakan fungsi aktivasi, kemudian operasi max pooling adalah sebesar 14x14 pixel.

Hasil dari proses konvolusi berupa feature map yang digunakan kembali sebagai input untuk proses konvolusi berikutnya. Proses tersebut berjalan hingga berakhirnya proses konvolusi. Selain itu, metode regularisasi yang digunakan dropout, dimana beberapa neuron akan dipilih secara acak dan tidak dipakai selama pelatihan. Neuron-neuron ini dapat dibilang dibuang secara acak. Hal ini berarti bahwa kontribusi neuron yang

37

dibuang akan diberhentikan sementara jaringan dan bobot baru juga tidak diterapkan pada neuron pada saat melakukan backpropagation.

Adapun alur dari proses konvolusinya dapat dijelaskan dengan gambar berikut:

Gambar 3.8 Convolutional Layer 1

Penggunaan filter 3x3 dan stride 1 pada proses konvulasi dilakukan agar tidak terlalu banyak data informasi yang hilang.

Gambar 3.9 Convolutional Layer 2

Pada tahap kedua disarankan juga untuk menetapkan filter 3x3 dan stride 1 karena ukuran piksel tidak terlalu tinggi, sehingga masih bisa dilakukan mengambilan informasi citra lebih dalam.

Gambar 3.10 Operasi Max Pooling 1

Setelah melakukan 2 kali proses konvolusi, yang mana sudah terbilang cukup untuk pengambilan informasi citra awal, ditetapkan operasi max pooling dengan filter 2x2 dan stride 2 untuk memperkecil ukuran piksel lebih signifikan.

39

Gambar 3.11 Convolutional Layer 3

Pada tingkat proses konvolusi ketiga diberikan filter yang lebih besar untuk mereduksi lagi ukuran piksel hasil, tetapi tetap dengan stride 1 agar tidak terjadi kehilangan informasi piksel yang terlalu besar, serta ditetapkan juga perubahan kernel menjadi 64.

Gambar 3.12 Convolutional Layer 4

Pada tingkat layer konvolusi keempat, atau yang terakhir terjadi proses yang sama seperti pada layer yang ketiga.

Gambar 3.13 Operasi Max Pooling 2

Operasi max pooling kedua sama dengan operasi max pooling yang pertama, baik itu filter 2x2 dan stride 1, hanya saja terjadi pada kernel 64.

Hasil dari proses konvolusi berupa feature map masih berbentuk multidimensional array, sehingga dilakukan reshape atau flatten feature map menjadi sebuah vektor agar bisa digunakan sebagai input dari fully-connected layer, hingga pada akhirnya dilakukan klasifikasi citra. Pada fully-connected layer digunakan neuron sebanyak 256, hingga pada akhirnya model terbentuk dan berhasil melakukan klasifikasi antara citra kunyit dan temulawak. Hasil dari model ditunjukkan pada table berikut:

Tabel 3.4 Tabel Proses dengan metode CNN

Layer Output Jumlah Neuron

Input citra 32 x 32 x 3 0

Convolution layer 1 30 x 30 x 32 28.800 Convolution layer 2 28 x 28 x 32 25.088

Max pooling 1 14 x 14 x 32 0

Dropout 1 14 x 14 x 32 0

Convolution layer 3 12 x 12 x 64 9.216 Convolution layer 4 10 x 10 x 64 6.400

Max pooling 2 5 x 5 x 64 1.600

41

Fully connected layer 1.600 0

Dense hidden layer 384 0

Fully connected layer (Softmax output)

256 0

Target sampling 2 514

Total Neuron 45.698

Total neutron yang ada dalam model ini sebanyak 45.698 parameter.

Berdasarkan table di atas, dapat dilihat bahwa ukuran citra pada setiap layer konvolusi semakin berkurang. Ukuran citra pada proses konvolusi terakhir sebelum masuk ke fully connected layer adalah 5x5 piksel. Sedangkan jumlah filter yang digunakan yaitu sebanyak 64. Kemudian dilakukan reshape sehingga ada 1600 neuron yang akan masuk pada fully connected layer. Jumlah neuron pada hidden layer yang digunakan yaitu sebanyak 384 neuron. Pada fully connected layer juga ditambahkan proses dropout saat melakukan pelatihan, sehingga dihasilkan 256 neutron pada Softmax output. Karena pengolahan ini bertujuan untuk menentukan jenis dari 2 kategori, maka kita masukkan nilai target 2 di akhir pengolahan.

3.2.6. Output

Hasil klasifikasi akan menampilkan prediksi jenis tanaman masuk dalam kategori mana berdasarkan citra yang telah diinput.

3.3. Perancangan Antarmuka Sistem

Dokumen terkait