• Tidak ada hasil yang ditemukan

PENGENALAN EKSPRESI WAJAH MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK ( CNN ) SKRIPSI JOCELINE S WIRTJES

N/A
N/A
Protected

Academic year: 2022

Membagikan "PENGENALAN EKSPRESI WAJAH MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK ( CNN ) SKRIPSI JOCELINE S WIRTJES"

Copied!
67
0
0

Teks penuh

(1)

PENGENALAN EKSPRESI WAJAH MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK ( CNN )

SKRIPSI

JOCELINE S WIRTJES 141402119

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2019

(2)

PENGENALAN EKSPRESI WAJAH MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK ( CNN )

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

JOCELINE S WIRTJES 141402119

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2019

(3)

ii

(4)

PERNYATAAN

PENGENALAN EKSPRESI WAJAH MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK ( CNN )

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan,

JOCELINE S WIRTJES 141402119

(5)

iv

UCAPAN TERIMAKASIH

Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan izin-Nya sehinga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar sarjana Komputer pada Program Studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Penulis ingin mengucapan terima kasih sedalam-dalamnya dan penghargaan kepada seluruh pihak yang turut serta terlibat dalam masa perkuliahan dan masa pengerjaan skripsi ini hingga selesai:

1. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fasilkom-TI Universitas Sumatera Utara.

2. Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc selaku Ketua Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

3. Dr. Erna Budhiarti Nababan M.IT selaku Dosen Pembimbing I yang telah memberikan bimbingan dan arahan kepada penulis sehingga skripsi ini dapat terselesaikan..

4. Bapak Baihaqi Siregar, S.Si., MT selaku Dosen Pembimbing II yang telah memberikan bimbingan dan saran kepada penulis dalam proses menyelesaikan skripsi ini.

5. Bapak Romi Fadillah Rahmat,B.Comp.Sc., M.Sc selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

6. Sarah Purnamawati ST., M.Sc selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

7. Orang tua penulis, Yance Wirtjes dan Elizabeth Tan serta saudara penulis yang telah memberi perhatian, saran, dan dukungan yang diberikan kepada penulis.

8. Tama Loy Dennis S.Kom. , M. Fadly Tanjung S.Kom., M. Fachrin Aulia S.Kom., M. Isa Dadi Hasibuan S.Kom., dan Rendra Mahardika S.Kom., yang telah bersedia membantu dan membagikan ilmunya kepada penulis.

9. Juniati Pakpahan, Devy Purba, Rosmaini Rosmiani, Yolanda Natasya Naibaho, Sarah Elisabet Nainggolan, Veny Apriyanti M.

10. Seluruh teman Teknologi Informasi USU 2014 terutama teman teman Kom B.

(6)

Semoga Allah SWT melimpahkan berkah, rahmat, dan hidayahnya kepada semua yang telah memberikan bantuan, perhatian dan dukungan pada penulis dalam menyelesaikan skripsi ini.

Medan, April 2019

Penulis

(7)

vi

ABSTRAK

Manusia secara alami dan intuitif menggunakan ekspresi wajah yang penting dan kuat untuk berkomunikasi dan menujukkan emosi mereka dalam berinteraksi sosial. Dalam interaksi itu, mengintepretasi kondisi emosional menjadi hal yang penting dalam komunikasi yang baik. Kondisi emosional direfeleksikan dalam perkataan, gerak tubuh, dan terutama ekspresi wajah. Walaupun manusia bisa mengenali ekspresi dengan baik, penelitian pengenalan ekspresi yang dilakukan oleh mesin terus dilakukan agar dapat melakukan pengenalan ekspresi dalam interaksi manusia dan komputer. Oleh karena itu, diperlukan suatu pendekatan untuk mengenali ekspresi dengan lebih baik.

Pada Penelitian ini dilakukan pengenalan ekspresi wajah menggunakan metode Convolutional Neural Network (CNN). Tahapan keseluruhan metode yang digunakan adalah tahap pre processing, dan tahap klasifikasi. Tahap pre processing yang dilakukan pada penelitian ini adalah rezise dan grayscale. Untuk melakukan pengenalan ekspresi wajah, jaringan CNN dilatih dengan data citra ekspresi. Proses training dilakukan dengan menggunakan optimizer, batch size, dan epoch yang berbeda-beda untuk mendapatkan model terbaik. Untuk mengatasi overfitting, dilakukan data augmentation pada data latih dan data validasi. Hasil percobaan pada penelitian ini menunjukkan bahwa metode Convolutional Neural Network dapat mengenali ekspresi wajah dengan tingkat akurasi dari pengujian sebesar 80% dari 100 gambar.

Kata kunci: Ekspresi wajah, Pengenalan ekspresi wajah, Convolutional Neural Network.

(8)

FACIAL EXPRESSION RECOGNITION USING CONVOLUTIONAL NEURAL NETWORK (CNN)

ABSTRACT

Humans use facial expressions that are important to communicate and show their emotions in social interactions naturally and intuitively. In that interaction, interpreting emotional conditions is an important thing in good communication.

Emotional conditions are reflected in words, gestures, and especially facial expressions. Although humans can recognize expressions well, research in expression recognition automatically by machines continues to be carried out in order to recognize facial expressions in human and computer interactions. Therefore, an approach is needed to improve facial expressions recognition.

In this study, facial expression recognition was introduced using the Convolutional Neural Network (CNN) method. The steps of the overall method used are the pre- processing stage, and the classification stage. The pre-processing steps carried out in this study is rezise and grayscale. To recognize facial expression, CNN networks are trained with expression image data. The training process use different optimizers, batch sizes, and epochs to get the best model. To overcome overfitting, augmentation data is carried out on training data and validation data. The results of experiments on conducted research obtained an accuracy of 80%.

The experimental results in this study indicate that the Convolutional Neural Network method can recognize facial expressions with an accuracy of 80% of 100 images

Keywords: Facial Expressions, Facial Expression Recognition, Convolutional Neural Network.

(9)

viii

DAFTAR ISI

PERSETUJUAN ii

PERNYATAAN ii

UCAPAN TERIMAKASIH iv

ABSTRAK vi

ABSTRACT vii

DAFTAR ISI viii

DAFTAR TABEL x

DAFTAR GAMBAR xi

PENDAHULUAN 13

1.1. Latar Belakang 13

1.2. Rumusan Masalah 3

1.3. Batasan Masalah 3

1.4. Tujuan Penelitian 3

1.5. Manfaat Penelitian 3

1.6. Metodologi Penelitian 4

1.7. Sistematika Penulisan 5

LANDASAN TEORI 6

2.1. Ekspresi 6

2.2. Facial Action Coding System (FACS) 7

2.3. Artificial Neural Networks(ANN) 7

2.4. Machine learning 9

2.5. Convolutional Neural Network 11

2.5.1. Convolution Layer 11

2.5.2. Pooling layer 15

2.5.3. Fully connected layer 16

2.6. Penelitian Terdahulu 17

2.7. Perbedaan dengan Peneliti Terdahulu. 20

ANALISIS DAN PERANCANGAN SISTEM 21

3.1. Data yang digunakan 21

3.2. Sistem Pengenalan Ekspresi Wajah 22

3.2.1. Preprocessing 23

3.2.2. Klasifikasi 24

3.3. PerancanganSistem 27

IMPLEMENTASI DAN PENGUJIAN 30

4.1. Implementasi Sistem 30

(10)

4.1.1. Perangkat Keras dan Perangkat Lunak 30

4.1.2. Implementasi Perancangan Antarmuka 31

4.1.3. Implementasi Data 33

4.2. Prosedur Operasional 35

4.3. Hasil Pengolahan Citra Sistem 39

4.4. Pengujian Sistem 40

KESIMPULAN DAN SARAN 48

5.1. Kesimpulan 48

5.2. Saran 48

DAFTAR PUSTAKA 50

(11)

x

DAFTAR TABEL

Tabel 2.1 Penelitian Terdahulu 19

Tabel 3.1 Jumlah Data Latih dan Data Validasi 22

Tabel 3.2 Tabel Proses Pelatihan Setiap Layer 26

Tabel 4.1 Hasil Pengolahan Citra 39

Tabel 4.2 Hasil pengujian model 43

Tabel 4.3 Nilai TP, FP dan FN dari ekspresi yang dikenali 43 Tabel 4.4 Data Hasil Pengujian 45

(12)

DAFTAR GAMBAR

Gambar 2.1 Ilustrasi neuron dan komponennya 7

Gambar 2.2 Model sebuah neuron 8

Gambar 2.3 Struktur Jaringan Artificial Neural Network 8 Gambar 2.4 Arsitektur Convolutional Neural Network 11

Gambar 2.5 Operasi dot 12

Gambar 2.6 Proses Konvolusi dengan 2 filter untuk menghasilkan

Activation Map 12

Gambar 2.7 Activation Map 14

Gambar 2.8 Contoh Downsampling 15

Gambar 2.9 Max Pooling dan Average Pooling 16

Gambar 2.10 Contoh Fully Connected Layer 27

Gambar 3.1 Arsitektur Umum 23

Gambar 3.2 Citra sebelum dan sesudah proses resize 24

Gambar 3.3 Citra sesudah proses grayscale 24

Gambar 3.4 Tampilan Home Page 28

Gambar 3.5 Tampilan About Page 28

Gambar 3.6 Tampilan Training Images 29

Gambar 3.7 Tampilan Testing Images 29

Gambar 4.1 Tampilan welcome page sistem 31

Gambar 4.2 Tampilan Halaman About 31

Gambar 4.3 Tampilan Halaman Training 32

Gambar 4.4 Tampilan Halaman Testing 32

Gambar 4.5 Data image eskpresi marah 33

Gambar 4.6 Data image ekspresi bahagia / senang 34

Gambar 4.7 Data image ekspresi sedih 34

Gambar 4.8 Data image ekspresi terkejut 35

Gambar 4.9 Tampilan Halaman Home 35

Gambar 4.10 Tampilan Halaman About 36

Gambar 4.11 Tampilan Halaman Training 36

(13)

xii

Gambar 4.12 Tampilan Hasil Training 37

Gambar 4.13 Tampilan Hasil Training yang diperjelas 37

Gambar 4.14 Tampilan Testing single image 38

Gambar 4.15 Input citra ekspresi untuk menguji sistem 38 Gambar 4.16 Hasil pengujian citra ekspresi wajah 38

Gambar 4.17 Grafik Hasil Percobaan 1 40

Gambar 4.18 Contoh data asli 41

Gambar 4.19 Contoh data augmentation 41

Gambar 4.20 Grafik Hasil Percobaan 2 42

(14)

PENDAHULUAN

1.1. Latar Belakang

Manusia secara alami dan intuitif menggunakan ekspresi wajah yang penting dan kuat untuk berkomunikasi dan menujukkan emosi mereka dalam berinteraksi sosial.

Dalam interaksi itu, mengintepretasi kondisi emosional menjadi hal yang penting dalam komunikasi yang baik. Kondisi emosional direfeleksikan dalam perkataan, gerak tubuh, dan terutama ekspresi wajah.

Walaupun manusia bisa mengenali ekspresi dengan baik, penelitian pengenalan ekspresi yang dilakukan oleh mesin terus dilakukan agar dapat melakukan pengenalan ekspresi pada interaksi manusia dan komputer. Pengenalan ekspresi wajah dari suatu citra merupakan salah satu bidang yang masih menarik perhatian banyak peneliti dalam beberapa waktu belakangan ini. Pengenalan ekspresi wajah dapat diterapkan pada computer vision dan pattern recognition.

Pada pengenalan ekspresi wajah, ada dua tahap yang harus dilakukan, yaitu eksptraksi fitur dan klasifikasi. Pada tahap ekstraksi fitur, diperoleh ciri atau fitur yang penting pada wajah dari suatu citra inputan, kemudian dilakukan pengklasifikasian citra tersebut ke dalam kelas ekspresi tertentu.

Penelitian pengenalan ekspresi yang dilakukan diantaranya oleh K.

Samarawickrame dan S. Mindya pada tahun 2013 dengan menggunakan Active Shape Models dan Support Vector Machine (SVM) untuk melakukan klasifikasi ekspresi berdasarkan titik- titik facial landmarks. Tahap pengerjaanya diawali dengan deteksi wajah menggunakan Haar Classifiers. Titik-titik landmarks diekstrak ke dalam suatu modul untuk kemudan di klasifikasikan oleh Support Vector Machine.

(15)

2

Penelitian selanjutnya dilakukan Hazar Mliki, Nesrine Fourati , Souhaïl Smaoui, Mohamed Hammami pada tahun 2013 dengan menggunakan Decision Tree. Untuk mengatasi masalah variasi dan intensitas ekspresi wajah, peneliti mengajukan metode ekstraksi fitur yang berbeda. Komponen fitur wajah seperti mata, alis dan mulut di deteksi dan disegmentasi secara otomatis. Tahap berikutnya adalah ekstraksi points of interest dan klasifikasi yang dilakukan dengan menggunakan SIPINA, perangkat lunak analisis Decision Tree, berdasarkan set aturan yang sudah ada sebelumnya.

Pada tahun 2016, Emil-Ioan Voisan, Radu-Emil Precup and Florin Dragan melakukan pengenalan ekspresi wajah dengan menggunakan Constrained Local Models(CLM) dan Support Vector Machines (SVM). Penelitian ini menggunakan CLM untuk melakukan ekstraksi titik- titik facial landmarks, kemudian menggunakan representasi berdasarkan jarak agar lebih fleksibel ketika mengolah gambar yang merepresentasikan perubahan wajah dan SVM digunakan untuk mendeteksi emosi dari ekspresi wajah.

Ke Shan, Junqi Guo, Wenwan You, Di Lu, Rongfang Bie, melakukan pengenalan ekspresi pada tahun 2017 menggunakan Convolutional Neural Networks. Peneliti melakukan deteksi wajah dan ekstraksi fitur histogram equalization dengan dataset JAFFE dan CK+, dan membandingkan percobaannya dengan menggunakan metode K-Nearest Neighbor (KNN).

Penelitian lain yang menggunakan Convolutional Neural Networks (CNN) diantaranya dilakukan oleh Muhammad Zufar dan Budi Setiyono pada tahun 2016. Penelitian ini menggunakan CNN sebagai pengenalan wajah secara real time dengan Library OpenCV untuk deteksi multi wajah dan perangkat Web Cam MTech 5MP.

Oleh karena itu, diperlukan suatu pendekatan untuk mengenali ekspresi dengan lebih baik. Pada penelitian ini penulis ingin melakukan pengenalan ekspresi wajah dengan menggunakan metode Convolutional Neural Network karena metode ini mampu menghasilkan akurasi yang lebih baik dibandingkan algoritma Machine Learning lainnya dalam melakukan pengenalan ekspresi wajah dengan dataset yang lebih banyak untuk pelatihan data. Selain untuk mengenali gambar, metode ini juga dapat digunakan untuk klasifikasi teks.

Berdasarkan latar belakang diatas, peneliti mengajukan penelitian berjudul

“Pengenalan Ekspresi Wajah Menggunakan Convolutional Neural Network(CNN)”.

(16)

1.2. Rumusan Masalah

Manusia secara alami dan intuitif menggunakan ekspresi wajah yang penting dan kuat untuk berkomunikasi dan menujukkan emosi mereka dalam berinteraksi sosial. Walaupun manusia bisa mengenali ekspresi dengan baik, masih perlu dilakukan penelitian lebih lanjut agar dapat melakukan pengenalan ekspresi pada interaksi manusia dan komputer dengan lebih baik.

1.3. Batasan Masalah

Dalam tugas akhir ini, terdapat batasan masalah dari permasalahan yang ada, yaitu:

a. Penelitian ini tidak membahas tentang permasalahan dalam pengenalan ekspresi yang terjadi secara real-time

b. Penelitian ini tidak membahas kecepatan pengenalan ekspresi.

c. Ekspresi yang dikenali pada penelitian ini adalah ekspresi marah, bahagia, sedih, dan terkejut.

d. Penelitian ini hanya mengenali ekspresi wajah manusia dengan posisi wajah yang memenuhi setidaknya 80% dari keseluruhan gambar.

e. Penelitian ini tidak membahas pengaruh, arah dan intensitas cahaya terhadap citra ekspresi wajah.

1.4. Tujuan Penelitian

Tujuan yang ingin dicapai dalam pembuatan penelitian ini, yaitu mengenali ekspresi wajah manusia menggunakan Convolutional Neural Network.

1.5. Manfaat Penelitian

a. Manfaat bagi peneliti lain: menjadi referensi untuk penelitian selanjutnya yang memiliki topik yang sama atau yang menggunakan metode yang sama.

b. Manfaat bagi penulis: menambah pemahaman secara mendalam terkait metode Convolutional Neural Network untuk pengenalan ekspresi

c. Manfaat bagi pembaca: menambah pengetahuan tentang metode Convolutional Neural Network serta penerapannya.

(17)

4

1.6. Metodologi Penelitian

Adapun tahapan-tahapan yang akan dilakukan pada penelitian ini adalah:

1. Studi Literatur

Studi literatur dilakukan untuk pengumpulan data dan mempelajari informasi yang diperoleh dari buku, jurnal, skripsi, dan berbagai sumber informasi lainnya yang berkaitan dengan penelitian. Informasi yang berkaitan tersebut antara lain, ekspresi universal dan pengenalannya, machine learning, artificial neural network, convolutional neural network, serta library yang akan digunakan untuk membantu proses penelitian ini.

2. Analsis Permasalahan

Tahapan ini dilakukan untuk menganalisa berbagai informasi terkait yang telah diperoleh. Kemudian dilakukan perancangan sebuah sistem sesuai analisis pemasalahan.

3. Perancangan Sistem

Pada tahap perancangan sistem, dilakukan perancangan arsitektur, pengumpulan data, serta perancangan antarmuka. Proses perancangan dilakukan berdasarkan hasil dari analisis studi literatur yang telah diperoleh.

4. Implementasi Sistem

Pada tahap ini dilakukan proses implementasi Convolutional Neural Network dalam aplikasi komputer yang menggunakan bahasa pemrograman Python 5. Pengujian Sistem

Pada tahap ini dilakukan proses pengujian dan percobaan terhadap sistem yang didapatkan melalui implementasi algoritma Convolutional Neural Network dalam melakukan pengenalan ekspresi marah, bahagia, sedih, dan terkejut serta memastikan program yang dibuat berjalan seperti yang diharapkan.

6. Dokumentasi dan Penyusunan Laporan

Pada tahap ini dilakukan dokumentasi dan penyusunan laporan hasil dari analisis dan implementasi dari penelitian yang dilakukan dalam bentuk laporan tugas akhir.

(18)

1.7. Sistematika Penulisan

Penulisan skripsi ini terdiri dari lima bab dengan masing-masing bab secara singkat dijelaskan sebagai berikut :

Bab 1 : Pendahuluan

Bab ini berisikan dari latar belakang yang dilaksanakan, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

Bab 2 : Landasan Teori

Bab ini akan membahas tentang teori-teori pendukung skripsi yang diperlukan untuk memahami permasalahan yang dibahas pada penelitian ini serta teori yang berkaitan dengan pengenalan ekspresi dan penerapan Convolutional Neural Network

Bab 3 : Analisis dan Perancangan Sistem

Bab ini berisikan tentang arsitektur umum dan langkah langkah yang dilakukan, tahap preprocessing, proses training, proses validation, proses testing dan perancangan aplikasi yang akan dibuat dalam penelitian ini.

Bab 4 : Implementasi dan Pengujian Sistem

Bab ini berisikan implementasi perancangan sistem dari hasil analisis dan perancangan yang sudah dijelaskan pada bab 3, serta menguji sistem untuk menemukan kelebihan dan kekurangan pada sistem yang dibuat.

Bab 5 : Kesimpulan dan Saran

Pada bab ini berisikan kesimpulan yang didapatkan terhadap hasil penelitian tugas akhir dan saran untuk pengembangan lebih lanjut tentang topik yang terkait dengan penelitian ini.

(19)

BAB 2

LANDASAN TEORI

2.1. Ekspresi

Ekspresi atau mimik adalah salah satu bentuk komunikasi nonverbal yang merupakan hasil dari satu atau lebih gerakan atau posisi otot pada wajah serta dapat menyampaikan keadaan emosi dari seseorang kepada orang yang mengamatinya.

Ekspresi wajah mengungkapkan pikiran yang sedang melintas pada diri seseorang.

Sebagai contoh, sebuah senyum mengungkap keramah-tamahan dan kasih-sayang;

mengangkat alis mata menunjukkan ekspresi heran; mengernyitkan dahi menunjukkan ketakutan dan kegelisahan. Semua emosi dan berbagai macam tingkah manusia diekspresikan dalam emosi yang berbeda yang tergambar di wajah.(Abidin, 2011)

Sebuah ekspresi wajah merupakan manisfestasi nyata dari afektif, aktivitas kognitif, tujuan, dan personalitas seseorang. Ekspresi wajah memainkan peranan penting dalam hubungan interpersonal antar manusia yang dapat memberikan efek sebesar 55% dari pesan yang akan disampaikan sementara Bahasa dan suara masing- masing menyumbang 7% dan 38% (Mehrabian, 1968). Hal ini disebabkan karena ekspresi wajah mempunyai banyak informasi.“Ekspresi wajah juga dapat mencerminkan kondisi afektif, kegiatan kognitif, tujuan, personality dan phscyopathology dari seseorang”(Donato, et.al, 1999).

Pengenalan ekspresi wajah merupakan penerapan langsung dari studi biometrik. Dalam dunia teknologi informasi, biometrik relevan dengan teknologi yang digunakan untuk menganalisa fisik dan kelakuan manusia dalam autentifikasi.

(Wikipedia, 2018). Teknologi biometrik diterapkan dengan

(20)

menggunakan karakteristik pembeda (distinguishing traits). Secara umum karakteristik pembeda itu sendiri dibedakan menjadin dua, yaitu karakteristik fisiologis dan karakteristik perilaku. Ekspresi wajah adalah satu karaktersitik perilaku.(Abidin, 2011).

2.2. Facial Action Coding System (FACS)

FACS adalah sistem yang dikembangkan oleh ahli anatomi asal Swedia, Carl-Herman Hjortsjo di akhir 1960an untuk melakukan analisis pengenalan ekspresi secara manual, dan kemudian diadopsi oleh Paul Ekman dan Joseph C Hager saat mereka mengembangkan teori analisis emosi pada akhir 1970an. FACS digunakan untuk melakukan pengkodean pergerakan otot wajah. Setiap pergerakan otot wajah tertentu menyebabkan perubahan hasil pada kode FACS yang digunakan dan perbedaan tampilan wajah.

2.3. Artificial Neural Networks(ANN)

Artificial neural networks merujuk pada teknologi komputasi yang dikembangkan berdasarkan cara kerja otak pada makhluk hidup yang terdiri atas kumpulan neuron yang saling terhubung (Hammerstrom, 1993). Ilustrasi neuron dapat dilihat pada gambar 2.1.

Gambar 2.1.Ilustrasi neuron dan komponennya (Sena, 2017)

Dari gambar di atas, dapat dilihat beberapa bagian dari neuron manusia, yaitu:

1. Dendrit (Dendrites) : mengirimkan impuls yang diterima ke badan sel syaraf.

2. Akson (Axon) : mengirimkan impuls dari badan sel ke jaringan lain

3. Sinapsis : berfungsi sebagai unit fungsional di antara dua sel syaraf. (Derwin, 2012)

Berdasarkan struktur neuron diatas, dibentuk sebuah model neuron pada jaringan syaraf tiruan, seperti yang dapat dilihat pada gambar 2.2.

(21)

8

Gambar 2.2.Model sebuah neuron (Sena, 2017)

Informasi masukan bagi neuron, atau input, dikirim ke neuron dengan bobot kedatangan tertentu. Input ini diproses dengan suatu fungsi yang menjumlahkan nilai berbobot dari semua input yang datang. Hasil penjumlahan kemudian dikenakan fungsi aktivasi untuk menentukan apakah neuron tersebut akan diaktifkan atau tidak. Biasanya hal ini dilakukan dengan membandingkan dengan threshold atau ambang nilai tertentu.

Apabila neuron tersebut diaktifkan, maka neuron tersebut mengirimkan output melalui bobot-bobotnya ke semua neuron selanjutnya yang berhubungan.

Pada Jaringan saraf tiruan, Kumpulan neuron dibuat menjadi sebuah jaringan yang memiliki fungsi sebagai alat komputasi, yang saling terhubung satu sama lain, melalui koneksi yang memiliki weight tertentu, dimana jumlah neuron dan struktur jaringan yang digunakan akan berbeda tergantung pada masalah yang akan diselesaikan. Ilustrasi struktur jaringan neural network dapat dilihat pada gambar 2.3.

Gambar 2.3.Struktur Jaringan Artificial Neural Network (Gif, 2015)

(22)

Unit komputasi ini tersusun dalam rangkaian lapisan (layer) tertentu, yangpada umumnya terdiri dari tiga lapisan. Lapisan tersebut adalah input layer, hidden layer, dan output layer(Robert E urig, 1995). Sebuah jaringan syaraf tiruan dapat terdiri dari satu atau lebih hidden layer.

2.4. Machine learning

Machine learning merujuk pada sebuah metode yang membuat komputer memiliki kemampuan dalam mempelajari dan melakukan sebuah pekerjaan secara otomatis(Aaron Hertzmann, 2011). Proses machine learning akan dilakukan melalui algoritma tertentu, sehingga pekerjaan yang diperintahkan kepada komputer dapat dilakukan secara otomatis.

Machine learning memiliki beberapa pengertian, yaitu sebagai berikut:

a. Machine learning menurut sudut pandang kecerdasan buatan. Proses learning merupakan bagian yang penting dalam pembuatan sistem cerdas, namun sistem cerdas tidak dapat dibangun melalui aturan-aturan yang dirancang secara langsung, misalnya dengan menerapkan langkah-langkah prosedural, sehingga dibutuhkan proses yang memungkinkan sistem cerdas untuk mempelajari algoritma secara otomatis.

b. Machine learning menurut sudut pandang teknis. Machine learning merupakan sebuah metode yang memungkinkan proses pemrograman komputer melalui sebuah sampel data tertentu.

c. Machine learning menurut sudut pandang statistika. Machine learning merupakan suatu metode penyelesaian masalah yang bersifat statistik melalui teknik komputasi tertentu.

Machine learning menyelesaikan masalah statistik melalui pendekatan yang sedikit berbeda, seperti lebih mengutamakan kecepatan pemrosesan data daripada akurasi hasil pemrosesan.

Machine learning dapat dilakukan melalui 2 fase, yaitu fase training dan fase application.

Dalam fase training, model dari algoritma yang digunakan akan dipelajari oleh sistem melalui training data. Dalam fase application, model yang telah dipelajari sistem melalui fase training akan digunakan untuk menghasilkan sebuah keputusan tertentu, dengan menggunakan testing data. Berikut kategori-kategori algoritma pada Machine Learning berdasarkan tujuannya:

(23)

10

1. Pembelajaran Terarah (Supervised Learning)

Komputer diberi pemodelan hubungan dan ketergantungan antara input dan prediksi target output yang dikehendaki sehingga komputer dapat memahami pattern yang mendasari output yang diberi. Pakar bertindak sebagai guru terhadap komputer, dimana mereka memberikan training data yang berlabel untuk dipelajari oleh system komputer.

2. Pembelajaran Tak Terarah (Unsupervised Learning)

Sistem komputer tidak diberi training data berlabel seperti pada supervised learning, tetapi melalui training data tanpa label ini sistem komputer belajar pattern atau hal lainnya yang dapat dilihat dari data- data tersebut. Jenis utama dari algoritma Unsupervised Learning ini adalah algoritma penggolongan (Clustering).

3. Pembelajaran Semi Terarah (Semi-supervisedLearning)

Sangat berguna untuk digunakan pada training data yang masih belum memiliki label lengkap dikarenakan sulitnya mendapatkan data yang lengkap. Meskipun dalam metode ini masih terdapat banyak data yang tidak berlabel, tetapi training data yang digunakan membawa banyak informasi penting tentang parameter pola.

4. Reinforcement Learning

Metode ini bertujuan menggunakan pengamatan yang dikumpulkan dari interaksi dengan lingkungan untuk mengambil tindakan yang akan memaksimalkan keahlian atau meminimalkan risiko. Algoritma Reinforcement Learning (disebut juga the agent) terus belajar dari lingkungan secara berulang.

Dalam prosesnya, the agent belajar dari pengalamannya tentang lingkungan sampai mengeksplorasi berbagai kemungkinan keadaan.

(24)

2.5. Convolutional Neural Network

Convolutional Neural Network (CNN) adalah pengembangan dari Multilayer Perceptron (MLP) yang termasuk dalam neural network bertipe feed forward (bukan berulang).

Convolutional Neural Network adalah neural network yang didesain untuk mengolah data dua dimensi. CNN termasuk dalam jenis Deep Neural Network karena kedalaman jaringan yang tinggi dan banyak diaplikasikan pada data citra. (Suartika, et.al, 2016). CNN digunakan untuk menganalisis gambar visual, mendeteksi dan mengenali objeck pada image, yang merupakan vektor berdimensi tinggi yang akan melibatkan banyak parameter untuk mencirikan jaringan.

Secara garis besar,CNN tidak terlalu jauh berbeda dengan neural network biasanya.

CNN terdiri dari neuron yang memiliki weight, bias dan activation function. Arsitektur Convolutional Neural Network dapat dilihat pada gambar 2.4.

Gambar 2.4.Arsitektur Convolutional Neural Network (Peng, et al, 2017) Dari gambar 2.4. dapat dilihat ada tiga tipe layer dalam convolutional network:

2.5.1. Convolution Layer

Convolutional Layer merupakan layer yang pertama kali menerima gambar yang diinputkan.

Layer ini melakukan proses konvolusi menggunakan sebuah filter. Filter ini diinisialisasi dengan nilai tertentu (random atau menggunakan teknik tertentu seperti Glorot), dan nilai dari filter inilah yang menjadi parameter yang akan di-update dalam proses learning. Filter ini akan bergeser ke seluruh bagian gambar. Pergeseran tersebut akan menghasilkan dot product antara input dan nilai dari filter tersebut seperti pada gambar 2.5.

(25)

12

Gambar 2.5.Operasi dot (Dharmadi, 2018)

Dengan menggeser filter keseluruh bagian gambar, dihasilkan sebuah output yang disebut sebagai activation map atau feature map (Nurfita, 2018). Proses konvolusi dapat dilihat pada gambar 2.6.

Gambar 2.6.Proses Konvolusi dengan 2 filter untuk menghasilkan Feature Map / Activation map

(Karpathy, 2018).

(26)

Pergeseran filter ditentukan oleh sebuah parameter bernama stride dan padding. Stride menentukan jumlah pixels yang bergeser secara horizontal dan vertikal. Semakin kecil stride yang digunakan, maka akan mendapatkan hasil yang lebih detail namun juga membutuhkan komputasi yang lebih baik. Namun perlu diperhatikan bahwa dengan menggunakan stride yang kecil kita tidak selalu akan mendapatkan performa yang baik. (Sena, 2017b).

Sedangkan Padding atau adalah parameter yang menentukan jumlah pixels (berisi nilai 0) yang akan ditambahkan di setiap sisi dari input. Hal ini digunakan dengan tujuan untuk memanipulasi dimensi output dari convolutional layer (Feature Map) agar tetap sama seperti dimensi input atau setidaknya tidak berkurang secara drastis, sehingga kita bisa menggunakan conv. layer yang lebih dalam/deep sehingga lebih banyak features yang berhasil diekstrak, dan meningkatkan performa dari model karena filter akan fokus pada informasi yang sebenarnya yaitu yang berada di antara zero padding tersebut.

Untuk menghitung dimensi dari feature map dapat menggunakan persamaan 2.1.

𝒐𝒖𝒕𝒑𝒖𝒕 = 𝑵 − 𝑭 + 𝟐𝑷

𝑺 + 𝟏 (2.1)

dimana:

N = Panjang/Tinggi Input

F = Panjang/Tinggi Filter

P = Zero Padding

S = Stride

Sebagai contoh, misalkan input gambar 5 x 5 x 3. Filter (F) 3 x 3 x 3. Dengan S = 2 dan P = 1, maka output (activation map) yang dihasilkan berukuran (5–3+2)/2 +1 = 3. Proses ini diulang dengan beberapa filter berbeda, hingga menghasilkan “gambar” baru yang merupakan kumpulan dari activation maps seperti pada gambar 2.7

(27)

14

Gambar 2.7 Activation Map (Dharmadi, 2018)

Beberapa hal yang perlu diperhatikan pada convolutional layer diantaranya:

Ukuran ketebalan dari sebuah filter selalu mengikuti ketebalan/volume dari gambar input yang digunakan.

Tinggi (dan lebar) filter (F) pada umumnya berukuran ganjil. Secara intuisi, filter berukuran ganjil memberikan representasi yang lebih baik karena mencakup bagian kiri dan kanan yang “seimbang”.

Dalam sebuah convolutional layer, filter-filter yang digunakan berukuran sama, untuk kemudahan proses komputasi.

Jumlah filter (K) yang digunakan dalam sebuah convolutional layer adalah kelipatan 2 (powers of 2). Beberapa library memiliki subroutine khusus untuk komputasi kernel/dimensi berkelipatan 2 yang dapat meningkatkan efisiensi.

Besaran zero padding (P) umumnya menyesuaikan agar ukuran spasial dari output yang dihasilkan tetap sama dengan ukuran spasial input. (P=

F-1/2)

Secara keseluruhan, bila input sebuah convolutional layer adalah gambar dengan ukuran W1 x H1 x D1, output dari layer tersebut adalah sebuah “gambar” baru dengan ukuran W2 x H2 x D2, seperti pada persamaan 2.2

𝑾𝟐 = 𝑾𝟏 − 𝑭 + 𝟐𝑷

𝑺 + 𝟏 = 𝑯𝟐

𝑫𝟐 = 𝑲

(2.2)

(28)

Keterangan:

K adalah jumlah filter yang digunakan.

F adalah ukuran spasial dari filter (lebar/tinggi).

S adalah stride, atau besar pergeseran filter dalam konvolusi.

P adalah padding, jumlah penambahan nol pada gambar.

2.5.2. Pooling layer

Pooling layer menerima output dari convolutional layer, pada layer ini dimensi data akan dikurangi (downsampling). Prinsipnya pooling layer terdiri dari filter dengan ukuran tertentu dan stride / langkah kemudian bergeser ke seluruh area feature map.

Tujuan dari penggunaan pooling layer adalah mengurangi dimensi dari feature map (downsampling), sehingga mempercepat komputasi karena parameter yang harus diupdate semakin sedikit dan mengatasi overfitting(Sena, 2017). Gambar 2.8.

menampilkan contoh downsampling.

Gambar 2. 8. Contoh Downsampling (Santos, 2018)

Metode pooling yang biasa digunakan adalah Average pooling dan max pooling (Scherer, et.al. 2010). Average Pooling akan memilih nilai rata-rata pada filter akan dipilih pada saat pergeseran. Sedangkan Max pooling membagi output convolutional layer menjadi beberapa grid kemudian setiap pergeseran filter akan mengambil nilai terbesar dari setiap grid. Tergantung pada panjang langkahnya, gambar yang dihasilkan adalah sebagian kecil dari ukuran aslinya yang berguna untuk mengurangi dimensi data, sehingga mengurangi jumlah parameter pada langkah selanjutnya (Shukla, Nishant, 2018). Penggunaan Pooling layer tergantung pada jenis data set yang digunakan (Rahman, 2017). Gambar 2.9. menampilkan max pooling layer dan average layer.

(29)

16

Gambar 2.9.Max Pooling dan Average Pooling (Rahman, 2017)

Sebagai contoh, input ke pooling layer memiliki ukuran W1 x H1 x D1. Untuk mendapatkan ukuran output dari pooling layer dapat menggunakan persamaan 2.3.

𝑾𝟐 = 𝑾𝟏 − 𝑭

𝑺 + 𝟏 = 𝑯𝟐 𝑫𝟐 = 𝑫𝟏

(2.2)

*padding tidak umum dilakukan pada pooling layer, namun mungkin ditemukan.

2.5.3. Fully connected layer

Fully connected layer mengambil input dari hasil output pooling layer yang berupa feature map. Feature map tersebut masih berbentuk multidimensional array. Oleh karena itu, lapisan ini akan melakukan reshape feature map dan menghasilkan vektor sebanyak n- dimensi dimana n adalah jumlah kelas output yang harus dipilih program.

Misalnya, jika lapisan terdiri dari 500 neuron, maka akan diterapkan fungsi aktivasi softmax yang mengembalikan daftar probabilitas terbesar untuk masing-masing 10 label kelas sebagai klasifikasi akhir dari jaringan(Anuj Dutt, 2017). Gambar 2.10 menampilkan contoh fully connected layer.

(30)

Gambar 2.10.Contoh Fully Connected Layer (Murray, 2017)

2.6. Penelitian Terdahulu

Beberapa penelitian yang berkaitan dengan pengenalan ekspresi wajah telah dilakukan denganberbagai metode dan pendekatan diantaranya:

(Samarawickrame & Mindya, 2013) melakukan pengenalan ekspresi wajah menggunakan Active Shape Models and Support Vector Machine. Dataset yang digunakan adalah JAFFE Database. Tahap pertama adalah melakukan deteksi wajah menggunakan Haar Classsifer.

Active Shape Model digunakan untuk mendapatkan fitur wajah yang sudah dideteksi berupa koordinat wajah.Tahap berikutnya yaitu klasifikasi, yang dilakukan dengan mengunakan MATLAB. Koordinat tersebut dijadikan input dari Support Vector Machine. Sistem yang dilatih dapat mengklasifikasikan 7 kategori ekspresi, yaitu bahagia, sedih, takut, jijik, terkejut, marah, dan netral. Analisis sistem dilakukan dengan menggunakan Active Shape Models dan Support Vector Machine (SVM).

(Mliki, 2013) melakukan pengenalan ekspresi wajah menggunakan Decision Tree. Dataset yang digunakan peneliti adalah dataset JAFFE. Proses pengenalan ekspresi terdiri dari dua tahap, yaitu tahap ekstraksi fitur dan tahap klasifikasi. Untuk mengatasi masalah variasi dan intensitas ekspresi wajah, peneliti mengajukan metode ekstraksi fitur yang berbeda.

Komponen fitur wajah seperti mata, alis dan mulut di deteksi dan disegmentasi secara otomatis. Kemudian dilakukan ekstraksi points of interest untuk memperoleh jarak antar fitur wajah, yang kemudian dihitung dengan menggunakan teknik data mining untuk menghasilkan set aturan prediksi. Klasifikasi dilakukan dengan menggunakan SIPINA,

(31)

18

perangkat lunak analisis Decision Tree, berdasarkan set aturan yang sudah ada sebelumnya.

Ekepresi yang dikenali pada penelitian ini adalah senang, senyum, terkejut, marah, takut, dan jijik.

(Voisan, et.al, 2016) melakukan pengenalan ekspresi wajah dengan menggunakan Constrained Local Models (CLM) dan Support Vector Machine (SVM). Tahap pertama yang dilakukan yaitu mendeteksi titik wajah menggunakan Haar classifer. Tahap berikutnya yaitu melakukan ekstraksi titik- titik facial landmarks menggunakan CLM. Kemudian menggunakan Support Vector Machine (SVM) untuk mendeteksi emosi dari ekspresi wajah.

Dataset yang digunakan adalah MUG dataset, yang terdiri dari 758 gambaruntuk data training dari from 6 sampel, dan 471 gambar dari 4 sampel untuk data testing. Ekepresi yang dikenali pada penelitian ini adalah bahagia, terkejut, marah, takut, sedih, jijik dan netral.

Metode Convolutional Neural Network (CNN) juga diterapkan pada pengenalan wajah, salah satunya dilakukan oleh (Zufar & Setiyono, 2016). Penelitian ini melakukan pengenalan wajah secara real time dengan perangkat Web Cam MTech 5MP. Tahap pertama yang dilakukan adalah melakukan deteksi multi wajah dengan menggunakan library Open CV. Tahap kedua yaitu melakukan ekstraksi dengan menggunakan Extended Local Binary Pattern sebelum masuk ke jaringan CNN.Metode ini dipilih karena hasil ekstraksi lebih toleran terhadap perubahan intesitas pencahayaan, distorsi perspektif, blur, perubahan skala gambar, dan sebagainya. Kemudian dilakukan tahap pengenalan wajah menggunakan CNN.

(Shan, et.al, 2017) melakukan pengenalan ekspresi wajah menggunakan Convolutional Neural Network (CNN). Ada beberapa tahap pada peneltian ini. Tahap pertama yaitu melakukan deteksi wajah menggunakan Haar-like feature. Tahap kedua adalah menerapkan Histogram Equlization untuk menyamakan distribusi gray value pada image. Tahap berikutnya adalah tahap klasifikasi. Pada tahap ini, peneliti mebandingkan metode CNN dan K-nearest neighbor (KNN). Pada penelitian ini database yang digunakan adalah JAFFE Database dan Extended Cohn-Kanade Dataset (CK+).

Penelitian yang berkaitan dengan pengenalan ekspresi wajah dan metode yang digunakan diringkaskan dalam tabel 2.1.:

(32)

Tabel 2.1.Penelitian terdahulu

No Peneliti Metode Keterangan

1. K.

Samarawickrame, S. Mindya, 2013

Active Shape Models (ASM) dan Support Vector Machine (SVM)

Menggunakan MATLAB.

Deteksi wajah : Haar Classifiers Ekstraksi fitur dan klasifikasi:

ASM dan SVM

Dataset : JAFFE Datasets 2 Hazar Mliki,

Nesrine Fourati , Souhaïl Smaoui, Mohamed Hammami 2013

Decision Tree Menggunakan SIPINA.

Deteksi wajah : Haar Classifiers Ekstraksi fitur dan klasifikasi:

Point of Interest dan Decision Tree

3 Emil-Ioan Voisan, Radu- Emil Precup and Florin Dragan, 2016

Constrained Local Models (CLM) dan Support Vector Machine (SVM)

Deteksi wajah : Haar Classifiers Ekstraksi fitur dan klasifikasi:

Local Models (CLM) dan Support Vector Machine (SVM)

Akurasi: 80%

4 Muhammad Zufar dan Budi

Setiyono, 2016

Convolutional Neural

Networks

Deteksi wajah: Library Open CV Ekstraksi Fitur: Extended Local Binary Pattern

Klasifikasi : CNN

Melakukan pengenalan wajah secara real time dengan perangkat Web Cam MTech 5MP.

5 Ke Shan, Junqi Guo, Wenwan You, Di Lu, Rongfang Bie, 2017

Convolutional Neural

Networks

Deteksi wajah: Haar like feature Menggunakan Histogram Equilization

Membandingkan metode klasifikasi KNN dan CNN.

Dataset: JAFFE danCK+.

(33)

20

2.7. Perbedaan dengan Peneliti Terdahulu.

Pada penelitian ini, penulis menggunakan dataset yang berbeda dengan penelitian terdahulu, yaitu menggunakan dataset FER2013 dari Challenges in Representation Learning: Facial Expression Recognition Challenge dan data yang dikumpulkan dari sumber lain seperti media internet. Pada penelitian ini, tidak dilakukan deteksi wajah seperti pada penelitian terdahulu.

Penelitian ini tidak melakukan ekstraksi fitur seperti pada penelitian (Samarawickrame &

Mindya, 2013), (Mliki, 2013), (Voisan et al, 2016).Penelitian ini tidak menerapkan Histogram Equilization di tahap preprocessing seperti pada penelitian (Shan et al, 2017). Pada penelitian ini, tahap preprocessing yang dilakukan adalah tahap resize dan grayscale. Ekspresi yang dikenali pada penelitian ini hanya 4 ekspresi, berbeda dengan penelitian terdahulu, yaitu marah, sedih, terkejut, dan bahagia/senang.

(34)

ANALISIS DAN PERANCANGAN SISTEM

3.1. Data yang digunakan

Data yang digunakan untuk penelitian ini terdiri dari tiga jenis data, yaitu data training yang digunakan dalam proses learning, data validation yang digunakan dalam proses pengujian hasil learning saat melakukan training (validation) dan data testing untuk melakukan pengujian setelah training. Data yang dipakai adalah data benchmark berupa images dengan format JPEG (Joint Photographic Experts Group) yang sudah pernah digunakan untuk data training dan testing yang tersedia dalam Challenges in Representation Learning: Facial Expression Recognition Challenge yang di selengga- rakan oleh Kaggle pada tahun 2013 dengan url: https://www.kaagle.com/c/challen ges-in-representation-learning-facial-expression-recognition-challenge. Data terdiri dari citra grayscale wajah dengan ukuran 48x48 pixel. Data yang dipakai dalam penelitian ini sebanyak 24,021 citra yang terdiri dari empat kategori, yaitu marah, bahagia /senang, sedih dan terkejut.

1. Data Training

Data Training merupakan data-data yang dipakai untuk melakukan proses learning ekspresi wajah. Data yang diapakai untuk proses training yaitu sebanyak 19,211citra untuk empat kategori.

2. Data Validation

Data Validation merupakan data-data yang dipakai untuk menguji akurasi saat melakukan proses training. Data yang diapakai untuk proses validation yaitu sebanayak 2,430 citra untuk empat kategori.

(35)

22

3. Data Testing

Data Testing merupakan data-data yang dipakai untuk melakukan proses pengujian terhadap hasil learning ekspresi wajah yang telah disimpan dalam sebuah model.

Data yang dipakai berupa citra dari ekspresi wajah yang berbeda dari images yang sudah digunakan dalam proses training dan validation. Data testing yang digunakan memiliki mode warna dan ukuran yang berbeda-beda.

Tabel 3.1.Jumlah Data Latih dan Data Validasi

No. Kategori Data Latih Data Validasi

1. Marah 3,995 467

2. Bahagia 7,215 895

3. Sedih 4,830 653

4. Terkejut 3,171 415

Total 19,211 2,430

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.

(36)

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

(37)

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

(38)

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

(39)

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

Conv 1+ ReLu 46x46x64 (3 x 3 x 1 + 1) x 64 = 640

Pool 1 23x23x64 0

Norm 23x23x64 64 x 4= 256

Conv 2+ ReLu 21x21x128 (3 x 3 x 64 + 1) x 128 = 73,856

Pool 2 10x10x128 0

Norm 10x10x128 128 x 4 = 512

Conv 3+ ReLu 8x8x256 (3 x 3 x 128 + 1) x 256 = 295,168

Pool 3 4x4x256 0

(40)

Tabel 3.2. Tabel Proses Pelatihan Setiap Layer ( Lanjutan)

Layer Ukuran Parameter

Norm 4x4x256 256 x 4 = 1024

Conv 4+ ReLu 2x2x512 (3 x 3 x 256 + 1) x 512 = 1,180,160

Pool 4 1x1x512 0

Norm 1x1x512 512 x 4 = 2048

Dropout 1x1x512 0

Flatten 512 0

FC + Softmax 256 (512 + 1) x 256 =131,328

Dropout 256 0

Output 4 (256 + 1) x 4 = 1028

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.

(41)

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

(42)

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

(43)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi Sistem

Pada tahap implementasi sistem, pengenalan ekspresi wajah menggunakan metode Convolutional Neural Network memerlukan perangkat keras dan perangkat lunak pendukung antara lain :

4.1.1. Perangkat Keras dan Perangkat Lunak

Spesifikasi perangkat keras dan perangkat lunak yang digunakan dalam membangun sistem ini adalah:

1. Processor Intel® Core™ i7-8700HQ CPU3.2GHz.

2. Kapasitas hard disk 1TB

3. RAM yang digunakan 16,00GB

4. Sistem operasi yang digunakan Windows 10 Home 64bit

5. Software yang digunakan adalah Pycharm versi 2018.2 dengan python versi 3.6.6 dan Anaconda Python Distribution versi custom

6. Library yang digunakan adalah TensorFlow backend melalui Keras, high-level neural networksAPI.

7. Framework aplikasi web untuk membangun rancangan interface yang digunakan adalah Flask

(44)

4.1.2. Implementasi Perancangan Antarmuka

Implementasi perancangan antarmuka berdasarkan rancangan sistem yang telah dibahas pada bab 3 adalah sebagai berikut :

1. Tampilan welcome page sistem

Halaman ini menampilkan menu utama dan navigasi ke halaman lainnya yang dapat dilihat pada gambar 4.1.

Gambar 4.1.Tampilan welcome page sistem 2. Tampilan About page sistem

Halaman ini menampilkan penjelasan singkat mengenai ekspresi dan penjelasan mengenai pengenalan ekspresi yang dibangun seperti pada gambar 4.2.

Gambar 4.2.Tampilan Halaman About

(45)

32

3. Tampilan Training

Menu training digunakan untuk mengatur konfigurasi proses training yang akan dilakukan. Pada tampilan ini juga ditampilkan grafik hasil training yang menunjukkan accuracy, loss dan confusion matrix dari proses training seperti pada gambar 4.3.

Gambar 4.3.Tampilan Halaman Training 4. TampilanTesting

Pada menu ini, citra yang diinput akan ditampilkan kembali bersama dengan hasil klasifikasinya. Dalam tampilan testing, terdapat menu testing image.

Dalam menu testing image, pengguna dapat memasukkan satu citra ekspresi wajah untuk diklasifikasi. Gambar 4.4. menunjukkan tampilan testing.

Gambar 4.4.Tampilan Halaman Testing

(46)

4.1.3. Implementasi Data

Data yang digunakan adalah data images yang tersedia dalam Challenges in Representation Learning: Facial Expression Recognition Challenge yang di selenggarakan oleh Kaggle pada tahun 2013.Data terdiri dari citra grayscale image wajah dengan ukuran 48x48 pixel. Data yang diambil dikategorikan dalam empat kategori, yaitu marah, bahagia /senang, sedih dan terkejut, seperti yang dapat dilihat pada gambar 4.5, 4.6, 4.7 dan4.8.

Gambar 4.5.Data image eskpresi marah

(47)

34

Gambar 4.6.Data image ekspresi bahagia / senang

Gambar 4.7.Data image ekspresi sedih

(48)

Gambar 4.8.Data image ekspresi terkejut 4.2. Prosedur Operasional

Tampilan sistem terdiri dari halaman Home, About, Training, dan Testing. Halaman berandaberisinavigasiuntukmelanjutkankehalamanberikutnya,yaitu button Learn More untuk menuju halaman About seperti pada gambar4.9.

Gambar 4.9.Tampilan Halaman Home

Tampilan halaman About seperti yang dapat dilihat pada gambar 4.10 memberikan sekilas informasi mengenai pengenalan ekspresi, seperti pengertian dan jenis ekspresi yang dikenali.

(49)

36

Gambar 4.10.Tampilan Halaman About

Halaman Training terdiri dari path menuju lokasi file-file image yang akan dilatih menggunakan CNN. Lokasi default file image yang digunakan dalam training pada sistem adalah C:\Users\Image Processing Lab\PycharmProjects\coba\images, dimana di dalamnya terdapat folder train dan validation yang berisikan file-file image yang sudah dikelompokkan dalam foldernya masing-masing seperti pada gambar 4.11.

Gambar 4.11.Tampilan Halaman Training

Setelah melalui proses training, model CNN yang sudah dilatih akan disimpan dan hasil training dapat dilihat di bawah button Train Image seperti pada gambar 4.12.

(50)

Gambar 4.12.Tampilan Hasil Training

Tiap hasil dapat dilihat dengan lebih jelas dengan melakukan klik pada gambar hasil training dan pengguna akan diarahkan menuju pop-up yang berisi gambar hasil training yang lebih jelas seperti pada gambar 4.13.

Gambar 4. 13. Tampilan Hasil Training yang diperjelas

Pada halaman Testing, pengguna akan diminta untuk menguji sistem dengan memberikan sebuha citra ekspresi wajah yang belum dilatih seperti pada gambar 4.14 dan 4.15.

(51)

38

Gambar 4.14.Tampilan Testing single image

Gambar 4.15.Input citra ekspresi untuk menguji system

Gambar 4.16.Hasil pengujian citra ekspresi wajah

Seperti yang dapat dilihat pada gambar 4.15, file citra ekspresi wajah yang diuji akan ditampilkan kembali ke sistem beserta dengan hasil presentasi klasifikasinya.

(52)

4.3. Hasil Pengolahan Citra Sistem

Pada bagian ini akan dijelaskan hasil yang telah diperoleh dari tahap pengolahan citra.

Hasil yang didapat terdiri dari resize dan grayscale. Hasil dari tahap pengolahan citra dapat dilihat pada table 4.1

Tabel 4.1. Hasil Pengolahan Citra

Citra Awal Resize Grayscale

(53)

40

4.4. Pengujian Sistem

Pada tahap ini dilakukan pengujian terhadap data dan sistem. Pengujian data dilakukan pada 467 citra ekspresi marah, 895 citra ekspresi bahagia / senang, 653 citra ekspresi sedih, dan 415 citra ekspresi terkejut dengan menggunakan data training 3,995 citra ekspresi marah, 7,215 citra ekspresi bahagia / senang, 4,830 citra ekspresi sedih, dan 3,171 citra ekspresi terkejut.

Pengujian dilakukan dengan menggunakan parameter nilai epoch sebanyak 50 dan 100, Learning Rate = 0.001, output layer = 4, mengganti nilai batch size, optimizer, dan jumlah convolutional layer. Nilai batch size yang digunakan adalah 32 dan 128.

Optimizer yang diuji adalah Adam, SGD (Stochastic Gradient Descent), dan RMSprop.

Jumlah convolutional layer yang diuji adalah 2 dan 4 layer. Hasil dari pengujian dapat dilihat pada gambar 4.17.

Gambar 4.17.Hasil Percobaan 1

Berdasarkan hasil pengujian pertama seperti yang ditunjukkan grafik hasil pelatihan pemilihan parameter diatas, hasil akurasi yang dicapai masih kurang baik karena hanya menggunakan dua convolutional layer.

Training 32,epoch 50

Parameter epoch 50

Percobaan 1:

Akurasi ( % )

(54)

Pada hasil percobaan ini juga terjadi overfitting, yang disebabkan karena jumlah data latih dan data validasi tidak cukup banyak, sehingga mempengaruhi tingkat akurasi, dimana hasil akurasi data latih jauh lebih tinggi dibanding data uji. Oleh karena itu, penulis melakukan percobaan kedua yaitu melakukan data augmentation pada pengujian model dengan 4 convolutional layer dan mengurangi learning rate selama proses traning. Contoh data asli dan data hasil augmentation ditunjukkan pada gambar 4.18 dan 4.19

Gambar 4.18.Contoh data asli

Gambar 4.19.Contoh data augmentation

Data augmentation adalah teknik melakukan transformasi pada gambar dan menggunakan data asli dan data yang sudah ditransformasi sebagai data latih.Pada gambar diatas, dapat dilihat contoh data augmentation pada salah satu data ekspresi marah. Data yang ditransformasi sebenarnya adalah data yang sama, sehingga komputer dapat belajar, bahwa gambar tersebut tetap gambar ekspresi marah, dilihat dari sudut manapun. Dengan melakukan data augmentation, model yang dibangun dapat mengenali data gambar dalam jumlah besar sehingga lebih efisien.

(55)

42

Gambar 4.20. Hasil Percobaan 2

Berdasarkan Hasil pengujian kedua seperti yang ditunjukkan grafik hasil pelatihan pemilihan parameter diatas, nilai batch size 128, optimizer Adam, dengan model 4 convolutional layer yang memiliki 256 neuron dan epoch 200 mendapatkan akurasi yang lebih tinggi dibandingkan penggunaan parameter yang lain, yaitu 80%.

Pada percobaan dengan epoch 300, akurasi sistem menurun menjadi 71%, karena nilai learning rate berkurang selama proses training, sehingga akurasi tertinggi dicapai hanya pada saat nilai epoch 200.

Hasil pengujian dengan model terbaik dari percobaan diatas dapat dilihat pada tabel 4.2. label pada kolom tabel menunjukkan label yang terklasifikasi, sedangkan label pada baris tabel menunjukkan label ekspresi yang sebenarnya. Ekspresi marah yang terklasifikasi sebagai marah ada 1200, ekspresi senang 390, ekspresi sedih 75 data.

Ekspresi senang yang terklasifikasi sebagai senang ada 2900, ekspresi marah 150, eskpresi sedih 170, ekspresi terkejut 100 data. Ekspresi sedih yang terklasifikasi sebagai ekspresi sedih ada 1800, ekspresi marah 380, ekspresi senang 170, ekspresi terkejut 100 data. Ekspresi terkejut yang terklasifikasi sebagai ekspresi terkejut ada 1300, ekspresi marah 58, ekspresi senang 84, ekspresi sedih 80 data.

Training

32,epoch 100 128, epoch 200 Parameter epoch 100

Akurasi ( % )

(56)

Tabel 4.2. Hasil pengujian model

Angry Happy Sad Surprise

Angry 1200 110 390 75

Happy 150 2900 170 100

Sad 380 170 1800 100

Surprise 58 84 80 1300

Dari tabel 4.2, dapat diperoleh nilai True Positive (TP), False Positive (FP) dan False Negative (FN). Nilai TP, FP, dan FN dapat dilihat pada table 4.3.

Tabel 4.3. Nilai TP, FP dan FN dari ekspresi yang dikenali

TP FP FN

Angry 1200 588 575

Happy 2900 364 420

Sad 1800 640 650

Surprise 1300 275 222

Total 7200 1867 1867

Dari tabel 4.3, dapat diperoleh precision dan recall dari ekspresi wajah yang dikenali.

Angry Recall

= TP

(TP + FN) × 100%

= 1200

(1200 + 575)× 100% = 1200

1775 × 100%

= 0,68 × 100 % = 68 % Precision

= TP

(TP + FP) × 100%

= 1200

(1200 + 588) × 100 % = 1200

1788 × 100%

= 0,67 × 100% = 67 % Happy

Recall

= TP

(TP + FN) × 100%

(57)

44

= 2900

(2900 + 420)× 100% = 2900

3320 × 100%

= 0,88 × 100 % = 88 % Precision

= TP

(TP + FP) × 100%

= 2900

(2900 + 364) × 100 % = 2900

3264 × 100%

= 0,89 × 100% = 89 %

Sad Recall

= TP

(TP + FN) × 100%

= 1800

(1800 + 650)× 100% = 1800

2450 × 100%

= 0,73 × 100 % = 73 % Precision

= TP

(TP + FP) × 100%

= 1800

(1800 + 640) × 100 % = 1800

2440 × 100%

= 0,74 × 100% = 74 %

Surprise Recall

= TP

(TP + FN) × 100%

= 1300

(1300 + 222)× 100% = 1300

1522 × 100%

= 0,85 × 100 % = 85 % Precision

= TP

(TP + FP) × 100%

= 1300

(1300 + 275) × 100 % = 1300

1575 × 100%

Overall Precision dan Recall Recall

= TP

(TP + FN) × 100%

(58)

= 7200

(7200 + 1867)× 100% = 7200

9067 × 100%

= 0,8 × 100 % = 80 % Precision

= TP

(TP + FP) × 100%

= 7200

(7200 + 1867) × 100 % = 7200

9067 × 100%

= 0,8 × 100% = 80 %

Dengan menggunakan model ini, dilakukan pengujian menggunakan 100 citra acak dengan format citra, ukuran, dan mode yang berbeda - beda. Hasil pengujian yang telah dilakukan dapat dilihat pada tabel 4.4.

Tabel 4.4. Data Hasil Pengujian

No Label asli Citra Output

1 Happy Happy

2 Angry Angry

3 Happy Happy

4 Sad Sad

5 Happy Happy

(59)

46

Tabel 4.4.Hasil Pengujian (Lanjutan)

No Label asli Citra Output

6 Sad Angry

7 Sad Sad

8 Surprise Surprise

9 Happy Happy

10 Sad Sad

. . .

100 Angry Happy

(60)

Berdasarkan hasil uji yang telah dilakukan pada sistem pengenalan ekspresi wajah menggunakan Convolutional Neural Network, dapat diperoleh nilai akurasi dengan rata-rata 80% setelah melalui proses pelatihan selama rata-rata 10 detik/epoch, sehingga memakan waktu 33 menit 18 detik untuk melatih sebanyak 200 epoch.

𝑃𝑒𝑟𝑠𝑒𝑛𝑡𝑎𝑠𝑖 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑗𝑢𝑚𝑙𝑎ℎ 𝑐𝑖𝑡𝑟𝑎 𝑡𝑒𝑠𝑡𝑖𝑛𝑔 𝑏𝑒𝑛𝑎𝑟

𝑗𝑢𝑚𝑙𝑎ℎ 𝑠𝑒𝑙𝑢𝑟𝑢ℎ 𝑐𝑖𝑡𝑟𝑎 𝑡𝑒𝑠𝑡𝑖𝑛𝑔 × 100%

= 80

100 × 100%

= 𝟖𝟎%

Gambar

Gambar 2.2.Model sebuah neuron  (Sena, 2017)
Gambar 2.4.Arsitektur Convolutional Neural Network (Peng, et al, 2017)  Dari gambar 2.4
Gambar 2.6.Proses Konvolusi dengan 2 filter untuk menghasilkan Feature Map /  Activation map
Gambar 2.7 Activation Map  (Dharmadi, 2018)
+7

Referensi

Dokumen terkait

Sehingga, pada penelitian ini akan dikembangkan pengenalan Bahasa Isyarat Indonesia (BISINDO) ke teks dengan menggunakan metode Convolutional Neural Network.. CNN

Pada penelitian ini dibuat sistem analisa akurasi performa pengenalan tulisan tangan angka menggunakan metode Convolutional Neural Network atau yang dikenal dengan

Menurut (Ramadhan & Hermawan, 2018), penelitiannya berjudul Pengenalan Pola Citra Tulisan Aksara Sunda dengan Metode Convolutional Neural Network, dan hasilnya

Bab ini akan membahas hasil dari implementasi metode CNN (Convolutional Neural Network) untuk identifikasi penyakit melanoma melalui citra dermoscopy dan pengujian sistem

Bab ini akan membahas hasil dari implementasi metode convolutional neural network (CNN) dalam identifikasi jenis mobil berdasarkan bentuk dan pengujian sistem sesuai

Menurut (Ramadhan & Hermawan, 2018), penelitiannya berjudul Pengenalan Pola Citra Tulisan Aksara Sunda dengan Metode Convolutional Neural Network, dan hasilnya

Setelah proses metode CNN, maka langkah selanjutnya adalah penyimpan data hasil dari metode CNN yang terdiri dari data Training dan data testing.untuk mendapatkan nilai pengenalan pola

KESIMPULAN Kesimpulan yang dapat diambil dari penelitian ini adalah Metode Convolutional Neural Network dapat mengenali wajah meskipun dalam keadaan gelap, pada saat diterapkan pada