Application of Convolution Neural Networks Method to Identify Fatigue Faces
on
JNATIA Volume 1, Nomor 1, November 2022
Jurnal Nasional Teknologi Informasi dan Aplikasinya
PENERAPAN METODE CONVOLUTION NEURAL NETWORKS UNTUK MENGIDENTIFIKASI WAJAH KELELAHAN
Paulus Mbaba, Khaerul Anwar, Yusrianto, Sri Rahayua1, AAIN Eka Kartawati a2,
Program Studi Informatika, Fakultas Matematika dan Ilmu Pengetahuan AlamUniversitas Udayana Bali, Indonesia
1paulusmbaba75@gmail.com, rianyusri13@gmail.com, khaerulanwar2104@gmail.com 2 eka.karyawati@unud.ac.id
Abstract
Toll roads are public roads whose use is subject to tariffs. Accidents on toll roads are mostly caused by drivers who are tired or sleepy while driving. Fatigue or drowsiness usually often occurs because of long trips, lack of rest, and many other causes of fatigue or drowsiness. Therefore, we need a solution, namely by making a breakthrough entitled " (Detection of Fatigue or Sleepy Faces)".is a website application-based technology that can detect or scan the faces of tired or sleepy drivers using the Convolutional Neural Network (CNN) algorithm, 50 epochs and 97% accuracy metrics.
Keywords : Jalan Tol, Convolutional Neural Network, Computer Vision.
Kelelahan (fatigue) adalah suatu kondisi yang telah dikenal dalamkehidupan sehari-hari. Istilah kelelahan mengarah pada kondisi melemahnyatenaga untuk melakukan suatu kegiatan, walaupun ini bukan satu-satunya gejala.Secara umum, gejala kelelahan yang lebih dekat adalah pada pengertian kelelahanfisik (physical fatigue) dan kelelahan mental (mental fatigue). Kelelahan dapatdibedakan menjadi dua macam yaitu kelelahan otot (muscular fatigue) dankelelahan umum (general fatigue) (Budiono, 2003). Menurut Suma’mur (2009), kata lelah (fatigue) menunjukkan keadaantubuh fisik dan mental yang berbeda tetapi semuanya berakibat kepada penurunandaya kerja dan berkurangnya ketahanan tubuh untuk bekerja.
Salah satu penyebab kelelahan yang lebih jelas adalah mengantuk. Tubuh melakukan banyak hal saat tidur, termasuk menyimpan memori dan melepaskan hormon yang mengatur tingkat metabolisme dan energi. Kelelahan fisik seperti ini sering dialami pengguna jalan khusunya pengemudi jalan tol. Keadaan ini dapat menyebabkan kecelakaan lalu lintas sehingga diperlukan cara untuk mendeteksi keadaan kelelahan seorang pengemudi. Oleh karena itu penelitian ini melakukan identifikasi terhadap wajah pengemudi berdasarkan keadaan wajah menggunakan algoritma Convolution Neural Network.
Convolution Neural Network beberapa kali telah digunakan dalam klasifikasi citra yaitu penenlitian yang dilakukan oleh Rohim dkk menegenai klasifikasi citra makanan tradisional mendapatkan nilai loss value terkecil dengan nilai 0.000044 pada epoch ke 15 saat proses pembelajaran dan mendapatkan nilai 73% presisi, 69% recall dan 69% Fscore [4]. Kemudian penelitian yang dilakukan oleh Safira Tiara tentang klasifikasi tomat berdasarkan hasil pengujian dengan sampel 100 citra tomat menunjukkan tingkat
akurasi sebesar 90%[5]. Berdasarkan penenlitian sebelumnya menunjukkan bahwa Convolutional Neural Network baik dalam klasifikasi citra.
Proses dataset merupakan proses pencarian dataset berupa gambar tentang wajah mengantuk dan wajah tidak mengantuk. Pencarian dataset ini melalui website Kaggle melalui tauatan https://www.kaggle.com/datasets/davidvazquezcic/yawn-dataset . Dataset terdiri dari 2591 gambar yang terbagi ke dalam dua kelas yaitu yawn (wajah mengantuk) dan no yawn (wajah tidak mengantuk).
2.2.
Alur Sistem
Dalam melakukan klasifikasi gambar terdapat 2 tahapan yang harus dilakukan yaitu preprocessing data, klasifikasi menggunakan algoritma Convolution Neural Networks dan pengukuran akurasi dengan menggunakan confusion matrix. Alur sistem bisa dilihat pada Gambar 1.
Gambar 1. Alur Sistem
-
2.3. Pre-processing Data
Setelah mendapatkan dataset, selanjutnya dilakukan proses pemilihan data karena dataset yang diperoleh terbagi kedalam dua. Proses pemilihan data dilakukan dengan memilih gambar mata terbuka dan mulut tidak mengantuk sebagai kelas normal, gambar dengan mata terbuka dan mulut mengantuk sebagai kelas lelah, gambar dengan mata tertutup dan mulut mengantuk sebagai kelas sangat lelah. Serta melakukan croping untuk
mendapatkan gambar hanya bagian wajah. Selanjutnya data dipisahkan kedalam folder berdasarkan kelas data. Proses ini mengasilkan 1350 dataset yang terbagi menjadi 450 dataset dengan label normal, 450 lelah dan 450 sangat lelah.
Convolutional Neural Network (CNN) adalah salah satu algoritma dari Deep Learning yang merupakan pengembangan dari Multi Layer Perceptron (MLP) yang dirancang untuk mengolah data dalam bentuk grid, salah satunya citra dua dimensi, misalnya gambar atau suara. Convolutional Neural Network digunkaan untuk mengklasifikasikan data yang terlabel dengan menggunakan metode supervised learning, yang mana cara kerja dari supervised learning adalah terdapat data yang dilatih dan terdapat variabel yang ditargetkan sehingga tujuan dari metode ini adalah mengelompokan suatu data ke data yang sudah ada. CNN sering digunkan untuk mengenali benda atau pemandangan, dan melakukan deteksi dan segmentasi objek[2].
Algoritma Convolutional Neural Network (CNN) pada penelitian ini dimaksudkan untuk mengklasifikasi citra wajah. Berbeda dengan algoritma klasifikasi biasa, jika pada algoritma klasifikasi biasanya melakukan proses ekstraksi fitur dan klasifikasi secara terpisah maka model algoritma dari cabang bidang deep learning ini akan mengekstraksi fitur lalu mengklasifikasi citra dalam satu proses. Dengan kata lain, ekstraksi fitur pada algoritma CNN juga ikut me-learning[1].
Convolution layer merupakan lapisan utama yang paling penting untuk digunakan. Konvolusi merupakan suatu istilah matematis yang dalam pengolahan citra berarti mengaplikasikan sebuah kernel (kotak kuning) pada citra disemua offset yang memungkinkan seperti ditunjukkan pada gambar 2, sedangkan kotak berwarna hijau secara keseluruhan merupakan citra yang akan dikonvolusi. Kernel (kotak kuning) bergerak dari sudut kiri atas ke kanan bawah. Sehingga hasil konvolusi dari citra tersebut dapat dilihat pada gambar disebelah kanannya[2].
-
Gambar 2. Proses Convolution Layer
Tujuan Concolution pada data citra adalah untuk mengekstraksi fitur dari citra input. Konvolusi akan menghasilkan transformasi linear dari data input sesuai informasi spasial pada data. Bobot pada layer tersebut menspesifikasikan kernel konvolusi yang digunakan, sehingga kernel konvolusi dapat dilatih berdasarkan input pada CNN[2].
Pooling Layer merupakan lapisan yang menggunakan fungsi dengan feature map sebagai masukan dan mengolahnya dengan berbagai macam operasi statistik berdasarkan nilai piksel terdekat. Pooling layer pada model CNN biasanya disisipkan secara teratur setelah beberapa convolution layer. Pooling layer yang dimasukkan di antara lapisan konvolusi secara berturut-turut dalam arsitektur model Convolutional Neural Network dapat secara progresif mengurangi ukuran volume output pada feature map, sehingga jumlah parameter dan perhitungan di jaringan berkurang, serta untuk mengendalikan overfitting. Pooling layer digunakan
untuk mengambil nilai maksimal (max-pooling) atau nilai rata-rata (average pooling) dari bagian-bagian piksel pada citra[2].
Fully connected layer merupakan lapisan dimana semua neuron aktivasi dari lapisan sebelumnya terhubung semua dengan neuron di lapisan selanjutnya. Fully connected layer biasanya digunakan dalam penerapan Multi Layer Perceptron (MLP) dan bertujuan untuk melakukan transformasi pada dimensi data agar dapat diklasifikasikan secara linear[2].
Proses training merupakan tahapan dimana CNN dilatih untuk memperoleh akurasi yang tinggi dari klasifikasi yang dilakukan. Tahapan ini terdiri dari proses feed forward dan proses backpropagation. Untuk memulai proses feedforward diperlukan jumlah dan ukuran layer yang akan dibentuk, ukuran subsampling, citra vektor akan melalui proses konvolusi dan Max pooling untuk mereduksi ukuran citranya dan memperbanyak neuronnya. Sehingga terbentuk banyak jaringan yang mana menambah variant data untuk dipelajari[6].
Proses feed forward merupakan tahap pertama dalam proses training. Proses ini akan menghasilkan beberapa lapisan untuk mengklasifikasi data citra yang mana menggunakan bobot dan bias yang telah diperbarui dari proses backpropagation. Tahap ini juga akan digunakan kembali saat proses testing[6].
Proses backpropagation merupakan tahap kedua dari proses training. Pada tahap ini hasil proses dari feed forward di-trace kesalahannya dari lapisan output sampai lapisan
pertama. Untuk menandai bahwa data tersebut telah di-trace diperoleh bobot dan bias yang baru[6]. Berikut Alur pelatihan arsitektur Convolutional Neural Network.
Gambar 3. Alur Pelatihan Arsitektur CNN
Penentuan baik atau tidaknya performa suatu model klasifikasi dapat dilihat dari parameter pengukuran performanya, yaitu tingkat akurasi, recall, dan presisi. Untuk menghitung faktor-faktor tersebut diperlukan sebuah matrik yang biasa disebut confusion matriks[3].
Tabel 1. Confusion Matrix
Positi f |
Negati | |
Positif |
TP |
FP |
Negati |
FN |
TN |
Keterangan :
TP = True Positive
FP = Flase Positif
FN = False Negaitf
TN = True Negatif
Akurasi =
TP+TN
TP+TN+FN+FP
Pengujian pada artikel ini dilakukan pada 1350 data citra yang terdiri dari 450 citra adalah kategori normal, 450 citra kategori lelah, 450 citra kategori sangat lelah. Proses evaluasi
merupakan proses klasifikasi menggunakan bobot dan bias dari hasil proses training. Proses ini
tidak jauh berbeda dengan proses training yang membedakannya tidak terdapat proses
backpropagation setelah proses feedforward. Sehingga hasil akhir dari proses ini menghasilkan
akurasi dari klasifikasi yang dilakukan, data yang gagal diklasifikasi, nomor citra yang gagal
diklasifikasi, dan bentuk network yang terbentuk dari proses feedforward. Dengan bobot dan
bias yang baru proses feedforward diterapkan yang kemudian menghasilkan lapisan output.
Lapisan output sudah fully connected dengan label yang disediakan. Hasil fully connected tersebut diperoleh data yang gagal dan berhasil diklasifikasi[6].
3.
4.
Hasil dan pembahasan
Hasil evaluasi menunjukkan bahwa algoritma Convolution Neural Networks menghasilkan akurasi 97%. Pada dataset sebanyak 1350 data dengan persebaran data tiap kelasnya yaitu 450 data untuk kelas normal, 450 data untuk kelas lelah, 450 data untuk kelas sangat lelah. Berikut hasil pengujian pada gambar 3.
32/32 [==============================] - 6s 175ms∕step - loss: 0.0771 - accuracy: 0.9674 [ 1 Epoch 47/50
P+ 32/32 [=============================] - 6s 176ms∕step - loss: 0.0547 - accuracy: 0.9792 L Epoch 48/50
32/32 [=≈≡≡===≡≡≡≡≡==≡≡≡===≡≡====≡≡≡≡] - 6s 174ms∕step - loss: 0.0890 - accuracy: 0.9683
Epoch 49/50
32/32 [==============================] - 6s 176ms∕step - loss: 0.0604 - accuracy: 0.9753
Epoch 50/50
32/32 [==============================] - 6s 178ms∕step - loss: 0.0578 - accuracy: 0.9733
-
Gambar 3. Akurasi Pengujian
Kesimpulan
Dalam melakukan klasifikasi citra penulis menggunakan metode Convolution Neural Network, dengan melakukan beberapa tahapan yaitu pengelompokkan ulang gambar,
cropping dan klasifikasi. Pengujian sistem dilakukan menggunakan confusion matrix mendapatkan akurasi sebesar 97,33%.
-
[1] Febian Fitra Maulana , Naim Rochmawati, “Klasifikasi Citra Buah Menggunakan Convolutional Neural Network”, Journal of Informatics and Computer Science Volume 01 Nomor 02, 2019
-
[2] Tutut Furi Kusumaningrum. “Universitas Islam Indonesia”. [online]. Avalaible : https://dspace.uii.ac.id/handle/123456789/7781. [accesed 3 Oktober 2022]
-
[3] Triano Nurhikmat. “Universitas Islam Indonesia”. [online]. Avalaible : https://dspace.uii.ac.id/handle/123456789/7843. [accesed 3 Oktober 2022]
-
[4] Akhmad Rohim, Yuita Arum Sari, Tibyani, “Convolution Neural Network(CNN) Untuk Pengklasifikasian Citra Makanan Tradisional”, Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 3, No. 7, Juli 2019, hlm. 7037-7042
-
[5] Tiara Safira. “Universitas Islam Indonesia”. [online]. Avalaible : http://hdl.handle.net/123456789/6345. [accesed 3 Oktober 2022]
-
[6] I Wayan Suartika E. P, Arya Yudhi Wijaya, dan Rully Soelaiman, “Klasifikasi Citra Menggunakan Convolutional Neural Network (Cnn) pada Caltech 101”, JURNAL TEKNIK ITS Vol. 5, No. 1, (2016).
halaman ini sengaja dibiarkan kosong
114
Discussion and feedback