Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) Yogyakarta, 18 Juni 2005
ISBN: 979-756-061-6
PENGENALAN KARAKTER DENGAN MENGGUNAKAN HAMMING NETWORK Thiang Jurusan Teknik Elektro, Universitas Kristen Petra Siwalankerto 121-131, Surabaya, Indonesia E-mail:
[email protected] Abstrak Makalah ini menjelaskan tentang aplikasi dari Hamming network untuk pengenalan karakter. Hamming network adalah salah satu model struktur dari Artificial Neural Network yang terdiri atas 2 layer yaitu feedforward layer dan recurrent layer. Dalam sistem ini, input dari Hamming network berupa image dari karakter berukuran 46x46 pixel dengan format image biner. Output dari Hamming network terdiri atas 26 neuron dimana masing-masing neuron mewakili satu karakter yaitu huruf A sampai Z. Ada tida jeinis karakter yang diuji dalam sistem ini, yaitu karakter Times New Roman, Arial Rounded Bold dan Courier New. Hasil pengujian menunjukkan bahwa untuk aplikasi ini, Hamming network baik sekali mengenal input data yang terdapat dalam data training dan cukup robust terhadap noise. Karakter Times New Roman menghasilkan tingkat pengenalan yang lebih baik. Kata kunci: artificial neural network, hamming network, pengenalan karakter 1.
jelas, perancangan hamming network untuk sistem pengenalan karakter ini akan dijelaskan lebih detail pada bagian ketiga dari makalah ini. Sedangkan bagian kedua dari makalah ini akan menjelaskan tentang model struktur Hamming network itu sendiri. Bagian keempat dari makalah ini akan memaparkan hasil pengujian yang telah dilakukan terhadap sistem yang telah dirancang. Dan makalah ini akan ditutup dengan kesimpulan yang didapatkan dari hasil pengujian dan perancangan sistem ini.
Pendahuluan
Artificial Neural Network (ANN) telah banyak diaplikasikan dalam berbagai bidang. Mulai dari bidang aerospace, otomotif, banking, financial, elektronika, manufaktur, robotika, medika, telekomunikasi, transportasi dan lain-lain (1). Tetapi pada umumnya, bila dirangkum, ANN diaplikasikan untuk 4 jenis aplikasi yaitu pengenalan pola (pattern recognition), klasifikasi (classification), estimasi sebuah fungsi (function estimation) dan pengembalian pola (pattern recall). Pada aplikasi pengenalan pola, ANN berfungsi untuk mengenal pola yang tidak diketahui berdasarkan informasi pola referensi. Pada aplikasi klasifikasi, ANN berfungsi untuk mengklasifikasi data input yang tidak diketahui ke dalam group-group (class). Pada aplikasi fungsi estimasi, ANN berfungsi sebagai fungsi pendekatan yang menyatakan relasi antara input dan output. Pada aplikasi pattern recall, ANN berfungsi untul recall pola yang lengkap dari input pola yang mungkin hanya sebagian saja. Model struktur dari ANN dan metode trainingnya juga telah banyak dikembangkan. Salah satu model struktur ANN tersebut adalah Hamming Network. Hamming network adalah suatu model neural network yang didisain khusus untuk menyelesaikan masalah pengenalan pola dengan input dari neural network dalam bentuk biner. Dengan demikian setipa elemen dari vektor input neural network hanya mempunyai dua kemungkinan nilai input. Karena itu dalam makalah ini akan dipaparkan tentang pengaplikasian dari Hamming network pada aplikasi sederhana yaitu pengenalan karakter. Dalam sistem yang telah dirancang, input data berupa image dari karakter tersebut dan output berupa jenis karakter yang dikenal. Untuk lebih
2.
Hamming Network p Rx1
W1 SxR
R
1
b
+
n
1
1
a
Sx1
Sx1
1
S
Sx1
Gambar 1. Layer Pertama dari Hamming Network (Feedforward Layer)
W2
2
n2(t+1)
a (t+1)
Sx1
Sx1
SxS
S
a
D
2
a (t) Sx1
1
Sx1
Gambar 2. Layer Kedua dari Hamming Network (Recurrent Layer) Hamming network terdiri atas dua layer. Layer pertama disebut dengan feedforward layer. F-21
Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) Yogyakarta, 18 Juni 2005
Sedangkan layer kedua adalah recurrent layer. Gambar 1 menunjukkan gambar dari hamming network standar.
wij2 =
jika i = j jika i ≠ j
1 −ε
(4)
dimana 0 < ε < 1
S −1
2.1 Feedforward Layer Pada layer pertama dari Hamming network (feedforward layer), fungsi aktivasi atau fungsi transfer yang digunakan adalah fungsi transfer linier dimana a = n. Sehingga output dari feedforward layer (layer pertama) adalah sebagai berikut:
3.
Aplikasi pada Sistem Pengenalan Karakter
Secara umum blok diagram sistem pengenalan karakter dengan menggunakan Hamming network dapat dilihat pada gambar 3.
(1)
a 1 = W 1p + b 1
Dimana p adalah vektor input yang akan dikenali, W1 adalah bobot koneksi antara input neural network dengan semua neuron yang ada pada feedforward layer dan b1 adalah bobot koneksi input bias pada masing-masing neuron pada feedforward layer. R adalah jumlah input dari neural network dan S adalah jumlah neuron pada feedforward layer yang juga menentukan jumlah output dari feedforward layer ini. Feedforward layer menghasilkan korelasi antara setiap pola prototipe (data training) dengan vektor input neural network. Oleh karena itu, untuk menghasilkan hal ini, bobot koneksi pada feedforward layer (W1), diset sama dengan pola prototipe (data training). Bobot koneksi untuk input bias (b1) pada feedforward layer, diset sama dengan R. Neuron pada feedforward layer yang mempunyai output terbesar menunjukkan bahwa pola prototipe yang bersesuaian dengan neuron tersebut mempunyai jarak paling dekat dengan pola vektor input.
Gambar 3. Blok Diagram Sistem Pengenalan Karakter dengan Hamming Network Input dari sistem ini berupa image dengan format RGB dan berukuran 46x46 pixel. Tahap pertama yang dilakukan adalah mengubah image dari format RGB menjadi greyscale. Proses ini dilakukan dengan menggunakan persamaan berikut: Gray = 0.299 R + 0.587 G + 0.114 B
Layer kedua dari Hamming network adalah recurrent layer. Layer ini dikenal sebagai layer kompetisi. Setelah proses kompetisi berlangsung, hanya akan ada satu neuron di layer ini yang mempunyai output tidak nol, sedangkan neuron yang lain akan menpunyai output nol. Fungsi aktivasi atau fungsi transfer yang digunakan dalam recurrent layer ini adalah fungsi linier positif (poslin) dimana persamaannya dapat ditulis sebagai berikut: 0
untuk n < 0
n
untuk n ≥ 0
g ( x, y ) =
Sehingga output dari recurrent layer dapat dituliskan dengan persamaan berikut:
(
)
0 255
if f ( x, y ) < T if f ( x, y ) ≥ T
(6)
Image biner ini yang akan menjadi input dari Hamming network untuk dikenali sebagai salah satu karakter yang ada dalam database (data training). Karena image yang digunakan berukuran 46x46 pixel, maka dalam satu pola karakter terdapat 2116 informasi sehingga pada struktur hamming network yang dirancang terdapat 2116 input. Dalam sistem ini juga dibatasi hanya untuk pengenalan 26 karakter yaitu 26 huruf besar dari A sampai Z dan masingmasing karakter diwakili oleh satu pola prototipe (data training). Karena itu, pada Hamming network yang dirancang terdapat 26 neuron output. Jumlah neuron output akan bertambah bila jumlah data training bertambah. Model dari Hamming network yang telah dirancang dapat dilihat pada gambar 1 dan 2 dengan nilai R = 2116 dan nilai S = 26. Dengan demikian matrik W1 akan berdimensi
(2)
a2 (t + 1) = poslin W2a2 (t )
(5)
Proses selanjutnya adalah mengubah image dengan format greyscale menjadi image biner. Hal ini perlu dilakukan karena Hamming network dirancang untuk pengenalan pola dengan format data biner. Proses pengubahan image greyscale menjadi image biner dilakukan dengan menggunakan fungsi threshold yang direpresentasikan oleh persamaan berikut:
2.2 Recurrent Layer
a=
ISBN: 979-756-061-6
(3)
dimana a2 (0) = a1 yang berarti bahwa inisialisasi awal output layer kedua diambil dari output layer pertama a1. Bobot koneksi layer kedua W2 diset dengan nilai sebagai berikut: F-22
Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) Yogyakarta, 18 Juni 2005
26x2116 dan berisikan pola prototipe (data training). Sedangkan matrik W2 berdimensi 26x26. Matrik b1 merupakan sebuah matrik kolom dengan semua elemennya adalah 2116. Sebagaimana telah disebutkan sebelumnya, output dari feedforward layer akan menghasilkan korelasi antara vektor input dengan masing-masing pola prototipe. Kemudian output ini akan menjadi nilai awal dari output pada layer kedua yaitu recurrent layer. Layer kedua ini akan diiterasi terus, sampai hanya satu neuron yang mempunyai output tidak nol. Neuron yang mempunyai output tidak nol tersebut menunjukkan pola yang paling sesuai dengan pola vektor input. Dalam sistem ini, ada tiga jenis karakter yang digunakan yaitu Times New Roman, Arial Rounded Bold dan Courier New. Karakter jenis Times New Roman yang dipilih untuk menjadi data training sedangkan yang lain untuk kepentingan pengujian. 4.
Dari hasil pengujian di atas, terlihat bahwa sistem dapat mengenali karakter dengan tingkat keberhasilan 100%. Tabel 2. Hasil Pengujian dengan Data Training Karakter Times New Roman dan Input Karakter Arial Rounded Bold Input Karakter A B C D E F G H I J K L M
Pengujian Sistem
Beberapa pengujian telah dilakukan antara lain: a. Pengujian dengan data training karakter Times New Roman b. Pengujian dengan data training karakter Arial Rounded Bold c. Pengujian dengan data training karakter Courier New d. Pengujian dengan variasi penambahan noise pada image
Input Karakter A B C D E F G H I J K L M
Hasil Pengenalan H O P O R S T O V W X Y Z
Hasil Pengenalan A P C P P E P B I J F L N
Input Karakter N O P Q R S T U V W X Y Z
Hasil Pengenalan R D P U P S I V Y P X I I
Dari hasil pengujian di atas, sistem hanya dapat mengenali 8 karakter dari 26 karakter yang ada dengan tingkat keberhasilan 30,77%.
Tabel 1. Hasil Pengujian dengan Data Training Karakter Times New Roman dan Input Karakter Times New Roman Input Karakter N O P Q R S T U V W X Y Z
Input Karakter N O P Q R S T U V W X Y Z
Tabel 3. Hasil Pengujian dengan Data Training Karakter Times New Roman dan Input Karakter Courier New
Pada pengujian ini, data Data Training diambil dari karakter Times New Roman. Masingmasing karakter diwakili oleh satu data training. Jadi dalam pengujian ini ada 26 data training. Pengujian dilakukan sebanyak tiga kali untuk masing-masing jenis karakter yaitu Times New Roman, Arial Rounded Bold dan Courier New. Hasil pengujian dapat dilihat pada tabel 1, 2 dan 3.
Hasil Pengenalan A B C D E F G H I J K L M
Hasil Pengenalan A H G O U P G H I J K L M
Dari hasil pengujian di atas, sistem hanya dapat mengenali 18 karakter dari 26 karakter yang ada dengan tingkat keberhasilan 69,23%
4.1 Pengujian dengan Data Training Karakter Times New Roman
Input Karakter A B C D E F G H I J K L M
ISBN: 979-756-061-6
4.2 Pengujian dengan Data Training Karakter Arial Rounded Bold
Hasil Pengenalan N O P Q R S T U V W X Y Z
Pada pengujian ini, data training diambil dari karakter Arial Rounded Bold. Masing-masing karakter diwakili oleh satu data training. Jadi dalam pengujian ini ada 26 data training. Pengujian dilakukan sebanyak tiga kali untuk masing-masing jenis karakter yaitu Times New Roman, Arial Rounded Bold dan Courier New. Hasil pengujian dapat dilihat pada tabel berikut.
F-23
Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) Yogyakarta, 18 Juni 2005
Tabel 4. Hasil Pengujian dengan Data Training Karakter Arial Rounded Bold dan Input Karakter Times New Roman Input Karakter A B C D E F G H I J K L M
Hasil Pengenalan I S L S F F C B I I K L M
Input Karakter N O P Q R S T U V W X Y Z
Dari hasil pengujian di atas, sistem hanya dapat mengenali 6 karakter dari 26 karakter yang ada dengan tingkat keberhasilan 28,08%
Hasil Pengenalan X O F O R S T L Y W X Y Z
4.3 Pengujian dengan Data Training Karakter Courier New Pada pengujian ini, data training diambil dari karakter Courier New. Masing-masing karakter diwakili oleh satu data training. Jadi dalam pengujian ini ada 26 data training. Pengujian dilakukan sebanyak tiga kali untuk masing-masing jenis karakter yaitu Times New Roman, Arial Rounded Bold dan Courier New. Hasil pengujian dapat dilihat pada tabel berikut. Tabel 7. Hasil Pengujian dengan Data Training Karakter Courier New dan Input Karakter Times New Roman
Dari hasil pengujian di atas, sistem hanya dapat mengenali 13 karakter dari 26 karakter yang ada dengan tingkat keberhasilan 50%.
Input Karakter A B C D E F G H I J K L M
Tabel 5. Hasil Pengujian dengan Data Training Karakter Arial Rounded Bold dan Input Karakter Arial Rounded Bold Input Karakter A B C D E F G H I J K L M
Hasil Pengenalan A B C D E F G H I J K L M
Input Karakter N O P Q R S T U V W X Y Z
Hasil Pengenalan N O P Q R S T U V W X Y Z
Input Karakter N O P Q R S T U V W X Y Z
Input Karakter N O P Q R S T U V W X Y Z
Hasil Pengenalan M M P C H S I D V J Y V Y
Tabel 8. Hasil Pengujian dengan Data Training Karakter Courier New dan Input Karakter Arial Rounded Bold Input Karakter A B C D E F G H I J K L M
Tabel 6. Hasil Pengujian dengan Data Training Karakter Arial Rounded Bold dan Input Karakter Courier New Hasil Pengenalan A F V P F F F F T J F A Y
Hasil Pengenalan A H C D F P C H I J K L V
Dari hasil pengujian di atas, sistem hanya dapat mengenali 10 karakter dari 26 karakter yang ada dengan tingkat keberhasilan 38,46%
Dari hasil pengujian di atas, sistem hanya dapat mengenali semua karakter dengan tingkat keberhasilan 100%
Input Karakter A B C D E F G H I J K L M
ISBN: 979-756-061-6
Hasil Pengenalan P I F L F F T V Y V X Y I
Hasil Pengenalan A R C Q H F C M I J W Q V
Input Karakter N O P Q R S T U V W X Y Z
Hasil Pengenalan M C D Q H R I M U A X V X
Dari hasil pengujian di atas, sistem hanya dapat mengenali 7 karakter dari 26 karakter yang ada dengan tingkat keberhasilan 26,92%
F-24
Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) Yogyakarta, 18 Juni 2005
Tabel 9. Hasil Pengujian dengan Data Training Karakter Courier New dan Input Karakter Courier New Input Karakter A B C D E F G H I J K L M
Hasil Pengenalan A B C D E F G H I J K L M
Input Karakter N O P Q R S T U V W X Y Z
Tabel 11. Hasil Pengujian dengan Data Training Karakter Times New Roman dan Input Karakter dengan Noise Uniform dan Gaussian
Hasil Pengenalan N O P Q R S T U V W X Y Z
Input Times New Roman Arial Rounded Bold Courier New
5.
Pengujian ini dilakukan untuk melihat bagaimana keberhasilan dari Hamming network bila dalam input image terdapat noise. Pengujian ini hanya dilakukan untuk data training yang diambil dari karakter Times New Roman karena bila dilihat hasil pengujian sebelumnya, data ini yang memberikan hasil yang terbaik. Penambahan noise dilakukan dengan memberikan noise uniform dan noise gaussian pada input image. Tabel 10. Hasil Pengujian dengan Data Training Karakter Times New Roman dan Input Karakter Times New Roman dengan Noise Uniform Input Karakter N O P Q R S T U V W X Y Z
100%
100%
100%
57,69%
61,53%
69,23%
38,46%
26,92%
30,77%
Kesimpulan
Dari hasil pengujian yang telah dilakukan, dapat diambil kesimpulan bahwa untuk aplikasi yang telah dirancang ini, Hamming network baik sekali untuk mengenali karakter yang ada dalam data training dan cukup robust terhadap noise. Akan tetapi untuk data yang tidak terdapat dalam data training, Hamming network menghasilkan tingkat pengenalan yang dapat dikatakan masih kurang baik. Dari ketiga jenis karakter yang diuji, Times new Roman menghasilkan tingkat pengenalan yang lebih baik. Tentunya untuk menghasilkan tingkat pengenalan 100% untuk ketiga jenis karakter, maka dalam data training harus ada setiap data dari ketiga jenis karakter tersebut. Untuk pengembangan lebih lanjut, dalam rangka memperbaiki hasil pengenalan dari data yang tidak ada dalam data training, mungkin dapat dilakukan dengan menambah metode ekstraksi fitur data.
4.4 Pengujian dengan Variasi Noise Image
Hasil Pengenalan A B C D E F G H I J K L M
Tingkat Pengenalan Noise Noise Tanpa Uniform Gaussian Noise
Dari tabel di atas terlihat bahwa untuk data input karakter yang ada dalam data training, tingkat keberhasilan pengenalan tidak dipengaruhi oleh noise.
Dari hasil pengujian di atas, sistem dapat mengenali semua karakter dengan tingkat keberhasilan 100%
Input Karakter A B C D E F G H I J K L M
ISBN: 979-756-061-6
Daftar Pustaka
Hasil Pengenalan N O P Q R S T U V W X Y Z
[1] Hagan, Martin T. Neural Network Design. Boston, USA: PWS Publishing Company, 1996. [2] Haykin, Simon. Neural Networks, A Comprehensive Foundation, Prentice Hall, 1999. [3] Patterson, Dan W. Artificial Neural Networks: Theory And Applications. Singapore: Prentice Hall, 1996. [4] Zalzala, A.M.S. Neural Networks for Robotic Control: Theory and Applications, London: Ellis Horwood, 1996.
Dari hasil pengujian di atas, sistem dapat mengenali semua karakter dengan tingkat keberhasilan 100% walaupun input image telah ditambah dengan noise uniform. Berikut rangkuman hasil pengujian yang telah dilakukan untuk input image yang sudah ditambah dengan noise.
F-25