Objek Kaca Mata Augmented Reality Berbasis Tracking Mata menggunakan Haar Cascade Classifier Slamet
Mochammad Hariadi
Bidang Keahlian Jaringan Cerdas Multimedia Institut Teknologi Sepuluh Nopember 60111 Surabaya, Indonesia E-mail:
[email protected]
Bidang Keahlian Jaringan Cerdas Multimedia Institut Teknologi Sepuluh Nopember 60111 Surabaya, Indonesia E-mail:
[email protected]
Abstract— Technology development of Augmented Reality (AR) requires natural interaction. One of the biggest challenge in AR research is to get an immersive AR environments in which real objects and virtual objects as if fused. For that, we need a fast tracking capability so that they look together. This study aims to develop a system for tracking eye, tracking results quickly which is used as a marker that serves as a medium for natural interaction in AR environment. Tracking is based on a single camera using Haar Cascade Classifier algorithm to identify objects and faces more focused again on eye tracking. After eye features can be detected, the 3D models in the form of eye glasses will appear as a virtual model of AR. In this study eye feature will be detected if: estimated roll of the face by lighting 2-8 Cd, roll angle between -21° and 18°, and a small angle in the yaw and pitch; estimation of the face pitch with lighting Cd 2-10, pitch angle between -23° and 18°, and a small angle of the yaw and roll, as well as estimates of yaw on the face with lighting Cd 2-10, yaw angle between -10° and 15°, and a small angle of the pitch and roll.
melingkupi keseluruhan lingkungan di luar tampilan layar. Dari sisi strategis, salah satu aplikasi AR bagi pengguna sangat bermanfaat dalam meningkatkan produktifitas dan efisiensi. Karena AR lebih menyerupai hiburan, maka melalui AR diharapkan pengguna lebih banyak memperoleh informasi dari apa yang diharapkan tanpa harus menyita waktu, tempat, maupun biaya. Di sisi ekonomis, implementasi teknologi AR tidak memerlukan peralatan dengan biaya yang tinggi. Untuk dapat menjalankan sistem berbasis AR hanya diperlukan dukungan minimal komputer, program yang menjalankan AR dan kamera. Salah satu bidang interaksi manusia dan komputer dalam AR yaitu mengestimasi posisi kamera (baik itu secara virtual atau real) dalam menempatkan proses augmentasi. Proses mengestimasi posisi tersebut dinamakan tracking. Di bidang ini, pengambilan data menggunakan kamera dapat digunakan sebagai data masukan. Beragam gerakan manusia, baik anggota badan yang melakukan gerakan ataupun pose yang dihasilkan dapat dinterpretasikan dalam beragam makna. Salah satu alternatif anggota badan manusia yang dapat digerakkan untuk menghasilkan beragam pose adalah wajah. Sebelum proses interpretasi, pertama kali, komputer harus mampu menangkap pose wajah dengan benar. Metode tracking yang digunakan menjadi salah satu faktor penting untuk memastikan komputer dapat menangkap pose wajah pengguna dengan benar. Beberapa penelitian di bidang tracking atau penjejakan wajah dikerjakan dengan beberapa metode mulai segmentasi warna kulit wajah, deteksi lokasi wajah, deteksi iris, pendeteksian fitur gerakan, penjejakan fitur-fitur wajah dan beberapa fitur lainnya, termasuk perlakuan khusus pada sistem kamera yang digunakan. Hingga saat ini, interpretasi pose wajah berbasis visual menggunakan kamera dilakukan dengan melakukan estimasi berdasar data geometri dari fiturfitur pada wajah yang teridentifikasi. Dalam penelitian ini dikembangkan AR dengan teknik interaksi dimana pengguna dapat menampilkan kaca mata 3 dimensi secara real time dengan cara melakukan tracking mata di area wajah menggunakan Haar Cascade Classifier.
Keywords - eye tracking, eye glasses, augmented reality, haar classifier cascade.
I.
PENDAHULUAN
alam perkembangan teknologi serta makin meningkatnya kebutuhan komputer, manusia selalu berusaha untuk meningkatkan kualitas dan mempermudah interaksinya dengan komputer, salah satu cara adalah dengan membuat komputer menjadi lebih interaktif dan user-friendly. Muncullah suatu bidang ilmu multi disiplin yang mempelajari interaksi antara pengguna dan komputer, disebut HCI (Human Computer Interaction) yang telah mencatat berbagai perkembangan penting seperti virtual reality dan gesture recognition. Dalam bidang computer graphic visualization, salah satu perkembangan HCI yang secara signifikan telah mengubah cara manusia berinteraksi dengan komputer adalah sistem GUI (Graphical User Interface). Sisi lain yang saat ini sedang marak dilakukan penelitian dan pengembangannya adalah Augmented Reality. Ditinjau dari sisi teknis, Augmented Reality (AR) merupakan teknologi transformatif. Salah satu karakteristik yang paling penting adalah cara dimana AR tersebut membuat suatu transformasi yang lebih cepat dalam proses interaksi pengguna sehingga lingkungan AR tampak immersive. Sistem interaksi tidak terbatas pada tempat-tempat tertentu saja tetapi
D
1
TINJAUAN PUSTAKA
II.
Haar cascade classifier adalah metode deteksi objek yang membangun sebuah boosted rejection cascade, yang membuang data latih negatif sehingga didapat suatu keputusan untuk menentukan data positif. Haar menunjukkan kepada detektor wajah yang mendeteksi sebuah citra dengan fiturnya. Jika ada sebuah citra dinamis diakses maka detektor wajah menguji ke setiap lokasi citra dan mengklasifikasikannya sebagai “wajah” atau “bukan wajah”. Klasifikasi ini dimisalkan dengan sebuah skala tetap untuk wajah, misalnya 24x24 piksel. Jika wajah pada citra lebih besar atau lebih kecil dari piksel tersebut, maka classifier (pengklasifikasi) berjalan beberapa kali untuk mencari wajah pada citra tersebut. Konsep pendeteksian wajah pada sistem ini menggunakan metode haar cascade classifier. Fitur haar-like adalah fitur citra digital yang digunakan di dalam pengenalan objek. Sejumlah fitur haarlike mewakili wilayah persegi pada citra dan menjumlahkan semua piksel pada daerah tersebut. Jumlah yang didapatkan digunakan untuk mengkategorisasikan citra. Pada contoh citra 20x20, terdapat lebih dari 40.000 fitur, yang harus diseleksi menjadi 200 fitur baik [3].
Augmented Reality (AR) adalah sebuah istilah untuk lingkungan yang menggabungkan dunia nyata dan dunia virtual sehingga batas antara keduanya menjadi sangat tipis. [1] mendefinisikan AR sebagai sistem yang memiliki karakteristik sebagai berikut: a. Menggabungkan lingkungan nyata dan virtual b. Berjalan secara interaktif dalam waktu nyata c. Integrasi dalam tiga dimensi (3D) Secara sederhana AR bisa didefinisikan sebagai lingkungan nyata yang ditambahkan objek virtual. Penggabungan objek nyata dan virtual dimungkinkan dengan teknologi tampilan yang sesuai, interaktivitas dimungkinkan melalui perangkat-perangkat input tertentu. Tujuan utama dari AR adalah untuk menciptakan lingkungan baru dengan menggabungkan interaktivitas lingkungan nyata dan virtual sehingga pengguna merasa bahwa lingkungan yang diciptakan adalah nyata. Dengan kata lain, pengguna merasa tidak ada perbedaan yang dirasakan antara AR dengan apa yang mereka lihat/rasakan di lingkungan nyata. Dengan bantuan teknologi AR (seperti visi komputasi dan pengenalan pola) lingkungan nyata dapat berinteraksi dalam bentuk digital (virtual). Informasi tentang objek dan lingkungan sekitar dapat ditambahkan ke dalam sistem AR yang kemudian informasi tersebut ditampilkan di atas layer dunia nyata secara real-time seolah-olah informasi tersebut adalah nyata. Informasi yang ditampilkan oleh objek virtual membantu pengguna melaksanakan kegiatan-kegiatan dalam dunia nyata. Untuk membangun AR secara sederhana, tidak diperlukan peralatan yang sulit dicari dan mahal. Peralatan yang dibutuhkan hanya kamera / webcam, komputer dan monitor. Kamera / webcam digunakan untuk menangkap marker yang diperlukan sistem untuk menempatkan dan menampilkan elemen virtual dalam AR. Komputer dibantu aplikasi tertentu melakukan proses identifikasi marker sampai proses render model. Sedangkan monitor digunakan untuk menampilkan hasil akhir dari keseluruhan proses AR (Gambar 1). Real World
(a)
(a)
Graphics System
Video Merging
(c)
(d)
(a)
(b)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
Gambar 2. Macam-macam fitur pada haar [4]
Pada pengklasifikasi yang sebenarnya, terdapat banyak sekali fitur yang digunakan, sehingga perhitungan langsung terhadap jumlah piksel pada banyak fitur yang ditemukan menyebabkan proses pendeteksian menjadi lambat. Masalah ini dapat diatasi dengan cara berikut, yaitu melalui cara yang diperkenalkan oleh Viola. Pada sub-window suatu citra, SAT (Summed Area Table) dihitung dari keseluruhan citra, dimana : 𝑆𝑆𝑆𝑆𝑆𝑆 (𝑋𝑋, 𝑌𝑌) = ∑𝑥𝑥<𝑋𝑋,𝑦𝑦<𝑌𝑌 𝐼𝐼(𝑥𝑥, 𝑦𝑦). Jumlah piksel dari kotak 𝑟𝑟 = {(𝑥𝑥, 𝑦𝑦), 𝑥𝑥𝑥𝑥 𝑥𝑥 < 𝑥𝑥𝑥𝑥 + 𝑤𝑤, 𝑦𝑦𝑦𝑦 𝑦𝑦 < 𝑦𝑦𝑦𝑦 + ℎ} Bisa dihitung menggunakan SAT hanya dengan menggunakan siku (corner) dari fitur, berapapun ukurannya: 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅(𝑟𝑟) = 𝑆𝑆𝑆𝑆𝑆𝑆(𝑥𝑥𝑥𝑥 + 𝑤𝑤, 𝑦𝑦𝑦𝑦 + ℎ) − 𝑆𝑆𝑆𝑆𝑆𝑆(𝑥𝑥𝑥𝑥 + 𝑤𝑤, 𝑦𝑦𝑦𝑦) − 𝑆𝑆𝑆𝑆𝑆𝑆 (𝑥𝑥𝑥𝑥, 𝑦𝑦𝑦𝑦 + ℎ) + 𝑆𝑆𝑆𝑆𝑆𝑆(𝑥𝑥𝑥𝑥, 𝑦𝑦𝑦𝑦). Fitur persegi dapat dihitung dengan cepat menggunakan suatu representasi citra yang disebut integral image. Nilai integral image pada titik (x,y) adalah jumlah piksel yang ada di atas dan di sebelah kiri titik tersebut. 𝑖𝑖𝑖𝑖(𝑥𝑥, 𝑦𝑦) = ∑𝑥𝑥≤𝑥𝑥,𝑦𝑦′≤𝑦𝑦 𝑖𝑖(𝑥𝑥 ′ , 𝑦𝑦 ′ ). Di mana 𝑖𝑖𝑖𝑖(𝑥𝑥, 𝑦𝑦) adalah integral image dan i(x,y) adalah citra asli. 𝑠𝑠(𝑥𝑥, 𝑦𝑦) = 𝑠𝑠(𝑥𝑥, 𝑦𝑦 − 1) + 𝑖𝑖(𝑥𝑥, 𝑦𝑦). 𝑖𝑖𝑖𝑖(𝑥𝑥, 𝑦𝑦) = 𝑖𝑖𝑖𝑖(𝑥𝑥 − 1, 𝑦𝑦) + 𝑠𝑠(𝑥𝑥, 𝑦𝑦)
Video of Real World Virtual Objects
(b)
Line features
Augmented View Camera Position
Center-Surround features
Edge features
Augmented Video
Gambar 1. Perangkat pendukung teknologi AR [6]
Dalam AR, objek virtual dan objek nyata harus ada interaksi yang selaras mungkin. Proses untuk menyelaraskan objek ini dinamakan registrasi. Sensor yang mengumpulkan informasi tentang lingkungan di dalamnya dan mengumpulkan informasi spasial 3 dimensi ini disebut tracker (pelacak). Pelacak mengumpulkan informasi ini untuk meregistrasi objek virtual dalam 3D di dalam aplikasi AR. Untuk menghitung sudut pandang pengguna dan untuk menampilkan informasi virtual pada posisi yang tepat dari informasi pose, maka posisi dan orientasi harus dilacak oleh teknologi tracking.
2
Di mana 𝑠𝑠(𝑥𝑥, 𝑦𝑦) adalah jumlah baris kumulatif, 𝑠𝑠(𝑥𝑥, 𝑦𝑦) = 0 dan 𝑖𝑖𝑖𝑖(𝑥𝑥 − 1, 𝑦𝑦) = 0. Viola Jones menggunakan suatu bentuk variasi dari AdaBoost untuk memilih fitur-fitur dan untuk melatih pengklasifikasi. Pada bentuk aslinya, algoritma pembelajaran AdaBoost digunakan untuk meningkatkan kinerja klasifikasi terhadap suatu algoritma pembelajaran lemah. Berikut adalah algoritma boosting untuk mempelajari sebuah query secara online: 1. Memberikan citra (x 1 ,y 1 ), ..., (x n ,y n ) dimana 0,1 untuk data negatif dan positif berturut-turut. 1 1 2. Menginisialisasikan bobot w 1,i = , untuk y i = 2𝑚𝑚 2𝑙𝑙 0,1 berturut-turut, di mana m dan l adalah jumlah negatif dan positif berturut-turut. 3. Untuk t=1, ..., T: 𝑤𝑤 a. Menormalisasikan bobot, 𝑤𝑤𝑡𝑡𝑡𝑡 ← ∑𝑛𝑛 𝑡𝑡,𝑖𝑖
Gambar 3. Gambaran skematis sebuah tingkatan pendeteksian [7]
Diberikan sebuah pengklasifikasi bertingkat yang telah dilatih, jumlah false positive pada tingkatan tersebut adalah: 𝐹𝐹 = ∏𝐾𝐾𝑖𝑖=1 𝑓𝑓𝑖𝑖 dimana F adalah jumlah false positive pada pengklasifikasi bertingkat, K adalah jumlah pengklasifikasi, dan 𝑓𝑓𝑖𝑖 adalah jumlah false positive pada pengklasifikasi bertingkat ke i. Tingkat pendeteksiannya adalah: 𝐷𝐷 = ∏𝐾𝐾𝑖𝑖=1 𝑑𝑑𝑖𝑖 dimana D adalah tingkat pendeteksian pada pengklasifikasi bertingkat, K adalah jumlah pengklasifikasi, dan 𝑑𝑑𝑖𝑖 adalah tingkat pendeteksian pada pengklasifikasi ke i.
𝑗𝑗 =1 𝑤𝑤 𝑡𝑡,𝑗𝑗
b.
c. d.
4.
sehingga w t adalah distribusi probabilitas. Untuk setiap fitur, j, melatih sebuah pengklasifikasi h j yang dibatasi agar menggunakan sebuah fitur tunggal. Kesalahan dievaluasi sehubungan dengan 𝑤𝑤𝑡𝑡 , ∈𝑗𝑗 = ∑𝑖𝑖 𝑤𝑤𝑖𝑖 |ℎ𝑗𝑗 (𝑥𝑥𝑖𝑖 ) − 𝑦𝑦𝑖𝑖 | Memilih pengklasifikasi, h t , dengan kesalahan terendah ∈𝑡𝑡 . Memperbaharui bobot: 1−𝑒𝑒 𝑤𝑤𝑡𝑡+1,𝑖𝑖 = 𝑤𝑤𝑡𝑡,𝑖𝑖 𝛽𝛽𝑡𝑡 𝑖𝑖 dimana e i = 0 jika data x i diklasifikasi dengan ∈ benar, e i = 1 jika sebaliknya, dan 𝛽𝛽𝑡𝑡 = 𝑡𝑡 .
Pengklasifikasi kuat akhir-nya adalah:
III. METODOLOGI Secara umum proses pemodelan penelitian yang digunakan seperti gambar 4, dimana pemrosesan dimulai dari proses akuisisi citra, proses pendeteksian dan tracking wajah dengan mencari Region of Interest (RoI) wajah, penentuan RoI mata sampai dengan proses overlay image untuk ditampilkan sebagai objek virtual pada Augmented Reality.
1−∈𝑡𝑡
1 𝑇𝑇 1 𝑇𝑇 𝛼𝛼𝑡𝑡 ℎ𝑡𝑡 (𝑥𝑥) ≥ � 𝛼𝛼𝑡𝑡 ℎ(𝑥𝑥) = � � 2 𝑡𝑡=1 0 𝑡𝑡=1 𝑜𝑜𝑜𝑜ℎ𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 1 dimana 𝛼𝛼𝑡𝑡 = log 𝛽𝛽 𝑡𝑡
Cascade Classifier (Pengklasifikasi bertingkat) adalah suatu pohon keputusan degenerasi, dimana pada setiap tahap, sebuah pengklasifikasi dilatih untuk mendeteksi hampir semua objek yang menarik (contoh: wajah frontal) sembari menolak suatu fraksi tertentu dari pola bukan objek. AdaBoost merupakan suatu algoritma pembelajaran untuk meningkatkan kinerja klasifikasi terhadap suatu algoritma pembelajaran sederhana. AdaBoost menggabungkan sekumpulan fungsi klasifikasi lemah untuk membentuk suatu pengklasifikasi yang kuat [3]. Seperti pohon keputusan, pengklasifikasipengklasifikasi berikutnya dilatih menggunakan data-data yang telah melewati semua tahapan sebelumnya. Hasilnya, pengklasifikasi kedua menghadapi tugas yang lebih sulit dari pada yang pertama [7].
Gambar 4. Bagan alir penelitian
Pada tahap awal dimulai dengan proses akuisisi citra yang berasal dari kamera. Dalam proses ini terbagi menjadi dua, yaitu proses untuk menerima input dari kamera dan proses pengambilan frame dari input tersebut. Kedua proses tersebut menggunakan fasilitas library yang telah disediakan
3
oleh EMGU Open Source Computer Vision. Penggunaan library ini bermanfaat untuk proses input yang berlangsung secara real time. Yang dilanjutkan dengan melakukan deteksi dan tracking wajah pada citra dari sekuen video. Algoritma yang digunakan pada penelitian ini adalah haar cascade classifier seperti yang dikenalkan oleh Viola and Jones [7]. Sebagai masukan sistem yaitu berupa sekumpulan gambar yang membentuk sekuen sebuah gerakan kepala. Setelah dilakukan deteksi wajah maka ditentukan RoI. Region Of Interest adalah daerah persegi panjang pada gambar untuk memproses citra lebih lanjut, yang dapat dilihat pada gambar 5.
Mulai
Citra Sub image
Integral Proyeksi
Menentukan Fitur Haar
Membuat Cascade Classifier Menghitung Nilai Fitur Haar dengan Integral Image Deskripsi Citra
Sub image Image
Berhenti
Gambar 5. Menentukan Region of Interest
Sedangkan algoritma menentukan RoI pada citra wajah adalah sebagai berikut: 1. Menggunakan algoritma segmentasi warna kulit untuk menemukan warna kulit dari citra wajah. Warna kulit ditemukan dari citra dengan bantuan treshold sebagai berikut: 𝑖𝑖𝑖𝑖
2.
3.
4. 5.
Gambar 6. Sistem kerja metode haar cascade classifier
Setelah wajah terdeteksi dan ditentukan Region of Interest, kemudian dilakukan proses integral proyeksi untuk menentukan daerah lokasi dari mata dan dilanjutkan dengan pencarian objek mata, yaitu dengan cara mencari fitur-fitur yang memiliki tingkat pembeda yang tinggi. Berikut ini adalah cara kerja haar cascade classifier:
𝑅𝑅 + 𝐺𝐺 + 𝐵𝐵 𝑃𝑃(𝑥𝑥, 𝑦𝑦) = 𝑤𝑤ℎ𝑖𝑖𝑖𝑖𝑖𝑖 ≥ 𝑇𝑇 � 𝑃𝑃(𝑥𝑥, 𝑦𝑦) = 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 3
dimana 𝑃𝑃(𝑥𝑥, 𝑦𝑦), representasi dari current pixel dengan posisi koordinat x dan y. R, G dan B adalah nilai Red, Green dan Blue dari current pixel 𝑃𝑃(𝑥𝑥, 𝑦𝑦) dan T adalah threshold dari piksel warna kulit. Lebar maksimal dan tinggi maksimal dari piksel kulit yang terhubung dianggap sebagai lebar dan tinggi dari wajah saat ini di dalam citra. Untuk memeriksa kemungkinan adanya wajah pada citra yang diberikan, tinggi dan lebar area wajah mengikuti kriteria sebagai berikut: height ≥ 50, width ≥ 50 ℎ𝑒𝑒𝑒𝑒𝑒𝑒ℎ𝑡𝑡 1≤ ≤2 𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤ℎ Setelah proses pengenalan wajah, dilanjutkan mengkonversi citra ke dalam citra biner. Kemudian memotong wajah dari citra biner menurut piksel warna kulit saat ini dengan mempertimbangkan tinggi dan lebarnya sehingga ditemukan Region of Interest (RoI).
Image
Filter 1 F
T
Filter 2
T
F
...
Filter n F
T
Eyes
F
Non Eyes
Gambar 7. Cascade classifier (pengklasifikasi bertingkat)
Pada gambar 7, klasifikasi tingkat pertama (filter 1), tiap subcitra diklasifikasi menggunakan satu fitur. Klasifikasi ini menyisakan 50% subcitra untuk diklasifikasi di tahap kedua (filter 2). Seiring dengan bertambahnya tingkatan klasifikasi, maka diperlukan syarat yang lebih spesifik sehingga fitur yang digunakan menjadi lebih banyak. Jumlah subcitra yang lolos klasifikasi pun berkurang hingga klasifikasi menyisakan 2% subcitra. Tracking mata dilakukan untuk proses pergerakan marker. Sistem mencari koordinat marker, kemudian nilai koordinat tersebut dijumlahkan dengan titik tengah koordinat mata. Titik tengah mata diambil dari citra yang ada di dalam region of interest di area mata. Pada gambar 8, citra mata dijadikan acuan untuk menentukan lokasi titik tengah mata.
Sedangkan alur kerja metode Haar Cascade Classifier untuk mendeteksi mata dapat dilihat pada gambar 6.
a. Citra wajah b. Citra mata sebagai acuan Gambar 8. Citra mata yang digunakan sebagai marker AR
4
Posisi dan orientasi direpresentasikan dengan sudut roll, pitch dan yaw (RPY), dimana matrik ini bisa dikatakan sebagai sebuah urutan dari tiga rotasi yang secara prinsip masing-masing mewakili sebuah sumbu koordinat. Dari persamaan : 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 (𝛼𝛼, 𝛽𝛽, 𝛾𝛾) = 𝑅𝑅𝑧𝑧 (𝛼𝛼)𝑅𝑅𝑦𝑦 (𝛽𝛽)𝑅𝑅𝑥𝑥 (𝛾𝛾) , bahwa rotasi pertama dilakukan pada sumbu x, kemudian pada sumbu y dan terakhir pada sumbu z. Solusi invers kinematik RPY menjadi, 𝑅𝑅𝑅𝑅(𝛼𝛼)𝑃𝑃(𝛽𝛽 )𝑌𝑌(𝛾𝛾)
𝑟𝑟11 = �𝑟𝑟21 𝑟𝑟31
𝑟𝑟12 𝑟𝑟22 𝑟𝑟32
𝑟𝑟13 𝑟𝑟23 � 𝑟𝑟33
Rotasi matrik pada R dapat dihitung menggunakan sudut euler α, β dan γ dengan cara membagi setiap elemen pada R terhadap korespondensi elemen perkalian matrik 𝑅𝑅𝑧𝑧 (𝛼𝛼)𝑅𝑅𝑦𝑦 (𝛽𝛽)𝑅𝑅𝑥𝑥 (𝛾𝛾). Sehingga didapatkan sudut RPY sebagai berikut: 𝑟𝑟21 � 𝑟𝑟11 −𝑟𝑟31 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝ℎ (𝛽𝛽) = 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 � � 𝑥𝑥 𝑐𝑐𝑐𝑐𝑐𝑐(𝛼𝛼) + 𝑟𝑟21 𝑠𝑠𝑠𝑠𝑠𝑠 (𝛼𝛼) 𝑟𝑟11 𝑟𝑟32 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑦𝑦𝑦𝑦𝑦𝑦 (𝛾𝛾) = 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 � � 𝑟𝑟33
7
6
Berhasil
8
7
Berhasil
9
8
Berhasil
10
9
Berhasil
11
10
Berhasil
12
11
Gagal
13
12
Gagal
14
13
Gagal
15
14
Gagal
16
15
Gagal
17
16
Gagal
Pengaruh ukuran citra terlacak atau jarak objek dapat dianalisa bahwa fitur mata berhasil dilacak jika mempunyai jarak minimal dan jarak maksimal saat pengambilan citra. Ukuran jauh-dekatnya tidak bisa dipastikan karena tergantung dari spesifikasi kamera. Untuk kamera yang digunakan pada percobaan ini (integrated camera Dell Vostro 3350) [2] jarak minimum objek (wajah) ± 10 cm dan jarak terjauhnya adalah ± 80 cm.
𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 (𝛼𝛼) = 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 �
Setelah diketahui posisi dan orientasi wajah (roll, pitch dan yaw), maka dilakukan deteksi posisi untuk menentukan letak objek virtual, dalam hal ini adalah kaca mata 3D. Posisi yang diambil adalah titik-titik fitur mata kiri dan kanan yang digunakan sebagai marker AR. Setelahnya objek virtual (kaca mata) di-overlay untuk mengikuti kedua fitur mata ini. Dengan demikian, diharapkan objek kaca mata selalu berada tepat di depan kedua mata.
Tabel 2 Percobaan jarak objek terhadap kamera No. Jarak (cm) Keterangan
IV. HASIL PENGUJIAN DAN PEMBAHASAN Pengujian tracking sistem dengan melakukan proses pelacakan dengan menerapkan tingkat pencahayaan, perbedaan ukuran citra yang dipengaruhi oleh jarak objek nyata (wajah) terhadap kamera, faktor keberadaan penghalang dan kondisi posisi wajah dalam orientasi roll, pitch dan yaw. Berdasarkan hasil pengujian dengan pencahayaan terhadap proses pelacakan menunjukkan bahwa faktor pencahayaan berpengaruh pada keberhasilan pelacakan. Pada pengujian, proses ini berhasil dilakukan apabila tingkat kecerahan (brightness) objek berjalan pada cahaya ruangan yang merata, artinya pencahayaan pada ruangan dan objek (wajah) tidak terlalu gelap dan juga tidak terlalu terang. Hasil pengujian dengan intensitas cahaya (dalam satuan candela (cd)) dapat dilihat pada tabel 1.
1
0
Gagal
2
10
Berhasil
3
15
Berhasil
4
20
Berhasil
5
30
Berhasil
6
40
Berhasil
7
45
Berhasil
8
50
Berhasil
9
60
Berhasil
10
65
Berhasil
11
70
Berhasil
12
75
Berhasil
13
80
Berhasil
14
90
Gagal
15
100
Gagal
16
110
Gagal
17
120
Gagal
Tabel 1 Percobaan kondisi pencahayaan No. Intensitas Cahaya (Cd) Keterangan 1
0
Gagal
2
1
Gagal
3
2
Berhasil
4
3
Berhasil
5
4
Berhasil
6
5
Berhasil
Pada pengujian dengan penghalang, penghalang yang digunakan berupa tangan yang menutupi mata, kaca mata (objek nyata) hitam dan kaca mata transparan. Penghalang yang tidak menghilangkan faktor pengenalan fitur tidak mempengaruhi proses pelacakan sehingga objek virtual masih muncul. Dalam pengujian ini, objek penghalang yang tidak menghilangkan faktor pengenalan fitur ini adalah kaca mata (objek nyata) transparan. Hal ini karena fitur mata kanan dan
5
mata kiri masih bisa dideteksi oleh kamera, dalam hal ini digunakan sebagai marker AR sehingga objek kaca mata 3D bisa ditampilkan.
a. Sebelum di-overlay
b.
Di samping itu juga objek penghalang lain (gambar 12) seperti kaca mata (objek nyata) hitam mempengaruhi gagalnya proses pelacakan mata. Meskipun fitur hidung dan mulut dapat dideteksi oleh fitur haar, namun fitur-fitur ini diabaikan karena pada penelitian ini lebih difokuskan untuk mendeteksi fitur mata saja. Karena fitur mata tidak dapat dideteksi oleh fitur haar, maka tidak ada proses overlay ke fitur mata yang digunakan sebagai marker untuk menampilkan objek virtual AR. Pada pengujian bentuk dan ekpresi wajah, dilakukan pada objek dengan wajah yang memiliki bentuk dan ekpresi yang berbeda-beda. Bentuk wajah yang dimaksud adalah bentuk bulat, persegi, oval dan panjang dari data percobaan. Sedangkan yang dimaksud ekpresi wajah adalah ekpresi tersenyum, tertawa, meringis dan jijik dari data percobaan. Hasilnya, pengujian mengambil 36 sampel dan semuanya berhasil terlacak. Hal ini karena sistem sudah dilakukan pelatihan dengan berbagai citra wajah dan citra mata [5], sehingga sistem masih dapat melacak berbagai bentuk dan ekspresi wajah. Pada pengujian dengan orientasi roll, fitur mata bisa dideteksi pada sudut antara -210 sampai dengan 180, dan sudut kecil pada orientasi pitch dan yaw. Pada range sudut ini, fitur mata kanan dan mata kiri dapat dideteksi secara lengkap. Artinya fitur haar berhasil mendeteksi fitur mata kanan dan mata kiri. Karena fitur-fitur ini berhasil dideteksi dan fitur ini digunakan sebagai marker maka objek kaca mata virtual dapat di-overlay ke fitur ini sehingga muncullah objek virtual. Data percobaan pendeteksian fitur berdasarkan pose wajah pada orientasi roll dapat dilihat pada tabel 3.
Setelah di-overlay
Gambar 9. Pendeteksian Fitur dengan halangan kaca mata (objek real) transparan.
Sedangkan objek penghalang yang mempengaruhi gagalnya pendeteksian fitur adalah tangan yang diletakkan menghalangi mata, baik itu mata kiri atau kanan saja atau bahkan kedua mata yang dihalangi. Hasil percobaan dengan halangan mata kanan dapat dilihat pada gambar 10, dimana fitur mata kiri dan mulut masih bisa dideteksi. Objek virtual kaca mata tidak dapat di-overlay karena mata yang terdeteksi hanya satu, sedangkan algoritma yang dipakai dalam penelitian hanya dapat meng-overlay objek virtual jika kedua mata terdeteksi dengan baik.
a.
Sebelum di-overlay
b. Setelah di-overlay
Gambar 10. Pendeteksian fitur dengan halangan tangan menghalangi mata kanan
Demikian juga gambar 11 dengan percobaan halangan mata kiri, dimana fitur mata kanan dan mulut masih bisa dideteksi. Objek virtual kaca mata tidak dapat di-overlay karena mata yang terdeteksi hanya satu, sedangkan algoritma yang dipakai dalam penelitian hanya dapat meng-overlay objek virtual jika kedua mata terdeteksi dengan baik.
a. Sebelum di-overlay
Urutan Pose Pose 1 Pose 2 Pose 3 Pose 4 Pose 5 Pose 6 Pose 7 Pose 8 Pose 9 Pose 10 Pose 11 Pose 12 Pose 13 Pose 14 Pose 15 Pose 16 Pose 17 Pose 18 Pose 19 Pose 20
b. Setelah di-overlay
Gambar 11. Pendeteksian fitur dengan halangan tangan menghalangi mata kiri
a.
Sebelum di-overlay
Tabel 3. Deteksi pose pada orientasi roll Sudut Deteksi Hasil (derajat) Percobaan -31 Gagal -29 Gagal -26 Gagal -24 Gagal -21 Berhasil -13 Berhasil -10 Berhasil -4 Berhasil -2 Berhasil 4 Berhasil 7 Berhasil 10 Berhasil 12 Berhasil 14 Berhasil 16 Berhasil 18 Berhasil 20 Gagal 23 Gagal 25 Gagal 28 Gagal
Sedangkan pada orientasi pitch, fitur mata bisa dideteksi pada sudut antara -230 sampai dengan 180, dan sudut kecil pada orientasi roll dan yaw. Data percobaan untuk pose pada orientasi pitch dapat dilihat pada tabel 4.
b. Setelah di-overlay
Gambar 12. Pendeteksian fitur dengan halangan kaca mata hitam
6
2. Urutan Pose Pose 1 Pose 2 Pose 3 Pose 4 Pose 5 Pose 6 Pose 7 Pose 8 Pose 9 Pose 10 Pose 11 Pose 12 Pose 13 Pose 14 Pose 15 Pose 16 Pose 17 Pose 18 Pose 19 Pose 20
Tabel 4. Deteksi pose pada orientasi pitch Sudut Deteksi Hasil (derajat) Percobaan -31 Gagal -29 Gagal -26 Gagal -25 Gagal -23 Berhasil -18 Berhasil -15 Berhasil -9 Berhasil -5 Berhasil 2 Berhasil 4 Berhasil 10 Berhasil 12 Berhasil 14 Berhasil 16 Berhasil 18 Berhasil 20 Gagal 23 Gagal 25 Gagal 28 Gagal
3.
REFERENCES [1] Azuma, A Survey of Augmented Reality, “Presence: Teleoperators and Virtual Environments 6 (4)”, Jurnal IEEE, 1997 [2] Dell Webcam Vostro 2205, http://support.us.dell.com, diakses Desember 2012 [3] Podolsky, A., dan Frolov, V., “Face Tracking”. Springer, New York, 2007 [4] Menezes, P., Barreto, J.C., Jorge Dias, “Face Tracking Based On Haar Like Features and EigenFaces” Jurnal IEEE, 2002. [5] Seo, N, “Tutorial: OpenCV haar training (Rapid Object Detection With A Cascade of Boosted Classifiers Based on Haar-Like Features)”, PukiWiki Plus, 2007. [6] Vallino, James R., "Interactive Augmented Reality", PhD Thesis, University of Rochester, Rochester, NY, 1998. [7] Viola and Jones, "Rapid Object Detection Using A Boosted Cascade of Simple Features", International Conference on Computer Vision and Pattern Recognition , 2001 [8] Viola, P., dan Jones, M. J., "Robust Real Time Object Detection", Cambridge, 2001.
Dan pada orientasi yaw, fitur mata bisa dideteksi pada sudut antara -100 sampai dengan 150, dan sudut kecil pada orientasi roll dan pitch. Data percobaan untuk pose pada orientasi yaw sebagaimana pada tabel 5. Urutan Pose Pose 1 Pose 2 Pose 3 Pose 4 Pose 5 Pose 6 Pose 7 Pose 8 Pose 9 Pose 10 Pose 11 Pose 12 Pose 13 Pose 14 Pose 15 Pose 16 Pose 17 Pose 18 Pose 19 Pose 20
V.
Untuk dapat mendeteksi mata dengan baik, jarak minimal antara kamera dengan objek nyata adalah ±15 cm dan jarak maksimalnya ±80 cm. Fitur-fitur mata dapat terdeteksi apabila: a. Deteksi pose wajah pada orientasi roll dengan sudut antara -210 sampai dengan 180, dan sudut kecil pada yaw dan pitch. b. Deteksi pose wajah pada orientasi pitch sampai dengan sudut antara -230 dengan 180, dan sudut kecil pada yaw dan roll. c. Deteksi pose wajah pada orientasi yaw dengan sudut antara -100 sampai dengan 150, dan sudut kecil pada pitch dan roll.
Tabel 5. Deteksi pose pada orientasi yaw Sudut Deteksi Hasil (derajat) Percobaan -31 Gagal -29 Gagal -26 Gagal -25 Gagal -23 Gagal -18 Gagal -10 Berhasil -6 Berhasil -2 Berhasil 3 Berhasil 7 Berhasil 10 Berhasil 12 Berhasil 14 Berhasil 15 Berhasil 18 Gagal 20 Gagal 23 Gagal 25 Gagal 28 Gagal
KESIMPULAN
Dari hasil perancangan sistem kemudian dilanjutkan dengan pengambilan data, pengujian dan analisa, maka dapat disimpulkan sebagai berikut: 1. Algoritma Haar Cascade Classifier dapat melakukan lokalisasi dan akurasi wajah pada pencahayaan ruangan 2-10 Cd (candela).
7