ANALISIS DAN PERANCANGAN SISTEM
3.2. Sistem Pengenalan Ekspresi Wajah
Metode yang diajukan penulis untuk pengenalan ekspresi wajah terdiri dari beberapa proses. Proses-proses yang akan dilakukan adalah preprocessing data training dan data testing, proses training, proses klasifikasi menggunakan metode Convolutional Neural Network, hingga proses testing sistem. Arsitektur umum dari perancangan yang digunakan pada penelitian ini dapat dilihat pada gambar 3.1.
Gambar 3.1. Arsitektur Umum 3.2.1. Preprocessing
Tahapan ini merupakan tahap pengolahan citra yang bertujuan untuk menghasilkan citra yang lebih baik untuk diproses ketahapan selanjutnya. Tahapan preprocessing ini terdiri dari proses resize dan grayscale.
a. Resize
Tahap pertama adalah Resize. Ukuran dimensi citra yang dihasilkan dari face detection tidak selalu sama. Tahapan ini dibutuhkan untuk mengatur ukuran pixel dari citra yang akan diolah pada tahap testing. Input citra yang digunakan
24
pada penelitian ini mempunyai ukuran pixel yang berbeda-beda. Karena itu perlu dilakukan resize agar setiap data training dan data testing memiliki ukuran dimensi dan rentang nilai yang sama. Semakin besar jumlah pixel maka akan semakin banyak waktu yang dibutuhkan pada proses pengolahan citra. Contoh citra yang melalui proses resize dapat dilihat pada gambar dibawah ini:
Gambar 3.2.Citra sebelum dan sesudah proses resize
Dalam penelitian ini, untuk memenuhi kebutuhan sistem, penulis mengubah ukuran citra yang sebelumnya berukuran berbeda-beda menjadi berukuran 48 x 48 pixel.
b. Grayscale
Tahapan berikutnya adalah melakukan konversi citra yang memiliki mode RGB menjadi mode grayscale, karena ciri warna bukan menjadi topik dalam penelitian ini.
Gambar 3.3.Citra sesudah proses grayscale 3.2.2. Klasifikasi
Dalam penelitian ini, metode yang digunakan untuk proses klasifikasi adalah Convolutional Neural Network.
1. Penentuanfilter, pool size, stride dan padding
Filter yang digunakan adalah 3 x 3, sedangkan pool size yang digunakan 2 x 2.
Pengaturan Stride dan Padding di set default, yaitu 1 dan 0.
2. Penentuan fungsi aktivasi
Hasil perhitungan antara input, weight dan bias akan dihitung lagi dengan
25
persamaan dari fungsi aktivasi untuk mendapatkan output dari setiap layer.
Pada penelitian ini, penulis menggunakan fungsi aktivasi relu pada convolutional layer dan fungsi aktivasi softmax pada output layer untuk mendapatkan hasil yang merupakan data kategoris. Secara sistematis, fungsi aktivasi relu dapat dilihat pada persamaan 3.1.
𝜎(𝑎) = max (0, 𝑎) (3.1)
Dimana a merupakan hasil perhitungan di layer.
Untuk fungsi softmax dapat dilihat dari persamaan 3.2.
𝜎(𝑎𝑗) = exp (𝑎𝑗)
∑𝑚𝑘=1exp (𝑎𝑘)
(3.2)
3. Penentuan optimizer
Optimizer adalah algoritma untuk menentukan weight yang optimal.Pada penelitian ini, optimizer yang digunakan adalah Adam, SGD dan RMSProp.
4. Penentuan batch size
Batch size digunakan untuk menentukan jumlah observasi yang dilakukan sebelum melakukan perubahan weight, yang ditentukan relatif berdasarkan spesifikasi komputer. Dalam penelitian ini, penulis menggunakan beberapa batch size yaitu batch size dengan nilai 32 dan batch size dengan nilai 128.
5. Penentuan epoch
Epoch adalah jumlah literasi yang digunakan untuk mengulangi proses pembelajaran. Jumlah epoch yang semakin besar akan menaikkan tingkat hasil pembelajaran. Ada beberapa nilai epoch yang digunakan penulis pada penelitian ini. Jumlah epoch yang digunakan dalam penelitian ini adalah nilai epoch 50, 100, 200 dan 300.
6. ProsesTraining
Pada proses pelatihan, citra masukan berukuran 48 x 48 x 1 pertama kali akan diproses oleh Convolutional Layer Pertama dengan filter 64 kernel berukuran
26
3 x 3 x 1 dengan hasil ukuran 46 x 46 x 64.Pada pooling layer pertama, ukuran dimensi di perkecil dari 46 menjadi 23. Pada setiap pooling layer, parameter tidak berubah.
Kemudian, hasil dari Convolutional Layer Pertama berukuran 23x23x64akan di proses oleh Convolutional Layer Kedua dengan filter 128 kernel berukuran3x3x64 dengan hasil ukuran 21x21x128. Pada pooling layer kedua, dimensi ukuran diperkecil dari 21 menjadi 10.
Hasil dari Convolutional Layer Kedua dengan ukuran 10x10x128 akan di proses oleh Convolutional Layer Ketiga dengan filter 256 kernel berukuran 3x3x128 dengan hasil ukuran 8x8x256. Pada pooling layer ketiga, dimensi ukuran diperkecil dari 8 menjadi 4.
Hasil dari Convolutional Layer Kedua dengan ukuran 10x10x128 akan di proses oleh Convolutional Layer Ketiga dengan filter 256 kernel berukuran 3x3x128 dengan hasil ukuran 8x8x256. Pada pooling layer ketiga, dimensi ukuran diperkecil dari 8 menjadi 4.
Setelah proses Convolutional Layer, maka dihasilkan 2 fully connected layers yang memiliki 256 neuron pada layer pertama dan 4 neuron pada layer kedua.
Proses Pelatihan Setiap Layer menggunakan Deep Convolutional Neural Network dapat dilihat pada Tabel 3.2.
Tabel 3. 2. Tabel Proses Pelatihan Setiap Layer
Layer Ukuran Parameter
Input 48x48x1 0
Tabel 3.2. Tabel Proses Pelatihan Setiap Layer ( Lanjutan)
Layer Ukuran Parameter
Norm 4x4x256 256 x 4 = 1024
Hasil dari proses training akan disimpan ke dalam sebuah model berekstensi .h5 agar dapat digunakan dalam proses testing.
7. Proses Testing
Neural network yang telah dimodelkan dan dihasilkan dari proses training akan diuji pada tahap ini. Tahap ini dilakukan untuk mengetahui efektivitas dari metode convolutional neural network dalam melakukan pengenalan ekspresi wajah.
8. Output akhir
Output akhir dari keseluruhan tahap adalah informasi akurasi dan loss pada tahap training dan testing per epoch yang disimpan dalam grafik.
3.3. PerancanganSistem
Pada tahapan ini akan dijelaskan tentang perancangan menu sistem dan perancangan antar muka aplikasi pengenalan ekspresi wajah. Perancangan ini bertujuan agar pengguna dapat menjalankan aplikasi dengan mudah.
1. Rancangan Tampilan Home
Tampilan ini merupakan tampilan awal dari sistem yang dibangun.Pada tampilan ini pengguna akan diarahkan untuk menuju ke halaman About seperti pada gambar 3.4.
28
Gambar 3.4.Tampilan Home Page 2. Rancangan TampilanAbout
Tampilan ini terdiri dari penjelasan singkat mengenai ekspresi dan penjelasan mengenai pengenalan ekspresi yang dilakukan.
Gambar 3.5.Tampilan About Page 3. Rancangan Tampilan TrainingData
Tampilan ini terdiri dari menu training yang digunakan untuk melakukan proses training data.Pada tampilan ini, pengguna akan diminta untuk memasukkan lokasi citra yang ingin di training dengan format sebagai berikut:Folder
/train
/validation
Gambar 3.6.Tampilan Training Images
Setelah melakukan training, pengguna dapat melihat hasil training yang berisikan grafik accuracy, loss dan confusion matrix dari training model yang telah disimpan.
4. Rancangan Tampilan TestingData
Tampilan ini berisikan menu testing untuk single data. Pengguna akan diminta untuk memasukkan sebuah file citra ekspresi wajah yang akan diklasifikasi oleh sistem. Pengguna kemudian dapat melihat hasill klasifikasi.
Gambar 3.7.Tampilan Testing Images
BAB 4