Pap Per

download Pap Per

of 6

Transcript of Pap Per

IMPLEMENTASI HANDTRACKING PADA KONTROL MOUSE POINTER MENGGUNAKAN ALGORITMA PYRAMIDAL LUCAS-KANADE

Hendri Karisma Jurusan Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, UNIKOM Bandung

Email : [email protected] AbstrakBerbagai teknik dialog interaktif yang memungkinkan terjadinya komunikasi antar manusia dengan komputer pada dewasa ini cukup bervariasi, salah satunya adalah teknik interaksi yang bersifat alami. Teknik interaksi yang bersifat alami merupakan kemampuan untuk merasakan interaksi pengguna tanpa keterlibatan fisik secara langsung dengan sistem komputer atau perangkat masukan. Teknik interaksi berbasis visi komputer merupakan teknik interaksi yang bersifat alami dimana tidak membutuhkan kontak langsung pengguna dengan peralatan input. Input dalam berinteraksi dilakukan dengan menggunakan video camera. Input secara visual dapat memberikan kemampuan penginderaan pada komputer sebagaimana manusia melakukan penginderaan menggunakan mata. Salah satu gerak alami yang dapat dijadikan alat untuk berkomunikasi adalah gerakan tangan atau gesture tangan. Dalam paper ini dilakukan implementasi hand tracking sebagai teknik interaksi yang bersifat alami untuk mengendalikan mouse pointer dengan menggunakan lagoritma lucas-kanade untuk mendeteksi pergerakan atau pergeseran dari suatu pixel suatu objek dalam video real-time dengan alat input webcam. Dengan tangan sebagai pengendali dengan menggunakan teknik pendeteksi warna teknik dan metode covexhull dan convexity defect untuk melakukan komputasi guna mendapat jumlah jari dari tangan yang menjadi interaksi untuk event klik kanan dan kiri. Key Word: Hand Tracking, Lucas-Kanade, Convexity-defect

1. PendahuluanTeknik interaksi berbasis visi komputer merupakan teknik interaksi yang bersifat alami dimana tidak membutuhkan kontak langsung pengguna dengan peralatan input. Input secara visual dapat memberikan kemampuan penginderaan pada komputer sebagaimana manusia melakukan penginderaan menggunakan mata. Interaksi antar manusia secara alami tidak membutuhkan mouse atau keyboard, melainkan diantaranya menggunakan tangan, mata, dan telinga untuk mendapatkan informasi dari lingkungan.[1] 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 HCI (Human Computer Interaction). Computer Vision merupakan pengolahan citra yang dikaitkan dengan akusisi citra, pemrosesan, klasifikasi, pengakuan, dan pencakupan keseluruhan pengambilan keputusan diikuti dengan pengidentifikasian citra. Salah satu teknik computer vision adalah tracking and motion, dimana ketika memiliki resource video dan teradapat suatu objek yang ingin di ikuti pada bidang visual tertentu. Hand Tracking merupakan salah satu implementasi teknik tracking and motion, dimana tracking dilakukan pada objek tangan manusia, dalam hal ini sumber video merupakan video yang dihasilkan oleh webcam yang real-time menampilkan objek visual

berupa tangan dari seorang individu atau seorang pengguna. Dalam implementasi hand tracking terdapat penggunaan metode tertentu yang menjadi dasar atau merupakan inti dari hand tracking yang merupakan teknik tracking and motion, salah satunya yaitu algoritma Phyramidal Lucas-Kanade. Penyelesaian algoritma Lucas-Kanade dengan pendekatan piramida, atau disebut Pyramidal LucasKanade diajukan pertama kali oleh JeanYves Bouguet [2] .Pendekatan ini menggunakan prinsip piramida, yaitu bekerja dari detail citra paling rendah hingga detail citra paling tinggi. Ini dikarenakan ketika menggunakan algoritma Lucas-Kanade dan mendapatkan celah atau aperture berukuran kecil tidak cukup untuk menentukan dengan tepat bagaimana suatu objek bergerak, jika gerakan yang terjadi adalah gerakan yang koheren pada window yang besar masalah ini dapat dipecahkan. Namun seringkali gerakan yang ditangkapa adalah gerakan yang tidak koheren sehingga gerakan yang koheren tersebut tidak terdeteksi. Untuk menghindari masalah ini, kita dapat melacak pertama atas skala spasial yang lebih besar menggunakan gambar piramida dan kemudian memperbaiki asumsi gerak kecepatan awal dengan bekerja ke tingkat bawah piramida citra sampai tiba di piksel gambar mentah(raw image). Algoritma Pyramidal LucasKanade menyelesaikan permasalahan tersebut tanpa menghilangkan asumsi gerakan yang koheren. Berdasarkan paparan diatas dalam penelitian ini dilakukan implementasi hand tracking menggunakan algoritma phyramidal lucaskanade dengan membangun sistem pengontrol pointer mouse pada komputer dengan menggunakan gerakan tangan dari pengguna, dan penelitian ini pun merupakan salah satu implementasi teknologi interaksi berbasis visi komputer yang bersifat alami. Pergerakan tangan mouse akan disesuaikan dengan pergerakan tangan yang di inputkan pada webcam secara real-time dan kontrol klik kanan dan klik kiri disesuaikan dengan posisi dari telapak tangan. Adapun rumusan masalah yang dirumuskan dalam satu rumusan masalah yaitu bagaimana mengimplementasikan hand tracking dengan

algoritma phyramidal lucas-kanade untuk mengidentifikasi pergerakan tangan dari suatu citra dan mesingkronisasikan nilai pergeseran atau kordinat tangan secara real-time tersebut untuk mengendalikan atau mengontrol mousepointer komputer. Maksud dari dilakukan penelitian ini adalah untuk membangun sistem pengontrol mouse komputer dengan menggunakan gerakan tangan manusia dengan mengimplementasikan teknik hand tracking menggunakan algoritma phyramidal lucas-kanade. Tujuan dilakukannya penelitian ini adalah menerapkan teknik hand tracking dengan menggunakan algoritma phyramidal lucaskanade pada kontrol pointer mouse komputer untuk membantu manusia dalam berinteraksi dengan komputer dengan berbasis visi komputer yang bersifat alami untuk melakukan kontrol mouse pointer komputer dengan menggunakan pergerakan alami dari tangan kanan.

2. MODEL, ANALISA, DESAIN, DAN IMPLEMENTASIBagian ini menjelaskan bagaimana penelitian dilakukan, serta dilengkapi dengan uraian tentang bahan, model, kebutuhan, dan tatalaksana yang digunakan dalam melakukan analisa, perancangan dan implementasi dari penelitian. Uraian dapat diperjelas menggunakan gambar, skema, grafik atau tabel. Dalam penelitian ini dilakukan dengan menggunakan UML (Unified Modeling language) versi 2.0, sehingga dalam implementasinya digunakan paradigma pemrograman berbasis objek. Dalam analisis perancangan yang dimodelkan dalam use case dapat dilihat pada gambar 1.

Gambar 2 ConvexHull dan Convexity Defect Tangan Gambar 1 Use case sistem yang dibangun dalam penelitian

Metode yang digunakan sebelum dilakukan metode pyramidal lucas kanade yaitu pyramidal lucas-kanade, convexhull dan convexity defects.

Convexitydefects terlihat merupakan garis yang tepat mengelilingi tangan dan merupakan shape atau bentuk yang minimalis, sedangkan garis kontur gelap adalah convex hull sekitar tangan.

2.2. Algoritma Lucas-Kanade 2.1. Convexhull Defect dan ConvexityMetode convexhull biasa digunakan sebelum menggunakan convexity defext, karena convexhull berfungsi untuk menemukan bentuk contour dan mendapatkan bentuk Setelah mendapatkan bentuk shape dari convexhull maka dapat ditentukan titik tengah dari shape tersebut. Titik tengah tersebut menjadi acuan untuk melakukan pencarian pergerakan titik piksel tersebut dengan menggunakan metode pyramidal lucas kanade.

boundary dari tangan dengan batasbatas minimal. Convexity Defect berfungsisebagai suatu metode untuk mendapatkan kontur yang berkarakter kuat dan pasti pada suatu objek misalkan tangan. sedangkan convex hull biasa dipakai untuk mendapatkan kontur besar yang mengelilingi suatu objek. 1 Sedangkan untuk mendapatkan titik point-pont defect menggunakan convexity defects. Berikut adalah persamaan yang dipakai dalam opencv sesuai dengan advances visual computing 5th symposium: (||| |

Gambar 3 Pyramidal Lucas Kanade

) 2

Dimana v1,v2 adalah masing-masing vektor antara awal dan titik akhir pertama dan kedua convexity defects. Jika angle lebih rendah dari threshold terkecil,makav1 dan v2 dari persamaan convexity defects tersebut dianggap sebagai kandidat yang mungkin untuk penyempitan (menjadi titik baru), selain itumaka convexity defects tidak dapat dipakai

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. Berdasarkan makalah yang diajukan oleh Bouquet (Bouquet, 2000), algoritma Pyramidal Lucas-Kanade dapat dijelaskan sebagai berikut: 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 gray scale dari dua citra pada lokasi x = [x;y]T, dengan x dan y merupakan koordinat dua pixel dari point citra generik x. Citra I akan ireferensikan 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

Gambar 5 Contoh Hasil Segmentasi Warna

2.3. Analisis Dan RancanganPada tahap deteksi tangan dengan metode convex hull dan convexity defects terdapat proses-proses tertentu dalam implementasi metode tersebut, diantaranya metode convex hull memerlukan citra 1 bit dan merupakan contour hasil segmentasi warna kulit. Pembuatan citra hasil threshold dilakukan dengan melakukan segmentasi dengan nilai maximum dan minimum warna kulit dengan format warna YCrCb.

Gambar 6 Contoh Hasil Pencarian Contour

Setelah mendapatkan contour dari tangan maka selanjutnya dilakukan pendeteksian hull dan defects dari contour yang sudah didapat dengan metode convex hull untuk mendeteksi bidang tangan dan convexity defects yang nantinya titik hasil dari convexity defects digunakan untuk komputasi menghitung jari.

Gambar 4 Contoh Penggunaan Format Warna YCrCb

Setelah proses segmentasi barulah dapat dilakukan proses pencarian contour dengan menggunakan dan mencari kontur terbesar atau biggest contour. Citra yang diproses merupakan citra hasil segmentasi range warna kulit berformat YCrCb.

Gambar 7 Implementasi 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. Disini algoritma pyramidal lucas kanade digunakan.

kemungkinan akan terjadi kesalahan pendeteksian karena adanya nilai warna yang sama dalam ukuran yang besar. Gambar 10 merupakan GUI yang dibangun menggunakan QT framework untuk sistem.

Gambar 8 Contoh Penggunaan Pyramidal Lucas Kanade

Sebelum mengimplementasikan pyramidal lucas kanade maka perlu dilakukan corner finding. Corner finding adalah teknik yang dipakai untuk melakukan pencarian terhadap setiap sisidari suatu citra dan mencari sudut yang baik untuk dapat dipakai sebagai acuan untuk melakukan tracking terhadap corner tersebut pada setiap frame. Yang dibutuhkan pyramidal lucas-kanade adalah dua 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 memulai tracking objek tangan, setelah itu lakukan proses komputasi dengan metode lucas-kanade dan mendapatkan nilai kordinat posisi terakhir tangan dan melakukan singkronisasi dengan posisi pointer mouse. Gambar 9 adalah alur proses yang terjadi pada sistem yang dibangun dalam penelitian ini.

Gambar 10 Kondisi Awal Sistem

Berikut beberapa kondisi frame yang di ambil dan dikanakan metode convexhull dan convexity defect dan algoritma lucas-kanade.

Gambar 11 Kondisi ketika Jari Tangan Berjumlah 5

Gambar 9 Alur Proses pada Sistem yang dibangun

Gambar 12 Kondisi ketika Jari Tangan Berjumlah 3

3. DAN DISKUSIinput dari sistem yang di bangun yaitu berupa citra tangan manusia atau anggota tubuh manusia dengan. Pendeteksian yang dilakukan adalah dengan menggunakan warna kulit sehingga apabila ada persilangan posisi antara kulit bagian tubuh satu dengan yang lainnya,

dengan pemanfaatan titik-titik defect yang dihasilkan oleh metode convexity defect. Cahaya menjadi salah satu factor yang mempengaruhi kualitas hasil dari proses yang terjadi didalam sistem. Semakin baik pencahayaanya (cahaya membelakangi kamera) maka proses komputasi pendeteksian tangan menghasilkan contour yang baik.

Gambar 13 Kondisi ketika Jari Tangan Berjumlah 1

5. Daftar Pustaka[1] A. Mahtarami, Hariadi, Moch, "Tracking Gerak Tangan Berbasis Pyramidal LucasKanade," 2010. [2] J.-Y. Bouguet, "Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the algorithm," 2000. [3] J. Blanchete, C GUI Programming with Qt 4 vol. Second: Prentice Hall PTR, 2006. [4] G. Bradski, Kehler, Adrian, Learning OpenCV First ed. New Yourk: O'Relly, 2008. [5] Fadlisyah, Computer Vision dan Pengolahan Citra: Andi, 2007. [6] Intel, Open Source Computer Vision Library. U.S.A: Intel Corporation, 19992001. [7] Munawar, Pemodelan UML: Andi, 2005. [8] K. H. Russ Miles, Learning UML vol. I. California: O'Reilly & Associates, Inc, 2006. [9] Wikipedia. (2011, 1 Feb). Lucas Kanade Optical Flow Methode. Available: http://en.wikipedia.org/wiki/Lucas%E2% 80%93Kanade_Optical_Flow_Method# Weighted_window [10] WillRage, OpenCV Reference Manual: OpenCV, 2010.

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

Gambar 14 Tampilan Form Histogram dari Citra yang Lihat

4. KesimpulanDari hasil penelitian yang telah dialakukan dapat terlihat penggunaan algoritma pyramidal lucas-kanade untuk mendeteksi motion dari objek tangan dengan memanfaatkan perbedaan warna kulit dengan format YCrCb dalam penelitian ini, bekerja cukup baik dalam prosesnya. Algoritma Lucas Kanade bekerja sesuai dengan yang diharapakan dapat mendeteksi pergerakan titik suatu pixel dengan cepat, namun kelemahan terjadi pada pemanfaatan warna range kulit dalam format YCrCb karena kemungkinan akan terjadi ketidakstabilan ketika proses tracking dengan menggunakan convex hull dan convexity defext karena kontur yang diciptakan hanya berdasarkan perbedaan warna kulit. Sehingga ketika terjadi dua objek dengan warna yang hamper sama dengan kulit berpapasan makan kedua objek tersebut akan membentuk satu objek yang dideteksi sebagai tangan dengan ukutan bidang yang cukup luas. Namun pendeteksian dan proses perhitungan jumlah jari dari objek tangan terjadi cukup cepat