IMPLEMENTASI ALGORITMA CONVOLUTIONAL NEURAL NETWORK UNTUK KLASIFIKASI
EKSPRESI WAJAH
SKRIPSI
Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom.)
Samuel Lorent 00000021863
PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN INFROMATIKA UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG 2021
ii
LEMBAR PENGESAHAN
IMPLEMENTASI ALGORITMA CONVOLUTIONAL NEURAL NETWORK UNTUK KLASIFIKASI
EKSPRESI WAJAH
Oleh
Nama : Samuel Lorent
NIM : 00000021863
Program Studi : Informatika
Fakultas : Teknik dan Informatika
Tangerang, 23 Juni 2021
Ketua Sidang Dosen Penguji
Dennis Gunawan, S.Kom., M.Sc. Arya Wicaksana, S.Kom., M.Eng.Sc.
Dosen Pembimbing
Alethea Suryadibrata, S. Kom, M. Eng Mengetahui,
Ketua Program Studi Informatika
Marlinda Vasty Overbeek, S.Kom, M.Kom.
29 Juni 2021 Digitally signed by Dennis Gunawan
DN: CN=Dennis Gunawan, C=ID, OU=Department of Informatics, O=Universitas Multimedia Nusantara,
E=dennis.gunawan@umn.ac.id Reason: I am approving this document
Location: Jakarta Date: 2021-06-29 19:35:58
Digitally signed by Marlinda Vasty Overbeek Date: 2021.06.29 20:22:22 +07'00'
iii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT
Dengan ini saya:
Nama : Samuel Lorent
NIM : 00000021863
Program Studi : Informatika
Fakultas : Teknik dan Informatika
menyatakan bahwa Skripsi yang berjudul “IMPLEMENTASI ALGORITMA CONVOLUTIONAL NEURAL NETWORK UNTUK KLASIFIKASI EKSPRESI WAJAH” ini adalah karya ilmiah saya sendiri, bukan plagiat dari karya ilmiah yang ditulis oleh orang lain atau lembaga lain, dan semua karya ilmiah orang lain atau lembaga lain yang dirujuk dalam Skripsi ini telah disebutkan sumber kutipannya serta dicantumkan di Daftar Pustaka. Jika di kemudian hari terbukti ditemukan kecurangan/ penyimpangan, baik dalam pelaksanaan Skripsi maupun dalam penulisan laporan Skripsi, saya bersedia menerima konsekuensi dinyatakan TIDAK LULUS untuk mata kuliah Skripsi yang telah saya tempuh.
Tangerang, 23 Juni 2021
Samuel Lorent
iv
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Universitas Multimedia Nusantara, saya yang bertanda tangan di bawah ini:
Nama : Samuel Lorent
NIM : 00000021863
Program Studi :Teknik dan Informatika Fakultas : Informatika
Jenis Karya : Skripsi
Demi pengembangan ilmu pengetahuan, menyetujui dan memberikan izin kepada Universitas Multimedia Nusantara hak Bebas Royalti Non-eksklusif (Non- exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul :
IMPLEMENTASI ALGORITMA CONVOLUTIONAL NEURAL NETWORK UNTUK KLASIFIKASI
EKSPRESI WAJAH beserta perangkat yang diperlukan.
Dengan Hak Bebas Royalti Non-eksklusif ini, pihak Universitas Multimedia Nusantara berhak menyimpan, mengalihmedia atau format-kan, mengelola dalam bentuk pangkalan data (database), merawat, dan mendistribusi dan menampilkan atau mempublikasikan karya ilmiah saya di internet atau media lain untuk kepentingan akademis, tanpa perlu meminta izin dari saya maupun memberikan royalti kepada saya, selama tetap mencantumkan nama saya sebagai penulis karya ilmiah tersebut.
Demikian Pernyataan ini saya buat dengan sebenarnya untuk dipergunakan sebagaimana mestinya.
Tangerang, 23 Juni 2021
Samuel Lorent
v
KATA PENGANTAR
Penulis mengucapkan puji dan syukur kepada Tuhan Yang Maha Esa karena dengan berkat dan penyertaan-Nya penulis dapat menyelesaikan skripsi dengan judul “IMPLEMENTASI ALGORITMA CONVOLUTIONAL NEURAL NETWORK UNTUK KLASIFIKASI EKSPRESI WAJAH”. Penulis tidak lupa mengucapkan terima kasih kepada semua pihak yang terlibat dalam proses pembuatan karya beserta dengan laporannya. Tidak lupa penulis juga mengucapkan terima kasih kepada beberapa pihak:.
1. Bapak Dr. Ninok Leksono, selaku rektor Universitas Multimedia Nusantara, 2. Dr. Eng. Niki Prastomo, S.T., M.Sc., selaku dekan fakultas teknik dan
informatika Universitas Multimedia Nusantara,
3. Marlinda Vasty Overbeek, S.Kom, M.Kom. selaku ketua program studi informatika Universitas Multimedia Nusantara,
4. Alethea Suryadibrata, S. Kom, M. Eng. sebagai dosen pembimbing yang selalu teliti, sabar, dan cermat dalam proses bimbingan serta selalu memberikan kritik dan saran selama proses pembuatan skripsi,
5. Kedua orangtua dan adik penulis yang telah memberikan dukungan dan doa dalam proses penyelesaian skripsi beserta laporannya,
6. Rekan seperjuangan di Universitas Multimedia Nusantara, terutama Cyntia Fanny, Azura Sakan Taufik, Patricia Dinda, dan Titania yang selalu menjadi penyemangat bagi penulis saat ada kesulitan,
vi
7. Teman-teman daring dari sebuah server di aplikasi Discord yang membantu menjaga kesehatan mental penulis dengan memberikan dukungan dan motivasi dalam proses pengerjaan skripsi,
8. Devira yang sudah membantu formatting dalam revisi skripsi,
9. Teman-teman tercinta penulis lainnya yang tidak bisa disebutkan satu- persatu.
Penulis tentu menyadari bahwa laporan skripsi ini masih banyak memiliki kekurangan di dalamnya. Karena itu penulis terbuka dengan berbagai kritik dan saran yang bersifat membangun. Semoga skripsi ini dapat bermanfaat, baik sebagai sumber informasi maupun sumber inspirasi, bagi para pembaca
Tangerang, 23 Juni 2021
Samuel Lorent
vii
IMPLEMENTASI ALGORITMA CONVOLUTIONAL NEURAL NETWORK UNTUK KLASIFIKASI
EKSPRESI WAJAH
ABSTRAK
Perkembangan teknologi telah memungkinkan aplikasi-aplikasi berbasis pembelajaran mesin untuk mendeteksi fitur wajah pada manusia. Salah satu fitur yang dapat dideteksi oleh sistem adalah ekspresi wajah. Penelitian ini bertujuan untuk mengimplementasikan algoritma CNN terhadap klasifikasi ekspresi wajah dan menguji hasil dari akurasi algoritma tersebut. Dataset yang digunakan pada penelitian ini adalah dataset FER2013 atau Facial Expression Recognition yang berisikan data pixel gambar yang mempunyai 7 buah label ekspresi berbeda. Untuk mempersiapkan proses training dan testing, data dibagi dengan test size sebanyak 0,1 dan training size 0,9. Proses training menggunakan model CNN dan Adam Optimizer sebagai salah satu hyperparameter dalam melakukan proses pelatihan.
Hasil penelitian memperlihatkan bahwa penggunaan algoritma CNN dapat membuat model yang bisa melakukan klasifikasi ekspresi wajah dengan nilai akurasi 61% dan nilai loss sebanyak 1,019. Model yang ada juga dapat disematkan pada kamera untuk mendeteksi ekspresi wajah secara real-time.
Kata Kunci : Convolutional Neural Network, Deep Learning, Emotion, Facial Expression, FER2013.
viii
IMPLEMENTATION OF CONVOLUTIONAL NEURAL NETWORK ALGORITHM FOR FACIAL
EXPRESSION CLASSIFICATION
ABSTRACT
Technological development has created a potential for application to be able to detect and classify the feature inside human faces. One of the possible feature that can be detected is facial expression. This study aims to implement the CNN algorithm for facial expression classification and test the results of the algorithm's accuracy. The dataset used in this study is the FER2013 dataset or Facial Expression Recognition which contains image pixel data that has 7 different expression labels.
To prepare for the training and testing process, the data is divided by a test size of 0.1 and a training size of 0.9. The training process uses the CNN model and Adam Optimizer as one of the hyperparameters in conducting the training process. The results show that the use of the CNN algorithm can create a model that can classify facial expressions with an accuracy value of 61% and a loss value of 1.019. Existing models can also be embedded in the camera to detect facial expressions in real- time.
Keywords : Convolutional Neural Network, Deep Learning, Emotion, Facial Expression, FER2013.
ix
DAFTAR ISI
HALAMAN JUDUL ... i
HALAMAN PENGESAHAN ... ii
HALAMAN PERNYATAAN TIDAK MELAKUKAN PLAGIAT ... iii
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI ... iv
KATA PENGANTAR ... v
ABSTRAK ... vii
ABSTRACT ... viii
DAFTAR ISI ... ix
DAFTAR GAMBAR ... xi
DAFTAR TABEL ... xiii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah... 3
1.4 Tujuan Penelitian ... 3
1.5 Manfaat Penelitian ... 3
1.6 Sistematika Penulisan... 4
BAB 2 LANDASAN TEORI ... 5
2.1 Klasifikasi Wajah ... 5
2.2 Ekspresi Wajah... 5
2.3 Pembelajaran Mesin ... 6
2.3.1 Supervised Learning ... 7
2.3.2 Unsupervised Learning ... 8
2.4 Artificial Neural Network (ANN) ... 9
2.4.1 Struktur Artificial Neural Network (ANN) ... 10
2.4.2 Arsitektur Artificial Neural Network (ANN) ... 15
2.5 Convolutional Neural Network (CNN) ... 19
2.5.1 Konsep Convolutional Neural Network (CNN) ... 20
2.5.2 Arsitektur Jaringan Convolutional Neural Network (CNN) ... 20
BAB 3 METODOLOGI PENELITIAN... 24
3.1 Metodologi Penelitian ... 24
3.2 Perancangan Sistem ... 25
3.2.1 Flowchart Dan Dataset ... 25
BAB 4 HASIL DAN DISKUSI ... 32
4.1 Spesifikasi Sistem ... 32
4.1.1 Perangkat Lunak Penelitian... 32
4.1.2 Perangkat Keras Penelitian ... 33
4.2 Implementasi Algoritma... 33
4.2.1 Potongan Kode Import Library Dan Dataset ... 33
4.2.2 Potongan Kode Preprocessing... 35
4.2.3 Potongan Kode Class Weight... 36
4.2.4 Potongan Kode Model... 37
4.2.5 Potongan Kode Model Fitting ... 40
4.2.6 Potongan Kode Testing ... 41
4.2.7 Potongan Kode Kamera Atau Video Source ... 42
x
4.3 Uji Coba ... 42
4.3.1 Skenario Pengujian... 42
4.3.2 Hasil Pengujian ... 43
4.3.3 Evaluasi Implementasi ... 51
BAB 5 SIMPULAN DAN SARAN ... 53
5.1 Simpulan ... 53
5.2 Saran ... 53
DAFTAR PUSTAKA ... 54
DAFTAR LAMPIRAN ... 57
xi
DAFTAR GAMBAR
Gambar 2.1 Bagian Bunga Iris sebagai identifier dari multiclass classification
(Müller and Guido, 2016) ... 8
Gambar 2.2 Anatomi dari Sistem Jaringan Saraf pada Manusia (Rosebrock, 2021) ... 10
Gambar 2.3 Struktur dari Artificial Neural Network (Suhartono, 2012) ... 10
Gambar 2.4 Fungsi Aktivasi Linear beserta Derivasinya ... 12
Gambar 2.5 Grafik Fungsi dari ReLU ... 13
Gambar 2.6 Grafik Fungsi Softmax ... 14
Gambar 2.7 Contoh neural network sederhana (Rosebrock, 2021) ... 15
Gambar 2.8 Ilustrasi Feedforward Network dengan Single Layer Neuron (Haykin, 2008) ... 16
Gambar 2.9 Multilayer Feedforward Network dengan satu hidden dan satu output layer (Haykin, 2008) ... 18
Gambar 2.10 Recurrent network tanpa adanya self-feedback loop dan hidden neuron (Haykin, 2008) ... 19
Gambar 2.11 Recurrent Network dengan Hidden Neuron (Haykin, 2008)... 20
Gambar 2.12 Proses Konvolusi di CNN (Eka Putra, 2016) ... 21
Gambar 2.13 Pembagian Layer pada algoritma CNN ... 22
Gambar 2.14 Operasi Konvolusi ... 22
Gambar 2.15 Operasi Pooling ... 23
Gambar 3.1 Bentuk dari dataset FER2013……….26
Gambar 3.2 Flowchart Utama... 27
Gambar 3.3 Flowchart Preprocessing ... 28
Gambar 3.4 Alur Proses Model CNN (Goodfellow et al., 2015) ... 29
Gambar 3.5 Flowchart Testing ... 30
Gambar 3.6 Flowchart Kamera atau Video Source ... 31
Gambar 4.1 Potongan Kode Import………...34
Gambar 4.2 Potongan Kode Proses Inisialisasi Variabel dan Dataset Import ... 34
Gambar 4.3 Potongan kode Preprocessing tahap pertama ... 35
Gambar 4.4 Tampilan data yang sudah diubah menjadi array ... 35
Gambar 4.5 Potongan Kode Preprocessing Tahap Kedua... 36
Gambar 4.6 Potongan Kode Pembagian Data Uji dan Data Latih ... 36
Gambar 4.7 Jumlah Data Wajah pada masing-masing Ekspresi... 37
Gambar 4.8 Potonngan Kode untuk Perhitungan Class Weight ... 37
Gambar 4.9 Potongan Kode Arsitektur Model CNN (bagian 1) ... 38
Gambar 4.10 Potongan Kode Arsitektur Model CNN (bagian 2) ... 38
Gambar 4.11 Potongan Kode Model Fitting ... 40
Gambar 4.12 Potongan Hasil Training Model ... 40
Gambar 4.13 Potongan Kode Akurasi Model selama proses Training ... 41
Gambar 4.14 Potonngan Kode Testing ... 41
Gambar 4.15 Potongan Kode untuk Menampilkan Kamera atau Video Source ... 42
Gambar 4.16 Hasil Uji Batch Size 32... 44
Gambar 4.17 Hasil Uji Batch Size 64... 44
Gambar 4.18 Hasil Uji Batch Size 128... 44
Gambar 4.19 Hasil Uji Coba Webcam ... 45
xii
Gambar 4.20 Usaha Peneliti untuk Melakukan Ekspresi Sedih (Atas) dan Ekspresi
Takut (Bawah) ... 45
Gambar 4.21 Hasil Analisa Model Terhadap Subjek Video Pertama ... 46
Gambar 4.22 Hasil Analisa Model Terhadap Video Kedua ... 47
Gambar 4.23 Kesulitan Model dalam Membaca Ekspresi Sedih ... 48
Gambar 4.24 Hasil Analisa Model Terhadap Video Ketiga ... 49
Gambar 4.25 Ekspresi Yang Ditangkap Oleh Model Sebelum Mendapatkan Ekspresi yang Benar (jijik atau disgust)... 49
Gambar 4.26 Hasil Analisa Model terhadap Video Keempat ... 51
xiii
DAFTAR TABEL
Tabel 4.1 Tabel Deskripsi Model ... 39
Tabel 4.2 Tabel Hasil Ujicoba Video Pertama... 46
Tabel 4.3 Tabel Hasil Ujicoba Video Kedua ... 48
Tabel 4.4 Tabel Hasil Ujicoba Video Ketiga ... 50
Tabel 4.5 Tabel Hasil Ujicoba Video Keempat ... 51