• Tidak ada hasil yang ditemukan

Klasifikasi Pengenalan Wajah Siswa Pada Sistem Kehadiran dengan Menggunakan Metode Convolutional Neural Network

N/A
N/A
Nguyễn Gia Hào

Academic year: 2023

Membagikan "Klasifikasi Pengenalan Wajah Siswa Pada Sistem Kehadiran dengan Menggunakan Metode Convolutional Neural Network"

Copied!
11
0
0

Teks penuh

(1)

Klasifikasi Pengenalan Wajah Siswa Pada Sistem Kehadiran dengan Menggunakan Metode Convolutional Neural Network

Henri Kurniawan, Kusrini, Kusnawi*

Pascasarjana, Magister Teknik Informatika, Universitas Amikom, Yogyakarta, Indonesia Email: 1[email protected], 2[email protected],3,*[email protected]

Email Penulis Korespondensi: [email protected]

Abstrak−Sistem kehadiran siswa berguna untuk memonitor kehadiran siswa. Teknologi yang ada saat ini yaitu teknologi yang mampu mendeteksi sebuah objek, seperti sidik jari, suara, retina mata, dan wajah. Penulis akan membuat model yang dapat dilakukan untuk mendeteksi wajah siswa. Pada penelitian ini penulis menggunakan algoritma Convolutional Neural Network (CNN) yang dimodifikasi. Kompleksitas CNN yang dirancang menyesuaikan dengan spesifikasi hardware dan software yang digunakan. Data wajah diambil secara langsung pada siswa yang ada dikelas (dataset private). Perekaman wajah siswa dengan menggunakan kamera webcam kualitas standar. Gambar yang dihasilkan setiap siswa sebanyak 126 gambar dengan jumlah kelas sebanyak 20 kelas(label). Pengambilan gambar dengan berbagai sudut wajah yaitu dari atas, bawah, depan, samping kiri dan samping kanan. Teknik augmentasi yang digunakan yaitu teknik flip, random rotation dan affineuntuk memperkaya data.

Teknik regularisasi, seperti dropout juga digunakan. Hal ini agar dapat meningkatkan akurasi, kecepatan pelatihan model dan menghindari terjadinya overfitting pada model yang dibangun. Hasil evaluasi dengan confusion matrix pada algoritma Convolutional Neural Network (CNN) modifikasi menghasilkan proses pelatihan model yang lebih cepat dengan waktu 5.31 jam dan akurasi mencapai 97.78%, nilai loss stabil pada angka 0.1177, validasi loss dengan angka 0.0192 dengan iterasi(epoch) 60. Model yang dihasilkan dapat direkomendasikan untuk diterapkan pada sistem kehadiran siswa.

Kata Kunci: Pengenalan Wajah Siswa; Sistem Kehadiran; Convolutional Neural Network Modifikasi; Augmentasi Data;

Confusion Matrix

Abstract−The student attendance system is useful for monitoring student attendance. The current technology is technology capable of detecting an object, such as fingerprints, voice, eye retinas, and faces. The author will create a model that can be used to detect student faces. In this study the authors used a modified Convolutional Neural Network (CNN) algorithm. The complexity of the CNN designed is in accordance with the specifications of the hardware and software used. Face data is taken directly from students in class (private dataset). Recording of students' faces using a standard quality webcam camera. The images produced by each student are 126 images with a total of 20 classes (labels). Taking pictures with various angles of the face, namely from above, below, front, left side and right side. The augmentation techniques used are flip, random rotation and affine techniques to enrich the data. Regularization techniques, such as dropout are also used. This is in order to increase accuracy, speed of model training and avoid overfitting of the built model. The evaluation results with the confusion matrix on the modified Convolutional Neural Network (CNN) algorithm produce a faster model training process with 5.31 hours and accuracy reaching 97.78%, the loss value is stable at 0.1177, loss validation with the number 0.0192, with as many iterations (epochs) as 60. The resulting model will be developed on a prototype of the student attendance system.

Keywords: Student Face Recognition; Attendance System; Modified Convolutional Neural Network; Data Augmentation;

Confusion Matrix

1. PENDAHULUAN

Teknologi informasi berkembang sangat pesat saat ini, seperti perkembangan teknologi AI (Artificial Intelligence), machine learning, data science, deep learning, dan teknologi komputer vision serta kecanggihan perangkat hardware komputer. Sofware dan hardware yang ada saat ini dapat mengolah data dalam jumlah yang sangat besar termasuk mengolah citra gambar menjadi informasi. Sekolah sangat membutuhkan sistem absensi digital yang akan digunakan untuk mengecek kehadiran siswa saat masuk dan pulang. Banyak teknologi biometrik yang dapat digunakan seperti sidik jari, deteksi wajah, deteksi mata maupun yang sederhana menggunakan barcode. Saat ini penulis akan menggunakan teknologi pengenalan wajah untuk membuat prototipe sistem kehadiran siswa. Namun teknologi ini butuh perangkat keras yang cukup handal dalam mengolah citra wajah. Selain itu model yang dibentuk hasil dari algortima CNN akan akurat jika gambar yang dilatih cukup banyak. Pentingnya penelitian ini dilakukan karena sistem absensi yang ada saat ini masih dilakukan secara manual lalu direkap dengan komputer hal ini menyebabkan informasi yang dihasilkan sangat lambat, sehingga perlu dibuat prototipe sistem kehadiran siswa yang dapat melakukan pendeteksian wajah siswa saat masuk dan pulang sekolah sehingga informasi yang dihasilkan sangat cepat serta proses pengolahan data dapat dilakukan secara otomatis oleh sistem. Hal ini dapat meminimalisir kesalahan manusia.

Pada penelitian ini akan menggunakan data gambar internal sekolah yaitu kumpulan data wajah siswa (Dataset private). Subjek penelitian nya adalah siswa SMPN 6 Batam, dan objek nya adalah data gambar wajah siswa. Resolusi gambar yang akan diambil ukuran 250x250 pixel dengan jumlah kelas/objek sebanyak 20. Setiap kelas berjumlah 126 gambar wajah yang berbeda. Teknik augmentasi juga akan diterapkan untuk memperkaya gambar. Algoritma convolutional neural network (CNN) yang dimodifikasi akan digunakan untuk menghasilkan model. Akurasi model yang tinggi didapatkan jika data gambar wajah yang digunakan berjumlah banyak.

Penelitian-penelitian sebelumnya banyak menggunakan data gambar yang tersebar di internet (dataset publik).

(2)

Penelitian tentang CNN dalam pengolahan citra, penggunaan tekni augmentasi sudah banyak dilakukan oleh peneliti-peneliti sebelumnya.

Proses augmentasi sangat berguna dalam menambah jumlah data citra agar model yang terbentuk tidak terjadi overfiting [1]. Tujuan dan cara melakukan augmentasi seperti penelitian yang dilakukan oleh peneliti sebelumnya bahwa proses augmentasi data berbasis citra bertujuan untuk melakukan transformasi data, yang akan menghasilkan peningkatan spesifikasi masalah yang akan digunakan untuk melatih jaringan untuk mencapai generalisasi.

Pada penelitian jenis ikan air tawar lokal [2] dengan jumlah dataset yang sedikit sehingga perlu dilakukan proses augmentasi. Augmentasi [3], [4] data dilakukan untuk memperbesar ukuran data. Berbagai operasi tersedia untuk augmentasi data yaitu cropping, rotasi, zooming, peningkatan kontras, dan memperparah ruang warna.

Perbedaan dengan penelitian yang akan dilakukan yaitu pada penelitian ini akan menggunakan dataset gambar wajah dalam jumlah yang besar yaitu 126 gambar wajah setiap kelas, kemudian setiap gambar akan dilakukan proses augmentasi sehingga satu gambar wajah akan menjadi 20 gambar. Selain itu kelas yang digunakan sebanyak 20 kelas. Proses augmentasi data gambar sangat diperlukan untuk menambah jumlah data gambar secara signifikan dan juga dapat membuat gambar menjadi beraneka ragam bentuk, sudut dan cahaya. Teknik augmentasi yang akan diterapkan pada penelitian ini menggunakan teknik flip, random rotation dan Affine.

Dalam penelitian lain [5] tentang metode pengenalan emosi wajah dengan mengusulkan metode baru algoritma convolutional neural network (CNN), model yang diusulkan mampu melakukan pengenalan gambar rata-rata 88,56% dengan iterasi yang lebih sedikit. Namun model yang dikembangkan tidak diujicoba pada dataset private, model tersebut di uji pada dataset publik. Pengembangan model yang dilakukan peneliti sebelumnya juga cukup baik dalam meningkatkan performa model. Penulis pada penelitian ini juga akan melakukan pengembangan model sendiri untuk dapat meminimalkan kompleksitas model dan akan menguunakan dataset private dalam proses training. Model tersebut juga tidak membutuhkan waktu training data yang lama serta spesifikasi perangkat keras yang digunakan juga tidak perlu terlalu tinggi. Namun diharapkan tetap menghasilkan performasi model yang baik.

Penelitian tentang pengenalan wajah juga telah dilakukan [6] untuk mengembangkan sistem kehadiran dengan video secara nyata. Data eksperimen pada penelitian tersebut menunjukkan bahwa tingkat akurasi sistem pengenalan wajah dengan menggunakan video secara nyata mencapai 82%. Pengenalan wajah adalah inti dari keseluruhan proses pengenalan. Pengenalan wajah menggunakan teknologi visi komputer yang menganalisis informasi fitur wajah untuk identifikasi identitas dan merupakan teknologi identifikasi biometrik[7].

Penelitian sebelumnya [8] dengan melakukan penelitian tentang penyakit covid-19 dengan cara memeriksa gambar paru-paru yang terinfeksi atau tidak, berhasil mencapai hasil akurasi terbaik dengan menggunakan teknik convolutional neural network (CNN). Neural network seperti convolution neural network digunakan untuk klasifikasi gambar. Deteksi wajah [9] merupakan dasar dalam bidang computer vision dan pengenalan pola, serta merupakan langkah mendasar dari penelitian terkait wajah. Penelitian sebelumnya juga telah [10] mengeksploitasi algoritma visi komputer and deep convolutional neural networks untuk mendeteksi, melacak, dan mengenali, secara real-time, berbagai orang yang ada di dalam sebuah video.

Penelitian sebelumnya [11] menerapkan algoritma yang disebut Convolutional Neural Network (CNN) [12]

. Penelitian tersebut melakukan pengenalan citra yang ada pada manusia. Algoritma ini terinspirasi dari sistem visual hewan. Realisasi sempurna sel saraf optik yang hanya merespons bidang reseptif dan bekerja dengan baik pada ekstraksi fitur gambar merupakan penerapan dari fungsi konvolusi.

Penelitian [13] tentang face recognition untuk akses pintu masuk pegawai bank menggunakan deep learning dengan metode CNN. Penelitian ini membuat sistem keamanan untuk akses pintu masuk pegawai bank dengan menggunakan pengenalan wajah. Penelitian ini menggunakan 5 kelas dataset wajah pegawai bank setiap kelas terdiri dari 70 data wajah dan ada 3 skenario dataset yang digunakan. Hasil dari pengujian ketiga dataset tersebut berhasil mengidentifikasi wajah yang ditangkap oleh kamera dengan persentase keakuratan 95%. Perbedaan penelitian ini dengan penelitian yang akan dilakukan adalah kelas yang digunakan lebih banyak terdiri dari 20 kelas, setiap kelas terdiri dari 126 data wajah.

Pada penelitian ini penulis menggunakan dataset private dari pengambilan data wajah siswa sebanyak 20 kelas dan setiap kelas mempunyai data gambar sebanyak 126 fhoto dan setiap fhoto akan dilakukan augmentasi sebanyak 20 fhoto. Sehingga total semua gambar adalah 126 x 20 x 20 = 52920 fhoto. Teknik augmentasi yang akan diterapkan pada penelitian ini menggunakan teknik flip, random rotation dan Affine. Selain itu juga menggunakan teknik regularisasi seperti dropout untuk menghindari terjadi overfitting. Evaluasi model akan menggunakan confusion matrix. Model yang dibentuk akan diterapkan pada prototipe sistem absensi siswa. Sistem dengan menggunakan model ini diharapkan dapat digunakan pada sistem aplikasi absensi secara nyata disekolah.

2. METODOLOGI PENELITIAN

2.1 Tahapan Penelitian.

Pada penelitian ini penulis melakukan beberapa tahapan-tahapan penelitian dimana tahap pertama penulis melakukan analisa dan validasi masalah yang akan diteliti kemudian melakukan studi literatur terkait dengan

(3)

penelitian terdahulu termasuk menentukan metode atau algoritma yang akan dipakai. Setelahnya peneliti akan mulai mengumpulkan data-data yang diperlukan, pada tahap ini penulis mengumpulkan data citra private fhoto wajah siswa. Data yang telah terkumpul akan mulai masuk kedalam tahap preprocessing data dimana dataset akan dibagai kedalam beberapa bagian diantaranya adalah dataset training (85%), dataset validasi (15%) diambil dari dataset training dan dataset testing (15%), data-data tersebut pada tahap ini akan dipakai untuk membuat model dengan algoritma convolutional neural network. Teknik augmentasi diterapkan untuk menghindari overfitting dan meningkatkan akurasi model [14] , setelah mendapatkan model yang mempunyai nilai akurasi tinggi penulis akan melakukan deployment model pada sistem absensi siswa berbasis web dan terakhir adalah mendokumentasikan hasil penelitian ini. Berikut flowchart alur metodologi penelitiannya:

Gambar 1. Tahapan Penelitian 2.2 Metode Pengumpulan Data

Data yang dibutuhkan untuk penelitian ini berupa gambar/citra wajah siswa. dengan ukuran 250x250 pixel, gambar/citra ini diambil dengan menggunakan kamera webcam dan menggunakan library Phyton OpenCVdata ini akan menjadi dataset private. Gambar tersebut akan dimasukan kedalam folder sesuai nama siswa. Setiap pengambilan gambar/citra akan menghasilkan sebanyak 126 gambar dengan posisi pengambilan gambar dari atas, bawah, depan, samping kiri dan samping kanan namun objek wajah tetap jadi titik fokus. Sehingga jumlah semua gambar/citra 20 label x 126 = 2.520 gambar/citra ini sebagai dataset. Alur pengumpulan data dapat dilihat pada gambar dibawah ini.

Gambar 2. Alur Pengumpulan Data Pengumpulan data dengan

menggunakan web kamera standar.

Kamera Laptop dengan mengunakan Library OpenCV (Python)

Preproccesing DataSet

Arsitektur CNN-1 + With Augmentasi + Dataset Private (224x224 pixels) + Grayscale + DropOut+ Epoch 20.

Proses Training Data

Model Evaluasi Kesimpulan Permasalahan

Studi Literatur Pengumpulan Data

Dataset

Preprocessing Data

Data testing (15%)

Data Training (85%),Data Validasi 15 % daridata Training

Penentuan Algoritma dan Metode

CNN-1

Penentuan Skenario

Arsitektur CNN-1 + with Augmentasi + Dataset Private (50x50 pixels) + Grayscale + Epoch 10, 40, 60, 80, 90,100

Arsitektur CNN-1 + with Augmentasi + Dataset Private (50x50 pixels) + Grayscale + DropOut+ Epoch 10, 40, 60, 80, 90,100

Arsitektur CNN-1 + Tanpa Augmentasi + Dataset Private (50x50 pixels) + Grayscale + Epoch 60

Arsitektur CNN-1 + Tanpa Augmentasi + Dataset Private (50x50 pixels) + Grayscale + DropOut+ Epoch 60

Arsitektur CNN-1 + Tanpa Augmentasi + Dataset Private (224x224 pixels) + Grayscale + DropOut+ Epoch 20.

(4)

2.3 Metode Convolutional Neural Network

Convolutional Neural Network, biasanya disingkat CNN atau CovNet, adalah salah satu kelas deep feed-forward artificial neural network yang banyak diaplikasikan pada analisisi citra. CNN terdiri atas satu lapis masukan (input layer)., suatu lapis keluaran (output layer), dan sejumlah lapis tersembunyi (hidden layers). Lapis tersembunyi umumnya berisi convolutional layers, pooling layers, normalization layers, ReLu layer, fully connected layers, dan loss layer [15]. Semua lapisan tersebut disusun secara bertumpuk-tumpuk. Berbeda dengan MLP yang arsitekturnya disusun secara dua dimensi, CNN menggunakan arsitektur tiga dimensi : lebar (width), tinggi (height), dan dalam (depth).

Gambar 3. Arsitektur CNN secara umum 2.3.1 Convolution Layer

Lapis konvolusional (convolutional layer) merupakan blok bangunan inti CNN, di mana sebagian besar komputasi dilakukan dilapisan ini. Misalkan, kita membangun sebuah convolutional layer dengan satu lembaran neuron yang berisi 28 x 28. Masing-masing terhubung dengan suatu area kecil dalam (citra) masukan, misalnya 5 x 5(pixel), yang merupakan bidang reseptif (receptive field) untuk setiap neuran dan menyatakan bahwa filter yang digunakan berukuran 5 x 5. Seperti diilustrasikan pada Gambar 4 dibawah ini [16].

Gambar 4. Convolutional layer dengan satu buah filter berukuran 5 x 5

Untuk mengetahui ukuran atau dimensi arsitektur CNN dengan menggunakan formula sebagai berikut

w1 x h1 x d1, (1)

di mana w1 dan h1 adalah lebar dan tinggi citra sedangkan d1 adalah jumlah kanal Red Green Blue RGB (dalam CNN disebut depth atau kedalaman citra masukan).

2.3.2 Pooling Layer

Pooling layer berfungsi menjaga ukuran data ketika convolution, yaitu dengan melakukan downsampling (pereduksian, sampel), seperti diilustrasikan pada Gambar 5 [16]. Dengan pooling, kita dapat merepresentasikan data menjadi lebih kecil, mudah dikelola, dan mudah mengontrol overfitting.

Gambar 5. Proses pooling dengan mereduksi dimensi data

Proses pooling yang umum digunakan adalah max pooling, dengan cara memilih nilai maksimum pada suatu area tertentu.

2.3.3 ReLU Layer

Rectified Linear Units (ReLU) Layer, lapisan ini mengaplikasikan fungsi aktivasi f(x) = max(0,x). Ini meningkatkan sifat nonlinearitas fungsi keputusan dan jaringan secara keseluruhan tanpa mempengaruhi bidang- bidang reseptif pada convolutional layer. Untuk meningkatkan nonlinearitas bisa menggunakan fungsi lain seperti tangen hiperbolik f(x)=tanh(x), f(x)=|tanh(x), atau f(x)=(1+e-x)-1

2.3.4 Fully Connected Layer

Pada lapisan yang terhubung secara penuh (Fully Connected Layer), setiap neurons memiliki koneksi penuh ke semua aktivasi dalam lapisan sebelumnya. Hal ini sama persis dengan yang ada pada MLP. Model aktivasinya pun sama persis dengan MLP, yaitu komputasi menggunakan suatu perkalian matriks yang diikuti dengan bias offset.

32 x 32 x 4 16 x 16 x 4

Pooling

(5)

2.3.5 Loss Layer

Loss layer, yang merupakan lapisan terakhir dalam CNN, menentukan bagaimana pelatihan memberikan penalti atas penyimpangan antara hasil prediksi dan label. Terdapat sejumlah varisi loss function, di antaranya adalah softmax loss yang digunakan untuk memprediksi sejumlah nilai probabilitas dalam interval [0,1].

2.4 Arsitektur CNN (VGGNet)

VGGNet merupakan juara kedua dalam ILSVRC 2014 (Lab 2018), yang dibangun oleh Karen Simoyan dan Andrew Zisserman. Arsitektur ini menunjukan bahwa kedalaman jarngan merupakan komponen penting untuk menghasilkan performansi tinggi. Artinya, semakin dalam jaringan CNN semakin tinggi akurasinya. Jaringan VGGNet versi terbaik berisi 16 convolutional/fully connected layers dengan arsitektur homogen yang hanya melakukan konvolusi 3 x3 dan pooling 2x2 dari lapisan awal sampai lapisan akhir [17]. Gambar 6 dibawah ini merupakan arsitektur VGG16.

Gambar 6. Arsitektur VGG16 2.5 Perumusan Model Arsitektur CNN-1

Penulis melakukan penelitian untuk pengenalan wajah siswa menggunakan gambar yang banyak, diharapkan akurasi model yang tinggi dapat dicapai dengan menggunakan arsitektur CNN. Hal ini akan menyebabkan proses training sebuah model membutuhkan perangkat keras hardware dengan spesifikasi tinggi. Untuk menyesuaikan dengan perangkat komputer yang tersedia maka penulis akan melakukan penyederhanaan algoritma arsitektur VGGNet. Penyederhanaan arsitektur VGGnet ini akan disebut dengan CNN-1. Gambar 7 dibawah ini merupakan arsitektur CNN-1 yang penulis ajukan.

Gambar 7. Arsitektur CNN-1

Model yang penulis bangun terdiri dari beberapa layer Conv2D, MaxPooling2D, Dropout, dan Dense. Ini adalah jenis arsitektur Convolutional Neural Network (CNN) yang sering digunakan untuk mengolah data gambar.

Input layer berupa gambar dengan ukuran 50x50 pixel dengan warna gray (1 dimensi). Kemudian gambar ini akan masuk pada dua layer, yaitu layer Conv2D dengan filter sebanyak 128 dan 32 masing-masing, dengan ukuran kernel 3x3 dan aktivasi ReLU. Input pertama akan diarahkan ke input_shape yang didefinisikan sebelumnya.

Setelah itu, masuk ke layer MaxPooling2D dengan pool size 2x2, yang berfungsi untuk mengurangi dimensi dari data yang dihasilkan oleh layer Conv2D. Hasil dari MaxPooling2D masuk ke Convolutional layer berikutnya yang memiliki dua layer Conv2D dengan filter sebanyak masing-masing 64, dengan ukuran kernel 3x3 dan aktivasi ReLU. Layer-layer ini diikuti oleh layer MaxPooling2D. Fungsi dropout juga diterapkan dalam penelitian ini.

Kemudian, keluaran nya menjadi input untuk dua layer Conv2D berikutnya dengan filter masing-masing sebanyak 128, dengan ukuran kernel 3x3 dan aktivasi ReLU. Kembali diikuti oleh MaxPooling2D dan fungsi dropout juga diterapkan.

Langkah berikutnya masuk ke Fully Connected layer adapun langkah-langkah nya yaitu masuk kelayer flatten yang berfungsi mengubah data 2D menjadi vektor 1D, sehingga dapat diolah oleh layer Dense selanjutnya.

Ada dua layer dense dengan masing-masing 128 dan 64 unit. dengan aktivasi ReLU, diikuti oleh fungsi dropout.

Akhirnya, layer Dense dengan 20 unit atau kelas dan aktivasi softmax digunakan sebagai output layer, dan langkah terakhir model di-compile dengan optimizer Adam untuk laju pembelajaran 0.001 dan loss function categorical_crossentropy. Model ini cukup kompleks dan memiliki banyak parameter namun tetap dapat memberikan performa yang baik untuk pengenalan gambar.

Input Layer Fully Connected Layer 1 Fully Connected Layer 2 Softmax

3 x 3 Kernel, Depth 128 3 x 3 Kernel, Depth 32 2 x 2 Max Pooling 3 x 3 Kernel, Depth 64 3 x 3 Kernel, Depth 64 2 x 2 Max Pooling 3 x 3 Kernel, Depth 128 3 x 3 Kernel, Depth 128 2 x 2 Max Pooling

(6)

2.6 Augmentasi Data

Secara praktis dalam aplikasi pengenalan citra, banyak peneliti menggunakan augmentasi data selama proses pelatihan CNN. Terutama ketika himpunan citra relatif sedikit. Teknik augmentasi telah menunjukan efektivitas datamelalui teknik sederhana, seperti cropping, rotating, dan flipping gambar [18]. Augmentasi data merupakan cara yang dapat digunakan untuk mengurangi overfitting pada model. Teknik augmentasi yang digunakan pada penelitian ini yaitu teknik flip, random rotation dan Affine untuk memperkaya data.

2.7 Evaluasi Model Klasifikasi

Setelah model dibangun, model-model tersebut perlu dievaluasi untuk mendapatkan satu model terbaik. Accuracy, Precision, Recall, F1score and Confusion matrix digunakan untuk evaluasi model [19]. Himpunan data uji yang tidak dipergunakan dalam pelatihan diperlukan untuk mengevaluasi suatu model klasifikasi.Sejumlah ukuran tertentu dapat digunakan untuk mengevaluasi model pembelajaran TP. Dimana TP adalah true positives, TN adalah true negatives, FP adalah false positives, dan FN adalah false negatives. Confusion matrix menjadi alat ukur menguji 16 model pembelajaran transfer pada penelitian ini [20]. Untuk mengevaluasi model yang telah dibangun penulis juga menghitung nilai precision score, recall score & f1 score dengan rumus sebagai berikut:

𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =𝑇𝑃+𝑇𝑁

𝑃+𝑁 (2)

𝑅𝑒𝑐𝑎𝑙𝑙 =𝑇𝑃

𝑃 (3)

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃

𝑇𝑃+𝐹𝑃 (4)

f1-Score=𝑇𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑥 𝑟𝑒𝑐𝑎𝑙𝑙

𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑒𝑐𝑎𝑙𝑙 (5)

3. HASIL DAN PEMBAHASAN

3.1 Pengumpulan Data dan Pra Pemrosesan gambar (image preprocessing)

Data yang dikumpulkan berupa data private. Data private diambil secara langsung pada subjek yang akan diteliti, yaitu berupa objek wajah siswa. Pengambilan fhoto wajah siswa dengan menggunakan kamera webcam dengan merk logitek type standar. Kode python yang digunakan untuk pengambilan gambar ini disetting sebanyak 250 gambar untuk sekali proses perekaman untuk setiap siswa. Data yang diambil sebanyak 20 kelas, dan setiap kelas hanya diambil 126 gambar hasil proses seleksi dari 250 gambar sebelumnya. Proses seleksi gambar dengan menghapus gambar yang kesamaan nya dekat atau tidak jelas (blur). Hal ini dilakukan agar tidak terlalu banyak data yang dilakukan pada proses training model, mengingat komputer untuk training model yang digunakan spesifikasinya terbatas belum ada perangkat GPU. Saat proses pengambilan gambar ini kamera webcam digerakkan kekanan, kekiri, keatas dan kebawah dengan titik fokus pada wajah siswa. Sedangkan jarak kamera dengan objek wajah siswa kurang lebih 1 meter. Resolusi gambar yang dihasilkan adalah 250x250 pixels dengan 3 dimensi (RGB). Proses pengambilan dataset private dapat dilihat pada gambar 8 dibawah ini.

Gambar 8. Proses pengambilan gambar wajah siswa dengan kamera webcam

Label atau kelas yang digunakan pada dataset private yaitu : ferdy, gracia, jessie, keisha, m.raihan, m.syaril, m.zaim, Marcheline, Mario, maynita, naufal, raffel, rafly, raja.naisya, rizky, roni, safa, samuel, saputri dan zahara.

Berikut sampel satu gambar untuk 20 label atau kelas tersebut :

Tabel 1. Contoh Dataset Label Wajah Siswa (Data Private) Gambar Nama

Kelas

Jumlah Data

Gambar Nama Kelas

Jumlah Data

Gambar Nama Kelas

Jumlah Data

ferdy 126 naufal 126 m.zaim 126

(7)

Gambar Nama Kelas

Jumlah Data

Gambar Nama Kelas

Jumlah Data

Gambar Nama Kelas

Jumlah Data

gracia 126 raffel 126 Marchel

ine

126

jessie 126 rafly 126 Mario 126

keisha 126 raja.naisya 126 maynita 126

m.raihan 126 rizky 126 safa 126

m.syaril 126 roni 126 Samuel 126

Saputri 126 zahara 126

Total Data

2.520

Selanjutnya gambar tersebut akan menjadi dataset private yang akan ditraining dengan menggunakan algoritma yang penulis diajukan dinamakan CNN-1. Sebelum dilakukan augmentasi ukuran setiap gambar akan dikecilkan menjadi 50x50x1 dan 224x224x1, ukuran ini akan menjadi input pada 17 kali ujicoba yang akan dilakukan. Selanjutnya dilakukan proses augmentasi, ada 3 teknik augmentasi yang akan diterapkan yaitu flip, random rotation dan Affine. Proses ini akan menjadikan setiap gambar menjadi 20 gambar yang berbeda. Setelah proses tersebut data setiap kelas akan bertambah menjadi 2.646 dengan perincian data asli 126 ditambah proses augmentasi sebanyak 20 kali dari data asli. Total dataset hasil augmentasi menjadi 50.400 dan ditambah data asli 2.520 sehingga semua dataset menjadi 52.920. Jumlah data setiap kelas dibuat sama agar hasil model yang terbentuk menjadi valid. Setelah proses augmentasi, dilakukan split dataset dengan pembagian data training 85%

menjadi 44.982 gambar dan data testing 15% menjadi 7.938 gambar. Selanjutnya data training akan diambil secara acak sebanyak 15% untuk menjadi data validation sehingga data validation menjadi 6.747 data. Gambar 9 dibawah ini contoh hasil dari augmentasi salah satu gambar wajah siswa. 1 gambar menjadi 20 Gambar.

Gambar 9. Hasil augmentasi 1 gambar

Gambar 9. Hasil proses dataset private 3.2 Hardware dan Software

Pada penelitian ini penulis menggunakan software dan hardware yang tersedia, perangkat keras tanpa GPU.

Pelatihan model hanya menggunakan CPU dan RAM. Detail Spesifikasi dapat dilihat pada tabel 2.

Tabel 2. Spesifikasi Software dan Hardware

SOFTWARE HARDWARE

OS : Ubuntu 16.04 xenial CPU : Intel Xeon CPU E5-2620 v3 @ 3.2GHZ

Jupyter lab RAM : 16 GB

Python 3.9.12, OpenCV Hard Disk : 1 TB

KERAS Framework Merk : HP

Anaconda Library Webcam : Logitek C210 (Up to 1.3 megapixels) 3.3 Arsitektur CNN-1 dengan menggunakan DropOut.

Arsitektur CNN-1 adalah arsitektur yang dibuat sendiri dengan melihat kemampuan dari sofware dan hardware yang dimiliki oleh peneliti, berikut kode dari arsitektur CNN-1 yang penulis terapkan.

model = Sequential()

model.add(Conv2D(128,(3,3), padding="valid", activation="relu", input_shape=input_shape)) model.add(Conv2D(32,(3,3),padding="valid",activation="relu",input_shape=input_shape))

(8)

model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.2))

model.add(Conv2D(64,(3,3),padding="valid",activation="relu", input_shape=input_shape)) model.add(Conv2D(64,(3,3),padding="valid",activation="relu",input_shape=input_shape)) model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Dropout(0.2))

model.add(Conv2D(128,(3,3),padding="valid", activation="relu")) model.add(Conv2D(128,(3,3), padding="valid", activation="relu")) model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Dropout(0.2)) model.add(Flatten())

model.add(Dense(128, activation="relu")) model.add(Dense(64, activation="relu")) model.add(Dropout(0.5))

model.add(Dense(20))

model.add(Activation("softmax"))

model.compile(optimizer='adam',loss='categorical_crossentropy', metrics = ['accuracy']) 3.4 Hasil Training Model.

Hasil dari training model dapat dilihat pada tabel 3 dibawah ini. Pada No uji 1-6 parameter yang digunakan untuk objek gambar dengan ukuran 50x50 pixels, jumlah epoch mulai dari 10, 40, 60, 80, 90 dan 100. Warna gambar grayscale, dengan augmentasi dan tidak menggunakan teknik regularisasi (dropout). Sedangkan No uji 7-12 dengan parameter yang sama namun menggunakan teknik regularisasi (dropout). Sedangkan untuk No uji 16-17 menggunakan ukuran gambar dengan dimensi 224x244x1 dan parameter yang lain juga dicoba.

Tabel 3. Skenario dan Hasil Uji Pelatihan Model dengan Arsitektur CNN-1 No

Uji

Parameter Pengujian Hasil

Ukuran Citra(Pi

xel)

Jumlah Epoch

Augme ntasi/Ti

dak

RGB/Gra y

Dropou t/Tidak

(%) Akurasi

(%) Loss

(%) Validasi

akurasi

(%) Validasi

Loss

Waktu Trainin g (Jam)

1 50 x 50 10 Ya GrayScal

e

Tidak 0.9896 0.0439 0.9695 0.1471 0.84 2 50 x 50 40 Ya Gray Tidak 0.9939 0.0415 0.9933 0.0413 3.60 3 50 x 50 60 Ya Gray Tidak 0.9942 0.0441 0.9649 0.2123 5.42 4 50 x 50 80 Ya Gray Tidak 0.9665 0.2074 0.9855 0.1541 7.41 5 50 x 50 90 Ya Gray Tidak 0.0517 3.0075 0.0464 2.9959 8.22 6 50 x 50 100 Ya Gray Tidak 0.0486 2.9958 0.0464 2.9958 9.03

7 50 x 50 10 Ya Gray Ya 0.9625 0.1538 0.9942 0.0181 0.80

8 50 x 50 40 Ya Gray Ya 0.9758 0.1172 0.9963 0.0166 3.50

9 50 x 50 60 Ya Gray Ya 0.9782 0.1111 0.9963 0.0144 5.33

10 50 x 50 80 Ya Gray Ya 0.9469 0.2579 0.9966 0.0318 7.25

11 50 x 50 90 Ya Gray Ya 0.9258 0.2955 0.9969 0.0227 8.16

12 50 x 50 100 Ya Gray Ya 0.8649 0.5149 0.9920 0.0304 9.46

13 50 x 50 60 Ya Gray Ya 0.9778 0.1177 0.9957 0.0192 5.31

14 50 x 50 60 Tidak Gray Ya 0.9467 0.2055 0.9068 0.3381 0.23 15 50 x 50 60 Tidak Gray Tidak 1.000 1.6900 0.9441 0.2612 0.24 16 224x22

4

20 Tidak Gray Tidak 0.9956 0.0189 0.7205 1.8539 2.17 17 224x22

4

20 Ya Gray Ya MemoryError :Unable to allocate 8.41GiB for array with shape (44982,224,224)

Gambar 10 dibawah ini merupakan grafik hasil pelatihan model pada pengujian dengan paramater epoch 1-100, Menggunakan augmentasi, gambar grayscale, tidak menggunakan dropout. Hasil uji tersebut dapat juga dilihat dari tabel diatas pada No uji 1 sampai 6. Ternyata mulai dari epoch 80 sampai 100 terjadi overfitting model ditandai dengan akurasi, dan validasi akurasi semakin menurun secara tajam, serta nilai loss dan validasi loss juga meningkat secara tajam.

Gambar 10. Grafik Nilai Akurasi dan Loss untuk no uji 1-6.

(9)

Untuk menghindari terjadinya overfitting dan meningkatkan performa model ada beberapa cara mengatasinya yaitu dengan mengurangi kompleksitas arsitektur CNN, atau menggunakan teknik regularisasi, seperti dropout atau menambah jumlah gambar dengan metode augmentasi. Penulis tidak mengurangi kompleksitas arsitektur, dan tetap melakukan augmentasi. Penulis mengatasi masalah ini dengan menggunakan dropout. Dropout dilakukan dengan menghapus sebagian neuron pada layer tertentu secara acak pada setiap iterasi pelatihan. Hal ini memaksa model untuk tidak bergantung pada neuron tertentu dan membuat model lebih tahan terhadap overfitting pada data pelatihan. Gambar 11 dibawah ini merupakan grafik hasil pengujian pada tabel dengan no uji 7-12. Dengan menggunakan dropout dan terlihat hasil akurasi, dan validasi akurasi juga menurun pada epoch 80 -100, nilai loss dan validasi loss juga meningkat, namun perubahan tidak terjadi secara tajam. Hasil pelatihan model sudah cukup baik.

Gambar 11. Grafik Model Akurasi dan Loss untuk no uji 7-12.

Dengan menggunakan teknik regularisasi dengan dropout maka performa model meningkat serta waktu pelatihan model semakin singkat. Tentunya dengan spesifikasi software dan hardware yang digunakan sama.

Berdasarkan hasil uji no 1-12 pada tabel diatas maka penulis akan menggunakan satu hasil uji yang terbaik yaitu dengan parameter sebagai berikut: ukuran gambar 50x50, warna gambar grayscale, jumlah epoch 60, dengan augmentasi serta menggunakan teknik dropout. Hasil akurasi, validasi akurasi lebih tinggi dan loss serta validasi loss lebih rendah, waktu yang dibutuhkan lebih singkat. Hasilnya dapat dilihat pada tabel diatas dengan no uji 13.

Selain itu dapat juga dilihat pada hasil evaluasi model dengan confusion matrix. Hasilnya seperti pada gambar 12 dibawah ini.

Gambar 12. Confusion Matrix Epoch 60

Gambar 13 dibawah ini mengambarkan akurasi dan loss model. Gambar kiri menunjukan hasil akurasi untuk training dan validasi meningkat serta stabil. Sedangkan gambar kanan menunjukan hasil loss dengan nilai rendah juga stabil. Grafik ini menunjukan dataset private yang ditraining menghasilkan sebuah model. Penulis merekomendasikan model ini untuk dipergunakan dalam pengembangan sistem absensi siswa.

Gambar 13. Grafik Model Akurasi dan Loss untuk no uji 13

(10)

Tabel 4 dibawah ini menjelaskan hasil perhitungan Precision, Recall, F1-Score untuk setiap kelas yang ada.

Tabel 4. Hasil Metrik Evaluasi Model

Kelas Precision Recall F1-Score Support

Marcheline 1 1 1 419

Mario 1 0.99 1 367

ferdy 1 1 1 390

gracia 1 1 1 373

jessie 1 1 1 379

keisha 1 0.99 1 418

m.raihan 1 1 1 407

m.syaril 1 1 1 392

m.zaim 1 1 1 442

maynita 0.99 1 0.99 411

naufal 0.99 1 1 370

raffel 1 0.98 0.99 403

rafly 1 1 1 379

raja.naisya 1 1 1 394

rizky 0.97 1 0.98 406

roni 0.99 1 0.99 411

safa 0.99 1 0.99 391

samuel 1 1 1 399

saputri 0.99 0.99 0.99 384

zahara 1 1 1 403

4. KESIMPULAN

Proses pengambilan data gambar private berupa wajah siswa dengan teknik pengambilan seperti yang dijelaskan diatas dan prossesing dataset yang dilakukan sangat baik terbukti hasil akurasi model yang dibentuk sudah baik dan stabil. Strategi yang digunakan peneliti untuk pelatihan model dengan data training sebanyak 44.982, dan data testing sebanyak 7.938, yaitu dengan membuat arsitektur CNN yang dimodifikasi dari arsitektur VGG16. Selain itu peneliti juga mengecilkan ukuran gambar dari 250x250 pixels menjadi 50x50 pixels. Hal ini terbukti dapat mempercepat proses training model, dan mengurangi beban kerja perangkat keras. Kemudian mengkonversi gambar dari RGB (3 dimensi) menjadi grayscale (1 dimensi). Proses augmentasi tetap dilakukan, serta ada penggunaan teknik regularisasi dropout. Teknik ini terbukti dapat menghindari terjadinya overfitting. Hasil pelatihan model yang terbaik dari 17 skenario uji coba yang dilakukan yaitu dengan menggunakan parameter sebagai berikut: Ukuran gambar 50x50 piksel, warna gambar grayscale, augmentasi dengan teknik flip, random rotation dan affline, teknik regularisasi dropout dengan nilai 0.2, jumlah data gambar setiap kelas dibuat sama banyak. Dengan parameter tersebut maka didapatkanlah sebuah model dengan hasil akurasi sebesar 97.78%, nilai loss sebesar 0.0189, Nilai validasi akurasi sebesar 99.57% dan nilai validasi loss sebesar 0.019 dengan jumlah iterasi (epoch) sebanyak 60.

UCAPAN TERIMAKASIH

Alhamdulillah puji syukur saya panjatkan kepada Allah SWT penelitian ini dapat diselesaikan tepat waktu, Terima kasih kepada keluarga besar saya yang selalu mendukung penuh study S2. Kepada civitas akademi Universitas Amikom Yogyakarta, tempat saya menimbah ilmu dan berdiskusi, kepada Ibu Prof. Dr. Kusrini M.Kom dan Pak Kusnawi. M.Kom selaku dosen pembimbing saya. Serta kepala sekolah SMPN 6 Batam yang sudah memberikan izin kepada saya untuk belajar dan melakukan penelitian serta menggunakan data siswa yang ada di sekolah.

REFERENCES

[1] I. M. Kusrini Kusrini, Suputa Suputa, Arief Setyanto, K. Artha Agastya, Herlambang Priantoro, and E. I. Chandramouli,

“Data augmentation for automated pest classification in Mango farms,” Comput. Electron. Agric., vol. 179, 2020, doi:

10.1016/j.compag.2020.105842.

[2] A. Majumder, A. Rajbongshi, M. M. Rahman, and A. A. Biswas, “Local Freshwater Fish Recognition Using Different CNN Architectures with Transfer Learning,” Int. J. Adv. Sci. Eng. Inf. Technol., vol. 11, no. 3, pp. 1078–1083, 2021, doi: 10.18517/ijaseit.11.3.14134.

[3] D. Husen, K. Kusrini, and K. Kusnawi, “Deteksi Hama Pada Daun Apel Menggunakan Algoritma Convolutional Neural Network,” J. Media Inform. Budidarma, vol. 6, no. 4, p. 2103, 2022, doi: 10.30865/mib.v6i4.4667.

[4] R. Z. Fadillah, A. Irawan, M. Susanty, and I. Artikel, “Data Augmentasi untuk Mengatasi Keterbatasan Data pada Model Penerjemah Bahasa Isyarat Indonesia (BISINDO),” J. Inform., vol. 8, no. 2, pp. 208–214, 2021, [Online]. Available:

(11)

https://ejournal.bsi.ac.id/ejurnal/index.php/ji/article/view/10768

[5] H. Zhang, A. Jolfaei, and M. Alazab, “A Face Emotion Recognition Method Using Convolutional Neural Network and Image Edge Computing,” IEEE Access, vol. 7, no. November, pp. 159081–159089, 2019, doi:

10.1109/ACCESS.2019.2949741.

[6] H. Yang and X. Han, “Face recognition attendance system based on real-time video processing,” IEEE Access, vol. 8, pp. 159143–159150, 2020, doi: 10.1109/ACCESS.2020.3007205.

[7] J. Kong, M. Chen, M. Jiang, J. Sun, and J. Hou, “Face Recognition Based on CSGF(2D)2PCANet,” IEEE Access, vol.

6, pp. 45153–45165, 2018, doi: 10.1109/ACCESS.2018.2865425.

[8] B. Jabber, J. Lingampalli, C. Z. Basha, and A. Krishna, “Detection of covid-19 patients using chest x-ray images with convolution neural network and mobile net,” Proc. 3rd Int. Conf. Intell. Sustain. Syst. ICISS 2020, pp. 1032–1035, 2020, doi: 10.1109/ICISS49785.2020.9316100.

[9] X. Li, Z. Yang, and H. Wu, “Face detection based on receptive field enhanced multi-task cascaded convolutional neural networks,” IEEE Access, vol. 8, pp. 174922–174930, 2020, doi: 10.1109/ACCESS.2020.3023782.

[10] B. Mocanu, R. Tapu, and T. Zaharia, “DEEP-SEE FACE: A Mobile Face Recognition System Dedicated to Visually Impaired People,” IEEE Access, vol. 6, pp. 51975–51985, 2018, doi: 10.1109/ACCESS.2018.2870334.

[11] Y. H. Liu, “Feature Extraction and Image Recognition with Convolutional Neural Networks,” J. Phys. Conf. Ser., vol.

1087, no. 6, 2018, doi: 10.1088/1742-6596/1087/6/062032.

[12] R. M. Rawat, S. Garg, N. Jain, and G. Gupta, “COVID-19 detection using convolutional neural network architectures based upon chest X-rays images,” Proc. - 5th Int. Conf. Intell. Comput. Control Syst. ICICCS 2021, no. Iciccs, pp. 1070–

1074, 2021, doi: 10.1109/ICICCS51141.2021.9432134.

[13] D. Arsal, Muhammad and Wardijono, Bheta and Anggraini, “Face Recognition Untuk Akses Pegawai Bank Menggunakan Deep Learning Dengan Metode CNN,” Nas. Teknol. dan Sist. Inf., vol. 06, pp. 55–63, 2020, doi:

10.1109/UBMK52708.2021.9559031.

[14] J. Sanjaya and M. Ayub, “Augmentasi Data Pengenalan Citra Mobil Menggunakan Pendekatan Random Crop, Rotate, dan Mixup,” J. Tek. Inform. dan Sist. Inf., vol. 6, no. 2, pp. 311–323, 2020, doi: 10.28932/jutisi.v6i2.2688.

[15] M. Z. Alom et al., “The History Began from AlexNet: A Comprehensive Survey on Deep Learning Approaches,” 2018, [Online]. Available: http://arxiv.org/abs/1803.01164

[16] Suyanto, Machine Learning Tingkat Dasar dan Lanjut, Ed. I. Bandung, Indonesia: Informatika, 2018.

[17] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” 3rd Int. Conf.

Learn. Represent. ICLR 2015 - Conf. Track Proc., pp. 1–14, 2015.

[18] L. Perez and J. Wang, “The Effectiveness of Data Augmentation in Image Classification using Deep Learning,” 2017, [Online]. Available: http://arxiv.org/abs/1712.04621

[19] A. Negi, K. Kumar, P. Chauhan, and R. S. Rajput, “Deep neural architecture for face mask detection on simulated masked face dataset against covid-19 pandemic,” Proc. - IEEE 2021 Int. Conf. Comput. Commun. Intell. Syst. ICCCIS 2021, pp.

595–600, 2021, doi: 10.1109/ICCCIS51004.2021.9397196.

[20] M. S. Majib, M. M. Rahman, T. M. Shahriar Sazzad, N. I. Khan, and S. K. Dey, “VGG-SCNet: A VGG Net based Deep Learning framework for Brain Tumor Detection on MRI Images,” IEEE Access, vol. 9, pp. 116942–116952, 2021, doi:

10.1109/ACCESS.2021.3105874.

Referensi

Dokumen terkait

Berdasarkan penelitian dan hasil penerapan metode Transfer Learning pada Convolutional Neural Network (CNN) dengan model Pre- Trained dari MobileNetV2 dalam