implementasi metode convolutional neural network …
TRANSCRIPT
IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK (CNN)
PADA PENYORTIRAN BUAH JERUK
Rio Tua Pandapotan1) Dini Sundani2) 1,2 Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Gunadarma
email: [email protected], [email protected]
ABSTRAK
Secara visual cukup mudah membedakan (menyortir) jenis-jenis jeruk, yang
memiliki berbagai bentuk dan jenis, berukuran besar atau kecil, berbentuk bulat atau oval
dan dengan warna yang berbeda-beda. Seiring perkembangan teknologi, terdapat metode
yang dapat membedakan objek sesuai dengan kelas atau jenisnya, yaitu dengan
menggunakan metode Convolutional Neural Network (CNN). Pada penelitian ini penulis
mengimpleentasikan metode CNN untuk melakukan penyortiran terhadap citra jeruk
clementine, jeruk kumquats, jeruk lemon, dan jeruk nipis. Terdapat 5 tahapan yang
dilakukan dalam penelitian ini yaitu persiapan citra input, pemrosesan citra, perancangan
model, pelatihan data, dan akurasi program. Hasil penelitian menunjukkan nilai akurasi
pelatihan data sebesar 89,9% terhadap 119 data uji.
Kata kunci: penyortiran, buah, jeruk, CNN
.
1. PENDAHULUAN
Imunitas dan kesehatan tubuh dapat dijaga dengan mengkonsumsi makanan yang kaya
akan kandungan gizi, vitamin, mineral dan serat, salah satunya dapat dipeoleh melalui buah
jeruk.
Jeruk memiliki berbagai bentuk dan jenis, ada yang berukuran besar atau kecil, berbentuk
bulat atau oval dan memiliki warna yang berbeda-beda. Secara visual mata manusia mudah
untuk membedakan (menyortir) jenis-jenis jeruk. Seiring perkembangan teknologi, terdapat
metode yang dapat membedakan objek sesuai dengan kelas atau jenisnya, yaitu dengan
menggunakan metode Convolutional Neural Network (CNN).
Algoritma CNN merupakan algortima yang cukup banyak digunakan khususnya untuk
mengklasifikasikan citra [1]. Algoritma CNN juga telah dilakukan oleh Nahila Khunafa
Qudisi untuk mengklasifikasikan suatu objek, yaitu terhadap objek citra tulisan tangan digital
dan menghasilkan akurasi diatas 90% dan hasil diatas 80% untuk pengujian terhadap
penglihatan mata manusia [2]. Berdasarkan penelitian yang telah diuraikan bahwa algortima
CNN dapat melakukan klasifikasi dengan nilai akurasi yang cukup baik terhadap suatu objek,
maka penelitian ini mengusulkan implementasi metode Convolutional Neural Network
(CNN) pada penyortiran buah jeruk
2. KAJIAN LITERATUR
2.1 Jeruk
Jeruk merupakan salah satu tanaman buah tahunan yang berasal dari Asia, yang memiliki
nama latin citrus sp. Cina dipercaya sebagai tempat pertama kali jeruk tumbuh. Jeruk sudah
tumbuh subur di Indonesia sejak ratusan tahun yang lalu. Bangsa Belanda yang pertama kali
membawa dan mengembagbiakkan jeruk di Indoensia.
Tanaman jeruk dapat tumbuh didaerah berjenis apa saja, baik daerah dataran rendah maupun
dataran tinggi, dan untuk memproleh hasil yang optimal, terdapat beberapa hal yang harus
diperhatikan dalam perkembangbiakkan jeruk:
1. Jeruk menyukai tempat yang terlindung dari sinar matahari
2. Suhu atau temperature optimal antara 20-30 C
3. Jenis tanah andosol dan latosol sangat cocok untuk budidaya jeruk
4. Tanah yang baik adalah tanah dengan tekstur gembur berpasir hingga lempung[3]
Jeruk memiliki bentuk yang bulat dengan mempunyai kandungan air sangat banyak pada
daging buahnya. Buah jeruk memiliki khasiat ganda, selain dapat diolah menjadi minuman
atau makanan juga dapat dimanfaatkan untuk obat. Misalnya, jeruk nipis untuk menurunkan
demam, dengan cara mengompreskan cairan jeruk di kening orang yang menderita sakit. Air
buah jeruk juga dapat dipakai untuk tetes mata penyembuh radang, setelah dicampur dengan
air bersih. Sehubungan dengan tingginya kadar vitamin C pada buah jeruk, maka jeruk dapat
diolah menjadi tablet-tablet vitamin C atau dimakan langsung untuk menyembuhkan penyakit
gusi berdarah dan penyakit influensa. [4]
2.2 Citra
Citra terdiri dari citra analog dan digital. Citra analog adalah citra yang dihasilkan oleh
sistem optik yang menerima sinyal analog seperti mata manusia, kamera analog, citra
tampilan di layar TV ataupun monitor . Citra Digital adalah gambar dua dimensi yang
dihasilkan dari gambar analog dua dimensi yang kontinus menjadi gambar diskrit melalui
proses sampling [5]. Proses perubahan citra menjadi citra digital dinamakan dengan
digitasi. Digitasi merupakan proses mengubah sebuah gambar, teks, atau suara dari benda
yang dapat diliat ke dalam data elektronik dan dapat disimpan serta diproses untuk
keperluan lainnya.
Pengolahan citra digital adalah sebuah disiplin ilmu yang mempelajari tentang
bagaimana teknik pengolahan sebuah citra. Citra digital yang tersimpan dalam larik dua
dimensi tersusun atas unsur M kolom dan N baris dimana perpotongan antara kolom
dan baris disebut piksel. yaitu elemen terkecil dari sebuah citra. Piksel mempunyai dua
parameter, yaitu koordinat dan intensitas atau warna. Setiap piksel-piksel tersebut memiliki
angka yang mempresentasikan channel warna. Angka pada setiap piksel disimpan secara
berurutan oleh sebuah komputer dan sering dikurangi untuk keperluan kompresi maupun
pengolahan [6].
2.3 Convolutional Neural Network (CNN)
CNN adalah tipe khusus dari neural network untuk memproses data yang mempunyai
topologi jala atau grid-like topology. Pemberian nama convolutional neural network
mengindikasikan bahwa jaringan tersebut menggunakan operasi matematika yang disebut
konvolusi. CNN termasuk dalam jenis Deep Neural Network karena kedalaman jaringan yang
tinggi dan banyak diaplikasikan pada data citra.
Arsitektur dari CNN ditunjukkan pada gambar 2.1.
Gambar 2.1 Arsitektur CNN
2.3.1 Convolutional Layer
Convolutional Layer merupakan layer pertama yang menerima input gambar langsung
pada arsitektur. Operasi pada layer ini sama dengan operasi konvolusi yaitu melakukan
operasi kombinasi linier filter terhadap daerah lokal . Filter merupakan representasi bidang
reseptif dari neuron yang terhubung ke dalam daerah lokal pada input gambar. Convolutional
layer melakukan operasi konvolusi pada output dari layer sebelumnya. Layer tersebut adalah
proses utama yang mendasari sebuah CNN. Tujuan dilakukannya konvolusi pada data
citra adalah untuk mengekstraksi fitur dari citra input [7].
2.3.2 ReLu
ReLu atau Rectified Liniear Unit merupakan salah satu fungsi aktivasi yang
digunakan pada deep learning. Cara kerja ReLu adalah mengubah nilai negative menjadi 0 .
ReLu hanya membuat pembatas pada bilangan nol, artinya apabila x ≤ 0 maka x = 0 dan
apabila x > 0 maka x = x [3] . Penulisan rumus matematikanya adalah sebagai berikut: f(x) =
max(0,x), dimana x merupakan input dari neuron.
2.3.3 Pooling Layer
Pooling layer biasanya berada setelah convolutional layer. Pada prinsipnya pooling
layer terdiri dari sebuah filter dengan ukuran dan stride tertentu yang akan bergeser pada
seluruh area feature map.Pooling yang biasa digunakan adalah Max Pooling dan Average
Pooling. Sebagai contoh jika kita menggunakan Max Pooling 2x2 dengan stride 2, maka pada
setiap pergeseran filter, nilai maximum pada area 2x2 pixel tersebut yang akan dipilih,
sedangkan Average Pooling akan memilih nilai rata-ratanya.
Gambar 2.2 Ilustrasi Max Pooling
Pada Gambar 2.2 menjelaskan bahwa pada tiap area 2x2 pixel tersebut, diambil nilai
terbesarnya. Tujuan dari penggunaan pooling layer adalah mengurangi dimensi dari feature
map(downsampling),sehingga mempercepat komputasi karena parameter yang harus di-
update semakin sedikit dan mengatasi overfitting.
2.3.4 Flatten
Pada tahap ini matriks citra hasil proses MaxPooling akan dirubah menjadi matriks 1
dimensi yang memiliki 1 kolom.
2.3.5 Fully Connected Layer
Lapisan fully-connected adalah lapisan di mana semua neuron aktivasi dari lapisan
sebelumnya terhubung semua dengan neuron dilapisan selanjutnya seperti halnya jaringan
saraf tiruan biasa. Setiap aktivasi dari lapisan sebelumnya perlu diubah menjadi data satu
dimensi sebelum dapat dihubungkan ke semua neuron di lapisan. Lapisan fully-connected
biasanya digunakan pada metode Multi Layer Perceptron untuk mengolah data sehingga bisa
diklasifikasikan. Perbedaan antara lapisan fully-connected dan lapisan konvolusi biasa adalah
neuron di lapisan konvolusi terhubung hanya ke daerah tertentu pada input, sementara lapisan
fully-connected memiliki neuron yang secara keseluruhan terhubung [7]. Gambar 2.3
menjelaskan ilustrasi pada fully connected layer.
Gambar 2.3 Ilustrasi Fully Connected Layer
2.3.6 Softmax
Fungsi aktifasi softmax adalah menghitung semua probabilitas masing-masing kelas
target terhadap kemungkinan seluruh kelas. Biasanya softmax digunakan untuk klasifikasi
yang memiliki banyak kelas. Sehingga dengan fungsi ini dapat menghitung probabilitas dari
masing-masing kelas dan menentukan kelas target data yang dimasukkan berdasarkan nilai
probabilitas yang tertinggi [2].
3. METODE PENELITIAN
Tahapan metode penelitian digambarkan dalam bagan yang terdapat pada gambar 3.1 yang
terdiri dari sumber data, pengolahan citra, perancangan model, pelatihan data, pengujian data,
dan pengukuran tingkat akurasi
Gambar 3.1 Tahapan Penelitian
3.1 Pengumpulan Data
Pengumpulan data penelitian diperoleh dari dataset Fruit-360. Penelitian ini mengambil 4
jenis buah yaitu jeruk clementine, jeruk kumquats, jeruk lemon, dan jeruk nipis. Jumlah
dataset yang digunakan sebanyak 2555 citra, yang terdiri dari dataset untuk pelatihan data
sebanyak 1939 citra, dataset untuk validasi data sebanyak 469 citra, dan dataset untuk
pengujian sebanyak 119
3.2 Pengolahan Citra
Tahap pengolahan citra dilakukan dengan mengubah ukuran citra dan normalisasi citra.
Citra dikumpulkan memiliki ukuran yang berbeda, sehingga proses perubahan ukuran citra
dilakukan untuk menentukan ukuran yang sama disetiap citra. Ukuran yang digunakan dalam
penelitian ini adalah 100 x 100 piksel. Sedangkan normalisasi dilakukan untuk mengubah
citra asli menjadi citra biner dengan mengubah nilai piksel yang sebelumnya 0 - 255 menjadi
0 - 1. Konversi ini bertujuan untuk membuat citra dapat digunakan dengan model CNN dan
memudahkan komputer untuk memproses data citra sehingga tidak memiliki nilai besar dan
memperlambat proses perhitungan
3.3 Perancangan Model
Perancangan model berdasarkan arsitektur CNN ditunjukkan pada gambar 3.2
Pengolahan
Citra
Perancangan
Model
Pelatihan Data
Pengujian
Data
Akurasi
Pengumpulan
Data
Model yang dibangun adalah model sequential, berbentuk tumpukan linier dari layer, dan
membaca proses secara pertahap. Arsitektur CNN yang digunakan pada program ini terdiri
dari convolutional layer, maxpooling, flatten, dan fully connected layer.
3.4 Pelatihan Data
Data berbentuk citra jeruk yang akan dilatih diambil dari direktori training sebanyak
1939 citra dari 4 jenis jeruk yang berbeda. Hal yang sama dilakukan untuk pembacaan
direktori validasi sebanyak 469 citra dari 4 jenis jeruk dan test sebanyak 119 citra dari 4 jenis
jeruk. Pelatihan data dilakukan dengan menggunakan 29 epochs, artinya proses pelatihan data
akan dilakukan sebanyak 29 kali. Kemudian menggunakan batch_size sebanyak 7, yang
artinya proses training dan validasi akan di baca setiap 7 citra dari jumlah total citra.
3.5 Pengujian Data
Pengujian dilakukan dengan menggunakan google collab dan membutuhkan library
‘keras’ untuk memanggil model CNN yang telah disimpan dan menggunakan library
‘matplotlib’ untuk memvisualisasikan output.
3.6 Akurasi
Tahap ini merupakan tahap akhir penelitian untuk menilai tolok ukur keberhasilan model
CNN dalam melakukan penyortiran jenis buah jeruk clementine, jeruk kumquats, jeruk
lemon, dan jeruk nipis. Pengukuran akurasi dihitung dengan menggunakan persamaan
berikut:
4. HASIL DAN PEMBAHASAN
4.1 Hasil Pengumpulan Data
Pengumpulan data dibagi kedalam tiga data set penelitian yaitu data pelatihan, validasi,
dan pengujian. Gambar 4.1 sampai Gambar 4.4 merupakan data pelatihan, yang terdiri dari
jeruk clementine sebanyak 534 citra, kuqmuats 387 citra, lemon sebanyak 521 citra, dan jeruk
nipis sebanyak 497 citra.
Gambar 4.1 Datasets Jeruk Clementine Pada Data Pelatihan
Gambar 4.2 Datasets Jeruk Kumquats Pada Data Pelatihan
Gambar 4.3 Datasets Jeruk Lemon Pada Data Pelatihan
Gambar 4.4 Datasets Jeruk Nipis Pada Data Pelatihan
Gambar 4.5 sampai Gambar 4.8 merupakan data validasi yang terdiri dari jeruk clementine
sebanyak 116 citra, kumquats 97 citra, lemon sebanyak 130 citra, dan jeruk nipis sebanyak
126 citra.
Gambar 4.5 Datasets Jeruk Clementine Pada Data Validasi
Gambar 4.6 Datasets Jeruk Kumquats Pada Data Validasi
Gambar 4.7 Datasets Jeruk Lemon Pada Data Validasi
Gambar 4.8 Datasets Jeruk Nipis Pada Data Validasi
Gambar 4.9 sampai Gambar 4.12 merupakan data pengujian yang terdiri dari jeruk
clementine sebanyak 30 citra, kumquats sebanyak 30 citra, lemon sebanyak 30 citra, dan
jeruk nipis sebanyak 29 citra.
Gambar 4.9 Datasets Jeruk Clementine Pada Data Pegujian
Gambar 4.10 Datasets Jeruk Kumquats Pada Data Pengujian
Gambar 4.11 Datasets Jeruk Lemon Pada Data Pengujian
Gambar 4.12 Datasets Jeruk Nipis Pada Data Pengujian
4.3 Hasil Pengolahan Citra
Pada tahap ini ukuran citra dirubah kedalam dimensi 100x100 dan dilakukan
normalisasi citra dan mengubah nilai piksel dari 0-255 menjadi 0-1
Gambar 4.13 Citra Dimensi 100x100
4.4 Hasil Model CNN
Model yang berisikan seluruh total citra yang telah dilatih dapat dirangkum dengan
sintaks: model.summary(), ditunjukkan pada gambar 4.14
Gambar 4.15 Model Summary
4.5 Hasil Pelatihan Data
Pelatihan data dilakukan dengan menggunakan 29 epochs, artinya proses pelatihan
data akan dilakukan sebanyak 29 kali. Kemudian menggunakan batch_size sebanyak 7, yang
artinya proses training dan validasi akan di baca setiap 7 citra dari jumlah total citra. Hasil
pelatihan data citra jenis jeruk dapat dilihat pada gambar 4.14
Gambar 4.16 Proses Pelatihan Data
4.6 Hasil Pengujian Data
Hasil pengujian data ditunjukkan pada tabel 4.1 sampai 4.4
Tabel 4.17 Pengujian Data Citra Jeruk Clementine
Citra
Input
Hasil
Prediksi
Label
Prediksi
Keterangan
Clementine Benar
Clementine Benar
Clementine Benar
Kumquats Salah
Clementine Benar
Tabel 4.17 Pengujian Data Citra Jeruk Kumquats
Tabel 4.18 Pengujian Data Citra Jeruk Lemon
Citra
Input
Hasil
Prediksi
Label
Prediksi
Keterangan
Lemon Benar
Lemon Benar
Lemon Benar
Kumquats Salah
Nipis Salah
Citra
Input
Hasil
Prediksi
Label
Prediksi
Keterangan
Kumquats Benar
Kumquats Benar
Kumquats Benar
Kumquats Benar
Clementine Salah
Tabel 4.18 Pengujian Data Citra Jeruk Lemon
4.7 Hasil Akurasi
Pengukuran akurasi digunakan untuk menggambarkan keakuratan model dapat
melakukan penyortiran dengan benar. Hasil akurasi yang diperoleh dari 119 citra uji adalah
Akurasi = 𝑇𝑃+𝑇𝑁
𝑇𝑃+𝐹𝑁+𝐹𝑃+𝑇𝑁 𝑥 100%
= 107+107
107+12+12+107 𝑥 100%
= 214
238 𝑥 100%
= 0,899 x 100% (pembulatan)
= 89,9%
5. KESIMPULAN
Algoritma CNN berhasil diimplementasikan untuk melakukan penyortiran buah jeruk
yang terdiri dari jeruk clementine, jeruk kumquats, jeruk lemon. Pengukuran akurasi terhadap
119 data uji citra menghasilkan tingkat akurasi sebesar 89,9%.
6. REFERENSI
[1] Putra, I. W. S. E. (2016). “Klasifikasi citra menggunakan convolutional neural network
(CNN) pada caltech 101 “(Doctoral dissertation, Institut Teknologi Sepuluh Nopember).
[2] Asmara, R. A., Syulistyo, A. R., & Qudsi, N. K. (2019). “Identifikasi Citra Tulisan
Tangan Digital Menggunakan Convolutional Neural Network (CNN)”. In Seminar
Informatika Aplikatif Polinema
[3] Nasharsari, Nur Dyah. 2014. “Bercocok Tanam Jeruk”. Yogyakarta: Azla Press
[4] 1994. “Budidaya Tanaman Jeruk”.Yogyakarta:Kanisius.
[5] Prabowo, D. A., & Abdullah, D. (2018). “Deteksi dan perhitungan objek berdasarkan
warna menggunakan Color Object Tracking”. Pseudocode, 5(2), 85-91.
Citra
Input
Hasil
Prediksi
Label
Prediksi
Keterangan
Nipis Benar
Nipis Benar
Nipis Benar
Nipis Benar
Lemon Salah
[6] Nurhikmat, T. (2018). “Implementasi Deep Learning Untuk Image Classification
Menggunakan Algoritma Convolutional Neural Network (CNN) Pada Citra Wayang
Golek”.
[7] Dewi, S. R. (2018). “Deep Learning Object Detection Pada Video Menggunakan
Tensorflow dan Convolutional Neural Network”.