Hendri Karisma Dan Irfan Maliki

8
IMPLEMENTASI HAND TRACKING PADA KONTROL MOUSE POINTER MENGGUNAKAN ALGORITMA PYRAMIDAL LUCAS-KANADE Hendri Karisma 1 , Irfan Maliki 2 Jurusan Teknik Informatika, Universitas Komputer Indonesia Jl. Dipatiukur no 112-116 Bandung 40132 [email protected] 1 ,[email protected] 2 ABSTRAK Berbagai teknik dialog interaktif yang memungkinkan terjadinya komunikasi antara manusia dengan komputer pada dewasa ini cukup bervariasi, salah satunya adalah teknik interaksi yang bersifat alami. Teknik interaksi yang bersifat alami ini merupakan kemampuan untuk merasakan interaksi pengguna tanpa keterlibatan fisik secara langsung dengan sistem komputer. Input dalam berinteraksi, dilakukan dengan menggunakan web-camera. Input secara visual dapat memberikan kemampuan penginderaan pada komputer sebagaimana manusia untuk melakukan penginderaan dengan menggunakan mata. Salah satu gerak alami yang dapat dijadikan alat untuk berkomunikasi adalah gerakan tangan atau gesture tangan. Metode yang digunakan dalam penelitian ini yaitu pyramidal Lucas-Kanade. Metode ini dimanfaatkan untuk membangun sistem pengontrol pointer mouse pada komputer dengan menggunakan gerakan tangan dari pengguna. Pergerakan mouse akan disesuaikan dengan pergerakan tangan yang diinputkan pada web-cam secara real-time. Pada tahap awal pendeteksian, memanfaatkan metode convexhull dan convex defect. Hasil dari penelitian yang telah dilakukan, bahwa sistem pengontrol pointer mouse dapat diimplementasikan dan algoritma pyramidal Lucas-Kanade bekerja sesuai dengan yang diharapkan serta mampu mendeteksi pergerakan titik suatu piksel dengan cepat. Keywords: Hand tracking, Mouse pointer, Pyramidal Lucas-Kanade, Convexhull, Convex defect. 1. PENDAHULUAN Teknik interaksi berbasis visi komputer merupakan teknik interaksi yang bersifat alami dimana tidak membutuhkan kontak langsung antara pengguna dengan peralatan input. Input secara visual dapat memberikan kemampuan penginderaan pada komputer sebagaimana manusia untuk melakukan penginderaan menggunakan mata. Interaksi manusia secara alami tidak membutuhkan mouse atau keyboard, melainkan diantaranya menggunakan tangan, mata, dan telinga untuk mendapatkan informasi dari lingkungan [5]. Dengan adanya implementasi teknologi visual dalam berinteraksi dengan komputer kemungkinan besar dalam 10 tahun ke depan, akan terjadi perkembangan dalam area yang kenal dengan sebutan Human Computer Interaction (HCI). Dalam 10 tahun ke depan, mouse dan keyboard bukan lagi perangkat utama dalam berinteraksi dengan komputer. Teknologi HCI seperti speech recognition dan gesture recognition akan mulai ditemui di mana-mana. Computer vision merupakan pengolahan citra yang dikaitkan dengan akusisi citra, pemrosesan, klasifikasi, pengakuan, dan pencakupan keseluruhan

Transcript of Hendri Karisma Dan Irfan Maliki

Page 1: Hendri Karisma Dan Irfan Maliki

IMPLEMENTASI HAND TRACKING PADA KONTROL MOUSE POINTER MENGGUNAKAN ALGORITMA PYRAMIDAL LUCAS-KANADE

Hendri Karisma1, Irfan Maliki2

Jurusan Teknik Informatika, Universitas Komputer IndonesiaJl. Dipatiukur no 112-116 Bandung 40132

[email protected],[email protected]

ABSTRAK

Berbagai teknik dialog interaktif yang memungkinkan terjadinya komunikasi antara manusia dengan komputer pada dewasa ini cukup bervariasi, salah satunya adalah teknik interaksi yang bersifat alami. Teknik interaksi yang bersifat alami ini merupakan kemampuan untuk merasakan interaksi pengguna tanpa keterlibatan fisik secara langsung dengan sistem komputer. Input dalam berinteraksi, dilakukan dengan menggunakan web-camera. Input secara visual dapat memberikan kemampuan penginderaan pada komputer sebagaimana manusia untuk melakukan penginderaan dengan menggunakan mata. Salah satu gerak alami yang dapat dijadikan alat untuk berkomunikasi adalah gerakan tangan atau gesture tangan. Metode yang digunakan dalam penelitian ini yaitu pyramidal Lucas-Kanade. Metode ini dimanfaatkan untuk membangun sistem pengontrol pointer mouse pada komputer dengan menggunakan gerakan tangan dari pengguna. Pergerakan mouse akan disesuaikan dengan pergerakan tangan yang diinputkan pada web-cam secara real-time. Pada tahap awal pendeteksian, memanfaatkan metode convexhull dan convex defect. Hasil dari penelitian yang telah dilakukan, bahwa sistem pengontrol pointer mouse dapat diimplementasikan dan algoritma pyramidal Lucas-Kanade bekerja sesuai dengan yang diharapkan serta mampu mendeteksi pergerakan titik suatu piksel dengan cepat.

Keywords: Hand tracking, Mouse pointer, Pyramidal Lucas-Kanade, Convexhull, Convex defect.

1. PENDAHULUAN

Teknik interaksi berbasis visi komputer merupakan teknik interaksi yang bersifat alami dimana tidak membutuhkan kontak langsung antara pengguna dengan peralatan input. Input secara visual dapat memberikan kemampuan penginderaan pada komputer sebagaimana manusia untuk melakukan penginderaan menggunakan mata. Interaksi manusia secara alami tidak membutuhkan mouse atau keyboard, melainkan diantaranya menggunakan tangan, mata, dan telinga untuk mendapatkan informasi dari lingkungan [5].

Dengan adanya implementasi teknologi visual dalam berinteraksi dengan komputer kemungkinan besar dalam 10 tahun ke depan, akan terjadi perkembangan dalam area yang kenal dengan sebutan Human Computer Interaction (HCI). Dalam 10 tahun ke depan, mouse dan keyboard bukan lagi perangkat utama dalam berinteraksi dengan komputer. Teknologi HCI seperti speech recognition dan gesture recognition akan mulai ditemui di mana-mana.

Computer vision merupakan pengolahan citra yang dikaitkan dengan akusisi citra, pemrosesan, klasifikasi, pengakuan, dan pencakupan keseluruhan pengambilan keputusan diikuti dengan pengidentifikasian citra. Ballard dan Brown dalam [2] mendefinisikan computer vision sebagai suatu kegiatan awal pengotomatisan dan pengintegrasian suatu pemrosesan dan representasi sebagai suatu persepsi visual dengan

tahap-tahap tertentu. Salah satu teknik computer vision adalah tracking and motion, dimana ketika memiliki resource video dan terdapat suatu objek yang ingin diikuti pada bidang visual tertentu.

Hand tracking merupakan salah satu implementasi teknik tracking and motion, di mana tracking dilakukan pada objek tangan manusia, dalam hal ini sumber video merupakan video yang dihasilkan oleh web-cam secara real-time yang menampilkan objek visual berupa tangan dari seorang individu atau pengguna, selanjutnya dilakukan pendeteksian motion atau gerakan dari tangan pengguna tersebut, sehingga komputer dapat mendeteksi gerakan dan arah gerakan tangan dari pengguna tersebut. Dalam implementasi hand tracking terdapat penggunaan metode tertentu yang menjadi dasar atau merupakan inti dari hand tracking, salah satunya yaitu algoritma pyramidal Lucas-Kanade [1].

Algoritma pyramidal Lucas-Kanade [1] menggunakan pendekatan prinsip piramida, yaitu bekerja dari detail citra paling rendah hingga detail citra paling tinggi. Tujuannya adalah agar gerakan yang besar dapat diperhitungkan. Sementara asumsi yang digunakan dalam algoritma pyramidal Lucas-Kanade adalah gerakan yang kecil dan koheren, sehingga tidak dapat menangkap gerakan yang besar. Solusi yang digunakan untuk menangkap gerakan yang besar pada algoritma Lucas-Kanade yaitu dengan memanfaatkan window yang besar. Akan tetapi penggunaan window yang besar sering kali membuat gerakan yang ditangkap adalah gerakan

Page 2: Hendri Karisma Dan Irfan Maliki

yang tidak koheren. Algoritma pyramidal Lucas-Kanade menyelesaikan permasalahan tersebut tanpa menghilangkan asumsi gerakan yang koheren [5]. Berdasarkan paparan diatas dalam penelitian ini akan dilakukan implementasi hand tracking menggunakan algoritma pyramidal Lucas-Kanade dengan membangun sistem pengontrol pointer mouse pada komputer dengan menggunakan gerakan tangan dari pengguna. Pergerakan mouse ini akan disesuaikan dengan pergerakan tangan yang diinputkan pada web-camera secara real-time.

Tujuan yang diharapkan dari penelitian ini yaitu untuk membantu pengguna dalam berinteraksi dengan komputer untuk melakukan kontrol mouse pointer dengan menggunakan pergerakan alami dari tangan.

2. TINJAUAN PUSTAKA

2.1 Model Tangan Manusia

Tangan manusia adalah sebuah struktur mekanik kompleks yang terdiri atas beberapa segmen tulang, ligamen-ligamen yang menghubungkan antar segmen tulang secara leluasa, otot-otot yang berperan sebagai motor gerak, tendon yang berperan untuk menghubungkan otot dengan tulang, dan kulit serta saraf-saraf halus yang menyelubungi otot dan tulang [5]. Berdasarkan tipe gerakan dan rotasi yang mungkin dilakukan, sendi-sendi pada tangan manusia dapat diklasifikasikan sebagai flexion, twist, directive, atau spherical.

2.2 Tracking dan Motion

Dalam computer vision diperlukan suatu proses dimana komputer harus mampu mengikuti pergerakan objek yang ditentukan dengan sumber citra berupa video baik dari disk ataupun berasal dari input kamera secara real time. Identifikasi dilakukan untuk menemukan object of interest dari satu frame yang merupakan subsequent dari suatu video. Tracking merupakan istilah untuk melacak atau mencari suatu objek pada suatu citra, dalam prosesnya ada sesuatu yang penting yang terjadi pada objek tersebut ketika citra tersebut merupakan frame yang merupakan subsequent dari suatu video yaitu motion. Motion merupakan pergerakan atau arah pergerakan yang terlihat dilakukan objek atau yang terjadi terhadap objek akibat pergantian frame.

2.3 Metode Convexhull dan Convexity Defect

Metode convexhull biasa digunakan sebelum menggunakan convexity defect, karena convexhull berfungsi untuk menemukan bentuk kontur dan mendapatkan bentuk batas dari tangan dengan batas-batas minimal. Metode convexhull digunakan untuk menemukan hull yang mengitari objek tangan manusia sehingga dapat dilakukan pencarian titik defect yang ada pada tangan sebagai acuan untuk melakukan komputasi jumlah jari dari tangan secara real-time. Convexity Defect berfungsi sebagai suatu metode untuk mendapatkan kontur yang berkarakter kuat dan pasti pada suatu objek misalkan tangan.

…………………………1

Sedangkan untuk mendapatkan titik defect menggunakan convexity defects. Berikut adalah persamaan yang dipakai dalam opencv sesuai dengan advances visual computing 5th symposium:

…………………2

Dimana v1,v2 adalah masing-masing vektor antara awal dan titik akhirpertama dan kedua convexity defects. Jika sudut lebih rendah dari ambang batas terkecil,maka v1 dan v2 dari persamaan convexity defect tersebut dianggap sebagai kandidat yang mungkin untuk penyempitan (menjadi titik baru), selain itu convexity defect tidak dapat dipakai. Pada gambar 1 ditunjukkan batas-batas dari pergelangan tangan.

Gambar 1. Convexhull dan convexity defect pada tangan.

Convexity defects terlihat merupakan garis yang tepat mengelilingi tangan dan merupakan bentuk yang minimalis, sedangkan garis kontur gelap adalah convexhull sekitar tangan.

2.4 Algoritma Lucas-Kanade

Setelah mendapatkan bentuk dari convexhull maka dapat ditentukan titik tengah dari bentuk

Page 3: Hendri Karisma Dan Irfan Maliki

tersebut. Titik tengah tersebut menjadi acuan untuk melakukan pencarian pergerakan titik piksel. Pada gambar 2, ditunjukkan penyelesaian algoritma pyramidal Lucas-Kanade dengan pendekatan prinsip piramida.

Gambar 2. Pyramidal Lucas-Kanade

Algoritma pyramidal Lucas-Kanade pertama bekerja pada layer piramida paling tinggi. Kemudian hasilnya digunakan sebagai titik awal untuk bekerja pada layer dibawahnya. Hal ini berlanjut hingga mencapai level paling rendah. Berikut ini merupakan penjelasan algoritma pyramidal Lucas-Kanade dalam [5]:

Misalkan I dan J adalah dua citra gray scale 2D. Dua nilai I(x) = I(x;y) dan J(x) = J(x;y) adalah nilai grayscale dari dua citra pada lokasi x = [x;y]T, dengan x dan y merupakan koordinat dua piksel dari titik citra generik x. Citra I akan direferensikan sebagai citra pertama, dan citra J sebagai citra kedua.

Anggap sebuah titik u = [ux uy]T pada citra pertama I. Tujuan dari tracking fiture adalah untuk menemukan lokasi v = u + d = [ux +dx

uy +dy]T pada citra kedua J dengan I(u) dan J(v) adalah serupa. Vektor d = [dx dy]T merupakan kecepatan citra pada x, juga diketahui sebagai aliran optis pada x. Hal ini penting untuk mendefinisikan dugaan kesamaan dalam ketetanggaan 2D. Misalkan wxdan wyy dua integer yang mendefinisikan setengah ukuran dari window integrasi di atas x. Didefinisikan kecepatan citra d sebagai vektor yang meminimasi fungsi yang didefinisikan sebagai persamaan (3)

……………………3

3. ANALISIS DAN PERANCANGAN

Pada tahap deteksi tangan dengan metode convex hull dan convexity defect terdapat proses-proses tertentu dalam implementasi metode tersebut, diantaranya metode convex hull memerlukan citra 1 bit dan merupakan kontur hasil segmentasi warna kulit. Pembuatan citra hasil threshold

dilakukan dengan melakukan segmentasi dengan nilai maksimum dan minimum warna kulit dengan format warna YCrCb. Pada gambar 3 menjelaskan mengenai penggunaan format warna YcrCb.

Gambar 3. Penggunaan format warna YCrCb

Setelah proses segmentasi selesai selanjutnya dilakukan proses pencarian kontur dengan mencari kontur terbesar. Citra yang diproses merupakan citra hasil segmentasi dengan range warna kulit berformat YcrCb. Penjelasan tersebut dapat dilihat pada gambar 4 dan 5.

Gambar 4. Hasil segmentasi warna

Gambar 5. Hasil pencarian kontur

Setelah mendapatkan kontur dari tangan selanjutnya dilakukan pendeteksian hull dan defect dari kontur yang sudah didapat dengan

Page 4: Hendri Karisma Dan Irfan Maliki

metode convex hull untuk mendeteksi bidang tangan dan convexity defects yang nantinya digunakan untuk komputasi menghitung jari.

Setelah mendapatkan hull objek tangan manusia yang merupakan lekuk dari tangan manusia lalu proses dilanjutkan dengan menghitung titik defect dengan metode convexity defect.

Gambar 6. Implementasi metode convexity defect pada objek tangan

Setelah pendeteksian posisi tangan dan juga menghitung jumlah jari dan melakukan singkronisasi pada pointer mouse lalu melakukan teknik motion, atau melakukan tracking pada pergerakan tangan. Pada saat inilah algoritma pyramidal Lucas-Kanade digunakan.

Gambar 7. Contoh penggunaan pyramidal Lucas- Kanade

Sebelum mengimplementasikan algoritma pyramidal Lucas- Kanade, perlu dilakukan corner finding. Corner finding adalah teknik yang dipakai untuk melakukan pencarian terhadap setiap sisi dari suatu citra dan mencari sudut yang baik untuk dapat dipakai sebagai acuan dalam melakukan tracking terhadap corner tersebut pada setiap frame.

Yang dibutuhkan dalam algoritma pyramidal Lucas-Kanade adalah dua buah citra grayscale (misalkan citra A dan citra B). Citra A berisi objek tangan pada posisi awal, sedangkan citra B merupakan posisi terakhir yang terjadi pada citra. Dilakukan pencarian corner untuk proses mulai tracking objek tangan, setelah itu lakukan proses

komputasi dengan metode algoritma pyramidal Lucas-Kanade dan untuk mendapatkan nilai kordinat posisi terakhir tangan serta melakukan singkronisasi dengan posisi pointer mouse. Secara umum tahapan yang dilakukan dalam mengimplementasikan algoritma pyramidal Lucas-Kanade dapat dilihat pada gambar 8.

Gambar 8. Tahapan implementasi algoritma pyramidal Lucas-Kanade

Pada gambar 9 menjelaskan mengenai alur proses yang terjadi pada sistem yang dibangun dalam penelitian ini.

Gambar 9. Alur proses pada sistem yang dibangun

4. HASIL DAN PEMBAHASAN

Input dari sistem yang dibangun yaitu berupa citra tangan manusia atau anggota tubuh manusia. Pendeteksian yang dilakukan adalah dengan menggunakan warna kulit sehingga apabila ada persilangan posisi antara kulit bagian tubuh satu dengan yang lainnya, kemungkinan akan terjadi kesalahan pendeteksian karena adanya nilai warna yang sama dalam ukuran yang besar. Gambar 10

Page 5: Hendri Karisma Dan Irfan Maliki

merupakan GUI yang dibangun menggunakan QT framework untuk sistem.

Gambar 10. Kondisi awal sistem

Pada gambar 11-14 menjelaskan dari sistem yang telah dibangun dengan beberapa kondisi frame yang diambil. Banyaknya jari yang dideteksi digunakan untuk melakukan proses klik kanan dan klik kiri sebagai pengganti mouse.

Gambar 11. Kondisi ketika jari tangan berjumlah 5

Gambar 12. Kondisi ketika jari tangan berjumlah 3

Gambar 13. Kondisi ketika jari tangan berjumlah 1

Sistem dilengkapi dengan visualisasi histogram dari citra yang sedang terlihat hasil dari komputasi.

Gambar 14. Tampilan form histogram

5. KESIMPULAN

Kesimpulan yang diperoleh dari penelitian yang telah dilakukan sebagai berikut:1. Sistem kontrol mouse pointer yang digunakan

untuk berinteraksi dengan komputer menggunakan pergerakan alami dari tangan telah berhasil dibangun.

2. Algoritma pyramidal Lucas-Kanade yang digunakan untuk mendeteksi pergerakan dari objek tangan dengan memanfaatkan perbedaan warna kulit dengan format YCrCb, telah bekerja cukup baik dalam prosesnya. Algoritma pyramidal Lucas-Kanade bekerja sesuai dengan yang diharapkan dan dapat mendeteksi pergerakan titik suatu piksel dengan cepat. Pendeteksian dan proses perhitungan jumlah jari dari objek tangan terjadi cukup cepat dengan pemanfaatan titik-titik defect yang dihasilkan oleh metode convexity defect. Namun kelemahan terjadi pada pemanfaatan range warna kulit dalam format YcrCb, karena kemungkinan akan terjadi ketidakstabilan ketika proses tracking dengan menggunakan convex hull dan convexity defect. Hal ini disebabkan oleh kontur yang diciptakan hanya berdasarkan perbedaan warna kulit. Sehingga ketika terjadi pendeteksian dua objek dengan warna yang hampir sama dengan warna kulit, maka kedua objek tersebut dianggap satu objek

Page 6: Hendri Karisma Dan Irfan Maliki

tangan dengan ukuran bidang yang cukup luas.

3. Cahaya menjadi salah satu faktor yang mempengaruhi kualitas hasil dari proses yang terjadi didalam sistem. Semakin baik pencahayaannya maka proses komputasi pendeteksian tangan menghasilkan kontur yang baik.

6. DAFTAR PUSTAKA

[1] Bouguet, Y.J., 2000, “Pyramidal Implementation of The Lucas-Kanade Feature Tracker”, Intel Corporation, Microprocessor Research Labs, tersedia pada http://www.intel.com/research/opencv, diakses pada tanggal 30 Juni 2011.

[2] Fadlisyah, 2007, “Computer Vision dan Pengolahan Citra”, Penerbit Andi.

[3] Gary B, and Adrian K., 2008, “Learning OpenCV Computer Vision with the OpenCV Library”, O’Reilly Media inc.

[4] Intel, 2000, “Open Source Computer Vision Library”, Intel Corporation.

[5] Mahtarami, A., Hariadi, M., 2010, “Tracking Gerak Tangan Berbasis Pyramidal Lucas-Kanade”, Tesis, Jurusan Teknik Elektro, Fakultas Teknologi Industri, ITS.

[6] Mark S., Jasmin B., 2006. “C GUI Programming with Qt 4, Second Edition (c)”, Prentice Hall.