JURNAL TEKNIK POMITS Vol. 1, No. 1, (2014) 1-7
1
Perbaikan Estimasi Arah Pandang Mata Terhadap Layar Monitor Dengan Menggunakan Posisi Wajah Titis Widyanto, Ronny Mardianto, Pujiono, Rudy Dikairono
Jurusan Teknik Elektro, Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 E-mail:
[email protected],
[email protected],
[email protected] Abstrak— Perbaikan estimasi arah pandang dengan menggunakan posisi wajah adalah sistem yang dirancang untuk memeperbaiki esimasi arah pandang dengan menambahkan posisi kepala sebagai salah satu acuannya. Tujuan dari tugas akhir ini adalah memperbaiki akurasi arah arah pandang dengan menggabungkan pergerakan mata dengan pergerakan dari kepala. Permasalahan pertama adalah mendeteksi pupil mata, yaitu proses mendeteksi pupil mata dengan kamera yang dirancang menghadap ke mata. Permasalahan kedua mendeteksi layar monitor, yaitu proses mendeteksi layar monitor dengan kamera yang dirancang di depan dari frame kacamata yang menghadap ke depan. Permasalahan ketiga mengkombinasi pergerakan kepala dan pergerakan pupil mata, yaitu proses perhitungan untuk mendapatkan estimasi arah pandang yang lebih akurat. Tugas akhir ini dirancang dengan enam proses metode citra HSV, citra ROI, grayscaling, smooting contour, dan citra mofologi. Metode perpotongan dua garis digunakan untuk mendeteksi titik tengah layar monitor yang menghasilkan koordinat titik tengah. Perhitungan persentase posisi pointer yang dikendalikan oleh pergerakan mata dan kepala dengan membandingkan titik aktual, yaitu titik yang telah disediakan di layar monitor dengan pembacaan pointer yang mengarah ke titik aktual tersebut. Hasil implementasi sistem menujukkan bahwa sistem tersebut dapat bekerja dengan baik di dalam ruangan dengan persentase error 6 % untuk koordinat x dan 22% untuk koordinat y. Error didapatkan dari membandingkan antara titik aktual dengan titik yang terbaca pada layar monitor.
maju seperti sekarang informasi tersebut bisa digunakan sebagai alat bantu dalam berkomunikasi.Dengan mengekstrak informasi yang ada, mata bisa digunakan untuk menentukan arah pandang. Arah pandang yang dihasilkan dari pergerakan mata ini kurang akurat, untuk itu perlu di tambah acuan lain agar arah pandang menjadi akurat. Posisi kepala bisa digunakan sebagai acuan untuk menentukan estimasi arah pandang agar lebih akurat. Informasi pergeseran kepala ketika menoleh baik ke kanan maupun ke kiri, kemudian di kombinasikan dengan arah pandang mata dapat digunakan untuk mendapatkan estimasi arah pandang yang akurat.Untuk mengatasi masalah tersebut pada tugas akhir ini dirancang sebuah sistem yang dapat menyatukan kedua informasi tersebut. Untuk mendapatkan informasi dari citra mata digunakan kamera yang dirancang menghadap ke mata. Sedangkan untuk mendapatkan informasi posisi kepala menggunakan kamera yang menghadap ke layar monitor. Dua kamera ini diletakkan pada frame kacamata dengan posisi kamera dirancang sesuai dengan kebutuhan. Kedua kamera ini akan mengambil citra mata dan citra layar monitor kemudian dilakukan pengolahan citra dengan komputer untuk mendapatkan informasi titik koordinat mata dan titik koordinat kepala. Informasi tentang titik koordinat mata dan kepala digunakan untuk menggerakkan pointer pada layar monitor, setelah itu dikombinasikan dengan software keyboard virtual. Pengontrolan pointer dilakukan menggunakan estimasi arah pandang. Dengan demikian seseorang dapat menulis karakter huruf di layar monitor dengan menggerakan mata dan posisi kepala sebagai salah satu acuannya.
Kata Kunci— Contour, Citra morfologi, Estimasi arah pandang, Grayscaling, Pergerakan mata, Posisi wajah, Titik potong dua garis, Smooting.
A. Eye Traker Eye tracking adalah sebuah alat untuk memantau perilaku dari mata kita. Alat ini digunakan untuk mengukur pergerakan mata dan memprediksi titik pandang mata. Eye tracking digunakan untuk memonitoring apa yang orang lihat dengan mata mereka, mengamati apa yang mereka lihat, bagaimana mata bergerak, bagaimana mata menentukan objek visual yang mereka lihat. Banyak dari eye traking modern didasari dari kamera yang mengarah ke mata kita dan menghasilkan citra mata dengan resolusi tinggi. Untuk menambah pencahayaan biasanya ditambah LED Infrared.[1]
M
I. PENDAHULUAN
ata dan kepala merupakan dua komponen yang biasanya digunakan dalam komuikasi, khususnya komunikasi secara visual antara dua ojek atau lebih. Mata mempunyai peran sangat penting terutama untuk mengenali objek – objek yang sifatnya visual. Wajah kita juga tidak kalah penting untuk menentukan posisi kepala dan arah pandang. Dengan berbagai kegunaan dari mata dan posisi kepala, di era yang
II. LANDASAN TEORI
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2014) 1-7
2
B. Eye Model Eye model di asumsikan sebuah bola mata dengan jari – jari R. Dengan iris terletak di bagian depan bola mata, iris ini seperti cincin melingkar dengan jari – jari r (lihat Gambar 1 (a)) jarak dari pusat mata ke iris adalah d hubungan R, r, dan d (lihat Gambar 1(d)).
𝑅𝑅 2 = 𝑟𝑟 2 + 𝑑𝑑2
(1)
Jari – jari iris mata sekita 7 mm dan jari – jari bola mata berkisar 12 mm sampai 13 mm. Oleh karena itu rasio radius iris seseorang dan jari – jari bola mata dalam bidang 3D memiliki perbedaan yang kecil. Dalam mata kita rasio dari rata – rata jari – jari iris seseorang dengan rata – rata jari – jari bola mata seseorang dalam ruang 3D yaitu R/r diasumsikan konstan. Jika r telah ditemukan, baik R dan d da pat dintentukan dengan cara manual dari urutan pelatihan.[6]
Gambar 2 Metode deteksi pupil D. Titik Potong Dua Garis. Dua garis yang tegak lurus saling berpotongan di satu titik, untuk itu perlu di cari persamaanya agar titik tengahnya bisa di ketahui.Pada Untuk menentukan titik potong kedua garis maka di buat persamaan
Gambar 3 Perpotongan dua garis
Gambar 1 Eye model C. Gaze Estimation. Untuk menganalisis pandang mata, mata harus dideteksi dan dilacak terlebih dahulu. Biasanya metode yang dipakai untuk mendeteksi mata adalah deformable template. Metode ini lebih cepat dalam eksekusinya tetapi kurang handal. Dalam sistem ini klasifikasi viola-jones akan mendeteksi mata ketika ketika deformable template gagal dalam mendeteksi bola mata. Fungsi klasifikasi viola- jones terdapat dalam pustakaOpenCV. OpenCVmencari lokasi pusat wajah diikuti dengan mencari lokasi pusat mata.menggunakan kombinasi antara deformable template dan Viola Jones metode, dan lokasi mata terdeteksi. Agar didapat lokasi pupil yang akurat pada kondisi yang berbeda perlu dilakukan treshold (T) nilai ini didapat dari rata – rata nilai pixel (µ) dari citra I. Threhold ditentukan 27% di bawah rata – rata.[5] µ=
𝑁𝑁−1
1 � 𝐼𝐼𝑖𝑖 𝑁𝑁 𝑖𝑖=0
𝑇𝑇 = 0,27 µ
(2)
(3) Garis k persamaannya 𝑦𝑦1 = 𝑚𝑚1 𝑥𝑥 + 𝑐𝑐1 (4) Garis l persamaannya 𝑦𝑦2 = 𝑚𝑚2 𝑥𝑥 + 𝑐𝑐2 Jika kedua persamaan bertemu di titik A(𝑥𝑥0 , 𝑦𝑦0 ) maka berlaku persamaan. (5) 𝑦𝑦0 = 𝑚𝑚1 𝑥𝑥0 + 𝑐𝑐1 (6) 𝑦𝑦0 = 𝑚𝑚2 𝑥𝑥0 + 𝑐𝑐2 Dari persamaan di atas maka diperoleh. 𝑚𝑚1 𝑥𝑥0 + 𝑐𝑐1 = 𝑚𝑚2 𝑥𝑥0 + 𝑐𝑐2 𝑚𝑚1 𝑥𝑥0 − 𝑚𝑚2 𝑥𝑥0 = 𝑐𝑐2 − 𝑐𝑐1 𝑥𝑥0 (𝑚𝑚1 − 𝑚𝑚2 ) = 𝑐𝑐2 − 𝑐𝑐1 (𝑚𝑚 −𝑚𝑚 ) 𝑥𝑥0 = 1 2 (7) (𝑐𝑐2 − 𝑐𝑐1 )
𝑚𝑚1 − 𝑚𝑚2 ≠ 0 Untuk memperoleh nilai 𝑦𝑦0 subtitusikan nilai 𝑥𝑥0 ke salah satu persamaan di atas. Nilai dari 𝑥𝑥0 𝑑𝑑𝑑𝑑𝑑𝑑 𝑦𝑦0 merupakan nilai tengah dari dua garis yang saling berpotongan dengan garis yang tidak sejajar.[3]
E. Teorema Phytagoras Teori ini digunakan untuk memperoleh lebar dari layar monitor. dari lebar layar monitor ini bisa di ketahui jarak dari kemera ke layar monitor. Informasi ini nantinya akan digunakan untuk perhitungan dalam menentukan estimasi arah pandang.
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2014) 1-7
3 H. Smooting. Proses ini bisa disebut juga proses blur. Fungsi dari smooting adalah untuk mengurangi noise pada citra. Dengan fungsi ini noise – noise kecil akan terlihat melebur dengan dengan pixel – pixel di sekitarnya sehingga kelihatan menghilang. Dengan metode ini pengolahan citra selanjutnya akan lebih mudah karena noise sudah tersamarkan.
Gambar 4 Segitiga siku – siku Untuk mencari panjang sisi a rumusnya 𝑎𝑎2 = 𝑐𝑐 2 − 𝑏𝑏 2 . Untuk mencari panjang sisi b rumusnya 𝑏𝑏 2 = 𝑐𝑐 2 − 𝑎𝑎2 . Sedangkan mencari sisi terpanjang menggunakan rumus 𝑐𝑐 2 = 𝑏𝑏 2 + 𝑎𝑎2 .
(8) (9) (10)
F. Trigonometri Segitiga Siku – Siku. Teori ini digunakan untuk mengetahui lebar simpangan dari posisi wajah terhadap titik acuan yaitu berupa titik tengah yang telah ditentukan. Dengan demikian kita dapat mengetahui berapa lebar simpangan kepala yang bisa di toleransi.
Persaman rumus untuk menentukan sudutnya bisa ditulis sebagai berkut :
cos 𝛼𝛼 = tan 𝛼𝛼 =
𝑦𝑦
(11)
𝑥𝑥
(12)
𝑦𝑦
(13)
𝑟𝑟
𝑟𝑟
𝑥𝑥
J. Erosion Merupakan salah fungsi yang terdapat pada image mofologi. Dengan teknik erosi ini akan menghilangkan detail sekala kecil dari citra biner selain itu teknik ini akan mengurangi ukuran dari daerah objek. Pengurangan citra tersebut akan membuat citra lebih kecil bila dan lebih jelas. Kekurangannya detail dari citra akan hilang karena ukuran citra berubah. K. Dilation Teknik ini merupakan salah satu fungsi yang ada pada image morfologi. Teknik ini berkebalikan dengan teknik erosi. Pada teknik ini citra akan diperbesar dari kedua sisi yaitu dalam objek dan dari luar objek. Jika ada celah antara satu titik dengan titik berikutnya celah ini akan tertutup dan menyebabkan celeh tersebut menjadi bersatu. L. Warna HSV Warna HSV (Hue Saturation Value) merupakan bentuk penskalaan selain dari RGB.
Gambar 5 Trigonometri segitiga siku – siku
sin 𝛼𝛼 =
I. Image Morfologi Dalam citra yang kita olah kadang mengandung ketidak sempurnaan. Seperti ketika kita melakukan tresholding masih timbul noise dalam citra. Dengan fungsi image morfologi citra diupayakan dihilangkan ketidak sempurnaanya dengan perhitungan bentuk dan struktur citra. Ini biasanya dilakukan pada teknik Grayscaling.
𝑉𝑉 = max(𝑅𝑅, 𝐺𝐺, 𝐵𝐵) 𝑆𝑆 = ((𝑉𝑉 − min( 𝑅𝑅, 𝐺𝐺, 𝐵𝐵))⁄𝑉𝑉) Untuk V ≠ 0, selain itu S = 0 𝐻𝐻 =
⎧ ⎪
(𝐺𝐺 − 𝐵𝐵) ∗
60 𝑆𝑆
−> 𝑉𝑉 = 𝑅𝑅
60
180 + (𝐵𝐵 − 𝑅𝑅) ∗ −> 𝑉𝑉 = 𝐺𝐺 𝑆𝑆 ⎨ ⎬ 60 ⎪ 240 + (𝑅𝑅 − 𝐺𝐺) ∗ −> 𝑉𝑉 = 𝐵𝐵 ⎪ ⎩ ⎭ 𝑆𝑆
G. Grayscalling Merupakan teknik untuk merubah citra warna dengan tiga kanal menjadi citra abu – abu dengan satu kanal. Grayscalling dapat dirumuskan sebagai berikut. 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺(𝑥𝑥, 𝑦𝑦) =
𝑅𝑅(𝑥𝑥,𝑦𝑦)+ 𝐺𝐺(𝑥𝑥 ,𝑦𝑦)+ 𝐵𝐵(𝑥𝑥,𝑦𝑦) 3
(14)
Citra yang telah melewati proses Grayscalling ini menjadi lebih sederhana sehingga lrbih ringan dalam pemrosesan selanjutnya.
⎫ ⎪
Gambar 6 Skala warna HVS
(15)
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2014) 1-7 M. Contour Merupakan teknik untuk menyatukan titik – titik citra secara terus menerus dari citra yang memiliki warna atau intensitas citra yang sama. Dengan fitur ini kita dapat mengidentifikasi objek yang memiliki bentuk yang berbeda – beda.
4 di letakkan menghadap ke arah mata kemudian kamera kedua di letakkan menghadap ke luar menghadap ke layar monitor laptop. Disamping kamera mata ada infrared yang diletakkan menghadap ke mata sebagai cahaya tambahan agar pada daerah mata tidak dipengaruhi cahaya dari luar. Eye traker dipasang pada frame kacamata tanpa lensa dengan kemiringan ± 24˚. Dibuat miring agar tidak mengganggu mata sebelah kanan ketika memandang layar monitor nantinya.
Gambar 7 (a) sebuah citra digital dari beberapa bentuk. (b) Contour III. PERANCANGAN SISTEM Secara umum sistem dari perangkat ini menggunakan kamera digital sebagai inputan data baik untuk inputan mata dan inputan arah kepala yang menghadap monitor. Data dari hasil inputan mata berupa koordinat pupil mata yang berupa titik x dan y. Sedangkan dari pergesetan kepala juga di dapat data berupa derajat simpangan kepala dari posisi tengahnya dan juga koordinat simpangan berupa data x dan y. Dari data tersebut kemudian diolah sehingga di dapat estimasi arah pandang mata.
Gambar 9 Perancangan Hardware Eye Traker B. Perangkat Lunak Pada perancangan software tugas akhir ini menggunakan sotware visual studio 2010 dan bahasa pemrograman C++ dengan library open cv sebagai library dalam pengolahan citra. Software Visual studio 2010 menggunakan fasilitas windows form sebagai interface dengan pengguna.
Gambar 8 Ilustrasi Penggunaan alat A. Perangkat Keras Komponen - komponen yang digunakan dalam sistem ini adalah sebuah motor Notebook. Notebook ini di gunakan untuk memproses citra dari kamera mata dan kamera monitor selain itu notebook ini digunakan untuk interface dengan pengguna. Kamera iTech 5 MPX. Kamera ini digunakan untuk menangkap citra dari mata yang berupa pupil mata. Kamera ini cukup baik untuk menangkap citra jarak dekat dengan ± 8 cm. Agar dalam menangkap citra dari pupil mata dengan jelas ditambahkan LED infrared sebagai tambahan perangkat supaya daerah mata yang di ambil citranya lebih terang dan pengambilan citra tidak terganggu dengan cahaya di sekelilingnya. Kamera Logitech HD Webcam C270, 720p WideAngle. Kamera ini digunakan untuk mendeteksi posisi kepala dengan cara mengambi citra layar monitor yang sudah deberi marker dengan warna ungu. Marker ini digunakan untuk menentukan tepian dari monitor di layar sehingga membentuk persegi panjang dari layar monitor tersebut. Kamera yang digunakan harus mempunyai resolusi yang lebih tinggi dari kamera mata karena dibutuhkan penglihatan yang lebar. Jarak optimal yang dibutuhkan ± 55 cm. Perancangan eye traker dengan menggabungkan kedua kamera, satu kamera
Gambar 10 Perancangan perangkat lunak Terdapat dua layar yang digunakan dalam perancangan software ini. Layar sebelah kiri untuk menampilkan citra dari mata sedangkan layar ke dua untuk menampilkan citra dari layar monitor. Pada menu software terdapat setingan manual berupa scroolbar. Menu ini digunakan sebagai setting manual baik untuk citra mata dan monitor. pada citra mata terdapat setting manual berupa scrrolbar tresholding sedangkan pada setting layar monitor terdapat settingan berupa nilai dari value, hue, tresholding, dan nilai saturation. Sedangkan ditengah – tengah software terdapat tombol. Tombol ini digunakan untuk mencari titik tengah dari layar monitor. sehingga simpangan kepala bisa deketahui.
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2014) 1-7
5
C. Sistem pendeteksi pola layar monitor
E. Sistem pendeteksian pola mata
D. Sistem pendeteksian simpangan kepala
F. Sistem pendeteksian simpangan mata
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2014) 1-7 G. Kamera calibration
6 IV. PENGUJIAN DAN HASIL Pengujian yang dilakukan pada tugas akhir ini untuk mengetahui akurasi dari respon yang digunakan pada system. Pengujian dimulai dengan pengambilan data eye traker yaitu koordina titik sudut layar monitor dan titik sidut pupil mata. Pengujian meliputi pengujian eye traker, pengujian calibration, pengujian simpangan kepala, pengujian pointer. A. Pengujian eye traker
Gambar 11 eye traker mampu mendeteksi tepian layar monitor
H. Keyboard Virtual Gambar 11 Hasil citra setelah proses HSV B. Pengujian pointer pada layar monitor. Pengujian pointer dilakukan dengan mengikuti titik – titik aktual yang ada di layar monitor. Error merupakan selisih antara titik acuan dan pointer pada layar monitor
Gambar 12 Pengujian pointer dengan 20 titik
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2014) 1-7
7
Tabel 1. Kepala menoleh ke kanan tanpa parameter sudut kepala. x_aktual
y_aktual
x_pointer
31
18
120
331
18
631
y_pointer
x_error
y_error
109
89
91
449
-93
118
111
18
792
-5
161
23
931
18
1070
119
139
101
1231
18
1064
119
167
101
31
254
67
134
36
120
331
254
423
182
92
72
631
254
560
180
71
74
931
254
1031
382
100
128
1231
254
1232
382
1
128
31
490
151
445
120
45
331
490
500
470
169
20
631
490
818
495
187
5
931
490
950
482
19
8
1231
490
1284
733
53
243
31
726
67
620
36
106
331
726
397
283
66
443
631
726
455
733
176
7
931
726
798
896
133
170
1231
726
1303
933
72
207
Tabel 2. Kepala menoleh ke kanan dengan parameter sudut kepala. x_aktual
y_aktual
x_pointer
31
18
48
331
18
631
y_pointer
x_aktual
y_aktual
x_pointer
31
726
27
331
726
631
y_pointer
x_error
y_error
736
4
10
330
743
1
17
726
642
734
11
8
931
726
853
681
78
45
1231
726
1247
761
16
35
Dari pengujian ini dapat diketahui bahwa eye traker mampu mendapatkan citra mata dengan kontras yang baik antara pupil dengan daerah sekitar mata. Eye traker mampu membedakan antara pupil dengan daerah sekitar mata yang tidak dibutuhkan. Dengan kepala bergeser – geser eye traker cukup stabil untuk mengambil citra mata maupun layar monitor. pada Tabel 1 dan Tabel 2 bisa dibandingkan nilai dari selisih piksel antara pengujian dengan menggunakan posisi kepala dan pengujian yang mengabaikan posisi kepala. Pada Tabel 1 pengujian tanpa mengabaikan posisi kepala dengan rata- rata error x 26% dan error y 54% Sedangkan Tabel 2 pengujian yang menggunakan posisi kepala sebagai salah satu acuannya. Didapatkan error rata – rata nilai x 6% dan error rata – rata y 22%. Jadi dengan menambahkan posisi kepala bisa memperbaiki estimasi arah pandang dari pointer. V. KESIMPULAN Dalam Tugas Akhir ini, sistem dapat berjalan dengan baik terbukti dengan perangkar eye traket dapat membedakan pupil mata dengan daerah sekitarnya. Dengan menggunakan posisi kepala sebagai salah satu acuan dalam menentukan estimasi arah pandang dapat membuat akurasi arah pandang lebih lebih akurat. Error yang dihasilkan setelah menggunakan metode ini berkurang dari 26% menjadi 6% untuk sumbu x dan sumbu y dari 54% menjadi y 22%.
x_error
y_error
67
17
49
354
50
23
32
18
636
76
5
58
931
18
929
85
2
67
1231
18
1253
65
22
47
31
254
36
278
5
24
[4]
331
254
342
278
11
24
[5]
631
254
648
296
17
42
931
254
971
278
40
24
1231
254
1240
313
9
59
31
490
36
497
5
7
331
490
335
490
4
0
631
490
660
497
29
7
931
490
959
506
28
16
1231
490
1240
550
9
60
DAFTAR PUSTAKA [1] [2] [3]
[6] [7] [8] [9]
LC Technologi, “eye traker”,
, 2013. Rachman, Maulana, “Pengembangan Robot Rubik Dengan Identifikasi Warna Menggunakan Sensor Kamera”, Institut Sepuluh Nopember, 2012. Bradski G dan Kaebler A,”Learning OpenCV”, O'Reilly Media Amerika Serikat, September 2008. A.H. Bonnet, “Cause and analysis of bearing failures in electrical motors,” Petro. and Chem. Ind. Conference, pp. 87-95, Sept. 1992. Arai, Kohei and Mardiyanto, Ronny, "Eye-based HCI with full specification of mouse and keyboard using pupil knowledge in the gaze estimation. Saga University, 2011. Wang, Jian G dan Sung, Erik “Eye Gaze Estimation From a Single Image of One Eye”, Institute for Infokom Research2003. Aminudin, “Rancang Bangun Sistem Bantu Komunikasi Verbal Pada Pasien Penderita Stroke Berdasarkan Pergerakan Mata” Institute Sepuluh Nopember, 2013. Taksiono, M.A, “Rancang Bangun Sistem Penghitung Laju Dan Klasifikasi Berbasis Pengolahan Citra”, Institute Sepuluh Nopember, 2013. OpenCV 2.4.9.0 documentation “dokumentasi opencv”< URL : http://docs.opencv.org/ >,April 2014.