Jurnal Artificial, ICT Research Center UNAS Artificial, Vol.3 No.1 Januari 2009
ISSN 1978-9491
METODE JARINGAN SARAF TIRUAN PENJEJAKAN BALIK UNTUK PENGENALAN HURUF CETAK PADA CITRA DIGITAL Fauziah, M Iwan Wahyuddin Jurusan Teknik Informatika, Fakultas Teknologi Komunikasi dan Informatika, Universitas Nasional Jl. Raya Sawo Manila, Pejaten No. 61, Jakarta 12520 ABSTRACT Character recognition is a part of computer science to help data processing. One of the character recognition techniques is the neural network technique. This method is simulating the principal of human brain consist of neurons to process input using the weight given to produce output. The main goal of this experiment is to create software that can recognize printed characters using neural network methods. The architecture used is the multilayer neural network using algorithm backpropagation. To help the recognition, the image is segmented by mapping method. The result of testing shows that for each type of character recognized was 81.74% recognized for the succeed segmentation and 67.53% for the failed one. The recognition of other type of character from the recognized one result is 55.47% for the succeed segmentation and 46.65% for the failed one. Keyword: Printed Characters Recognition, Backpropagation, Digital Images. ABSTRAK Pengenalan huruf merupakan salah satu bidang dalam ilmu komputer yang dapat membantu proses pengolahan data. Salah satu teknik pengenalan karakter adalah metode jaringan saraf tiruan. Metode ini menggunakan prinsip kerja otak manusia yang terdiri dari neuron sebagai pemrosesan input untuk menghasilkan output berdasarkan bobot yang ada. Tujuan dari penelitian ini adalah membuat perangkat lunak yang dapat melakukan pengenalan huruf cetak dengan menggunakan metode jaringan saraf tiruan. Arsitektur jaringan saraf tiruan yang digunakan adalah multilayer neural network, dengan algoritma pembelajaran backpropagation. Untuk membantu pengenalan huruf, dilakukan proses pemotongan gambar menggunakan metode pemetaan. Hasil pengujian menunjukkan bahwa untuk setiap jenis karakter yang dilatihkan pengenalannya adalah sebesar 81,74% untuk pemotongan yang sukses dan 67,53% untuk yang gagal. Pengenalan dengan karakter yang tidak sejenis dengan yang dilatihkan menghasilkan pengenalan sebesar 55,47% untuk pemotongan yang sukses dan 46,65% untuk yang gagal. Kata kunci: Pengenalan Huruf Cetak, Backpropagation, Citra Digital
31
Jurnal Artificial, ICT Research Center UNAS Artificial, Vol.3 No.1 Januari 2009
ISSN 1978-9491
I. PENDAHULUAN Kemajuan teknologi membuat sebuah perangkat komputer memiliki kemampuan komputasi yang tinggi untuk meningkatkan kinerja dalam pengolahan data menjadi informasi. Salah satu hal yang dapat dilakukan adalah memanfaatkan teknologi tersebut untuk memasukkan data kedalam komputer. Salah satu teknik memasukkan data adalah pengenalan huruf cetak (printed character recognition). Pengenalan huruf cetak adalah sebuah teknik dimana data yang berupa lembaran kertas dapat di-scan menggunakan scanner dan menghasilkan gambar yang pada komputer yang dikenali sebagai titik-titik (bitmap), bitmap inilah yang kemudian diproses lebih lanjut dengan menggunakan algoritma tertentu menjadi karakter sehingga dapat dikenali dan diolah menjadi informasi. Algoritma yang digunakan dalam penelitian adalah jaringan saraf tiruan Back Propagation. Berdasarkan fungsinya, jaringan saraf tiruan ini bertujuan untuk memecahkan sebuah masalah dengan teknik pembelajaran. Dalam hal ini gambar bitmap dan karakter yang akan dihasilkan dari gambar tersebut akan diberikan kepada jaringan saraf tiruan sebagai untuk pembelajaran. Dari hasil pembelajaran ini diharapkan sistem jaringan saraf tiruan dapat melakukan pengenalan huruf cetak untuk gambar lainnya. II. TINJAUAN PUSTAKA 2.1. Pengolahan Citra Pemrosesan citra adalah ilmu untuk memanipulasi gambar, yang melingkupi teknik-teknik untuk memperbaiki atau mengurangi kualitas gambar, menampilkan bagian tertentu dari gambar, membuat sebuah gambar yang baru dari beberapa bagian gambar yang sudah ada, dan beberapa teknik manipulasi gambar lainnya. Adapun metode Pengolahan citra yang digunakan pada penelitian ini adalah sebagai berikut: 2.1.1. Greyscale Dengan menggunakan mengubah representasi nilai RGB (Red, Green, Blue), sebuah gambar berwarna dapat diubah menjadi gambar yang terdiri dari warna putih dan gradiasi warna hitam yang biasanya disebut gambar greyscale. Untuk mengubah RGB menjadi greyscale dapat digunakan rumus sebagai berikut: greyscale
0.299 R 0.587G 0.114 B
(2.1)
atau greyscale 0.333R 0.333G 0.333B (2.2) Perhitungan nilai gray scale yang sebenarnya adalah dengan menggunakan persamaan 2.1, namun persamaan yang umum digunakan adalah persamaan 2.2 karena lebih mudah untuk digunakan dan diingat.
2.1.2. Thresholding Thresholding adalah untuk mengubah data pada gambar agar hanya memiliki nilai 0 dan 1. Hal ini dilakukan untuk mempermudah mengetahui apakah pixel tersebut “terisi” atau tidak.
32
Jurnal Artificial, ICT Research Center UNAS Artificial, Vol.3 No.1 Januari 2009
ISSN 1978-9491
2.1.3. Filter Noise Eliminator Jenis filter yang digunakan untuk menghilangkan noise pada gambar adalah sebuah spatial filter 3x3 seperti gambar dibawah ini. 2 2 2 2 5 2 2 2 2 Gambar 2.1 Filter Untuk Menghilangkan Noise Sementara itu, formula yang digunakan adalah sebagai berikut: 1 0
if f(x) 10 Pixel = if f(x) 10
(2.3)
Dimana f(x) adalah hasil perhitungan dari Spatial Filter pada gambar 2.1., terhadap pixel yang diproses. 2.1.4. Segmentasi Segmentasi adalah sebuah proses yang digunakan untuk memotong – motong gambar yang diproses menjadi beberapa bagian. Pada penelitian ini, proses segementasi memisahakan huruf – per huruf yang akan dikenali dari sebuah gambar hasil scan dokumen. 2.2. Backpropagation Neural Network Backpropagation adalah salah satu pengembangan dari arsitektur Single Layer Neural Network. Arsitektur ini terdiri dari input layer, hidden layer dan output layer, dan setiap layer terdiri dari satu atau lebih aritificial neuron. Nama umum dari arsitektur ini adalah Multilayer neural network. y1 Output Layer u11
…
bl
…
bj
vil vij vkl v k1 v v v1j i1 kj a1 … ak ai … w1k
wnk
wni
wn1
w1i x1
uj1
ulm
v11 v1l
w11
Input Laye r
ym
u1m
ul1 b1
Hidden Layer
…
uj1
…
xn
Gambar 2.2 Arsitektur Multilayer Neural Network.
33
Jurnal Artificial, ICT Research Center UNAS Artificial, Vol.3 No.1 Januari 2009
ISSN 1978-9491
Dengan menggunakan arsitektur jenis ini, maka metode pelatihan yang digunakan adalah Backpropagation yang biasanya disebut juga sebagai feedforward networks. III. Desain Sistem Rangkaian proses yang dilakukan oleh sistem ini dapat digambarkan dengan blok diagram sebagai berikut: Baca gambar
Grayscale/
filtering
segmentasi
Threshold Normalisasi karakter Encode input
Training
Neural network
Gambar 3.1 Blok Diagram Sistem. 3.1. Alur Proses Sistem Sistem memiliki dua buah menu utama yaitu menu recognition dan menu training. Dalam menu recognition, user dapat memilih untuk membuka gambar yang berupa rangkaian huruf cetak dan melakukan pengenalan terhadap gambar yang telah dibuka. Sementara itu, pada menu training, user dapat memilih untuk melakukan training, menyimpan data bobot yang dimiliki pada network kedalam file, membaca data network dari file, atau mengubah struktur network.
3.2. Modul Pengolah Gambar Proses ini akan dijalankan apabila user memilih menu recognition – open, pada proses ini gambar yang berupa huruf cetak akan dibaca dan kemudian setiap karakter pada gambar tersebut akan dicari posisi dan ukurannya (proses segmentasi). Sebelum gambar tersebut di-segmentasi, proses greyscale, threshold dan noise filtering akan dilakukan terlebih dahulu, guna menghasilkan gambar yang siap dikenali.
34
Jurnal Artificial, ICT Research Center UNAS Artificial, Vol.3 No.1 Januari 2009
ISSN 1978-9491
Start Create Image Processing Object Read Image Yes
24-bit No
Yes 8-bit
To Gray Scale
No Thresholding Filtering Segementating
End
Gambar 3.2 Flowchart Proses Pengolah Citra. Filtering Get Neighborhood Pixel Calculate New Pixel Set New Pixel
End
Gambar 3.3 Flowchart Noise Eliminator. Proses segmentasi dilakukan dengan memetakan jumlah titik hitam pada setiap baris dari gambar ke sumbu y, untuk mendapatkan tinggi karakter pada setiap baris (Y-Mappping), dimana pemetaan dengan jumlah yang lebih sedikit dari 10 akan menjadi batas untuk setiap baris karakter. Setiap baris karakter dari hasil pemetaan tersebut dipetakan lagi ke sumbu x, untuk mendapatkan lebar dari masing-masing karakter untuk setiap baris (X-Mapping), dimana pemetaan dengan jumlah yang lebih sedikit dari 2 akan menjadi batas untuk lebar dari masing-masing karakter. 35
Jurnal Artificial, ICT Research Center UNAS Artificial, Vol.3 No.1 Januari 2009
ISSN 1978-9491
Gambar 3.4 Proses Segmentasi Gambar. Segementating
Y-Mapping i=0 i=i+1
JumBaris = 0 No i < TinggiGbr
MapY > 10
JumBaris = JumBaris + 1
No i=0
i < JumBaris
No
X-Mapping
j < LebarGbr
j=0 No
JumKata = 0 End
j=j+1
No
MapX > 2
JumKata = JumKata + 1
Gambar 3.5 Flowchart Proses Segmentasi. Hasil dari proses segmentasi ini adalah posisi, lebar dan tinggi untuk masing-masing huruf. Setiap huruf hasil segmentasi ini dapat diambil (dibaca), huruf yang dibaca tersebut akan dinormalisasikan (stretch/shrink) menjadi gambar dengan ukuran 24x24 pixel. 36
Jurnal Artificial, ICT Research Center UNAS Artificial, Vol.3 No.1 Januari 2009
ISSN 1978-9491
I.1.1 3.3. Modul Neural Network Modul ini merupakan modul yang akan membuat sebuah obyek neural network yang terdiri dari 5 buah object layer (empat hidden layer dan satu output layer) dan sebuah input layer yang hanya berupa array dinamis dengan ukuran 576 sebagai masukan bagi object layer yang pertama. Output layer pada neural network ini akan terdiri dari 7 buah node sehingga jumlah maksimal karakter yang dapat dikenali adalah 128 karakter (27). Jumlah output node ini ditentukan berdasarkan jumlah karakter yang harus dikenali yaitu 94 karakter yang masing-masing terdiri dari: 52 karakter untuk huruf besar dan kecil. 10 karakter untuk angka. 32 karakter untuk tanda-tanda baca. Sedangkan untuk jumlah node pada hidden layer ditentukan berdasarkan hasil percobaan, dimana jumlah node yang terlalu sedikit akan menyebabkan proses pelatihan tidak akan menghasilkan bobot yang stabil, namun jumlah node yang terlalu banyak akan menyebabkan proses pelatihan menjadi lebih lambat. IV. EVALUASI SOFTWARE 4.1. Pelatihan Sistem Neural Network Evaluasi dari sistem ini berdasarkan bobot yang dihasilkan melalui pelatihan lima jenis huruf cetak yang berbeda. Setiap jenis huruf cetak akan memiliki 790 sampel yang terdiri dari: 10 sampel huruf besar dan huruf kecil = 10 x 52 = 520 10 sampel angka = 10 x 10 = 100 10 sampel koma dan titik = 10 x 2 = 20 5 sampel tanda-tanda baca (tanpa koma dan titik) = 5 x 30 = 150 Total huruf cetak dari pelatihan tersebut adalah 3950 karakter. Adapun jenis huruf cetak yang digunakan untuk melakukan pelatihan adalah Times New Roman, Comic Sans MS, Microsoft Sans Serif, Verdana, dan Tahoma. Dengan font berukuran 12 point. Dengan neural network yang memiliki input layer sebanyak 526 node, empat hidden layer yang masing-masing terdiri dari 500 node dan sebuah output layer dengan 7 node, bobot yang stabil terbentuk setelah melakukan 1.027.000 kali pelatihan (260 cycle). 4.2. Kesalahan Pada Proses Segmentasi Huruf Kesalahan proses dapat terjadi pada saat segmentasi gambar. Dimana huruf cetak yang dihasilkan menjadi tidak valid. Ada 2 macam kesalahan disini, yaitu: huruf yang saling berpotongan akan dianggap sebagai satu huruf dan huruf yang tersambung dengan sangat tipis akan dianggap sebagai dua huruf.
37
Jurnal Artificial, ICT Research Center UNAS Artificial, Vol.3 No.1 Januari 2009
ISSN 1978-9491
Gambar 4.1. : Contoh Gambar Tidak Valid Hasil segmentasi yang tidak valid ini akan menimbulkan kesalahan pada saat pengenalan. Oleh sebab itu perhitungan persentase pengenalan huruf akan dibagi menjadi dua bagian, yaitu, pengenalan berdasarkan hasil segmentasi yang valid saja dan berdasarkan semua karakater yang digunakan termasuk hasil segementasi yang tidak valid. 4.3. Pengujian Pengenalan Huruf Cetak Uji coba yang pertama adalah pengujian dengan gambar yang berisi huruf – huruf cetak yang telah dilatihkan kepada sistem. Pengenalan ini dipisahkan berdasarkan jenis huruf masing-masing. Tabel 4.1. : Persentase Hasil Pengenalan Karakter yang Dilatih Jenis Huruf Jumlah Huruf Jumlah Yang Benar Pesentase Kebenaran 790 785 99,37 Times New Roman 790 781 98,86 Comic Sans MS 790 773 97,85 Microsoft Sans Serif 790 776 98,23 Tahoma 790 783 99,11 Verdana Total 3950 3898 98,68 Uji coba kedua dilakukan dengan gambar yang berisi teks yang berbeda dengan yang dilatihkan pada sistem namun dengan jenis huruf cetak yang sama. Tiap jenis huruf akan diuji menggunakan 3 kombinasi ukuran huruf , yaitu: 10pt, 12pt dan 14pt.
Jenis Huruf Times New Roman Comic Sans MS
Tabel 4.2. : Persentase Kebenaran Pengenalan Jenis Huruf yang Dilatih Persentase Persentase Ukuran Jumlah Jumlah Jumlah Kebenaran Kebenaran Huruf Kata Valid Benar (Valid) (Total) 617 355 270 76,06 43,76 10 617 387 321 82,95 52,03 12 617 499 411 82,36 66,61 14 617 384 329 85,68 53,32 10 617 492 409 83,13 66,29 12 617 582 492 84,54 79,74 14 38
Jurnal Artificial, ICT Research Center UNAS Artificial, Vol.3 No.1 Januari 2009 Microsoft Sans Serif Tahoma
Verdana Rata-Rata
10 12 14 10 12 14 10 12 14
617 617 617 617 617 617 617 617 617 617
522 530 604 436 496 579 562 607 611 509,73
ISSN 1978-9491 428 453 488 359 416 468 436 479 491 416,67
81,99 85,47 80,79 82,34 83,87 80,83 77,58 78,91 80,36 81,74
69,37 73,42 79,09 58,18 67,42 75,85 70,66 77,63 79,58 67,53
Uji coba ketiga dilakukan terhadap gambar dengan jenis huruf yang berbeda. Jenis huruf cetak yang dipilih adalah Arial, Book Antiqua, Courier New, Garamond, dan Lucida Sans Unicode. Uji coba untuk kelima huruf ini akan didasarkan pada 3 kombinasi yaitu font dengan ukuran 10pt, 12pt, dan 14pt. Tabel 4.3. : Persentase Kebenaran Pengenalan Jenis Huruf yang Berbeda Persentase Persentase Ukuran Jumlah Jumlah Jumlah Jenis Huruf Kebenaran Kebenaran Huruf Kata Valid Benar (Valid) (Total) 617 513 377 73,49 61,10 10 617 534 419 78,46 67,91 Arial 12 617 579 471 81,35 76,34 14 617 416 245 58,89 39,71 10 617 442 267 60,41 43,27 Book Antiqua 12 617 449 252 56,12 40,84 14 617 602 137 22,76 22,20 10 617 605 134 22,15 21,72 Couier New 12 617 605 123 20,33 19,94 14 617 394 118 29,95 19,12 10 617 416 129 31,01 20,91 Garamond 12 617 422 121 28,67 19,61 14 617 599 458 76,46 74,23 10 Lucida Sans 617 603 517 85,74 83,79 12 Unicode 617 603 549 91,04 88,98 14 Rata-Rata 617 548,25 411,25 55,47 46,65
39
Jurnal Artificial, ICT Research Center UNAS Artificial, Vol.3 No.1 Januari 2009
ISSN 1978-9491
III. KESIMPULAN Bila pada proses pembelajaran terjadi kesalahan pada salah satu karakter, akan menyebabkan semakin besarnya tingkat kesalahan pengenalan karakter tersebut. Bobot yang dihasilkan pada proses pembelajaran menggunakan lima jenis huruf cetak telah memberikan hasil pengenalan yang cukup baik, yaitu dengan persentase kebenaran sampai 81,74% untuk jenis huruf sama dengan yang dilatihkan dan 55,47% untuk jenis huruf yang berbeda dengan yang dilatihkan. Proses pemotongan karakter yang salah pada saat pengolahan citra, menyebabkan total persentase pengenalan menjadi turun yaitu 67,53% untuk jenis huruf sama dengan yang dilatihkan, dan 46,65% untuk jenis huruf yang berbeda dengan yang dilatihkan. Rata-rata hasil pengenalan untuk setiap jenis huruf cetak yang dilatihkan adalah sama (±80%). Rata-rata hasil pengenalan untuk setiap jenis karakter yang tidak dilatihkan bergantung pada jenis karakter tersebut, apabila model karakter tersebut mirip dengan salah satu model karakter yang dilatihkan maka rata-rata hasil pengenalan karakter tersebut akan tinggi. Proses segmentasi karakter dapat disempurnakan dengan menggunakan beberapa metode pemrosesan citra yang lain. Jumlah sampel untuk setiap jenis huruf cetak dapat ditambah untuk menghasilkan bobot yang lebih stabil untuk masing-masing karakter. Pemilihan model untuk setiap jenis huruf cetak dapat lebih bervariasi sehingga kemungkinan model karakter yang tidak sejenis dengan karakter yang dilatihkan dapat semakin besar. Jumlah setiap node dan banyaknya hidden layer dapat ditambah untuk melakukan pengenalan jenis karakter yang lebih banyak. Proses pengenalan huruf cetak tidak hanya dapat dilakukan dengan menggunakan jaringan saraf tiruan namun dapat pula dengan beberapa metode lain, misalnya, menggunakan database yang berisi kata-kata yang akan dikenali. DAFTAR PUSTAKA [1] Bharath, Ramachandran; Drosen, James.; Neural Network Computing, Windcrest, 1994 [2] Crane, Candy.; A Simplified Approach to Image Processing: Classical and Modern Techniques in C , Prentice Hall PTR, 1997 [3] Rodrigues, J. R.; Thome. A. C.; Cursive Character Recognition – a character segmentation method using projection profile-based technique , http://www.nce.ufrj.br/labic/downloads/ , 2003, Mei, 5 [4] Gonzales, Rafael; Wintz, Paul; Digital Image Processing Second Edition, Addison-Wesley Publishing Company, 1987 [5] Korn, A.G.; Neural Network Experiments on Personal Computers and Workstations, Massachusetts Institute of Technology, 1992 [6] Fausett, Laurene; Fundamental of Neural Network, Prentice Hall Inc., 1994 [7] Rich, Eleine; Knight, K.; Artificial Intelligence, 2nd Ed., McGraw-Hill, Inc., 1991 [8] Rao, Valluru B.; Rao, Hayagriva V.; C++ Neural Networks and Fuzzy Logic, MIS: Press, 1993
40