Klasifikasi Wayang - Preprocessing dan Modeling

Wiga Audi Prasetyo

Sosial Media


0 orang menyukai ini
Suka

Summary

Membuat sistem klasifikasi objek wayang yaitu Bagong, Puntadewa, Werkudara menggunakan algoritma Convolutional Neural Network dengan Arsitektur MobileNet. Pada Portofolio ini membahas tentang preprocessing data dan membuat model dari data yang sudah di proses sebelumnya. Selain itu, dilakukan juga proses training menggunakan model yang sudah dibuat.

Portofolio ini merupakan tugas akhir dari Project Capstone MSIB Batch 3.

Description

 

Pendahuluan

Wayang dikenal memiliki berbagai macam jenis dan memiliki banyak karakter dari masing-masing jenis wayang. Oleh karena itu, untuk memperkenalkan tokoh-tokoh yang ada dalam jenis wayang kepada generasi muda saat ini, teknologi pengenalan citra digital sangat diperlukan. Hal tersebut diperkuat dengan kenyataan bahwa semakin berkembangnya teknologi, pertunjukan wayang saat ini sudah semakin jarang dilaksanakan.

Preprocessing Data

Preprocessing pada project ini menggunakan ImageDataGenerator yang merupakan sebuah fungsi untuk mempersiapkan data latih dan validasi. Preprocessing yang dilakukan berupa rescale, resize, dan membagi 20% data latih menjadi data validasi.

Tahapan untuk melakukan preprocessing data adalah sebagai berikut :

  • Import Library

 Terdapat beberapa library yang dibutuhkan untuk membantu dalam proses pembuatan klasifikasi , yaitu:

  1. Numpy
  2. Pandas
  3. Matplotlib
  4. Tensorflow
  5. Scikit-Learn
  6. Scikit-Image
  • Memuat Dataset

Dataset yang digunakan telah melewati proses augmentasi untuk memperkaya dataset yang ada. Hasil dari proses augmentasi disimpan pada folder “dataset_baru/train” sedangkan hasil gambar data uji dari proses Augmentasi disimpan pada folder “dataset_baru/test”

Pada gambar diatas, dilakukan proses inisialisasi variabel IMAGE_SIZE yang berisi ukuran gambar sebesar 224, BATCH_SIZE yang berisi 128 batch, dan base_dir yang berisi path folder dataset train yang sudah berisi data gambar hasil augmentasi.

  • ImageDataGenerator

Setelah itu dilakukan preprocessing menggunakan ImageDataGenerator dengan parameter rescale yang berfungsi untuk rescale data gambar dari range 0-255 ke 0-1 dan validation split yang berfungsi untuk membagi 20% data latih menjadi data validasi. Setelah itu data latih dan data validasi diubah resolusi dan ditetapkan jumlah batch sesuai dengan nilai dari variabel IMAGE_SIZE dan BATCH_SIZE yaitu 224 dan 128.

  • Memuat data uji

Data uji yang telah disimpan pada folder “dataset_baru/test” setelah proses Augmentasi akan dimuat pada program. Pada proses ini dilakukan juga inisialisasi variabel X_Test yang berisi data citra uji dan y_test yang berisi label dari 3 kelas yaitu Bagong, Puntadewa, dan Werkudara.

  • Menampilkan bentuk data yang telah diproses

Setelah melakukan preprocessing data, perlu dilakukan pengecekan untuk melihat bentuk dari data yang telah di proses.  

Membuat model CNN dengan arsitektur Mobilenet


Setelah data sudah siap untuk dimasukkan kedalam model, tahapan berikutnya adalah membuat model. Adapun langkah pembuatan model CNN dengan arsitektur MobileNet adalah sebagai berikut : 

  • Membuat base model dari pre-trained model MobileNet

Pada project ini, model yang dipilih sebagai dasar transfer learning adalah MobileNet yang sudah tersedia pada library keras.

  • Membuat model tambahan

Setelah membuat base model dari arsitektur MobileNet, selanjutnya adalah menambahkan model tambahan dengan menambahkan Convolutional 2D dan AveragePooling2D

  • Menentukan Optimizer, Loss, dan Metrik

Optimizer yang digunakan adalah adam, loss function adalah categorical_crossentropy dikarenakan label yang dimiliki lebih 2 yaitu Bagong, Puntadewa, dan Werkudara serta untuk metrics menggunakan acc.

  • Training Data

Arsitektur model yang telah dibuat menggunakan CNN dengan arsitektur MobileNet adalah sebagai berikut:

Proses training menggunakan data latih yang telah diproses pada tahapan preprocessing data dan untuk validasi menggunakan data validasi dan dilakukan sebanyak 100 epochs


Setelah melewati 100 epoch, model yang telah dilatih dengan data latih menggunakan validasi dari data validasi mendapatkan akurasi pelatihan sebesar 100%  dan akurasi validasi sebesar 99% sedangkan untuk kesalahan pelatihan sebesar 0.1% dan kesalahan validasi sebesar 1.56%. 

 

Setelah mendapat hasil yang cukup baik, model disimpan dalam format md.5 

Informasi Course Terkait
  Kategori: Artificial Intelligence
  Course: Machine Learning For Beginner