Anda di halaman 1dari 35

Kontrol Kursor Mouse Komputer dengan Deteksi Wajah Real-Time dan Deteksi Kedip Mata

Disusun oleh Indra Agustian 09 / 293073 / PTK / 06264

Pendahuluan Latar Belakang

HCI

Pendahuluan... Latar Belakang...

HCI
Gerakan Kepala/Wajah Kedip Mata

Pendahuluan... Latar Belakang... Penelitian-penelitian sebelumnya: Alokasi kursor -> sistem tracking wajah dengan metode optical flow Lukas Kanade, keadaan inisial posisi wajah menggunakan sistem deteksi wajah[1][2][3][4][5] berbasis metode Haarcascade Boosted Classifier Viola-Jones dan Linehart[6][7][8]. Mouse click event -> sistem deteksi berbasis pengolahan citra bagian-bagian tertentu dari wajah[1][3] atau pengenalan suara[2][4][5] dan durasi lokasi kursor dalam keadaan diam[3] Penelitian ini: Alokasi kursor mouse -> deteksi realtime wajah dengan Haarcascade Viola-Jones dan Linehart(tanpa optical flow) Mouse click event -> deteksi kedip mata berbasiskan metode SURF[9].

Pendahuluan... Rumusan Masalah Sistem optimal yang dapat diterapkan dari deteksi wajah real-time dengan metode haarcascade? koordinat wakil dari deteksi wajah real-time alokasi kursor mouse pada monitor berdasarkan koordinat wakil yang diperoleh dari deteksi wajah real-time wajah. Pengklasifikasian data pola kedipan mata normal dan kedipan yang digunakan untuk sistem mouse click event

Pendahuluan... Keaslian Penelitian Metode penentuan koordinat untuk alokasi kursor mouse yang pernah digunakan pada penelitian sebelumnya, yaitu: [1]deteksi wajah dengan haarcascade dan dilanjutkan dengan tracking 4 markers(Penanda) di bagian wajah dengan optical flow Lukas-Kanade. [2]deteksi wajah (tidak disebutkan metode yang digunakan) dilanjutkan dengan seleksi satu atau dua fitur disekitar hidung untuk di-tracking dengan menggunakan algoritma optical flow Lukas Kanade. [3][4] deteksi wajah dengan haarcascade, tracking hasil deteksi dengan optical flow Lukas-Kanade. [5] pemodelan 3D wajah dan artikulasi wajah dengan menggunakan Piecewise Bezier Volume Deformation(PBVD), dengan deteksi inisial dapat dilakukan dengan menggunakan Haarcascade atau deteksi fitur wajah, kemudian hasil deteksi ditracking dengan optical flow yang dihitung dengan menggunakan template matching dengan korelasi ternormalisasi. Mouse click event pada penelitian sebelumnya terdiri dari dua kategori utama, yaitu berbasis pengolahan citra[2][4] dan pengenalan suara[1][3][4][5].

Pendahuluan... Keaslian Penelitian... Pada Penelitian ini: Alokasi Kursor: Berdasarkan Hasil dari penelitian Viola-Jones[6][7] dan juga LienhartMaydt[8] Mouse click event: Deteksi Kedip metode SURF[9], dengan area yang diproses diperoleh dengan haarcascade mata. Sedangkan beberapa penelitian sebelumnya menggunakan deteksi kedip mengacu kepada metode gradien dari keadaan mata terbuka ke mata tertutup antara frame sekarang dan frame sebelumnya untuk[10][11] dan deteksi kedip dengan menggunakan tapis gabor[12].

Pendahuluan... Manfaat Penelitian Membantu manusia yang mengalami cacat saraf motorik pada bagian tangan agar tetap dapat menggunakan kursor mouse untuk berinteraksi dengan komputer. Dapat mengembangkan sebuah implementasi camera-mouse yang mudah dijangkau(low-cost).

Pendahuluan... Tujuan Penelitian Merancang metode pengendalian lokasi kursor mouse komputer dengan menggunakan gerakan kepala yang diwakili oleh wajah dengan berbasis haarcascade. Merancang metode pengendalian mouse click event dengan memanfaatkan kedipan mata. Menganalisa parameter-parameter alokasi kursor mouse dengan koordinat wakil dari deteksi realtime wajah. Menganalisa parameter-parameter penentuan kedipan mata untuk fungsi mouse click event. Mendapatkan suatu sistem camera-mouse yang mudah dijangkau(low-cost) yang dikembangkan dengan suatu metode yang efektif dan efisien.

Pendahuluan... Batasan Penelitian Kontrol mouse dengan pengolahan citra berupa deteksi wajah dan mata. Deteksi wajah dan mata berbasis metode haarcascade boosted classifier. Deteksi kedip dengan metode SURF. Klik kiri untuk mouse click event.

Pendahuluan... Hipotesis Penelitian Alokasi Kursor Mouse: Dengan hanya menggunakan haarcascade ini dapat menghasilkan pergerakan mouse yang sama baiknya dengan penggunaan haarcascade ditambah optical flow, maka dengan demikian hal ini sudah meminimalisir pengolahan citra yang harus dilakukan tanpa mengurangi kinerja sistem. Mouse Click Event: Penggunaan deteksi interest point berbasis metode SURF[9] dapat digunakan untuk membedakan keadaan mata terbuka dengan tertutup, dan dapat digunakan untuk mouse click sama baiknya dengan metode gradien[10][11].

Dasar Teori Pengolahan Dasar Citra Definisi Citra Kata citra atau yang dikenal secara luas dengan kata gambar, menurut Gonzalez dan Woods[13] dapat diartikan sebagai suatu fungsi intensitas cahaya dua dimensi, yang dinyatakan oleh f(x,y), di mana nilai atau amplitudo dari f pada koordinat spasial (x,y) menyatakan intensitas (kecerahan) citra pada titik tersebut. Konversi Warna RGB ke Grayscale Metode Luminosity versi OpenCV dan MSDN -> (0,299)R+(0.587)G+(0,114)B Histogram dan Ekualisasi Didalam bidang citra, histogram merupakan suatu grafik tabulasi frekuensi yang menggambarkan penyebaran nilai intensitas piksel dari suatu citra. Histogram dapat menjadi penunjuk kadar kecerahan dan konstras suatu citra. Ekualisasi histogram: Perataan intensitas

Dasar Teori... Haarcascade Classifier

Sampel Image(+/-)

Haar Like Feature


Cascade Integral image/rotated integral image

Adaboost

Supervised Machine Learning

Dasar Teori... Haarcascade Classifier... Proses cascade dilakukan melalui beberapa stage, dan kemudian berhenti dengan nilai false atau true . Stage bernilai true jika jumlah dari fitur output melewati nilai ambang terpilih. Fitur akan mengembalikan jumlah rectangle output. Rectangle mengembalikan jumlah nilai piksel pada area gambar yang dilingkupinya, dan dikalikan dengan bobot terpilih.

Dasar Teori... Haar Like Feature Haar Feature Integral image Viola-Jones

Haar Feature rotated integral image Lienhart (45 rotated feature)

Dasar Teori Haar Like Feature... Implementasi Haar Feature dengan integral image pada citra wajah.

Dasar Teori SURF (Speeded Up Robust Feature) Interest Point Detector Interest Point Descriptor Descriptor Matcher

Integral Image Haarlike feature Gaussian second derivative Matriks Hessian

Haar wavelet respons

Brute Force Matcher


FLANN

Orientasi

Descriptor vector (polaritas & intensitas)

Metodologi Penelitian Bahan dan Alat Penelitian Bahan: Citra wajah dan mata, literatur terkait Alat: Hardware : Laptop Aspire 4750G , prosesor intel core i5, 2GB DDR3 Memory, HD LED LCD 14.23x8 inchi2, resolusi 1366 x 768. Acer Crystal Eye 1.3 MP webcam yang terintegrasi pada laptop. Software yang digunakan: Sistem operasi Windows 7 Home Basic. Visual C++ win32 application dengan IDE Microsoft Visual Studio 10 Ultimate. Computer Vision Library OpenCV 2.3.

Metodologi Penelitian Jalan Penelitian Skema lingkungan sistem camera mouse


Camera mouse
Sistem deteksi wajah realtime

Pengguna
Sistem deteksi kedip mata

Webcam

Sistem kontrol mouse

Komputer/Laptop (OS Windows 7)

Metodologi Penelitian
Deteksi wajah

Jalan Penelitian.... Skema sistem utama jalan penelitian


ROI wajah

realtime

Koordinat pusat
wajah

Deteksi mata realtime

ROI mata

Deteksi kedip mata

Mouse click event

Pemetaan koordinat wajah ke koordinat kursor pada monitor


Sistem kontrol mouse

Mulai

Metodologi Penelitian
Ekualisasi Histogram

Jalan Penelitian.... Alokasi Kursor Mouse

Haarcascade wajah

Deteksi Wajah Capture Webcam Wajah ada? Ya Grayscaling

Ekstrak frame

Tidak

ROI wajah dalam bidang persegi empat (xw,yw,lebarw tinggiw) dan koordinat wakil(x,y).

Koordinat wakil frame sebelumnya

Tidak

Selisih(xw,yw) dengan frame sebelumnya 3?

Ya

Koordinat wakil frame sekarang(pusat wajah)

Pemataan ke Kursor(xm,ym)

Stop

Metodologi Penelitian Jalan Penelitian.... Mouse Click Event


Mulai Mata ada?

Haarcascade mata

ROI wajah dari hasil deteksi wajah

ROI masing-masing mata dalam bidang persegi empat (xmt,ymt,lebarmt, tinggimt)

Selisih(x,y) wajah dengan frame sebelumnya 5?

Tidak

ROI mata diperkecil xpmt = xmt+(lebarmt*0.5) ypmt = ymt+(tinggimt*0.5) xmt = xpmt (lebarm*0,2) ybmt = ypmt- (tinggim*0,2) lebarbmt = lebarmt*0,4 tinggibm = tinggim*0,4

Ya Search-Windows mata(ptr1,ptr2,ptr3,ptr4) Deteksi Kedip

Mouse click event Deteksi mata

Stop

Metodologi Penelitian Jalan Penelitian.... Deteksi Kedip dengan SURF

Citra database Citra query

Konversi keGray Scale

Opsi: ekualisasi histogram

Deteksi interest point dengan detektor SURF

Pencocokan deskriptor Citra database dengan query

Kalkulasi vektor fitur/deskriptor

Hasil dan Pembahasan Analisa Kerja Haarcascade Keadaan diam Deteksi Realtime -> Fluktuasi Deteksi Fluktuasi nilai pendeteksian ini merupakan tanggapan terhadap derau dikarenakan metode minNeighbors deteksi multi skala haarcascade dan pendeteksian frame secara kontinyu dipengaruhi oleh proses pada CPU dan fluktuasi frekuensi cahaya. Nilai minNeighbors = 2 menghasilkan pendeteksian yang lebih stabil dibanding dengan empat dan 3, sehingga nilai ini yang digunakan pada sistem. Tidak digunakan minNeighbors = 1, karena nilai minNeighbors yang semakin kecil maka tingkat akurasi pendeteksian wajah menjadi kurang akurat.

Hasil dan Pembahasan Analisa Kerja Haarcascade Grafik tanggapan pergeseran koordinat wakil wajah ditapis dengan (a)Tr=0, (b) Tr = 3, sumbu axis adalah nilai x, dan ordinat nilai y.

Penerapan tapis koordinat wajah pada pergeseran koordinat wakil wajah seperti terlihat pada gambar di atas, mengurangi pengaruh fluktuasi koordinat, dengan respon pergeseran akan terjadi jika pergerakan wajah lebih besar dari 4 piksel. Sedangkan pada keadaan wajah diam akan membuat koordinat wakil wajah lebih stabil.

Hasil dan Pembahasan Analisa Alokasi Kursor Skala pergeseran horisontal = 1 : (screenx/w)(w/reslx) = 1 : (screenx/reslx) Skala pergeseran vertikal = 1 : (screeny/h)(h/resly) = 1 : (screeny/resly) Pada pergeseran penggunaan tapis hanya menunjukkan sedikit perbedaan, sehingga keperluan tapis untuk keadaan diam masih cukup baik untuk digunakan. Untuk memperoleh keadaan lebih mendekati ideal dapat dilakukan dengan menaikkan resolusi akselerasi sehingga skala piksel pergeseran kursor menjadi lebih kecil, namun hal ini menyebakan wajah juga harus bergerak lebih besar untuk dapat menguasai seluruh area monitor, dan hal ini diatasi dengan menggunakan sistem perubahan inisial pusat pergeseran, dengan cara menggerakan kepala sehingga diffx > 20 atau diffy > 15.

Hasil dan Pembahasan Analisa Alokasi Kursor Skala pergeseran horisontal = 1 : (screenx/w)(w/reslx) = 1 : (screenx/reslx) Skala pergeseran vertikal = 1 : (screeny/h)(h/resly) = 1 : (screeny/resly) Pada pergeseran penggunaan tapis hanya menunjukkan sedikit perbedaan, sehingga keperluan tapis untuk keadaan diam masih cukup baik untuk digunakan. Untuk memperoleh keadaan lebih mendekati ideal dapat dilakukan dengan menaikkan resolusi akselerasi sehingga skala piksel pergeseran kursor menjadi lebih kecil, namun hal ini menyebakan wajah juga harus bergerak lebih besar untuk dapat menguasai seluruh area monitor, dan hal ini diatasi dengan menggunakan sistem perubahan inisial pusat pergeseran, dengan cara menggerakan kepala sehingga diffx > 20 atau diffy > 15.

Hasil dan Pembahasan... Analisa Alokasi Kursor... Pengaruh Resolusi Akselerasi

Hasil dan Pembahasan Analisa Kedip Mata Berbasis SURF Jumlah interest point(ordinat) keadaan mata buka dan tutup berdasarkan nilai minHessian(axis)

Tingkat keakuratan deteksi kedip berbasis metode ini tergantung kepada nilai minHessian yang ditetapkan berdasarkan pencahayaan, posisi menghadap, dan jarak mata dari kamera, sehingga pemilihan nilai minHessian yang tepat, akurasi deteksi kedip bisa mencapai 99%.

Hasil dan Pembahasan... Analisa Kedip Mata Berbasis SURF... Pasangan buka-tutup mata minHessian = 1800, dengan bagian kanan pasangan citra mata adalah inisial(i) dan bagian kiri adalah citra sekarang(ii) masing-masing: a frontal, b lirik kanan, c lirik bawah, d lirik kiri, e lirik atas

Deteksi kedip dengan good match, (i) citra inisial, (ii) citra sekarang

Hasil dan Pembahasan... Analisa Mouse Click Event

Nilai ordinat counter yang digunakan untuk fungsi klik adalah 5, 10, dan 15. Dari gambar di atas terlihat bahwa dapat dilakukan pemisahan antara kedipan normal yang cepat (kurang dari 0.5 detik) yang berada dibawah nilai ordinat 5, dengan kedipan untuk fungsi klik.

Hasil dan Pembahasan... Pengujian Implementasi Sistem Pengujian Penggunaan pada Virtual Keyboard a. Tanpa indikator suara klik b. Dengan indikator suara klik Pengujian Penggunaan pada Virtual Keyboard Pengujian Penggunaan pada Permainan Minesweeper Pengujian Penggunaan pada Permainan Solitaire Pengujian Klik Icon Pengujian Penggunaan pada Permainan Tetris dengan Virtual Keyboard Pengujian implementasi sistem kontrol mouse menunjukkan bahwa implementasi sistem dapat digunakan pada aplikasi-aplikasi yang tidak menggunakan batasan waktu dalam aktivitas klik, dan dapat melakukan klik pada area klik dengan kerapatan 18x18 piksel2 dengan resolusi akselerasi optimal 300 dengan jarak sekitar 20-30 cm di depan kamera.

Hasil dan Pembahasan... FPS Benchmarking Haarcascade wajah rata-rata mengurangi fps sebesar 0.52 fps sementara total untuk sistem mouse kamera yang digunakan rata-rata mengurangi fps sebesar 0.97 fps. Dan dengan berdasarkan hasil-hasil pengujian sebelumnya sistem camera mouse lowcost ini dengan rata-rata 6.19 fps dengan masih baik untuk digunakan.

Hasil dan Pembahasan... Kesimpulan 1. Deteksi wajah dengan haarcascade untuk citra realtime memiliki fluktuasi, yang merupakan tanggapan terhadap derau pada metode minNeighbors deteksi multi skala haarcascade. Nilai fluktuasi terkecil 3 piksel pada nilai minNeighbors = 2. 2. Penggunaan deteksi wajah dengan haarcascade untuk pengendalian mouse perlu meredam fluktuasi lokasi hasil deteksi per frame dengan tapis koordinat wakil wajah yang mengatur tanggapan ada gerakan jika wajah terdeteksi bergerak > 3 piksel vertikal atau horisontal. 3. Kinerja alokasi kursor mouse dipengaruhi oleh tapis koordinat wakil wajah dan resolusi akselerasi yang ditetapkan. Tapis koordinat wakil wajah dipilih pada angka tetap, sedangkan resolusi akselerasi dapat diubah, semakin besar resolusi akselerasi semakin kecil tanggapan piksel pergeseran kursor terhadap pergeseran koordinat wakil wajah. 4. Tingkat keakuratan deteksi kedip berbasis metode SURF tergantung kepada nilai minHessian yang ditetapkan berdasarkan pencahayaan, posisi menghadap, dan jarak mata dari kamera, sehingga pemilihan nilai minHessian yang tepat, akurasi deteksi kedip bisa mencapai 99%.

Hasil dan Pembahasan... Kesimpulan... 5. Mouse click event dengan menggunakan counter, rata-rata 1 counter 0.2 detik, dengan nilai yang digunakan untuk fungsi klik minimal adalah 5 untuk klik ON-OFF atau drop dapat memisahkan kedipan normal yang rata-rata di bawah 0.5 detik dengan kedipan untuk fungsi klik. Nilai counter 10 untuk drag, dan 15 untuk klik ganda. 6. Implementasi sistem kontrol mouse ini dapat digunakan pada aplikasi-aplikasi yang tidak menggunakan batasan waktu dalam aktivitas klik, dapat melakukan klik pada area klik dengan kerapatan 18x18 piksel2 dengan resolusi akselerasi optimal 300 dengan jarak sekitar 20-30 cm di depan kamera. 7. Keseluruhan proses dari algoritma pengkodean dan metode yang digunakan pada penelitian ini rata-rata mengurangi fps sebesar 0.97 fps, dan untuk webcam yang berkemampuan fps rendah, hal ini masih signifikan untuk digunakan.