BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · matriks, dimana indeks baris dan indeks kolom...
Transcript of BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · matriks, dimana indeks baris dan indeks kolom...
1
BAB II
TINJAUAN PUSTAKA
2.1 Tinjauan Empiris
Dalam tinjauan empiris ini akan menampilkan beberapa penelitian yang
telah dilakukan oleh peneliti sebelumnya mengenai metode dan hasil dari
pengidentifikasian bahasa isyarat. Berikut adalah hasil dari penelitian yang
dilakukan sebelumnya.
Tabel 2.1 Beberapa Hasil Penelitian
Nama Judul Metode Hasil
Nachmai Alphabet
Recognition of
American Sign
Language
Image
Processing,
Nearest
Neighbor
dan SIFT
America sign language yang terdiri
dari 26 huruf dan 10 entri alphabet
perulangan dengan perbedaan cahaya
dan orientasi. 80% dari sampel uji
digunakan untuk pelatihan dan 20%
untuk pengujian. Hasil uji memberikan
100% akurasi dalam mengidentifikasi
sampel uji untuk data set yang
digunakan.
Atwod, J
dan
Justin, F
American Sign
Language
Recognition
System
Euclidean
distance
dan SIFT
Hasil tes adalah 99,2% tetapi jika user
tes tidak ada dalam data pelatihan,
maka akurasi pengenalan menurun
drastis menjadi 35-45%, karena user
baru memiliki ukuran dan bentuk yang
berbeda.
Ashwin,
et al
Sign Language
Recognition
using Scale
Invarian
Feature
SIFT, Book
of word
Hasil memperlihatkan bahwa metode
ini kuat terhadap kondisi cahaya
2
Transform and
SVM
(BOW) dan
SVM
berbeda, jarak dan sudut pengambilan
gambar
3
Asriani,
F dan
Susilawa
ti, H.
Pengenalan
Isyarat Tangan
Statis pada
Sistem Isyarat
Bahasa
Indonesia
berbasis
Jaringan Syaraf
Tiruan
Perambat Balik
Jaringan
syaraf
tiruan
Dari hasil pengujian ditetapkan bahwa
jaringan syaraf tiruan dengan arsitektur
4096-75-15 merupakan jaringan yang
paling optimal dengan tingkat
pengenalan 69%.
Pradana,
F.A
Pengenalan
Huruf Isyarat
menggunakan
Modified K-
Nearest
Neighbor
Modified
K-Nearest
Neighbor
dan
invariant
moment
Peneliti membandingkan KNN dan
MKNN dimana hasil dari KNN
memberikan tingkat akurasi
maksimum sebesar 89,1% sementara
MKNN memperoleh tingkat akurasi
sebesar 77,5%
2.2 Tinjauan Teoritis
2.2.1 Bahasa Isyarat
Bahasa isyarat merupakan bahasa yang mengutamakan komunikasi manual, yaitu
menggunakan bahasa tubuh, tangan dan gerak bibir, bukan suara lisan. Kaum tunarungu adalah
kelompok utama yang menggunakan bahasa ini, biasanya dengan mengkombinasikan bentuk
tangan, orientasi dan gerak tangan, lengan, dan tubuh, serta ekspresi wajah untuk mengungkapkan
pikiran mereka.
Bahasa isyarat unik dalam jenisnya di setiap negara. Bahasa isyarat bisa saja berbeda di
negara-negara yang berbahasa sama. Contohnya, Amerika Serikat dan Inggris meskipun memiliki
4
bahasa tertulis yang sama, memiliki bahasa isyarat yang sama sekali berbeda (American Sign
Language dan British Sign Language).
Untuk di negara Indonesia sendiri, sistem yang sekarang umum digunakan adalah Sistem
Isyarat Bahasa Indonesia (SIBI) dimana sistem ini sama dengan bahasa isyarat yang diterapkan
di Amerika (ASL - American Sign Language).
Gambar 2.1 Huruf SIBI yang mengacu pada ASL (Sumber: Pengenalan Bahasa Isyarat Menggunakan Metode PCA dan Haar Like Feature)
2.2.2 Citra Digital
Citra digital adalah citra yang dinyatakan secara diskrit (tidak kontinu), baik untuk posisi
koordinatnya maupun warnanya. Dengan demikian, citra digital dapat digambarkan sebagai suatu
matriks, dimana indeks baris dan indeks kolom dari matriks menyatakan posisi suatu titik di dalam
citra dan harga dari elemen matriks menyatakan warna citra pada titik tersebut. Dalam citra digital
yang dinyatakan sebagai susunan matriks seperti ini, elemen–elemen matriks tadi disebut juga
dengan istilah piksel yang berasal dari kata picture element (Sari,2010). Citra digital dapat
didefinisikan sebagai fungsi dua variabel, f(x,y), di mana x dan y adalah koordinat spasial
sedangkan nilai f(x,y) adalah intensitas citra pada koordinat tersebut, hal tersebut diilustrasikan
pada gambar berikut:
5
Gambar 2.2 Citra Fungsi Dua Variabel
Citra digital tersusun atas titik-titik yang biasanya berbentuk persegi panjang yang secara
beraturan membentuk baris-baris dan kolom-kolom. Setiap titik memiliki koordinat dan biasanya
dinyatakan dalam bilangan bulat positif, yaitu 0 atau 1 bergantung pada sistem yang digunakan.
Format nilai pixel sama dengan format citra keseluruhan. Pada kebanyakan sistem pencitraan, nilai
ini biasanya berupa bilangan bulat positif juga. Format citra digital yang banyak digunakan, yaitu:
1. Citra Biner (Monokrom)
Citra monokrom atau citra hitam-putih merupakan citra satu kanal di mana citra f(x,y)
merupakan fungsi tingkat keabuan dari hitam ke putih.
2. Citra Skala Keabuan (Gray Scale)
Dikatakan format citra skala keabuan karena pada umumnya warna yang dipakai adalah
warna hitam sebagai warna minimum dan warna putih sebagai warna maksimalnya, sehingga
warna antara ke dua warna tersebut adalah abu-abu.
3. Citra Berwarna
Citra warna terdiri atas 3 layer matriks, yaitu R-layer, G-layer, B-layer. sistem warna RGB
menggunakan sistem tampilan grafik kualitas tinggi yaitu mode 24 bit. setiap komponen warna
merah, hijau, biru masing-masing mendapatkan alokasi 8 bit untuk menampilkan warna. Pada
sistem warna RGB, tiap pixel akan dinyatakan dalam 3 parameter dan bukan nomor warna. setiap
warna mempunyai range nilai 00 (angka desimalnya adalah 0) dan f (angka desimalnya 255) atau
6
mempunyai nilai derajat keabuan 256 = 28. Dengan demikian, range warna yang digunakan adalah
(28)(28)(28) = 224 (atau dikenal dengan istilah True Color pada Windows). Nilai warna yang
digunakan merupakan gabungan warna cahaya merah, hijau dan biru.
2.2.3 SIFT (Scale Invariant Feature Transform)
Pada tahun 1999, David G. Lowe seorang peneliti dari University of British Columbia
memperkenalkan suatu metode baru dalam ekstrasi fitur dari suatu citra. Metode ekstrasi fitur ini
disebut sebagai Scale Invariant Feature Transform (SIFT). Dengan mengunakan SIFT ini, suatu
citra akan di ubah menjadi vector fitur lokal yang kemudian akan digunakan sebagai pendekatan
dalam mendeteksi objek yang dimaksud.
Sebagai metode ekstrasi fitur pada pengenalan objek, SIFT ini memiliki kelebihan-
kelebihan sebagai berikut:
a. Hasil ekstraksi fitur bersifat invarian terhadap ukuran, translasi dan rotasi dua dimensi.
b. Hasil ekstrasi fitur bersifat invarian sebagian terhadap perubahan iluminasi dan perubahan
sudut pandang tiga dimensi.
c. Mampu mengekstrak banyak keypoint dari citra yang tipikal.
d. Hasil ekstrasi fitur benar-benar mencirikan secara khusus (distinctive)
Dengan kelebihan-kelebihan tersebut, penggunaan metode SIFT banyak dikembangkan untuk
aplikasi pengenalan objek.
Secara garis besar, algoritma yang digunakan pada metode SIFT terdiri dari empat tahap,
yaitu:
a. Mencari nilai ekstrim pada skala ruang
b. Menentukan keypoint
c. Penentuan Orientasi
d. Deskriptor keypoint
Setelah melalui tahapan tersebut maka akan diperoleh fitur-fitur lokal yang digunakan sebagai
descriptor dari suatu objek untuk diolah lebih lanjut.
7
2.2.3.1 Pencarian Nilai Ekstrim pada Skala Ruang
Pencarian nilai ekstrim pada skala ruang merupakan tahap awal dalam penentuan keypoint
dari suatu citra. Dengan menggunakan fungsi Gaussian, citra pada skala ruang dapat didefinisikan
sebagai fungsi 𝐿(𝑥, 𝑦, 𝜎), yang diperoleh dari hasil konvolusi skala variable Gaussian, 𝐺(𝑥, 𝑦, 𝜎),
dengan citra masukan 𝐼(𝑥, 𝑦), sehingga diperoleh:
𝐿(𝑥, 𝑦, 𝜎) = 𝐺(𝑥, 𝑦, 𝜎) ∗ 𝐼(𝑥, 𝑦) ………………………………. (2.1)
Dimana * adalah operasi konvulasi antara 𝑥 dan 𝑦 dan 𝐺(𝑥, 𝑦, 𝜎) adalah skala variabel Gaussian:
𝐺(𝑥, 𝑦, 𝜎) = 1
2𝜋𝜎2𝑒
−(𝑥2+𝑦2)
2𝜎2 ……………………………………. (2.2)
Citra hasil Difference of Gaussian, 𝐷(𝑥, 𝑦, 𝜎), diperoleh dengan melakukan operasi
konvolusi pada citra masukan dengan filter Difference of Gaussian, maka:
𝐷(𝑥, 𝑦, 𝜎) = (𝐺(𝑥, 𝑦, 𝑘𝜎) − 𝐺(𝑥, 𝑦, 𝜎)) ∗ 𝐼(𝑥, 𝑦)
= 𝐿(𝑥, 𝑦, 𝑘𝜎) − 𝐿(𝑥, 𝑦, 𝜎) ……….………………. (2.3)
Dari persamaan (2.3) terlihat bahwa citra hasil Difference of Gaussian sebenarnya
merupakan selisih antara citra hasil Gaussian blur dengan nilai skala k yang berbeda. Proses ini
diilustrasikan pada Gambar 2.3
Gambar 2.3 Diagram Difference of Gaussian
8
Citra hasil konvolusi kemudian dikelompokkan berdasarkan octave (satu octave setara
dengan penggandaan besarnya nilai 𝜎), nilai k ditetapkan di awal sehingga diperoleh jumlah citra
kabur yang sama pada setiap octave serta diperoleh citra hasil DoG yang sama untuk setiap octave.
Setelah diperoleh citra DoG pada setiap octave, maka langkah selanjutnya ialah mencari
kandidat keypoint. Kandidat keypoint dideteksi sebagai titik maksimum lokal atau titik minimum
lokal dari citra hasil DoG. Untuk mencari nilai maksimum atau minimum lokal maka masing-
masing piksel pada citra hasil DoG akan di bandingkan dengan 8 piksel disekitarnya yang berada
pada skala yang sama dan dengan 9 piksel yang bersesuaian dengannya pada skala berbeda
(perhatikan Gambar 2.4). Jika piksel tersebut merupakan maksimum atau minimum lokal, maka
piksel tersebut akan dijadikan sebagai kandidat keypoint.
Gambar 2.4 Ilustrasi pencarian maksimum atau minimum lokal dari citra DoG
2.2.3.2 Penentuan Keypoint
Setelah kandidat keypoint ditemukan melalui tahapan pada 2.2.3.1, maka langkah
selanjutnya adalah untuk mengambil detail dari kandidat keypoint tersebut. Detail yang diambil
merupakan lokasi, skala dan rasio kelengkungan inti dari kandidat keypoint. Pada tahap ini akan
terjadi pengurangan jumlah kandidat keypoint. Dimana setiap kandidat keypoint yang dianggap
sangat rentan terhadap noise akan dihilangkan, yaitu kandidat keypoint yang memiliki nilai kontras
yang rendah dan kandidat keypoint yang kurang jelas dan terletak di sepanjang tepi.
Untuk menghilangkan keypoint dengan nilai kontras yang rendah, maka digunakan
langkah-langkah berikut:
9
a. Dengan menggunakan deret Taylor pada fungsi skala ruang 𝐷(𝑥, 𝑦, 𝜎) yang kemudian
digeser sehingga titik asal berada pada titik sampel, sehingga:
𝐷(𝑥) = 𝐷 +𝜕𝐷𝑇
𝜕𝑥𝑥 +
1
2𝑥𝑇 𝜕2𝐷
𝜕𝑥2𝑥 ………………………………… (2.4)
Dimana D dan penurunannya dilihat dari titik sampel, dan 𝑥 = (𝑥, 𝑦, 𝜎)𝑇 adalah offset dari
titik ini.
b. Lokasi dari nilai ekstrim, 𝑥, diambil dengan menurunkan persamaan 2.4 terhadap 𝑥,
sehingga:
�̂� = −𝜕2𝐷−1
𝜕𝑥2
𝜕𝐷
𝜕𝑥 ……...………….……………………………… (2.5)
c. Fungsi nilai ekstrim, 𝐷(�̂�), diperoleh dengan mensubstitusikan persamaan 6.5 kepada
persamaan 6.4 sehingga menghasilkan persamaan berikut :
𝐷(�̂�) = 𝐷 +1
2
𝜕𝐷𝑇
𝜕𝑥�̂� …………….……………………………… (2.6)
Pada SIFT ini, semua nilai ekstrim, 𝐷(�̂�), yang bernilai kurang dari 0,03 akan dihilangkan.
Untuk menghilangkan keypoint yang kurang jelas pada tepi maka digunakan persamaan
berikut:
𝑇𝑟(𝐻)2
𝐷𝑒𝑡(𝐻)<
(𝑟+1)2
𝑟 ……...………….……………………………… (2.7)
Dimana H merupakan matrix Hessian 2x2 dan r merupakan ambang batas dari kecekungan inti
yang diperbolehkan. Pada SIFT ini, semua keypoint yang memiliki nilai r lebih besar dari 10 akan
dihilangkan.
2.2.3.3 Penentuan Orientasi
Pada tahap ini, masing-masing keypoint yang diperoleh akan diberikan suatu orientasi yang
tetap berdasarkan sifat-sifat lokal pada citra. Dengan adanya proses ini maka keypoint yang
diperoleh dapat dipresentasikan relatif terhadap orientasi ini sehingga keypoint yang dihasilkan
tidak terpengaruh terhadap adanya rotasi pada citra. Untuk menentukan orientasi dari masing-
masing keypoint maka dilakukan perhitungan terhadap besarnya gradien dan sudut arah orientasi.
Adapun perhitungan terhadap besar nilai gradien, 𝑚(𝑥, 𝑦), dan arah orientasi, 𝜃(𝑥, 𝑦), dilakukan
menggunakan persamaan berikut:
𝑚(𝑥, 𝑦) = √(𝐿(𝑥 + 1, 𝑦) − 𝐿(𝑥 − 1, 𝑦))2 + (𝐿(𝑥, 𝑦 + 1) − 𝐿(𝑥, 𝑦 − 1))2... (2.8)
10
𝜃(𝑥, 𝑦) = 𝑡𝑎𝑛−1 ((𝐿(𝑥,𝑦+1)−𝐿(𝑥,𝑦−1))
(𝐿(𝑥+1,𝑦)−𝐿(𝑥−1,𝑦))) ………………………………………. (2.9)
2.2.3.4 Deskriptor Keypoint
Pada proses ini, masing-masing keypoint yang telah diorientasikan akan diberikan
pencirian khusus (deskriptor). Proses ini bertujuan untuk mendapatkan keypoint yang invarian
terhadap perubahan intensitas cahaya atau perubahan sudut pandang tiga dimensi.
Deskriptor akan diukur sebagai suatu histogram orientasi pada wilayah piksel dengan
ukuran 4x4. Nilai orientasi diperoleh dari citra Gaussian yang memiiki skala terdekat dengan skala
keypoint yang akan dihitung. Agar keypoint yang diperoleh invarian terhadap orientasi, maka
koordinat dari deskriptor dan gradien orientasi akan di rotasi relatif terhadap orientasi dari
keypoint. Kemudian fungsi pembebanan Gaussian, dengan besar nilai 𝜎 satu setengah kali dari
besar jendela deskriptor, akan digunakan sebagai pembebanan pada setiap besaran nilai dari titik
sampel. Proses ini ditunjukkan pada lingkaran yang terdapat pada Gambar 2.5 sebelah kiri.
Gambar 2.5 Deskriptor dari perhitungan besar gradien dan orientasi serta gambar
lingkaran Gaussian (kiri) dan gambar deskriptor keypoint (kanan)
Deskriptor keypoint pada Gambar 2.5 menunjukkan adanya 8 arah pada masing-masing
histogram orientasi dengan panjang masing-masing anak panah sesuai dengan besar nilai dari
histogram asal. Selanjutnya deskriptor keypoint yang telah diperoleh akan dinormalisasi untuk
mengatasi pengaruh perubahan cahaya.
11
Setelah melalui tahapan-tahapan tersebut, maka pada hasil akhir akan diperoleh suatu citra
dengan keypoint yang invarian terhadap berbagai macam perubahan, seperti yang ditunjukkan
pada gambar 2.6
Gambar 2.6 Keypoint yang diperoleh dari suatu citra menggunakan SIFT
Keypoint ini yang kemudian menjadi fitur-fitur lokal pada suatu citra dan akan di cocokkan dengan
keypoint-keypoint yang terdapat pada citra lain untuk menyesuaikan dengan objek yang tersedia
pada data set training.
2.2.4 Android
2.2.4.1 Perkembangan Android
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang
mencakup system operasi. Middleware dan aplikasi. Android menyediakan platform terbuka bagi
para pengembang untuk menciptakan aplikasi mereka. Android merupakan generasi baru platform
mobile, platform yang memberikan pengembang untuk melakukan pengembangan sesuai dengan
yang diharapkannya. Sistem operasi yang mendasari Android dilesensikan di bawah GNU,
General Public license version 2 (GPLv2), yang sering dikenal dengan istilah “copyleft” lisensi
dimana setiap perbaikan pihak ketiga harus terus jatuh di bawah terms. Android di distribusikan
di bawah lisensi Apache Software (ASL/Apache2), yang memungkinkan untuk distribusi kedua
dan seterusnya.
Pengembang memiliki beberapa pilihan ketika membuat aplikasi yang berbasis android.
Sebagian besar pengembang menggunakan Eclipse yang tesedia secara bebas. Eclipse adalah IDE
12
yang paling populer untuk pengembangan android, karena memiliki android plug-in yang tersedia
untuk memfasilitasi pengembagan android. Selain itu, Eclipse juga mendapat dukungan langsung
dari google untuk menjadi IDE pengembagan aplikasi android.
Google Inc, Samsung, HTC, Qualcomm, Motorola dan lain-lain telah berkolaborasi dalam
pengembangan Android melalui Open Handset Alliance, sebuah aliansi multinasional yang
memimpin industri mobile dan teknologi. Aliansi ini bertujuan mendorong inovasi pada perangkat
mobile dan memberikan konsumen pengalaman yang jauh lebih baik daripada apa yang tersedia
pada platform mobile saat ini (Safaat Nazarudin, 2012).
2.2.4.2 Kelebihan Android
Sudah banyak platform untuk perangkat selular saat ini, termasuk didalamnya Symbian,
iPhone, Windows Mobile, BlackBerry, Java Mobile Edition, Linux Mobile (LiM0), dan banyak
lagi. Namun ada beberapa hal yang menjadi kelebihan Android. Walaupun beberapa fitur-fitur
yang ada telah muncul sebelumnya pada platform lain, Android adalah yang pertama
menggabungkan hal seperti berikut:
1. Keterbukaan, Bebas pengembangan tanpa dikenakan biaya terhadap system karena
berbasiskan Linux dan open source. Pembuat perangkat menyukai hal ini karena dapat
membangun platform yang sesuai yang diinginkan tanpa harus membayar royality.
Sementara pengembang software menyukai karena Android dapat digunakan diperangkat
manapun dan tanpa terikat oleh vendor manapun.
2. Banyak dukungan service, kemudahan dalam menggunakan berbagai macam layanan pada
aplikasi seperti penggunaan layanan pencarian lokasi, database SQL, browser dan
penggunaan peta. Semua itu sudah tertanam pada Android sehingga memudahkan dalam
pengembangan aplikasi.
3. Dukungan grafis dan suarat terbaik, dengan adanya dukungan 2D grafis dan animasi yang
diilhami oleh Flash menyatu dalam 3D menggunakan OpenGL memungkinkan membuat
aplikasi maupun game yang berbeda.
4. Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang ada saat ini maupun
yang akan datang. Semua program ditulis dengan menggunakan bahas pemrograman Java
dan dieksekusi oleh mesin virtual Dalvik, sehingga kode program portabel antara ARM,
13
X86, dan arsitektur lainnya. Sama halnya dengan dukungan masukan seperti penggunaan
Keyboard, layar sentuh, trackball dan resolusi layar semua dapat disesuaikan dengan
program.
2.2.5 Metode Prototipe
Prototipe sering disebut Rapid Application Design (RAD), karena pembuatan aplikasi
dengan menggunakan metode ini menyederhanakan dan mempercepat desain perancangan sistem
(Sudharyana, 2012). Menurut Ian Sommerville (1995), prinsip yang digunakan adalah untuk
membantu pengguna dan pengembang mengerti kebutuhan sistem. Berikut adalah beberapa
keuntungan menggunakan prototipe antara lain:
1. Pengembang menjadi lebih memahami kebutuhan pengguna.
2. Kekurangan fitur – fitur dapat terdeteksi.
3. Sistem kerja tersedia lebih awal.
4. Fitur – fitur yang membingungkan dapat didiskusikan.
Dalam penelitiannya, Sudharyana, P (2012) menyatakan dalam pengembangan software,
prototipe adalah proses untuk membuat versi awal untuk dievaluasi, sebelum menginvestasikan
sumber daya lain.