• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
21
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Computer Vision

Computer Vision merupakan salah satu cabang ilmu pengetahuan yang bertujuan untuk membuat suatu keputusan yang berguna mengenai objek fisik nyata dan keadaan berdasarkan sebuah gambar atau citra (Shapiro & Stockman, 2001). Computer vision merupakan kombinasi antara :

a. Pengolahan Citra

Pengolahan Citra (Image Processing) merupakan bidang yang berhubungan dengan proses perubahan pada citra agar mendapatkan kualitas citra yang lebih baik. b. Pengenalan Pola

Pengenalan Pola (Pattern Recognition) merupakan bidang yang berhubungan dengan proses identifikasi objek pada citra atau interpretasi citra, yang bertujuan untuk mengekstrak informasi yang disampaikan oleh citra.

2.2 Pengolahan Citra Digital

Pengolahan citra digital (digital image processing) adalah metode yang digunakan untuk memanipulasi citra digital sehingga menghasilkan kualitas citra yang lebih baik. Pengolahan citra digital berfokus pada dua tugas utama, yaitu peningkatan informasi bergambar untuk interpretasi manusia dan pengolahan data citra untuk penyimpanan, transmisi dan representasi untuk persepsi mesin otonom (Annadurai & Shanmugalakshmi, 2007).

2.2.1 Resizing

Resizing merupakan proses pengubahan ukuran citra, baik memperbesar ataupun memperkecil resolusi citra (Pratt, 2007). Proses ini sering dilakukan pada pengolahan citra untuk menormalisasi ukuran citra digital yang akan diproses sehingga memiliki

(2)

ukuran yang sama dan mempercepat proses pengolahan citra ketika ukuran citra diperkecil.

2.2.2 Color Space Conversion

Konversi ruang warna (color space conversion) adalah proses pengubahan suatu ruang warna ke ruang warna lainnya dengan tranformasi matematis. Konversi ruang warna digunakan untuk mendapatkan channel warna yang mengandung informasi tertentu dalam suatu citra.

2.2.2.1 RGB to Grayscale Conversion

Salah satu proses konversi ruang warna yang paling sering dilakukan adalah grayscaling, yaitu proses pengubahan citra warna yang memiliki ruang warna RGB menjadi citra keabuan. Proses ini mengubah 3 channel red, green dan blue menjadi 1 channel gray (keabuan) dengan transformasi matematis seperti persamaan 2.1 (Bradski & Kaehler, 2008).

= 0.299. + 0.587. + 0.114.

Dimana : Y = citra hasil konversi RGB menjadi Grayscale R = nilai red channel pada piksel

G = nilai green channel pada piksel B = nilai blue channel pada piksel

2.2.2.2 Normalized RGB

Normalized RGB sering disebut dengan warna murni. Proses normalisasi RGB merupakan proses pengubahan nilai RGB dalam range 0 sampai 1 yang dibentuk secara independen dari berbagai tingkat pencahayaan. Jumlah dari nilai red, green dan blue channel yang telah dinormalisasi adalah 1. Ketiga channel yang telah dinormalisasi tersebut tidak memiliki informasi yang signifikan dan dapat diabaikan, sehingga dapat mengurangi dimensi ruang. Proses normalisasi RGB dilakukan dengan persamaan 2.2 sampai 2.4 (Ennehar, et al., 2010).

(3)

= + + = + + = + +

Dimana : R’ = nilai red channel yang telah dinormalisasi pada piksel G’ = nilai green channel yang telah dinormalisasi pada piksel B’ = nilai blue channel yang telah dinormalisasi pada piksel R = nilai red channel pada piksel

G = nilai green channel pada piksel B = nilai blue channel pada piksel

2.2.2.3 RGB to HSV Conversion

HSV (Hue, Saturation, Value) memiliki karakteristik utama dari warna tersebut, yaitu : 1. Hue, menyatakan warna yang sebenarnya, seperti merah, violet dan kuning, yang digunakan untuk menentukan kemerahan (redness), kehijauan (greeness) dan sebagainya.

2. Saturation, terkadang disebut chroma, mewakili tingkat intensitas warna.

3. Value, merupakan kecerahan dari warna. Nilainya berkisar antara 0-100%. Apabila nilainya 0 maka warnanya akan menjadi hitam. Semakin besar nilai value maka semakin cerah dan muncul variasi-variasi baru dari warna tersebut.

Citra yang tertangkap oleh kamera web memiliki warna RGB. Untuk mengurangi efek iluminasi pada sebuah citra, kita dapat mengkonversikan warna citra tersebut ke colour space yang lain. Pada penelitian sebelumnya, Zarit et al. pada tahun 1999 membandingkan performa colour space dan mendapatkan kesimpulan bahwa HSV colour space merupakan colour space terbaik untuk mendeteksi warna kulit. Adapun persamaan yang digunakan untuk mengkonversi warna RGB ke HSV yaitu seperti ditunjukkan pada persamaan 2.5 sampai 2.8 dibawah ini (diambil dari www.docs.opencv.org) :

(2.2)

(2.4) (2.3)

(4)

= max ( , , ) = ( , , ) , ≠ 0 0 = ⎩ ⎪ ⎪ ⎨ ⎪ ⎪ ⎧ 60( − ) − min( , , ) , = 2 + 60( − ) − min( , , ), = 4 + 60( − ) − min( , , ), = < 0, = + 360

Dimana : H = nilai hue channel pada piksel S = nilai saturation channel pada piksel V = nilai value channel pada piksel

R = nilai normalized red channel ada piksel G = nilai normalized green channel pada piksel B = nilai normalized blue channel pada piksel

2.2.2.4 RGB to YCbCr Conversion

YCbCr merupakan suatu ruang warna yang sering digunakan pada studio televisi eropa dan untuk kompresi citra. Ruang warna ini memiliki 3 (tiga) channel, yaitu :

1. Y, merupakan komponen single yang menyimpan informasi luminance

2. Cb, merupakan komponen yang menyimpan informasi chrominance dan merepresentasikan perbedaan antara komponen blue channel dan nilai referensi 3. Cr, merupakan komponen yang menyimpan informasi chrominance dan

merepresentasikan perbedaan antara komponen red channel dan nilai referensi Dalam pendeteksian warna kulit yang bervariasi dan memiliki sensitivitas untuk beberapa faktor seperti kondisi pencahayaan, karakteristik individu, etnis, karakteristik kamera, dan sebagainya, pemilihan ruang warna sangatlah berpengaruh. Pada penelitian sebelumnya, Premal & Vinsley pada tahun 2014 mendeteksi adanya kebakaran hutan menggunakan ruang warna YCbCr dan menyimpulkan bahwa ruang warna ini sangat

(2.7) (2.8) (2.6) (2.5)

(5)

baik mendeteksi warna walaupun dalam keadaan pencahayaan yang berubah-ubah, karena ruang warna ini memisahkan antara luminance dan chrominance.

Adapun persamaan yang digunakan untuk mengkonversi warna RGB ke YCbCr yaitu seperti ditunjukkan pada persamaan 2.9 sampai 2.11 dibawah ini (diambil dari www.docs.opencv.org) : = 0.299. + 0.587. + 0.114. = ( − ). 0.713 + = ( − ). 0.564 + dimana = 128, 8 − 32768, 16 − 0.5, floating − point Keterangan :

Y = nilai luminance channel pada piksel Cr = nilai chrominance red channel pada piksel Cb = nilai chrominance blue channel pada piksel R = nilai red channel pada piksel

G = nilai green channel pada piksel B = nilai blue channel pada piksel

2.2.3 Perbaikan Citra (Image Enhancement)

Tahap perbaikan citra dilakukan untuk meningkatkan kualitas citra agar lebih mudah diproses dan untuk menekankan karakteristik pada citra dengan cara memanipulasi parameter pada citra. Perbaikan citra memungkinkan informasi yang ingin ditampilkan atau diproses dari sebuah citra menjadi lebih baik dan jelas.

2.2.3.1 Erosion

Erosion atau erosi merupakan salah satu operasi morfologi citra yang menghitung nilai minimum lokal berdasarkan area kernel atau structuring element. Operasi morfologi citra merupakan teknik pengolahan citra yang didasari pada bentuk atau morfologi fitur (2.9) (2.10) (2.11)

(6)

sebuah citra. Kernel atau structuring element merupakan matriks berukuran m x n yang memiliki titik pusat.

Pada umumnya, proses erosi yang dilakukan pada sebuah citra menghasikan objek yang lebih kecil dan menghilangkan titik-titik objek menjadi bagian dari background berdasarkan kernel yang digunakan. Pada penelitian sebelumnya, Febriani, et al. pada tahun 2014 menggunakan proses erosi untuk menghilangkan objek lain diluar area optic disc dalam pengidentifikasian diabetic retinopathy melalui citra retina. Erosi dilakukan dengan persamaan 2.12 (Moeslund, 2012).

( , ) = ( , ) ⊖

Dimana : g(x,y) = citra hasil erosi dengan matriks x,y f(x,y) = citra asal dengan matriks x,y SE = Structuring Element atau kernel

Gambar 2.1. Erosion : Mengambil Nilai Minimum Daerah Kernel B (Bradski & Kaehler, 2008)

Gambar 2.1 menunjukkan bahwa proses erosi menghitung nilai minimum setiap piksel dari citra asal A yang berada di daerah kernel B dan menghasilkan gambar baru dengan cara menggantikan nilai titik pusat kernel dengan nilai minimum yang didapatkan. Perhitungan akan dilakukan pada setiap piksel citra asal A (Bradski & Kaehler, 2008).

(7)

2.2.3.2 Dilation

Dilation merupakan kebalikan dari proses erosi. Dilation atau dilasi merupakan salah satu operasi morfologi citra yang menghitung nilai maksimum lokal berdasarkan area kernel atau structuring element. Pada umumnya, proses dilasi yang dilakukan pada sebuah citra menghasikan objek yang lebih besar dan meleburkan titik-titik objek menjadi bagian dari objek berdasarkan kernel yang digunakan. Dilasi dilakukan dengan persamaan 2.13 dibawah ini (Moeslund, 2012).

( , ) = ( , ) ⊕

Dimana : g(x,y) = citra hasil erosi dengan matriks x,y f(x,y) = citra asal dengan matriks x,y SE = Structuring Element atau kernel

Gambar 2.2. Dilation : Mengambil Nilai Maximum Daerah Kernel B (Bradski & Kaehler, 2008)

Gambar 2.2 menunjukkan bahwa proses dilasi menghitung nilai maksimum setiap piksel dari citra asal A yang berada di daerah kernel B dan menghasilkan gambar baru dengan cara menggantikan nilai titik pusat kernel dengan nilai maksimum yang didapatkan. Perhitungan akan dilakukan pada setiap piksel citra asal A (Bradski & Kaehler, 2008).

(8)

2.2.3.3 Gaussian Blur

Blurring (pengaburan), sering juga disebut smoothing, merupakan pemerataan nilai piksel-piksel tetangga yang menghilangkan detail halus dari suatu citra. Pada penelitian ini, teknik blurring yang digunakan adalah Gaussian Blur. Gaussian Blur merupakan teknik pengaburan suatu citra menggunakan fungsi Gaussian, yang digunakan untuk mengurangi noise pada citra dan mengurangi detail (Nayakwadi & Pokale, 2014).

Gaussian blur telah banyak digunakan pada penelitian sebelumnya, seperti pada penelitian yang dilakukan oleh Zhaoxue, et al. pada tahun 2008 yang melakukan segmentasi bentuk hati secara otomatis pada CT (Computerized Tomography) Image berdasarkan Gaussian blurring pada citra biner. Dalam penelitian ini dapat disimpulkan bahwa Gaussian Blur cukup efisien sebagai langkah awal untuk digunakan perfusi hati berdasarkan citra CT abdomen.

Persamaan fungsi Gaussian untuk satu dimensi ditunjukkan pada persamaan 2.14.

( ) =

Maka untuk citra dua dimensi, persamaan fungsi Gaussian berubah menjadi seperti ditunjukkan pada persamaan 2.15.

( , ) =

Dimana : G(x) = citra hasil Gaussian Blur

2.2.4 Thresholding

Thresholding merupakan teknik binerisasi yang digunakan untuk mengubah citra keabuan menjadi citra biner. Thresholding dapat digunakan dalam proses segmentasi citra untuk mengidentifikasi dan memisahkan objek yang diinginkan dari background berdasarkan distribusi tingkat keabuan atau tekstur citra (Liao, et al.,

(2.14)

(9)

2001). Proses thresholding menggunakan nilai batas (threshold) untuk mengubah nilai piksel pada grayscale image menjadi hitam atau putih.

Teknik thresholding telah banyak dilakukan pada penelitian sebelumnya, seperti penelitian yang dilakukan oleh Du & Chang pada tahun 2002 yang melakukan proses thresholding pada video untuk mendeteksi teks. Pada penelitian ini disimpulkan bahwa teknik thresholding sudah umum digunakan untuk mendeteksi dokumen dan dapat mengatasi background yang kompleks pada citra keabuan. Adapun beberapa tipe thresholding yang dapat diimplementasikan pada sebuah citra keabuan, yaitu :

1. Threshold Binary

Pada jenis threshold ini, jika nilai piksel pada citra lebih besar dari nilai threshold, maka nilai piksel akan diganti dengan nilai maxval, sebaliknya jika nilai piksel citra keabuan lebih kecil dari threshold maka nilai piksel akan diganti dengan 0 (hitam). Operasi threshold binary dapat dilakukan dengan persamaan 2.16.

( , ) = , ( , ) > ℎ ℎ 0

Dimana : src(x,y) = citra keabuan yang akan diproses dst(x,y) = citra hasil threshold binary thresh = nilai threshold

maxVal = nilai maksimum yang akan digunakan

Proses threshold binary dapat diilustrasikan pada Gambar 2.3.

Gambar 2.3. Threshold Binary (diambil dari www.docs.opencv.org)

2. Threshold Binary Inverted

Jenis threshold ini adalah kebalikan dari threshold binary. Threshold binary inverted akan mengganti nilai piksel menjadi nilai 0 jika nilai piksel citra keabuan lebih kecil dari threshold, sebaliknya jika nilai piksel pada citra keabuan lebih besar

(10)

dari nilai threshold maka nilai piksel akan diganti dengan nilai maxval. Operasi threshold binary inverted dapat dilakukan dengan persamaan 2.17.

( , ) = 0, ( , ) > ℎ ℎ

Dimana : src(x,y) = citra keabuan yang akan diproses dst(x,y) = citra hasil threshold binary inverted thresh = nilai threshold

maxVal = nilai maksimum yang akan digunakan

Proses threshold binary inverted dapat diilustrasikan pada Gambar 2.4.

Gambar 2.4. Threshold Binary Inverted (diambil dari www.docs.opencv.org)

3. Threshold Truncate

Pada jenis threshold ini, nilai maksimum pada piksel adalah nilai threshold. Jika nilai piksel pada citra keabuan lebih besar, maka nilai tersebut akan dipotong. Operasi threshold truncate dapat dilakukan dengan persamaan 2.18.

( , ) = ℎ ℎ , ( , ) > ℎ ℎ ( , )

Dimana : src(x,y) = citra keabuan yang akan diproses dst(x,y) = citra hasil threshold binary inverted thresh = nilai threshold

Proses threshold binary truncate dapat diilustrasikan pada Gambar 2.5 .

(2.17)

(11)

Gambar 2.5. Threshold Truncate (diambil dari www.docs.opencv.org)

4. Threshold to Zero

Threshold to zero akan menggantikan nilai piksel menjadi 0 (hitam) jika nilai piksel pada citra keabuan lebih kecil daripada nilai threshold. Operasi threshold to zero dapat dilakukan dengan persamaan 2.19.

( , ) = ( , ), ( , ) > ℎ ℎ 0

Dimana : src(x,y) = citra keabuan yang akan diproses dst(x,y) = citra hasil threshold binary inverted thresh = nilai threshold

Proses threshold binary truncate dapat diilustrasikan pada Gambar 2.6.

Gambar 2.6. Threshold to Zero (diambil dari www.docs.opencv.org)

5. Threshold to Zero Inverted

Jenis threshold ini merupakan kebalikan dari threshold to zero. Threshold to zero inverted akan menggantikan nilai piksel menjadi 0 (hitam) jika nilai piksel pada citra keabuan lebih besar daripada nilai threshold. Operasi threshold to zero dapat dilakukan dengan persamaan 2.20.

( , ) = 0, ( , ) > ℎ ℎ ( , )

(2.19)

(12)

Dimana : src(x,y) = citra keabuan yang akan diproses dst(x,y) = citra hasil threshold binary inverted thresh = nilai threshold

Proses threshold binary truncate dapat diilustrasikan pada Gambar 2.7.

Gambar 2.7. Threshold to Zero Inverted (diambil dari www.docs.opencv.org)

2.2.5 Inversi

Inversi merupakan proses negatif pada citra, dimana setiap nilai piksel pada citra dibalik dengan acuan threshold yang diberikan (Febriani, 2014). Pada umumnya, proses inversi yang dilakukan pada sebuah citra untuk memperjelas warna putih atau abu-abu pada bagian gelap. Pada penelitian sebelumnya, Febriani, et al. pada tahun 2014 menggunakan proses inversi untuk melakukan proses perkalian citra dengan citra hasil proses contrast stretching agar menghasilkan citra optic disc yang tereliminasi dalam pengidentifikasian diabetic retinopathy melalui citra retina. Untuk citra 8 bit, proses inversi dilakukan dengan persamaan 2.21.

( , ) = 255 − ( , )

Dimana : src(x,y) = nilai piksel pada citra input

dst(x,y) = nilai piksel pada citra setelah proses inversi

2.3 Average Background

Metode average background pada dasarnya menghitung nilai rata-rata dan standard deviasi dari setiap piksel yang didefinisikan sebagai model background. Metode ini merupakan salah satu cara yang dapat mengatasi kelemahan pada proses background subtraction (Bradski & Kaehler, 2008). Average background telah digunakan sebelumnya pada penelitian sebelumnya, seperti pada tahun 2015, Goswami, et al.

(13)

melakukan penelitian untuk mendeteksi kejadian yang tidak biasa terjadi di sekitar mesin ATM, guna untuk meningkatkan keamanan ATM. Pada penelitian ini disimpulkan bahwa metode ini dapat membantu mempercepat performa sistem pendeteksi walaupun hanya menggunakan kamera yang memiliki resolusi yang rendah. Ada empat tahap yang dilakukan pada metode ini yaitu :

1. Mengakumulasikan atau mengumpulkan frame-frame video dengan jarak waktu tertentu

2. Melakukan proses frame differencing pada frame-frame video yang telah diakumulasikan, lalu mencari nilai rata-rata piksel yang berbeda diantara frame 3. Segmentasi citra background dengan proses thresholding

4. Inversi citra hasil thresholding

Seperti yang telah dijabarkan diatas, terdapat proses frame differencing dan background subtraction pada metode average background. Berikut ini adalah penjelasan tentang kedua teknik tersebut.

2.3.1 Background Subtraction

Background subtraction merupakan proses untuk mendeteksi pergerakan atau perbedaan signifikan yang terjadi pada frame video ketika dibandingkan dengan citra referensi. Tujuan dari background subtraction yaitu untuk memisahkan objek dan background sehingga gerakan dari sebuah objek dapat terdeteksi.

Teknik ini mendefinisikan frame video pertama sebagai background lalu mendeteksi perbedaan yang terjadi pada frame-frame selanjutnya, sehingga dapat didefinisikan sebagai pergerakan objek. Proses background subtraction dilakukan dengan persamaan 2.22 dan 2.23 dibawah ini (Alex & Wahi, 2014).

( , ) = ( , ) − ( , ) ( , ) = 1 ∶ ( , ) >

0 ∶ ( , ) ≤

Dimana : Rk (x,y) = citra hasil perbedaan frame

fk (x,y) = citra frame

B (x,y) = citra background T = nilai threshold

(2.22) (2.23)

(14)

Background subtraction memiliki kelebihan yaitu mudah untuk diimplementasi dan cepat, namun juga memiliki kekurangan ketika terjadi perubahan iluminasi atau pencahayaan pada video karena juga akan terdefinisi sebagai perbedaan piksel (Bradski & Kaehler, 2008). Teknik background subtraction telah digunakan pada penelitian sebelumnya, seperti penelitian yang dilakukan oleh Intachak & Kaewapichai pada tahun 2011, yang menggunakan teknik tersebut untuk video traffic monitoring.

2.3.2 Frame Differencing

Frame differencing adalah suatu teknik sederhana yang yang digunakan untuk mendeteksi perbedaan piksel antara dua frame video. Teknik ini biasanya digunakan untuk mendeteksi pergerakan objek berdasarkan perbedaan piksel yang terjadi pada dua frame video dengan interval waktu yang singkat. Untuk mengetahui perbedaan frame video yang terjadi dilakukan perhitungan matematis dengan persamaan 2.24 sampai 2.26 (Alex & Wahi, 2014).

Differential : = − , ( − ) > 0 0 Negative Differential : = | − | , ( − ) > 0 0 Fully Differential : = | − |

Dimana : Dk = hasil citra frame differencing

fk = citra frame

fk-1 = citra frame sebelumnya dengan interval waktu

Teknik frame differencing juga telah digunakan dalam penelitian sebelumnya seperti penelitian yang dilakukan oleh Kang & Hayes pada tahun 2015. Pada penelitian ini, teknik frame differencing digunakan dalam pengenalan wajah untuk personalisasi kendaraan.

(2.24)

(2.25)

(15)

2.4 Ekstraksi Fitur

Ekstraksi fitur merupakan proses yang menonjolkan ciri atau karakteristik pada suatu citra yang mengandung informasi penting untuk proses pengklasifikasian ataupun analisa data citra. Tujuan dari proses ekstraksi fitur adalah untuk meningkatkan efektivitas dan efisiensi dari proses analisa ataupun pengklasifikasian. Salah satu teknik computer vision untuk mengekstraksi fitur adalah dengan teknik pendeteksian contour, convex-hull dan convexity defects.

Pada penelitian sebelumnya, Youssef, et al. pada tahun 2010 menggunakan teknik tersebut untuk mengekstraksi fitur yang terdapat pada citra yang tertangkap oleh kamera dalam pengenalan aktifitas manusia yang dapat digunakan untuk pengawasan ataupun analisa medis. Berikut ini adalah penjelasan tentang ekstraksi fitur menggunakan contour, convex-hull dan convexity defects.

2.4.1 Contour

Kontur (contour) dapat didefinisikan sebagai suatu keadaan yang terjadi karena adanya perubahan intensitas pada piksel-piksel yang bertetangga. Dengan adanya perubahan intensitas ini, maka titik-titik tepi (edge) pada citra dapat terdeteksi. Kontur juga dapat didefinisikan sebagai urutan titik yang dapat menguraikan bentuk atau region (Williamson, A, 2014). Gambaran contour dapat dilihat pada Gambar 2.8.

Gambar 2.8. Contour (Dhawan & Honrao, 2013) 2.4.2 Convex-Hull

Convex-hull merupakan garis luar yang melingkupi seluruh titik-titik kontur (contour). Gambaran contour dapat dilihat pada Gambar 2.9.

(16)

Gambar 2.9. Convex-Hull (Dhawan & Honrao, 2013) 2.4.3 Convexity Defects

Convexity defects merupakan titik atau vector yang diperoleh dari titik contour dan garis convex-hull. Convexity defects direpresentasikan dengan 4 (empat) elemen titik atau vector, yaitu :

1. Start_index, yaitu titik kontur yang mendefinisikan permulaan dari defects 2. End_index, yaitu titik kontur yang mendefinisikan akhir dari defects 3. Farthest_index, yaitu titik terjauh dari garis convex-hull ke titik kontur 4. Fix_depth, yaitu perkiraan fixed-point dari jarak antara titik terjauh dari garis

convex-hull ke titik kontur.

Gambaran convexity defects dapat dilihat pada Gambar 2.10.

(17)

2.4.4 Moment

Moment merupakan karakteristik dari titik kontur yang dihitung dengan mengintegrasikan seluruh piksel dari titik kontur. Momen biasanya digunakan untuk memandingkan dua titik kontur. Pada umumnya, moment dari sebuah titik kontur didefinisikan sebagai persamaan 2.27 sebagai berikut (Bradski & Kaehler, 2008).

,

= ∑

( , )

Dimana : m = moment p = x-order q = y-order n = batas kontur

I(x,y) = citra hasil ekstraksi fitur

2.4.5 Center of Gravity

Center of Gravity (CoG) adalah titik tengah dari sebuah objek yang terdeteksi dari citra hasil ekstraksi fitur. Pada penelitian sebelumnya, Ling, et al. pada tahun 2013 memanfaatkan informasi dari titik center of gravity untuk menilai kemampuan keseimbangan tubuh manusia pada postur statis dan disimpulkan bahwa titik center of gravity pada tubuh manusia sangat baik dalam memberikan informasi tentang keseimbangan tubuh.

Titik CoG dapat diperoleh dari momen setiap titik kontur yang terdeteksi. Untuk menghitung titik center of gravity dapat dilakukan dengan persamaan 2.28 sebagai berikut (diambil dari www.docs.opencv.org) :

=

,

=

Dimana : x = koordinat x titik center of gravity y = koordinat y titik center of gravity

m10 = moment dengan x-order 1 dan y-order 0

m01 = moment dengan x-order 0 dan y-order 1

m00 = panjang piksel dari kontur

(2.27)

(18)

2.5 OpenCV

OpenCV (Open Source Computer Vision Library) adalah sebuah API (Application Programming Interface) library yang menyediakan struktur data dan algoritma yang cepat dan efisien serta dapat digunakan untuk pengolahan citra dan real-time computer vision (Bradski & Kaehler, 2008).

Adapun 5 library yang terdapat pada OpenCV, yaitu :

1. CV, merupakan komponen yang berisikan algoritma dasar pengolahan citra digital dan computer vision yang lebih tinggi.

2. ML, merupakan komponen yang berisikan pustaka dari machine learning untuk pengklasifikasian statistical dan clustering tools yang mencakup algoritma seperti berikut :

a. Naïve Bayes Classifier

b. K-nearest Neighbor Algortithm c. Support Vector Machine d. Decision Tree

e. Boosting f. Random Forest

g. Expectation Maximization h. Neural Network

3. HighGUI, berisi fungsi-fungsi I/O untuk penyimpanan dan pembacaan video atau gambar.

4. CXCORE, berisi struktur data, support XML dan fungsi-fungsi grafis. 5. CvAux, berisi both defunct areas dan algoritma eksperimental.

Library OpenCV juga banyak digunakan pada penelitian sebelumnya di berbagai bidang, seperti medis, monitoring, HCI (human-computer interaction), dll. Pada tahun 2009, Wu menggunakan library ini untuk mendeteksi pergerakan manusia dalam sistem pengamanan bank. Selanjutnya penelitian yang berhubungan dengan medis dilakukan oleh Li, et al. pada tahun 2012, yaitu mendeteksi dan menghitung jumlah spermatozoa dalam sebuah video klip. Dari kedua penelitian tersebut dapat disimpulkan bahwa dengan menggunakan fungsi-fungsi yang terdapat pada OpenCV dapat berhasil menghasilkan akurasi yang baik dalam pengolahan citra.

(19)

2.6 Penelitian Terdahulu

Penelitian tentang pengenalan gerakan tangan (hand gesture recognition) dalam interaksi manusia-komputer telah banyak dilakukan dengan beberapa metode. Pada umumnya pengenalan gerakan tangan ini diimplementasikan untuk bahasa isyarat (sign language), robotik, virtual reality, permainan, dan lain-lain. Seperti yang telah dijelaskan sebelumnya, pengenalan gerakan tangan terbagi atas dua jenis yaitu pengenalan gerakan tangan statis dan pengenalan gerakan tangan dinamis.

Pada tahun 2014, Ramjan, et al. menggunakan algoritma Blob Detection COG untuk ekstraksi fitur dan Template/Pattern Matching untuk mengenali gerakan tangan dinamis. Penelitian ini diimplementasikan untuk menulis pada notepad menggunakan gerakan tangan dengan fasilitas ekstra dengan berbagai bahasa seperti bahasa Jepang, Gujarati, Tamil, Kanada, dsb.

Pada penelitian lainnya juga telah dilakukan untuk pengenalan gerakan tangan statis. Jalab, A. H. pada tahun 2012 menggunakan jaringan saraf tiruan untuk mengenali gerakan tangan secara statis. Metode ekstraksi fitur yang digunakan adalah algoritma Wavelet Network dan Artificial Neural Network (ANN). Dalam tahap uji coba, dilakukan pengujian 60 citra gerakan tangan dengan jumlah noise Gaussian yang berbeda-beda dan dibagi menjadi 6 kelas. Adapun tingkat akurasi hasil uji coba tersebut yaitu 97%. Selanjutnya pada tahun 2013, Nagarajan & Subashini melakukan penelitian untuk mengenali bahasa isyarat huruf alphabet sesuai dengan American Sign Language dengan menggunakan metode Edge Oriented Histogram untuk ekstraksi fitur dan menggunakan algoritma Multiclass SVM untuk mengenali gerakan tangan statis. Pada penelitian ini didapat kesimpulan bahwa algoritma Multiclass SVM dapat memberikan akurasi yang baik sebesar 93.75% dalam mengklasifikasikan gerakan tangan statis.

Namun pada penelitian yang telah disebutkan sebelumnya, diperlukan banyak waktu dan kapasitas untuk melatih pengklasifikasian dalam pengenalan objek tertentu pada algoritma yang digunakan. Semakin banyak data pelatihan yang digunakan, semakin besar tingkat akurasi yang didapatkan (Williamson, 2014). Selanjutnya pada tahun 2014, Nayana & Kubakaddi menggunakan metode yang sederhana yaitu Finger Counting melalui ekstraksi fitur dari teknik computer vision yaitu contour, convex-hull dan convexity defects untuk pengenalan gerakan tangan statis. Dari kedua penelitian

(20)

tersebut dapat disimpulkan bahwa teknik computer vision sangat mudah dan cepat untuk diimplementasi dalam pengenalan gerakan tangan.

Yesugade, et al. pada tahun 2014 juga meneliti tentang pengenalan gerakan tangan dengan menggunakan metode sederhana yaitu Blob Detection untuk ekstraksi fitur untuk pengenalan gerakan tangan. Penelitian ini berfokus pada pemanfaatan pengenalan gerakan tangan dalam berbagai fungsionalitas seperti mouse control, kalibrasi single-pointer, kalibrasi multi-single-pointer, winamp control dan gaming control. Namun pada penelitian ini terdapat batasan dalam keadaan background dan kondisi pencahayaan.

Penelitian terkait lainnya dilakukan oleh Yi & Liangzhong pada tahun 2010, yaitu mendeteksi objek yang bergerak dengan menggunakan metode average background. Pada penelitian ini disimpulkan bahwa metode tersebut dapat mendeteksi background dengan tingkat kompleksitas dalam komputasi yang rendah. Rangkuman dari penelitian terdahulu dapat dilihat pada Tabel 2.1.

Tabel 2.1 Penelitian Terdahulu No. Peneliti

(Tahun) Metode Keterangan

1 Ramjan, et al (2014)

Ekstraksi Fitur : Blob Detection COG Recognition :

Template/Pattern Matching

 Pengenalan gerakan tangan dinamis

 Fungsi : untuk menulis pada notepad menggunakan gerakan tangan

 Dapat membedakan gerakan dengan baik, namun

menghabiskan waktu yang cukup lama dalam proses training 2 Jalab, A.H. (2012) Ekstraksi Fitur : Wavelet Network Klasifikasi : Artificial Neural Network (ANN)

 Pengenalan gerakan tangan statis

 Akurasi : 97%

 Dapat membedakan gerakan dengan baik, namun memakan waktu yang cukup lama dalam proses training 3 Nagarajan & Subashini (2013) Ekstraksi Fitur : Edge Oriented Histogram, Recognition : Multiclass SVM

 Pengenalan gerakan tangan statis

 Fungsi : untuk mengenali bahasa isyarat huruf alphabet sesuai dengan American Sign Language

(21)

Tabel 2.1 Penelitian Terdahulu (lanjutan) No. Peneliti

(Tahun) Metode Keterangan

 Semakin besar tingkat pembelajaran SVM, semakin besar pula tingkat akurasi yang dihasilkan. Namun hal ini menghabiskan watu yang cukup lama untuk proses training 4 Nayana &

Kubakaddi (2014)

contour, convex-hull dan convexity defects

 Pengenalan gerakan tangan statis

Fingertips Counting merupakan metode yang sederhana, cepat dan mudah untuk

diimplementasi 5 Yesugade, et al

(2014)

Blob Detection  Pengenalan gerakan tangan

statis

 Berfokus pada pemanfaatan

pengenalan gerakan tangan dalam berbagai fungsionalitas

6 Yi & Liangzhong (2014)

Average Background Pendeteksian background

 Berfokus pada penggunaan

metode yang memiliki

kompleksitas dalam komputasi yang rendah

Perbedaan penelitian yang dilakukan dengan penelitian terdahulu adalah penelitian ini berfokus pada kesederhanaan metode dan kemudahan pengguna dalam kebebasan penggunaan. Berikut ini adalah metode beserta alasan penggunaan metode yang akan diterapkan pada penelitian ini.

 Menggunakan kombinasi ruang warna HSV dan YCbCr, yaitu HSCbCr untuk mendeteksi warna kulit, sehingga pengguna tidak perlu menggunakan alat seperti Kinect ataupun data glove.

Menggunakan metode average background untuk menangani kondisi background yang tidak diperlukan, sehingga dapat mempercepat proses pengenalan gerakan tangan.

Menggunakan teknik-teknik computer vision seperti contour, convex-hull dan convexity defects karena mudah dan cepat diimplementasi.

Gambar

Gambar 2.1. Erosion : Mengambil Nilai Minimum Daerah Kernel B (Bradski &amp;  Kaehler, 2008)
Gambar 2.2. Dilation : Mengambil Nilai Maximum Daerah Kernel B (Bradski &amp;  Kaehler, 2008)
Gambar 2.3. Threshold Binary (diambil dari www.docs.opencv.org)
Gambar 2.5. Threshold Truncate (diambil dari www.docs.opencv.org)
+5

Referensi

Dokumen terkait

Nilai impor Sulawesi Tenggara pada bulan Mei 2015 tercatat US$ 36,66 juta atau mengalami peningkatan sebesar 52,24 persen dibanding impor April 2015 yang tercatat US$ 24,08

Mulia, 2012), 29.. Hal ini terjadi karena salah dalam pola asuh sejak kecil, atau karena pergaulan yang salah. Untuk jenis yang pertama ini, penanganannya bukan dengan cara

Dalam penelitian ini akan dilakukan kegiatan evaluasi Usaha Kecil dan Menengah dari Dinas Perdagangan dan Perindustrian Kota Surabaya berupa evaluasi kelengkapan

Hasil yang optimal tersebut dipergunakan sebagai bahan baku untuk proses deproteinasi menggunakan basa kuat (NaOH 2N) dengan variabel waktu proses 6, 12, 18, 24 jam sehingga

Dengan memanfaatkan penyedot debu portebel sebagai mesin utama penghisapnya ditunjang dengan motor DC sebagai motor penggerak roda belakang alat ini, servo

Hasil uji t didapat bahwa secara parsial variabel pendapatan konsumen kopi Robusta berpengaruh signifikan terhadap permintaan kopi Robusta di pasar inpres,

Pada tahapan ini dalam proses pengumpulan data yang dikerjakan pada saat penelitian di lapangan terhadap penggunaan telepon genggam android untuk di jadikan

Perubahan lingkungan fisik dapat disebabkan diantaranya oleh angin, sinar matahari, gelombang laut dan ..... Angin darat dan angin laut dapat dirasakan pada daerah