• Tidak ada hasil yang ditemukan

PELACAKAN DAN PENGENALAN WAJAH MENGGUNAKAN WEBCAM & METODE GABOR FILTER

N/A
N/A
Protected

Academic year: 2021

Membagikan "PELACAKAN DAN PENGENALAN WAJAH MENGGUNAKAN WEBCAM & METODE GABOR FILTER"

Copied!
7
0
0

Teks penuh

(1)

PELACAKAN DAN PENGENALAN WAJAH

MENGGUNAKAN WEBCAM & METODE GABOR FILTER

Resmana Lim

Fakultas Teknologi Industri, Jurusan Teknik Informatika – Universitas Kristen Petra e-mail: resmana@petra.ac.id

Yulia

Roy Otniel Pantouw

Fakultas Teknologi Industri, Jurusan Teknik Informatika – Universitas Kristen Petra e-mail: roy@it.petra.ac.id

ABSTRAK

Pelacakan dan pengenalan wajah manusia merupakan salah satu bidang penelitian yang penting, dan dewasa ini banyak aplikasi yang dapat menerapkannya, baik dibidang komersial maupun bidang penegakan hukum. Teknik pengenalan wajah pada saat ini telah mengalami kemajuan yang sangat berarti. Melalui pengembangan suatu teknik seperti Gabor Filter, komputer sekarang dapat menyerupai kemampuan otak manusia dalam berbagai tugas pengenalan wajah, terutama tugas-tugas yang membutuhkan pencarian pada database wajah yang besar.

Tujuan penelitian ini adalah untuk membuat suatu perangkat lunak yang menggabungkan pelacakan wajah manusia dengan menggunakan algoritma CamShift dan pengenalan wajah dengan menggunakan Gabor Filter. Dalam penelitian ini, perangkat lunak yang dibuat menggunakan gambar bergerak sebagai inputnya, yaitu dari video kamera (webcam). Bahasa pemrograman yang dipakai adalah Microsoft Visual C++ 6.0® dan dibantu dengan berbagai library dari Intel Performance Library dan Open Source Computer Vision Library.

Hasil pengujian sistem menunjukkan bahwa pelacakan berdasarkan warna kulit dengan algoritma CamShift cukup baik. Respon sistem terhadap obyek warna kulit yang melintas juga cukup baik. Sistem pengenalan wajah manusia menggunakan metode Gabor Filter mencapai tingkat keakuratan sebesar 79.31% dengan database wajah sejumlah 341 citra yang terdiri dari 31 citra individu dengan 11 pose, dan dengan citra penguji sebanyak 29 citra wajah. Sistem pengenalan tersebut juga tetap akurat terhadap adanya noise hingga 50%

Kata kunci: Gabor Filter, algoritma CamShift, pengenalan wajah, biometric, OpenCV.

1. PENDAHULUAN

Pada penelitian ini akan dibuat suatu sistem yang dapat mendeteksi, melacakan, dan kemudian mengenali wajah seseorang dengan bantuan kamera digital (web cam).

Sistem ini mula-mula akan melakukan pendeteksian atau pencarian obyek manusia secara terus menerus terhadap semua obyek yang ditangkap oleh kamera digital. Pendeteksian atau pencarian obyek dilakukan berdasarkan hue warna kulit manusia.

Selama sistem tidak menemukan warna kulit manusia, maka pendeteksian akan terus menerus dilakukan.

Jika sistem telah menemukan daerah warna kulit manusia, maka daerah tersebut akan dilacak keberadaannya. Selama obyek tersebut dapat ditangkap oleh kamera digital, ke manapun obyek tersebut berpindah, akan selalu dilacak oleh sistem.

Sementara sistem melakukan pelacakan, dalam selang waktu tertentu sistem akan mengenali obyek yang terlacak tersebut berdasarkan database wajah yang ada. Output

(2)

dari sistem berupa wajah dalam database yang telah dikenali dengan nilai perbandingan yang paling tinggi.

Pelacakan Wajah Pengenalan Wajah Database Wajah

Citra dari webcam Identitas

Gambar 1. Garis Besar Sistem

2. TEORI DASAR

2.1 Metode Pelacakan Obyek

Ada berbagai macam pendekatan algoritma yang dapat digunakan untuk melakukan pelacakan obyek, misalnya: pelacakan obyek dengan kontur, menggunakan teknik Eigenspace, menggunakan suatu set hipotesa statistik, mengkonvolusi citra dengan fitur detektor, dan masih banyak lagi lainnya. Pada penelitian ini digunakan pendekatan algoritma yang berbasiskan warna obyek, yaitu algoritma CamShift yang diambil dari

Open Source Computer Vision Library.

CamShift singkatan dari Continuously Adaptive Mean-Shift. Algoritma CamShift

merupakan pengembangan dari algoritma dasar Mean-Shift yang dilakukan secara berulang untuk dapat melacak pergerakan dari obyek. Algoritma Mean-Shift beroperasi berdasarkan distribusi probabilitas dari citra. Untuk melacak citra berwarna pada video sequence, maka citra berwarna tersebut harus direpresentasikan dalam bentuk distribusi probabilitas citra dengan menggunakan distribusi histogram dari citra tersebut. Distribusi warna dari video sequence selalu berubah tiap waktu, maka algoritma Mean-Shift harus dikembangkan supaya dapat digunakan untuk melacak obyek.

Perkembangan dari algoritma ini dinamakan algoritma CamShift.

Tahap pertama dari algoritma CamShift

adalah dengan melakukan penghitungan terhadap nilai hue dari obyek sampel warna kulit manusia. Nilai histogram hue sebagai hasil perhitungan tersebut selanjutnya akan disimpan untuk digunakan sebagai lookup table.

Lookup table histogram tersebut dapat digunakan untuk semua orang dari berbagai ras (kecuali albino). Ada pendapat yang menyatakan bahwa jika citra model dengan citra yang akan dibandingkan berbeda ras warna, maka diperlukan lookup table

histogram yang baru, misalnya: citra model berkulit putih sedangkan citra yang akan dibandingkan berkulit hitam. Pendapat tersebut sama sekali salah sebab meskipun warna kulit berbeda, nilai hue-nya tetap sama. Perbedaan warna ras yang ada disebabkan karena perbedaan saturation. Karena lookup table histogram menggunakan nilai hue, maka tidak diperlukan lookup table baru jika citra yang akan dibandingkan mempunyai warna yang berbeda.

Tahap kedua, dilakukan pemilihan lokasi awal dari Mean-Shift 2D search window. Kemudian dilakukan penghitungan nilai

histogram hue yang menjadi nilai probabilitas untuk tiap-tiap pixel pada citra.

Tahap ketiga, dijalankan algoritma

Mean-Shift untuk mencari pusat dan besar

search window yang baru. Lokasi tengah dan besar daerah yang dihasilkan disimpan. Lalu dilakukan looping ke tahap dua dimana lokasi awal dan search window

menggunakan hasil algoritma Mean-Shift

pada tahap tiga.

Tahap algoritma Mean-Shift dapat dijabarkan sebagai berikut:

1. Tentukan ukuran dari search window.

2. Tentukan lokasi awal dari search window.

3. Hitung lokasi mean dalam search window.

4. Pusatkan search window pada lokasi mean yang sudah dihitung dengan langkah ke-3.

5. Ulangi langkah ke-3 dan langkah ke-4 sampai search window konvergen, yaitu sampai window tersebut berpindah dengan jarak yang kurang dari nilai

(3)

      + •                             + − + + − = i y x y x y x y x f k k y k k x k k k λ θ θ π σ θ θ σ θ θ λ θ ) sin cos ( 2 exp ) cos sin ( ) sin cos ( 2 1 exp ) , , , ( 2 2 2 2

)

,

(

max

S

J

J

J

= j j j j j j j a a a a J J S 2 ' 2 ' ' ) , ( ambang yang sudah ditentukan (preset

threshold)

Untuk mencari titik pusat (moment) dan besar daerah search window pada alogritma

Mean Shift, dilakukan beberapa perhitungan.

2.2 Metode Pengenalan Obyek

Metode pengenalan obyek dapat didefinisikan sebagai proses penentuan identifikasi obyek berdasarkan database citra yang ada. Pada tugas akhir ini digunakan pendekatan algoritma Gabor Filter. Tujuan digunakannya Gabor Filter adalah untuk memunculkan ciri-ciri khusus dari citra yang telah dikonvolusi terhadap kernel.

Sebagai filter digunakan Gabor Filter kernel 2D yang diperoleh dengan memodulasi gelombang sinus 2D pada frekuensi dan orientasi tertentu dengan

Gaussian envelope. Persamaan dasar fungsi

Gabor Filter kernel 2D ditunjukkan pada persamaan (2.1), dimana σx dan σy adalah

standar deviasi dari Gaussian envelope pada dimensi x dan y. λ dan θk adalah panjang

gelombang dan orientasi dari gelombang sinus 2-D. Penyebaran dari Gaussian envelope didefinisikan dalam bentuk dari gelombang sinusλ. Rotasi dari x – y sebesar sudut θk menghasilkan Gabor filter pada

orientasi θk.

(2.1)

σx = Standar deviasi Gaussian envelope

pada dimenxi x

σy = Standar deviasi Gaussian envelope

pada dimenxi y

λ = Panjang gelombang sinus 2D

θk = Orientasi gelombang sinus 2D Jika semua Gabor filter dengan variasi panjang gelombang (λ) dan orientasi (θk)

diterapkan pada satu titik tertentu (x,y), maka didapatkan banyak respon filter untuk titik tersebut, misal: digunakan empat panjang gelombang (λ = 3, 5, 7, 10) dan delapan orientasi, maka akan dihasilkan 32 respon

filter untuk tiap titik citra yang dikonvolusikan dengan filter tersebut.

Citra database dan citra yang akan dikenali dikonvolusi lebih dahulu dengan

Gabor Filter. Konvolusi tersebut akan menghasilkan titik-titik dengan nilai tertentu yang disebut sebagai gabor jet response. Titik-titik gabor jet response dari citra

database dan citra yang akan dikenali dibandingkan dengan menerapkan prosedur

graph matching pada citra yang akan dikenali, yaitu dengan memaksimalkan kemiripan magnitude Gabor antara graph model wajah yang sudah ditransformasi dengan representasi graph dari citra yang akan dikenali tersebut. Penerapan graph matching tersebut dapat didefinisikan dengan persamaan (2.4), dimana J adalah gabor jet

model dari citra database dan J’ adalah

gabor jet model dari citra yang akan dikenali. (2.2) Fungsi kemiripan S(J, J’) didefinisikan dengan persamaan (2.3), dimana aj dan a’j

masing-masing adalah titik-titik response

dari gabor jet model citra database dan citra yang akan dikenali.

(2.3)

3. PERENCANAAN SISTEM

3.1 Pembangunan Kernel

Gabor kernel dibangun dengan pemrograman menggunakan MATLAB. Pada pembuatan Gabor kernel ini digunakan bidang (x,y) sebesar 81 x 81 yang dinotasikan sebagai matriks dua dimensi berukuran 81 x 81 dengan nilai mulai dari -40 sampai dengan -40. Sebagai batasan hasil

(4)

kernel yang akan diperoleh, digunakan

threshold sebesar 3e-4 atau 0,0003.

Untuk scaling digunakan lima nilai, yaitu: 0,3927; 0,5554; 0,7854; 1,1107; 1,5708. Untuk rotasi digunakan delapan nilai, yaitu: 0; 0,3927; 0,7854; 1,1781; 1,5708; 1,9635; 2,3562; 2,7489.

Hasil penampakan Gabor Kernel

ditunjukkan pada Gambar 3.

Gambar 3. Gabor Kernel 3.2 Pembangunan Database Wajah

Database wajah dibagi menjadi tiga bagian besar, yaitu: database citra, database nilai gabor jet dari citra tersebut, dan

database nama yang merujuk pada database

citra.

Database citra disimpan dengan format .jpg dan diberi nomor urut yang sekaligus menjadi nama file-nya, misalnya: 1.jpg, 2.jpg, 3.jpg, dan seterusnya. Perlu diketahui bahwa nomor urut yang sekaligus menjadi nama file tersebut tidak boleh ada yang terlewatkan atau terloncati, dimulai dari nomor urut 1. Hal ini dimaksudkan untuk memudahkan proses pembacaan file.

Database nilai gabor jet dari database citra disimpan dengan format file teks dan diberi nama file sama seperti database citra, misalnya: nama file gabor jet untuk citra

1.jpg adalah 1.txt, nama file gabor jet untuk citra 2.jpg adalah 2.txt, dan seterusnya.

Database nama adalah daftar nama pemilik wajah dari database citra yang disimpan dalam bentuk file teks dengan nama db.txt.

Ukuran citra dalam database citra boleh bermacam-macam. Kalkulasi nilai gabor jet

untuk tiap citra dilakukan pada ukuran 100 x 100 (pixel). Jika ukuran citra baik panjang ataupun lebar lebih dari seratus pixel, maka akan dilakukan resizing terlebih dahulu.

Database citra, database nilai gabor jet, dan database nama disimpan dalam folder images yang terletak di dalam folder source

program utama. Di dalam folder tersebut juga ada file jml_images.txt yang berisi jumlah file citra yang ada dalam database.

Pertama kali dilakukan pembacaan terhadap file jml_images.txt untuk mengetahui berapa jumlah citra yang ada dalam database. Kemudian dilakukan

looping sebanyak jumlah citra tersebut. Dalam looping tersebut dilakukan pembacaan file citra dan sekaligus membangun database gabor jet untuk tiap-tiap citra.

Citra yang telah dibaca diubah ke mode

grayscale. Kedalaman bit dari citra tersebut diubah menjadi 32 bit floating point.

Citra yang telah diproses tersebut kemudian dimasukkan dalam looping

sebanyak scale x rotasi yang digunakan pada

Gabor Kernel. Untuk tiap looping, dilakukan

resizing ke ukuran 100x100 pixel.

Selanjutnya disiapkan dua bagian matriks citra untuk menampung hasil konvolusi kernel untuk bagian real dan bagian imajiner. Masing-masing hasil konvolusi tersebut dikuadratkan, kemudian dijumlahkan. Hasil penjumlahan tersebut diakarkuadrat.

Matriks citra hasil perhitungan tersebut dibagi menurut grid 5x5 sehingga akan diambil 36 titik. Titik-titik itulah yang disimpan ke dalam teks file sebagai database nilai gabor jet respon.

(5)

3.3 Perencanaan Sistem Pelacakan

Sebagai langkah awal, dilakukan penghitungan nilai lookup tabel histogram dengan mengkalkulasi citra model warna kulit.

Citra model dalam RGB ini diubah terlebih dahulu ke mode HSV kemudian dilakukan pemisahan antara nilai hue,

saturation, dan brightness. Nilai hue dari citra tersebut dikalkulasi histogramnya dan kemudian disimpan sebagai lookup tabel histogram.

Sebelum melakukan pelacakan, ditentuan terlebih dahulu posisi titik tengah, lebar, dan panjang search window.

Input citra dari kamera digital diubah dari mode RGB ke mode HSV, kemudian dilakukan pemisahan antara nilai hue,

saturation, dan brightness.

Dilakukan thresholding terhadap nilai

saturation dan brightness hasil pemisahan tersebut, kemudian hasil thresholding

tersebut dikombinasi dengan bitwiseAnd. Dilakukan kalkulasi backproject

terhadap nilai hue hasil pemisahan tersebut. Hasil kalkulasi backproject dengan hasil perhitungan saturation dan brightness

dikombinasikan dengan bitwise And.

Gambar 4. Citra Asal

Hasil pengkombinasian tersebut akan dimasukkan dalam perhitungan CamShift

untuk menghasilkan posisi titik tengah, lebar, dan panjang window search yang baru.

Selama obyek ditangkap oleh kamera digital, proses ini dilakukan terus menerus.

Gambar 5. Citra Hasil Kalkulasi Backproject

3.4 Perencanaan Sistem Pengenalan

Proses pengenalan wajah diawali dengan melakukan cropping terhadap daerah yang telah dilacak oleh algoritma CamShift.

Daerah citra hasil pelacakan ini diubah lebih dahulu ke mode grayscale dan dilakukan resizing ke ukuran 100x100 pixel.

Citra tersebut dikonvolusikan dengan gabor kernel dan dilakukan grid yang akan menghasilkan 36 titik nilai respon gabor jet.

Titik-titik nilai respon gabor jet tersebut akan dibandingkan menggunakan persamaan (2.3) dengan nilai respon gabor jet yang ada dalam database. Untuk itu dilakukan looping

terhadap seluruh citra yang ada dalam

database.

Proses perbandingan tersebut akan menghasilkan nilai similarity atau kesamaan yang berbeda-beda untuk tiap citra dalam database. Selanjutnya akan diambil citra dengan nilai similarity terbesar sebagai hasil proses pengenalan.

4. IMPLEMENTASI SISTEM

4.1. Implementasi Pelacakan Obyek

Untuk implementasi perangkat lunak, digunakan kamera digital dengan resolusi 320 x 240 pixel.

Untuk mengetahui perkiraan nilai hue dari warna kulit manusia dilakukan penghitungan rata-rata nilai hue dari beberapa sampel citra warna kulit seperti yang ditunjukkan pada Gambar 6.

(6)

Gambar 6.

Sampel Citra Warna Kulit

Sampel citra tersebut diubah lebih dahulu ke mode HSV, kemudian dikalkulasi histogram dari nilai hue untuk kemudian dicari nilai rata-ratanya. Dari hasil perhitungan citra di atas, nilai rata-rata derajat hue sebesar 210.

Proses inisialisasi pendeteksian obyek dilakukan dari lima arah, yaitu: kiri atas, kanan atas, kiri bawah, kanan bawah, dan titik tengah. Jika tidak ada obyek yang melintas, maka pendeteksian tersebut dilakukan dengan urutan mulai kiri atas, kanan atas, kanan bawah, kiri bawah, tengah, dan kembali lagi ke kiri atas, dan seterusnya.

Hasil pelacakan obyek bergerak cukup baik. Window search akan mengikuti daerah yang dilacak selama obyek tersebut berada penangkapan kamera digital seperti yang ditunjukkan pada Gambar 7.

Gambar 7. Pelacakan Wajah Bergerak 4.2 Pengenalan Wajah Non Variasi

Uji coba untuk pengenalan wajah non variasi dibagi menjadi dua bagian, yaitu: untuk pose frontal dan pose non frontal.

Uji coba pengenalan wajah non variasi dengan pose frontal menggunakan 29 wajah model dengan 341 (31 x 11 pose) wajah dalam database.

Hasil pengenalan menunjukkan 23 wajah dengan pengenalan yang benar dan 6 wajah dengan pengenalan yang salah sehingga prosentase keberhasilannya adalah (23/29)*100% = 79.31%.

Uji coba pengenalan wajah non variasi dengan pose non frontal dilakukan dengan pose patah kiri dan patah kanan.

Uji coba tersebut dilakuka terhadap 31 model yang masing-masing model mempunyai dua citra, yaitu: citra patah kiri dan patah kanan. Hasil pengujian menunjukkan 15 citra dari 62 citra model benar, dan sisanya salah sehingga prosentase kebenarannya adalah: (15/62)*100% = 24.19%

(7)

4.3 Pengenalan Wajah Dengan Variasi

Uji coba untuk pengenalan wajah dengan variasi menggunakan variasi iluminasi dan variasi noise.

Untuk uji coba dengan variasi iluminasi menggunakan sumber cahaya dari arah depan obyek, belakang obyek, dan tanpa cahaya.

Untuk uji coba dengan variasi noise menggunakan perangkat lunak pembantu Adobe Photoshop yang akan memberikan noise berwarna pada citra model dengan prosentase 20%, 35%, dan 50% menggunakan distribusi uniform.

5. KESIMPULAN

Berdasarkan hasil pengujian dapat disimpulkan sebagai berikut:

™ Sistem pelacak wajah manusia berdasarkan informasi warna kulit dapat dilakukan dengan keterbatasan warna-warna yang mendekati warna-warna kulit, misalnya: kulit kayu akan dideteksi sebagai warna kulit.

™ Adanya keterbatasan pada penangkapan obyek oleh kamera yang bergerak terlalu cepat. Obyek yang demikian dapat lepas dari pelacakan.

™ Algoritma Gabor Filter dengan pengambilan nilai Gabor jet berdasarkan

grid dapat digunakan untuk mengenali wajah frontal dengan cukup akurat, yaitu dengan tingkat kebenaran sampai dengan 79.31% dengan jumlah citra sebanyak 341 citra dalam database yang terdiri dari 31 citra individu dengan 11 pose, dan dengan citra pengujian sebanyak 29 citra. Untuk wajah non frontal masih kurang baik, yaitu sebesar 24.19%..

™ Pengenalan dengan variasi cahaya mempunyai pengaruh yang cukup besar terhadap keakuratan pengidentifikasian wajah. Pengaruh variasi noise kecil terhadap keakuratan pengidentifikasian.

™ Keseluruhan sistem berjalan cukup baik dengan keterbatasan penangkapan citra oleh kamera yang tidak real time

sehingga citra video terlihat terputus-putus. Hal ini mempengaruhi proses pelacakan.

DAFTAR PUSTAKA

1. Sardy, Sar. Salman, Muhammad, et al. Klasifikasi Tekstur Dengan Menggunakan Analisa Paket Wavelet. Jakarta: ViScom Group, Jurusan Elektro Fakultas Teknik Universitas Indonesia. 2. Zhang, Hao. Xing Poe, Eric, et al. Facial

Image Correspondence by Elastic Graph Matching. Pp. 2-6

3. Forsyth, David. Ponce, Jean. Computer Vision a Modern Approach. Prentice Hall. 2002

4. Bradski, R, Gary. Computer Vision Face Tracking For Use in a Perceptual User Interface. Microcomputer Research Lab, Intel Corporation, Santa Clara, CA

5. Gregory A. Baxes. Digital Image Processing : Principles and Applications.

New York: John Wiley & Sons, Inc., 1994.

6. Lim, Resmana, et al. “Facial Landmark Detection using a Gabor Filter Representation and a Genetic Search Algorithm”, 2000.

7. Wiskott, L., Fellous, J.M., Kruger, N., and von der Malsburg, C., “Face Recognition by Elastic Bunch Graph Matching”, IEEE Transaction on Pattern Analysis and Machine Intelligence, 19(7), pp.775-779, 1997.

8. Open Source Computer Vision Library – Reference Manual. Intel Corporation, U.S.A, 2001

9. Intel Image Processing Library – Reference Manual. Intel Corporation, U.S.A, 2000

Gambar

Gambar 3. Gabor Kernel  3.2 Pembangunan Database Wajah
Gambar 5. Citra Hasil Kalkulasi  Backproject
Gambar 7. Pelacakan Wajah Bergerak

Referensi

Dokumen terkait

Selain agar remaja tidak hanya melampiaskan pikiran emosionalnya ke jejaring sosial, melainkan berusaha menyelesaikan atau meredakan emosinya terlebih dahulu, juga agar

Pada uji coba lapangan pertama, dari angket respon siswa yang diikuti oleh 30 siswa setelah mengikuti pembelajaran untuk materi peluang dengan menggunakan

Beberapa penelitian menunjukkan bahwa ketaatan beragama (religiusitas) mempunyai peran yang besar dalam pembentukan sikap dan perilaku seseorang, walaupun tidak

Dari hasil penelitian setelah dilakukan perawatan luka di rumah pada pasien ulkus diabetes melitus terdapat pengaruh kecemasan yang semula sebelum dilakukan

Sedimentasi sungai yaitu proses pengendapan suatu material – material yang terangkut aliran air sungai dan dapat mengakibatkan terjadinya delta sungai, sedangkan

Menurut SNI Pd T-14-2003 mengenai perencanaan tebal perkerasan jalan beton semen, apabila tanah dasar mempunyai nilai CBR lebih kecil dari 2%, maka harus dipasang pondasi bawah

Tujuan dari penelitian ini untuk mengetahui bagaimana penerapan arsitektur hi-tech pada bangunan kantor sewa dengan menggunakan studi kasus Bank of China.. Penelitian

Laundry Q Pontianak memerlukan aplikasi pelayanan jasa dan persediaan bahan baku guna memastikan kegiatan bisnis yang dijalankan dapat berjalan dengan efektif dan efisien..