## PENGENALAN WAJAH MANUSIA BERBASIS ALGORITMA LOCAL BINARY PATTERN
Ratih Purwati, Gunawan Ariyanto Program Studi Informatika Universitas Muhammadiyah Surakarta (UMS) Surakarta, Indonesia purwatiratih1996@@gmail.com, ga154@ums.ac.id
Abstraksi—  Face  Recognition  merupakan  teknologi  komputer  untuk  mengidentifikasi  wajah manusia  melalui  gambar  digital  yang  tersimpan  di  database.  Wajah  manusia  dapat  berubah bentuk  sesuai  dengan  ekspresi  yang  dimilikinya.  Wajah  manusia  dapat  berubah  bentuk  sesuai dengan eskpresi  yang dimilikinya.  Ekspresi wajah manusia memiliki kemiripan satu sama lain sehingga untuk mengenali suatu ekspresi adalah kepunyaan siapa akan sedikit sulit. Pengenalan wajah  terus  menjadi  topik  aktif  di  zaman  sekarang  pada  penelitian  bidang  computer  vision. Penggunaan  wajah  manusia  sering  kita  jumpai  pada  fitur-fitur  aplikasi  media  sosial  seperti Snapchat, Snapgram dari Instagram dan banyak aplikasi sosial media lainnya yang menggunakan teknologi  tersebut.  Pada  penelitian  ini  dilakukan  analisa  pengenalan  ekpresi  wajah  manusia dengan pendekatan fitur alogaritma Local Binary Pattern dan mencari pengembangan alogaritma dasar Local Binary Pattern yang paling optimal dengan cara menggabungkan metode Hisogram Equalization, Support Vector Machine, dan K-fold cross validation sehingga dapat meningkatkan pengenalan gambar wajah manusia pada hasil yang terbaik. Penelitian ini menginput beberapa database wajah manusia seperti JAFFE yang merupakan gambar wajah manusia wanita jepang yang berjumlah 10 orang dengan 7 ekspresi emosional seperti marah, sedih, bahagia, jijik, kaget, takut dan netral ke dalam sistem. YALE yaitu merupakan gambar wajah manusia orang Amerika. Serta menggunakan dataset CALTECH yang merupakan gambar manusia yang terdiri dari 450 gambar  dengan  ukuran  896  x  592  piksel  dan  disimpan  dalam  format  JPEG.  Kemudian  data tersebut  di  sesuaikan  dengan  bentuk  tekstur  wajah  masing-masing.  Dari  hasil  penggabungan ketiga  metode  diatas  dan  percobaan-percobaan  yang  sudah  dilakukan,  didapatkan  hasil  yang paling  optimal  dalam  pengenalan  wajah  manusia  yaitu  menggunakan  dataset  JAFFE  dengan resolusi  92  x  112  piksel  dan  dengan  tingkat  penggunaan  processor  yang  tinggi  dapat mempengaruhi  waktu  kecepatan  komputasi  dalam  proses  menjalankan  sistem  sehingga menghasilkan prediksi yang lebih tepat.
Katakunci—Local Binary Pattern, Histogram Equalization, Support Vector Machine, K-fold cross validation

## I. PENDAHULUAN
Face  recognition adalah  teknologi  komputer untuk mengidentifikasi atau mendeteksi wajah manusia melalui sebuah gambar digital dengan cara mencocokkan tekstur lekuk wajah manusia dengan data yang tersimpan di database . Proses pengenalan  objek dipengaruhi  oleh  dua faktor variabilitas,  yaitu  variabilitas  extra-personal dan  intra-personal.  Extra-personal  timbul karena  proses  pengenalan  pada  objek  yang berbeda  sedangkan  intra-personal  pada  objek yang  sama[1].  Wajah  manusia  dapat  berubah
bentuk sesuai dengan eskpresi yang dimilikinya.  Ekspresi wajah manusia memiliki kemiripan  satu  sama  lain  sehingga  untuk mengenali  suatu  ekspresi  adalah  kepunyaan siapa akan sedikit sulit. Pengenalan wajah terus menjadi  topik  aktif  di  zaman  sekarang  pada penelitian  bidang computer  vision .  Banyak penelitian  tentang face  recognition yang difokuskan  pada  pengenalan  ekspresi  wajah. Sudah  banyak  terdapat  contoh  aplikasi pengenalan  wajah  manusia  yang  sering  kita jumpai  seperti Snapchat , Snapgram dari Instagram dan  banyak  aplikasi  media  sosial
lainnya  yang  sudah  menggunakan  teknologi ini.  Untuk  mendeteksi  setiap  wajah  manusia dibutuhkan suatu algoritma pengenalan objek. Pada penelitian ini akan dilakukan pengenalan dengan  menggunakan  algoritma Local  Binary Pattern . Penelitian ini juga akan mencari pengembangan  dari  algoritma  dasar Local Binary  Pattern .  Pada  dasarnya  algoritma  ini akan  mengesktrasi  citra  pada  wajah  kedalam fitur  vektor  dengan  melakukan  klasifikasi tekstur  pada  citra  wajah  manusia  sehingga pengenalan objek menjadi lebih akurat karena pada  prinsipnya  metode  mengesktrasi  fitur wajah  kedalam  bentuk  biner  yang  kemudian kode-kode  biner  tersebut  akan  dijadikan Histogram  Equalization , Support  Vector Machine , dan K-fold cross validation .
Penggabungan proses tersebut akan meningkat pengenalan  citra  wajah  manusia.  Dengan begitu akan mendapatkan hasil yang optimal.
Penelitian serupa telah dilaksanakan oleh Eko Wahyudi,  Hendra  Kusuma,  dan  Wirawan dalam penelitian yang berjudul “Perbandingan Unjuk Kerja Pengenalan Wajah Berbasis Fitur Local  Binary  Pattern dengan  Algoritma  PCA ( Principal  Component  Analysis )  dan Chi Square ”. Penelitian tersebut mengesktrasi fitur wajah dengan pencahayaan yang berbeda-beda pada  setiap  gambarnya.  Hasil  percobaan tersebut  menunjukkan  bahwa  metode Chi Square lebih  baik  dari  PCA.  Metode Chi Square digunakan  sebagai classifier dalam ruang  fitur  dengan  menguji    kemiripan  dari  2 buah distribusi yaitu dari Histogram Equalization citra testing maupun training . Metode ini  menghitung kemiripan dari  2 citra wajah  dengan  membagi  citra  wajah  menjadi kedalam  daerah  atau region yang  lebih  kecil sehingga  dapat  memberikan  informasi  yang lebih banyak jika dibandingkan tanpa membagi citra  menjadi  beberapa  region.  Selain  itu performa Chi Square berbanding lurus dengan jumlah blok (region). Blok (region)  merupakan suatu  wilayah  yang  dibagi  dalam  proses verifikasi atau identifikasi citra wajah manusia.

## II. DASAR TEORI DAN TINJAUAN PUSTAKA
Face  recognition adalah  teknologi  komputer untuk mengidentifikasi atau mendeteksi wajah manusia melalui sebuah gambar digital dengan cara mencocokkan tekstur lekuk wajah manusia dengan data yang tersimpan di database. [1] Local  Binary  Pattern diperkenalkan  pertama kali  pada  tahun  1992  oleh  Timo  Ojala  dan David Harwood di Universitas Maryland . Local Binary Pattern didefinisikan sebagai perbandingan  nilai  biner  piksel  pada  pusat gambar dengan 8 nilai piksel disekelilingnya.[2]

## III. METODE PENELITIAN
Beberapa  langkah-langkah  yang  dilakukan untuk  merancang  sistem  yaitu    analisa kebutuhan, pengumpulan data, arsitektur jaringan  dan  perancangan  sistem  monitoring jaringan.
A. Algoritma Local Binary Pattern
Local  Binary  Pattern  diperkenalkan  pertama kali pada tahun 1992 oleh Timo Ojala dan David Harwood  di  Universitas  Maryland  .Local Binary Pattern didefinisikan sebagai perbandingan  nilai  biner  piksel  pada  pusat gambar dengan 8 nilai piksel disekelilingnya[2]. Local  Binary  Pattern  merupakan  deskriptor untuk  mengklarifikasi  gambar  berdasarkan tekstur  gambar.  Jadi,  sebuah  gambar  yang berukuran  3x3,    dimana  nilai  biner  pada  pusat gambarnya dibandingkan dengan nilai sekelilingnya.[3]  Jika  intensitas  piksel  tengah lebih  besar  dari  pada  biner  pusat  maka  nilai yang  ditetapkan  1,  Jika  lebih  kecil  maka  0. Dengan  8 piksel  disekelilingnya  berarti  bahwa ada  28  =  256  kemungkinan  kombinasi  kode Local Binary Pattern.
membangun  Local  Binary  Pattern  yaitu perbandingan  nilai  biner  piksel  pada  pusat gambar dengan 8 nilai piksel disekelilingnya.
Selanjutnya  menghitung  nilai  Local  Binary Pattern  untuk  piksel  yang  ditengah  mulai  dari piksel  disekelilingnya  dengan  cara  clockwise (searah  jarum  jam)  atau  counter-clockwise (berbalik  arah  jarum  jam)  dengan  syarat  harus konsisten.  Misal  3x3  berarti  ada  8  tes  biner. Kemudian hasil uji biner disimpan dalam array 8 bit yang diubah menjadi desimal.
Gambar 2. Pengambilan 8 bit biner linkungan sekitar dari piksel tengah  menjadi representasi atau mewakili desimal
Nilai tersebut akan disimpan dalam array output Local  Binary  Pattern  2D,  kemudian  dapat divisualisasikan  bisa  disebut  sebagai  proses thresholding  yaitu  mengumpulkan  biner  dan menyimpan  nilai  desimal  pada  keluaran  array Local Binary Pattern diulang untuk setiap piksel pada gambar yang diinput.
Gambar 3. Nilai Local Binary Pattern yang dihitung  kemudian  disimpan  dalam array output dengan  lebar  dan  tinggi  yang  sama dengan gambar yang asli
B. Histogram Equalization
Histogram  pertama  kali  digunakan  oleh  Karl Pearson  pada  tahun  1895  merupakan  suatu
metode penyesuaian kontras dari gambar wajah. Nilai histogram diperoleh dengan cara meratakan  penyebaran  nilai  piksel  pada  setiap gambar  sehingga  memperbaiki  kontras  secara keseluruhan.  Cara  kerja  histogram  yaitu menyebarkan nilai-nilai intensitas piksel dengan menunjukkan  kecerahan  pada  setiap  gambar secara  merata  pada  gambar.  Metode  ini  sering digunakan  dalam  perbandingan  karena  secara umum menyebabkan kontras gambar meningkat dalam pengenalan gambar.

## C. Support Vector Machine
Support Vector Machine (SVM) diperkenalkan oleh  Vapnik  pertama  kali  pada  tahun  1992  di Annual  Workshop on Computational  Learning Theory  sebagai  rangkaian  harmonis  konsep- konsep  unggulan  dalam  bidang  pattern recognition.  [4].  SVM  merupakan  teknik  yang digunakan  untuk  melakukan  prediksi  dalam kasus  klasifikasi  agar  menghasilkan  peforma yang  baik,  karena  kemapuan  SVM  dapat meningkatkan kualitas segmentasi pada gambar.  Ada  beberapa  model  yang  dimiliki SVM  salah  satunya  yang  digunakan  pada penelitian ini adalah linearSVC karena memiliki fleksibilitas  dalam  berbagai  macam  bentuk gambar sehingga menghasilkan hasil yang baik pada jumlah sample yang besar.
Gambar  4.  Mencari Hyperlane dengan memisahkan class – dan +
D. K-fold cross validation
K-fold  cross  validation  merupakan  sebuah teknik  validasi  untuk  memprediksi  model  dan memperkirakan  seberapa  akurat  model  yang digunakan  dengan  cara  membagi  setiap  data yang  ada  pada  training  sebanyak  nilai  K  dan melakukan  ekpresimen  sebanyak  nilai  k tersebut.

## Gambar 5. K-fold cross validation
E. K-fold cross validation
Data  yang  digunakan  pada  penelitian  ini merupakan  database  wajah  manusia  yang digunakan sebagai data training dan data testing.
1. Database Menggunakan  beberapa  dataset  yaitu  YALE, CALTECH, JAFFE. JAFFE merupakan gambar ekpresi wajah wanita jepang yang berjumlah 10 orang  dengan  jumlah  ekspresi  sebanyak  7 macam yaitu bahagia, sedih, jijik, takut, netral, marah,  dan  kaget.  Satu  ekspresi  terdapat  2-3 gambar. Total keseluruhan gambar pada dataset ini adalah 213 gambar. YALE yaitu merupakan gambar wajah manusia orang Amerika. Dataset ini  terdiri  dari  165  gambar  grayscale  dalam format GIF dari 15 individu. Dataset ini terdiri dari beberapa gambar yaitu bahagia, menggunakan  kacamata,  tanpa  kacamata, normal,  sedih,  mengantuk,  terkejut,  dan mengedip mata. Sedangkan CALTECH merupakan  gambar  manusia  yang  terdiri  dari 450 gambar dengan ukuran 896 x 592 piksel dan disimpan  dalam  format  JPEG.  Dataset  ini mempunyai  gambar  yang  memiliki  banyak varian warna atau bukan gambar yang berwarna grayscale dan memiliki pose yang berbeda serta memiliki background.
a. Proposed Metode
b.
Gambar 6. Proposed Metode c. Sourcecode
Pada penelitian ini menggunakan kode program algoritma  Local  Binary  Pattern  beserta  model SVM yang diperoleh dari https://www.pyimagesearch.com/2015/12/07/lo cal-binary-patterns-with-python-opencv/
Kemudian dimodifikasi dengan tambahan kode program  yang  lain  untuk  mendapatkan  hasil yang maksimal.

## IV. HASIL DAN PEMBAHASAN
Setelah melakukan pengujian dengan menggunakan  aplikasi  JetBrains  PyCharm 2016.2.3  yang  memakai  Bahasa  pemrograman Python  serta  analisa  yang  dilakukan  maka diperoleh  hasil  terbaik  yaitu  algoritma  dasar Local  Binary  Pattern  jika  dikolaborasi  dengan metode  tambahan  seperti  metode  Histogram, dimana  metode  ini  memperbaiki  perbedaan intensitasitas piksel yang terdapat pada gambar secara  keseluruhan.  Kemudian  menggunakan beberapa  model  dari  metode SVM  yaitu  SVC, linearSVC,  NuSVC  hasil  terbaik  didapatkan dari  model  linearSVC  dengan  menaikan  nilai biner  pada  Local  Binary  P.  Karena metode  ini merupakan  model  penyimpanan  array  yang berbentuk  string.  Kemudian  menggunakan  K- fold cross validation untuk menyeleksi seluruh data  training  sehingga  lebih  teliti  dalam memprediksi. Berikut beberapa percobaan yang dilakukan  untuk  memperoleh  hasil  yang optimal.
desc = LocalBinaryPatter ns( 24 , 8 ) desc = LocalBinaryPatt
erns( 32 , 8 )
Gambar 7. Hasil menggunakan linearSVC Pada penelitian ini dilakukan banyak percobaan menggunakan  beberapa  macam  dataset  wajah manusia. Pertama menggunakan dataset YALE.
Gambar 8. Dataset YALE Berikut merupakan hasil percobaan menggunakan dataset YALE :
Gambar 9. Hasil menggunakan dataset YALE Kemudian menggunakan dataset CALTECH.
Gambar 10. Dataset CALTECH Berikut merupakan hasil percobaan menggunakan dataset CALTECH :
Gambar  11.  Hasil  menggunakan  dataset CALTECH
Kemudian  percobaan  akhir  yaitu  dengan menggunakan  dataset  JAFFE  yang  sudah diperkecil resolusinya menjadi 92 x 112 piksel, karena  ukuran  ini  mempengaruhi  pada  hasil akurasi  sehingga  mendapatkan  hasil  akurasi yang paling optimal. [5].
Gambar 12. Dataset JAFFE dengan ukuran 256 x 256 piksel
Gambar 13. Dataset JAFFE dengan ukuran 92 x 112 piksel
Berikut  hasil  akurasi  sebelum  dan  sesudah dirubah  pikselnya  dan  menggunakn K-fold cross validation .
(a) (b)
Gambar  14.  (a)  Hasil  akurasi  gambar  dengan resolusi  256  x256  piksel  (b)  hasil  akurasi gambar dengan resolusi 92 x 112 piksel
Namun,  proses  komputasi  dipengaruhi  oleh processor maka tingkat akurasi pada sistem ini bisa naik turun sesuai kebutuhan processor yang digunakan.
(Github, 2018,
https://github.com/opencv/opencv/wiki/CPU- optimizations-build-options, 03 Februari 2018). Berikut beberapa  hasil  akurasi dari  percobaan yang  dilakukan  setelah  dirubah  pikselnya menjadi 92 x 112 piksel.
Gambar 15. Hasil akurasi sesuai tingkat proses kerja processor Berikut  merupakan  tabel  hasil  akurasi  dengan jumlah  processor  tertinggi  yang  digunakan dalam beberapa kali pengujian.
Tabel 1 Pengujian dengan k-fold cross validation
K Processor Akurasi Ke-0 Akurasi ke-1 Akurasi ke-2 Rata- rata 3 45.9 % 73.52941176 % 82.35294117 % 82.35294117 % 79% 3 43.4 % 83.82352941 % 72.05882352 % 86.76470588 % 80% 3 42.0 % 61.76470588 % 80.88235294 % 83.82352941 % 74% 3 51.8 % 79.41176470 % 91.17647058 % 80.88235294 % 83%
Dilihat  dari  tabel  pengujian  diatas  dapat diketahui  bahwa  dengan  jumlah  K  dan pengaruh dari kinerja processor dapat mempengaruhi  tingkat  keakurasian.  Semakin tinggi  tingkat  processor  yang  digunakan,
semakin tinggi tingkat akurasi yang didapatkan.  Tabel  diatas  hanya  dicantumkan kegunaan  processor  tertinggi.  Berikut  adalah rincian  penjelasan tentang  proses penyesuaian gambar yang ada pada dataset dengan data yang diuji.
Tabel 2 Percobaan ketepatan data pada akurasi pertama No K Akurasi ke-0
Data
yang Benar
Data
yang Salah Jumlah Data a 3 73.52941176 % 55 13 68 b 3 83.82352941 % 60 8 68 c 3 61.76470588 % 43 25 68 d 3 79.41176470 % 59 9 68
(a)
(b) (c)
(d)
Gambar 16 Proses prediksi oleh sistem pada K pertama
Tabel 3 Percobaan ketepatan data pada akurasi kedua
No K Akurasi ke-1 Data yang Benar Data yang Salah
Jumla h Data a 3 82.35294117 % 58 10 68 b 3 72.05882352 % 54 14 68 c 3 80.88235294 % 56 12 68 d 3 91.17647058 % 63 5 68
(a)
(b) (c)
(d)
Gambar 16 Proses prediksi oleh sistem pada K pertama Tabel 4 Percobaan ketepatan data pada akurasi ketiga No K Akurasi ke-2 Data yang Benar Data
yang Salah Jumlah Data a 3 82.35294117 % 58 10 68 b 3 86.76470588 % 61 7 68
c 3 83.82352941 % 60 8 68 d 3 80.88235294 % 56 12 68
(a) (b) (c) (d)
Gambar 18 Proses prediksi oleh sistem pada K ketiga
Tabel  diatas  merupakan  hasil  percobaan berapa  jumlah  yang  benar  dan  yang  salah dengan menggunakan K-fold cross validation .
Jumlah  dataset  yang  diuji  ada  204  gambar. Kemudian  dengan K-fold  cross  validation
jumlah data ini dibagi menjadi K = 3. Sehingga hasil akurasi juga di bagi menjadi 3 bagian.
Berikut merupakan tampilan yang dikeluarkan dari sistem:
(a) (b)
Gambar 19 Tampilan ouput dari sistem
Gambar  diatas  merupakan  contoh  dari beberapa  tampilan ouput yang  dikeluarkan oleh  sistem  setelah  diprediksi.  Gambar  (a) adalah  gambar  yang  sesuai  dengan  dataset, sedangkan  gambar  (b)  merupakan  gambar yang tidak sesuai dengan dataset.
Rata-rata waktu komputasi untuk menjalankan sistem ini kurang lebih 00.05,38 detik dan rata- rata Processor yang digunakan adalah 35.9 %. Pada penelitian ini peneliti pernah mendapatkan  hasil  akurasi  100  %  dengan jumlah processor yang digunakan adalah 55,2 %.  Namun  hasil  tersebut  sangat  sulit  untuk didapatkan  karena  kinerja processor berbeda- beda setiap dilakukan pengujian.
Gambar 20 Akurasi 100 %

## V. KESIMPULAN
a. Pada penelitian ini sudah berhasil mengenali  wajah  manusia  menggunakan
bahasa pemrograman python .
b. Penelitian  ini  mengembangkan  sistem pengenalan wajah menggunakan algoritma dasar Local  Binary  Pattern dengan menambahkan model SVM yaitu linearSVC .
c. Penelitian  diuji  dengan  menggunakan K- fold cross validation .
d. Hasil  paling  optimal  didapatkan  dengan
menggunakan dataset JAFFE yang diperkecil resolusinya dari 256 x 256 piksel menjadi 92 x 112 piksel.
e. Tingkat  penggunaan processor sangat berpengaruh  pada  sistem  ini  dalam memprediksi wajah manusia.

## DAFTAR PUSTAKA
[1] E. Wahyudi, H. Kusuma, and Wirawan, “Perbandingan Unjuk Kerja Pengenalan
Wajah  Berbasis  Fitur  Local  Binary Pattern dengan Algoritma PCA dan Chi Square,” pp. 3–8, 2011.
[2] M. P. Inen, M. Pietikäinen,  a. Hadid, G. Zhao, and T. Ahonen, Computer Vision Using  Local  Binary  Patterns ,  vol.  40, no. 11. 2011. [3] T.  Ahonen,  A.  Hadid,  and  M. Pietikäinen,  “Face  Recognition  with Local  Binary  Patterns,”  pp.  469–481, 2004.
[4] C.  Cortes  and  V.  Vapnik,  “Support vector  machine,” Mach.  Learn. ,  pp. 1303–1308, 1995.
[5] M. B. Gigih, Y. Prasetyo, A. Novianty, A. N. Jati, F. T. Elektro, and U. Telkom,
“Implementasi  Algoritma  Local  Binary Pattern  Pada  Sistem  Local  Binary Pattern  Algorithm  Implementation  in Parking,” vol. 2, no. 2, pp. 3449–3455, 2015.