BAB II
KAJIAN PUSTAKA
2.1 Pengenalan Gerakan Kepala dengan Kamera
Tujuan dari penelitian ini adalah mengembangkan kursi roda otomatis yang telah ada sekarang dengan menambahkan sistem pengenalan gerakan kepala sebagai kontrol navigasi dari kursi roda tersebut. Untuk itu diperlukan perangkat yang mampu menangkap gerakan kepala. Salah satu perangkat yang biasanya digunakan untuk pengenalan atau identifikasi gerakan adalah kamera. Pada penggunaannya kamera akan menangkap citra digital dan kemudian citra ini diolah untuk menentukan gerak tersebut.
Salah satu penelitian yang membahas pengenalan pergerakan kepala dengan menggunakan kamera pernah dilakukan oleh Dwi Afiat Abrianto (2012), pada rancangannya mengenai “Kontrol Kursi Roda Cerdas menggunakan Pergerakan Kepala”. Pada penelitian ini digunakan konsep bahwa gerakan merupakan hasil dari perubahan posisi. Pada penelitian ini digunakan perubahan posisi mata sebagai representasi kepala. Mata dideteksi menggunakan metode Haar-Like Feature. Namun dalam penelitian ini, tidak dilakukan perhitungan untuk
mencari perubahan posisi sebagai penentu gerak melainkan hanya berdasarkan letak posisi mata pada frame citra pada suatu waktu. Pada frame ditentukan area-area sebagai representasi gerak tersebut. Posisi awal mata digunakan sebagai acuan atau titik pusat untuk menentukan area-area yang digunakan untuk menentukan gerak kepala.
Gambar 2. 1 Penentuan kontrol kursi roda otomatis berdasarkan posisi mata Sumber: “Kontrol Kursi Roda Cerdas Menggunakan Pergerakan Kepala” oleh
Dwi Afiat Abrianto, Skripsi, Universitas Diponegoro, 2012
Dari penelitian ini hasil penentuan gerak digunakan untuk navigasi kursi roda. Apabila mata terdeteksi berada pada area Right maka dianggap menoleh ke kanan, apabila berada pada area left maka menoleh ke kiri, apabila berada pada area forward maka dianggap menunduk dan apabila berada diarea backward maka dianggap menengadah. Dengan menggunakan teknik ini, gerak kepala telah mampu namun dengan sudut orientasi maksimal sebesar 30O. Hal ini disebabkan apabila gerak melebihi sudut tersebut maka sudah tidak terdeteksi. Kelemahan dengan menggunakan teknik adalah ketidakmampuan sistem mendeteksi mata pada cahaya redup. Kelemahan lain adalah diperlukan kalibrasi untuk menentukan posisi awal. Hal ini akan sulit dilakukan pada sistem yang tidak memiliki interface.
Penelitian lain juga menggunakan konsep yang mirip dengan yang dilakukan Dwi Afiat Abrianto (2012) yaitu dengan menggunakan Face Orientation Recognition dengan menggunakan metode Haar-like Feature. Pada teknik ini
ditentukan berdasarkan jarak antar kedua mata, jarak antara hidung, mulut dan mata hasil dari proses ekstrasi fitur wajah. Dari nilai jarak tersebut dikalkulasikan untuk menentukan perubahan orientasi dengan didasarkan 2 nilai, yaitu nilai xnorm untuk orientasi horizontal dan ynorm untuk orientasi vertikal. Berdasarkan nilai ini ditentukan orientasi wajah dengan menggunakan konsep apabila nilai xnorm positif maka dinyatakan menoleh ke kiri, apabila negatif maka menoleh ke kanan, serta apabila nilai ynorm positif maka dinyatakan sebagai menengadah dan jika negatif maka dinyatakan sebagai menunduk. Dengan metode ini didapatkan tingkat kesuksesan sebesar 90,53% . Kelemahan metode ini adalah proses yang cukup panjang dan memakan waktu serta sudut orientasi yang terbatas akibat perlu terdeteksinya kepala, mata dan hidung secara utuh. Apabila sudut orientasi terlalu besar saat melakukan gerakan maka salah satu fitur wajah tersebut tidak terdeteksi. (Chnalit Noiruxsar and Pranchalee Samanpiboon,2014)
Selain metode di atas, metode lain yang dapat digunakan untuk melakukan pengenalan gerakan kepala adalah Optical Flow. Optical Flow didefinisikan sebagai suatu nilai yang menunjukkan perpindahan akibat adanya perubahan pola nilai brightness citra pada dua buah bidang citra yang mengasumsikan bahwa terdapat nilai brightness yang konstan dari waktu ke waktu. Perhitungan Optical Flow didasarkan pada 2 asumsi, yaitu brightness dari setiap titik tidak berubah
terhadap waktu dan titik-titik yang berdekatan pada bidang citra bergerak atau berpindah ke arah yang sama dan perpindahannya tidak terlalu jauh. Dengan Optical Flow diharapkan dapat menentukan kecepatan (besar dan arah) setiap pixel
pada citra sekarang yang relatif terhadap citra sebelumnya (Jangkung Raharjo dkk ,2012).
Optical Flow merupakan metode yang sering digunakan untuk melakukan
motion detection karena output dari metode ini berupa vektor perubahan nilai pixel
yang merepresentasikan adanya gerak dan vektor terdiri atas 2 vektor yang merepresentasikan perpindahan pada sumbu x dan y. Nilai ini yang dapat digunakan untuk menentukan besar arah dan perpindahan suatu objek dalam citra. Penelitian mengenai pengenalan gerakan kepala dengan Optical Flow telah dilakukan pada tahun 2012 oleh Paramitha Saikia dan Karen Das dengan menambah metode Gaussian Mixture Model (GMM) untuk substraksi background. Dari penelitian
tersebut gerakan kepala ditentukan oleh 2 vektor hasil kalkulasi optical flow (u untuk sumbu x dan v untuk sumbu y). Dari penelitian tersebut didapat hasil sebagai berikut.
Tabel 2.1 Penentuan Gerakan berdasarkan Vektor Optical Flow
Sumber: “Head Gestuer Recognition using Optical Flow based Classification with Reinforcement of GMM based Background Subtraction” oleh Paramitha Saikia dan Karen Das, Jurnal,2013
Tingkat keberhasilan yang dicapai dengan metode tersebut adalah 92,5% dan namun terdapat noise berupa gerakan – gerakan yang tidak disengaja.
Nilai sx Nilai sy Gerakan
+ve -ve Menunduk
-ve -ve Menoleh ke kiri +ve +ve Menoleh ke kanan
Penelitian lainnya dengan metode yang sama dilakukan oleh Sutijha Martin dkk. (2012) yang bertajuk Optical Flow based Head Movement and Gesture Analysis in Automotive Environtment. Pada penelitian ini gerakan kepala ditentukan
dalam 2 fase yaitu fixation (tidak bergerak) dan move (bergerak). Berikut ilustrasi dari fase tersebut.
Gambar 2. 2 Ilustrasi gerakan kepala terhadap kondisi
Sumber: “Optical flow based Gead Movement and Gesture Analysis in Automotive Environtment” oleh Sujitha Martin,dkk, Jurnal,2012
Gambar 2. 3 Ilustrasi perubahan kondisi gerakan kepala
Sumber: “Optical flow based Gead Movement and Gesture Analysis in Automotive Environtment” oleh Sujitha Martin,dkk,Jurnal,2012
Setiap fase tersebut ditentukan oleh vektor optical flow. Vektor u digunakan untuk menentukan kondisi FxL, FxR, MR,dan ML dan vektor v digunakan untuk
menentukan FxU,FxD,MU dan MD. Setiap fase ditentukan melalui proses thresholding. Nilai yang di-threshold adalah perubahan vektor tersebut terhadap
waktu.
Gambar 2. 4 Hasil optical flow terhadap gerakan kepala Sumber: “Optical flow based Gead Movement and Gesture Analysis in
Automotive Environtment” oleh Sujitha Martin,dkk,Jurnal,2012
Dengan teknik ini didapatkan kesuksesan sebesar 97,4% pada uji coba laboratorium. Metode ini belum pernah diuji untuk kontrol kursi roda atau objek bergerak lainnya. Hasil penelitian berupa interface komputer/PC tidak dalam bentuk implementasi pada perangkat keras. Keunggulan dari penggunaan optical flow adalah tidak adanya batas sudut orientasi terhadap gerak kepala karena tidak
adanya proses pendeteksian fitur wajah. Gerak dapat diamati dari nilai-nilai vektor yang didapat dari kalkulasi.Oleh sebab itu pada penelitian ini digunakan optical flow dan salah satu tujuan untuk melihat bagaimana implentasi metode ini pada
Penentuan Optical Flow antara 2 citra dapat didapat dengan menurunakan persamaan optical flow constraint. Persamaan tersebut dinyatakan sebagai berikut.
0
dI
dt
... (2.1)Persamaan tersebut kemudian diturunkan menjadi sebuah persaman yang menghubungkan perubahan brightness pada suatu titik dengan pergerakan pola brightness. Tingkat brightness citra pada titik (x,y) dinotasikan sebagai I x y t( , , ). Brightness pada titik tertentu pada suatu pola adalah konstan, sehingga
Dengan aturan rantai diferensiasi didapatkan,
0 I dx I dy I x dt y dt t
... (2.2) Dengan memisalkan u dx dt dan v dy dt , maka didapatkan persamaan seperti
berikut.
0
x y t
I u I v I
... (2.3) Dimana:I u I v I
x,
y,
t = turunan brightness citra dalam bidang spatiotemporalu
= optical flow horizontalDalam hal ini
I
x,I
y danI
t masing-masing adalah turunan parsial dari tingkat brightness terhadapx
, y dant
. Tujuan dari perhitungan ini adalah menentukan nilaiu
danv
yang merupakan kecepatan-kecepatan pergeseran pixel dan arahx
dan y . Namun nilaiI
x,I
y danI
t juga perlu diestimasi. Estimasi nilai tersebut ditentukan dari set diskrit brightness citra. Salah satu hal penting dalam proses ini adalah nilai estimasiI
x,I
y danI
tharus konsisten. Nilai tersebut harus menunjukkan titik yang sama pada suatu waktu. Ada berbagai macam formula untuk memperkirakan turunan, namun dengan metode ini, digunakan pendekatan terhadap kubus dengan delapan pengukuran untuk mengestimasi nilaiI
x,I
y danI
t. Setiap nilai estimasi merupakan nilai rata-rata dari empat yang paling memiliki perbedaan terkecil yang didapat dari sekitar pixel tersebut
, 1, , , 1, 1, 1, , , 1, 1 , , 1 1, 1, 1 1, , 1
1 4 x i j k i j k i j k i j k i j k i j k i j k i j k I I I I I I I I I (2.4)
1, , , , 1, 1, 1, , , 1, 1 , 1, 1, 1, 1 1, 1,
1 4 t i j k i j k i j k i j k i j k i j k i j k i j k I I I I I I I I I ... (2.5)
1, , , , 1, 1, , 1, 1, , 1 , , 1 1, 1, 1 , 1, 1
1 4 y i j k i j k i j k i j k i j k i j k i j k i j k I I I I I I I I I ... (2.6)Gambar 2. 5 Ilustrasi estimasi 3 turunan parsial pada sebuah kubus Sumber: “Determining Optical flow” Oleh Horn dan Schunck, Jurnal,1981
Dalam hal ini indeks j menyatakan arah
x
(kolom), indeks i menyatakan y (baris) sedangkan k menyatakan arah waktu. Pada kenyataanya k menunjukkan sekuens dari citra, dimana indeks k menyatakan citra saat ini, dan indeks k 1 menyatakan citra sebelumnya. Satuan panjang yang ditentukan disini merupakan grid interval jarak pada setiap frame citra dan satuan waktu adalah periode sampling frame citra.Terdapat 2 metode yang paling umum digunakan untuk melakukan estimasi optical flow, yaitu metode Schunck dan metode Lucas Kanade.
Horn-Schunck menggunakan estimasi secara global, sedangkan Lucas-Kanade menggunakan informasi sekitar/lokal untuk menentukan estimasi.
Dalam menentukan estimasi dengan Horn-Schunck, digunakan persamaan berikut. 1 2 2 2 : n n x y t n n x x y I u I v I u u I I I ... (2.7)
1 2 2 2 : n n x y t n n y x y I u I v I v v I I I ... (2.8)
Metode Horn-Schunck diperlukan iterasi untuk menentukan estimasi yang akurat. Iterasi akan berhenti ketika telah mencapai tingkat error yang diinginkan dan mengikuti perhitungan berikut.
2
2 1 1 2 , , , , , 1 n n n n i j i j i j i j i j u u v v i j
... (2.9)Dimana: i j, =ukuran frame citra
Berbeda dengan metode sebelumnya, estimasi dengan Lucas-Kanade yang menggunakan nilai pixel yang berada dalam daerah/lingkungan/neighborhood/ window sekitar dari suatu titik yang diuji yang digunakan sebagai referensi
penentuan optical flow. Pada metode ini diasumsikan bahwa flow pada suatu neighborhood adalah konstan, dan penentuan optical flow dilakukan dengan
menerapkan persamaan dasar optical flow untuk setiap pixel pada neighborhood tersebut. Persamaa optical flow Lucas Kanade dinyatakan sebagai berikut.
1 1 1 2 2 2 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) x y t x y t x n y n t n I q u I q v I q I q u I q v I q I q u I q v I q ... (2.10)
Dimana :q q1, 2, ,qn merupakan pixel dalam window
( ), ( ), ( )
x i y i y i
I q I q I q merupakan turunan parsial citra terhadap x, y dan
Untuk dapat menetukan nilai u dan v, persamaa diatas dapat dinyatakan dalam bentuk matriks Avb,dimana:
1 1 2 2 ( ) ( ) ( ) ( ) ( ) ( ) y x y x y n x n I q I q I q I q A I q I q , v u v , 1 ( ) ( ) ( ) t t n t n I q I q b I q
Bentuk matriks ini dapat diselesaikan dengan operasi sebagai berikut.
1 ( ) T T T T A Av A b v A A A b
Dengan menggunakan konsep tersebut maka nilai u dan v dapat dihitung dengan
1 2 2 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) x i t i x i x i y i i i i y i t i y i x i y i i i i I q I q I q I q I q u v I q I q I q I q I q
... (2.11)Pada penelitian ini digunakan metode Lucas-Kanade. Alasan penggunaan metode ini adalah metode ini lebih ringan dalam hal komputasi dibanding Horn Schunck. Optical flow memerlukan 2 frame dalam setiap prosesnya, sehingga data yang diolah menjadi 2 kali data pada pengolahan citra digital pada umumnya. Apabila digunakan metode Horn-Schunck dan diperlukan beberapa iterasi dalam menentukan nilai optical flow maka akan memakan waktu yang cukup banyak yang dapat mengakibatkan lagging pada komputer dengan resource rendah.
2.2 Segmentasi Objek Kepala
Proses segmentasi merupakan proses pemisahan objek berdasarkan warna tertentu terhadap lingkungannya. Pada penelitian ini proses segmentasi bertujuan memisahkan objek kepala sehingga hanya citra dengan objek kepalalah yang akan diproses dengan kalkulasi optical flow. Pada proses ini digunakan warna kulit sebagai acuannya.
Citra hasil tangkapan kamera dinyatakan dalam bidang warna RGB. Untuk melakukan segmentasi dengan bidang warna ini cukup sulit mengingat diperlukan thresholding pada ketiga nilai tersebut sebab setiap warna yang dihasilkan
merupakan hasil kombinasi dari nilai R (merah), G(hijau) dan B (Biru).
Oleh sebab itu, dalam proses segmentasi diperlukan konversi terhadap bidang warna lainnya yang dalam proses segmentasinya lebih sederhana dan lebih baik dari RGB. Terdapat 2 bidang warna yang biasanya digunakan dalam segmentasi warna kulit, yaitu HSV dan YCrCb.
2.2.1. HSV
Pada bidang warna HSV, suatu warna ditentukan oleh 2 yaitu Hue yang menentukan warna, dan Saturasi & Value yang menentukan terang gelap warna tersebut. Pada segmentasi HSV, segmentasi warna dapat ditentukan dengan thresholding pada nilai Hue saja. Proses Konversi RGB menjadi Hue didapat dari
perhitungan berikut. 2 1 (2 ) 2 arccos ( ) ( )( ) R G B H R G R B G B ... (2.12) max( , , ) min( , , )R G B R G B S ... (2.13)
max( , , )
V R G B ... (2.14)
2.2.2. YCrCb
Salah satu mengapa jarang digunakannya RGB dalam segmentasi adalah RGB tidak memberikan informasi luminance secara akurat. Salah satu bidang warna yang berbasis luminance adalah YCrCb, dimana Y merupakan nilai luminance dan Cr dan Cr merupakan komponen penentu warna. Cr merupakan
komponen informasi warna merah dan Cb merupakan komponen informasi warna biru. Konversi RGB menjadi YCrCb dinyatakan dengan perhitungan sebagai berikut. 0 0.299 0.587 0.114 128 0.169 0.331 0.500 128 0.500 0.419 0.081 Y R Cr G Cb B ... (2.15)
K.B.Shaik dkk. (2015), telah melakukan penelitian untuk membedakan kedua bidang warna dalam segmentasi warna kulit. Dari penelitian tersebut didapat hasil bahwa YCrCb lebih baik dalam melakukan segmentasi pada citra dengan warna bervartiasi terutama pada citra dengan banyak fluktuasi nilai informasi warna dibanding HSV. YCrCb juga menunjukkan hasil yang lebih baik dalam keaadaan pencahayaan tidak merata. Proses konversi RGB menjadi HSV juga memakan waktu yang lebih lama dibanding YCrCb karena terdapat proses konversi nilai kartesian menjadi polar. Berdasarkan hal tersebut pada penelitian ini digunakan YCrCb.
(a)
(b)
Gambar 2. 6 Perbandingan hasil segmentasi HSV dan YCrCb (a) HSV (b) YCrCb
Sumber: “Comparative Study of Skin Color Detection and Segmentation in HSV and YCbCr Color Space” oleh Khamar Basha Shaik, dkk, Jurnal,2015
Pada penelitian tersebut pada segmentasi HSV digunakan thresholding berdasarkan histogram, sedangkan pada segmentasi YCrCb digunakan nilai threshold 150<Cr<200 dan 100<Cb<150. Penelitian lain mengenai segmentasi
YCrCb oleh Pallabi Sakia(2012) yang dari penelitian ini disimpulkan warna kulit pada bidang warna ini dinyatakan dalam nilai 77<Cb<127 dan 133<Cr<173 dan didapatkan hasil sebagai berikut.
Gambar 2. 7 Hasil Segmentasi YCrCb
Sumber: “Face Detection using Skin Colour Model and distance between Eyes” oleh Pallabi Saikia, dkk, Jurnal,2012
2.3 Konsep Pergerakan Kursi Roda
Pada dasarnya kursi roda otomatis merupakan suatu bentuk implementasi mobile robot yang digunakan untuk membantu manusia. Mobile robot merupakan
robot yang dapat berpindah posisi baik secara otomatis atau dikendalikan oleh manusia. Pada penelitian sebelumnya mengenai kursi roda otomatis, baik oleh Roni Ardiweri (2014) maupun Dwi Afiat Abrianto (2012), pada rancangan kursi roda otomatis tersebut terdiri atas dua roda dengan masing-masing roda memiliki motor, yang dapat dikategorikan sebagai two wheeled robot. Pada pergerakannya, robot jenis ini menggunakan konsep differential drive untuk bermanuver. Konsep ini yang digunakan pada penelitian-penelitian sebelumnya untuk menentukan pergerakan kursi roda otomatis tersebut.
Dengan konsep differential drive, untuk menentukan arah gerak dari kursi two wheeled robot diperlukan koordinasi antar dua roda. Untuk pergerakan lurus
dengan bergerak ke depan didapatkan dengan mengatur kecepatan kedua roda pada kecepatan yang sama. Untuk pergerakan berbelok ke kanan maka kecepatan roda kiri diatur agar kecepatannya lebih tinggi dibanding roda kanan, hal sebaliknya
terjadi untuk berbelok ke kiri. Dengan konsep ini, kursi roda juga mampu berotasi dengan mengatur kecepatan roda kanan dan roda kiri memiliki kecepatan yang sama namun arah yang berlawanan. Untuk rotasi ke kanan, maka kecepatan roda kanan bernilai negatif dan kecepatan roda kiri bernilai positif, hal sebaliknya berlaku untuk rotasi ke kiri.
Gambar 2. 8 Arah gerak dan rotasi differential drive Sumber: “Embedded Robotics” oleh T. Braunl, 2008
Pada penelitian ini, konsep differential drive ini juga digunakan karena kesamaan konstruksi hardware. Secara matematis, konsep pergerakan kursi roda otomatis dengan differensial drive dinyatakan sebagai berikut dengan pengandaian kursi roda berada pada bidang kartesian seperti pada Gambar 2.2.
1 1 2 2 2 1 1 L R v r L L ... (2.16)
L = Jarak antar roda
r = jari-jari roda
L
= kecepatan sudut motor kiriR
= kecepatan sudut motor kananGambar 2. 9 Posisi dan Orientasi kursi roda dalam Sistem
Sumber: “Kontrol Kursi Roda Cerdas Menggunakan Pergerakan Kepala” oleh Dwi Afiat Abrianto,Skripsi,Universitas Diponegoro,2012
Dari persamaan tersebut dapat diamati bahwa, pergerakan kursi roda otomatis ditentukan oleh
R dan
L yang merupakan kecepatan sudut dari masing-masing roda. Dalam kursi roda otomatis yang akan dirancang, yang diperlukan adalah cara menentukan nilai kecepatan sudut kedua roda tersebut agar kursi roda otomatis dapat bergerak sesuai arah yang dinginkan dengan nilaiv
dan
yang ditentukan. Hal ini dikarenakan sistem yang dirancang menggunakan dua buahmotor yang berbeda untuk menggerakkan roda, sehingga yang dapat dikendalikan adalah besar kecepatan sudut pada kedua roda. Oleh karena itu diperlukan perhitungan inverse kinematic untuk menentukan besar
R dan
Lterhadap nilaiv
dan
yang diberikan. Berikut persamaan matematis dari inverse kinematika yang digunakan. 1 1 2 2 1 2 L R L v L r ... (2.17) 1 2 2 L L v r
... (2.18) 1 2 2 R L v r
... (2.19)Dimana:
v
= kecepatan linier
= kecepatan sudutL = Jarak antar roda
r = jari-jari roda
L
= kecepatan sudut motor kiriR