Indra Prasetyanto1, Cahyo Darujati2, Agustinus Bimo Gumelar3
1,2,3Fakultas Ilmu Komputer, Universitas Narotama 1[email protected]
ABSTRAK
Seiring perkembangan teknologi, sensor pendeteksi gerakan tubuh manusia semakin canggih. Salah satu alat keluaran Microsoft yang bernama Kinect dianggap mampu untuk mengaplikasikan teknologi tersebut. Dalam penelitian ini menghasilkan identifikasi visual gerakan kepala secara waktu-nyata di lapangan. Kinect mengambil data wajah sang user secara mendetail agar didapat data pergerakan wajah pengguna, kemudian diterjemahkan kedalam bahasa pemrograman C#. Hasil penelitian ini dapat mendeteksi dan mengidentifikasi gerakan kanan, kiri, tengah dan atas beserta derajatnya.
Kata kunci : KINECT, Deteksi Wajah, WPF, C#
1.
Pendahuluan
Perkembangan teknologi saat ini berkembang dengan pesat, dimana teknologi tersebut dibuat agar memudahkan manusia melakukan aktivitasnya. Oleh sebab itu banyak para ilmuwan berusaha agar menemukan inovasi maupun ide pemikiran untuk membuat perangkat keras (hardware) maupun perangkat lunak (software) yang dapat memperingan pekerjaan manusia. Microsoft yang merupakan salah satu perusahaan innovator telah merilis alat bernama Kinect .
Awalnya Kinect ditujukan sebagai support device untuk perangkat permainan Xbox 360. Namun pada tanggal 1 Februari 2012, Microsoft merilis Kinect versi Windows[1]. Setelah sebelumnya Microsoft merilis terlebih dahulu non-comercial Software Development Kit (SDK) untuk Kinect pada tanggal 16 Juni 2011[2].
Dengan memanfaatkan salah satu teknologi Microsoft ini, maka dimulailah penelitian yang memfokuskan kepada deteksi wajah dengan menggunakan Kinect. Agar dapat mengetahui dan mengidentifikasi gerakan kepala baik kanan, kiri, tengah dan atas beserta derajatnya.
2.
Tinjauan Pustaka
2.1 Microsoft Kinect
Kinect adalah sensing input device untuk konsol game Xbox360 (diterbitkan November 2010) dan untuk Windows (diterbitkan Februari 2012). Dengan menggunakan webcam yang dimiliki oleh kinect, user tidak perlu lagi memegang / menggunakan game controller untuk bermain Xbox360[3]
2.2 Microsoft Visual C#
Microsoft Visual C# adalah salah satu bahasa pemrograman terkuat milik Microsoft. C# komponen terpenting didalam arsitektur Microsoft .NET framework, dan sebagian orang sering membandingkan bahasa C tersebut didalam UNIX development.[4]
2.3 AAM (Active Apperance Model)
Active Apperance Model (AAM) adalah sebuah algoritma untuk mengepaskan model generatif bentuk dan tampilan objek untuk gambar input. AAM memungkinkan untuk mendapat data secara akurat, waktu-nyata dalam melacak wajah manusia secara 2 dimensi dan diperpanjang menjadi 3 dimensi dengan membatasi secara pas linear 3D morphable model.[5]
3.
Metodologi Penelitian
Untuk mempermudah pelaksanaan penelitian ini maka perlu dibuat urutan metode yang menjadi kerangka acuan dalam pelaksanaan penelitian. Kerangka ini berisi tahapan-tahapan yang dilakukan untuk menyelesaikan permasalahan dari penelitian ini.
29
Gambar 3.1 Flowchart Penelitian
3.1 Mulai
Pertama tama dengan diawali dengan berdoa, penulis mempersiapkan laptop dengan spesifikasi prosesor Intel Core I3, memori RAM 4GB, kapasitas Harddisk 500 GB, dan VGA 2GB untuk melakukan penelitian ini.
3.2 Studi Literatur
Setelah mempersiapkan perangkat komputer yang dibutuhkan, penulis melakukan studi literatur untuk mempelajari ilmu materi yang berkaitan dan mendukung penelitian. Ilmu yang dipelajari antara lain mengenai system dari Kinect, mempelajari bahasa C# WPF, dan mengenal tentang program visual studio 2010.
3.3 Uji Deteksi Wajah
Dengan berbekal materi yang diperoleh sebelumnya, maka saatnya untuk mengetahui apakah perangkat Kinect ini dapat mendeteksi wajah yang tertangkap. Dalam kinect terdapat modul titik wajah yang menggunakan metode Active Apperance Mode (AAM) sehingga memungkinkan wajah yang tertangkap dapat diambil dan diolah datanya.
3.4 Inisiasi Titik Wajah
Hasil deteksi wajah yang berhasil ditangkap Kinect kemudian diolah agar diketahui titik - titik wajah yang akan dideteksi. Titik tersebut antara lain terletak di dahi, sisi wajah sebelah kanan dan kiri, dagu, serta titik tengah hidung.
3.5 Pengenalan Gerakan Kepala dan Derajatnya
Setelah titik wajah sudah diinisiasikan maka pada tahap selanjutnya adalah pendefinisian kapan gerakan kepala disebut ke kanan, ke kiri, tengah maupun ke atas.
Semua pendefinisian baik derajat dan jenis gerakan dibantu dengan pembanding antar titik yang telah diinisiasikan sebelumnya.
Rumusan derajatnya dapat digambarkan sebagai berikut. 1
Dimana adalah besar derajat, α dan adalah derajat sekarang dan derajat maksimal.
3.6 Selesai
30
4.
Hasil dan Pembahasan
4.1 Deskripsi Umum Perangkat Lunak
Modul Hasil Gerakan berinteraksi dengan modul lain dalam pendeteksi gerakan kepala dan derajat secara real time. Seperti blok diagram pada Gambar 4.1.
Modul Hasil Gerakan dapat menampilkan keterangan gerakan kepala beserta derajatnya. Proses memberi keterangan hasil dibagi menjadi empat kategori Hasil Gerakan, yaitu Kanan, Kiri, Tengah, dan Atas.
Gambar 4.1. Blok Diagram Pendeteksi Gerakan Kepala dan Derajat secara waktu-nyata
Sedang untuk proses mengetahui derajat arah pergerakan kepala berdasarkan asumsi untuk total derajat gerakan kepala kekanan kekiri 180 derajat.
4.2 Arsitektur Perangkat Lunak
Dalam penelitian ini, modul yang akan digunakan adalah modul untuk menampilkan hasil gerakan kepala dari hasil inisiasi point wajah terhadap pemain menggunakan sensor Microsoft Kinect.
Untuk arsitektur sistem dari perangkat lunak dapat di ilustrasikan pada Gambar 4.2. Dalam modul pendeteksi gerakan kepala dan derajat waktu-nyata ini terdapat tiga aktor, yaitu pengguna, modul pembaca gerakan secara waktu-nyata, dan modul inisiasi point wajah. Dimana masing – masing memiliki fungsionalitas yang berbeda.
Gambar 4.2. Arsitektur sistem Modul Hasil Gerakan
4.3 Implementasi Uji Deteksi Wajah
Proses mengenali wajah dengan Kinect dimulai pada saat pengguna memulai program dan wajah pengguna berhasil dibaca. Program akan memanggil modul facetracking milik microsoft Kinect kemudian diolah, dan hasilnya ditampilkan dengan menandai Setelah berhasil dibaca, maka wajah pengguna akan ditandai dengan kotak transparan. Seperti yang digambarkan pada Gambar 4.3.
31
4.4 Implementasi Inisiasi Titik Wajah
Dalam penginisiasian wajah, akan ada perubahan yang mana awal pendeteksian adalah berbentuk kotak menjadi titik – titik yang terdapat di titik tertentu wajah. Seperti pada Gambar 4.4, titik tersebut diatur agar mengunci titik tertentu wajah untuk didapatkan data pergerakan pengguna yang kedepannya akan diproses lebih lanjut.
Gambar 4.4. Titik Wajah
4.5 Implementasi Pengenalan Gerakan Kepala dan Derajatnya
Dalam pengenalan gerakan kepala dan derajatnya ini, program mulai membandingkan data yang diperoleh dari titik – titik tertentu yang terdapat di wajah. Hasil pembandingan tadi maka akan dipilah berdasar jenis arah gerakan kepala.
Gambar 4.5. Jenis Gerakan Kepala dan Derajat,(a) Kiri 72 derajat; (b) Kanan 71 derajat; (c) Tengah ~ Atas 6 derajat; (d) Kanan 8 derajat ~ Atas 13 derajat
Jenis arah gerakan kepala antara lain, kanan, kiri, tengah dan atas, seperti yang terdapat pada Gambar 4.5. Sedang untuk memperoleh derajat pergerakan, maka untuk derajat gerakan kanan kekiri diasumsikan maksimal sebesar 180 derajat dan untuk derajat arah keatas diasumsikan maksimal 90 derajat
5.
Kesimpulan
Dari hasil pengamatan semua tahapan, penulis mengambil kesimpulan sebagai berikut : 1. Modul Hasil Gerak telah berhasil menampilkan jenis arah gerakan beserta derajatnya.
32
2. Modul Hasil Gerak telah berhasil melakukan kalibrasi terhadap titik wajah pengguna, hal ini ditujukan agar gerakan kepala yang dilakukan pengguna bisa teridentifikasi dengan modul inisiasi wajah
3. Modul Hasil Gerak telah berhasil melakukan fungsi utama, yaitu mencocokkan gerakan kepala serta mengklasifikasikan menjadi 4, yaitu kanan, kiri, tengah, atas.
4. Modul Hasil Gerak telah berhasil melakukan integrasi dengan Modul Inisiasi poin wajah dan Modul pembaca gerakan.
DAFTAR PUSTAKA
[1] Microsoft. Kinect for Windows. n.d http://www.microsft.com/en-us/kinectforwindows/ (diakses November 2014) [2] Microsoft Research. Februari 2011. http://research.microsoft.com/en-us/news/features/kinectforwindowssdk-
022111.aspx (diakses November 2014)
[3] Jarett Webb, James Ashley. Beginning Kinect Programming with the Microsoft Kinect SDK. Apress, 2012. [4] John Sharp.Microsoft Visual C# 2008 Step by Step.Microsoft Press.2008
33