Sabtu, 19 Juli 2014



PENGENALAN POLA KARAKTER TULISAN TANGAN MENGGUNAKAN METODE DISCRETE COSINE TRANSFORM (DCT) DAN LEARNING VECTOR QUANTIZATION (LVQ)
*Ummu Zazilah, **Cucun Very Angkoso
Program Studi Teknik Informatika, Fakultas Teknik
Universitas Trunojoyo
E-mail: *ummujazilah@gmail.com, ** cucunvery@if.trunojoyo.ac.id
Abstrak
Pengenalan tulisan tangan merupakan salah satu cabang dari pengenalan pola. Penelitian ini membahas sistem pengenalan tulisan tangan offline yang menggunakan pencirian lokal dari karakter-karakter tulisan. Salah satu faktor penentu dalam pengenalan tulisan tangan adalah model atau bentuk tulisan tangan dari penulis yang mampu dikenali. Citra masukan dalam penelitian ini berasal dari 10 responden, tiap responden menuliskan 26 karakter huruf abjad kapital. Dari 10 pola tulisan yang ada akan diuji tingkat kebenarannya dengan data pelatihan yang sebelumnya telah diproses dan disimpan dalam database. Pada penelitian ini proses ekstraksi ciri menggunakan Discrete Cosine Transform untuk menentukan karakteristik dari huruf, setelah itu diklasifikasi menggunakan metode Learning Vector Quantizatian untuk mengukur kemiripan antara data pelatihan dan data uji coba. Hasil penelitian dengan menggunakan ekstraksi ciri DCT dan klasifikasi LVQ diperoleh akurasi pengenalan dengan prosentase keberhasilan tertinggi 86%.
Kata kunci: DCT, LVQ, error minimum, Pengenalan tulisan tangan.
Abstract
Handwriting recognition is one topics in the domain of pattern recognition research. This study discusses the offline handwriting recognition system using local characterization of handwritten characters. We are using 10 respondents which each respondents is writing the entire 26-character alphabet but only its capital letters. Feature extraction are being used in this study is Discrete Cosine Transform. The Learning Vector Quantization then used to measure the similarity of the objects. The results of DCT feature extraction with LVQ classification obtained the accuracy percentage of success 86%.
Key words: DCT, LVQ, minimum error, Handwriting recognition

PENDAHULUAN
Pengenalan karakter tulisan tangan offline otomatis adalah kemampuan komputer untuk membedakan karakter dan kata-kata, dapat dibagi menjadi pengenalan karakter cetak dan tulisan tangan. Karakter yang dicetak memiliki satu gaya dan ukuran untuk font tertentu. Namun, karakter tulisan tangan memiliki gaya dan ukuran yang bervariasi baik bagi penulis yang sama atau penulis yang berbeda [1]. Hal ini menunjukkan betapa dibutuhkan sistem yang mampu mengenali berbagai gaya penulisan dari masing – masing orang.
Dalam sebuah sistem pengenalan, pemilihan metode ekstraksi ciri yang dapat

menjadi langkah penting untuk mencapai akurasi pengenalan yang tinggi. Sebagai contoh, Discrete Cosine Transform (DCT) dapat digunakan untuk mengekstraksi ciri dari kata – kata tulisan tangan. Disajikan suatu teknik untuk pengakuan kata – kata tulisan tangan dimana DCT digunakan untuk mengekstraksi ciri dari kata itu. Ciri – ciri ini kemudian menggunakan jaringan syaraf tiruan dalam tahap klasifikasi [2].
Pada penelitian sebelumnya, pengenalan karakter tulisan tangan Arab, membandingkan efektivitas metode DCT dan DWT untuk menangkap ciri diskriminatif karakter tulisan tangan Arab. Koefisien dari kedua metode telah digunakan untuk klasifikasi didasarkan


pada implementasi jaringan syaraf tiruan. Hasilnya telah dianalisis dan telah menunjukkan bahwa ekstraksi ciri berbasis DCT menghasilkan pengenalan yang tinggi yaitu 91.87% [1].
Tujuan dari sistem ini mampu melakukan pengenalan karakter pada kata tulisan tangan menggunakan ekstraksi ciri Discrete Cosine Transform (DCT) dan Learning Vector Quantization (LVQ) yang diharapkan dapat melakukan pengenalan pola tulisan tangan dengan tingkat akurasi pengenalan yang tinggi. Batasan masalah dalam sistem ini adalah Sistem yang digunakan adalah offline. Kedua, data masukan dalam sistem ini adalah file gambar berekstensi .bmp tulisan tangan. Ketiga, sistem hanya dirancang untuk mengenali huruf abjad kapital tulisan tangan dan batasan masalah yang keempat pada sistem adalah Citra yang digunakan adalah hitam dan putih, dan citra diam (still image).
Discrete Cosine Transform (DCT)
Discrete Cosine Transform (DCT) adalah metode sebuah transformasi citra yang mengubah fungsi dari domain spasial ke domain frekwensi. [3]
1D – Discrete Cosine Transform (DCT – 1 D) Definisi secara umum 1D-DCT dapat dituliskan dalam persamaan (1):
N − 1
C(u) =α(u) I f(x) cos ð(2x+1)ull (1)
2 N
x=0
Dimana untuk. u = 1, 2, 3,              ,N−1.
Untuk invers DCT – 1D dapat ditulis dalam persaman (2) :
N −1
f(x) = I á( ) ( ) cos
u C u
x=0
(2)
Dimana untuk u= 1, 2, 3, ,N−1
Baik untuk persamaan 1 dan 2, á(u) dapat dituliskan dalam bentuk persamaan (3) :

pada persamaan (1) diabaikan maka
persamaan (1) akan menjadi persamaan (4) :
N−1        ð(2x+ 1)u 1
C(u) =     cos         (4)
2N y = 0
Discrete Cosine Transform 2D (DCT – 2D) DCT – 2D merupakan pengembangan dari
DCT – 1D, maka transformasi diskrit dapat dinyatakan dalam bentuk persamaan (5) :
N − 1 M − 1
2             ð(2 1)
x u
               +             π (2 1)
y v
+
g x y u v               
( , , , ) = α α
( ) ( )
u v          f x y
( , ) cos  cos       
MN .      2 N         2M
J
x = 0 y = 0
(5)         
Dimana u = 0, 1, 2,           ,N−1 dan
v= 0, 1, 2,            ,N−1. Invers DCT 2
Dimensi dapat dituliskan dalam bentuk persamaan (6).
2N−1 M−1
f x y       
( , )=       α(u)α(v) C u v
( , )cos
M.N       x 0
= y0
=
(6)         
Dimana :
M= Ukuran dimensi dari baris sebuah
citra
N= Ukuran dimensi dari kolom sebuah
citra
x= nilai pixel lebar citra
y= nilai pixel tinggi citra
u= nilai koefisien lebar citra
v= nilai koefisien tinggi citra
Proses pengambilan nilai koefisien DCT secara zigzag dapat dilihat pada gambar 1.

Gambar 1. Proses pengambilan nilai
koefisien DCT dengan zigzag
Seperti yang telah dijelaskan diatas bahwa DCT merupakan proses perubahan signal/citra dari ruang/domain spasial ke ruang/domain frekuensi, sehingga transformasi ini menghasilkan sebuah matriks frekuensi dari citra yang dimasukkan. Pada Gambar (2) Frekuensi rendah yang dihasilkan umumnya terkumpul di sudut kiri atas (hal ini di lambangkan dengan nilai DCT yang tinggi) sedangkan semakin ke bawah frekuensi yang dihasilkan semakin tinggi dilambangkan dengan nilai DCT yang semakin rendah [1].


Learning Vector Quantization (LVQ)
Learning Vector Quantization (LVQ) adalah suatu metode untuk melakukan pembelajaran pada lapisan kompetitif yang terawasi. Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vector – vector input. Kelas – kelas yang didapatkan sebagai hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vector – vector input, jika dua vector input mendekati sama maka lapisan kompetitif akan meletakkan kedua vector tersebut ke dalam vector yang sama [4].
Secara garis besar algoritma Learning Vector Quantization (LVQ) sebagai berikut [4]:
1.            Inisialisasi bobot (W), maksimum epoh (max epoh), error minimum yang diharapkan (eps), learning rate (α). Bobot diinisialisasi secara random sedangkan max epoh dan learning rate digunakan untuk menentukan batas ambang komputasi.
2.            Input : x (m,n)
Target : T(1,n)
Input adalah matik input dari citra tulisan sedangkan target adalah kelas bobot training.
3.            Melakukan          proses   sebagai
berikut:
Selama (epoh, max epoh) atau (α>eps)
a. Epoh = epoh+1
b. Kerjakan untuk i=1 sampai n
i.             Tentukan j sedemikian rupa sehingga ||11 x – Wj || minimum (sebut sebagai Cj )
ii.            Perbaiki Wj dengan ketentuan Jika T = Cj maka :
W(baru) =W(lama) + α(x – W(lama)) jjj
Jika T ≠ Cj maka :
W(baru) =W(lama) - α(x – W(lama) ) jjj
c. Kurangi nilai α RANCANGAN SISTEM
Pada kedua proses tersebut terdapat awal proses yang sama yaitu adalah pemrosesan awal citra dan ekstraksi ciri. Hasil akhir dari metode LVQ adalah bobot pelatihan yang disimpan ke dalam database/file. Hasil akhir dari pengenalan citra adalah citra karakter tulisan tangan yang berhasil dikenali. Berikut perincian proses pelatihan pada gambar 2 :

Gambar 2. Desain sistem
1.            Citra masukan berasal dari file berekstensi *.bmp, satu citra training terdiri dari satu kata (tulisan tangan huruf abjad dari A-Z)
2.            Citra masukan diproses awal yaitu proses konversi true color menjadi grayscale, kemudian konversi grayscale menjadi biner, dan cropping untuk memecah kata menjadi per karakter (per huruf) serta dinormalisasi ukuran menjadi 32 x 32.
3.            Citra hasil normalisasi yang berupa citra biner menjadi masukan dalam proses ekstraksi ciri dengan menggunakan metode DCT untuk menghasilkan koefisien.
4.            Citra hasil ekstraksi ciri tersebut dilatih dengan LVQ untuk menghasilkan bobot yang digunakan untuk proses pengenalan citra.
5.            Hasil bobot LVQ disimpan dalam media penyimpanan (database atau file).
Untuk proses pengujian pada gambar 2:
1.            Citra masukan berasal dari file berekstensi *.bmp, satu citra training terdiri dari satu kata (tulisan tangan)
2.            Citra masukan diproses awal yaitu proses konversi true color menjadi grayscale, kemudian konversi grayscale menjadi biner, dan cropping untuk memecah kata menjadi per karakter (per huruf) serta di normalisasi ukuran menjadikan 32 x 32.
3.            Citra hasil normalisasi yang berupa citra biner menjadi masukan dalam proses ekstraksi ciri dengan menggunakan metode DCT untuk menghasilkan koefisien.
4.            Dilakukan proses pengenalan citra karakter tulisan tangan menggunakan metode Euclidean Distance dengan bobot LVQ yang telah ada sebelumnya.


Hasil dari pengenalan citra adalah sebuah output mengenai kata tulisan tangan.
HASIL DAN PEMBAHASAN
Pada program ini diujikan kepada 10 responden. Tiap responden menuliskan 1 pola tulisan tangan sebanyak 26 huruf karakter huruf abjad. Dalam tulisan tangan memiliki perbedaan pada setiap kali penulisannya. Dari 10 pola tulisan yang ada akan diuji tingkat kebenarannya dengan data pelatihan yang sebelumnya telah diproses dan disimpan dalam database. Citra pengenalan tulisan tangan ini membutuhkan citra tulisan tangan huruf abjad berukuran 32x32. Jumlah data masukannya sebanyak 260 data. Dari data yang diperoleh dari 10 responden akan menjadi data training dan data testing dengan keterangan sebagai berikut :
Jumlah data        skenario 1           skenario 2
                                                                                                                                                                                                                 
                                                                                                                                                                                                                 
                                                                                                                                                                                                                 
                                             Data set imae = ata set image1 (26 x 5) = 130
Data training image                                                                                                                                 Data set image1 = Data testing                   
                                                                                                                                                                                                                 
Data set image2
(26 x 5) = 130
image                                  Data set image2 = Data testing                                                                                                                            Data set image2 = Data training                
                                                                                                                                                                                                                 
                                                                                                                                                                                                                 
                                             Hasil kinerja
sistem pada
skenario pertama                                                                                                                                     Hasil kinerja
sistem pada
skenario kedua                 
                                                                                                                                                                                                                 
                                                                                                                                                                                                                 
                                                                                                                                                                                                                 
                                                                                                                                                                                                                 
Gambar 3. Desain skenario uji coba
Dalam penelitian ini telah dilakukan uji coba kinerja sistem pada skenario 1 dan skenario 2 dengan menggunakan validasi 130 data training dan 130 data testing. Dalam uji coba ini menggunakan nilai 35 koefisien DCT dan perbedaan nilai max epoh, eps , alpha dan rumus update alpha.
Hasil percobaan dapat dilihat pada tabel dibawah ini :
Tabel 1. Hasil uji coba pada skenario 1 dan skenario 2 dengan perbedaan nilai max epoh
Nilai       Tingkat akurasi
max       Skenario 1           Skenario 2
epoh
10000
70           %            80.76923             %
5000      70           %            80.76923             %
1000      70           %            80 %     

Tabel 2. Hasil uji coba pada skenario 1 dan skenario 2 dengan perbedaan nilai error minimum (eps)
Nilai       Tingkat akurasi
eps         Skenario 1           Skenario 2
0.001
70 %      80.76923             %
0.01       70 %      80 %     
0.1         70 %      80 %     
Tabel 3 Hasil uji coba pada skenario 1 dan skenario 2 dengan perbedaan nilai alpha
Nilai       Tingkat akurasi
alpha     Skenario 1           Skenario 2
0.05       70 %      80.76923 %
0.01       67.69231 %         81.53846%
0.1         70.76923 %         80.76923 %
Tabel 4. Hasil uji coba pada skenario 1 dan
skenario 2 dengan perbedaan rumus update
alpha
Nilai alpha           Tingkat akurasi
Skenario 1           Skenario 2
Alpha=0.1*alpha 70 %     80.76923 %
Alpha=0.5*alpha 73.84615 %       86.15385%
Pada Tabel 1 menunjukkan tabel hasil pengujian skenario 1 dan skenario 2 dengan dengan menggunakan validasi 130 data training dan 130 data testing dengan nilai error minimum (eps) = 0.001, learning rate (alpha) = 0.05 dan nilai max epoh yang berbeda pada setiap uji coba. Pada skenario 1 menghasilkan nilai akurasi yang sama pada setiap uji coba sebesar 70%, sedangkan pada skenario 2 menghasilkan nilai akurasi yang berbeda pada setiap uji coba, dimana nilai akurasi tertinggi terletak pada uji coba dengan nilai max epoh = 10000 dengan nilai akurasi 80.77%, hal ini dapat disimpulkan bahwa semakin besar nilai max epoh semakin bagus nilai akurasi keberhasilannya.
Pada Tabel 2 menunjukkan hasil uji coba kinerja sistem pada skenario 1 dan skenario 2 dengan menggunakan validasi 130 data training dan 130 data testing dengan nilai max epoh = 10000, alpha = 0.05 dan nilai error minimum (eps) yang berbeda pada setiap uji coba. Pada skenario 1 menghasilkan nilai akurasi yang sama pada setiap uji coba sebesar 70%, sedangkan pada skenario 2 menghasilkan nilai akurasi yang berbeda pada setiap uji coba, dimana nilai akurasi tertinggi terletak pada uji coba dengan nilai eps = 0.001 dengan nilai akurasi 80.77%, hal ini dapat disimpulkan


bahwa semakin kecil nilai eps semakin bagus nilai akurasi keberhasilannya
Pada tabel 3 menunjukkan hasil uji coba kinerja sistem pada skenario 1 dan skenario 2 dengan menggunakan validasi 130 data training dan 130 data testing dengan nilai max epoh = 10000, eps = 0.001 dan nilai alpha yang berbeda pada setiap uji coba. Pada skenario 1 menghasilkan nilai akurasi yang berbeda pada setiap uji coba, dimana nilai akurasi tertinggi terletak pada uji coba dengan nilai alpha = 0.1dengan nilai akurasi 70.77%, sedangkan pada skenario 2 menghasilkan nilai akurasi yang berbeda pada setiap uji coba, dimana nilai akurasi tertinggi terletak pada uji coba dengan nilai alpha = 0.01 dengan nilai akurasi 81.54%, hal ini dapat disimpulkan bahwa nilai alpha = 0.1 tepat untuk uji coba pada skenario 1 dan dengan nilai alpha = 0.01 tepat untuk uji coba pada skenario 2.
Pada tabel 4 menunjukkan hasil uji coba kinerja sistem pada skenario 1 dan skenario 2 dengan menggunakan validasi 130 data training dan 130 data testing dengan nilai max epoh = 10000, eps = 0.001, alpha = 0.05 dan rumus update alpha yang berbeda pada setiap uji coba. Pada skenario 1 menghasilkan nilai akurasi yang berbeda pada setiap uji coba, dimana nilai akurasi tertinggi terletak pada uji coba dengan rumus update alpha = 0.5*alpha dengan nilai akurasi 73.84%, sedangkan pada skenario 2 menghasilkan nilai akurasi yang berbeda pada setiap uji coba, dimana nilai akurasi tertinggi terletak pada uji coba dengan rumus update alpha = 0.5*alpha dengan nilai akurasi 86.15%, hal ini dapat disimpulkan bahwa rumus update alpha = 0.5*alpha tepat untuk uji coba pada skenario 1dan skenario 2.

KESIMPULAN
Setelah menyelesaikan perancangan dan pembuatan sistem pada aplikasi pengenalan pola karakter pada kata tulisan tangan menggunakan metode Discrete Cosine Transform dan Learning Vector Quantization (LVQ) serta melakukan uji coba dan evaluasi, maka dapat ditarik kesimpulan bahwa dapat dilihat dari hasil persentase pengujian yang memiliki tingkat akurasi yang berbeda, dimana dalam skenario pertama mempunyai nilai akurasi tinggi dengan nilai max epoh = 10000, error minimum (eps) = 0.001 , learning rate (alpha) = 0.05 dan rumus update alpha = 0.5* alpha, menghasilkan nilai akurasi sebesar 80.7%. Sedangkan dalam skenario kedua nilai akurasi tinggi diperoleh dengan inputan nilai max epoh = 10000, error minimum (eps) = 0.001 , learning rate (alpha) = 0.05 dan rumus update alpha = 0.5*alpha, menghasilkan nilai akurasi sebesar 86%.
DAFTAR PUSTAKA
[1]          Lawgali.A ., Bouridane. A., Angelova. M., Ghassemlooy. Z., Handwritten Arabic Character Recognition: Which Feature Extraction Method?. International Journal of Advanced Science and Technology. Vol 34. 2011.
[2]          Alkhateeb. J. H., Jinchang. R., Jianmin. J., Ipson. S. S., dan El-Abed. H., Word-Based handwritten Arabic scripts recognition using dct features and neral network classifier. In International Multi-Conference on system, signal and devices. 1-5. 2008
[3]          Purnomo, M. H. dan Muntasa, A., Pengolahan Citra Digital dan Ekstraksi Fitur. Yogyakarta : Graha ilmu. 2010.
[4]          Kusumadewi, S. Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta : Graha ilmu. 2003.

Tidak ada komentar:

Posting Komentar