IMPLE ME NTAS I ALGO RIT MA HAAR CASCADE CLASSIF IER UNT UK MENDETEKSI DAN MENGHITUNG JUMLAH MANUSIA
DI DALAM RUANGAN TERTENTU
SKRIPSI
ASER HEBER GINTING 101402068
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2016
IMPLEMENTASI ALGORITMA HAAR CASCADE CLASSIFIER UNTUK MENDETEKSI DAN MENGHITUNG JUMLAH MANUSIA
DI DALAM RUANGAN TERTENTU
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
ASER HEBER GINTING 101402068
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2016
Judul : IMPLEMENTASI ALGORITMA HAAR
CASCADE CLASSIFIER UNTUK
MENDETEKSI DAN MENGHITUNG JUMLAH
MANUSIA DI DALAM RUANGAN
TERTENTU.
Kategori : SKRIPSI
Nama : ASER HEBER GINTING
Nomor Induk Mahasiswa : 101402068
Program Studi : S1 TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA
UTARA Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Romi Fadillah Rahmat, B.Comp.Sc., Sajadin Sembiring, S.Si.M.Comp.Sc
NIP. 19860303 201012 1 004 NIP. -
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
Muhammad Anggia Muchtar, ST., MM.IT NIP. 198001102008011010
iii PERNYATAAN
IMPLEMENTASI ALGORITMA HAAR CASCADE CLASSIFIER UNTUK MENDETEKSI DAN MENGHITUNG JUMLAH MANUSIA DI DALAM
RUANGAN TERTENTU.
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan,
Aser Heber Ginting 101402068
UCAPAN TERIMA KASIH
Puji dan syukur penulis ucapkan kepada Allah SWT, atas berkat dan rahmat-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi (S1) Teknologi Informasi, Fakultas Ilmu Komputer dan Teknologi Informasi.
Ucapan terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi baik secara langsung maupun tidak langsung. Pada kesempatan ini Penulis ingin mengucapkan terima kasih yang sebesar- besarnya kepada :
1. Keluarga penulis, Ibunda Sarma Sembiring, Ayahanda Semangat Ginting, dan kedua adik penulis, Ruth Oktodora Ginting S.Sos dan Hilleri Valentin Ginting, yang selalu memberikan doa dan dukungan sehingga dapat menyelesaikan skripsi ini.
2. Bapak Sajadin Sembiring, S.Si.M.Comp.Sc selaku pembimbing pertama dan Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc.
selaku pembimbing kedua yang telah membimbing penulis dalam penelitian serta penulisan skripsi ini.
3. Bapak Seniman, S.Kom, M.Kom. selaku pembanding pertama dan Ivan Jaya, M.Kom selaku pembanding kedua yang telah memberikan saran dan kritik membangun dalam penyempurnaan skripsi ini.
4. Bapak Muhammad Anggia Muchtar, ST., MM.IT. selaku Ketua Program Studi S1 Teknologi Informasi dan Bapak Mohammad Fadly Syahputra, B.Sc., M.Sc.IT. selaku sekertaris Program Studi S1 Teknologi Informasi.
5. Seluruh Dosen Program Studi S1 Teknologi Informasi yang telah memberikan ilmu yang bermanfaat bagi penulis selama masa perkuliahan.
6. Seseorang yang spesial bagi penulis Chrisantayana Yuni Eventi Panjaitan Amd, SE yang selalu memberi dukungan moral dan moril kepada penulis untuk menyelesaikan penelitian ini.
v 7. Teman-teman penulis, Junaidi Arif Ginting, Fernando Kaban S.Kom, Alex Winner S.Kom, Andri Agung Anugerah, Fandy Simorangkir S.Kom, Pernando Ginting, Teddy Vandia S.Kom, Noel Andrew, Aldo Refangga Sembiring, Josef Karansa, Jodiaman Tua Marbun, Yohanes Bedi Ginting, Samuel Surbakti yang telah memberikan semangat dan memberikan dukungan dan membantu penulis dalam menyelesaikan skripsi ini.
Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran untuk penyempurnaan skripsi ini.
Dalam usaha peningkatan keamanan lingkungan dan pengecekan keberadaan manusia dalam suatu ruangan, diperlukan aplikasi yang dapat menghitung jumlah pengunjung (manusia. Algoritma Haar Cascade Classifier dapat diimplementasikan sebagai alat bantu pada komputer vision untuk dikembangkan dalam melakukan perhitungan pada objek manusia yang dideteksi agar bisa diketahui jumlah pengunjung dari suatu ruangan atau pengunjung yang datang pada suatu ruangan. Ruangan yang ada dapat berupa ruangan pameran atau booth, ruangan khusus di mall atau supermarket seperti ruang kerjanya ataupun pertokoan dan sebagainya. Algoritma Haar Cascade Classifier bisa digunakan sebagai suatu metode pendeteksian objek anggota tubuh manusia dan dapat meningkatkan ketelitian dalam proses klasifikasi pada kepala manusia yang selama ini menjadi objek yang paling sering digunakan sebagai contoh pendeteksian pada wajah, maka pada penelitian ini dilakukan pendeteksian dan penghitungan kepala manusia yang ditangkap oleh kamera yang terhubung ke komputer (webcam) dan kemudian diproses menggunakan Algoritma Haar Cascade Classifier.
Kata kunci : Algoritma Haar Cascade Classifier, Komputer Vision, Ruangan, Webcam
vii ABSTRACT
In a effort to increase environmental security and checking human presence in a room, the necessary application that can calculate the number of visitors (human). Haar Cascade Classifier algorithm can be implemented as computer vision tools to be developed in the calculation of the human object is detected in order to know the number of visitors of a room or the visitors who come to a room. The existing space can be either indoor exhibits or booth, a special room in a mall or supermarket as his office or shopping and so on. Algorithms Haar Cascade Classifier can be used as a method of detecting object member of the human body and can increase the accuracy in the classification process at the head of a man who has been the object of which is most often used as an example of the detection of the face, then in this study conducted detection and counting human head captured by a camera connected to a computer (webcam) and then processed using algorithms Haar Cascade Classifier.
Keywords: Algorithms Haar Cascade Classifier, Computer Vision, Room, Webcam
PERSETUJUAN ... ii
PERNYATAAN ... iii
UCAPAN TERIMA KASIH ... iv
ABSTRAK ... vi
ABSTRACT ... vii
DAFTAR ISI ... viii
DAFTAR TABEL ... x
DAFTAR GAMBAR ... xi
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan Penelitian ... 2
1.4 Batasan Masalah ... 2
1.5 Manfaat Penelitian ... 3
1.6 Metode Penelitian ... 3
1.7 Sitematika Penulisan ... 4
BAB 2 LANDASAN TEORI ... 6
2.1. Konsep Pendeteksian Wajah ... 6
2.1.1 Fitur Haar-Like (Haar-Like Feature) ... 6
2.1.2 Integral Image ... 7
2.1.3 Metode AdaBoost ... 8
2.1.4 Cascade classifier ... 9
2.2. OpenCV dan EmguCV ... 10
2.2.1 OpenCV ... 10
2.2.2 EmguCV ... 11
2.3 Webcam ... 11
2.4 Penyimpanan CSV ... 12
2.5 Visual Basic. NET ... 13
2.6 Penelitian Terdahulu ... 13
BAB 3 ANALISIS DAN PERANCANGAN ... 14
3.1 Analisis Masalah ... 14
3.1.1 Analisis Pengguna dan Pengaturan ... 14
3.1.2 Analisis Sistem Perhitungan Jumlah dengan Pendeteksian Wajah .. 14
3.2 Spesifikasi Perangkat Keras dan Perangkat Lunak Perancangan Sistem ... 21
3.2.1 Spesifikasi Perangkat Keras ... 21
3.2.2 Spesifikasi Perangkat Lunak ... 21
3.3 Arsitektur Umum ... 21
3.4 Strategi Pemecahan Masalah ... 23
3.4.1 Data yang Digunakan ... 23
3.4.2 Use Case Diagram ... 24
ix
3.4.3 Algoritma Perhitungan Jumlah dengan Pengenalan Wajah ... 26
3.5 Perancangan Antarmuka Pengguna (User Interface) ... 27
3.5.1 Rancangan Halaman Login ... 27
3.5.2 Rancangan Halaman Utama ... 28
3.5.3 Rancangan Halaman Setting ... 29
3.5.4 Rancangan halaman deteksi ... 30
3.5.5 Rancangan halaman cek jumlah orang ... 31
3.5.6 Rancangan Halaman Profil Pembuat ... 32
BAB 4 IMPLEMENTASI DAN PENGUJIAN APLIKASI ... 34
4.1. Implementasi Aplikasi ... 34
4.1.1. Spesifikasi Perangkat Keras dan Lunak yang Digunakan ... 34
4.1.2. Implementasi Perancangan Antarmuka ... 34
4.2. Pengujian Aplikasi ... 40
4.2.1. Pengujian pada lingkungan warnet ... 40
BAB 5 KESIMPULAN DAN SARAN ... 45
5.1 Kesimpulan ... 45
5.2 Saran ... 45
DAFTAR PUSTAKA ... xii
Tabel 2.1 Penelitian Terdahulu ... 13 Tabel 3.1 Tabel Deskripsi Use Case ... 25
xi DAFTAR GAMBAR
Gambar 2.1 Fitur Viola dan Jones ... 8
Gambar 2.2 Merupakan Teknik Integral Image ... 8
Gambar 2.3 Rangkaian Cascade classifier ... 9
Gambar 2.4 Bagian-Bagian Pada OpenCV ... 10
Gambar 2.5 Salah Satu Model Webcam dengan Spesifikasinya ... 12
Gambar 3.1 Proses Lulus Koordinat Y dan Cropping Wajah ... 16
Gambar 3.2 Hasil Cropping Wajah untuk dibandingkan Berdasarkan Model Warna HSB ... 18
Gambar 3.3 Kelemahan Pada Algoritma Haar Cascade Classifier ... 19
Gambar 3.4 Parameter Detektor untuk mengatasi kelemahan Algoritma Haar Cascade Classifier ... 21
Gambar 3.5 Arsitektur Umum ... 22
Gambar 3.6. Gambar Use Case Diagram ... 25
Gambar 3.7 Diagram Flowchart Deteksi Wajah ... 27
Gambar 3.8 Rancangan Halaman Login ... 28
Gambar 3.9 Rancangan Halaman Utama Admin ... 28
Gambar 3.10 Rancangan Halaman Atur Settingan ... 29
Gambar 3.11 Rancangan Halaman Atur Pengguna ... 30
Gambar 3.12 Rancangan Halaman Deteksi Kamera Masuk ... 31
Gambar 3.13 Rancangan Halaman Deteksi Kamera Keluar ... 31
Gambar 3.14 Rancangan Halaman Cek Jumlah Orang ... 32
Gambar 3.15 Rancangan Halaman Profil Pembuat ... 34
Gambar 4.1 Halaman Login ... 35
Gambar 4.2 Halaman Pengaturan Settingan ... 36
Gambar 4.3 Halaman Pengaturan Pengguna ... 37
Gambar 4.4 Halaman Deteksi ... 38
Gambar 4.5 Halaman Cek Jumlah ... 39
Gambar 4.6 Halaman Profil Pembuat ... 40
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Teknologi untuk mendeteksi objek terus berkembang semakin baik, hal ini didukung dengan perkembangan ilmu pengetahuan dan komputer yang makin canggih dan lebih ramping serta tepat guna. Banyak hal yang berguna didapatkan dari informasi yang dikumpulkan pada pendeteksian objek. Salah satunya adalah kita mampu menghitung jumlah objek yang dideteksi dan dapat dimanfaatkan untuk tujuan tertentu atau keperluan lainnya.
Salah satu alat pendeteksi objek adalah menggunakan sensor kamera. Dengan memanfaatkan kamera akan ditangkap gambar atau video yang akan dianalisa dan kemudian dapat dilakukan perhitungan dari hasil berupa sejumlah objek yang dideteksi.
Deteksi anggota tubuh merupakan salah satu hal penting dalam interaksi manusia dengan komputer dan penelitian pengenalan pola. Ini juga merupakan langkah awal dalam proses pengenalan anggota tubuh. Kepala merupakan salah satu bagian tubuh yang sering dipakai sebagai objek yang ingin dideteksi. Menggunakan Algoritma Haar C as cade Cl assif ier akan didapatkan suatu metode pendeteksian objek anggota tubuh manusia dan dapat meningkatkan ketelitian dalam proses klasifikasi pada kepala manusia yang selama ini menjadi objek yang paling sering digunakan sebagai contoh pendeteksian pada wajah.
Algoritma Haar Cas cade Classifi er dapat diimplementasikan dalam dunia kerja. Salah satunya adalah untuk digunakan dalam melakukan perhitungan pada objek manusia yang dideteksi agar bisa diketahui jumlah pengunjung dari suatu ruangan atau pengunjung yang datang pada suatu ruangan. Ruangan yang ada dapat berupa ruangan pameran atau booth, ruangan khusus di mall atau supermarket seperti
2
ruang kerjanya ataupun pertokoan dan sebagainya, maka pada penelitian ini dilakukan pendeteksian dan penghitungan kepala manusia yang ditangkap oleh kamera yang terhubung ke komputer (webcam) dan kemudian diproses menggunakan Algoritma Haar Cascade C lass ifier .
Penelitian tentang algoritma Haar Cascade Classifier yang didalamnya juga terdapat algoritma adaboost sudah banyak dilakukan salah satunya adalah Haar Cascade Classifier dan algoritma adaboost untuk deteksi banyak wajah dalam ruang kelas yang dilakukan oleh Santoso et al,(2013) yang melakukan penelitian dibidang computer vision untuk deteksi banyak wajah dalam ruang kelas. Selain itu Haar Cascade Clas sifi er untuk deteksi multiface dan menghitung jumlah orang yang dilakukan oleh Kusumanto, R.D, et al (2012). Ramadijanti et al (2013) juga telah membuat penelitian dengan menggunakan Algoritma Haar Cascade Classifi er untuk tracking jari pada virtual keyboard. Melihat latar belakang masalah di atas, maka penulis mengangkat judul penelitian ini dengan “Im pl ement asi Al goritm a Haar Cascade Cl ass ifier Untuk Mendeteksi Dan Menghitung Jumlah Manusia Di Dalam Ruangan”.
1.2. Rumusan Masalah
Dalam usaha peningkatan keamanan lingkungan dan pengecekan keberadaan manusia, diperlukan aplikasi yang dapat menghitung jumlah pengunjung (manusia) dalam suatu ruangan tertentu.
1.3. Tujuan Penelitian
Tujuan penelitian ini adalah untuk mendeteksi dan menghitung jumlah manusia pada ruangan tertentu pada suatu tempat dengan menggunakan Al gori tma Haar Cascade Cl assifi er .
1.4. Batasan Masalah
Ruang lingkup pada penelitian ini dibatasi pada hal-hal berikut:
1. Bagian tubuh atas yang dideteksi untuk menghitung jumlah manusia adalah wajah.
2. Bahasa pemrograman yang digunakan adalah Visual Basic .NET 2013.
3. Aplikasi dikembangkan hanya sebatas pembuktian perhitungan jumlah manusia dan sebagai bentuk implementasi pengembangan Haar Cascade Classifier.
1.5. Manfaat Penelitian
Adapun manfaat dari penelitian ini adalah :
1. Membantu instansi, perusahaan atau suatu tempat dalam menghitung total jumlah manusia di dalam ruangan dan untuk mengecek keberadaan manusia di dalam ruangan berdasarkan manusia yang masuk dan yang keluar dari ruangan.
2. Membantu dalam usaha pengawasan manusia yang datang dan dapat disandingkan dengan atau sebagai tambahan kamera keamanan.
3. Menambah wawasan mengenai komputer vision.
4. Sebagai bahan pembanding bagi peneliti lain yang tertarik dengan permasalahan objek deteksi dengan menggunakan kamera dan Algotrima Haar Cas cade Classi fier .
1.6. Metode Penelitian
Tahapan-tahapan yang akan dilakukan dalam penelitian adalah:
a. Studi literatur
Tahap ini dilakukan dengan mempelajari buku-buku referensi atau sumber-sumber yang berkaitan dengan Algoritm a Haar Cas cade C lass i fier.
b. Analisis Permasalahan
Pada tahap ini dilakukan analisis terhadap studi literatur untuk mengetahui dan mendapatkan pemahaman tentang Al goritm a Haar C as cade Cl assifi er untuk menyelesaikan perrmasalahan.
c. Rancangan Sistem
Pada tahap ini dilakukan perancangan arsitektur, pengumpulan data, dan perancangan antarmuka. Proses perancangan dilakukan berdasarkan hasil analisis studi literatur yang telah didapatkan.
d. Implementasi
Pada tahap ini dilakukan pengkodean program menggunakan Visual Studio Visual Basic .NET, pemanfaatan OpenCV sebagai library dari fungsi-fungsi yang menyediakan kebutuhan akan komputer vision dan EmguCV sebagai penterjemah
4
antara library OpenCV yang murni ditulis dalam bahasa C agar dapat dimanfaatkan oleh para pengembang aplikasi bahasa Visual Basic.NET dan C#.
e. Pengujian
Pada tahap ini dilakukan pengujian aplikasi yang telah dibuat guna memastikan aplikasi telah berjalan sesuai dengan yang diharapkan. Dikarenakan pengujian menggunakan kamera webcam yang mana kamera webcam sangat sensitif dengan cahaya terang, maka pengujian dilakukan pada ruangan dalam dimana cahaya matahari tidak mempengaruhi pengujian.
f. Dokumentasi dan penyusunan laporan
Pada tahap ini dilakukan dokumentasi pada aplikasi.
1.7. Sistematika Penulisan
Sistematika penulisan dan skripsi ini terdiri dari lima bagian utama sebagai berikut:
Bab 1: Pendahuluan
Bab ini berisi teori latar belakang, rumusan masalah, tujuan penelitian, batasan masalah manfaat penelitian dan sistematika penulisan.
Bab 2: Landasan Teori
Bab ini berisi teori-teori yang digunakan untuk memahami permasalahan yang dibahas pada penelitian ini. Pada bab ini dijelaskan tentang Al goritm a Haar Cascade Classifi er dan komponen-komponen pendukungnya.
Bab 3: Analisis dan Perancangan Sistem
Pada tahap ini akan dilakukan analisis menghitung dan mendeteksi jumlah manusia dan perancangan aplikasi mengenai skripsi ini, seperti : pemodelan aplikasi, penjabaran algoritma pada Al gori tma Haar Cascade Clas sifi er .
Bab 4 : Implementasi dan Pengujian
Bab ini berisi pembahasan tentang implementasi Al goritm a Haar Cascade Classifi er yang disusun pada Bab 3.
Bab 5 : Kesimpulan dan Saran
Bab ini memuat kesimpulan dari keseluruhan uraian bab-bab sebelumnya dan saran- saran yang diajukan untuk pengembangan program selanjutnya.
BAB 2
LANDASAN TEORI
2.1. Konsep Pendeteksian Wajah
Perhitungan dilakukan berdasarkan konsep pendeteksian wajah dengan menggunakan metode adaboost yang sekarang lebih dikenal dengan Al goritm a Haar Cascade Classifi er. Wajah yang dilakukan untuk perhitungan ini adalah wajah manusia.
Ketika wajah berhasil dideteksi maka dilakukan penandaan pada wajah.
Konsep pendeteksian wajah ini sebenarnya berdasarkan kepada penggabungan 4 konsep yang menjadi Algoritma Haar Cascade Classifier, yakni :
1. Fitur rectangular sederhana yang disebut fitur Haar 2. Integral image untuk deteksi fitur yang cepat 3. Metode machine learning AdaBoost.
4. Cascade classifier itu sendiri yang merupakan rantai proses dalam penentuan objek yang akan dicari.
2.1.1 Fitur Haar-Like (Haar-Like Feature)
Algoritma ini diawali dari hasil pengelompokan (training) banyak wajah dengan menggunakan metode Haar-Like Feature, wajah yang telah dikelompokkan diklasifikasikan dengan memakai suatu pemisalan skala yang tetap, misalnya 25×25 pixel. Jika wajah pada image lebih besar atau lebih kecil dari pixel tersebut, classifier akan terus menerus berjalan beberapa kali, untuk mencari wajah pada gambar tersebut.
Hasil deteksi Haar-Like Feature kurang akurat jika hanya memakai satu fungsi saja.
makin tinggi tingkatan filter pendeteksian maka makin tepat pula suatu obyek
dideteksi akan tetapi akan makin lama proses pendeteksiannya. Pemrosesan Haar-Like Feature yang banyak tersebut diatur dalam classifier cascade.
Classifier memakai data yang disimpan pada file XML untuk memutuskan bagaimana mengklasifikasi tiap lokasi gambar, salah satunya bernama haarcascade_frontalface_default.xml. Secara umum, Haar-Like Feature dipakai dalam mendeteksi objek pada gambar digital. Nama Haar merujuk pada suatu fungsi matematika (Haar Wavelet) yang berbentuk kotak, prinsipnya sama seperti pada fungsi Fourier. Awalnya pengolahan gambar hanya dengan melihat dari nilai RGB setiap pixel, namun metoda ini ternyata tidaklah efektif. Viola dan Jones lalu mengembangkannya sehingga terbentuk Haar-Like feature.
Haar-like feature memproses gambar dalam kotak-kotak, di mana dalam satu kotak bisa terdiri dari beberapa pixel. Per kotak itu pun lalu diproses dan di cari perbedaan nilai (threshold) yang menandakan daerah gelap dan terang. Nilai-nilai inilah yang nantinya dijadikan dasar dalam pemrosesan gambar.
Untuk gambar bergerak (video), perhitungan dan penjumlahan pixel terjadi secara terus menerus dan membutuhkan waktu yang lama. Oleh sebab itu, penjumlahan diganti dengan integral sehingga didapatkan perhitungan hasil yang lebih cepat. Makin banyak fungsi yang dipakai maka hasilnya akan makin akurat.
2.1.2 Integral Image
Fitur yang dipakai Viola dan Jones memakai bentuk gelombang Haar. Bentuk gelombang Haar ialah suatu gelombang kotak pada 2 dimensi, gelombang kotak ialah pasangan persegi yang bersebelahan, 1 terang dan 1 gelap. Haar ditentukan oleh pengurangan pixel rata-rata daerah gelap dari pixel rata-rata daerah terang. Jika perbedaan di atas threshold (yang diset selama learning), fitur tersebut disebut ada.
8
Gambar 2.1 Fitur Viola dan Jones
Untuk menentukan ada tidaknya Haar feature di setiap lokasi gambar, Viola dan Jones memakai teknik yang disebut Integral Image. Umumnya integral menambahkan unit kecil secara bersamaan, dalam hal ini unit kecil ini disebut dengan nilai dari pixel.
Nilai dari integral pada masing-masing pixel adalah penjumlahan dari semua pixel di atasnya dan di sebelah kirinya. Dimulai dari kiri atas sampai kanan bawah, gambar bisa diintegrasikan sebagai operasi matematika per pixel.
A C
1 B
3 D
2
4
1. 2.
(X, Y)
Gambar 2.2 Merupakan Teknik Integral Image
a. Sesudah diintegrasikan pixel pada (x,y) berisi jumlah nilai semua pixel dalam kotak hitam.
b. Nilai jumlah pada kotak D adalah (x4,y4)-(x2,y2)-(x3,y3) + (x1,y1).
2.1.3 Metode AdaBoost
Untuk memilih fitur Haar yang dipakai dan untuk mengubah nilai threshold, Viola dan Jones memakai metode machine-learning yang disebut AdaBoost. AdaBoost menggabungkan banyak classifier untuk membuat satu classifier. Masing-masing
classifier menetapkan suatu bobot dan gabungan dari bobot inilah yang akan membentuk satu classifier yang kuat.
Viola dan Jones menggabungkan serangkaian AdaBoost classifier sebagai rantai filter. Masing-masing filter adalah AdaBoost classifier yang terpisah dengan jumlah weak classifier yang sedikit & sama.
2.1.4 Cascade classifier
F1
F2
F3
Fn
face
Not face
Image subregion
Not face
Not face
Not face
Not face
face
face
face
Gambar 2.3. Rangkaian Cascade classifier
Semua gambar yang melewati pendeteksian yang telah difilter adalah "wajah", sedangkan yang tidak memenuhi disebut "bukan wajah".
Filter pada masing-masing level dilatih untuk mengklasifikasikan gambar yang sebelumnya telah difilter (ditraining set yakni database dari wajah). Selama penggunaannya, jika satu dari filter-filter tersebut gagal, daerah pada gambar diklasifikasikan sebagai “Bukan Wajah”. Saat filter gagal, maka daerah pada gambar
10
(image region) lalu masuk pada filter yang selanjutnya. Daerah pada gambar yang telah melalui semua filter akan dianggap sebagai “Wajah”.
2.2. OpenCV dan EmguCV 2.2.1 OpenCV
(Open Computer Vision) adalah sebuah API (Application Programming Interface) Library yang sudah sangat familiar pada Pengolahan Citra Computer Vision.
Computer Vision itu sendiri adalah salah satu cabang dari Bidang Ilmu Pengolahan Citra (Image Processing) yang memungkinkan komputer dapat melihat seperti manusia. Dengan vision tersebut komputer dapat mengambil keputusan, melakukan aksi, dan mengenali terhadap suatu objek. Beberapa pengimplementasian dari Computer Vision adalah Face Detection, Face Recognition, Face/Object Tracking, Road Tracking, dll. OpenCV adalah library Open Source untuk Computer Vision untuk C/C++, OpenCV didesain untuk aplikasi real-time, memiliki fungsi-fungsi akuisisi yang baik untuk gambar atau video.
OpenCV sendiri terdiri dari beberapa bagian, yaitu :
1. CV : untuk algoritma Image processing dan Vision.
2. ML : untuk machine learning library 3. Highgui : untuk GUI, Image dan Video I/O.
4. CXCORE : untuk struktur data, support XML dan fungsi-fungsi grafis.
CV MLL HighGUI
CXCORE
Gambar 2.4. Bagian-Bagian Pada OpenCV
2.2.2 EmguCV
OpenCV sendiri adalah library yang berisi berbagai metode untuk membantu pengembang mengolah citra dan computer vision. OpenCV ditujukan bagi bahasa C++, maka beberapa pengembang, mengembangkan EmguCV sebagai `penerjemah`, sehingga para pengembang VBNET atau C# pun dapat mempergunakan OpenCV.
2.3 Webcam
Webcam singkatan dari web dan camera adalah sebutan kamera real-time (bermakna keadaan pada saat ini juga) yang gambarnya dapat dilihat secara langsung. Webcam dihubungkan ke komputer biasanya melalui colokan USB atau pun colokan PORTCOM. Pada umumnya Webcam tidak membutuhkan kaset atau tempat penyimpanan data, data hasil perekaman yang didapat langsung ditransfer ke komputer. Webcam dapat juga didefenisikan sebagai periferal berupa kamera sebagai pengambil citra/gambar dan mikropon (optional) sebagai pengambil suara (audio) yang dikendalikan oleh sebuah komputer atau oleh jaringan komputer.
Webcam bekerja seperti halnya sebuah kamera digital hanya saja di desain untuk komputer jadi tidak bisa di bawa ke mana-mana namun jauh lebih sederhana dibanding kamera-kamera pada umumnya.
Sebuah web camera yang sederhana terdiri dari :
1. Sebuah lensa standar, dipasang di sebuah papan sirkuit untuk menangkap sinyal gambar.
2. Casing, untuk menutupi lensa standar dan memiliki sebuah lubang lensa di casing depan yang berguna untuk memasukkan gambar.
3. Kabel Support, yang dibuat dari bahan yang fleksibel, salah satu ujungnya dihubungkan dengan papan sirkuit dan ujung satu lagi memiliki konektor, kabel ini dikontrol untuk menyesuaikan ketinggian, arah dan sudut pandang web camera.
4. Sebuah web camera biasanya dilengkapi dengan aplikasi, aplikasi ini berguna untuk mengambil gambar-gambar dari kamera secara digital terus menerus ataupun dalam interval waktu tertentu.
12
Frame rate mengindikasikan jumlah gambar sebuah aplikasi dapat mengambil dan transfer dalam satu detik. Untuk streaming video, dibutuhkan minimal 15 frame per second (fps) atau idealnya 30 fps.
Gambar 2.5. Salah Satu Model Webcam dengan Spesifikasinya.
2.4. Penyimpanan CSV
Format CSV merupakan salah satu format yang digunakan dalam standar file ASCII.
Format ini menggunakan tanda koma (,) sebagai pemisah antara satu elemen dengan yang lainnya.
CSV bisa dipisahkan dengan menggunakan koma (,) atau titik koma (;). Untuk Format CSV yang perlu dilakukan hanyalah menyisipkan tanda titik koma di antara data-data yang ada.
Contoh format penulisan pada penyimpanan CSV :
“Tanggal”,”Jam”,”Jumlah Masuk”,”Jumlah Keluar”,”Total Orang”,”FileFoto”
“01/01/2016”,”10:10:50”,”10”,”5”,”5”,”/jpg/pic.jpg”.
Keuntungan menyimpan data dalam bentuk CSV adalah Format file CSV memiliki tingkat kompabilitas yang cukup tinggi, karena hampir semua program pengolahan data sudah mendukung format CSV, seperti Microsoft Office, Notepad, UltraEdit, MySql, Oracle, OpenOffice, dan sebagainya. Karena kompabillitas yang tinggi ini, seringkali format CSV dijadikan standar penyimpanan dalam pengolahan data.
2.5. Visual Basic. NET
Visual Basic.NET adalah sebuah bahasa pemograman dan sebagai sarana (tool) untuk menghasilkan program-program aplikasi berbasiskan sistem operasi Windows yang bergerak di atas sistem .NET Framework. Beberapa kemampuan atau manfaat dari Visual Basic diantaranya:
1. Untuk membuat program aplikasi berbasiskan windows.
2. Untuk membuat obyek-obyek pembantu program, seperti Control ActiveX, File Help, Aplikasi Internet dan sebagainya.
3. Menguji program (debugging) dan menghasilkan program akhir berakhiran
”EXE” yang bersifat executable atau dapat langsung dijalankan.
2.6. Penelitian Terdahulu
Beberapa penelitian dari peneliti sebelumnya yang menjadi bahan pembelajaran penulis tentang pengenalan wajah seperti pada tabel 2.1
Tabel 2.1 Penelitian Terdahulu.
No Judul Penelitian Pengarang Tahun Keterangan
1 Haar cascade classifier dan algoritma adaboost untuk deteksi banyak wajah dalam ruang kelas
Santoso 2013 Mendeteksi
banyak wajah di dalam ruangan kelas 2 Haar Cascade Classifier
untuk deteksi multiface dan menghitung jumlah orang yang dilakukan oleh
Usmanto,RD 2012 Mendteksi
multiface dan menghitung jumlah orang 3 Dengan menggunakan
Algoritma Haar Cascade Classifier untuk tracking jari pada virtual keyboard
Ramadijanti 2013 Tracking jari pada virtual
keyboard
BAB 3
ANALISIS DAN PERANCANGAN
3.1. Analisis Masalah
3.1.1. Analisis Pengguna dan Pengaturan
Pengguna yang akan menggunakan sistem perhitungan jumlah berdasarkan pendeteksian wajah adalah admin. Ketika pertama kali admin akan menggunakan aplikasi sistem perhitungan jumlah maka harus melakukan setingan pengguna pada menu setingan. Pengguna dibatasi dengan setingan dikarenakan pengaturan sistem dan penjadwalan sistem tidak boleh asal dirubah melainkan dengan aturan yang ditetapkan.
Pengaturan pada sistem diberlakukan untuk mendefenisikan nama tempat dan alamat tempat aplikasi ini dipakai. Begitu juga dengan pengaturan untuk penjadwalan pengaktifan kamera dan mematikan kamera serta mendefenisikan jenis kamera yang digunakan untuk kamera perhitungan masuk dan kamera perhitungan keluar.
3.1.2. Analisis Sistem Perhitungan Jumlah dengan Pendeteksian Wajah
Perhitungan dilakukan berdasarkan konsep pendeteksian wajah dengan menggunakan Al goritm a Haar Cascade C lassi fier ya ng didal amn ya terdapat metode adaboost untuk pengambil keputusan. Wajah yang dilakukan untuk perhitungan ini adalah wajah manusia. Ketika wajah berhasil dideteksi maka dilakukan penandaan pada wajah. Dikarenakan kamera merupakan keluaran yang berupa video yang terdiri dari gabungan sekumpulan frame gambar persekian detik maka perhitungan tidak bisa dilakukan begitu saja dan harus ada beberapa metode bantu agar didapat perhitungan yang lebih akurat dan lebih tepat.
3.1.2.1. Metode Keakuratan Pendeteksian Wajah Terhadap Frame Video Kamera Secara Langsung (Realtime)
Untuk menghadapi proses perhitungan yang rumit dan menghadapi kendala terhadap kamera yang berupa tangkapan video dan terdiri dari frame-frame gambar yang ditangkap sebanyak 20-30 fps secara realtime, maka agar hasil tangkapan tidak berulang pada setiap detiknya dilakukan beberapa metode khusus yakni sebagai berikut :
1. Penundaan Penangkapan
Wajah yang dideteksi harus dilakukan penundaan penangkapan atau dilakukan penjadwalan setidaknya per 1 detik untuk memanipulasi penangkapan video kamera yang memiliki sekian frame perdetik. Manipulasi ini diperlukan karena rata-rata kamera bila melakukan penangkapan gambar sebanyak 30 frame perdetik maka setiap 1 detik orang yang sama bisa dihitung 30 kali dan akan terjadi salah perhitungan. Penjadwalan merupakan salah satu metode untuk memanipulasi penundaan penangkapan gambar dengan memberikan fasilitas waitkey pada Algoritma Haar Cascade Classfier.
2. Garis Bantu Koordinat Y
Wajah-wajah yang dideteksi akan ditandai dengan garis empat persegi. Karena sewaktu-waktu bisa terjadi penangkapan wajah yang banyak maka wajah yang akan dilakukan perhitungan adalah wajah yang harus melewati garis bantu koordinat Y yang tersembunyi. Untuk ini maka diperlukan cropping wajah terlebih dahulu. Cropping pada wajah ini dilakukan agar dapat dikurangi beban pada komputer dalam melakukan perhitungan terhadap objek gambar yang begitu luas. Jadi lebih difokuskan pada pixel gambar yang telah ditentukan saja sehingga pemrosesan perhitungan akan lebih cepat.
16
Gambar 3.1 Proses Lulus Koordinat Y dan Cropping Wajah
Metode garis bantu koordinat Y ini sangat diperlukan buat memanipulasi perhitungan agar perhitungan tidak terus menerus bertambah meski wajah yang dideteksi adalah atau masih wajah yang sama. Jadi cropping wajah yang benar-benar melewati koordinat Y lah yang akan diperhitungan untuk diteruskan ke metode berikutnya.
Semakin banyak dan rapat garis bantu koordinat Y maka semakin baik proses deteksi orang yang akan dihitung. Untuk menghidari perulangan dari perhitungan garis koordinat Y yang banyak maka dilakukan logika fungsi bilamana wajah telah melewati salah satu garis bantu koordinat Y maka perhitungan kooridnat Y berikutnya dihentikan dan wajah telah didapatkan.
3. Pengenalan Wajah yang Sama dengan Metode Model Warna HSB
Wajah yang telah lulus koordinat Y dan telah juga di crop maka dilakukan pengenalan wajah dengan membandingkan dua gambar, yakni gambar yang ditangkap sebelumnya dengan gambar yang ditangkap kemudiannya kemudian diteruskan ke metode model warna (color space) HSB untuk didapat nilai rata- rata kesamaan karakteristik warna di mana dinilai dengan persentase. Tujuan metode ini agar sistem tidak melakukan perhitungan berulang kali meski wajah yang sama yang telah lulus koordinat Y masih berada di depan kamera karena berhenti atau karena sesuatu.
Metode model warna (color space) HSB merupakan salah satu bentuk dari pengenalan wajah. Untuk metode ini diperlukan persentase batas atas dan batas bawah. Persentase yang di atas variabel batas atas di isi tergantung pada
model kamera dan ketajaman kamera serta jarak kamera (secara default di set 90%), yang artinya gambar wajah dianggap mirip bila berada di atas 90% dan meskipun kamera yang berdasarkan frame by frame berulang kali menangkap wajah tersebut maka tidak akan dilakukan perhitungan berulang.
Persentase di antara 60% hingga variabel batas atas maka wajah dianggap tidak mirip dan dapat diproses perhitungannya. Sedangkan persentase di bawah 60%, maka dianggap tidak jelasnya posisi wajah atau perbandingan dan dianggap tidak perlu diperhitungan.
Kelemahan dari pengenalan wajah ini adalah apabila setelah wajah lain datang kemudian wajah yang sebelumnya masih ada kembali, maka wajah yang sebelumnya dilakukan perhitungan akan diperhitungkan kembali. Tetapi hal ini sangat efektif diterapkan di sistem perhitungan jumlah ini, karena pada kenyataannya sangatlah kecil kemungkinan seseorang yang sudah masuk ruangan sengaja mundur kembali untuk melihat-lihat kamera. Kelemahan lainnya adalah apabila kita salah meletakkan batas atasnya. Bila mana batas atas terlalu tinggi kemungkinan wajah yang sama dengan proses tangkap wajah pada kamera dengan sudut yang kurang bagus dan hanya di bawah batas atas dianggap sesuatu yang lain dan akan diperhitungkan dan menjadi salah hitung. Oleh karena itu untuk pemasangan sistem maka diperlukan kalibrasi terlebih dahulu dan ujicoba pemasangan termasuk tata letak kamera.
Model warna adalah metode untuk menjelaskan properti atau perilaku warna di dalam beberapa hal tertentu. Tidak ada warna tunggal yang dapat menjelaskan semua aspek warna, sehingga dibuat model yang berbeda untuk mendeskripsikan perbedaan karakteristik dari warna. Sumber cahaya dideskripsikan dengan istilah frekuensi domain corak warna (hue), tingkat kecerahan warna (brighthness) dan purity atau kejenuhan warna (saturasi).
18
X
Y
X
Y
C1 Hue (C1H) C1 Saturation (C1S) C1 Brightness (C1B)
C2 Hue (C2H) C2 Saturation (C2S) C2 Brightness (C2B)
Gambar 3.2 Hasil Cropping Wajah untuk dibandingkan Berdasarkan Model Warna HSB
Rumus Model Warna HSB :
Hue = 360-((C1H) - (C2H))/360 Saturation = 1 - (C1S) - (C2S)
Brightness = 1 - (C1B) - (C2B)
Nilai Rata-rata = Nilai Rata-Rata + (Hue + Saturation + Brightness) 3
Nilai Rata-Rata
Lebar Gambar * Panjang Gambar Persentase =
3.1.2.2. Metode Peningkatan Keakuratan Wajah dengan Menyetel Detektor Paramater
Meskipun telah dilakukan metode keakuratan pendeteksian wajah terhadap frame video dengan Al goritm a Haar Cascade Classifier agar bisa dilakukan perhitungan seperti yang dibutuhkan, pada kenyataannya proses tersebut tetap saja memiliki kelemahan. Kelemahan itu berada pada Algoritma Haar Cascade Classifier itu sendiri bila dihadapkan pada beberapa faktor, antara lain faktor cahaya, ketinggian dan bisa juga posisi kamera serta posisi objek manusianya yang bergerak dinamis.
Adapun kelemahan yang terjadi adalah :
1. Tidak semua wajah terdeteksi dengan baik. Wajah pada kenyataannya sudah tampak namun tidak ditandai sebagai wajah atau tidak terdeteksi dengan baik, akibat pengaruh cahaya, lokasi penempatan kamera dan juga jarak kamera ke objek.
2. Pendeteksian terhadap obyek bukan wajah namun dianggap wajah lebih sering terjadi dan ditandai oleh Haar Cascade Classifier sebagai obyek wajah (false detection).
Bukan wajah namun dianggap wajah (false detection) Wajah orang
yang sama dideteksi kembali karena batas atas kemiripan terlalu
tinggi
Gambar 3.3 Kelemahan Pada Algoritma Haar Cascade Classifier
Untuk m engat asi kel em ahan l anj ut an yang dapat berakibat fatal dal am perhi tungan maka p ada pemanf aat an Em guC V untuk al goritm a Haar Cascade Classifier memiliki beberapa parameter yang harus dipilih pada saat proses pendeteksian. Parameter ini dapat ditingkatkan agar proses pendeteksiannya menjadi lebih akurat. Adapun parameternya antara lain :
1. Haar Cascade XML
Merupakan kumpulan data training yang dihadirkan untuk fungsi Haar Classifier. Classifier memakai data yang disimpan pada file XML untuk memutuskan bagaimana mengklasifikasi tiap lokasi gambar. Ada banyak file XML yang disediakan di EmguCV tetapi yang tepat adalah penggunaaan haarcascade_frontalface_default.xml. Sangat memungkinkan untuk membangun file XML sendiri tetapi akan membuang waktu, energi dan tenaga. Setidaknya dibutuhkan perangkat dengan prosesor yang sangat tinggi untuk menghasilkan file tersebut.
2. Peningkatan Skala Rata-rata (Scale Increase Rate)
Parameter kedua adalah dengan peningkatan skala rata-rata kelulusan pendeteksian wajah pada lebih dari sebuah wajah. Pengaturan yang lebih tinggi membuat detektor berjalan lebih cepat tapi jika terlalu tinggi, maka dapat melompat terlalu cepat antara skala dan banyak wajah yang terlewati. Secara umumnya di EmguCV skalanya adalah 1.1, yang
20
maksudnya skala meningkat dengan faktor 1,1 (10%) setiap kelulusan.
Parameter ini dapat bernilai 1.1, 1.2, 1.3 atau 1.5.
Pada sistem dapat ditetapkan untuk 1.5, sebagai skala tertinggi dengan maksud untuk mengurangi perhitungan yang begitu cepat terhadap wajah yang sama. Semakin rendah nilai, semakin "menyeluruh" detektor haar akan memeriksa gambar untuk "objek"/"wajah", tetapi secara alami akan mengambil lebih banyak waktu memutuskan opsi mana yang Anda ingin ditentukan.
3. Batas Minimum Tetangga Threshold (Minimum Neighbors Threshold) Nilai parameter ini berkisar antara 3 hingga 15. Pada kenyataan bila posisi baku dari Haar Classifier di set di bawah 3 maka proses deteksi wajah ini akan terjadi tumpang tindih antara garis persegi empat penandaan obyek wajah. Dengan meningkatkan Batas Minimium Tetangga Threshold ini maka lebih difokuskan pada penyatuan yang benar pada wajah dan memiliki probilitas yang tinggi akan wajah dan mampu melambatkan proses deteksi wajah yang sama. Namun jika lebih banyak wajah tidak terdeteksi (loss) maka nilai Batas Minimum Tetangga Threshold ini harus diturunkan. Pada kenyataan prakteknya nilai Batas Minimum Tetangga Threshold ini yang terbaik adalah 8 hingga 12. Jika terlalu rendah semakin banyak yang bukan wajah dianggap mirip wajah dideteksi sehingga menjadi kurang akurat.
4. Skala Minimum Deteksi (Minimum Detection Scale)
Merupakan penentuan ukuran terkecil untuk proses pencarian. Skala bawaanya adalah 24x24. Skala bawaan pada file Haar Cascade XML adalah 24x24. Pada prakteknya skala yang cukup baik dalam pendeteksian adalah 25x25. Tergantung daripada resolusi gambar yang ditangkap. Skala terlalu kecil pun dapat membuat pendeteksian wajah kurang beraturan namun akan menggunakan sumber tenaga prosesor yang lebih sedikit.
Terlalu besar akan mengakibatkan proses kurang mendeteksi, yang terpenting disesuaikan dengan proses dan aspek skala pixelnya harus 1:1 antara lebar dan tinggi gambar.
Parameter Detektor
Gambar 3.4 Parameter Detektor untuk mengatasi kelemahan Algoritma Haar Cascade Classifier
3.2 Spesifikasi Perangkat Keras dan Perangkat Lunak Perancangan Sistem 3.2.1 Spesifikasi Perangkat Keras
Spesifikasi perangkat keras yang digunakan selama pembangunan sistem perhitungan jumlah dengan pendeteksian wajah adalah sebagai berikut:
1. Intel i3-4030u 2. 10 GB RAM DDR3 3. Intel Graphics
3.2.2 Spesifikasi Perangkat Lunak
Spesifikasi perangkat lunak yang digunakan selama pembangunan sistem perhitungan jumlah dengan pendeteksian wajah adalah sebagai berikut:
1. Operating System Windows 7 2. Visual Basic NET 2013 3. NET Framework 4.0
3.3 Arsitektur Umum
Sistem ini dibangun untuk menampilkan informasi tentang perhitungan deteksi jumlah manusia di dalam ruangan.
22
Gambar3.5 Arsitektur Umum A. Input
1. Admin
Admin akan melakukan login dengan memasukkan user name dan password, setelah memasukkan user name dan password yang benar admin dapat masuk ke dalam aplikasi, dan memilih kamera yang ingin digunakan.
B. Proses
1.Konfigurasi Variabel
Setelah memasuki aplikasi, admin memilih menu deteksi. Dimenu deteksi terdapat deteksi wajah manusia yang terdeteksi melalui kamera masuk dan kamera keluar.
Admin harus mengatur konfigurasi vaeriabel yang terdapat pada kamera masuk dan kamera keluar.
C. Output
1. Wajah terdeteksi
Aplikasi akan menampilkan wajah yang terdeteksi pada kamera masuk dan kamera keluar, dan menampilkan jumlah yang dicapture pada kamera masuk dan kamera keluar, sehingga menghasilkan jumlah orang pada ruangan.
3.4 Strategi Pemecahan Masalah
Untuk mewujudkan sistem perhitungan jumlah dengan pendeteksian wajah agar dapat dibangun dan diimplementasikan berdasarkan analisis masalah yang ada maka dibutuhkan berbagai komponen yang harus dibahas supaya mempermudah kita dalam penyelesaian masalah yang telah dianalisis. Komponen pemecahan masalah tersebut antara lain adalah data yang digunakan, bentuk diagram, algoritma yang digunakan, flowchart dan juga rancangan antaramuka (rancangan tampilan aplikasi) yang akan dibuat sistemnya.
3.4.1 Data yang Digunakan 1. File .INI
File .INI (file dengan ekstensi .INI) adalah file teks berisi konfigurasi sebuah aplikasi berbasis sistem operasi Windows yang digunakan untuk menyimpan sebuah konfigurasi sebuah aplikasi sistem. Sebenarnya Windows merekomendasikan penggunaan registry untuk menyimpan setting/konfigurasi sebuah aplikasi sistem, namun penggunaan file .INI dirasa lebih cepat dan mudah untuk diakses. Kata “INI” berasal dari Initialization atau inisialisasi.
Dengan demikian file INI akan diakses awal ketika sebuah aplikasi dijalankan, namun tidak menutup kemungkinan file diakses atau dimanipulasi pada saat aplikasi berjalan.
Contoh file Setingan.ini pada sistem perhitungan jumlah dengan pendeteksian wajah:
[Settings]
NamaTempat=Rumah Makan Alamat=Jln.Baru No.1
NoTelp=06132442 JamMulai=7:00:00
24
JamSelesai=17:00:00
KameraMasuk=HP Truevision HD KameraKeluar=A4Tech HD [Login]
Pengguna=Aser KataKunci=123
File INI berguna menyimpan setingan dari sistem, sehingga tidak menyulitkan dalam proses pemanggilan aturan yang telah disimpan pada file INI tersebut.
2. File Penyimpanan Data
Untuk kebutuhan penyimpanan data maka diperlukan suatu basis data. Karena sistem perhitungan jumlah dengan pendeteksian wajah ini dikerjakan dalam lingkungan 64bit maka dengan terpaksa diperlukan suatu basis data lain yang merupakan Semi-structured File seperti CSV.
CSV adalah salah satu teknik penyimpanan data yang memanfaatkan pengolahan teks pada suatu file. Dengan menggunakan pola CSV maka data yang tadinya telah disimpan dapat dipanggil sewaktu-waktu pada sistem dengan memanfaatkan komponen DatagridView pada lingkungan .NET untuk seterusnya dapat ditampilkan dan diproses atau dilihat hasilnya. CSV dapat berjalan baik dilingkungan 32bit maupun 64bit.
3.4.2 Use Case Diagram
Use case diagram yaitu salah satu jenis diagram pada UML (Unified Modelling Language) yang menggambarkan interaksi antara sistem dan aktor, use case diagram juga dapat mendeskripsikan tipe interaksi antara si pemakai sistem dengan sistemnya.
Halaman Utama Login
Keluar
Setingan
Deteksi
Cek Jumlah
Profil Pembuat
Atur Seting
Pengguna
Masuk
&
Keluar
Seting.INI
Tanggal
Jam
Foto
Orang Ke
Folder
Selisih Masuk-Keluar
Set Ke CSV Ambil dari CSV
Pengguna
Gambar 3.6. Gambar Use Case Diagram pada Sistem I mpl emen tasi Algori tma H aar Cas cade C lass ifi er untu k Mendeteksi Dan Menghitung Jumlah Manusia Di dalam ruangan tertentu
Berikut ini adalah pendefinisan use case berdasarkan diagram yang digambarkan oleh tabel berikut ini :
Tabel 3.1. Tabel Deskripsi Use Case
No Use Case Deskripsi
1 Halaman Utama Ketika sistem diaktifkan akan dihadapkan pada halaman utama yang kemudian diminta untuk Login
2 Setingan Melakukan pencatatan dan pengaturan kamera dan jadwal kamera serta melakukan pengaturan untuk keperluan login sistem
3 Deteksi Melakukan Pendeteksian wajah yang tertangkap kamera untuk dilakukan beberapa metode proses sehingga dihasilkan perhitungan jumlah, dibagi atas dua kamera masuk dan kamera keluar. Setiap hasil perhitungan disimpan ke CSV (data penyimpanan)
4 Cek Jumlah Menampilkan data yang telah tersimpan pada data penyimpanan CSV, untuk keperluan informasi yang dibutuhkan sehingga diketahui berapa banyak jumlah pengunjung dan pengunjung yang berada di dalam ruangan
26
pada setiap waktu terjadi perhitungan
5 Profil Pembuat Menampilkan informasi pembuat sistem perhitungan jumlah pengunjung dengan pendeteksian wajah
Pada use case di atas hanya terdapat 5 bagian utama yang terdapat pada sistem yang akan dibangun yaitu halaman utama, Setingan sebagai pengaturan login dan jadwal serta pemilihan kamera. Selebihnya yang tidak dicantumkan di dalam bagian use case diatas hanya sebagai penambahan saja.
3.4.3 Algoritma Perhitungan Jumlah dengan Pengenalan Wajah
Sistem Perhitungan Jumlah dengan pengenalan wajah ini memanfaatkan Algoritma Haar Cascade Classifier. Sebagai mana yang telah diuraikan pada bab 2, maka konsep pendeteksian wajah ini sebenarnya berdasarkan kepada penggabungan 4 konsep yang menjadi Algoritma Haar Cascade Classifier, yakni :
1. Fitur rectangular sederhana yang disebut fitur Haar.
2. Integral image untuk deteksi fitur yang cepat.
3. Metode machine learning AdaBoost.
4. Cascade classifier itu sendiri yang merupakan rantai proses dalam penentuan objek yang akan dicari.
Proses pendeteksian obyek ditunjukkan pada diagram Flowchart pada Gambar sebagai berikut:
Gambar 3.7 Diagram Flowchart Deteksi Wajah Algoritma Haar Cascade Classifier
3.5 Perancangan Antarmuka Pengguna (User Interface)
Antarmuka atau user interface merupakan sarana yang menghubungkan manusia dengan dengan sistem agar manusia dan sistem dapat saling berinteraksi. Berikut adalah rancangan antarmuka dari sistem ini.
3.5.1 Rancangan Halaman Login
Halaman login berisi nama pengguna dan kata kunci yang diisi oleh user untuk masuk kehalaman utama, dan dapat diubah ulang jika admin ingin merubah nama pengguna dan kata kunci dari aplikasi.
28
Login Nama pengguna : Kata kunci :
Gambar 3.8 Rancangan Halaman Login
3.5.2 Rancangan Halaman Utama
Halaman utama aplikasi merupakan halaman yang pertama kali akan muncul ketika admin masuk ke aplikasi ini. Pada halaman utama terdiri dari empat menu utama yaitu menu settingan, menu deteksi, menu cek jumlah, profil pembuat.
Setingan
Deteksi
Cek jumlah
Profil pembuat
Gambar 3.9 Rancangan Halaman Utama Admin
3.5.3 Rancangan Halaman Setting
a. Rancangan Halaman Pengaturan Settingan
Di dalam halaman setting akan terdapat dua field yang berisi atur setting, dan pengguna. Rancangan halaman atur setting merupakan pengaturan bagi admin untuk mengatur nama tempat aplikasi dipasang, alamat tempat, nomor telpon tempat, jam mulai aplikasi akan dijalankan, jam selesai apklikasi, memilih kamera masuk , memilih kamera keluar, dan kemudian disimpan.
Nama tempat :
Alamat :
No telp :
Jam mulai :
Jam selesai : Kamera masuk : Kamera keluar :
Simpan Atur settingan
Atur setting pengguna
Gambar 3.10 Rancangan Halaman Atur Settingan
b. Rancangan Halaman Pengaturan Pengguna
Rancangan halaman pengaturan pengguna menampilkan atur login, admin kembali mengatur login untuk menjalankan aplikasi yang berisi nama pengguna aplikasi, kata kunci, ulangi kata kunci. Kemudian admin menyimpan kata kunci yang telah diatur, dan admin dapat login kembali dengan nama pengguna dan kata sandi yang baru.
30
Atur login
Simpan kata kunci Pengguna
Kata kunci
Ulangi Kata kunci
Atur pengguna pengguna
Gambar 3.11 Rancangan Halaman Atur Pengguna
3.5.4 Rancangan halaman deteksi
Rancangan halaman deteksi akan menampilkan kamera masuk dan kamera keluar, kemudian aplikasi berjalan sesuai dengan pengaturan jam mulai. Webcam akan melakukan tangkapan wajah manusia yang dideteksi, begitu juga pada kamera keluar akan melakukan tangkapan wajah yang dideteksi. Didalam tampilan halaman deteksi akan menampilakn tanggal dan waktu. Kamera masuk dan kamera keluar juga menampilkan wajah manusia yang dideteksi dan kemudian akan dicapture. Jumlah manusai yang dicapture akan ditampilkan juga pada kamera masuk dan kamera keluar. Untuk melihat hasil tangkapan yang telah berhasil dapat dilihat di menu cek jumlah, namun sebelum itu admin harus mematikan kamera masuk dan kamera keluar.
Kamera Masuk
Matikan Kamera Masuk
Kotak Info Deteksi
Foto Crop
Layar Kamera Masuk
...pilih kamera...
Pilihan Kamera Masuk
Jumlah Masuk :
Tgl dan waktu
Status X Y
Gambar 3.12 Rancangan Halaman Deteksi Kamera Masuk
Kamera Keluar
Matikan Kamera Keluar
Kotak Info Deteksi
Foto Crop
Layar Kamera Keluar
...pilih kamera...
Pilihan Kamera Keluar
Jumlah Keluar :
Tgl dan waktu
Status X Y
Gambar 3.13 Rancangan Halaman Deteksi Kamera Keluar
3.5.5 Rancangan halaman cek jumlah orang
Rancangan halaman cek jumlah akan menampilkan semua hasil tangkapan deteksi yang telah dilakukan. Pada halaman ini menampilkan orang masuk, orang keluar, jumlah orang di dalam ruangan. Pada tampilan halaman ini juga terdapat tanggal, bulan, tahun. Tampilan orang masuk akan menampilkan hasil photo yang telah dicapture, dan juga terdapat tanggal, jam masuk, foto, orang ke. Begitu juga pada tampilan orang keluar.
32
Total Orang yang Masuk
Tanggal/Bulan/Tahun
Orang yang Masuk Orang yang Keluar Jumlah orang di dalam ruangan
Tanggal Jam Masuk Foto Orang Ke
Gambar 3.14 Rancangan Halaman Cek Jumlah Orang 3.5.6 Rancangan Halaman Profil Pembuat
Rancangan halaman profil berisi photo dan juga akan menampilkan judul skripsi dan juga nama aplikasi.
PROFIL PEMBUAT
Gambar 3.15 Rancangan Halaman Profil Pembuat
BAB 4
IMPLEMENTASI DAN PENGUJIAN APLIKASI
Pada bab ini akan dijelaskan tentang proses pengimplementasian algoritma Haar Cascade Classifier pada aplikasi pendeteksian dan perhitungan jumlah manusia di ruangan tertentu, sesuai perancangan aplikasi yang telah dilakukan di Bab 3 serta melakukan pengujian aplikasi yang telah dibangun.
4.1. Implementasi Aplikasi
Pada tahap ini, Haar Cascade Classifier akan diimplementasikan ke dalam aplikasi dengan menggunakan bahasa pemrograman Visual Basic.NET sesuai perancangan yang telah dilakukan.
4.1.1. Spesifikasi Perangkat Keras dan Lunak yang Digunakan
Spesifikasi perangkat keras dan perangkat lunak yang digunakan untuk membangun aplikasi ini adalah sebagai berikut:
1. Prosesor Intel® CoreTM i3 4030U CPU 1.90 GHz.
2. Kapasitas harddisk 500 GB.
3. Memori RAM yang digunakan 10.00 GB.
4. Sistem operasi yang digunakan adalah Microsoft Windows 8 Ultimate.
5. Menggunakan Visual studio 2013
4.1.2. Implementasi Perancangan Antarmuka
Adapun implementasi perancangan antarmuka yang telah dilakukan sebelumnya pada aplikasi adalah :
1. Halaman Login
Halaman ini adalah tampilan awal saat aplikasi dijalankan. Admin dapat menggunakan aplikasi dengan melakukan login terlebih dahulu. Halaman login dapat dilihat pada Gambar 4.1
Gambar 4.1 Halaman Login 2. Halaman Pengaturan Setingan
Pada tampilan halaman setting, berisi tab atur setting dan tab pengguna pada tampilan atur setting terdapat form untuk admin mengatur nama tempat, alamat, no telp, jam mulai, jam selesai, kamera masuk, kamera keluar, sebelum aplikasi akan dijalankan.
36
Gambar 4.2 Halaman Pengaturan Settingan 3. Halaman Pengaturan Pengguna
Pada tampilan halaman setting pengguna akan menampilkan form pengguna dan kata kunci untuk mengganti yang sudah tersimpan dengan pengguna dan kata kunci yang telah diperbaharui oleh admin, setelah itu akan disimpan.
Gambar 4.3 Halaman Pengaturan Pengguna 4. Halaman Deteksi
Halaman ini adalah tampilan dari deteksi wajah dari kamera masuk dan kamera keluar, setelah kamera masuk dan kamera keluar melakukan pendeteksian wajah kamera akan melakukan penangkapan gambar wajah. Pada halaman deteksi ini admin dapat mengatur set batas kemiripan baik dikamera masuk dan kamera keluar. Dan dapat mengubah langsung kamera yang ingin dipakai baik dikamera masuk dan kamera keluar. Sebelum meninggalkan halaman deteksi ini admin terlebih dahulu harus mematikan kamera untk dapat kembali ke halaman lainnya.
38
Gambar 4.4 Halaman Deteksi
5. Halaman Cek Jumlah
Semua hasil capture photo wajah manusia dapat dicek di halaman cek jumlah.
Halaman cek jumlah menampilkan tampilan foto orang masuk, orang keluar, dan total jumlah orang di dalam ruangan, dan admin dapat memilih tanggal foto yang telah ditangkap.
Gambar 4.5 Halaman Cek Jumlah
6. Profil Pembuat
Tampilan profil pembuat hanya menampilan profil pembuat, judul skripsi dan menampilkan nama aplikasi.
40
Gambar 4.6 Halaman Profil Pembuat
4.2. Pengujian Aplikasi
4.2.1. Pengujian pada lingkungan warnet
Kondisi Ruangan : Ruangan Kamera Keluar hanya cahaya lampu dalam ruangan.
Ruangan kamera Masuk menghadapi sebagian cahaya matahari.
Batas kemiripan Skala rata-rata Batas minimum threshold Kamera
masuk
Kamera keluar
Kamera masuk
Kamera keluar
90% 1.5 1.5 10 12
Batas Kemiripan : Kamera masuk = 92%
Kamera Keluar = 90%
Skala Rata-rata : Kamera masuk = 1.5 Kamera Keluar = 1.5 Batas Minimum Threshold : Kamera masuk = 10
Kamera Keluar = 12
1. Pengujian dengan batas kemiripan 90%
a. Uji pada 1 orang yang masuk :
Pada gambar ini hasil pengujian 1 orang yang masuk dan 1 orang yang keluar, set batas kemiripannya 90%. Kamera masuk melakukan capture wajah 1 orang yang masuk dan kamera keluar melakukan capture wajah 1 orang, sehingga status pengunjung atau jumlah manusia di dalam ruangan adalah 0. Aplikasi juga menampilkan wajah yang telah dicapture dikamera keluar atau kamera keluar.
b. Uji pada 2 orang yang masuk :
Pada gambar ini menunjukan hasil dari jumlah orang yang masuk adalah 2 orang dan jumlah orang yang keluar 2 orang, sehingga status jumlah orang di dalam ruangan adalah 0. Set batas kemiripan 90%. Kamera masuk melakukan capture 2 wajah manusia dan kamera keluar melakukan capture wajah berjumlah 2 orang.
42
c. Uji pada 4 orang yang masuk :
Pada gambar ini adalah hasil dari 4 orang masuk dan 4 orang yang keluar, sehingga jumlah manusia di dalam ruangan adalah 0.
Hasil capture wajah dapat dicek pada cek jumlah,dan admin memilih tanggal di sebelah kanan. Jumlah total orang masuk pada kamera masuk adalah 4 orang, dan juga terdapat tanggal, jam, foto wajah dan orang ke.
Setelah data orang yang masuk, admin juga dapat melihat cek jumlah orang yang keluar. Jumlah total orang keluar pada kamera keluar adalah 4 orang sesuai dengan jumlah orang yang terapat pada kamera masuk.
Semua hasil capture wajah dapat dilihat pada tampilan jumlah total orang yang ada dalam ruangan.Total jumlah orang yang ada di dalam ruangan adalah 0. Sehigga dapat dsimpulkan total jumlah pengunjung pada waktu itu adalah 0.
44
2. Pengujian dengan batas kemiripan 88%
Pada hasil ini jumlah wajah yang dicapture ada yang lebih dari satu kali, dikarenakan orang yang berjalan sangat lambat di depan kamera. Jumlah orang yang masuk adalah 4 orang sedangkan yang tertangkap oleh kamera keluar adalah 5 orang.
BAB 5
KESIMPULAN DAN SARAN
Berdasarkan pembahasan dan implementasi yang dilakukan maka dapat diperoleh beberapa kesimpulan dan saran :
5.1 Kesimpulan
1. Sistem ini masih banyak kelemahan terutama bila orang yang berjalan terlalu lambat, menundukkan atau menutup wajahnya atau juga sengaja berdiri di depan kamera. Oleh karena itu pemasangan kamera dibuat sedemikian rupa agar tidak diketahui oleh objek yang akan masuk dan keluar.
2. Apabila tidak melakukan kalibrasi yang tepat pada parameter detektor saat instalasi sistem perangkat lunak dan perangkat kerasnya (webcam) maka akan didapat hasil yang kurang optimal atau banyak objek yang tidak dihitung (loss).
3. Apabila sistem masih terdapat kesalahan hitung, maka hasilnya dapat dilihat dan dibandingkan pada menu cek jumlah. Sistem bukan saja hanya menghitung jumlah tetapi juga menangkap gambar dan mencatat waktunya.
Meskipun begitu pengguna sistem masih bisa membandingkan error/loss yang terjadi dari menu Cek Jumlah tersebut.
5.2 Saran
1. Pada peletakan kamera harus juga diperhatikan, ketinggian kamera serta pencahayaannya dan tidak dihadapkan pada cahaya matahari, baik kamera masuk dan kamera keluar.
2. Jika tidak wajah banyak tidak tertangkap kamera maka admin dapat mengubah set batas kemiripan skala rata-rata dan nilai thresholdnya pada tampilan deteksi di kamera masuk dan kamera keluar.
3. Untuk penelitian lanjutan dapat menggunakan kualitas kamera webcam yang di masa depan mungkin hadir lebih tinggi dari kamera webcam yang ada pada saat ini.
xii
DAFTAR PUSTAKA
Alhaqqi, R. M., Ramadijanti, N., & Setiwardhana. 2011. Finger Tracking Untuk Interaksi Pada Virtual Keyboard. Naskah Publikasi. Politeknik Elektronika Negeri Surabaya. 2011.
Harjoko, A. & Santoso, H. 2013. Haar Cascade Classifier dan Algoritma Adaboost untuk deteksi banyak wajah dalam ruang kelas, Jurnal Teknologi, Vol. 6 No.
2 Desember 2013: 108 115.
Kusumanto, R. D., Pambudi, W. S. & Tompunu. A, N. 2012. Aplikasi Sensor Vision untuk Deteksi MultiFace dan Menghitung Jumlah Orang. ISBN 979 - 26 - 0255 - 0. Seminar Nasional Teknologi Informasi & Komunikasi Terapan 2012:
26 33.
Amin, M.F. & Wahono, R.S. 2015. Penerapan Reduksi Region Palsu Berbasis Mathematical Morphology pada Algoritma Adaboost Untuk Deteksi Plat Nomor Kendaraan Indonesia. Journal of Intelligent Systems 1(1): 9-14.
(Online) http://journal.ilmukomputer.org/index.php/jis/article/download/25/13 (25 November 2015).
Bisri, A. & Wahono, R.S. 2015. Penerapan Adaboost untuk Penyelesaian Ketidakseimbangan Kelas pada Penentuan Kelulusan Mahasiswa dengan Metode Decision Tree. Journal of Intelligent Systems 1(1): 27-32. (Online) http://journal.ilmukomputer.org/index.php/jis/article/download/29/16
(25 November 2015).
Ensemble Learning - Boosting, Ensemble Learning, Lpboost, Random Forest, Brownboost, Adaboost, Ensembles of Classifiers, Bootstrap Aggregating. 2010. General Books LLC: Tennessee.
Gupta, V. & Sharma, D. 2014. A Study of Various Face Detection Methods.
International Journal of Advanced Research in Computer and Communication Engineering 3(5): 6694-6697.
Neelagandan, R. 2012. High-Performance Face Detection Using McT and Adaboost Algorithm. Lambert Academic Publishing: Saarbrucken.
Wahyudi, E., Wirawan. & Kusuma H. 2011. Teknik Pengenalan Wajah Berbasis Fitur Local Binary Pattern (LBP). Institut Teknologi Sepuluh November: 2088-4796
Yogi, S.R. & Fitriani 2014. Deteksi Wajah Menggunakan Metode Viola Jones Pada Graphics Processing Unit Face Detection Using Viola Jones Method On Graphics Processing Unit. Universitas Telkom
Zarlis, M., Sitompul, O.S., Sawaluddin., Effendi, S., Sihombing, P. & Nababan, E.B. Pedoman Penulisan Skripsi. USU Press: Medan.