Disusun Oleh:
HAFIDZ SANJAYA 15.14.1.0144
Disusun Oleh:
Hafidz Sanjaya 15.14.1.0144
i
ABSTRAK
Oleh
Hafidz Sanjaya
15.14.1.0144
Kata Kunci: biometrik, pengenalan wajah, sistem absensi, webservice, tiny yolo v2
ii
ABSTRACT
Oleh
Hafidz Sanjaya
15.14.1.0144
iii
PERNYATAAN KEASLIAN
Dengan ini saya menyatakan bahwa Laporan Penelitian Tugas Akhir ini tidak
terdapat karya yang pernah diajukan untuk memperolah gelar kesarjanaan disuatu
perguruan tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau
pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara
tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka. Apabila
kemudian hari pernyataan Saya tidak benar, maka saya bersedia menerima sanksi
akademis yang berlaku.
Hafidz Sanjaya
iv
KATA PENGANTAR
Puji syukur penulis panjatkan kehadiran Allah SWT atas rahmat dan
karunianya penulis dapat menyelesaikan Laporan Tugas Akhir ini yang berjudul:
“Implementasi Face Recognition Dan Web Service Menggunakan Algoritma
Tiny Yolo V2 Sebagai Absensi Kehadiran Mahasiswa”.
Laporan Tugas Akhir ini bertujuan untuk memenuhi salah satu syarat untuk
mendapatkan gelar sarjana pada Program Studi Informatika, Fakultas Teknik
Universitas Majalengka.
Penulis ingin menyampaikan terima kasih sebesar-besarnya kepada yang
terhormat:
1. Bapak Aang Suryana (Alm) dan Ibu Amung Muntasiroh, selaku orang tua
penulis yang selalu memberikan doa, nasihat dan dukungan yang terbaik.
2. Prof. Dr. Ir. H. Sutarman, M.Sc., selaku Rektor Universitas Majalengka.
3. Dr. H. Riza M. Yunus, ST., MT., Selaku Dekan Fakultas Teknik
Universitas Majalengka.
4. Ade Bastian, ST., M.Kom., selaku ketua Program Studi Informatika
Universitas Majalengka yang telah memberikan izin untuk melakukan
penelitian.
5. Dony Susandi, ST., MT., selaku dosen pembimbing utama dan Sandi Fajar
Rodiyansyah, S.Pd., M.Cs., selaku dosen pembimbing kedua yang telah
membimbing penulis dalam melakukan penelitian dan menyelesaikan
laporan ini.
6. Bapak dan Ibu dosen yang telah memberikan ilmu, bimbingan dan
pendidikan selama penulis menuntut ilmu di Program Studi Informatika,
Fakultas Teknik Universitas Majalengka.
7. Seluruh Staf Tata Usaha Fakultas Teknik Universitas Majalengka.
8. Hasna Faujiyah, selaku istri tercinta yang telah ngaririweuh penulis selama
penyusunan laporan ini.
9. Semua pihak yang tidak dapat penulis sebutkan satu-persatu.
Semoga segala dukungan dan bimbingan yang telah diberikan kepada
penulis mendapatkan imbalan yang berlipat dari Allah SWT dan semoga Laporan
v
Tugas Akhir ini dapat bermanfaat bagi dunia pendidikan khususnya lingkungan
Universitas Majalengka.
Penulis menyadari bahwa masih banyak kekurangan dalam Laporan Tugas
Akhir ini, atas segala kekurangan dan ketidak sempurnaannya penulis sampaikan
permohonan maaf.
Penulis
vi
DAFTAR ISI
vii
2.1.13. Flowchart ............................................................................. 49
2.2. Tinjauan Pustaka .............................................................................. 50
BAB III METODE PENELITIAN........................................................................ 54
3.1 Tahapan Penelitian ........................................................................... 54
3.2 Pengumpulan Data ........................................................................... 55
3.3 Preprocessing Data .......................................................................... 55
3.4 Perancangan Arsitektur Pendeteksi Wajah ...................................... 55
3.5 Perancangan Arsitektur Pengenalan Wajah ..................................... 61
3.6 Perancangan Arsitektur Absensi Pengenalan Wajah ....................... 63
3.7 Pengkodean Pendeteksi Wajah ........................................................ 67
3.8 Pengkodean Absensi Pengenalan Wajah ......................................... 67
3.9 Perancangan Uji Akurasi Pengenalan Wajah .................................. 67
3.10 Lokasi Penelitian.............................................................................. 69
3.10.1 Sejarah Universitas Majalengka........................................... 69
3.10.2 Lambang dan Arti Universitas Majalengka ......................... 70
3.10.3 Visi, Misi dan Tujuan Universitas Majalengka ................... 72
BAB IV HASIL PENELITIAN DAN PEMBAHASAN ...................................... 75
4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak .......................... 75
4.2 Hasil Pengumpulan Data ................................................................. 75
4.3 Hasil Preprocessing Data ................................................................. 78
4.4 Implementasi Sistem Pendeteksi Wajah .......................................... 78
4.5 Implementasi Sistem Pengenalan Wajah ......................................... 80
4.6 Implementasi Sistem Absensi Pengenalan Wajah ........................... 83
4.7 Hasil Pengujian Akurasi Pengenalan Wajah ................................... 85
BAB V PENUTUP ................................................................................................ 95
5.1 Kesimpulan ...................................................................................... 95
5.2 Saran ................................................................................................ 96
DAFTAR PUSTAKA ........................................................................................... 97
viii
DAFTAR GAMBAR
ix
Gambar 2.19 Representasi visual layer convolutional (O'Shea & Nash, 2015) ... 31
Gambar 2.20 Layer convolutional pada convolutional neural network ................ 31
Gambar 2.21 Output layer convolutional setelah diterapkan seluruh kernel k
(Rosebrock, 2017) ................................................................................................. 32
Gambar 2.22 Contoh max pooling dengan ukuran 2x2 dan stride 2 (Rosebrock,
2017) ..................................................................................................................... 34
Gambar 2.23 Sistem Pendeteksian Objek YOLO (Redmon, et al, 2016) ............. 35
Gambar 2.24 Rumus Intersect Over Union (IOU) (Rosebrock, 2016) ................. 36
Gambar 2.25 Implementasi Intersect Over Union (IOU) (Rosebrock, 2016)....... 36
Gambar 2.26 Contoh Intersect Over Union (IOU) (Rosebrock, 2016)................. 37
Gambar 2.27 Model You Only Look Once (Redmon, et al, 2016) ........................ 37
Gambar 2.28 Arsitektur You Only Look Once (Redmon, et al, 2016) .................. 39
Gambar 2.29 Bounding box menggunakan dimension cluster dan direct location
prediction (Redmon, et al, 2016) .......................................................................... 41
Gambar 2.30 Tahap Pengembangan dari YOLO V1 ke YOLO V2 (Redmon, et al,
2016) ..................................................................................................................... 42
Gambar 2.31 Dataset COCO dan ImageNet (Redmon, et al, 2016) .................... 43
Gambar 2.32 Kombinasi dataset (Tsang, 2018) .................................................... 43
Gambar 2.33 Teknik WordTree Pada Dataset (Tsang, 2018) ............................... 44
Gambar 2.34 Arsitektur Tiny Yolo V2 ................................................................... 45
Gambar 2.35 Perbandingan penggunaan batch normalization (Hollemans, 2017)
............................................................................................................................... 46
Gambar 2.36 Batch Normalization (Loffe, et al, 2015) ........................................ 47
Gambar 2.37 Ilustrasi Model Waterfall (A. S. & M., 2014) ................................. 49
Gambar 2.38 Flowchart algoritma pendeteksian wajah ....................................... 57
Gambar 3.1 Tahapan Penelitian .............................................................................54
Gambar 3.2 Rancangan Arsitektur Sistem Pendeteksi Wajah .............................. 56
Gambar 3.3 Contoh satu frame video dengan resolusi 360x270 .......................... 58
Gambar 3.4 Contoh frame yang telah diubah ukurannya menjadi 416x416......... 58
Gambar 3.5 Contoh frame yang telah dibagi dengan grid 13x13 ......................... 59
Gambar 3.6 Contoh frame yang terdeteksi pusat dari objek wajahnya................. 59
Gambar 3.7 Kotak pembatas B (B bounding box) ................................................ 60
x
Gambar 3.8 Pemetaan probabilitas objek.............................................................. 61
Gambar 3.9 Non-maximum suppression (NMS) .................................................. 61
Gambar 3.10 Flowchart Proses Pengenalan Wajah .............................................. 62
Gambar 3.11 Rancangan Arsitektur Absensi Pengenalan Wajah ......................... 65
Gambar 3.12 Rancangan Antarmuka .................................................................... 66
Gambar 4.1 Hasil Pengumpulan Foto Mahasiswa .................................................77
Gambar 4.2 Hasil Cropping Foto .......................................................................... 78
Gambar 4.3 Hasil Pengubahan Ukuran Foto......................................................... 78
Gambar 4.4 Antarmuka Sistem Pendeteksi Wajah ............................................... 79
Gambar 4.5 Antarmuka Wajah Dikenali ............................................................... 80
Gambar 4.6 Face Descriptor Wajah dari Webcam ............................................... 81
Gambar 4.7 Face Descriptor Wajah 151410144 di Dataset................................. 83
Gambar 4.8 Antarmuka Hasil Request Data Menggunakan Webservice ............. 84
Gambar 4.9 Antarmuka Pemberitahuan Berhasil Simpan Absensi ...................... 84
Gambar 4.10 Antarmuka Detail Kelas Kuliah ...................................................... 85
Gambar 4.11 Grafik Keberhasilan Jarak 0,5 Meter .............................................. 89
Gambar 4.12 Grafik Keberhasilan Jarak 1 Meter ................................................. 90
Gambar 4.13 Grafik Keberhasilan Jarak 1,5 Meter ............................................. 91
Gambar 4.14 Grafik Keberhasilan Jarak 2 Meter ................................................. 92
Gambar 4.15 Keberhasilan Berdasarkan Jarak ..................................................... 93
xi
DAFTAR TABEL
xii
BAB I
PENDAHULUAN
1
2
mengubah data (Priambodo, 2010). Pada web service hubungan antar client dan
server dijembatani oleh web service dengan format tertentu sehingga akses
terhadap basisdata tidak ditangani oleh server. Salah satu arsitektur web service
yang banyak digunakan dalam menangani jumlah data yang banyak adalah
Reperesentational State Transfer (REST). Sebagai protocol, REST menggunakan
HTTP (Hypertext Transfer Protocol) untuk komunikasi antar data. Secara
arsitektur REST menampilkan data dengan menggunakan Universal Resource
Identifiers (URI) yang dapat diakses menggunakan internet maupun intranet.
Penggunaan REST yang simple, ringkas dan cepat membuat integrasi data antara
antarmuka sistem absensi dengan penyedia layanan informasi semakin mudah dan
cepat sehingga antarmuka sistem tidak dibebani oleh pertumbuhan jumlah
mahasiswa di universitas majalengka. Penggunaan web service terhadap informasi
biometrik mahasiswa akan semakin terbuka karena berbasis layanan data sehingga
mudah diakses dimana saja, kapan saja dan dapat digunakan oleh program
aplikasi apa saja, hal tersebut ditunjang dengan adanya teknologi internet.
Saat ini internet mengalami perkembangan yang sangat pesat. Di indonesia
sendiri, dari hasil survey yang dilakukan APJII (Asosiasi Penyedia Jasa Internet
Indonesia) pada tahun 2018 menyatakan bahwa penetrasi pengguna internet dari
tahun 2017 dengan presentase 54,68% hingga tahun 2018 dengan presentase
64,8% mengalami penetrasi yang signifikan yaitu sekitar 10.12%. Tingginya
penetrasi ini dilihat dari ketersediaan fiber optic dan infrastruktur pendukung
lainnya yang menopang aktivitas berinternet.
200
171,17
143,26
150 132,7
110,2
Juta
100 82 88,1
55 63
42
50 30
8 11,2 16 20 20 25
0,5 1 1,9 4,2 4,5
0
1999
2006
2013
1998
2000
2001
2002
2003
2004
2005
2007
2008
2009
2010
2011
2012
2014
2015
2016
2017
2018
Pengguna internet pada tahun 2018 mencapai 64,8% atau sekitar 171.17 juta
orang dari total populasi penduduk indonesia dari sumber Badan Pusat Statistik
(BPS) yaitu sebanyak 264,16 juta orang (APJII, 2018). Pertumbuhan internet yang
signifikan dari tahun ke tahun membuktikan bahwa pentingnya penggunaan
internet karena dapat membantu pekerjaan masyarakat indonesia.
Pengaksesan internet tidak dapat dilepaskan dari perangkat yang digunakan
untuk mengakses internet itu sendiri, seperti perangkat komputer desktop, laptop,
smartphone atau handphone, dan tablet. Di indonesia sendiri untuk skala
penggunaan internet setiap hari menggunakan perangkat komputer desktop
lumayan tinggi yaitu memiliki presentase sebesar 68,9 %, menggunakan
perangkat laptop memiliki presentase sebesar 56,6%, menggunakan perangkat
smartphone atau handphone memiliki presentase sebesar 93,9% dan
menggunakan perangkat tablet memiliki presentase 85,2% (APJII, 2018).
Pengkasesan internet dengan menggunakan berbagai macam perangkat
memperlihatkan bahwa kebutuhan setiap pengguna internet berbeda-beda yang
menyebabkan persebaran dan ketersediaan informasi atau data diinternet semakin
banyak dan mudah diakses. Perangkat yang banyak digunakan oleh pengguna
adalah perangkat yang memiliki kamera. Kamera sendiri memiliki berbagai
macam jenis, salah satunya adalah kamera digital.
Kamera digital merupakan alat untuk membuat gambar dari objek untuk
selanjutnya dibiaskan melalui lensa pada sensor CCD dan akhir-akhir ini pada
sensor BSI-CMOS (Back Side Illuminated) sensor yang lebih irit daya untuk
kamera yang lebih canggih yang hasilnya kemudian direkam dalam format digital
ke dalam media simpan digital (Komputer, 2005). Setiap gambar atau video yang
didapatkan dari kamera memiliki suatu meta data atau pola yang dapat diolah
sehingga menghasilkan informasi yang dapat digunakan untuk suatu tujuan
tertentu, salah satunya adalah mengenali objek yang ada didalam data citra.
Mengenali suatu objek pada citra secara umum menjadi salah satu masalah
dalam visi komputer (computer vision). Visi komputer belum bisa meniru
kemampuan manusia dalam memahami informasi citra, mengenali objek pada
citra seperti mengenali wajah seseorang. Bagi manusia hal tersebut merupakan
hal yang sederhana dan mudah, tetapi pada ilmu komputer hal tersebut menjadi
4
hal yang sulit untuk diproses salah satunya karena tidak adanya hubungan antara
representasi data citra (pixel) yang disimpan dan dibaca didalam komputer dengan
citra yang didapatkan dari dunia nyata. Permasalahan pengenalan wajah tersebut
menjadi semakin sulit untuk komputer dengan adanya pengaruh terhadap wajah
seperti sudut pandang, jarak, pencahayaan, resolusi, penuaan, dan ekspresi.
Dengan adanya faktor-faktor variasi tersebut citra dapat memiliki makna yang
sama dengan klasifikasi yang berbeda.
Terdapat berbagai macam metode dalam ilmu komputer yang dapat
digunakan untuk mengenali wajah pada citra. Convolutional neural network
(CNN) adalah pengembangan dari multilayer perceptron (MLP) yang didesain
untuk mengolah data citra dua dimensi. Convolutional neural network dirancang
khusus untuk memproses data dalam bentuk array multidimensi seperti pada data
pixel pada citra yang berwarna yang merupakan array dua dimensi untuk setiap
channel warna (LeCun, et al, 2015). CNN ini termasuk dalam jenis Deep Neural
Network karena kedalaman jaringan yang tinggi dan banyak diaplikasikan pada
citra. Pada tahun 2012, Alex Krizhevsky dengan penerapan CNN miliknya
berhasil menjuarai kompetisi ImageNet Large Scale Visual Recognition
Challenge 2012. Prestasi tersebut menunjukkan metode CNN terbukti berhasil
mengungguli metode machine learning seperti SVM pada kasus klasifikasi objek
data citra. Oleh karena itu, untuk dapat menerapkan sistem absensi mahasiswa
dengan menggunakan pengenalan wajah yang memiliki akurasi tinggi dengan
integrasi data kehadiran yang cepat untuk mewujudkan hal tersebut maka penulis
membuat suatu penelitian dengan judul “IMPLEMENTASI FACE
RECOGNITION DAN WEB SERVICE MENGGUNAKAN ALGORITMA
TINY YOLO V2 SEBAGAI ABSENSI KEHADIRAN MAHASISWA”.
8
9
2. Reasoning (penalaran)
Yaitu memiliki pemikiran atau dapat menghubungkan sesuatu dengan apa
yang sudah dan telah diketahui sebelumnya. Seperti, pemrosesan bahasa
(language understanding), penilaian situasi lingkungan sekitar sistem,
inference atau penarikan kesimpulan berbasis logika atau evidence,
perencanaan atau pemecahan masalah, belajar (learning) berdasarkan contoh
dari data set dan membangkitkan atau membuat bahasa alami.
3. Acting (bertindak)
Yaitu membuat atau mengontrol suatu tindakan didalam suatu sistem.
Seperti, speech generation yang membuat suara dari text dan pengontrol
robotika.
Dari pengertian diatas bahwa kecerdasan buatan adalah suatu bidang ilmu
komputer yang mempelajari suatu algoritma atau bagaimana membuat suatu
program yang dijalankan oleh komputer yang dapat mengerjakan sesuatu yang
dianggap cerdas oleh manusia yang diterapkan pada berbagai bidang kehidupan.
Machine learning merupakan bagian dari area research ilmu komputer yang
berhubungan dengan menemukan dan menerapkan sistem dan algoritma agar
komputer bisa belajar berdasarkan contoh data input yang diberikan, dimana
machine learning berusaha untuk membuat sistem komputer untuk dapat
mengenali pola yang rumit pada suatu data secara otomatis serta membuat
keputasan yang cerdas menggunakan proses learning (pembelajaran) dengan
dataset training sebagai basis pengetahuan dan dataset testing untuk mengevaluasi
performa (Zaccone, et al., 2017).
Machine learning merupakan bagian dari kecerdasan buatan dimana sebuah
sistem komputer tidak diprogram secara ekplisit untuk melakukan suatu hal,
melainkan belajar dari data yang diberikan. Machine learning menggunakan
berbagai algoritma yang secara iteratif belajar dari data untuk meningkatkan,
menggambarkan, dan memprediksi. Algoritma machine learning menggunakan
training data untuk menghasilkan model yang lebih akurat yang didasarkan pada
data tersebut. Model dari machine learning merupakan hasil keluaran dari
algoritma setelah proses training dengan data (Hurwitz & Kirsch, 2018).
11
Gambar 2.1 Machine learning dan deep learning sebagai bagian dari artificial
intelligence (Hurwitz & Kirsch, 2018)
Kesimpulan yang dapat diambil dari pengertian machine learning diatas
yaitu machine learning merupakan bagian dari kecerdasan buatan, didalam bidang
ini terdapat berbagai algoritma, dimana karakteristik dari program yang dihasilkan
dengan algoritma machine learning ini yaitu dia dapat mempelajari suatu pola
yang kompleks pada suatu data yang diberikan berdasarkan hasil pelatihan pada
suatu data latih, dan tidak diprogram secara khusus untuk melakukan suatu hal
secara eksplisit.
1. Supervised learning
Supervised learning merupakan suatu metode pembelaran machine
learning yang biasa umum ditemui untuk permasalah klasifikasi, regresi, dan
ranking, dimana algoritma machine learning akan menerima sekumpulan
contoh-contoh yang telah memiliki label sebagai data latih kemudian
melakukan prediksi terhadap data yang belum pernah dilihat sebelumnya.
Salah satu contoh supervised learning adalah deteksi spam (Mohri, et al.,
2012).
Supervised learning ditujukan untuk mencari pola tertentu pada suatu data
untuk proses analisis, dimana data tersebut telah memiliki label yang
mendefinisikan data tersebut. Algoritma dilatih dengan menggunakan data
yang telah diproses, setelah itu algoritma dievaluasi menggunakan data yang
belum pernah dilihat sebelumnya (data tes) (Hurwitz & Kirsch, 2018).
12
Pengenalan wajah adalah salah satu ilmu yang terdapat di dalam computer
vision, di mana sebuah komputer dapat menganalisa suatu citra wajah yang
terdapat di dalam sebuah gambar dan dapat menemukan identitas atau data diri
dari citra wajah tersebut dengan membandingkan terhadap data-data citra wajah
yang sudah disimpan sebelumnya di dalam database. Pada umumnya face
recognition dilakukan dari sisi depan dengan pencahayaan yang merata ke seluruh
wajah. Akan tetapi muncul beberapa permasalahan, seperti posisi wajah, skala
atau jarak wajah, orientasi, umur, dan ekspresi wajah.
Sistem face recognition pada umumnya mencakup empat modul utama (Li
& Jain, 2005:2), yaitu: deteksi, alignment, ekstraksi fitur dan pencocokan. Proses
lokalisasi dan normalisasi (deteksi wajah dan alignment) adalah langkah- langkah
sebelum proses pengenalan wajah (ekstraksi fitur wajah dan pencocokan)
dilakukan.
Deteksi wajah adalah langkah awal untuk melakukan identifikasi wajah atau
face recognition. Sebuah pendeteksi wajah yang ideal seharusnya mampu
mengidentifikasi dan menemukan lokasi dan luas semua wajah yang ada di dalam
sebuah gambar tanpa memperhatikan pose, skala, orientasi, umur, dan ekspresi (Li
& Jain, 2005:13). Deteksi wajah melakukan segmentasi area citra wajah dengan
bagian latar (background).
Proses alignment bertujuan untuk memperoleh akurasi yang lebih baik dan
tinggi untuk lokalisasi dan normalisasi citra wajah sebab deteksi wajah
menyediakan batas lokasi dan skala dari setiap citra wajah yang dapat terdeteksi.
Setelah sebuah wajah dilakukan normalisasi, ekstraksi fitur dilakukan untuk
mengambil data yang efektif yang berguna untuk memisahkan antara citra- citra
wajah dan orang-orang yang berbeda satu sama. Pencocokan wajah dilakukan
dengan cara melakukan pencocokan fitur yang telah diekstraksi dari citra wajah
masukan dengan kumpulan data latihan dan uji coba citra wajah yang telah
tersimpan sebagai database wajah.
17
Terkadang jumlah nya lebih banyak dari jumlah citra yang disediakan
untuk latihan dan uji coba.
- Untuk metode non-parametrik, kompleksitas dari sampel cukup tinggi.
Menurut Cao (2005:7), face recognition merupakan proses penganalisa
karakteristik dari bentuk muka yang tidak berubah, seperti:
Bagian atas dari rongga mata
Area di sekitar tulang pipi
Sisi kiri dan kanan dari mulut
Menurut Turk (2005:3), pengenalan wajah bisa dilihat sebagai suatu cara
untuk secara tepat mengenali citra dari sebuah wajah, dengan menggunakan data-
data dari wajah yang telah lebih dahulu dikenal. Pengenalan wajah memiliki
semua hambatan dalam pengenalan yang berdasarkan pemrosesan citra.
Dikarenakan citra yang digunakan dapat berubah-ubah secara drastis disebabkan
beberapa faktor yang rumit dan membingungkan, seperti faktor pencahayaan,
posisi kamera, pengaturan kamera, dan noise.
Jadi hasil dari face recognition akan berupa informasi yang dikenal atau
tidak sebagai wajah dengan sebelumnya membandingkan dengan informasi dari
wajah yang diketahui. Proses face recognition ini memiliki permasalahan dari
pencahayaan, posisi kamera, parameter kamera dan noise yang didapatkan pada
sebuah citra.
hubungan dari data yang diamati, jaringan syaraf tiruan terdiri dari lapisan input,
satu atau lebih lapisan tersembunyi (hidden) dan lapisan output. Data dimasukan
melalui lapisan input kemudian data dimodifikasi pada lapisan tersembunyi dan
lapisan output berbasarkan weight (parameter pemberat) yang diterapkan dan
dipelajari. Jaringan syaraf tiruan disebut juga deep learning ketida terdapat lebih
dari satu hidden layer. Salah satu kasus penggunaannya adalah pada image
recognition dan computer vision (Hurwitz & Kirsch, 2018).
2. Satu atau lebih dendritis yang bertanggung jawab menerima sinyal dari
neuron lain
3. Axon yang mengeluarkan sinyal yang dihasilkan oleh suatu neuron untuk
ditransmisikan ke neuron lain.
Gambar 2.9 FeedFordwared Neural Network dengan 2 Hidden Layer dan Input
Class (Zaccone, et al, 2017)
22
Jaringan syaraf tiruan atau disebut juga feedforward neural network atau
multilayer perceptron (MLP), atau deep feedforward neural network merupakan
suatu model deep learning yang memiliki tujuan untuk memperkirakan suatu
fungsi f`, pada classifier model ini memiliki bentuk pemetaan y = f(x; θ) yang
memetakan data input x ke kategori y dengan mempelajari parameter θ yang
menghasilkan nilai klasifikasi atau fungsi perkiraan terbaik. Model ini disebut
feedforward karena informasi atau data input selalu mengalir ke suatu fungsi yang
sedang dievaluasi dari input x menuju operasi komputasi selanjutnya sampai ke
operasi terakhir yang mengeluarkan y (output). Network ini biasanya
direpresentasikan dengan menggabungkan fungsi-fungsi yang berbeda, sebagai
contoh terdapat tiga fungsi f(1), f(2) dan f(3) yang saling terhubung secara berantai
dengan bentuk penuh f(3)( f(2)( f(1)(x))), bentuk ini merupakan struktur umum dari
neural network, dalam hal ini f(1) sebagai layer pertama, f(2) sebagai layer kedua
(hidden layer) dan seterusnya. Keseluruhan rantai komputasi ini membentuk
depth (kedalaman) model neural network, setiap hidden layer merupakan suatu
nilai vector dimana dimensi dari dari hidden layer ini merupakan width (lebar)
dari model neural network. Layer dapat juga dianggap sebagai sesuatu yang
meiliki banyak units (neuron) yang bekerja secara paralel dan setiap unit
menggambarkan suatu fungsi konversi vector-to-scalar. Setiap unit menerima
input dari banyak unit lainnya dari layer sebelumnya dan menghitung nilai
aktifasinya yang dapat menjadi input untuk layer selanjutnya. Pada feedforward
neural network terdapat konsep yang disebut hidden layer dimana kita memiliki
suatu fungsi aktifasi yang digunakan untuk menghitung nilai unit dari hidden
layer tersebut, salah satu rekomendasi fungsi aktifasi yang dapat digunakan adalah
ReLU (Rectified Linear Unit) (Goodfellow, et al., 2016).
23
Gambar 2.13 Aliran data dua layer convolutional pertama (Zaccone, et al., 2017)
Pada Gambar 2.13 menunjukan citra input diproses pada layer
convolutional pertama menggunakan filter-weights, hasil dari operasi ini
menghasilkan 32 citra baru untuk setiap filter pada layer convolutional pertama,
kemudian citra di-downsample dengan operasi pooling sehingga ukuran citra
menjadi 14x14. Output 32 citra itu kemudian diproses pada layer convolutional
kedua dengan menggunakan filter-weights untuk setiap 32 fitur dan untuk setiap
output channel dari layer tersebut yaitu 64, citra diperkecil lagi menggunakan
pooling layer sehingga menghasilkan output 7x7.
Gambar 2.14 Aliran data tiga layer convolutional terakhir (Zaccone, et al., 2017)
Pada Gambar 2.14 output dari layer convolutional ketiga dipaparkan
menjadi vektor (flatten) dan menjadi input untuk fully connected layer, yang
kemudian masuk ke output layer dengan 10 neurons. Filter convolution diinisiasi
dengan nilai random, kemudian error antara hasil prediksi dengan kategori citra
sebenarnya dihitung dengan cost function.
27
seperti: INPUT => CONV => RELU => FC => SOFTMAX, yang menyatakan
convolutional neural network yang menerima input, menerapkan layer
convolutional, melakukan activasi relu, masuk ke fully-connected layer dan
softmax untuk mendapatkan hasil akhir probabilitas klasifikasi (Rosebrock, 2017).
( ) ∑ ( ) ( ) (2.4)
Gambar 2.19 Representasi visual layer convolutional (O'Shea & Nash, 2015)
Convolutional layer merupakan salah satu building block utama pada
convolutional neural network, layer ini memiliki learnable parameter yaitu
sekumpulan kernel K yang memiliki ukuran lebar dan tinggi yang selalu sama
(kotak) dan berukuran kecil serta memiliki depth (kedalaman) yang sama dengan
data input. Kernel K bergeser keseluruh volume input dan melakukan dot-product
dan menyimpannya kedalam activation map dua dimensi untuk setiap kernel K
(Rosebrock, 2017).
Gambar 2.22 Contoh max pooling dengan ukuran 2x2 dan stride 2
(Rosebrock, 2017)
Gambar 2.27 Model You Only Look Once (Redmon, et al, 2016)
YOLO memprediksi beberapa kotak pembatas per grid cell. Selama
pelatihan data, model hanya membutuhkan satu kotak pembatas yang bertanggung
jawab untuk memprediksi satu objek yang memiliki intersect over union (IOU)
paling tinggi dengan ground truth. YOLO menggunakan persamaan dibawah
untuk menghitung loss dan melakukan optimasi pada confidence.
38
Loss = (2.14)
∑∑ ( ̂) ( ̂)
∑∑ [(√ √̂ ) (√ √̂ ) ]
∑∑ ( ̂)
∑∑ ( ̂)
∑ ∑ ( ( ) ̂ ( ))
Fungsi loss digunakan untuk memperbaiki kotak pusat dan kotak pembatas
dari setiap prediksi. Setiap gambar dibagi keladam SxS grid dengan kotak
pembatas setiap grid nya. dan merujuk pada pusat dari kotak setiap prediksi
, dan merujuk pada kotak pembatas. dan digunakan untuk
meningkatkan titik berat pada kotak yang ada objeknya, dan menurunkan titik
berat pada kotak tersebut yang tidak ada objeknya. C merujuk pada confidence
dan ( ) merujuk pada prediksi klasifikasi. adalah bernilai 1, apabila kotak
pembatas jth dalam sel ith diprediksi terdapat objek, dan bernilai 0 untuk
sebaliknya. adalah bernilai 1, apabila objek berada di sel i dan bernilai 0
untuk sebaliknya. Fungsi loss ini menunjukan performa dari algoritma ini, dimana
semakin kecil loss maka semakin tinggi performanya.
39
Gambar 2.28 Arsitektur You Only Look Once (Redmon, et al, 2016)
YOLO ini juga dapat digunakan sebagai object detection secara realtime,
dimana ketika metode ini dibandingkan dengan model lainnya, YOLO memiliki
performa dengan pendeteksian objek dan kecepatan deteksi yang lumayan bagus.
Tabel 2.1 Perbandingan Realtime Detectors (Redmon, et al, 2016)
Realtime Detectors Train (Pascal VOC) mAP FPS
100Hz DPM 2007 16.0 100
30Hz DPM 2007 26.1 30
Fast YOLO 2007+2012 52.7 155
YOLO 2007+2012 63.4 45
Fastest DPM 2007 30.4 15
R-CNN Minus R 2007 53.5 6
Fast R-CNN 2007+2012 70.0 0.5
Faster R-CNN VGG-16 2007+2012 73.2 7
Faster R-CNN ZF 2007+2012 62.1 18
YOLO VGG-16 2007+2012 66.4 21
Di tahun yang sama yaitu tahun 2016 metode YOLO ini dikembangkan
untuk versi keduanya dengan mempublikasikan penelitian yang berjudul
YOLO9000: Better, Faster, Stronger.
Pada judul penelitian tersebut telah jelas bahwa YOLO V2 ini
dikembangkan dengan tiga poin yaitu lebih baik (better), lebih cepat (faster) dan
lebih kuat (stronger).
1. Better
Pengembangan yang dilakukan adalah dengan memfokuskan pada
peningkatan recall dan lokalisasi sambil mempertahankan akurasi klasifikasi serta
lebih kuat untuk berjalan pada gambar dengan ukuran berbeda, adapun poin-poin
yang mendukung dalam proses pengembangan ini adalah sebagai berikut:
a. Normalisasi Batch, dengan menambahkan normalisasi batch pada semua
konvolusi yang meningkatkan lebih dari 2% dalam proses pemetaan (mAP).
b. High Resolution Clasifier, dengan memperbaiki clasification network pada
resolusi 448x448 untuk 10 epoch di ImageNet yang dapat memberikan waktu
pada clasification network untuk menyesuaikan filter agar bekerja lebih baik
pada input dengan resolusi yang tinggi.
c. Convolutional With Anchor Box, dengan menghilangkan fully connected layer
dan menggunakan anchor box untuk memprediksi kotak pembatas.
d. Dimension Cluster, dengan menggunakan k-means cluster untuk mendapatkan
prior yang bagus secara otomatis atau cluster centroid. Dengan menggunakan
standar euclidean distance yang berbasis k-mean clustering tidak cukup baik
karena kotak yang lebih besar menghasilkan lebih banyak kesalahan daripada
kotak yang lebih kecil. YOLO V2 menggunakan k-means clustering yang
menghasilkan skor IOU yang baik:
( ) ( ) (2.15)
Cluster IOU
e. Direct Location Prediction, dengan memprediksi lebar dan tinggi dari kotak
sebagai batas dari cluster centroid dan memprediksi pusat koordinat dari kotak
relatif ke lokasi dari filter aplikasi dengan menggunakan fungsi sigmoid.
41
3. Stronger
Sebagian besar pendekatan untuk klasifikasi menggunakan lapisan softmax di
semua kategori yang mungkin untuk menghitung distribusi probabilitas akhir.
Menggunakan softmax mengasumsikan kelas-kelasnya saling berhubungan. Ini
dapat menimbulkan masalah dalam menggabungkan dataset, misalnya tidak ingin
menggabungkan ImageNet dan COCO dengan menggunakan model ini karena
kelas "norfolk terrier" dan "dog" tidak sama. Maka pada YOLO V2 ini klasifikasi
dibuat secara hirarki sehingga jenis objek dengan kategori yang sama dapat
diklasifikasi secara berbeda, sehingga YOLO V2 ini dikombinasikan dengan
Dataset WordTree.
43
Dataset Microsoft COCO, yang terdiri dari 100 ribu gambar menghasilkan 80
kelas objek umum yang disertai labelnya, seperti anjing, kucing, dll.
Dataset ImageNet, yang terdiri dari 13 juta gambar menghasilkan 22 ribu kelas
objek. Kelas objek yang dihasilkan lebih spesifik lagi seperti anjing cihuahua,
anjing bulldog, kucing anggora, kucing persia, dll.
Dari dua dataset diatas dapat disimpulkan bahwa kelas objek seperti anjing
dan cihuahua merupakan kelas objek yang berbeda, meskipun keduanya adalah
hewan jenis anjing. Namun, kita tidak bisa menyatukan dataset tersebut untuk
mendapatkan kelas objek yang lebih spesifik.
√∑ ( ) (2.16)
Contoh:
Terdapat 2 vektor data seperti berikut:
A = [0, 3, 4, 5]
B = [7, 6, 3, -1]
Euclidean distance dari vektor A dan B adalah:
√( ) ( ) ( ) ( ( )) (2.17)
√ (2.18)
2.1.12. Waterfall
Model waterfall atau model sekuensial linear (linear sequential), merupakan
model pengembangan perangkat lunak secara terurut dari mulai analisis,
perancangan, pengodean, pengujian. Pada tahap analisis yang pertama merupakan
proses spesifikasi kebutuhan yang perlu didokumentasikan, tahap perancangan
merupakan tahap merancang komponen-komponen yang akan diimplementasikan
49
2.1.13. Flowchart
Flowchart merupakan diagram yang dapat menggambarkan suatu kegiatan
atau pengolahan suatu informasi ataupun tahap-tahap suatu program (algoritma),
berikut merupakan beberapa simbol yang ada pada flowchart (Lucas, 1993).
Simbol Deskripsi
Akhir, Penyela Simbol ini menunjukan awal atau akhir dari
suatu aliran.
Variabel Yang
No Tahun ISSN Peneliti Judul Penerbit Hasil Temuan
Terkait
Muhammad Rancang Bangun Aplikasi absensi mahasiswa Absensi,
JURNAL
Yusuf, R. V. Aplikasi Absensi berbasis desktop berbasis mahasiswa,
TEKNIK
1. 2016 2337-3539 Hari Ginardi, Perkuliahan pengenalan wajah yang dapat pengenalan
ITS Vol. 5,
Adhatus Mahasiswa dengan melakukan pencatatan dan wajah,
No. 2
Solichah A. Pengenalan Wajah perekapan data absensi. eigenface, C#
Face
Recognition,
Halprin e- Analisis implementasi
Convolutional
Abhirawa, Pengenalan Wajah Proceeding algoritma convolutional
Neural
Jondri, M.Si., Menggunakan of neural network pada
2. 2017 - Network,
Anditya Convolutional Neural Engineering pengenalan wajah
Dropout,
Arifianto, ST., Network Vol. 4, No. menggunakan data testing
absensi
MT. 3 The Extended Yale Face B.
kehadiran
mahasiswa
M. Bahrul Sistem Pengenalan Sistem deteksi wajah untuk
Subkhi, Resty Wajah Untuk Presensi presensi mahasiswa di Eigenface, city
Simki-
Wulanningrum, Kuliah Dengan Metode universitas nusantara PGRI block distance,
Techsain
3. 2018 2599-3011 M.Kom., Danar Eigenface PCA Kediri 10 data training, presensi,
Vol. 2, No.
Putra (Principal Component pencahayaan terang dan jarak pengenalan
3
Pamungkas, Analysis) dan City 50cm yang menghasilkan wajah
M.Kom. Block 80% kecocokan wajah.
Implementasi FMIPA Implementasi convolutional Tomat,
4. 2018 - Tiara Shafira Convolutional Neural Universitas neural network menggunakan Convolutional
Network Klasifikasi Islam package keras untuk Neural
52
Citra Tomat Indonesia mengklasifikasikan tomat Network,
Menggunakan Keras Yogyakarta layak dan tidak layak Keras, R
pengujian pada 100 sampel
citra tomat dan menghasilkan
tingkat akurasi sebesar 90%.
Mengkaji sistem pencatatan
kehadiran mahasiswa
Sistem Pencatatan Jurnal Teori Absensi
berbasis pengenalan wajah di
Kehadiran Otomatis di dan kehadiran
Fenti Endrianti, ruang kelas secara otomatis
Ruang Kelas Berbasis Aplikasi mahasiswa,
Wawan menggunakan metode
5. 2018 2615-577X Pengenalan Wajah Ilmu pengenalan
Setiawan, Yaya convolutional neural network
Menggunakan Metode Komputer wajah, data
Wihardi yang bergantung pada
Convolutional Neural (JATIKOM) latih, akurasi,
kondisi pengambilan citra
Network (CNN) Vol 1, No. 1 kondisi citra
masukan, pendeteksian wajah
dan proses klasifikasi.
53
BAB III
METODE PENELITIAN
Tahap Penelitian
Pengumpulan Data
Analisis
Preprocessing Data
Perancangan Arsitektur
Pendeteksi Wajah
Desain
Perancangan Arsitektur
Pengenalan Wajah
Perancangan Arsitektur
Absensi Pengenalan Wajah
Pengkodean Arsitektur
Pendeteksi Wajah
Pengkodean
Pengkodean Arsitektur
Pengenalan Wajah
Pengkodean Arsitektur
Absensi Pengenalan Wajah
Implementasi
Pengujian Akurasi
Pengenalan Wajah
Implementasi Sistem
54
55
Mulai
Atur Source
Video dari Webcam
Ambil Citra
Dari Video
Mendeteksi Objek
Wajah
Tidak
Wajah
Terdeteksi ?
Ya
Tampilkan Bounding
Box di Wajah
Selesai
Start
Input image
(video frame)
Predict
B Bouding Box
Calculate
(x, y, w, h, confidence score)
Non-maximum suppression
End
Gambar 3.4 Contoh frame yang telah diubah ukurannya menjadi 416x416
3. Bagi gambar kedalam kisi SxS
Tahap selanjutnya pada algoritma Tiny Yolo v2 ini adalah membagi
citra masukan kedalam kisi SxS dengan nilai S = 13 yang sesuai dengan
hasil akhir dari konvolusi algoritma yang membagi gambar kedalam kisi
13x13, seperti terlihat pada Gambar 2.34.
59
Gambar 3.5 Contoh frame yang telah dibagi dengan grid 13x13
4. Mencari sel kisi yang bertanggung jawab untuk memprediksi wajah
Model wajah yang telah dilatih atau biasa disebut pre-trained dataset
dapat secara otomatis menentukan pusat dari objek wajah pada gambar
masukkan. Apabila pusat dari objek wajah jatuh kedalam sel kisi, maka sel
kisi tersebut bertanggung jawab untuk mendeteksi wajah tersebut. Apabila
di dalam sel tersebut berisi wajah, maka probabilitas wajah bernilai satu atau
Pr(wajah) = 1, dan sebaliknya atau Pr(wajah) = 0.
Gambar 3.6 Contoh frame yang terdeteksi pusat dari objek wajahnya
5. Memprediksi kotak pembatas B
Setiap sel kisi memprediksi kotak pembatas B (B bounding box) dan
confidence score dari setiap kotak pembatasnya. Nilai dari B dapat
ditentukan secara dinamis menyesuaikan dengan performa optimal
algoritma dalam mendeteksi objek. Pada penelitian ini, nilai dari B adalah 5
yang sesuai dengan arsitektur algoritma pada Gambar 2.34. Nilai tersebut
adalah bahwa algoritma yang digunakan mampu memprediksi 5 kotak
pembatas untuk setiap objek wajah yang muncul, ukuran dari setiap kotak
pembatas tersebut bisa berbeda karena melakukan prediksi pada layer yang
berbeda-beda.
60
VOC. Karena pada penelitian ini hanya perlu untuk mendeteksi satu jenis
objek, maka target tersebut hanya dapat mendeteksi objek tersebut, yaitu
wajah. Maka, probabilitas kondisionalnya adalah Pr(wajah|target) =
Pr(wajah).
Mulai
Dataset
Pendeteksian Wajah
Citra
Secara Realtime
Wajah
D = min(jarak(fiturinput, fiturdataset)
D < Threshold
Ya Tidak
Tampilkan Tidak
Face ID Dikenali
Selesai
√∑ ( ) (3.3)
Tiny Yolo V2, apabila wajah dikenali maka sistem akan menampilkan label Nomor
Pokok Mahasiswa (NPM) karena setiap pelabelan citra pada dataset adalah
dengan menggunakan NPM. Setelah wajah dikenali dan label citra didapatkan,
untuk menampilkan informasi lengkap terkait citra adalah dengan melakukan
permintaan (request) fungsi untuk dieksekusi yaitu meminta detail mahasiswa
berdasarkan NPM ke webservice Data UNMA, apabila detail mahasiswa yang
dicari di webservice Data UNMA ada, maka webservice akan menampilkan
response detail mahasiswa dalam bentuk file JSON yang kemudian diekstrak oleh
sistem DHMD untuk ditampilkan ke layar. Setelah informasi muncul, maka dosen
melakukan validasi antara wajah mahasiswa secara fisik dengan citra yang ada di
video secara realtime, apabila sesuai maka dosen menekan tombol Absen yang
kemudian sistem melakukan permintaan (request) fungsi absensi ke webservice
Data UNMA untuk dieksekusi yaitu menyimpan data absensi berupa identitas
kelas kuliah, identitas berita acara perkuliahan dan NPM. Apabila proses simpan
data absensi berhasil maka webservice menampilkan response success yang
kemudian diekstrak oleh sistem DHMD sehingga dapat ditampilkan pesan
berhasil. Untuk lebih jelasnya peneliti merepresentasikannya dalam bentuk
diagram pada Gambar 3.11 dibawah.
65
Mulai
Routing: GET
Atur Source
Video dari Webcam Database
Executing Request
Akademik
Ambil Citra
Dari Video
Is Data Exist?
Mendeteksi Wajah
Yes
Tidak
Wajah Response
Terdeteksi ? JSON
Ya No
Tampilkan Bounding Dataset
Box di Wajah Wajah
Pengenalan Wajah
(Face Recognition)
Tidak
Routing: POST
Wajah Dikenali?
Ya Request:
Absensi/{1}/{2}
Ambil Face ID
Database
Executing Request
DHMD
Ekstrak Respon
Webservice
Save Data
Tampilkan
Informasi
Mahasiswa
Yes
Success
Tampilkan Pesan
Response
2 1 meter
3 1,5 meter
4 2 meter
Menghadap ke bawah
7
25o
Menghadap ke bawah
8
45o
Menghadap ke depan
9
buka mata
Menghadap ke depan
10
tutup mata
Sekolah Tinggi baru, yaitu STKIP-YPPM dengan Program Studi Bahasa dan
Sastra Indonesia serta Pendidikan Kesegaran Jasmani dan Kesehatan.
Keberhasilan yang dicapai oleh STKIP-YPPM telah mendorong para
pendiri untuk segera mendirikan Sekolah Tinggi baru, yaitu STIP-YPPM dengan
membuka Program Studi Budidaya Pertanian, Sosek Pertanian dan Sosek
Peternakan dan mendirikan STIE-YPPM dengan Program Studi Manajemen dan
Akuntansi pada tahun 1998.
Pada tahun 2001, Yayasan Pembina Pendidikan Majalengka merintis
sekolah tinggi baru, yaitu Sekolah Tinggi Ilmu Kehutanan (STIK-YPPM) dengan
Program Studi Manajemen Hutan dan Budidaya Hutan yang izin operasionalnya
turun bersamaan dengan berdirinya Universitas Majalengka. Selanjutnya pada
tahun 2002 YPPM kembali mendirikan sekolah tinggi baru yaitu STAI-YPPM
dengan 4 program studi, yaitu : Program Studi Tarbiyah, Syariah, PGSD/MI dan
PGTKI/RA.
Untuk melengkapi berdirinya Universitas Majalengka, YPPM pada tahun 2004
mengusulkan enam Program Studi Eksak, yaitu : Manajemen Hutan, Budidaya
Hutan, Teknik Informatika, Teknik Sipil, Teknik Mesin dan Teknik Manajemen
Industri. Pada saat Universitas Majalengka ini didirikan, Sekolah Tinggi-Sekolah
Tinggi yang sudah ada berubah menjadi Fakultas-Fakultas. Saat ini terdapat tujuh
Fakultas, yaitu : FISIP, FKIP, FEKON, FAPERTA, FAI, FT, dan FH.
3.10.2 Lambang dan Arti Universitas Majalengka
3. Obor berbingkai hitam sebanyak tujuh ruas dengan api warna merah.
4. Sepasang sayap dengan jumlah bulu enam belas helas berwarna kuning
emas.
5. Batang pohon Maja bercabang dengan warna hitam putih.
6. Tunas berwarna putih dengan ujung tunas sebanyak delapan.
Arti Lambang
1. Perisai ; dikenal sebagai alat untuk mempertahankan dan melindungi yang
melambangkan bahwa seluruh sivitas akademika memiliki daya tahan dan
daya juang dalam mengabdikan diri kepada masyarakat.
2. Segi lima ; melambangkan asas Pancasila.
3. Warna dasar biru laut ; melambangkan bahwa dalam wadah Universitas
Majalengka diharapkan adanya kedamaian, ketenangan, rasa percaya diri
sendiri sendiri serta mampu memelihara keseimbangan lahir dan bathin
untuk menuntut dan mendalami ilmu pengetahuan seluas dan sedalam
lautan.
4. Sisi/garis pinggir hitam ; menggambarkan keteguhan, ketabahan hati
dalam menghadapi segala masalah.
5. Bintang bersudut delapan melambangkan Ketuhanan Yang Maha Esa :
bahwa tujua pendidikan dari Universitas Majalengka dalam
membentuk generasi / manusia Indonesia menjadi ilmuan yang bertaqwa
kepada Tuhan Yang Maha Esa.
6. Sudut Delapan ; merupakan kompas delapan penjuru angin yang
melambangkan bahwa para lulusan Universitas Majalengka dapat
menyebar keseluruh penjuru tanah air guna membangun bangsa dan
negara.
7. Obor bertangkai hitam dengan warna api merah melambangkan bahwa
ilmu sebagai penerang dan penyuluh kehidupan yang dinamis dengan
berdasar pada keberanian, kewiraan yang pantang menyerah.
8. Tangkai Obor warna hitam sebanyak tujuh ruas melambangkan keteguhan,
kekuatan, dan ketabahan hati. Jumlah tujuh mengingatkan pada bulan
tujuh atau Juli pertanda bulan dimulainya perintisan Universitas
Majalengka.
72
75
76
Teguh Dikri
15.14.1.0126 Kamera
1
Maulana Digital
Asep Bambang
3 17.14.1.0066 Webcam
Kurniawan
Yulia
4 17.14.1.0055 Krisnawathi Webcam
Dewi
M. Iqbal
5 17.14.1.0017 Webcam
Assegaf
Reyna Indra
6 14.14.1.0146 Webcam
Maulana
77
M. Syarif
8 15.14.1.0113 Webcam
Abdurrohman
Wildan
9 15.14.1.0127 Webcam
Rohmanudin
Yayat
10 15.14.1.0128 Webcam
Nurhidayat
Adapun hasil foto mahasiswa yang telah dikumpulkan seperti pada gambar
dibawah.
sebuah laman website yang dapat mendeteksi wajah dengan memberikan kotak
pembatas pada wajah yang terdeteksi.
4.1. Face ID yang ditampilkan adalah 151410144 yang merupakan nama file
wajah dengan jarak kedekatan 0.42 atau 42%. Adapun face descriptor dari wajah
yang ada di dataset dengan face ID tersebut adalah sebagai berikut.
0: -0.0840005874633789 66: -0.14327844977378845
1: 0.11700045317411423 67: -0.1526118516921997
2: 0.011817606166005135 68: 0.12510788440704346
3: -0.08086300641298294 69: -0.08754260838031769
4: -0.08169063925743103 70: -0.11240862309932709
5: -0.0100620798766613 71: 0.027659283950924873
6: -0.14057262241840363 72: -0.16724321246147156
7: -0.166653111577034 73: -0.14967596530914307
8: 0.10301537811756134 74: -0.3881770074367523
9: -0.09279121458530426 75: 0.03678563982248306
10: 0.24920912086963654 76: 0.37042340636253357
11: -0.01049149688333273 77: 0.05554667115211487
12: -0.20184332132339478 78: -0.26965081691741943
13: -0.16595228016376495 79: 0.03386969491839409
14: -0.09199371933937073 80: -0.007568306289613247
15: 0.19401898980140686 81: 0.024270374327898026
16: -0.23149076104164124 82: 0.19411174952983856
17: -0.1872386336326599 83: 0.15009614825248718
18: 0.0018460339633747935 84: -0.03081810101866722
19: -0.058300089091062546 85: 0.05049142986536026
20: 0.08101990818977356 86: -0.12238676846027374
21: 0.003570395987480879 87: 0.05704024061560631
22: 0.025568123906850815 88: 0.22269891202449799
23: 0.03449032083153725 89: -0.04553581774234772
24: -0.19909696280956268 90: -0.06867517530918121
25: -0.33421993255615234 91: 0.24891991913318634
26: -0.07569081336259842 92: 0.00572219118475914
27: -0.06684041768312454 93: 0.1289508193731308
28: -0.01652936078608036 94: 0.06484278291463852
29: -0.061053019016981125 95: 0.12404314428567886
30: -0.0654129758477211 96: -0.03278223052620888
31: 0.07666122168302536 97: 0.035247836261987686
32: -0.23177608847618103 98: -0.15658573806285858
33: -0.00905466079711914 99: 0.02308569848537445
34: -0.004744293168187141 100: 0.10015726834535599
35: 0.12018207460641861 101: 0.001604810357093811
36: 0.023739473894238472 102: -0.027161436155438423
37: -0.0027434134390205145 103: 0.15228070318698883
38: 0.18609663844108582 104: -0.0700993463397026
39: 0.035795800387859344 105: 0.09430034458637238
40: -0.19266489148139954 106: 0.042573653161525726
41: 0.051128312945365906 107: 0.0678320899605751
42: 0.0343460887670517 108: 0.015441151335835457
43: 0.2989523708820343 109: -0.004091108217835426
44: 0.21804873645305634 110: -0.10498355329036713
45: 0.010612601414322853 111: -0.1380952149629593
46: 0.025146562606096268 112: 0.12193193286657333
47: -0.10307934880256653 113: -0.2088741809129715
48: 0.09495867788791656 114: 0.18558906018733978
49: -0.1666499674320221 115: 0.1998654454946518
50: 0.0745467096567154 116: 0.024658994749188423
51: 0.17164960503578186 117: 0.11669513583183289
52: 0.06253577768802643 118: 0.16995258629322052
53: 0.05324883013963699 119: 0.07095310837030411
54: -0.04760141670703888 120: -0.030638255178928375
55: -0.12680751085281372 121: -0.042465388774871826
56: -0.017727723345160484 122: -0.20182651281356812
83
√∑( )
√( ) ( ) ( )
(( ) ( ))
√ (( ) ( ))
(( ) ( ))
Maka, nilai jarak antara deskriptor citra masukan dan deskriptor citra di
dataset adalah 0.42542005404139693 atau 0.42 jarak kedekatan. Jarak tersebut
merupakan jarak paling kecil (min) diantara citra lainnya yang ada di dataset dan
dapat diidentifikasi oleh sistem pengenalan wajah dengan menampilkan face ID
karena memiliki jarak kurang dari thershold (D) yang ditentukan, yaitu 0,45.
meskipun euclidean suatu wajah melebihi thershold yang ditentukan akan tetapi
wajah masih bisa dikenali. Selama pengujian, euclidean yang didapatkan
disimpan pada suatu tabel hubungan antara jarak dan kondisi wajah, seperti pada
Tabel 4.2. indikator untuk kondisi wajah yang digunakan pada pengujian ini
adalah menggunakan nomor sesuai dengan referensi kondisi wajah pada Tabel
3.2.
Berikut merupakan nilai euclidean distance pada masing-masing mahasiswa
selama pengujian.
1. Pada jarak 0,5 meter
Tabel 4.2 Nilai Euclidean Distance Jarak 0,5 Meter
Euclidean distance wajah kondisi ke-
No Nama
1 2 3 4 5 6 7 8 9 10
1 Hafidz Sanjaya 26 31 23 28 29 32 25 37 27 26
2 Hasna Faujiyah 24 32 31 33 32 35 32 34 21 22
3 Asep Bambang Kurniawan 29 36 31 31 24 28 28 35 25 28
4 Wildan Rohmanudin 32 41 39 47 32 35 31 32 23 24
5 Yulia Krisnawathi Dewi 22 30 30 32 25 27 24 28 15 16
6 M. Iqbal Assegaf 25 29 28 34 27 35 25 40 24 25
7 Teguh Dikri Maulana 32 38 35 39 34 36 32 38 39 38
8 Yayat Nurhidayat 36 45 41 44 43 47 38 40 35 37
9 M. Syarif Abdurrohman 31 35 29 32 30 37 35 45 25 27
10 Reyna Indra Maulana 36 34 26 39 28 34 41 48 29 30
Total Keberhasilan 10 10 10 9 10 9 10 9 10 10
Total Keberhasilan 10 10 10 9 10 10 9 8 10 10
Total Keberhasilan 10 9 10 8 10 10 10 8 10 10
Total Keberhasilan 10 8 9 7 9 9 8 8 10 10
terdapat 2 mahasiswa yang tidak dikenali sama sekali oleh sistem, hal tersebut
karena dipengaruhi beberapa faktor diantaranya mahasiswa yang tidak dikenali
merupakan mahasiswa yang menggunakan kacamata dan memiliki kulit yang
agak gelap.
Dibawah ini merupakan tabel dan grafik hasil pengujian akurasi adalah
sebagai berikut:
1. Hasil pengujian berdasarkan variasi wajah pada jarak 0,5 meter
Adapun tabel hasil pengujian akurasi pada jarak 0,5 meter dari Tabel 4.2.
Tabel 4.6 Hasil Pengujian Akurasi Jarak 0,5 Meter
100
Keberhasilan (%)
80
60
40
20
Kondisi Wajah
100
Keberhasilan (%)
80
60
40
20
Kondisi Wajah
100
Keberhasilan (%)
80
60
40
20
Kondisi Wajah
100
Keberhasilan (%)
80
60
40
20
Kondisi Wajah
45o, dan presentase 90% pada kondisi wajah menghadap ke kanan 25o,
menghadap ke atas 25o, dan menghadap ke atas 45o.
Dan berikut merupakan tabel keberhasilan jarak 0,5 meter, 1 meter, 1,5
meter, dan 2 meter.
Tabel 4.10 Keberhasilan Pada Masing-masing Jarak
98 97
96
96 95
94
Keberhasilan (%)
92
90
88
88
86
84
82
0,5 Meter 1 Meter 1,5 Meter 2 Meter
Jarak
5.1 Kesimpulan
Berdasarkan hasil penelitian yang telah dilakukan, dapat diambil
kesimpulan sebagai berikut:
1. Penerapan algoritma Tiny Yolo V2 sebagai sistem pendeteksi wajah yang
menggunakan Central Processing Unit (CPU) sebagai processing-nya
dengan mendapatkan deskripsi wajah yang terdeteksi dalam bentuk 128
vektor dengan menggunakan ResNet-34 yang kemudian diukur jaraknya
antara deskripsi wajah dari kamera dengan deskripsi wajah yang ada pada
dataset dengan menggunakan euclidian distance untuk proses pengenalan
wajah. Pada penelitian ini suatu wajah dikenali apabila jarak antara 2
wajah memiliki jarak yang kecil atau kurang dari sama dengan 0.45 atau
45%.
2. Pembuatan sistem pengenalan wajah berbasis website secara realtime
menggunakan library face-api.js dapat mempercepat proses
pengembangan karena memiliki berbagai operasi yang siap digunakan,
termasuk diantaranya algoritma Tiny Yolo V2, Resnet-34 dan euclidean
distance. Banyaknya operasi yang tersedia pada library dapat digunakan
untuk menentukan Face ID yang ingin ditampilkan, seperti pada penelitian
ini yaitu nomor pokok mahasiswa yang berasal dari nama berkas di
dataset. Nomor pokok mahasiswa (NPM) tersebut dapat digunakan untuk
absensi kehadiran pada sistem aplikasi daftar hadir mahasiswa dan dosen.
3. Jarak, posisi, penggunaan aksesoris dan warna kulit pada wajah sangat
mempengaruhi tingkat keberhasilan dalam mendeteksi dan
mengindentifikasi wajah. Dalam penelitian ini presentase keberhasilan
pada jarak 0,5 meter mencapai 97, jarak 1 meter 96%, jarak 1,5 meter 95%
dan jarak 2 meter dengan presentase 88% dimana terdapat 2 wajah yang
tidak terdeteksi dan teridentifikasi pada jarak tersebut karena
menggunakan kacamata dan memiliki warna kulit agak gelap.
95
96
A. S, R. & M., S., 2014. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi
Objek. Bandung: Informatika.
Abhirawa, H., J. & Arifianto, A., 2017. Pengenalan Wajah Menggunakan
Convolutional Neural Network. e-Proceeding of engineering, 4(3), pp.
4907-4916.
APPJI. 2018. Penetrasi & Profil Perilaku Pengguna Internet Indonesia. Jakarta:
Asosiasi Penyedia Jasa Internet Indonesia.
Booth, D. et al, 2004, Web Services Architecture, http://www.w3.org/TR/wsarch.
Diakses tanggal 30 September 2019.
C, Fairhurst, M. 1988. Computer Vision for Robotic System, Prentice Hall
International Ltd, United Kingdom.
Cao, Z. et al. 2010. Face Recognition With Learning-Based Descriptor. IEEE
Conference on Computer Vision and Pattern Recognition (CVPR).1: pp.
2707-2714.
Deng, L. & Yu, D., 2014. Deep Learning: Methods and Applications.Washington:
NOW Publisher.
Endrianti, Fenti, dkk., 2018. Sistem Pencatatan Kehadiran Otomatis di Ruang
Kelas Berbasis Pengenalan Wajah Menggunakan Convolutional Neural
Network (CNN). Jurnal Teori dan Aplikasi Ilmu Komputer (JATIKOM),
Vol. 1, No. 1, pp. 40-44
Fadlisyah, S.Si., 2007, Computer Vision dan Pengolahan Citra, Penerbit Andi:
Yogyakarta
Fielding, R.T., 2000, Architectural Styles and the Design of Network-based
Software Architectures, Disertasi, University of California, Irvine.
Gonzales, Rafael, C. Woods, Richard E. 2002. Digital Image Processing. New
Jersey : Prentice-Hall, Inc.
Goodfellow, I., Bengio, Y. & Courville, A., 2016. Deep Learning. MIT Press.
Hammond, K., 2015. Practical Artificial Intelligence for Dummies. Hoboken:
John Wiley & Sons, Inc.
97
98
Hurwitz, J. & Kirsch, D., 2018. Machine Learning for Dummies. Hoboken: John
Wiley & Sons, Inc..
LeeCun Y., Yoshua B., & Geoffrey H., 2015, Deep Learning, Nature Vol. 521,
pp. 436-444
Li, Stan Z. & Anil K. Jain. 2005. Handbook of Face Recognition. New York,
USA : Springer Science + Business Media, Inc
Lucas, H. C., 1993. Analisis, Desain dan Implementasi Sistem Informasi. 3th ed.
Jakarta: Erlangga.
Mohri, M., Rostamizadeh, A. & Talwalkar, A., 2012. Foundations of achine
Learning. Cambridge: The MIT Press.
O'Shea, K. & Nash, R., 2015. An Introduction to Convolutional Neural Networks.
New York: Cornell University.
Priyambodo, Tri Kuntoro, 2005, Implementasi Web Service Untuk Pengembangan
Layanan Pariwisata Terpadu, Jurnal Fakultas Hukum UII Vol. 10 No. 2 .
pp. 105-118
Rahmanudin, Abdul Aris. 2018. Penerapan Algoritma Convolutional Neural
Network Sebagai Fitur Ekstraktor Untuk Pencarian Citra. Skripsi.
Majalengka: Universitas Majalengka.
Redmon, Joseph, Ali Farhadi, 2016, YOLO9000: Better, Faster, Stronger, arxiv:
cornell university, pp. 1-9.
Redmon, Joseph, et. al. 2016. You Only Look Once: Unified, Real-Time Object
Detection 5th edition. arxiv: cornell university, pp. 1-10
Redmon, Joseph, et. al. 2018. YOLOv3: an Incremental Improvement. arxiv:
cornell university, pp. 1-6
Shafira,Tiara. 2018. Implementasi Convolutional Neural Network Klasifikasi
Citra Tomat Menggunakan Keras. Skripsi. Yogyakarta: FMIPA Universitas
Islam Indonesia.
Shakhnarovich and Moghaddam. 2004. Face Recognation in Subspaces.
Handbook of Face Recognation. Spriger-Verlag.
Subkhi, M. Bahrul, dkk., 2018. Sistem Pengenalan Wajah Untuk Presensi Kuliah
Dengan Metode Eigenface PCA (Principal Component Analysis) dan City
Block. Simki-Techsain, Vol. 2, No. 3, pp. 1-10
99