pengenalan bahasa isyarat tangan menggunakan metode pca...
TRANSCRIPT
Pengenalan Bahasa Isyarat Tangan
Menggunakan Metode PCA dan
Haar-Like Feature
Oleh :
ATIK MARDIYANI
(2207100529)
Dosen Pembimbing :
1) Prof.Dr.Ir. Mauridhi Hery Purnomo M.Eng.
2) Dr. I Ketut Eddy Purnama ST., MT.
BAHASA ISYARAT
Bahasa yang mengutamakan komunikasi
manual, yaitu menggunakan bahasa tubuh,
tangan dan gerakan bibir tanpa suara.
Komunikasi yang berguna bagi para
tunarungu.
BATASAN MASALAH TUGAS AKHIR
Dibuat hanya menentukan bahasa isyarat statik saja dimana gambar (image 2 dimensi) konfigurasi tangan dan jari sebagai komponen utama.
Aplikasi ini dapat digunakan oleh satu orang saja.
Karena sifat bahasa isyarat yang tidak universal serta kompleks maka sistem ini hanya menerjemahkan isyarat huruf A hingga Z, kecuali huruf I dan J.
Background yang ada menggunakan background putih atau putih kecoklatan.
Pencahayaan harus cukup (normal).
Hasil keluaran dari aplikasi ini berupa text atau dimana text yang dihasilkan bersesuaian dengan huruf alfabet pada sistem isyarat bahasa Indonesia (SIBI).
Aplikasi ini menggunakan bahasa pemrograman C# dan library EmguCV.
DIGITAL IMAGE PROCESSING
Pengolahan citra digital merupakan suatu metode yang dipergunakan untuk melakukan proses atau manipulasi gambar digital yang disimpan dalam skala dua dimensi. (Gonzalez & Wood, 2002)
Tujuan : Mengolah dan memproses dari gambar asli agar menghasilkan gambar lain sesuai dengan kebutuhan
Dasar dari pengolahan citra adalah pengolahan warna RGB pada tiap pixel
TEKNIK PENGAMBILAN CITRA
Model citra digital dinyatakan dalam bentuk
matrik yang nilainya berupa nilai derajat
keabuan.
Citra dengan derajat keabuan (citra gray level)
bisa memiliki beragam nilai derajat keabuan,
mulai dari 2 nilai derajat keabuan yaitu 0 & 1
(citra biner),
RGB TO GRAYSCALE
Untuk citra berwarna digunakan model RGB (Red, Green, Blue) dimana satu citra berwarna dinyatakan sebagai 3 buah matrik gray-scale yang berupa matrik untuk Red (R-layer), Green (G-layer) dan Blue (B-layer).
Mengubah citra RGB menjadi citra grayscale digunakan untuk menyederhanakan model citra, sehingga waktu yang dibutuhkan untuk melakukan proses selanjutnya berjalan lebih cepat
Nilai grayscale :
S = 3
bgr
METODE PCA
(Principal Component Analysis) Metode Principal Component Analysis (PCA) merupakan suatu
metode matematika untuk merepresentasikan data, mengekstraksi ciri-ciri data tersebut dan mereduksinya dengan cara mentransformasikannya menggunakan eigenvalue dan eigenvektor secara linier
Kegunaan utama dari Principal Component Analysis (PCA) adalah untuk mengurangi variasi yang ada dengan tetap menjaga informasi yang diperlukan, supaya variasi yang tersisa memang variasi yang paling menonjol dan paling mencerminkan feature yang ada. Sisa variasi yang tersisa ini disebut sebagai Principal Component. Pada proses pengurangan variasi ini dilakukan dengan mereduksi daerah matriks yang mempunyai nilai ciri mulai dari yang paling lemah. Kegunaan lain dari Principal Component Analysis (PCA) adalah akan membuat aplikasi yang menggunakannya akan lebih cepat, karena data yang digunakan sudah direduksi. Suwandi et al (2006 : hal 8 )
DETEKSI OBJEK
HAAR-LIKE FEATURE
TEORI VIOLA JONES
INTEGRAL IMAGE
CASCADE CLASSIFIER
STAGE CLASSIFIER
HAAR-LIKE FEATURE
Ada beberapa alasan mengapa harus menggunakan fitur daripada pengolahan pixel secara langsung.
1. Bahwa fitur dapat bertindak untuk melakukan encode ad-hoc pada daerah pengetahuan yang sukar untuk dipelajari apabila menggunakan suatu kuantitas data pelatihan yang terbatas.
2. Operasi dasar dari suatu fitur jauh lebih cepat jika dibandingkan dengan pengolahan pixel.
Nilai haar-like feature adalah perbedaan antara jumlah nilai-nilai piksel gray level dalam daerah kotak hitam dan daerah kotak putih
f(x) = sum black rectangle(pixel gray level) – sum white rectangle(pixel gray level)
TEORI VIOLA JONES
Ada 3 kontribusi utama dalam teori viola jones , yaitu :
Integral Image, yaitu penyajian gambar menggunakan teknik
yang mengijinkan perhitungan feature dapat dilakukan
dengan cepat karena dilakukan pada waktu yang konstan.
Adaptive Boosting atau AdaBoost, adalah metode untuk
membangun suatu pengklasifikasian dengan menyeleksi
sejumlah fitur penting.
Mengkombinasikan pengklasifikasian dalam sebuah stuktur
cascade yang akan meningkatkan kecepatan dari proses
pendeteksian, yaitu dengan cara memusatkan perhatian
pada daerah-daerah dalam image yang berpeluang saja. Hal
ini dilakukan untuk menentukan di mana letak obyek yang
dicari pada suatu gambar.
INTEGRAL IMAGE
Representasi tengah (intermediate) untuk suatu citra yang terdiri dari jumlah nilai keabu-abuan (grayscale pixel) dari citra tersebut dengan tinggi y dan lebar x.
Integral Image pada lokasi x,y merupakan jumlah dari piksel-pixel mulai dari atas sampai piksel sebelah kiri dari x,y.
ii(x,y) = Σx’< x,y’ < y i (x’, y’)
ii(P4) + ii(P1) – ii(P2) – ii(P3) jumlah nilai-nilai piksel di dalam “D”: P1 = A P2 = A + B P3 = A + C P4 = A + B + C + D P1 + P4 - P2 - P3 = A + A + B + C + D – A – B – A – C = D
CASCADE CLASSIFIER
Sebuah rantai stage classifier, dimana
setiap stage classifier digunakan untuk
mendeteksi apakah di dalam image sub
window terdapat obyek yang diinginkan
(object of interest).
STAGE CLASSIFIER
Stage classifier dibangun dengan menggunakan algoritma adaptive-boost (AdaBoost). Algoritma tersebut mengkombinasikan performance banyak weak classifier untuk menghasilkan strong classifier.
Weak classifier dalam hal ini adalah nilai dari haar-like feature.
Algoritma pembelajaran AdaBoost digunakan untuk meningkatkan performa pengklasifikasian weak learning algorithm.
DESAIN DAN IMPLEMENTASI SISTEM
Menggunakan pemograman C# dan library Emgu CV.
Diagram blok sistem sbb :
Tahap Pengenalan Data
Tahap Awal Pengambilan Data
Webcam Laptop
Capture Image Ekstraksi Image
Set Data Image Training(.bmp)
Deteksi Objek Tangan(Haar Training)
Webcam Laptop
Capture Image Deteksi Objek Tangan(Haar Training)
Identifikasi ImageYang Diharapkan
Hasil PengenalanBahasa Isyarat
(Text)
Hitung PCA(Eigen Vektor & Eigen
Value
PROSES CAPTURE IMAGE
Resolusi display
yang digunakan
320 x 240.
Dalam melakukan
koneksi dengan
webcam,
menggunakan
fungsi capture pada
EmguCV.
MULAI
INISIALISASI
WEBCAM ?
CAPTURE IMAGE
SELESAI
STOPWEBCAM
N
Y
N
Y
PROSES DETEKSI OBJEK Pada proses ini pendeteksian dilakukan dengan
menggunakan algoritma haar classifier.
Dalam melakukan proses haar classifier dibutuhkan data training berupa data image positif dan image negatif.
Tool atau program yang digunakan adalah :
1. Objectmarker.cpp, program ini digunakan untuk manandai object secara manual.
2. Createsamples.cpp, program ini digunakan untuk menciptakan sample dataset positif.
3. Haartraining.cpp, program ini digunakan untuk proses training.
4.Convert_cascade.cpp, program ini digunakan untuk mengubah cascade classifier ke bentuk file xml, untuk kemudian digunakan pada program utama.
Mengumpulkan gambartangan yang akan dideteksi
(gambar positif) sebagaipembanding
MULAI
Selesai
Mengubah nilai cascade kefile .xml database
Mendapatkan nilai cascade
Haar Training
Membuat sampel baru imagepostif tangan
Mengambil potongan gambarbentuk tangan (Crop Image)
sebagai penanda objek
PROSES PENYIMPANAN DATA IMAGE
Pengambilan data jumlah data image yang
diambil untuk setiap bentuk postur tangan
,dimana image ini merepresentasikan huruf
A-Z (kecuali huruf J dan Z).
Data image diambil dengan posisi tegak , dan
jarak yang telah ditentukan (30 s/d 50cm).
Dari setiap hasil capture image deteksi objek
disimpan dalam format grayscale (*.bmp)
berukuran 48x48 pixel.
MULAI
Hitung DataTraining
DeteksiObjek
Tangan
Crop dan ResizeImage
Pelabelan danshow image(grayscale)
SELESAI
N
Y
PROSES PENGENALAN DENGAN EIGEN OBJECT
Dalam library Emgu CV terdapat fungsi EigenObject dimana fungsi ini dapat digunakan sebagai tahapan klasifikasi dan pengenalan suatu objek.
Informasi - informasi yang relevan dari data yang disimpan akan dilakukan tahap penghitungan eigenvalue dan eigenvector dari citra bentuk tangan dan jari
MULAI
Input Capture
EigenObject Data fitur tangan(deteksi_tangan.xml)
Hitung rata-rata perbedaandata fitur input dan fitur hasil
training
Pengenalan danIdentifikasi
Tangan
SELESAI
PENGUJIAN & ANALISA SISTEM
PENGUJIAN AKURASI DETEKSI
TERHADAP CAHAYA
PENGUJIAN AKURASI DETEKSI
TERHADAP JARAK
PENGUJIAN AKURASI PROGRAM
(Baca Huruf)
UJI DENGAN KURVA ROC
PENGUJIAN AKURASI DETEKSI
TERHADAP CAHAYA
Uji ke- Gelap Normal Remang
1 X V V
2 X V V
3 X V X
4 X V X
5 X V V
6 X V X
7 X V V
8 X V V
9 X V V
10 X V V
Akurasi
Terdeteksi 0% 100% 70%
• Faktor pencahayaan sangat
mempengaruhi deteksi
objek tangan.
• Program yang dijalankan
harus berada pada kondisi
pencahayaan yang cukup
(normal)
Keterangan : X = terdeteksi V = tidak terdeteksi
Tabel 1
PENGUJIAN AKURASI DETEKSI
TERHADAP JARAK
Uji Coba
Ke-
Jarak (cm)
10 30 50 70 90
1 X V V V X
2 X X V V V
3 X V V X V
4 X X V V X
5 X V V V X
6 V V V V X
7 X V V V X
8 X V V V V
9 X V V X X
10 X V V X V
Akurasi
Terdeteksi 10% 80% 100% 70% 40%
Keterangan : X = terdeteksi V = tidak terdeteksi
Faktor jarak antara alat
(webcam) dan objek tangan
mempengaruhi dalam
pendeteksian
Tabel 2
PENGUJIAN AKURASI PROGRAM
(Baca Huruf)
Huruf
Percobaan ke- Akurasi Deteksi
1 2 3 4 5 6 7 8 9 10
A Y Y Y Y Y Y Y Y Y Y 100%
B Y Y Y Y Y Y Y Y Y Y 100%
C Y Y Y Y Y Y Y Y Y Y 100%
D Y Y N Y N Y Y N Y Y 80%
E Y N N N Y Y N N Y N 60%
F Y Y Y Y Y Y Y Y Y Y 100%
G Y Y Y Y Y Y Y Y N Y 90%
H Y Y Y Y Y Y Y Y Y Y 100%
I Y N Y Y Y N Y Y Y Y 80%
K Y Y Y Y Y Y Y Y Y Y 100%
L Y Y Y N N Y Y N Y Y 70%
M N N Y N Y N Y Y N N 40%
N N Y N Y Y N N N Y N 40%
O Y Y Y Y Y Y N Y Y Y 90%
P Y Y Y Y Y Y Y Y Y N 90%
Q Y Y Y Y Y Y Y Y Y Y 100%
R Y Y N Y Y N Y N Y Y 70%
S N Y Y N N Y N N N Y 40%
T Y N N Y Y Y N N N N 40%
U Y Y Y Y N Y Y Y N Y 80%
V Y Y Y Y Y Y Y Y Y Y 100%
W Y Y Y Y Y Y Y N Y Y 90%
X Y Y Y N Y Y Y Y Y Y 90%
Y Y Y N Y Y Y Y N Y Y 80%
Rata-Rata Akurasi Deteksi Tangan 80,42 %
Tabel 3
KURVA ROC
(Receiver Operating Characteristics)
Teknik pengujian yang digunakan untuk menilai kinerja atau performa sistem
KESIMPULAN Dari hasil pengujian dapat disimpulkan bahwa faktor pencahayaan pada
program yang telah dibuat sangat berpengaruh dalam pendeteksian objek.
Pencahayaan normal (pecahayaan tidak terlalu terang, remang, maupun
gelap) memiliki efektivitas deteksi tangan sebesar 100%.
Jarak efektif deteksi objek tangan dilakukan pada jarak 30 s/d 50 cm.
Selebihnya akurasi baca tangan akan turun pada jarak melebihi jarak
tersebut.
Posisi deteksi baca tangan hanya dapat dilakukan pada posisi tegak sesuai
dengan bentuk bahasa isyarat yang telah ditentukan.
Dengan menggunakan metode PCA (EigenObject) pada program yang
telah dibuat memiliki akurasi rata-rata baca huruf sebesar 80,42%.
Untuk pembacaan huruf M, N, S, T memiliki akurasi baca yang rendah 40%
dikarenakan adanya kesamaan pola atau postur tangan huruf A dan E.
Program yang telah dibuat hanya dapat mengenali huruf statis berupa text
huruf tanpa adanya pergerakan sehingga untuk pembacaan huruf I dan J
belum dapat dilakukan karena huruf ini menggunakan gerakan dinamik
tangan.