## Perancangan Sistem Deteksi Wajah Berbasis Gambar Menggunakan OPENCV
Karno Diantoro 1 , Dian Gustina 2 Jurusan Teknik Informatika STMIK MERCUSUAR BEKASI
Jl. Raya Jatiwaringin No. 144, Pondok Gede, Bekasi, Jawa Barat abiluthfi@gmail.com 1 , dgustina77@gmail.com 2
Intisari — Deteksi wajah adalah deteksi objek berupa wajah yang didalamnya terdapat fitur – fitur khusus yang merepresentasikan bentuk wajah pada umumnya. Salah satu metode deteksi wajah adalah dengan metode Viola Jones . Metode ini mempunyai empat proses utama yaitu, haar-like feature ,citra integral , ada -  boost  ,  dan  cascade  classifier  .  Haar-like  feature  merupakan  kumpulan  fitur  khusus  yang merepresentasikan wajah dan citra integral adalah cara cepat menghitung haar feature . Sedangkan ada - boost adalah pembobotan secara statistik nilai – nilai fitur yang didapat dan di - filter menggunakan cascade classifier .
Sistem  deteksi  wajah  tersebut  menggunakan  java  sebagai  bahasa  pemrograman,  dan OpenCV sebagai librari deteksi objek. Hal ini dikarenakan librari OpenCV menerapkan metode Viola Jones kedalam sistem deteksinya, sehingga memudahkan dalam pembuatan sistem. Penelitian ini bertujuan untuk mengimplementasikan Viola Jones ke dalam sistem deteksi wajah sederhana dengan  memanfaatkan  library  yang  ada  pada OpenCV dan  memanfaatkan  bahasa  pemrograman  java sebagai pondasi sistem. Setelah sistem selesai dibuat, dilakukan pengujian sistem terhadap karakteristik wajah yang dapat dideteksi Kata kunci : bentuk wajah , metode Viola Jones, haar-like feature, OpenCV
Abstract — Face detection is the detection of objects in the form of faces in which there are special features that represent the shape of faces in general. One method of face detection is the Viola Jones method. This method has four main processes namely, haar - like features, integral image, there - boost, and cascade classifier. Haarlike feature is a collection of special features that represent faces and integral imagery is a fast way to calculate haar features. Whereas there - boost is a statistical weighting of feature values obtained and filtered using a cascade classifier.
The face detection system uses java as a programming language, and OpenCV as an object detection library. This is because the OpenCV library applies the Viola Jones method to its detection system, making it easier to create the system.
This study aims to implement Viola Jones into a simple face detection system by utilizing existing libraries in  OpenCV  and  utilizing  the  java  programming  language  as  a  system  foundation.  After  the  system  is finished, the system tests the face characteristics that can be detected Keywords: face shape, Viola Jones method, haar-like feature, OpenCV

## I. PENDAHULUAN
Wajah manusia terdiri atas beberapa bagian yang  memiliki  karakteristik  tersendiri,  yang terbentang dari dahi hingga ke dagu seperti mata, hidung,  telinga,  bibir,  pipi,  dahi,  dan  rambut. Penelitian mengenai pengenalan wajah tampaknya lebih  banyak  berkisar  tentang  sekuriti.  Penelitan tentang  sekuriti  yaitu  pengenalan  wajah  untuk mengidentifikasi  seseorang  berdasarkan  gambar digital atau Video yang dimasukkan.
Teknik  pengenalan  wajah  menjadi  tidak mudah,  karena  komputer  tidak  sama  dengan kemampuan manusia yang dapat mengenali setiap wajah yang telah dikenal bertahun-tahun maupun yang  dilihat  sekilas,  oleh  karena  itu  diperlukan
tahap  pembelajaran  ( learning )  untuk  melatih sehingga pada  akhirnya  system  dapat mengenali  wajah  yang  di  uji  saat  ini,  penelitian mengenai  pengenalan  wajah  dengan  cepat berkembang.
Aplikasi  komersial  tentang  ini  telah banyak diimplementasikan namun pada dasarnya teknologi  ini  belum  sempurna  Penelitian  perlu terus  dikembangkan  untuk  memperoleh  hasil yang  diinginkan.  Satu  hal  yang  dapat  ditambah atau  diimplementasikan  dalam  pengembangan teknologi  pengenalan  wajah  yaitu  dengan menambah tingkat kecepatan dan akurasi dalam pendeteksian  wajah.  Banyak  dari  sistem pendeteksian  tersebut  menggunakan  metode Viola  Jones sebagai  metode  pendeteksi  objek.
Metode Viola Jones dikenal memiliki kecepatan dan  keakuratan  yang  cukup  tinggi  karena menggabungkan beberapa konsep (Fitur Haar, Citra  Integral,  AdaBoost,  Cascade  Classifier ) menjadi sebuah metode utama untuk mendeteksi objek.
Aplikasi  ini  dibangun  dengan java . Pendeteksian Wajah dengan Metode Viola Jones , menyimpulkan metode Viola Jones adalah benar,- benar  mampu  mendeteksi  secara realtime dan mempunyai  keakuratan  yang  tinggi.  Selain  itu digunakan  juga  sebagai  system  penjejak  objek (Arihutomo,  Budikarso,  &  Setiawardhana,  2010, hal.  23),  Pada  penelitian  ini  akan  dijelaskan mengenai  cara  kerja Viola  Jones ,  serta mengaplikasikannya  dalam  sistem  deteksi  wajah sederhana  dengan  memanfaatkan  librari OpenCV dan Android Studio . Setelah sistem selesai dibuat, akan  dibahas  mengenai  cara  kerja  sistem  deteksi mulai  dari  akuisisi  citra,  pengolahan  citra, pengenalan  pola,  dan  analisis  citra.  Kemudian dilakukan  pengujian  mengenai  karakter  wajah yang dapat dideteksi.
Penelitian ini membahas tentang perancangan sistem deteksi wajah berbasis gambar menggunakan opencv diharapkan  dengan  adanya perancangan  ini  dapat  menghasilkan  pengenalan wajah  dengan  akurasi  yang  baik  dengan penggunaan  metode  yang  tepat.  Metode Viola- Jones Saat ini telah banyak berkembang aplikasi- aplikasi  yang  menggunakan  fitur  deteksi  objek. Deteksi  objek  dapat  dilakukan  dengan  berbagai cara,  salah  satunya  menggunakan  metode viola- jones .  Metode viola-jones merupakan  algoritma pendeteksi  objek  yang  terdapat  dalam EmguCV , metode ini merupakan metode yang paling banyak digunakan  untuk  mendeteksi  objek  hal  ini dikarenakan  metode viola-jones memiliki algoritma yang efisien, sehingga tidak memerlukan waktu lama dalam melakukan proses pendeteksian objek.

## II. Landasan Teori
Proses  pendeteksian  objek  dilakukan dengan mengklasifikasikan sebuah image  setelah sebelumnya sebuah pengklasifikasi dibentuk dari data training. Terdapat empat kontribusi utama dalam teori viola- jones , diantaranya yaitu
1) Fitur
2) Integral image
3) Adaptive Boosting atau AdaBoost
4) Kombinasi Classifier of Cascade
Fitur merupakan tahap paling awal yang diperlukan  dalam  pendeteksian  objek  dengan menggunakan  metode viola-jones ,Penggunaan fitur  dilakukan  karena  pemrosesan  fitur berlangsung lebih cepat dibandingkan pemrosesan image  perpixel  fitur  yang  digunakan  oleh  viola- jones berdasarkan pada Wavelat Haa r merupakan gelombang  tunggal  bujur  sangkar    yang mempunyai satu interval tinggi dan satu interval rendah  yang  kemudian  di  kembangkan  untuk pendeteksian objek visual yang lebih yang dikenal dengan nama fitur Haar , atau fitur Haarlike

## Gambar 2.1. Fiturhaar
Pada  gambar  2.1  dapat  dilihat  bahwa gambar 1(a) – 1(d) terdiri dari dua persegi gambar 2( a) – 2(h) terdiri dari tiga persegi, gambar 3(a) dan 3(b) terdiri dari dua persegi dengan salah satu persegi  terletak  di  dalam  center  persegi  lain,  dan gambar 4 terdiri dari. empat persegi . Viola & Jones menggunakan  fitur  1(a),  1(b),  2(a),  2(c),  dan  4, namun pada penilitan yang dilakukan oleh Viola & Jones fitur  tersebut  dikembangkan  menjadi  15 fitur, seperti gambar 2.1.
Pada penelitian ini penulis menggunakan 15 fitur tersebut karena dengan menggunakan 15 fitur  hasil  yang  diperoleh  lebih  baik  dari menggunakan  5 fitu r.  Nilai  dari fitur ini  dapat dihitung  dengan  mengurangkan  nilai pixel pada area  hitam  dengan pixel pada  area  putih.  Untuk mempermudah  proses  penghitungan  nilai  fitur, algoritma viola- jones menggunakan sebuah media berupa integral image

## 2.2 Integral Image
Integral  image merupakan  tahap  kedua  yang dilakukan  dalam  metode viola-jones . Integral Image adalah sebuah image yang nilai tiap pixel- nya merupakan akumulasi dari nilai pixel atas dan kirinya. Sebagai contoh, pixel(a,b) memiliki nilai akumulatif untuk semua pixel( x,y ) di man a x ≤a dan y ≤b.

## Gambar 2.2. Nilai dari integral image
Menurut Viola & Jones Integral image pada lokasi x,y, berisikan jumlah pixel dari atas sampai kiri dari x,y, perhitungannya dapat dicari dengan menggunakan rumus berikut:
Keterangan :
• integral image adalah original image dengan menggunakan pasangan rumus.
Keterangan :
• Penjumlahan kumulatif baris sehingga integral image bisa dihitung dengan mengabaikan original image. Contoh perhitungan integral image dapat dilihat pada gambar 2.3
Gambar 2.3 . Perhitungan Integral Image
Dapat dilihat pada gambar pada gambar 2.3 berdasarkan penelitian yang  dilakukan oleh Viola &  Jones  perhitungan  jumlah  dari pixel dalam persegi panjang D, dapat dihitung dengan empat referensi  array .  Nilai  dari  integral imagepada  lokasi  1,  adalah  penjumlahan  dari pixel dalam persegi panjang A. Nilai pada lokasi 2 adalah A+B, nilai pada lokasi 3 adalah A+C, dan  pada  lokasi  4  adalah  A+B+C+D. Penjumlahan dalam D bisa dihitung seperti 4+1- (2+3)
Proses  pencarian  nilai  fitur  ini  dilakukan secara  iteratif  mulai  dari  ujung  kiri  atas.image hingga  ujung  kanan  bawah  dengan  pergeseran sebesar ∆x dan ∆y. Semakin kecil nilai ∆x dan ∆y, maka semakin akurat pula proses deteksi. Nilai ∆x dan ∆y yang sering digunakan adalah satu
2.3 Adaptive Boosting atau Adaboost
AdaBoost merupakan  tahap  ke-tiga  dalam metode Viola-jones,algoritma AdaBoost berfungsi untuk  melakukan  pemilihan  fitur-fitur  dalam jumlah  banyak,  dengan  hanya  memilih  fitur-fitur tertentu.  Boosting  merupakan  meta-algoritma dalam Machine  learning untuk  melakukan
Supervised  learning .  Teori Boosting dikenalkan berdasarkan  pertanyaan  yang  diajukan  (Freund, 2013, hal. 75)dapatkah sekumpulan Weak learner menciptakan satu kesatuan Strong learner ? Weak learner adalah Classifier yang  hanya  memiliki sedikit  korelasi  dengan  klasifikasi  yang sebenarnya,  sementara Strong  learner adalah Classifier yang  memiliki  korelasi  kuat  dengan klasifikasi yang sebenarnya.
Kebanyakan algoritma boosting mengikuti sebuah  rancangan.  Secara  umum  boosting  terjadi dalam  iterasi,  secara  incremental  menambahkan Weak learner ke dalam satu Strong learner. Pada setiap iterasi, satu weak learner belajar dari suatu data  latihan.Kemudian,  weak  learner  itu ditambahkan  ke  dalam  strong  learner.  Setelah Weak  learner ditambahkan,  data-data  kemudian diubah  masing-masing  bobotnya.  Data-data  yang mengalami kesalahan klasifikasi akan mengalami penambahan bobot, dan data-data yang terklasifikasi  dengan  benar  akan  mengalami pengurangan bobot. Oleh karena itu, Weak learner pada  iterasi  selanjutnya  akan  lebih  terfokus  pada data-  data  yang  mengalami  kesalahan  klasifikasi oleh  weak  learner  yang  sebelumnya AdaBoost , singkatan dari Adaptive Boosting , diformulasikan oleh Yoav Freund dan Robert Schapire pada tahun 1995,  terbukti  mampu  menyelesaikan  banyak permasalahan  sulit  yang  dihadapi  oleh  algoritma boosting  sebelumnya. AdaBoost berfungsi  untuk mencari fitur- fitur yang memiliki tingkat pembeda yang  tinggi.  Hal  ini  dilakukan  dengan mengevaluasi  setiap  fitur  terhadap  data  latih dengan menggunakan nilai dari fitur tersebut. Fitur yang memiliki batas  terbesar antara objek dan non- objek dianggap sebagai fitur terbaik.
Dari banyak variasi algoritma boosting,
AdaBoost merupakan  yang  paling  terkenal  dan dalam  sejarah  perkembangannya,  merupakan algoritma  pertama  yang  dapat  beradaptasi dengan weak learner salah  satu  metode  praktis untuk menyelesaikannya yaitu dengan membatasi Weak learner keset klasifikasi fungsi, yang  masing-masing  bergantung  pada  fitur tunggal. Untuk mendukung tujuan ini, algoritma pembelajaran  yang  lemah  dirancang  untuk memilih fitur persegi panjang tunggal, di mana persegi panjang tunggal merupakan yang terbaik untuk  memisahkan  contoh  positif  dan  negatif. Untuk  masing-masing  fitur Weak  learner menentukan  ambang  batas  klasifikasi  fungsi yang  optimal,  sehingga  jumlah  minimum kesalahan sebuah pengklasifikasian yang lemah
2.4 Kombinasi Classifier of Cascade
Kombinasi Cascade  of  C  lassifier merupakan tahap terakhir dalam metode Viola- jones. Dengan mengkombinasikan pengklasifikasian dalam sebuah struktur cascade atau Cascade of Classifier , kecepatan dari proses pendeteksian dapat meningkat, yaitu dengan cara
memusatkan  perhatian  pada  daerah-daerah dalam  image  yang  berpeluang  saja.  Hal  ini dilakukan untuk menentukan di mana letak objek yang dicari pada suatu image.
Karakteristik dari algoritma Viola- jones adalah  adanya  klasifikasi  bertingkat.  Klasifikasi pada  algoritmna  ini  terdiri  dari  tiga  tingkatan  di mana tiap tingkatan mengeluarkan subimage yang diyakini  bukan  objek.  Hal  ini  dilakukan  karena lebih  mudah  untuk  menilai  subimage  tersebut bukan  objek  yang  ingin  dideteksi  ketimbang menilai  apakah  sub  image  tersebut  merupakan objek yang ingin dideteksi , Di bawah ini adalah alur kerja dari klasifikasi bertingkat.

## Gambar.4. Alur kerja klasifikasi bertingkat

## III. Perancangan
Pada  bab  ini  akan  dibahas  tentang perancangan sistem yang bertujuan untuk mencari bentuk  yang  optimal  dari  aplikasi  yang  akan dibangun  dengan  mempertimbangkan  berbagai faktor  permasalahan  serta  kebutuhan  yang  ada pada sistem. Keoptimalan akses juga merupakan pertimbangan bagaimana sistem ini bisa berjalan dengan  cepat  dan  juga  tepat.  Upaya  yang dilakukan  adalah  dengan  berusaha  mencari kombinasi  penggunaan  teknologi  dan  perangkat lunak  yang  tepat  sehingga  diperoleh  hasil  yang optimal dan mudah untuk diimplementasikan.

## 3.1 Perancangan Kebutuhan
Sesuai dengan metodologi pengembangan perangkat lunak yang digunakan pada tugas akhir ini, maka tahapan pertama yang dilakukan adalah perancangan terhadap kebutuhan yang diperlukan.  perancangan  kebutuhan  merupakan langkah  awal  untuk  menentukan  aplikasi  seperti apa  yang  akan  dibuat,  ketika  akan  membuat sebuah  aplikasi.  Dalam  perancangan  aplikasi deteksi  wajah  ini,  dibutuhkan  banyak  informasi mengenai pendeteksian wajah seperti teknik serta peralatan  yang  digunakan  untuk  merancang sebuah aplikasi deteksi wajah.
Dalam merancang aplikasi deteksi wajah dibutuhkan sebuah metode yang akan diterapkan pada  aplikasi  yang  akan  dirancang.  Pada perancangan  aplikasi  deteksi  wajah  ini menggunakan sebuah metode pendeteksian yaitu Viola  Jones .  Aplikasi  deteksi  wajah  secara keseluruhan  akan  mengikuti  cara  kerja  dan teknik yang ada pada metode Viola jones . Selain sebuah metode, kebutuhan lain yang diperlukan dalam  perancangan  aplikasi  deteksi  wajah  ini adalah sebuah perangkat lunak yang sesuai untuk
merancang  aplikasi  deteksi  wajah.  Perangkat lunak  yang  dibutuhkan  dalam  merancang aplikasi deteksi wajah ini adalah perangkat lunak pengolahan gambar atau  yang  disebut image processing .
Berikut  ini  merupakan  fungsional  dari  aplikasi deteksi wajah yang akan dirancang, yaitu:
a. Aplikasi deteksi wajah dapat menangkap gambar yang berasal dari kamera yang terhubung dengan aplikasi.
b. Aplikasi deteksi wajah dapat memasukan file berbentuk  gambar  dari  direktori komputer ke dalam aplikasi
c. Aplikasi deteksi wajah dapat mendeteksi wajah  dari  gambar  yang  ditangkap oleh kamera d. Aplikasi deteksi wajah dapat
menampilkan  gambar  dan  informasi hasil pendeteksian kepada user

## 3.2 Perancangan Interaksi
Pada  perancangan  aplikasi  deteksi  wajah ini,  diidentifikasikan  hanya  ada  satu  aktor  yang terlibat  dalam  proses  pendeteksian  yaitu user. Dalam  interaksinya user berhubungan  langsung dengan  aplikasi  deteksi  wajah.  Proses  utama dalam  interaksi  ini  adalah user menjalankan aplikasi deteksi wajah untuk mendeteksi gambar. gambar  yang  akan  dideteksi  yaitu  hanya  wajah dari objek yang tertangkap oleh kamera.
Untuk  mempermudah  memahami  alur pendeteksian wajah dari bagaimana proses sistem tersebut  berjalan,  maka  digunakanlah flowchart y ang  menggambarkan  secara  garis  besar  proses aplikasi  pendeteksian  wajah  adalah  sebagai berikut :
Gambar 3.1
Flowchart Proses Aplikasi Pendeteksian Wajah

## IV. Implementasi dan Hasil

## 4.1 Implementasi
Implementasi merupakan tahapan untuk  memodelkan  aplikasi  ke  dalam  sebuah rancangan  kasar  atau mock-up ,  dari  beberapa kebutuhan yang sudah didapatkan sebelumnya. Dalam tugas akhir kali ini meliputi pengaturan OpenCv dan pembuatan aplikasi menggunakan Android Studio. Hasil dari rancangan tersebut akan digunakan untuk menyelesaikan aplikasi deteksi wajah.Berikut adalah alur proses :

## Gambar 4.1. Alur Proses
Setelah  mendowload  OpenCV  API selanjutnya adalah ekstrak file tersebut. Proses ini sama seperti ekstrak file pada umumnya,pastikan lokasi  penyimpanannya  agar  tidak  lupa  saat proses  import  nanti.  Berikut  ini  adalah  tabel pengujian  Black  Box Decision  Table dengan mengunakan  Sistem  Deteksi  Wajah  pada smartphone  Android,  untuk  pengujian  pada sistem yaitu sebagai berikut:
4.2. Hasil Data Uji coba dalam bentuk tabel sebagai berikut :
Tabel 4.1. Tabel Uji Coba

## V. Kesimpulan
5.1.  Simpulan
Setelah  dilakukan  analisa  dan  implementasi dengan  menggunakan viola  jones maka  dapat disimpulkan bahwa:
1. Tingkat akurasi sebesar 67,11%. pengujian terhadap beberapa sample objek yang telah dilakukan system atau metode mampu mengenali objek dalam gambar dengan tingkat akurasi tertinggi
2. Pengambilan jumlah objek dapat mempengaruhi besarnya tingkat akurasi pendeteksian wajah

## 5.2. Saran.
Pada  pengujian  Analisa  yang  telah  dilakukan maka penulis memberikan saran diantaranya yaitu
:
1. Dari  tingkat  akurasi  yang  diperoleh  masih sangat kurang memuaskan oleh sebab itu perlu
dikembangkan  kembali  Analisa  ini  dengan metode yang lain yang lebih baik.
2. Dalam  pemgambilan  object  yang  sangat minim dikarenakan waktu dalam menganalisa sangat  sebentar  sehingga  tidak  maksimum hasil yang didapatkan, oleh karena itu penulis sangat  menyarankan  untuk  pengambilan
object yang cukup sesuai denga metode yang digunakan supaya hasil yang diharapkn sangat memuaskan.

## Referensi
[1] Arihutomo,M.(2010). Rancangan Bangun
Sistem Penjejakan Objek Menggunakan Metode Viola Jones Untuk Aplikasi
Eyebot. Proyek akhir. Institut Teknologi Sepuluh Nopember, Surabaya.
[2] Chakrapani, S. R. (2012). "Facial Expressions Recognition Using Eigenspaces,"
[3] Freund, Y. &. (2013). The Boosting Approach to Machine Learning An Overview.
[4] Gajame and C. Chandrakar, "Face
Detection with Skin Color Segmentation&Recognition using Genetic Algorithm," International
Journal of Innovative Technology and Exploring Engineering (IJITEE), vol. , 2013
[5] Kshirsagar, M. Baviskar and M. Gaikwad, "Face Recognition Using Eigenfaces," International Conference Computer Research and Development(ICCRD), vol. 2, 2011.
[6] Nidhra, S. a. (2012). Blackbox and Whitebox Testing Techniques , 102.
[7] Setiawardhana. (2010). Ranc ang Bangun SistemPenjejakan Objek Menggunakan Metode Viola Jones untuk Aplikasi Eyebot. Surabaya: Institut Teknologi Sepuluh Nopember
[8] S. R. V. Kittusamy and V. Chakrapani,
"Facial Expressions Recognition
Using Eigenspaces," Journal of
Computer Science, vol. 8, , pp, 2012