5 2. BAB II
LANDASAN TEORI
2.1 Tinjauan Pustaka
2.1.1 Sistem Informasi Bahasa Isyarat (SIBI)
Sistem Informasi Bahasa Isyarat (SIBI) merupakan bahasa isyarat yang resmi diakui oleh Pemerintah Indonesia [8].Dalam penggunaannya, SIBI identik dengan Bahasa Indonesia yang baku, di mana suatu kata dapat tersusun dari kata dasar dan berimbuhan. Sistem SIBI memiliki tatanan yang sistematis melalui isyarat jari, tangan, dan gerakan yang melambangkan kosakata dalam bahasa Indonesia. Kamus SIBI untuk abjad A-Z dapat dilihat pada Gambar 2.1.
Gambar 2.1 Kamus SIBI abjad A-Z [9].
2.1.2 You Only Look Once Version 3-Tiny (YOLOv3-tiny)
You Only Look Once Versi 3-Tiny (YOLOv3-Tiny ) merupakan algoritme yang digunakan untuk mendeteksi objek secara waktu nyata. Secara garis besar YOLOv3-tiny dalam memprediksi sebuah objek pada citra dilakukan dengan beberapa tahap. Tahap yang pertama yaitu citra yang akan diprediksi akan dibagi
6
ke dalam beberapa grid cell. Jumlah grid cell ditentukan dengan membagi banyaknya piksel pada citra input dengan nilai stride. Jumlah piksel citra input pada YOLOv3-tiny yaitu 416x416 piksel dan nilai stride yaitu sebesar 32, maka jumlah grid cell sebanyak 13x13. Grid cell sendiri yaitu garis hitam citra tangan pada Gambar 2.2. Setelah citra dibagi ke dalam beberapa grid cell, tahap selanjutnya yaitu akan YOLOv3-tiny memprediksi anchor box sebanyak B (nilai B dapat di deklarasikan) pada setiap grid cell. Anchor box dapat dilihat pada garis hitam putus-putus Gambar 2.3. Selanjutnya, dari anchor box yang sudah ada YOLOv3-tiny akan memprediksi kotak pembatas atau bounding box pada setiap objek. Dari kotak pembatas sudah ada, YOLOv3-tiny akan memilih kotak pembatas mana yang paling sesuai dalam memprediksi objek. Tahap umum sistem prediksi pada YOLOv3-tiny dapat dilihat pada Gambar 2.2.
Gambar 2.2 Alur kerja YOLOv3-tiny [6], [7].
Jaringan YOLOv3-tiny akan memprediksi 4 koordinat pada setiap kotak pembatas, yaitu tx, ty, tw, th. Parameter pw, ph merupakan dimensi anchor box. Jika suatu cell
merupakan batas dari sudut atas kiri gambar (cx, cy) dan anchor box memiliki lebar
dan tinggi pw, ph, maka prediksi bounding box dihitung dengan rumus sebagai
berikut:
!! = $(&!) + )! (2.1)
!" = $*&"+ + )" (2.2)
!# = ,#-$! (2.3)
7
Gambar 2.3 Kotak pembatas dengan anchor box dan prediksi lokasi [10].
Nilai bx merupakan titik tengah sumbu x pada kotak pembatas dan untuk mencari
nilai bx dapat menggunakan Persamaan 2.1. Sementara itu nilai by adalah titik tengah
sumbu y pada kotak pembatas. Nilai by dapat dicari dengan menggunakan
Persamaan 2.2. Nilai bw adalah lebar kotak pembatas dan untuk mencarinya dapat
menggunakan Persamaan 2.3. Untuk mencari nilai bh dapat menggunakan
Persamaan 2.4. Sedangkan bh sendiri yaitu panjang kotak pembatas. Setiap nilai bx,
by, bw, dan bh di normalisasikan semuanya antara 0–1.
YOLOv3-tiny memprediksi nilai/skor objektivitas atau skor yang merepresentasikan seberapa besar kemungkinan kotak pembatas tersebut memiliki objek pada setiap kotak pembatas. Prediksi kelas pada tiap kotak pembatas YOLOv3-tiny menggunakan multilabel clasification karena setiap kotak pembatas dimungkinkan memiliki lebih dari satu kelas ataupun tidak ada kelas sama sekali. Isi dari setiap kotak pembatas adalah (Boxes (Box coordinate+Objectness
score+classes)) dan dapat dilihat pada Gambar 2.3. yang merepresentasikan
contoh proses penentuan kelas dari tiap kotak pembatas.
YOLOv3-tiny menggunakan 2 skala yang berbeda (seperti pada Gambar 2.4) untuk memprediksi kelas. Dua skala yaitu memiliki ukuran 13x13 dan juga 26x26 grid
8
cell yang dirancang untuk mendeteksi objek dengan ukuran besar dan sedang [11]. Dari skala tersebut, dilakukan proses feature extraction. Setelah proses feature extraction, ditambahkan beberapa convolutional layer, dan kemudian akan memprediksi 3D tensor encoding bounding box, objek, dan prediksi kelas. Jika YOLOv3-tiny memprediksi 3 kotak pada setiap skala, maka tensor adalah N x N x (3 * (4 + 1 + 24)) di mana 4 merupakan koordinat kotak pembatas, 1 nilai prediksi objek, dan 24 banyak kelas prediksi.
Gambar 2.4 Jaringan piramida [12].
YOLOv3-tiny menggunakan jaringan Darknet sebagai feature extractor. Darknet53 memiliki 13 Convolutional layer yang digunakan untuk feature extraction dan 1 Convolutional layer yang digunakan sebagai output layer. Pada jaringan Darknet53, digunakan convolutional layer 3 x 3 dan juga 1 x 1 secara berturut-turut seperti pada Gambar 2.5.
2.1.3 Convolutional Layer
Proses konvolusi memanfaatkan filter. Seperti layaknya gambar, filter memiliki ukuran tinggi, lebar, dan tebal tertentu. Filter ini di inisialisasi dengan nilai tertentu (random atau menggunakan teknik lainnya). Nilai dari filter ini menjadi parameter yang akan diperbaharui dalam proses learning. Pada setiap posisi gambar, dihasilkan sebuah nilai yang merupakan hasil perkalian titik (dot product) antara citra postur tangan dengan filter yang digunakan. Dengan menggeser (convolve) filter di setiap kemungkinan posisi filter pada citra postur tangan, dihasilkan sebuah activation map. Activation map sendiri yaitu teknik untuk mendapatkan wilayah
9
gambar diskriminatif yang digunakan Convolutional Neural Network untuk mengidentifikasi kelas tertentu [13]. Simulasi penggeseran filter dapat dilihat pada Gambar 2.6.
Gambar 2.5 Arsitektur YOLOv3-tiny.
Gambar 2.6 Simulasi filter CNN dengan ukuran 3x3 dan bergeser 1 cell setiap waktu [14].
2.1.4 Max-pooling Layer
Max-pooling layer yaitu layer yang akan mengambil nilai maksimum berdasarkan filter kx dan ky, di mana kx adalah jumlah kolom dan ky adalah jumlah baris [15]. Sebagai contoh, pada Gambar 2.7 bagian input terdapat gambar dengan dimensi
10
4x4, lalu apabila nilai kx adalah 2 dan ky adalah 2 maka akan dilakukan pencarian nilai maksimum seperti yang ditunjukkan pada bagian cari nilai maksimum. Setelah ditemukan nilai maksimum maka tahap selanjutnya yaitu bagian blok yang dicari nilai maksimumnya akan dijadikan satu piksel dengan nilai dari piksel tersebut sesuai dengan nilai maksimum yang telah ditemukan. Proses tersebut dilakukan pada setiap piksel dari gambar dengan Langkah-langkah yang sama seperti yang ditunjukkan pada Gambar 2.7.
Gambar 2.7 Simulasi max-pooling layer.
2.1.5 K-Fold Cross Validation
Cross-validation (CV) adalah metode statistik yang dapat digunakan untuk mengevaluasi kinerja model atau algoritme di mana data dipisahkan menjadi dua subset yaitu data proses pembelajaran dan data validasi / evaluasi. Model atau algoritme dilatih oleh subset pembelajaran dan divalidasi oleh subset validasi. Selanjutnya pemilihan jenis CV dapat didasarkan pada ukuran data set. Biasanya CV K-fold digunakan karena dapat mengurangi waktu komputasi dengan tetap menjaga keakuratan estimasi [16]. Nilai K menunjukkan jumlah partisi data dan jumlah iterasi yang akan dilakukan. Simulasi untuk nilai K=3 dapat dilihat pada Gambar 2.8.
11
Gambar 2.8 Simulasi pembagian data dan iterasi k-fold cross validation [16].
2.1.6 Confusion Matrix
Confusion matrix adalah tabel yang digunakan dalam menghitung performa model pembelajaran yang telah dibuat. Dalam perhitungannya, terdapat 4 istilah yaitu true positive (TP), true negative (TN), false positive (FP), dan false negative (FN [18]. Nilai true positive (TP) merupakan jumlah data positif (aktual) yang diprediksi menggunakan model pembelajaran dan hasil prediksinya adalah positif, sedangkan true negative (TN) merupakan data negatif (aktual) yang hasil prediksinya adalah negatif. Sementara itu, false positive (FP) merupakan data aktualnya adalah negatif, tetapi ketika diprediksi menggunakan model hasil pembelajaran hasilnya adalah positif. False negative (FN) merupakan kebalikan dari false positive (FP), sehingga data aktualnya adalah negatif, namun diprediksi sebagai data negatif. Untuk lebih singkat tentang perbandingan TP, TN, FP, dan FN dapat dilihat pada Tabel 2.1.
Tabel 2.1 Tabel confusion matrix.
Actual Values + – Pr ed ic te d Va lu es + TP FP – FN TN
12
Nilai akurasi merupakan persentase jumlah data yang diklasifikasikan dengan benar oleh suatu algoritme. Untuk mendapatkan nilai dapat ditulis ke dalam Persamaan 2.5.
>?@ABCD =&'(&)(*'(*)&'(&) (2.5)
2.2 Tinjauan Studi
Penelitian terkait dengan bahasa isyarat dan juga YOLOv3-tiny dikaji dan dipelajari guna dijadikan acuan dan perbandingan dalam melakukan penelitian ini. Penelitian yang dilakukan oleh Erdefi, dkk. [1],menggunakan metode GLVQ untuk klasifikasi suatu kelas dari hasil feature extraction yang dilakukan oleh kinect. Objek yang diteliti yaitu SIBI. Pada penelitian ini fokus terhadap alfabet A-Z. Hasil dari penelitian yang dilakukan Erdefi, dkk. [1] yaitu akurasi 88,89% dengan menggunakan metode komputasi cross correlation value menggunakan 5 frame horizontal, akurasi 84,72% dengan menggunakan 5 frame vertikal, dan akurasi 97,22% dengan menggunakan 5 frame horizontal + Vertikal.
Bahasa isyarat Amerika atau American Sign Language yang kemudian disingkat menjadi ASL pernah diteliti oleh Brandon Garcia [19]. Pada penelitiannya, citra gerakan tangan ASL diterjemahkan ke dalam huruf menggunakan algoritme Convolutional Neural Network (CNN). Penelitian tersebut mendeteksi objek ASL alfabet A-Z. Hasil dari penelitian ini yaitu untuk memiliki akurasi terbaik sebesar 91,63%.
Penelitian yang dilakukan oleh Adarsh, dkk. [11], menggunakan YOLOv3-tiny sebagai salah satu metode penelitiannya. Hasil dari penelitian tersebut menunjukkan bahwa YOLOv3-tiny mampu mendeteksi objek seperti orang dan anjing dengan cukup baik dengan nilai presisi mencapai 96%.
Penelitian yang dilakukan Panjaitan, dkk. [20], algoritme YOLOv3 digunakan sebagai pendeteksi objek secara waktu nyata. Objek yang dideteksi yaitu sampah berupa kertas dan tisu. Hasil dari penelitian ini yaitu YOLOv3 dapat mendeteksi objek sampah kertas dengan akurasi sebesar 42% dan mendeteksi sampah tisu dengan akurasi sebesar 91%.
13
Syulistyo, dkk. [21] dalam penelitiannya yang berjudul “SIBI (Sistem Isyarat Bahasa Indonesia) translation using Convolutional Neural Network (CNN)” menjelaskan bahwa dengan menggunakan CNN citra postur tangan SIBI dapat di terjemahkan ke teks dengan menggunakan algoritme CNN. Penelitian ini memiliki batasan yaitu hanya menerjemahkan 3 kelas, “Assalamualaikum”, “Halo”, dan “A”. Hasil yang didapat dari penelitian ini yaitu memiliki akurasi 100% untuk tiap kelasnya.
Penelitian yang berjudul “Mobile Sign Language Recognition for Bahasa Indonesia using Convolutional Neural Network” yang dilakukan oleh Pujianto, dkk. [22] mampu menerjemahkan huruf A-Z kecuali J dan R dengan akurasi terbaik mencapai 92.51%. Penelitian ini menguji model dengan setiap kategori huruf sebanyak 200 gambar. Penelitian ini juga mampu memprediksi secara waktu nyata dengan menjalankan model pada aplikasi Android. Metode yang digunakan pada penelitian ini yaitu CNN dengan objek yang diteliti yaitu Bahasa Isyarat Indonesia (BISINDO).
Penelitian yang menggunakan YOLOv3 pernah dilakukan oleh Tian, dkk. [7] dengan judul “Apple detection during different growth stages in orchards using the improved YOLO-V3 model”. Pada penelitian ini, objek yang dideteksi yaitu apel. Terdapat 3 kelas yang dideteksi yaitu apel muda, apel sedang, dan apel yang sudah matang. Hasil dari penelitian ini, YOLOv3 mampu mendeteksi dengan masing-masing nilai F1 yaitu apel muda sebesar 78.3%, apel sedang sebesar 79.1%, dan apel matang sebesar 80.9%.
Berdasarkan penelitian terkait di atas, dapat disimpulkan bahwa belum terdapat penelitian mengenai performa YOLOv3-tiny yang digunakan untuk menerjemahkan citra tangan SIBI. Oleh sebab itu, pada penelitian YOLOv3-tiny akan digunakan sebagai algoritme untuk menerjemahkan citra postur tangan SIBI ke dalam huruf sehingga menjadi sebuah penelitian baru. Hasil dari penelitian ini yaitu YOLOv3-tiny diharapkan menghasilkan model yang memiliki nilai akurasi yang baik dalam menerjemahkan citra postur tangan SIBI. Selain itu, hasil lain yang ingin dicapai yaitu penerjemahan citra postur tangan ke dalam huruf dapat dilakukan melalui aplikasi mobile secara waktu nyata yang dihitung mulai dari
14
proses akuisisi objek yang akan diterjemahkan sampai dengan keluar hasil berupa kotak pembatas, kelas, dan nilai presisi. Perbandingan penelitian terkait dengan penelitian yang akan dilakukan dapat dilihat pada Tabel 2.2 berikut.
Tabel 2.2 Ringkasan Penelitian Terkait.
No Model Masalah Penelitian Metode Objek Hasil
1 Erdefi dkk. (2012) [1] Spectral Domain Cross Correlation Function and Generalized Learning Vector Quantization for Recognizing and Classifying Indonesian Sign Language Generalized Learning Vector Quantization (GLVQ) Sistem Isyarat Bahasa Indonesia 5 frame H: 99,89%, 5 frame V: 84,72%, dan 5 frame H+V: 97,22% 2 Brando n Garcia (2016) [19] Real-time American Sign Language Recognition with Convolutional Neural Networks Convolutiona l Neural Networks (CNN) American Sign Language Akurasi: 91,63% 3 Adarsh, dkk. (2020) [11]
YOLO v3-Tiny: Object Detection and
Recognition using one stage improved model
YOLO v3-Tiny Manusia dan anjing Presisi lebih dari 69% 4 Panjaita n dkk. (2019) [20] Prototyping Garbage Collection Robot Using Yolo V3 Real-Time Object Detection Case Study: Paper And Tissue You Only Look Once Version 3 Kertas dan Tisu Kertas: 42%, Tisu: 91% 5 Syulist yo, dkk. (2020) [21]
SIBI (Sistem Isyarat Bahasa Indonesia) translation using Convolutional Neural Network (CNN) Convolutiona l Neural Networks (CNN) Sistem Isyarat Bahasa Indonesia Akurasi: 100% 6 Pujiant o, dkk. (2018) [22]
Mobile Sign Language Recognition for Bahasa Indonesia using Convolutional Neural Network Convolutiona l Neural Networks (CNN) Bahasa Isyarat Indonesia (BISINDO ) Akurasi: 92.51%
15
No Model Masalah Penelitian Metode Objek Hasil
7 Tian, dkk. [7]
Apple detection during different growth stages in orchards using the
improved YOLO-V3 model You Only Look Once version 3 Apel F1 Score: 78.3%, 79.1%, dan 80.9% 8 Rahma d Nurhud a (2021) Implementasi
Algoritme You Only
Look Once Versi 3-Tiny (YOLOv3-3-Tiny )
Untuk Menerjemahkan Citra Postur Tangan Ke Dalam Huruf
(Studi Kasus: Sistem Isyarat Bahasa Indonesia (SIBI)) You Only Look Once Version 3-Tiny Sistem Isyarat Bahasa Indonesia Model dapat menerjemahkan citra postur tangan ke dalam huruf SIBI dan Aplikasi dapat menerjemahkan secara waktu nyata