1
BAB II
TINJAUAN PUSTAKA
2.1 Tinjauan EmpirisDalam 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 (GrayScale)
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.1Pencarian 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
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.2Penentuan 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.3Penentuan 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:
10
𝜃(𝑥, 𝑦) = 𝑡𝑎𝑛−1 ((𝐿(𝑥,𝑦+1)−𝐿(𝑥,𝑦−1))
(𝐿(𝑥+1,𝑦)−𝐿(𝑥−1,𝑦))) ………. (2.9)
2.2.3.4Deskriptor 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.1Perkembangan 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 danlain-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 daripadaapa yang tersedia pada platform mobile saat ini (Safaat Nazarudin, 2012).
2.2.4.2Kelebihan 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.