RECOGNITION
(Skripsi)
Oleh
NPM 1615061002
FAKULTAS TEKNIK
UNIVERSITAS LAMPUNG
BANDAR LAMPUNG
2021
SISTEM KEHADIRAN PEMUSTAKA MENGGUNAKAN FACE
RECOGNITION
Oleh
(Skripsi)
SARJANA TEKNIK
Pada
FAKULTAS TEKNIK
UNIVERSITAS LAMPUNG
BANDAR LAMPUNG
2021
ABSTRAK
Oleh
Kata kunci: YoloV5, Roboflow, SQL database, Javascript, dan Confusion Matrix
ABTRACT
By
Fakultas : Teknik
MENYETUJUI
1. Komisi Pembimbing
Pembimbing 1 Pembimbing 2
2. Mengetahui
Ketua Jurusan Ketua Program Study
Teknik ELektro Teknik Informatika
1. Tim Penguji
Saya yang bertandatangan dibawah ini, menyatakan bahwa skripsi yang saya yang
oleh saya sendiri. Semua hasil yang tertuang dalam skripsi ini telah mengikuti
Apabila di kemudian hari terbukti bahwa skripsi ini merupakan salinan atau dibuat
oleh orang lain, maka saya bersedia menerima sanksi sesuai dengan ketentuan
1997 sebagai anak kedua dari Bapak Prastyo (alm) dan Ibu
dalam kegiatan pramuka selama 2 tahun pada tahun 2007-2009. Kemudian pada
Gadingrejo selama masa SMP penulis juga aktif sebagai anggota dalam kegiatan
pramuka, paskibra dan paduan suara. Selanjutnya pada tahun 2013-2016 telah
matematika dan English Club divisi Scrable. Penulis pernah mengikuti beberapa
beberapa kali perlombaan Scrable di Unila sebagai juara umum tim dan di polinela
perangkat lunak pada tahun 2018 dan 2020, asisten praktikum algoritma dan
pemograman pada tahun 2018, asisten praktikum sistem basis data pada tahun 2019.
Pada tahun 2019 penulis pernah melaksanakan kerja praktik di salah satu
perusahaan yang berlokasi di Bandung yaitu PT. Bandung Zona Teknologi. Penulis
juga pernah mengikuti projek bersama dosen sebagai Technical Writer pada
Penulis telah melaksanakan Kuliah Kerja Nyata (KKN) di desa Gunung Sugih,
Penulis juga aktif dalam kegiatan desa yaitu karang taruna rw 003 dan pekon
003 dan diamanahkan sebagai wakil ketua divisi Pendidikan pada karang taruna
pekon Gadingrejo Utara pada tahun 2021. Penulis pernah mengikuti kegiatan
“Hai orang-orang yang beriman, bertakwalah kepada Allah dan hendaklah setiap
diri memperhatikan apa yang telah diperbuatnya untuk hari esok (akhirat); dan
bertakwalah kepada Allah, sesungguhnya Allah maha mengetahui apa yang kamu
kerjakan”
“Sesungguhnya Allah tidak akan mengubah keadaan suatu kaum, sebelum kaum
Bissmillahirrohmannirrohim
Recognition”. Sholawat serta salam penulis sampaikan untuk teladan bagi penulis
Skripsi ini disusun sebagai salah satu syarat untuk memperoleh gelar Sarjana
Teknik pada program studi Teknik Informatika, Jurusan Teknik Elektro, Fakultas
Teknik, Universitas Lampung. Dalam penyusunan skripsi ini penulis telah banyak
mendapat ilmu baru, diberi arahan, bimbingan, materi dan saran oleh dosen
pembimbing, serta semua pihak yang telah membantu terselesaikannya skripsi ini.
Untuk itu, pada kesempatan ini penulis ingin menyampaikan ucapan terimakasih
kepada:
1. Bapak Mona Arif Muda, S.T., M.T selaku kepala program studi Teknik
penulis.
2. Ibu Dr. Eng. Mardiana, S.T., M.T selaku pembimbing utama yang telah
4. Bapak Ir. Gigih Forda Nama, S.T., M.T.I selaku dosen penguji yang selalu
5. Seluruh dosen program studi Teknik Informatika atas segala ilmu dan
6. Ibu tercinta Maryati yang mampu berperan sebagai ibu, teman sekaligus
ayah bagi penulis. Rifan Kurniadi sebagai kakak satu-satunya yang selalu
7. Teman-teman Fitri, Ardi, Joni, Dianati, Elvillia, Elyas, Indah, Nanda, Nima,
9. Sahabat tercinta Dyah, Nanda, dan Rizal yang selalu memberi semangat
kepada penulis.
10. Juga kepada seluruh keluarga, saudara, sahabat dan teman lainnya yang
Halaman
DAFTAR TABEL................................................................................................ xx
xv
2.5 LabelImg ................................................................................................. 18
2.6 Roboflow ................................................................................................. 18
2.7 Anaconda 3 ............................................................................................. 19
2.8 Bahasa Pemograman Python .................................................................. 19
2.8.1 OpenCV ........................................................................................... 20
2.8.2 NumPy ............................................................................................. 20
2.8.3 Matplotlib ........................................................................................ 21
2.8.4 Pillow .............................................................................................. 21
2.8.5 PyYAML .......................................................................................... 21
2.8.6 Scipy ................................................................................................ 22
2.8.7 Tensorboard .................................................................................... 22
2.8.8 Torch ............................................................................................... 22
2.8.9 Tqdm ................................................................................................ 22
2.8.10 Seaborn ........................................................................................... 23
2.8.11 Pandas ............................................................................................. 23
2.9 Webcam .................................................................................................. 23
2.10 Node Js................................................................................................ 24
2.11 Confusion Matrix ................................................................................ 24
2.12 Perpustakaan ....................................................................................... 26
2.13 Perpustakaan Universitas Lampung.................................................... 27
2.14 Metode Kanban ................................................................................... 28
2.15 Penelitian Terkait ................................................................................ 29
xvi
BAB IV HASIL DAN PEMBAHASAN............................................................. 47
4.1 Hasil........................................................................................................ 47
4.1.1 Define .............................................................................................. 47
4.1.2 Pemodelan (Design) ........................................................................ 49
4.1.3 Build ................................................................................................ 50
4.1.4 Test .................................................................................................. 71
4.1.5 Report .............................................................................................. 97
4.2 Pembahasan Kanban............................................................................. 102
4.2.1 Membangun Sistem Pengenalan wajah ......................................... 102
4.2.2 Membangun database sistem......................................................... 104
4.2.3 Membuat Tampilan Data yang Diambil dari Database ................. 104
4.2.4 Membuat Fitur pada Halaman Report ........................................... 105
4.2.5 Melakukan Perhitungan Menggunakan Confusion Matrix ........... 105
xvii
DAFTAR GAMBAR
Gambar Halaman
Gambar 2. 1 Sejarah Face Recognition[3] .............................................................. 7
Gambar 2. 2 Proses Pengenalan Wajah[3] .............................................................. 9
Gambar 2. 3 Contoh Network Architecture untuk pengenalan wajah[3].............. 10
Gambar 2. 4 Ruang lingkup kecerdasan buatan .................................................... 11
Gambar 2. 5 Konsep Dasar Deep Learning .......................................................... 12
Gambar 2. 6 Deteksi Model Yolo[7]..................................................................... 13
Gambar 2. 7 CSP DenseNet [12] .......................................................................... 15
Gambar 2. 8 Spatial Pyramid Pooling Layer[13] .................................................. 16
Gambar 2. 9 PANet[14] ........................................................................................ 17
Gambar 2. 10 Contoh Penggunaan LabelImg ....................................................... 18
Gambar 2. 11 Logo Roboflow .............................................................................. 18
Gambar 2. 12 Logo Anaconda .............................................................................. 19
Gambar 2. 13 Webcam pada Laptop ..................................................................... 23
Gambar 2. 14 Logo Node.Js.................................................................................. 24
Gambar 2. 15 Confusion Matrix ........................................................................... 25
Gambar 2. 16 Perpustakaan Universitas Lampung ............................................... 27
Gambar 3. 1 Alur Penelitian.................................................................................. 35
Gambar 3. 2 User's Story ...................................................................................... 36
Gambar 3. 3 Fitur untuk Sistem Daftar Hadir Pemustaka .................................... 37
Gambar 3. 4 Daftar Backlog.................................................................................. 38
Gambar 3. 5 Diagram Alir Deteksi Objek Menggunakan Model Custom YoloV5-s
............................................................................................................................... 39
Gambar 3. 6 Diagram Alir Membangun Dataset .................................................. 40
Gambar 3. 7 Diagram Alir Training Dataset ......................................................... 40
Gambar 3. 8 Diagram Alir Pengujian ................................................................... 41
Gambar 3. 9 Diagram Alir Pengujian Real-time................................................... 41
Gambar 3. 10 Diagram Alir Tiap Library pada YOLOv5 .................................... 42
Gambar 3. 11 Entity Relation Diagram................................................................. 44
Gambar 4. 1 User's Story ...................................................................................... 48
Gambar 4. 2 Fitur Terpilih .................................................................................... 48
Gambar 4. 3 Backlog Pengembangan Sistem ....................................................... 49
Gambar 4. 4 Kanban Board Progres 1 .................................................................. 50
Gambar 4. 5 Annonation Image ............................................................................ 51
xviii
Gambar 4. 6 Upload dataset ke Roboflow ............................................................ 53
Gambar 4. 7 Train/test Split .................................................................................. 53
Gambar 4. 8 Prepocessing Options ....................................................................... 54
Gambar 4. 9 Augmentation Output ....................................................................... 54
Gambar 4. 10 Model Custom YoloV5-s ............................................................... 56
Gambar 4. 11 Perintah Training ............................................................................ 57
Gambar 4. 12 Arsitektur Model YoloV5-s ........................................................... 60
Gambar 4. 13 Proses Training Dataset .................................................................. 62
Gambar 4. 14 Grafik Result Training ................................................................... 63
Gambar 4. 15 Train batch 1................................................................................... 65
Gambar 4. 16 Train batch 2................................................................................... 66
Gambar 4. 17 Test batch 0_gt ............................................................................... 66
Gambar 4. 18 Test batch 0_pred ........................................................................... 67
Gambar 4. 19 Kanban Board Progres 2 ................................................................ 67
Gambar 4. 20 Database mahasiswa ....................................................................... 68
Gambar 4. 21 Sourcode untuk menghubungkan sistem dengan Database............ 68
Gambar 4. 22 Kanban Board Progres 3 ................................................................ 69
Gambar 4. 23 Halaman Report.............................................................................. 70
Gambar 4. 24 Halaman Cetak ............................................................................... 70
Gambar 4. 25 Kanban Board Progres 4 ................................................................ 71
Gambar 4. 26 Perintah Pengujian 1....................................................................... 72
Gambar 4. 27 Hasil Pengujian 1 ........................................................................... 73
Gambar 4. 28 Perintah Pengujian 2....................................................................... 79
Gambar 4. 29 Hasil Pengujian 2 ........................................................................... 79
Gambar 4. 30 Peintah Pengujian 3 ........................................................................ 85
Gambar 4. 31 Hasil Pengujian 3 ........................................................................... 86
Gambar 4. 32 Perintah Pengujian 4....................................................................... 88
Gambar 4. 33 Hasil Pengujian 4 ........................................................................... 88
Gambar 4. 34 Perintah Pengujian Secara Real-time ............................................. 92
Gambar 4. 35 Pengenalan Real-Time ................................................................... 92
Gambar 4. 36 Pengujian Menggunakan Masker ................................................... 94
Gambar 4. 37 Kanban Board Progres 5 ................................................................ 97
Gambar 4. 38 Hasil Deteksi dan Halaman Report ................................................ 97
Gambar 4. 39 Diagram blok kerja sistem.............................................................. 98
Gambar 4. 40 Source Code Mengambil Data Hasil Deteksi Real-Time............... 98
Gambar 4. 41 Source Code untuk Menghubungkan Halaman WEB dengan
Database ................................................................................................................ 99
Gambar 4. 42 Source code untuk Push Data ke Halaman Report ......................... 99
Gambar 4. 43 Daftar Backlog 1 .......................................................................... 102
Gambar 4. 44 Daftar Backlog 1 Revisi ............................................................... 103
Gambar 4. 45 Daftar Backlog 2 .......................................................................... 104
Gambar 4. 46 Daftar Backlog 3 .......................................................................... 104
Gambar 4. 47 Daftar Backlog 4 .......................................................................... 105
Gambar 4. 48 Daftar Backlog 5 .......................................................................... 105
xix
DAFTAR TABEL
Tabel Halaman
Tabel 2. 1 Perbedaan Pemrosesan Wajah ............................................................... 9
Tabel 2. 2 Contoh Kanban Board.......................................................................... 28
Tabel 2. 3 Penelitian Terkait ................................................................................. 29
Tabel 2. 4 Skenario uji pada pengujian foto dan video ......................................... 45
Tabel 2. 5 Skenario uji pada pengujian foto dan video ......................................... 46
Tabel 3. 1 Alat-Alat yang Digunakan ................................................................... 32
Tabel 4. 1 Jumlah Data yang Berhasil Diunggah .................................................. 52
Tabel 4. 2 Pembagian Dataset ............................................................................... 55
Tabel 4. 3. Arsitektur Jaringan Custom YOLOv5-s ............................................. 58
Tabel 4. 4 Prosedur Pengujian 1 ........................................................................... 72
Tabel 4. 5 Data Pengujian Pengenalan Wajah menggunakan Data Test .............. 73
Tabel 4. 6 Confusion Matrix untuk foto data test ................................................. 76
Tabel 4. 7 Data Perhitungan TP, TN, FP dan FN ................................................. 77
Tabel 4. 8 Data Hasil Kinerja Sistem Pengenalan Wajah ..................................... 78
Tabel 4. 9 Skenario Pengujian 1 ........................................................................... 78
Tabel 4. 10 Prosedur Pengujian 2 ......................................................................... 78
Tabel 4. 11 Data Pengujian Pengenalan Wajah menggunakan Data Test ............ 80
Tabel 4. 12 Confusion Matrix untuk 60 foto......................................................... 82
Tabel 4. 13 Data Perhitungan TP, TN, FP dan FN ............................................... 83
Tabel 4. 14 Data Hasil Kinerja Sistem Pengenalan Wajah ................................... 84
Tabel 4. 15 Tabel Rata-Rata Pengujian Menggunakan foto ................................. 84
Tabel 4. 16 Skenario Uji 2 .................................................................................... 84
Tabel 4. 17 Prosedur Pengujian 3 ......................................................................... 85
Tabel 4. 18 Skenario Pengujian 3 ......................................................................... 87
Tabel 4. 19 Prosedur Pengujian 4 ......................................................................... 87
Tabel 4. 20 Confusion Matrix untuk Video 2 ....................................................... 89
Tabel 4. 21 Data Perhitungan TP, TN, FP dan FN ............................................... 90
Tabel 4. 22 Data Hasil Kinerja Sistem Pengenalan Wajah ................................... 90
Tabel 4. 23 Rata-Rata Pengujian Menggunakan Video ....................................... 91
Tabel 4. 24 Skenario Pengujian 4 ......................................................................... 91
Tabel 4. 25 Prosedur Pengujian 5 ......................................................................... 91
Tabel 4. 26 Skenario Pengujian 5 ......................................................................... 93
Tabel 4. 27 Perhitungan Kecepatan Deteksi Objek .............................................. 95
Tabel 4. 28 Perhitungan Frame Deteksi Objek ..................................................... 96
xx
BAB 1
PENDAHULUAN
Computer Vision atau Visi Komputer adalah bidang studi yang berkaitan dengan
digital seperti foto dan video. Visi Komputer erat kaitannya dengan akuisisi citra,
gambar digital sehingga didapatkannya sebuah informasi. Visi komputer ini adalah
bidang multidisiplin yang secara luas disebut subbidang kecerdasan buatan dan
pengenalan wajah manusia atau lebih dikenal dengan Face Recognition. Dalam
pengenalan wajah yang salah satunya dimanfaatkan untuk membuat daftar hadir
Lampung saat ini menggunakan scan barcode sehingga pemustaka harus memindai
1
KTM terlebih dahulu sebelum menggunakan fasilitas perpustakaan. Perpustakaan
setiap hari. Namun, tidak semua pemustaka mengisi daftar hadir pemustaka
sehingga daftar hadir pemustaka tidak terdata dengan baik. Dengan memanfaatkan
Tidak hanya mengenali wajah pemustaka saja, sistem ini juga dapat menyimpan
data report atau data pemustaka yang dikenali. Data report dari pengenalan wajah
Tujuan dari penelitian ini yaitu membangun sistem daftar hadir pengunjung
2
1.3 Rumusan Masalah
user.
BAB I: PENDAHULUAN
Pada bab ini menjelaskan mengenai latar belakang permasalahan, tujuan penelitian,
1. Computer Vision
2. Face Recognition
3. Deep Learning
3
5. LabelImg,
6. Roboflow
7. Anaconda 3
9. Webcam
10. Node.Js,
Pada bab ini menjelaskan waktu dan tempat pelaksanan penilitian, alat dan bahan
serta tahapan penelitian (Define, Design, Build, Testing, dan Pelaporan) yang
dilakukan.
Build, Testing, dan Pelaporan) serta pembahasan secara lengkap mengenai Kanban
4
BAB V: SIMPULAN DAN SARAN
Pada bab ini berisi tentang kesimpulan hasil penelitian dan saran untuk
DAFTAR PUSTAKA
LAMPIRAN
5
BAB II
TIJAUAN PUSTAKA
Computer Vision atau Visi Komputer adalah bidang studi yang berkaitan dengan
digital seperti foto dan video. Visi Komputer erat kaitannya dengan akuisisi citra,
gambar digital sehingga didapatkannya sebuah informasi. Visi komputer ini adalah
bidang multidisiplin yang secara luas disebut subbidang kecerdasan buatan dan
machine learning.[1]
Sejarah Computer vision dimulai pada tahun 1960-an. Saat itu, seorang siswa
bernama Larry Robert dari MIT mengerjakan tesis yang membahas kemungkinan
mengestraksi informasi geometri 3D dari tampilan perspektif blok 2D. Pada tahun
deteksi api, kompensasi gerak, dan pemodelan polyhedral. Pada tahun 1980-an
6
aspek matematika untuk pemodelan kontur, pengenalan tekstur, dan skala ruang
dalam bidang computer vision dilakukan, hingga tahun akhir 1990-an computer
vision telah mencapai berbagai bidang ilmu komputer antara lain computer graphic,
Handcraft, Shallow Learning dan Deep Learning. Pada awal 1990-an studi tentang
2000-an. Namun, metode ini gagal mengatasi masalah ketika terjadi perubahan
wajah yang tidak terkontrol atau yang menyimpang dari asumsi sebelumnya.
Kemudian diawal tahun 2000-an Gabor dan Local Binary Pattern berbasis local
7
handcraft mencapai kinerja yang kuat dengan ekstensi bertingkat dan berdimensi
tinggi, juga melakukan pemfilteran lokal yang tidak berubah. Sayangnya, local
dengan satu atau dua representasi layers seperti pemfilteran, histogram, dan
deskripstor local dan transformasi fitur. Namun, hampir satu dekade shallow hanya
tidak cukup untuk mengestraksi fitur identitas yang stabil ketika berbeda dengan
dunia nyata. Tetapi, pada tahun 2012 AlexNet memenangkan kompetisi ImageNet
dengan margin besar menggunakan Teknik yang disebut dengan Deep Learning.
multiple layers untuk ekstraksi dan tranformasi fitur. CNN ini menggunakan
beberapa layer dengan layer pertama mirip dengan Gabor, layer kedua mempelajari
fitur tekstur yang lebih kompleks, layer ketiga lebih kompleks dan beberapa
struktur sederhana mulai muncul seperti hitung tinggi dan mata besar, layer
Face recognition (pengenalan wajah) merupakan salah satu bidang dari Computer
8
secara otomatis. Sistem ini dapat dikatakan sebagai sistem visual manusia tentang
komputer dapat mengenali wajah seseorang, maka dapat dibagi menjadi 3 langkah
yaitu, pemrosesan wajah dapat menggunakan gambar atau video, ekrtrasi fitur
seperti melakukan normalisasi data, dan implementasi dari ekstraksi fitur[3]. Simak
a. Pemrosesan wajah
wajah, seperti pose, iluminasi, ekspresi, dan oklusi yang dapat mempengaruhi
peforma face recognition. Terdapat dua proses pemrosesan wajah yaitu one to many
9
variabilitas berpose dari satu
gambar
many to one Metode ini memulihkan Antoencoder, CNN,
pandangan kanonik gambar GAN
wajah dari satu atau banyak
gambar pandang nonfrontal,
kemudian, FR dapat dilakukan
seolah-olah itu di bawah kondisi
yang terkendali.
wajah. Dalam scenario, sekumpulan subjek dilakukan inisialisasi dalam satu galeri
10
dan selama pengujian akan terdapat subjek baru. Setelah deep network melakukan
training terhadap data besar dengan kemungkinan nilai loss Function, lalu gambar
representasi fitur. Verifikasi akan melihat satu per satu gambar yang serupa antara
Deep Learning merupakan salah satu metode pembelajaran Machine Learning yang
Deep Learning mampu membedakan objek baik berupa manusia atau benda sekitar.
Dalam deep learning dikenal istilah neural network yang mengacu pada
11
Gambar 2. 5 Konsep Dasar Deep Learning
Gambar 2.5 merupakan konsep dasar Deep Learning, pada Deep Learning terdapat
proses konvolusi, konvolusi adalah proses penjumlahan dari perkalian tiap titik
pada kernel dengan setiap titik pada dungsi masukan. Kernel dioperasikan secara
bergeser dengan fungsi f(x). Untuk menggeser tiap kernel digunakan stride. Setiap
kali konvolusi nilai pada kernel dan stride dapat dimodifikasi. [5]
Yolo (You Only Look Once) merupakan algoritma deteksi object secara real-time
dengan tingkat akurasi yang tinggi. Algoritma YOLO menggunakan jarigan saraf
tiruan (JST) untuk mendeteksi objek pada sebuah citra. Jaringan ini membagi citra
menjadi beberapa wilayah dan memprediksi setiap kota pembatas. YOLO sangat
baik dalam memprediksi citran dan mengklasifikasi citra. YOLO juga dapat
12
Konsep deteksi objek pada model YOLO dapat dilihat pada gambar berikut:
Gambar 2.6 merupakan proses deteksi model Yolo, tahapan deteksi objek akan
1. Bagi citra menjadi S x S grids. Misal S=7, maka tiap grid cell memiliki
2. Tiap grid cell bertanggung jawab untuk mendeteksi objek dan tiap grid cells
seberapa yakin model tersebut bahwa setiap grid berisi objek dan seberapa
3. Setiap grid cell memprediksi probabilitas kelas (C) yang berisi objek. Setiap
objek tersebut.[7]
13
2.4.2 Sejarah YOLO
YOLO v1 pertama kali dikenalkan pada Mei 2016 oleh Joseph Redmon, ini
Desember 2017, Joseph memperkenalkan versi lain dari YOLO melalui jurnal yang
dan stabil. Namun, pada bulan April 2020, Alexey Bochkovskiy memperkenalkan
YOLOv4[10], beberapa hari setelah YOLOv4, Glen merilis YOLOv5 pada 27 Mei
2020
2.4.3 YOLOv5
YOLOv5 masih dalam tahap pengembangan sehingga sering terjadi pembaruan dari
ini menggunakan rilis awal pada versi 3.0. Saat ini pengembang YOLOv5 belum
arsitektur jaringan atau jumlah layer dan jumlah parameter. Arsitektur YOLOv5
memiliki 3 bagian yaitu Model Backbone, Model Neck dan Model Head.
14
a. Model Backbone
Model Backbone digunakan untuk mengestrak fitur-fitur penting dari citra masukan
Gambar 2.7 merupakan proses ekstraksi fitur menggunakan CSP DenseNet. CSP
(Cross Stage Partial) didasarkan pada prinsip yang sama dari DenseNet hanya saja
pada CSP masukan dipisah menjadi 2 porsi, dengan Sebagian akan diteruskan
melalui dense blok yang akan melakukan convolution dan sebagian dikirim
langsung ketahap selanjutnya tanpa diproses. Lalu bagian blok yang melakukan
Pooling) layer.
15
Gambar 2. 8 Spatial Pyramid Pooling Layer[13]
Gambar 2.8 merupakan gambar SPP layer, membantu mengeskstrak fitur penting
pada gambar input dengan input yang bervariasi dan menghasilkan keluaran sama.
Pada bagian SPP layer menjaga ukuran konstan pada feature maps dengan 3 fitur
b. Model Neck
Model neck pada YOLOv5 menggunakan PANet yang mengadopsi struktur Feature
Pyramids Network (FPN). Model PANet ini digunakan untuk untuk membantu
model mengeneralisasi dengan baik penskalaan objek. Hal ini sangat membantu
mengidentifikasi objek yang sama dengan ukuran dan skala yang berbeda.
16
Gambar 2. 9 PANet[14]
Gambar 2.9 merupakan gambar PANet untuk bagian neck, PANet ini digunakan
c. Model Head
Model head digunakan untuk melakukan deteksi akhir, model ini menerapkan
anchor boxes pada fitur dan menghasilkan vektor keluaran akhir dengan probalitas
YOLOv5 menggunakan leaky ReLU dan Sigmoid sebagai fungsi aktivasi. Fungsi
aktivasi Leaky ReLU digunakan di lapisan tengah atau hidden layers sedangkan
Sigmoid digunakan dilapisan deteksi akhir. Fungsi aktivasi adalah fungsi untuk
menghitung jumlah input weight dan bias pada jaringan syaraf tiruan sehingga
dapat mengaktifkan dan tidak mengaktifkan neuron. Nilai loss pada YoloV5
dihitung berdasarkan skor obyektifitas, skor probabilitas kelas, dan skor regresi
17
2.5 LabelImg
Gambar 2.10 merupakan cotoh penggunaan LabelImg. LabelImg adalah alat anotasi
gambar grafis yang dapat membentuk bounding box setelah pelabelan dilakukan.
LabelImg ditulis menggunakan python dan menggunakan Qt (salah satu GUI pada
python). Output data yang telah diberi label dapat disimpan dalam berbagai format
file, antara lain file XML dalam format PASCAL VOC, format yang digunakan
2.6 Roboflow
platform yang bertujuan untuk membangun model deteksi dengan data khusus yang
18
telah dibuat. [16] Roboflow dapat diakses digunakan secara gratis dengan maksimal
2.7 Anaconda 3
science yang dapat digunakan untuk package manager dan mengelola environment.
Python adalah salah satu Bahasa pemograman tingkat tinggi yang dapat melakukan
eksekusi sejumlah instruksi dengan metode orientasi objek, Python juga merupakan
bahasa pemograman yang open souce sehingga dapat digunakan secara bebas
19
bahkan untuk kepentingan komersial. Python dapat digunakan di berbagai macam
2.8.1 OpenCV
Open CV adalah sebauah library yang di bangun oleh intel yang dapat digunakan
untuk berbagai platform misalnya windows, Linux, Mac dan lainnya. Open CV lebih
Open CV memiliki tipe data primitif yang hanya dimiliki oleh Open CV, tipe data
ini berupa struct yang didefinisikan dalam cxtypes.h yang akan terisntal bersamaan
saat install Open CV. Beberapa tipe data yang ada di Open CV antara lain: CVPoint,
2.8.2 NumPy
NumPy (Numerical Python) adalah library python yang menyediakan objek array
20
matematika, logika, manipulasi bentuk, pengurutan, pemilihan, transformasi
fourier distrit, aljabar linier dasar, operasi stastisik dasar, simulasi acak, dan
lainnya. [21]
2.8.3 Matplotlib
Matplotlib adalah library untuk membuat plot 2D array dari python. Matplotlib
dapat menajikan data dalam bentuk gambar plot dan histrogram, [22]
2.8.4 Pillow
Pillow dibangun diatas PIL (Python Image Library) yang merupakan modul penting
mendukung berbagai macam format gambar antara lain "jpeg", "png", "bmp", "gif",
2.8.5 PyYAML
PyYAML (Python YAML), YAML singkatan dari YAML Ain’t markup language
merupakan bahasa serialisasi data yang dirancang agar mudah dipahami manusia
dan dapat menjalankan tugas sesuai yang diharapkan. YAML ini berguna untuk
21
2.8.6 Scipy
dibangun di atas ekstensi Numpy dari python. Scipy dibangun untuk melakukan
2.8.7 Tensorboard
2.8.8 Torch
Torch merupakan sebuah paket yang mimiliki struktur data tensor multi-dimensi
utilitas untuk serialisasi tensor. Torch berjalan menggunkan CUDA sehingga untuk
2.8.9 Tqdm
Tqdm (Taqadum dalam Bahasa arab) yang memiliki arti proses, atau library python
kemajuan dari operasi yang sedang berjalan. Tqdm juga menampilkan tingkat iterasi
22
yang sedang berjalan, waktu penyelesaian yang telah berlalu dan perkiraan waktu
2.8.10 Seaborn
Seaborn adalah library python yang digunakan untuk visualisai data beradarkan
grafik statistik yang menarik dan informatif. Seaborn membantu dalam menjelajahi
2.8.11 Pandas
Pandas adalah paket python yang menyediakan struktur data yang cepat, fleksibel,
data dan analisis data yang mudah. Pandas dapat digunakan unuk membuat tabel,
mengecek data, dan mengubah dimensi data. Struktur data pada pandas disebut
dengan DataFrame yang dapat membaca data dalam format file .txt, .csv, dan
.tsv.[30]
2.9 Webcam
23
Gambar 2.13 merupakan gambar webcam pada laptop, Webcam (Web Camera)
merupakan kamera real-time yang gambarnya bisa diakses dan dilihat melalui web,
program instant messaging, atau aplikasi video call. Webcam merupakan kamera
video digital kecil yang dihubungkan melalui port USB atau port COM ke
2.10 Node Js
Gambar 2.14 merupakan logo Node.JS, Node.Js merupakan software yang didesain
untuk pengembangan aplikasi web. Aplikasi ini ditulis dalam campuran Bahasa
C++ dan JavaScrpit. Tidak seperti kebanyakan JavaSckript yang dijalankan pada
server karena dukungan dari V8 Engine buatan Google dan beberapa modul bawaan
yang terintegrasi seperti modul http, modul filesystem, modul security dan beberapa
Confusion matrix (error matrix) adalah Teknik yang digunakan untuk mengukur
kinerja model pada kasus klasifikasi. Confusion matrix berbentuk tabel matriks
24
yang menggambarkan kinerja model klasifikasi pada data uji yang nilai sebenarnya
diketahui.[33]
a. True Positives (TP) adalah jumlah record data positif yang diklasifikasikan
b. False Positives (FP) adalah jumlah record data negatif yang diklasifikasikan
c. False Negatives (FN) adalah jumlah record data positif yang diklasifikasikan
d. True Negatives (TN) adalah jumlah record data negatif yang diklasifikasikan
(prediksi) secara benar oleh algoritma. Untuk mencari nilai akurasi dapat
menggunakan persamaan:
25
𝑇𝑃+𝑇𝑁
Akurasi = 𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁 𝑥100% (1)
positif dengan keseluruhan hasil prediksi yang bernilai positif. Nilai precission
keseluruhan data benar positif. Untuk mendapat nilai recall dapat gunakan
persamaan:
𝑇𝑃
Recall= 𝑇𝑃+𝐹𝑁 𝑥100% (3)
2.12 Perpustakaan
Perpustakaan erat kaitannya dengan buku dan tempat buku tersebut berada,
ditambah lagi dengan koleksi dalam bentuk data analog maka perpustakaan
26
perkembangan teknologi dan lokasi perpustakaan. Salah satunya Perpustakaan
perguruan tinggi merupakan salah satu unsur penunjang perguruan tinggi dalam
perpustakaan perguruan tinggi memiliki beberapa fungsi antara lan: fungsi edukasi,
informasi.
teknologi.[36]
27
2.14 Metode Kanban
Kanban adalah metode secara bertahap meningkatkan apa pun yang Anda lakukan,
"kartu visual," atau "papan nama," untuk menunjukkan alur kerja yang membatasi
Work in Progress (WIP). Kanban telah digunakan dalam Lean Production selama
lebih dari setengah abad. Metode kanban adalah metode untuk mendefinisikan,
seperti layanan profesional, upaya kreatif dan desain fisik dari perangkat lunak.
Kanban:
3. Mangelola alur
28
2.15 Penelitian Terkait
29
Face Images using dari proses training. Tujuan
you only look once penelitian yaitu memprediksi
(yolo) gender (pria dan wanita) secara
(Varnima EK)[40] real-time. Pengujian memperoleh
nilai akurasi sebesar 84,69%.
Detecting Heavy Algoritma Yolo V5 Penelitian menggunakan YOLOv5
Goods Vehicles in dan platform roboflow untuk
Rest Area in Winter mempersiapkan dataset sebelum
Condition Using ditraining, YOLOv5 digunakan
YOLOV5 (Margit untuk mendeteksi kendaraan berat
Kasper-Eulaers, pada musim dingin dengan tujuan
Nico Hahn, Stain mengetahui kendaran tersebut
Berger) [41] diparkir di suatu area. Berdasarkan
hasil pengujian sistem ini memiliki
nilai akurasi 0.63 untuk
truck_front, 0.52 untuk truck_back
dan 0.95 untuk mobil.
Convolutional Algoritma CNN Peneliti menggunakan salah satu
Neural Networks metode deep neural networks yaitu
untuk Pengenalan Convolutional Neural Networks
Wajah Secara Real- (CNN) sebagai pengenalan wajah
Time secara real-time untuk klasifikasi
(Muhammad Zufar wajah. Metode ini
dan Budi diimplementasikan dengan dengan
Setiyono)[42] bantuan library OpenCV untuk
deteksi wajah dengan peragkat
web cam M-Tech 5MP. Hasil uji
coba munggunakan konstruksi
model Convolutional Neural
Networks sampai kedalaman 7
lapisan dengan input dari hasil
ekstraksi Extended Local Binary
Pattern dengan radius 1 dan
neighbor 15 menunjukkan kinerja
pengenalan wajah meraih rata-rata
tingkat akurasi lebih dari 89%
dalam ∓ 2 frame per detik.
Penerapan Kanban Kanban dan Sistem kanban yang ada di
pada Sistem Production inventori PT FSCM
Inventori PT FSCM Planning and Manufacturing memiliki sistem
Manufacturing Inventory Control peredaran yang melalui 4 bagian
Indonesia[43] besar yang terdapat di perusahaan.
30
Bagian yang terdapat di
perusahaan yaitu gudang
penunjang, office PPC,
procurement, dan gudang
receiving. Penerapan Kanban pada
sistem inventori PT FSCM
Manufactur sudah cukup baik
namun perlu pemahaman
mengenai work instruction dari
Kanban dengan begitu Kanban
akan berjalan dengan
sepeneuhnya.
Pengembangan Algoritma YOLO Sistem yang dibangun merupakan
Deteksi Citra Mobil sistem untuk mengetahui posisi
Untuk Mengetahui parkir yang dapat digunakan.
Jumlah Tempat Sistem menerapkan pemograman
Parkir Menggunakan GPU yang dikombinasikann
CUDA dan Modified dengan Modified Yolo (M-Yolo).
YOLO[6] Hasil uji coba menunjukkan
bahwa GPU mempercepat waktu
komputasi dengan rata-rata 0,179
detik.
metode deep neural network yaitu convulation neural network (CNN). Perbedaan
dari keempat penelitian tersebut terletak pada objek deteksi dan implemenatsinya.
Namun, deteksi dengan menggunakan CNN ini mendapat nilai akurasi di atas 70%
dengan kata lain deteksi objek menggunakan algoritma CNN sudah sangt baik
diterapkan. Pada sistem yang akan dibangun penulis menggunakan metode Kanban
database SQL serta menampilkan pada halaman WEB yang dibangun menggunakan
Node.Js.
31
BAB III
METODE PENELITIAN
Waktu dan tempat untuk membangun sistem dalam penelitian ini yaitu:
Alat dan bahan digunakan sebagai eksekutor dalam penelitian yang dilakukan mulai
dari tahap perancangan sampai dengan pelaporan. Berikut adalah alat dan bahan
32
2. Perangkat Python Versi 3.6.8 Bahasa Pemograman
Lunak utama yang digunakan
menglolah seluruh
program deteksi objek
YOLO V5 Library dari python yang
digunakan untuk melatih
data dan deteksi objek
Google Perangkat utama untuk
Colaboras pelatihan dan pengujian
i project
Roboflow Web aplication Web aplikasi yang
digunakan untuk pre-
processing data
Open Cv Versi 4.1.2 Untuk mengolah kamera
dan pemrosesan data input
Matplotlib 3.2.2 Pustaka yang digunakan
untuk memvisualisasi data
array ke dalam bentuk 2d
atau untuk memplot data
loss hasil training
Numpy 1.18.5 Pustaka yang digunakan
untuk proses aritmatika
dalam bentuk array
Pillow Pustaka yang digunakan
untuk memproses berbagai
format file
PyYAML 5.3 Pustaka yang digunakan
untuk menyimpan file ke
dalam format YAML pada
python agar file tersebut
dapat dibaca manusia
Scipy 1.4.1 Pustaka python berupa
operator scientify yang
digunakan untuk cluster
Tensorboa 2.2 Pustaka python yang
rd` digunakan untuk
memvisualisai nilai
kerugian dan akurasi dalam
bentuk scalar
Torch 1.6.0 Torch merupakan struktur
data dan operasi aritmatika
untuk tensor multi-
dimensi, dimana modul-
modul pada PyTorch
digunakan pada YOLOv5
Tqdm 4.41.0 untuk menampilkan proses
yang sedang berjalan dan
menampilkan waktu yang
33
telah berlalu serta waktu
prediksi kapan selesai
Anaconda Versi 2020.2.0.0 Software untuk membuat
3 environtment project
Database SQL Software untuk pembuatan
database
Node Js Versi 3.0.1 Software yang digunakan
untuk membuat halaman
report
Sistem Windows 10 64 Sistem operasi yang
Operasi Bit digunakan pada perangkat
keras.
Bahan Penelitian:
Penelitian ini bertujuan untuk membangun sebuah sistem Face Recognition yang
ini menggunakan metode Kanban. Metode Kanban adalah suatu sistem komunikasi
pekerjaan. Penelitian ini dilakukan dalam beberapa tahapan yaitu Define, Design,
34
Gambar 3.1 merupakan tahapan penelitian yang dilakukan:
3.3.1 Define
a. Planning
dikerjakan. Tahap ini dilakukan untuk memahami penelitian yang dikerjakan dan
kajian literasi terkait penelitian. Dalam penelitian ini, masalah yang diangkat
pemustaka yang hadir tidak semua mengisi daftar hadir pemustaka sehingga data
maka solusi yang diambil yaitu membuat sistem daftar hadir pengunjung
35
2. Pemanfaatan face recognition
menggunakan YOLO V5
javaskrip
b. User’s Story
siapa saja yang berinteraksi dengan sistem. Dalam sistem ini yang berperan sebagai
user yaitu pemustaka dan pustakawan. Pemustaka adalah orang yang berkunjung di
Berdasarkan user’s story pada gambar 3.2 bahwa terdapat dua user yang
wajahnya tertangkap kamera akan dikenali oleh sistem dan datanya disimpan oleh
36
sistem sebagai report, sedangkan peran user kedua yaitu pustakawan dapat
c. Analysis
Pada sub-bab sebelumnya telah dijelaskan mengenai apa saja yang perlu dipahami
menggunakan Face Recognition dan siapa saja yang berperan dalam sistem. Maka
dalam tahap ini dilakukan analisis kebutuhan sistem. Sistem daftar hadir pemustaka
Berdasarkan gambar 3.3 terdapat dua fitur yang akan dikerjakan pada penelitian ini
yaitu membangun fitur deteksi wajah pemustaka diberi label hijau dan fitur untuk
halaman report.
3.3.2 Design
Pada tahap design dilakukan transformasi kebutuhan secara rinci dan berfokus pada
cara pemenuhan kebutuhan sistem. Dalam tahap ini dilakukan penentuan backlog,
37
penentuan backlog dilakukan setelah menentukan user’s story dan penentuan fitur
dalam anlisys. Berdasarkan peran dari user, maka backlog atau antrian pekerjaan
Berdasarkan gambar 3.4 terdapat 5 pekerjaan pada backlog dan setiap backlog
3.3.3 Build
Tahap Build merupakan tahap pengimplementasian atau pengembangan kebutuhan
38
Pada metode Kanban, terdapat 2 langkah penting untuk menyelesaikan pekerjaan
Gambar 3.5 merupakan keseluruhan proses untuk membuat deteksi objek, pada
kasus ini menggunakan dataset wajah sehingga dapat digunakan untuk pengenalan
39
wajah. Proses pertama merupakan proses membangun dataset sebelum dilakukan
yolov5-s dan hasil training atau model weight Yolov5 yang disimpan dengan nama
best.pt digunakan untuk proses deteksi. Proses ketiga yaitu proses deteksi objek
Berdasarkan diagram alir pada gambar 3.5 maka pekerjaan yang dilakukan seperti
penjelasan berikut. Sistem yang dibangun yaitu sistem daftar hadir pemustaka
Berdasarkan gambar 3.6 dalam membangun dataset untuk data latih diperlukan
Image collection berupa foto dengan format JPG/Img, kemudian foto tersebut
Hasil dari annonation tersebut berupa file dalam format XML. Lalu dataset dengan
file XML digabung dalam satu folder dan dapat diupload ke roboflow untuk
40
Gambar 3.7 merupakan tahap training dataset., dataset dibaca dilakukan
pembentukan kelas, kelas ini nantinya akan digunakan untuk membuat model
custom detection Yolov5-s. Selanjunya file ini yang digunakan untuk training
dataset. Setelah dilakukan training dataset maka akan menghasilkan file pt. Proses
Setelah selesai dilakukan training, maka data hasil training dapat dilakukan
detection objek atau pengujian model, pengujian dapat menggunakan foto dan
video
Gambar 3.8 merupakan tahap pengujian menggunakan foto dan video. Input dapat
berupa foto atau video wajah pemustaka yang sudah dilatih. Proses deteksi
dilakukan dengan men-load model (best.pt) yang telah dibangun model ini
bounding box dan confidience score lalu hasil yang ditampilkan berupa box
41
Gambar 3.9 merupakan tahap pengujian menggunakan real-time. Input berupa
wajah pemustaka yang tertangkap kamera. Kemudian proses deteksi akan men-load
model (best.pt) yang telah dibangun model ini kemudian akan melakukan
score lalu hasil yang ditampilkan berupa box prediksi, nilai kepercayaan dan kelas
objek. Hasil deteksi berupa Kelas objek (cls) inilah yang akan disimpan ke dalam
database report dan selanjutnya data pada database report tampil pada halaman
report.
42
Berdasarkan gambar 3.10 Diagram Alir Library pada YOLOV5 digunakan saat
training dataset dan detection object atau pengujian. yang digunakan dataset yang
digunakan adalah dataset hasil pre-processing berupa data foto dan data YAML
selanjutnya data YAML tersebut dibaca oleh library YAML yang kemudian akan
menampilkan infomasi berupa tulisan (isi data YAML yang dapat dibaca manusia).
Selanjutnya pada proses ini tiap objek akan memperoleh kelas objek, tiap kelas
objek telah memiliki nilai yang dibaca oleh Numpy berupa angka atau nilai tiap grid
pada foto, nilai matrik ini dilakukan perhitungan oleh Scipy dan selanjutnya dilatih
menggunkan torch yang berisi. Hasil pelatihan berupa nilai result akan di peroleh
dari pandas berupa file txt. Hasil pelatihan berupa result foto berisi plot tiap nilai
pelatihan diperoleh dari matplotlib dan seabon. Hasil plot tersebut juga tampil
dalam tensorboard.
Selanjutnya pada saat detection object open cv akan membaca kamera webcam dan
input yang masuk berupa gambar atau video akan diproses oleh torch dimana data
input akan diklasifikasi dan dikenali sehingga menghasilkan output berupa nama
Database digunakan untuk menyimpan data mahasiswa yang dikenali oleh sistem.
Database ini terdiri dari dua tabel yaitu tabel mahasiswa yang menampug cls
sebagai primary key (kelas objek sesuai dengan kelas pada model hasil training),
nama mahasiswa dan NPM pemustaka. Selanjutnya kelas report yang digunakan
43
untuk menampung daftar pemustaka yang dikenali sistem. Pada tabel report
menampung no sebagai primary key, cls, hari datang dan jam datang. Database
Halaman report dibangun untuk menampilkan data berupa no, nama pemustaka,
NPM, tanggal kehadiran dan jam kehadiran. Tampilan ini dilengkapi dengan fitur
B. Mengatasi WIP
Dalam metode Kanban mengatasi WIP merupakan tahapan yang sangat penting,
dimana penelitian ini harus diselesaikan sesuai dengan antrian pekerjaan yang telah
3.3.4 Testing/Pengujian
pengujian ini dapat dijadikan bahan evaluasi apakah sistem sudah sesuai dengan
kebutuhan atau belum. Oleh karena itu, dilakukan pengujian sistem pengenalan
44
wajah menggunakan confusion matrix. Nilai-nilai yang akan adalah nilai precision,
akurasi dan recall dengan rumus seperti persamaan 1,2, dan 3 berikut:
𝑇𝑃+𝑇𝑁
Akurasi = 𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁 𝑥100% (1)
𝑇𝑃
Precision =𝑇𝑃+𝐹𝑃 𝑥100% (2)
𝑇𝑃
Recall= 𝑇𝑃+𝐹𝑁 𝑥100% (3)
Keterangan:
2. Pengujian Fungsional
Selanjutnya untuk menilai fungsional sistem dimana pengujian ini akan menilai
pada user story maka digunakan teknik pengujian Black Box Testing. Pengjian ini
terdiri dari dua tabel skenario yaitu saat pengujian menggunakan foto dan video
dimana belum terhubung pada halaman report dan pengujian real-time yang sudah
45
Sistem memiliki
memiliki nilai Sistem memiliki
2
nilai akurasi >70%
akurasi >70%
kehadiran
3.3.5 Report
Akhir dari tahap penelitian ini adalah pembuatan laporan dari semua kegiatan
penelitian yang telah dilakukan. Data yang dihasilkan dianalisa dan dilakukan
46
BAB V
KESIMPULAN
5.1 Kesimpulan
Berdasarkan hasil penelitian yang telah dilakukan, maka kesimpulan yang didapat
yaitu:
47
5.2 Saran
kualitas yang baik serta pengaturan pencahayaan yang dapat terbaca oleh
kamera.
48
DAFTAR PUSTAKA
Media, 2009.
Space Using Cuda And Modified Yolo,” J. Teknol. Inf. dan Ilmu Komput.,
[7] J. Redmon, “You Only Look Once: Unifed, Real-Time Object Detection,”
Ann. Med. Psychol. (Paris)., vol. 134 II, no. 1, pp. 59–61, 2016.
49
[8] J. Redmon and A. Farhadi, “YOLO9000: Better, faster, stronger,” Proc. -
30th IEEE Conf. Comput. Vis. Pattern Recognition, CVPR 2017, vol.
[14] M. Tan, R. Pang, and Q. V. Le, “EfficientDet: Scalable and efficient object
detection,” Proc. IEEE Comput. Soc. Conf. Comput. Vis. Pattern Recognit.,
[17] roboflow, “Choose a plan for your or team plan,” roboflow.com, 2021.
50
Available: https://docs.anaconda.com/anaconda/. [Accessed: 08-Nov-
2020].
[Accessed: 25-Feb-2020].
2021].
and CLI,” J. Open Source Softw., vol. 4, no. 37, p. 1277, 2019.
[Accessed: 25-Feb-2021].
51
[30] W. McKinney and P. D. Team, “Pandas - Powerful Python Data Analysis
Basic (6.0),” J. Teknol. dan Sist. Inf. Univrab, vol. 1, no. 2, pp. 48–60,
2016.
https://medium.com/@ksnugroho/confusion-matrix-untuk-evaluasi-model-
2021].
Network ( Rbnn ),” Inform. Unpad, vol. 11, no. 1, pp. 36–45, 2017.
2016.
52
[38] T. Imanuel, “Skripsi: Pendeteksian dan Pengenalan Wajah Manusia untuk
[40] M. Kilinc and U. Uludag, “Gender identification from face images using
you only look once (yolo),” IEEE, no. Icoei, pp. 1–4, 2020.
rest areas in winter conditions using YOLOv5,” Algorithms, vol. 14, no. 4,
2021.
Secara Real - Time,” J. Sains dan Seni, vol. 5, no. 2, pp. 72–77, 2016.
[44] A. Stellman and J. Greene, Head First Agile, 1st ed. United States of
53
54