## Institut Riset dan Publikasi Indonesia (IRPI)
MALCOM: Indonesian Journal of Machine Learning and Computer Science
Journal Homepage: https://journal.irpi.or.id/index.php/malcom Vol. 4 Iss. 1 January 2024, pp: 37-44 ISSN(P): 2797-2313 | ISSN(E): 2775-8575

## Face Detection Using Haar Cascade Classifier Algorithm

## Deteksi Citra Wajah Menggunakan Algoritma Haar Cascade Classifier
Faishal Tirto Nugroho 1* , Enny Itje Sela 2
1,2 Program Studi Informatika, Fakultas Sains dan Teknologi, Universitas Teknologi Yogyakarta
E-Mail: 1 faishaltirto@gmail.com, 2 ennysela@uty.ac.id
Received Aug 30th 2021; Revised Sept 05th 2021; Accepted Sept 15th 2022 Corresponding Author: Faishal Tirto Nugroho

## Abstract
Humans can easily recognize objects, which is quite different from computers. When a computer needs to recognize an object, a very long training process must be carried out, and there are many methods that can be used to train a computer to detect an object well, one of which is the Haar Cascade Classifier algorithm. This research will address the topic of face detection using the Haar Cascade Classifier algorithm. The Haar Cascade Classifier algorithm has become a commonly used algorithm for face detection. Using this algorithm, a computer system can be trained to detect facial images. To train a system to detect faces, you need a dataset containing faces. In this research, a dataset containing both faces and non- faces will be used. After the training, a system capable of detecting faces can be generated. By using OpenCV connected to the laptop's webcam, the face detection system will run immediately. The results of the testing in this research show that faces can be detected effectively. Detected faces are not limited to those facing the camera; faces facing right, left, up, and down can also be detected effectively.
Keywords: Digital Image Processing, Face Recognition, Haar Cascade Classifier, Intelligent Systems, OpenCV

## Abstrak
Manusia dapat mengenali objek dengan sangat mudah berbeda dengan komputer. Jika komputer ingin mengenali sebuah objek harus dilakukan proses pelatihan yang sangat lama ada banyak sekali metode yang dapat digunakan untuk melatih komputer  agar  dapat  mendeteksi suatu objek dengan baik  salah  satunya  yaitu dengan  algoritma  haar  cascade  classifier. Pada penelitian ini akan membawakan topik pendeteksian wajah yang akan dilakukan dengan menggunakan algoritma haar cascade classifier. Algoritma haar cascade classifier sudah menjadi algoritma yang biasa digunakan untuk pendeteksian wajah. Dengan menggunakan algoritma ini dapat melatih suatu sistem komputer agar dapat mendeteksi citra wajah. Untuk melatih sistem agar dapat mendeteksi wajah diperlukan sebuah data berupa wajah. Pada penelitian ini akan menggunakan dataset berupa wajah dan bukan wajah. Setelah melakukan pelatihan dapat dihasilkan suatu sistem yang dapat mendeteksi wajah. Dengan menggunakan OpenCV yang disambungkan ke webcam laptop sistem pendeteksian akan langsung berjalan. Hasilpengujian pada  penelitian  ini  menunjukan  wajah dapat  terdeteksi  dengan  baik.  Wajah  yang terdeteksi  tidak  hanya wajah yang menghadap kedepan kamera saja akan tetapi wajah yang menghadap kesamping kanan, kiri, atas dan bawah juga dapat terdeteksi dengan baik.
Kata Kunci: Face Recognition, Haar Cascade Clasifier, OpenCV, Pengolahan Citra Digital, Sistem Cerdas

## 1. PENDAHULUAN
Manusia  dapat  mengenali  suatu  obejek dengan  sangat  mudah  seperti mengenali  suatu  bentuk  wajah. Dengan melakukan pengenalan manusia dapat mengidentifikasi objek yang berbeda hal ini dapat dilakukan karena manusia memiliki sistem kecerdasan tidak seperti mesin komputer yang akan susah mengenali sebuah objek. Untuk melakukan sebuah pengenalan, komputer membutuhkan pelatihan yang sangat banyak sehingga komputer  tersebut  dapat  mengenali  suatu  objek  dengan  baik.  Dalam  ilmu  komputer  terdapat  ilmu  sistem kecerdasan buatan dimana sistem ini menerapkan kecerdasan layaknya seperti manusia. Dengan kecerdasan buatan komputer akan dilatih dengan data yang sangat banyak yang bertujuan untuk mengenali suatu objek. Dengan melakukan pendeteksian objek wajah dapat tercipta sistem kemanan seperti verifikasi objek. Dengan adanya sistem tersebut dapat dijadikan sebagai verifikasi pengamanan data sehingga data tersebut dapat tetap aman dan hanya dapat diakses dengan verifikasi wajah pemilik [1][2][3].
Terdapat banyak sekali algoritma yang dapat digunakan agar komputer dapat dilatih untuk mengenali suatu  objek  salah  satunya  adalah  algoritma haar  cascade  classifier .  Algoritma haar  cascade  classifier ini adalah metode yang dikembangkan oleh viola dan jones pada tahun 2001. Algoritma ini sangat populer untuk melakukan pendeteksian wajah, sudah banyak penelitian yang menggunakan algoritma ini untuk melakukan pendeteksian  wajah  karena  algoritma  ini  dapat  melakukan  deteksi  dengan  cepat,  akurat  dan  juga  dapat dilakukan secara langsung menggunakan kamera [4][5][6].
Penelitian untuk pendeteksian wajah sudah banyak dilakukan sebelumnya. Terdapat penelitian untuk menerapkan deteksi  wajah  untuk  memantau  orang keluar  dan  masuk  pada  asrama  Universitas  Klabat.  Pada penelitian ini digunakan algoritma haar cascade classifier untuk melakukan pendeteksian wajah seseorang. Dengan  menggunakan OpenCV dan  kamera webcam untuk  menangkap  wajah  seseorang,  Setelah  wajah seseorang tertangkap kamera webcam setelah itu sistem akan mengirimkan pesan dan memberitahu bahwa ada seseorang yang masuk atau keluar [7].
Terdapat  juga  penerapan  deteksi  wajah  berbasis android menggunakan  algoritma haar  cascade classifier . Penelitian ini berfokus dalam pendeteksian wajah, terdapat beberapa kondisi yang dilakukan pada penelitian ini seperti wajah biasa dan wajah yang tertutup oleh aksesoris seperti kacamata, jilbab dan topi. Pada penelitian ini menghasilkan akurasi 95,38% jika wajah tidak memiliki aksesoris apapun akan tetapi akurasi menjadi  72,47%  jika  wajah  tertutup  oleh  aksesoris  seperti  kacamata,  jilbab,  topi  dan  objek  lain  nya.  Pada penelitian ini juga masih menghasilkan hasil yang kurang terhadap wajah yang miring ataupun menoleh dan hanya dapat mendeteksi wajah yang tegap lurus menghadap ke kamera [8].
Selanjutnya  terdapat  penelitian  dengan  tema  pendeteksian  wajah  yang  menggunakan  masker.  Pada penelitian ini berfokus pada wajah yang mengenakan masker. Dari penelitian ini menghasilkan sistem yang dapat mendeteksi wajah dan juga wajah yang menggunakan masker. Kekurangan dari penelitian ini masih sama seper-ti penelitian sebelumnya yaitu hanya dapat menangkap wajah yang tegap lurus menghadap kamera [9].
Lalu  berikut  ini  terdapat  penelitian  yang  menggunakan  metode  selain haar  cascade  classifier .  Pada penelitian  ini  menggunakan  Facenet  untuk  melakukan  pendeteksian  wajah.  Dengan  menggunakan  metode Facenet penelitian ini menghasilkan akurasi sebesar 80%. Penelitian tersebut mendapatkan tingkat akurasi yang baik dan cukup akurat, akan tetapi hasil pendeteksian wajah hanya dapat mendeteksi wajah yang menghadap kedepan kamera [10].
Penelitian lain lagi yang menggunakan algoritma yang berbeda yaitu penelitian dengan menggunakan CNN untuk deteksi wajah. Pada penelitian ini menghasilkan pendeteksian yang sangat baik. Permasalahan nya yaitu hanya pada pendeteksian hanya pada wajah yang tegap lurus menghadap kamera saja [11].
Dari penelitian-penelitian terdahulu dapat disimpulkan hasil dari penelitian terdahulu sudah baik tetapi masih terdapat kekurangan. Kekurangan yang sering terjadi yaitu hanya dapat mendeteksi wajah yang tegap lurus menghadap kedepan kamera [12][13][14]. Maka dari itu pada penelitian ini akan membuat sistem deteksi wajah yang akan dapat mendeteksi wajah yang dapat menoleh yang tidak berfokus menghadap kedepan kamera saja.

## 2. METODOLOGI PENELITIAN

## 2.1. Kerangka Penelitian
Berikut  adalah  kerangka  penelitian  dari  penelitian  ini.  Dalam  kerangka  penelitian  ini  dapat  dilihat langkah-langkah  yang  dilakukan.  Langkah-langkah  ini  berisi  mulai  dari  kondisi  awal  hingga  akhir  dan menghasilkan produk. Terlihat pada gambar 1 adalah alur dari kerangka penelitian ini. Pada kondisi awal masih belum  terimplementasi  sistem  apapun  sehingga  memutuskan  untuk  memberikan  sistem  pengaman  berupa kamera  yang  dapat  mendeteksi  wajah  manusia  dengan  adanya  sistem  tersebut  akan  membuat  tempat  itu menjadi lebih aman.

## 2.2. Data Penelitian
Penelitian memerlukan sebuah data. Data-data ini yang akan membuat penelitian berjalan dan membuat hasil dari penelitian. Dengan itu berikut adalah penjelasan dari data-data yang dipakai pada penelitian ini.

## 2.3. Sumber Data
Data yang digunakan pada penelitian ini adalah 2 jenis data citra yaitu citra wajah dan citra non wajah dengan jumlah sebanyak 314 citra. 157 citra wajah didapatkan dari A Century of Portraits: A Visual Historical Record of American High School Yearbooks. yang berisi protret wajah siswa sekolah menengah akhir amerika, pada dataset tersebut terdapat 37,921 dataset wajah. Penelitian ini hanya mengambil 157 data wajah dari dataset tersebut beberapa tambahan didapatkan dengan cara memotret dengan kamera smartphone. Sedangkan untuk citra non wajah didapatkan dari Standford Background Dataset , Pada dataset tersebut terdapat 715 data citra non wajah dan hanya diambil 157 untuk digunakan pada penelitian ini. Data pada tabel adalah beberapa data yang akan digunakan untuk dijadikan bahan penelitian.

## 3. Hasil dan Pembahasan

## 3.1. Analisis dan Perancangan
Berikut  adalah  analisis  rancangan  dari  penelitian  ini.  Dengan  analisis,  dapat  diketahui  kebutuhan kebutuhan yang ada. Kebutuhan tersebut yaitu kebutuhan fungsional dan non fungsional .
1. Kebutuhan fungsional
Berikut  adalah  kebutuhan  fungsional  dari  penelitian  ini.  Penjelasan  mulai  dari  input,  proses  dan outputnya:
a. Dapat melakukan input dari citra.
b. Dapat melakukan pemrosesan dari algoritma yang digunakan.
c. Dari proses yang sudah dilakukan dapat melakukan deteksi wajah pada seseorang.
2. Kebutuhan non fungsional
Berikut ini adalah kebutuhan non fungsional. Kebutuhan ini berisikan perangkat lunak yang digunakan dan perangkat keras yang digunakan untuk penelitian ini. Berikut adalah kebutuhan nya:
a. Perangkat lunak yang digunakan adalah Python, openCV .
b. Perangkat keras yang digunakan yaitu Laptop HP dengan prosessor ryzen 5 3500u RAM 8GB.

## 3.2. Perancangan konseptual dan fisik
Berikut  adalah  perancangan  konseptual  dan  fisik.  Tujuan  dari  perancangan  konseptual  dan  fisik  ini adalah agar dapat mengetahui alur kerja dari sistem. Alur sistem digambarkan dalam bentuk flowchart seperti pada gambar 2. Dari situ dapat diketahui proses dari sistem yang dibuat. Langkah pertama yaitu memasukkan citra yang akan dijadikan data penelitian. Setelah itu akan dilakukan langkah pre-prosessing seperti rezise dan konversi  ke grayscale .  setelah  itu  masuk  ke  langkah  klasifikasi  nya  mulai  dari  menentukan  haar  feature, mencari  integral  image,  klasifikasi  dengan adaboost ,  klasifikasi  dengan haar  cascade .  Setelah  proses klasifikasi selesai maka hasil deteksi wajah akan muncul.

## 3.3. Implementasi
Berikut adalah Implementasi dari dari sistem yang sudah dibuat. Hal pertama yang perlu dilakukan yaitu memasukkan dataset yang akan dilatih. Kedua dataset yaitu citra wajah dan non wajah akan dimasukkan dan nantinya  akan  dilatih. Dataset tersebut  akan  dimasukkan  dan  dilakukan preprosessing yaitu  mengubahnya menjadi citra graysclae dan mengubah ukuran nya.
Gambar 3. Memasukkan Data
Mengubah citra menjadi citra grayscale berfungsi untuk mengurangi nilai dimensi dari suatu citra dari yang  memiliki  3  warna yaitu merah,  hijau, biru  menjadi  berwarna  hitam  dan putih  saja.  Dengan  ini  proses perhitungan akan lebih sederhana dan lebih cepat dalam prosesnya. Setelah itu citra akan diperkecil sehingga akan mengurangi juga nilai dari pixel nya yang akan dimasukkan kedalam perhitungan.
Gambar 4. Code Integral
Gambar 5. Citra abu/grayscale
Setelah  itu  akan  dicari  fitur  dari  citra  abu  pada  gambar  5  Untuk  pencarian  fitur  akan  dilakukan pengubahan citra grayscale kedalam citra integral. Berikut adalah beberapa perhitungan dari pixel 4x4 yang diambil dari citra grayscale pada gambar 5.
faces = [] files = os.listdir('faces2') for i in tqdm(range(len(files))): img = io.imread(f"faces2/{files[i]}") if len(img.shape) > 2: img = rgb2gray(img) img = cv2.resize(img, (19, 19)) if (img.max() > 1): img = img / 255 faces.append(img) print(f'Loaded {len(faces)} Face Images')
def compute_integral_image(img): width = img.shape[0] height = img.shape[1]
ii = np.zeros((width + 1,
height + 1))
for i in range(width): for j in range(height): ii[i + 1, j + 1] = np.sum(img[:i + 1, :j + 1]) return ii
Gambar 6. pixel 4x4
Gambar 7. Perhitungan integral 1
52 = 52 52 + 52 = 104 52 + 52 + 50 = 154 52 + 52 + 50  + 55  = 209
Gambar 8. Perhitungan Integral 2
52 + 50 = 102 52 + 50  + 52 + 51  = 205 52 + 50  + 52 + 51  + 50 + 51  = 306 52 + 50  + 52 + 51  + 50 + 51 + 55 + 57  = 418

## Gambar 9. Perhitungan Integral 3
52 + 50 + 54 = 156 52 + 50  + 54 + 52 + 51 + 50  = 309 52 + 50  + 54 + 52 + 51  + 50 + 50 + 51 + 49  = 459 52 + 50  + 54 + 52 + 51  + 50 + 50 + 51 + 49 +   + 55  +  57  +  56  = 627
Gambar 10. Perhitungan Integral 4
52 + 50 + 54 + 58 = 214 52 + 50  + 54 + 58 + 52 + 51 + 50 + 52  = 419 52 + 50  + 54 + 58 + 52 + 51  + 50 + 52 + 50 + 51 + 49 + 46 = 615
52 + 50  + 54 + 58 + 52 + 51  + 50 + 52 + 50 + 51  + 49 + 46 + 55 + 57 + 56 + 53 = 836
Gambar 11 . Hasil akhir integral image
Batas  dari  citra  grayscale  adalah  255.  Maka  dari  itu  jika  citra  integral  di  lihat  dalam  bentuk  citra grayscale akan terlihat pada gambar 12. Karena batas dari citra grayscale adalah 255 maka jika nilai melebihi 255  tidak  akan  ditambahkan  lagi  sehingga  titik  paling bawah  akan  terlihat berwarna  keputihan karena  nilai paling bawah sudah pasti paling tinggi yaitu 255 [15][16].

## Gambar 12. Citra Integral
Dengan citra integral akan lebih mempercepat perhitungan haar feature nya. Pencarian feature dengan haar like feature memerlukan menghitung daerah putih dan hitam. Karena sudah menggunakan integral image hal tersebut tidak perlu dilakukan. Perhitungan akan menjadi lebih sedehana yaitu hanya dengan seperti pada gambar 12. dari perbandingan tersebut dapat diketahui bahwa dengan citra integral dapat mempercepat proses perhitungan.

## Gambar 13. Perbandingan
Setelah itu pada tahap training digunakan  dataset wajah sebanyak 157 dan dataset non wajah sebanyak 157 dengan total keseluruhan adalah 314 data citra. Setelah itu akan dibagi yaitu data set akan berjumlah 200 dan data test berjumlah 114.

## 4. HASIL DAN PEMBAHASAN
Proses  train  dengan  20  iterasi  mendapatkan  akurasi  pada  proses  train  yaitu  100%  dengan  dataset berjumlah  200  dan  pada  proses  test  sebesar  95,6%  dengan  dataset  berjumlah  114.  Pada  gambar  14  terlihat program  sudah  dapat  memberikan  bounding  box  pada  area  wajah  dengan  cukup  baik  dengan  tingkat pencahayaan yang terang. Jika ruangan gelap maka wajah akan sulit terdeteksi terlihat seperti pada gambar 15. Lalu untuk wajah yang menghadap kearah lain juga sudah dapat terdeteksi dengan cukup baik terlihat pada gambar 16 dan 17.
Gambar 14. Test dengan gambar
Gambar 15. Ruangan gelap
Gambar 16. Wajah menghadap ke samping
Gambar 17. Wajah menghadap keatas
Untuk mendapatkan hasil yang bagus memerlukan pencahayaan yang cukup. Dengan pencahayaan yang cukup  pendeteksian  akan  berjalan  dengan  baik.  Pengetesan  hasil  berada  pada  ruangan  tertutup  sehingga membutuhkan bantuan dari lampu kamera untuk menghasilkan pencahayaan yang cukup.

## 5. KESIMPULAN
Dari  yang  sudah  penelitian  ini  lakukan.  Dapat  disimpulkan  pendeteksian  citra  wajah  menggunakan feature haar wajah dapat terdeteksi dengan baik. Dengan melatih model menggunakan 20 iterasi dan dengan total data train sebanyak 200 citra menghasilkan hasil train dengan tingkat akurasi sebesar 100%. Setelah itu dengan  data  test  sebanyak  114  dapat  menghasilkan  akurasi  sebesar  95,6%.  Dengan  tingkatan  setinggi  itu program dapat mendeteksi wajah dengan cukup baik dan menghasilkan bounding box pada area wajah dengan baik  dibandingkan  dari  penelitian  terdahulu  yang  sudah  pernah  dibahas  sebelumnya  menggunakan  metode yang sama yaitu haar cascade classifier masih memiliki hasil yang kurang baik seperti hanya dapat mendeteksi wajah yang menghadap lurus kedepan. Penelitian ini menghasilkan pengembangan dengan dapat mendeteksi wajah yang menghadap kesamping kanan kiri maupun atas dan bawah dengan sangat baik. Dengan demikian dapat  dikembangkan  sistem  pendeteksian  wajah  yang  lebih  baik  sehingga  penggunaan  pendeteksian  wajah akan menjadi lebih luas seperti sistem verifikasi dan keamanan dengan pendeteksian wajah.

## 6. UCAPAN TERIMAKASIH
Terima kasih saya ucapkan untuk dosen pembimbing yang selalu membimbing saya, orang tua yang selalu mendoakan saya dan juga teman-teman yang selalu mendukung saya.

## REFERENSI
[1] Arhandi, P. P., Rosiani, U. D., Prasetyawati, A., & Choirina, P. (2018). Sistem Pengenalan Wajah Untuk Keamanan  Folder  Menggunakan  Metode  Triangle  Face.  Jurnal  Informatika  Polinema,  4(4),  268. https://doi.org/10.33795/jip.v4i4.218
[2] Yulianti, D. R., Triastomoro, I. I., & Sa’idah, S. (2022). identifikasi pengenalan wajah untuk sistem presensi  menggunakan  metode  knn  (k-nearest  neighbor).  Jurnal  Tekinkom  (Teknik  Informasi  dan Komputer), 5(1), 1-10.
[3] Arsal, M., Wardijono, B. A., & Anggraini, D. (2020). Face Recognition Untuk Akses Pegawai Bank Menggunakan Deep Learning Dengan Metode CNN. J. Nas. Teknol. dan Sist. Inf, 6(1), 55-63.
[4] Dawari, A. (2022). All About Adaboost. Retrieved from https://pub.towardsai.net/all-about-adaboost- ba232b5521e9
[5] Fabien, M. (2019). A full guide to face detection. Retrieved from https://maelfabien.github.io/tutorials/face-detection/
[6] Hashim, S., & Mccullagh, P. (2023). Face detection by using Haar Cascade Classifier. Wasit Journal of Computer and Mathematics Science, 2(1), 1–8. https://doi.org/10.31185/wjcm.109
[7] Waworundeng, J., & Suwu, R. R. I. (2023). Implement tion of Face Recognition in People Monitoring Access  In-and-Out  of  Crystal  Dormitory  Universitas  Klabat.  CogITo  Smart  Journal,  9(1),  156–170. https://doi.org/10.31154/cogito.v9i1.500.156-170.
[8] Vera  Wati,  Yuliana,  Nisrina  Yulia  Setyowati,  &  Mudawil  Qulub.  (2023).  DETEKSI  WAJAH MENGGUNAKAN  ALGORITMA  VIOLA  JONES  BERBASIS  ANDROID.  TEKNIMEDIA: Teknologi Informasi Dan Multimedia, 4(1), 30–37. https://doi.org/10.46764/teknimedia.v4i1.92.
[9] Hidayattullah, M. F., Hapsari, Y., Humam, M., & Nishom, M. (2022). Automatic Face Mask Detector menggunakan Algoritma Viola and Jones. Jurnal Informatika: Jurnal Pengembangan IT, 7(1), 32–36. https://doi.org/10.30591/jpit.v7i1.3563.
[10] Jamal Rosid. (2022). Face Recognition Dengan Metode Haar Cascade dan Facenet. Indonesian Journal of Data and Science, 3(1). https://doi.org/10.56705/ijodas.v3i1.38
[11] Fadlil,  A.,  Prayogi,  D.,  Dahlan,  A.,  &  Penulis  Korespondensi,  Y.  (2022).  Sistem  Pengenalan  Wajah pada  Keamanan  Ruangan  Berbasis  Convolutional  Neural  Network.  Jurnal  Sains  Komputer  & Informatika (J-SAKTI, 6(2), 636–647.
[12] Septian,  K.  D.,  Ismail,  S.  J.  I.,  &  Sularsa,  A.  (2019).  Prototipe  Sistem  Keamanan  Face  Recognition Berbasis Principal Component Analisis (PCA). eProceedings of Applied Science, 5(2).
[13] Sulistiyanti, S. R., Setyawan, A., Komarudin, M.(2016). Pengolahan Citra Digital Dasar dan Contoh Penerapannya.Yogyakarta. Teknosain.
[14] Sunardi,  S.,  Fadlil,  A.,  &  Prayogi,  D.  (2022).  Sistem  Pengenalan  Wajah  pada  Keamanan  Ruangan Berbasis Convolutional Neural Network. J-SAKTI (Jurnal Sains Komputer dan Informatika), 6(2), 636- 647.
[15] Will Berger. (2018). Deep Learning Haar Cascade Explained. Retrieved from http://www.willberger.org/cascade-haar-explained/
[16] Wisesa Lintang.OpenCV Face Recognition Berbasis Algoritma Haar Cascade. 2019. https://medium.com/purwadhikaconnect/opencv-face-recognition-berbasis-algoritma-haar-cascade- 1a5e23d9e8cb.