Pengenalan citra huruf berderau dengan jaringan syaraf tiruan berdasarkan sifat-sifat statistis - USD Repository

PENGENALAN CITRA HURUF BERDERAU DENGAN JARINGAN SYARAF TIRUAN BERDASARKAN SIFAT-SIFAT STATISTIS

  Tesis untuk memenuhi sebagian persyaratan untuk mencapai derajat Sarjana S-2

  Program Studi Teknik Elektro Jurusan Ilmu-ilmu Teknik diajukan oleh

  Linggo Sumarno 8422/I-1/526/96

  Kepada PROGRAM PASCA SARJANA UNIVERSITAS GADJAH MADA

  1998

  

PRAKATA

  Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa atas segala karunia yang telah diberikanNya hingga selesainya tesis ini, yang merupakan salah satu syarat untuk mencapai derajat Sarjana S-2 di Program Studi Teknik Elektro Jurusan Ilmu-ilmu Teknik Universitas Gadjah Mada.

  Walaupun telah diusahakan sebaik mungkin, penulis menyadari tesis ini masih terdapat kekurangan di sana sini. Untuk itu, saran untuk perbaikan lebih lanjut sangat penulis harapkan.

  Pada kesempatan ini, penulis ucapkan terima kasih yang sebesar-besarnya kepada pihak-pihak yang telah sangat membantu kelancaran studi S2 hingga selesainya tesis ini:

  1. Bapak Adhi Susanto MSc. PhD., selaku pembimbing pertama yang dengan penuh perhatian membimbing tesis ini

  2. Ibu Ir. Litasari MSc., selaku pembimbing kedua yang juga dengan penuh perhatian membimbing tesis ini.

  3. Dr. M. Sastrapratedja SJ., selaku Rektor Universitas Sanata Dharma yang telah memberikan kesempatan untuk menempuh studi S2 di UGM.

  4. Yayasan Sanata Dharma dan EEDP yang telah membantu pembiayaan studi S2.

  5. Karyawan administrasi Jurusan Teknik Elektro Universitas Gadjah Mada yang telah membantu kelancaran studi S2.

  6. Pihak-pihak lain yang tidak dapat penulis sebutkan satu persatu dalam kesempatan ini.

  Yogyakarta, Nopember 1998 penulis Linggo Sumarno

DAFTAR ISI

  halaman Halaman Judul …………………………………………………………… i Halaman Pengesahan ……………………………………………………. ii Prakata …………………………………………………………………… iii Daftar Isi …………………………………………………………………. v Daftar Tabel ……………………………………………………………… ix Daftar Gambar ………………...…………………………………………. x Intisari …………………………………………………………………… xi

  BAB 1 PENDAHULUAN

  1.1 Latar Belakang …………………………………………… 1

  1.1.1 Perumusan masalah ……………………………… 1

  1.1.2 Keaslian penelitian …………………………………. 2

  1.1.3 Faedah yang diharapkan ……………………………

  3

  1.2 Tujuan Penelitian ……………………………………….…. 3

  BAB 2 TINJAUAN PUSTAKA

  2.1 Pengantar ……………………..…………………………… 4

  2.2 Landasan Teori ……………………………………………. 4

  2.2.1 Jaringan syaraf tiruan …………………………… 4

  2.2.2 Pengklasifikasi Bayes ……………………………… 7

  2.2.3 Jendela Parzen ……………………………………. 8 2.2.4 Optimasi faktor penyekala ………………………….

  3.3.4 Implementasi keseluruhan sistem …………………

  30

  29 BAB 4 HASIL PENELITIAN 4.1 Hasil Penelitian …………………………………………...

  3.5 Kesulitan-kesulitan ………………………………………

  28

  3.4 Variabel yang Diamati ……………………………………

  27

  3.3.7 Analisis hasil pengujian ……………………………

  27

  26 3.3.6 Pengambilan data hasil pengujian ………………….

  25 3.3.5 Pengujian keseluruhan sistem ……………………...

  25

  11

  19 3.3.3 Pelatihan dan pengujian jaringan syaraf tiruan …….

  17 3.3.2 Perancangan jaringan syaraf tiruan ……………….

  3.3.1 Perancangan keseluruhan sistem …………………

  17

  17 3.3 Jalan Penelitian …………………………………………….

  3.2 Alat Penelitian ……………………………………………

  15

  14 BAB 3 CARA PENELITIAN 3.1 Bahan Penelitian ………………………………………….

  2.4 Langkah Penelitian ………………………………………

  13

  2.3 Hipotesis ……………………………………………………

  4.1.1 Pengujian mayor terhadap citra masukan yang berderau …..... 31

  4.1.2 Pengujian minor terhadap citra masukan yang …..... 32 mengalami deformasi proporsi, pergeseran, dan perputaran

  4.1.3 Pengujian gabungan terhadap citra masukan …..... 35 yang berderau dan mengalami deformasi proporsi, pergeseran dan perputaran 4.1.4 Panjang waktu pelatihan dan pengenalan ………….

  37 4.1.5 Pengujian pengaruh derau dan faktor penyekala …..

  37 4.1.6 Pengujian pengaruh derau dan bentuk huruf ……….

  38

  4.2 Pembahasan ………………………………………………

  39

  4.2.1 Pengaruh derau terhadap tingkat pengenalan ………

  39

  4.2.2 Pengaruh deformasi proporsi, pergeseran, dan ……. 40 perputaran terhadap tingkat pengenalan

  4.2.3 Pengaruh derau serta deformasi proporsi, ……. 41 pergeseran, dan perputaran terhadap tingkat pengenalan 4.2.4 Panjang waktu pelatihan dan pengenalan ………….

  42 4.2.5 Pengaruh derau dan faktor penyekala ……………..

  42 4.2.6 Pengaruh derau dan bentuk huruf ………………….

  43 BAB 5 KESIMPULAN DAN SARAN

  5.1 Kesimpulan ………………………………………………

  45

  5.2 Saran ………………………………………………………

  47 BAB 6 RINGKASAN

  6.1 Latar Belakang ……………………………………………

  49

  6.2 Tinjauan Pustaka ……………………………………………

  49 6.3 Landasan Teori …………………………………………….

  50

  6.4 Cara Penelitian ……………………………………………

  50 6.5 Hasil Penelitian …………………………………………….

  51 Daftar Pustaka ………………………………………………………….

  52 LAMPIRAN L.1 Daftar Kode Sumber ………………………………………..

  54 L.2 Listing Kode Sumber ………………………………………

  54 L.3 Contoh Hasil Eksekusi Kode Sumber ……………………...

  77

  

DAFTAR TABEL

  halaman Tabel

  4.1 Pengaruh deformasi proporsi terhadap tingkat ……… 33 pengenalan.

Tabel 4.2 Pengaruh deformasi pergeseran terhadap tingkat ……… 34 pengenalan.Tabel 4.3 Pengaruh deformasi perputaran terhadap tingkat ……… 35 pengenalan.Tabel 4.4 Pengaruh derau terhadap tingkat pengenalan, pada ……… 36 citra yang mengalami deformasi proporsi,

  pergeseran, dan perputaran.

Tabel 4.5 Panjang waktu pelatihan dan pengenalan, pada ……… 37 jaringan yang terkonstruksi atas 26 kelas pola,

  dengan dua sampel di setiap kelasnya.

  ……… 37

Tabel 4.6 Tingkat pengenalan jaringan (%) pada keadaan σ dan derau yang beragam.

  ……… 37

Tabel 4.7 Rerata kerapatan probabilitas pada keadaan σ dan derau yang beragam.

  Tabel

  4.8 Tingkat pengenalan jaringan untuk citra huruf ……… 38 masukan yang seragam, pada keadaan tingkat derau 40%.

  

DAFTAR GAMBAR

  halaman Gambar 2.1 Model dasar neuron. ………………………………………..

  6 Gambar 2.2 Contoh jaringan umpanmaju tiga-lapis. ……………………

  7 Gambar 3.1 Dua macam jenis huruf: Roman dan Arial. ………………...

  16 Gambar 3.2 Sistem pengenalan citra huruf berderau. ……………………

  18 Gambar 3.3 Jaringan syaraf probabilitas. ………………………………..

  20 Gambar 4.1 Contoh citra huruf berderau; (a) dan (g) citra asli; (b) ……. 31 dan (h) berderau 5 %; (c) dan (i) berderau 15%; (d) dan (j) berderau 25%; (e) dan (k) berderau 30%; (f) dan (l) berderau 35%.

Gambar 4.2 Grafik pengaruh derau terhadap tingkat pengenalan ……. 32 untuk citra huruf masukan yang beragam.Gambar 4.3 Contoh citra yang mengalami deformasi proporsi, ……. 33 dengan (a) dan (d) citra asli, (b) dan (e) kurus, (c) dan

  (f) gemuk.

Gambar 4.4 Contoh citra yang mengalami deformasi pergeseran, ……. 34 dengan (a) dan (d) citra asli, (b) tergeser ke kiri satu

  piksel, (c) tergeser ke kanan 2 piksel, (e) tergeser ke atas dua piksel dan (f) tergeser ke bawah tiga piksel.

Gambar 4.5 Contoh citra yang mengalami deformasi perputaran, ……. 35

  o

  dengan (a) dan (d) citra asli, (b) dan (e) terputar -5 ,

  o (c) dan (f) terputar 5 .

Gambar 4.6 Contoh citra berderau yang mengalami deformasi ……. 36 proporsi, pergeseran dan perputaran; (a) dan (d) citra

  asli; (b) dan (e) berderau 10 %, kurus, tergeser ke

  o

  kiri satu piksel dan terputar 5 ; (c) dan (f) berderau 10 %, gemuk, tergeser ke kanan satu piksel

  o dan terputar -5 .

Gambar 4.7 Grafik pengaruh derau yang bertingkat terhadap ……. 39 tingkat pengenalan untuk bentuk huruf

  

INTISARI

  Pengenalan citra merupakan suatu proses pengolahan citra aras-tinggi yang bertujuan untuk mengenali informasi yang terkandung dalam suatu citra. Untuk dapat melakukan proses pengenalan tersebut, penggunaan metode pengenalan yang berdasarkan pada sifat-sifat statistis merupakan metode yang telah umum digunakan. Disamping metode tersebut, dewasa ini, terdapat pula metode pengenalan lain yang sedang berkembang pesat, yang dinamakan metode jaringan syaraf tiruan.

  Dengan menggunakan jaringan syaraf tiruan yang berdasarkan pada sifat- sifat statistis, maka pada penelitian ini dilakukan perancangan suatu model sistem pengenalan citra yang dapat mengenali huruf pada suatu citra berderau. Hasil pengujian jaringan syaraf tiruan yang dirancang memperlihatkan bahwa, huruf pada suatu citra berderau yang tingkat deraunya mencapai 35% dapat dikenali, dengan kesalahan tingkat pengenalan kurang dari 5%.

  

ABSTRACT

  Image recognition is a high-level image processing which is targeted to recognize information contained in the image. In performing this recognition, methods based on statistical properties are the common use. Beside those methods, nowadays, another method which utilizes the artificial neural networks has grown extensively.

  By using the artificial neural network which is based on some statistical properties, in this research a model of image recognition system was designed to have the ability to recognize letter from a noisy image. Test results of this model have shown that letter from a noisy image with noise level up to 35% can be recognized, with error recognition rate less than 5%.

BAB 1 PENDAHULUAN

1.1 Latar Belakang

  Pengenalan citra merupakan bagian bidang ilmu pengolahan citra, yang pada dasarnya bermaksud untuk meniru kemampuan sistem penglihatan manusia dalam menganalisis dan memahami suatu citra. Untuk mencapai maksud tersebut, metode yang berdasarkan sifat-sifat statistis merupakan metode yang telah dipakai secara luas. Penggunaan regresi linear, pengelompokan, korelasi, dan pengklasifikasi Bayes merupakan standar yang telah umum dipakai.

  Dewasa ini, jaringan syaraf tiruan yang pada dasarnya adalah meniru sistem otak manusia, telah memperlihatkan sejumlah sifat yang menarik seperti unjukkerja yang tangguh ketika menghadapi pola berderau, tolerans yang tinggi terhadap kesalahan, laju komputasi paralel yang tinggi, serta kemampuan generalisasi.

  Berdasar pada sifat-sifat statistis dan jaringan syaraf tiruan di atas, pada penelitian ini dirancang suatu jaringan syaraf tiruan yang mampu mengenali citra huruf berderau.

1.1.1 Perumusan masalah

  Manusia dapat mengenali dengan mudah suatu citra huruf berderau, dengan kandungan derau hingga suatu tingkat derau tertentu. Akan tetapi, tidak demikian halnya dengan komputer, karena komputer memerlukan adanya model- model pengenalan citra tertentu untuk dapat melakukan proses pengenalan citra tersebut. Pada penelitian ini, akan dibuat suatu model pengenalan citra yang dapat dilakukan oleh komputer. Model pengenalan citra yang akan dibuat merupakan model dengan jaringan syaraf tiruan yang berdasarkan sifat-sifat statistis.

1.1.2 Keaslian penelitian

  Pengenalan citra huruf berderau ukuran 5x7 piksel dengan jaringan syaraf tiruan yang berdasarkan pada perambatan galat mundur telah diusulkan oleh Demuth dan Beale (1994). Dengan jaringan syaraf tiruan tersebut, kandungan derau hingga 20% masih dapat ditanggulangi.

  Model jaringan syaraf tiruan untuk pengenalan citra berderau ukuran 7x9 piksel, dengan berdasarkan perseptron dan pengingat heteroasosiatif, telah diusulkan. Model yang dikenalkan oleh Fausett (1994) tersebut, mampu mengenali citra huruf yang mempunyai kandungan derau hingga 30%.

  Suatu model jaringan syaraf tiruan yang berdasarkan sifat-sifat statistis yang mampu mengenali citra huruf berderau ukuran 32x32 piksel, dengan kandungan derau sekitar 20% telah dikenalkan oleh Watanabe (1996). Pemodelan jaringan syaraf tiruan tersebut dilakukan dengan menggunakan jaringan syaraf kompetisi probabilitas.

  Penelitian yang dilakukan di sini, dimaksudkan untuk mengembangkan dan memberikan suatu alternatif lain jaringan syarat tiruan yang berdasarkan sifat- sifat statistis yang lain. Jaringan syaraf ini diharapkan mampu menangani citra huruf berukuran 32x32 piksel yang mempunyai kandungan derau hingga lebih dari 30%.

1.1.3 Faedah yang dapat diharapkan

  Dengan adanya penelitian ini dapat diharapkan akan dihasilkan suatu model alternatif pengenalan citra huruf berderau dengan jaringan syarat tiruan yang berdasarkan sifat-sifat statistis, yang kemampuan pengenalan citranya lebih tinggi dari yang pernah ada sebelumnya sebelumnya.

1.2 Tujuan Penelitian

  Tujuan yang ingin dicapai dalam penelitian ini adalah tersusunnya perangkat-lunak suatu model jaringan syaraf tiruan yang berdasarkan sifat-sifat statistis, yang mampu mengenali citra huruf berderau. Watak dan unjukkerja jaringan syaraf tiruan dalam melakukan pengenalan citra huruf berderau, akan diselidiki dalam penelitian ini.

BAB 2 TINJAUAN PUSTAKA

2.1 Pengantar

  Jaringan syaraf tiruan yang berdasarkan sifat-sifat statistis pertama kali diperkenalkan oleh Donald Specht di tahun 1990-an. Jaringan yang dinamakan Jaringan Syaraf Probabilistis ini, mendasarkan diri pada pengklasifikasi Bayes- Parzen. Specht memperlihatkan bahwa algoritma jaringan syaraf ini dapat dipecah ke dalam sejumlah besar pemroses-pemroses mandiri sederhana, yang dapat beroperasi secara paralel. Adanya pemrosesan paralel inilah yang merupakan dasar jaringan syaraf tiruan.

2.2 Landasan Teori

2.2.1 Jaringan syaraf tiruan

  Jaringan syaraf tiruan yang berkembang sejak tahun 1940-an, telah memperlihatkan kemajuan yang sangat pesat. Dewasa ini, model-model jaringan syaraf tiruan tersebut telah secara sukses diterapkan pada sistem-sistem untuk mengerjakan tugas-tugas seperti pengenalan pola, kendali robot, dan prediksi runtun waktu.

  Pada dasarnya, jaringan syaraf tiruan dimodelkan berdasarkan ciri organisasi otak manusia, yang mampu melakukan pengolahan secara paralel dan non-linear serta mampu pula mengangani informasi-informasi yang kompleks. Definisi jaringan syaraf tiruan menurut Lin dan Lee (1996).

  Jaringan syaraf tiruan adalah generasi baru sistem pemrosesan informasi yang dikonstruksi dengan berdasarkan pada beberapa ciri yang ada pada otak manusia, yaitu: 1) adanya elemen-elemen pemroses (simpul-simpul) yang saling tersambung, yang biasanya beroperasi secara paralel, dan 2) adanya kelakuan kolektif seperti kemampuan untuk belajar, mengingat kembali dan melakukan generalisasi atas pola pelatihan atau data.

  Dalam implementasinya, jaringan syaraf tiruan merupakan paduan tiga hal dasar sebagai berikut.

  1. Elemen-elemen pemroses (simpul-simpul) yang disebut sebagai neuron- neuron.

  2. Arsitektur sambungan antar elemen-elemen pemroses yang disebut sebagai arsitektur jaringan.

  3. Aturan penyimpanan informasi ke dalam jaringan yang disebut sebagai aturan pelatihan.

  Setiap neuron pada jaringan syaraf tiruan mempunyai tiga fungsi utama sebagai berikut.

  1. Mengumpulkan nilai-nilai masukan dan nilai-nilai pada sambungan yang disebut sebagai bobot.

  2. Melakukan operasi matematis tertentu yang telah ditentukan sebelumnya.

  3. Mengeluarkan nilai hasil operasi matematis di atas.

  Secara sederhana neuron ini diperlihatkan pada Gambar 2.1 di bawah ini.

  x

  1 w

  1 w

  2 x

  2 g (f(x,w)) y

  …

  w n x n

Gambar 2.1 Model dasar neuron

  Pada Gambar 2.1 di atas, keluaran neuron dirumuskan secara umum sebagai y = g(f(x, w)), dengan x = [x , x , …, x ] adalah vektor nilai masukan dan

  1 2 n w = [w , w , …, w ] adalah vektor nilai bobot.

  1 2 n

  Neuron-neuron yang saling tersambung akan dapat membentuk banyak macam arsitektur jaringan seperti diperlihatkan oleh Fausett (1994), Lin dan Lee (1996), dan Patterson (1996). Gambar 2.2 memperlihatkan contoh arsitektur jaringan umpanmaju tiga-lapis yang merupakan dasar arsitektur jaringan syaraf tiruan yang digunakan dalam penelitian ini. keluaran lapis ke-3 lapis ke-2 lapis ke-1 masukan Gambar 2.2 Contoh jaringan umpanmaju tiga-lapis.

  Bobot-bobot sambungan dalam jaringan merupakan tempat jaringan syaraf menyimpan informasi. Terdapat banyak ragam algoritma pelatihan untuk mengeset nilai-nilai bobot ini. Pada penelitian ini, algoritma yang dipakai adalah algoritma pelatihan terbimbing jaringan syaraf probabilistis. Algoritma pelatihan ini pada dasarnya adalah, pembentukan neuron pada lapis ke-1 yang merupakan anak (turunan) neuron pada lapis ke-2, pada Gambar 2.2 di atas.

2.2.2 Pengklasifikasi Bayes

  Jaringan syaraf tiruan yang dipergunakan dalam penelitian ini didasarkan pada pengklasifikasi Bayes, yang melakukan klasifikasi dengan berdasarkan pada sifat-sifat statistis sekelompok data (informasi). Secara sederhana, pengklasifikasi Bayes untuk kasus klasifikasi dua-kelas diperlihatkan sebagai berikut.

  h A c A f A (x) > h B c B f B (x) (2.1)

  dengan

  h A , h B : probabilitas apriori kelas A dan B c A , c B : risiko pemilihan kelas A dan B

f A (x) , f B (x) : kerapatan probabilitas kelas A dan B untuk

masukan x.

2.2.3 Jendela Parzen

  ∑ =

  σ : faktor penyekala

  Fungsi kernel di atas, pada dasarnya bertujuan untuk menghitung nilai

  antara vektor masukan x dan sampel x i .

  i D x x K : fungsi kernel dengan D(x,x i ) adalah fungsi jarak

  σ ) , (

  ⎜⎜ ⎝ ⎛

  ⎟⎟ ⎠ ⎞

  σ (2.2) dengan n : jumlah sampel

  ⎟⎟ ⎠ ⎞

  1 ) (

  Kerapatan probabilitas kelas pada pengklasifikasi Bayes di atas, biasanya tidak diketahui. Oleh karena itu, digunakan suatu cara untuk mengestimasi kerapatan probabilitas dengan berdasarkan pada jendela Parzen, yang dirumuskan sebagai:

  1

  

D x x

K n x f

  n i i

  =

  ⎜⎜ ⎝ ⎛

  ) , ( makin tinggi bila masukannya makin mirip dengan sampel yang ada dan sebaliknya, makin rendah bila masukannya makin tidak mirip dengan sampel yang ada.

  Bentuk fungsi kernel di atas dapat beragam, namun fungsi tersebut harus memenuhi kriteria-kriteria sebagaimana ditulis oleh Masters (1995) sebagai berikut.

  1. Fungsi kernel harus berhingga: ϕ ϕ

  sup | K ( ) | d < ∞ (2.3) ϕ

  2. Fungsi kernel harus dengan cepat menuju nol bila argumennya meningkat dalam nilai absolutnya:

  ∞ K ( ϕ d ) ϕ < ∞

  ∫ − ∞

  lim ϕ K ( ϕ ) = (2.4)

  ϕ → ∞

  3. Fungsi kernel harus dinormalisasi, bila yang akan diestimasi adalah fungsi kerapatan:

  ∞ K

  ( ϕ d ) ϕ = 1 (2.5)

  ∫ − ∞

  4. Untuk mendapatkan kelakuan asimtotik yang tepat, jendela (faktor penyekala) harus menyempit bila jumlah sampelnya meningkat: lim σ =

  n n → ∞

  lim n σ = ∞ (2.6)

  n n → ∞

  Salah satu contoh fungsi kernel yang memenuhi empat kriteria di atas adalah fungsi Gaussian, yang diperlihatkan pada persamaan: 2

  

ϕ

  ϕ

  K ( ) = e (2.7)

  Dalam fungsi kernel di atas, tercakup adanya fungsi jarak. Fungsi jarak tersebut merupakan fungsi untuk menghitung jarak antara dua buah vektor.

  Terdapat banyak macam fungsi jarak yang dapat dipergunakan untuk keperluan tersebut (Wilson et al, 1997). Salah satu macam fungsi jarak tersebut adalah fungsi jarak Minkowsky yang diperlihatkan pada persamaan:

  1 / r n r

  ⎛ ⎞ ⎜ ⎟

  D ( x , y ) = xy (2.8) i

  ∑ i

  ⎜ ⎟

  i =

  1

  ⎝ ⎠ dengan r adalah bilangan bulat (1,2, …), yang merupakan orde fungsi jarak tersebut.

2.2.4 Optimasi faktor penyekala

  Besar nilai faktor penyekala pada persamaan (2.2), dicari dengan melalui proses optimasi yang memperhatikan hal-hal sebagai berikut.

  1. Bila masukan x diketahui merupakan sampel kelas ω, maka diharapkan nilai

  f (x) yang maksimum. Nilai yang maksimum ini dapat terjadi bila keadaan kandungan derau pada masukan x tersebut adalah 0 %.

  2. Bila masukan x diketahui bukan merupakan sampel kelas ω, maka diharapkan nilai f(x) yang minimum. Nilai yang minimum ini dapat terjadi bila keadaan

  1)

  kandungan derau pada masukan x tersebut adalah 50 % Berdasarkan hal-hal di atas proses optimasi yang memaksimumkan nilai

  f (x) pada kandungan derau 0 %, dapat ditulis sebagai: g ( ) = maks ( f ( x ) | ) (2.9)

  σ

  derau = 1 %

  Karena nilai f(x)| derau =0% di atas selalu lebih kecil dari 1, maka persamaan (2.9) di atas dapat ditulis dalam bentuk minimisasi fungsi:

  g ( ) = min (

  1 − f ( x ) | ) (2.10) σ

  derau = 1 %

  1) Dalam hal ini, dipilih derau 50 %, karena dengan derau setinggi itu, citra masukannya benar-

  • g g g =
  • − = derau derau

  jika g ) < g

  Tetapkan toleransi ε Hitung

  2

  2

  1

  σ σ σ

  1

  Ulangi

  1

  Masukan Tetapkan batas minimum σ dan batas maksimum σ

  ), maka (geser kiri) σ

  2

  = σ

  

1

  ; σ

  1

  = σ ; σ = σ

  1

  2 untuk fungsi g.

  Algoritma 2.1 Pencarian Kuadratis

  2 ) < g(σ 1 ), maka (geser kanan)

  derau σ x f g (2.11)

  Selanjutnya, proses optimasi untuk meminimumkan f(x) pada kandungan derau 50 % adalah:

  

( )

%

  50

  2

  | ) ( min ) (

  =

  =

  Akhirnya, proses optimasi keseluruhannya adalah minimisasi gabungan persamaan (2.10) dan (2.11): ) ( ) ( ) (

  (2.13) Dalam penelitian ini, proses minimisasi pada fungsi g(σ) di atas dilakukan dengan menggunakan pencarian kuadratis (Buchanan dkk., 1992), yang algoritmanya ditulis sebagai berikut.

  2

  1

  σ σ σ

  (2.12)

  

( ) { }

% 50 %

  ) ( ) ( ) 1 min (

  = =

  σ x f x f g

  • = dan h = σ
    • σ Kalang
    • h jika g

  h .[ g ( σ ) − g ( σ )]

  • 1

  2

  σ = σ +

  2 .[ g ( σ + ) − 2 . g ( σ ) g ( σ )]

  1

  2

  jika g(σ ) < g(σ ), maka σ = σ

  1

  1 h h ;

  = σ = σ 1 – h ; σ 2 = σ 1 + h

  2 hingga

  h < ε Keluaran Minimum fungsi g pada σ 1 dengan galat lebih kecil dari h.

2.3 Hipotesis

  Model jaringan syaraf tiruan untuk pengenalan huruf yang dirancang, mempunyai 26 macam kelas, yaitu dari A hingga Z. Setiap kelas mempunyai sejumlah sampel dari 1 hingga n.

  Masukan huruf berderau yang telah diubah menjadi vektor, selanjutnya dihitung kerapatan probabilitasnya untuk setiap kelas, dengan menggunakan jendela Parzen. Penghitungan dengan jendela Parzen ini pada dasarnya dilakukan dalam dua tahap berikut.

  1. Tahap pertama, penghitungan nilai kemiripan masukan setiap sampel di setiap kelas. Penghitungan nilai kemiripan ini dilakukan dengan menggunakan fungsi kernel yang telah ditentukan sebelumnya.

  2. Tahap kedua, penjumlahan ternormalisasi nilai-nilai kemiripan yang terdapat di setiap kelas.

  Dengan berdasarkan pada aturan klasifikasi Bayes, maka keluaran jaringan

  2) syaraf tiruan adalah kelas yang mempunyai nilai kerapatan probabilitas terbesar .

2.4 Langkah Penelitian Penelitian dilakukan dengan melalui tahap-tahap sebagai berikut.

  1. Perancangan sistem pengenalan citra huruf berderau secara keseluruhan.

  2. Perancangan model jaringan syaraf tiruan, dengan berdasarkan pada jaringan syaraf probabilistis.

  3. Pengimplementasian model jaringan syaraf tiruan dalam bentuk program, dengan menggunakan MATLAB.

  4. Pengimplementasian sistem pengenalan citra huruf berderau secara keseluruhan dalam bentuk program, dengan menggunakan MATLAB.

  5. Pengujian watak dan unjukkerja sistem pengenalan citra huruf berderau secara keseluruhan.

  6. Analisis hasil pengujian.

  7. Pembuatan laporan penelitian.

2) H al ini berlaku bila jumlah sampel dan risiko pemilihan untuk setiap kelas, sama besarnya.

BAB 3 CARA PENELITIAN Penelitian dilakukan dengan cara merancang sistem pengenalan citra huruf berderau, yang masukan dan keluarannya berupa citra dengan format bitmap. Implementasi sistem dituliskan dalam bentuk program dengan menggunakan MATLAB.

3.1 Bahan Penelitian

  Bahan yang dipakai untuk menjalankan penelitian ini berupa citra huruf dengan spesifikasi sebagai berikut.

  1. Format citra : Bitmap

  2. Ukuran citra : 32x32 piksel

  3. Huruf : A hingga Z

  4. Jenis huruf : Roman dan Arial Dalam penelitian ini, citra huruf dengan spesifikasi di atas dibuat dengan menggunakan program PAINT yang terdapat dalam sistem operasi WINDOWS

  95. Hasil pembuatan citra huruf tersebut tersebut, secara visual diperlihatkan dalam Gambar 3.1.

  (a) Jenis huruf Roman (b) Jenis huruf Arial Gambar 3.1 Dua macam jenis huruf: Roman dan Arial.

3.2 Alat Penelitian

  Alat yang dipakai untuk menjalankan penelitian ini dibedakan menjadi dua macam sebagai berikut.

  1. Perangkat-keras: Komputer berbasiskan mikroprosesor AMD5X86/133MHz dengan memori 16 MB, harddisk 850 MB, monitor VGA dan pencetak.

  2. Perangkat-lunak: MATLAB versi 5.0 yang dilengkapi dengan Image Processing Toolbox .

3.3 Jalan Penelitian Jalannya penelitian yang dilakukan diuraikan seperti berikut.

3.3.1 Perancangan keseluruhan sistem

  Keseluruhan sistem pengenalan citra huruf berderau yang dirancang diperlihatkan secara blok pada Gambar 3.2.

  Citra keluaran Asosiasi citra

  Klasifikasi dengan jaringan syaraf tiruan

  Vektorisasi citra Sumber derau

  Deformasi citra Citra masukan

Gambar 3.2 Sistem pengenalan citra huruf berderau.

  Pada Gambar 3.2 di atas, citra masukan berupa citra huruf ukuran 32x32 piksel dengan format bitmap. Sebelum dikontaminasi dengan derau, citra huruf ini sebelumnya dideformasi dahulu dalam hal proporsi, perputaran, dan pergeseran. Selanjutnya, dilakukan vektorisasi citra, yaitu mengubah citra 32x32 piksel menjadi suatu vektor dengan 1024 elemen. Hal ini dilakukan karena komputasi data dalam bentuk vektor lebih cepat daripada komputasi data dalam bentuk matriks bujursangkar.

  Vektor dengan 1024 elemen, merupakan informasi masukan bagi jaringan syaraf tiruan. Dengan informasi ini, jaringan syaraf tiruan mengenali informasi huruf yang ada dalam vektor tersebut. Hasil pengenalan jaringan syaraf tiruan berupa informasi nomor huruf dari 1 hingga 26, yang merupakan urutan nomor alfabet dari A hingga Z. Untuk mendapatkan keluaran sistem yang berupa citra, selanjutnya dilakukan asosiasi citra terhadap keluaran dari jaringan syaraf tiruan.

3.3.2 Perancangan jaringan syaraf tiruan

  Arsitektur jaringan syaraf yang dirancang, pada dasarnya bersumber pada jaringan syaraf probabilistis yang dikenalkan oleh Donald Specht. Akan tetapi, dalam penelitian ini dilakukan modifikasi dalam fungsi kernelnya, untuk mendapatkan komputasi yang lebih cepat. Untuk lebih jelasnya, arsitektur jaringan syaraf tiruan ini diperlihatkan dalam Gambar 3.3 sebagai berikut.

  y

  Lapis maksimum maks Lapis penjumlahan

  f f A … Z

  ω A ω An

  1 ω Z

  1

  ω Zn

  … … …

  Lapis pola

  w A 1 1 w Zn 1024

  …

  σ

  x x x

  1 2 1024 Gambar 3.3 Jaringan syaraf probabilistis.

  Jaringan syaraf probabilistis pada Gambar 3.2 di atas, pada dasarnya mempunyai 3 lapis, yaitu lapis pola, lapis penjumlahan, dan lapis maksimum.

  Berikut ini penjelasan untuk setiap lapis jaringan syaraf tiruan di atas.

  1. Lapis pola terdiri atas 26 kelas dari ω A hingga ω Z . Setiap kelas mempunyai sampel dari 1 hingga n. Oleh karena itu dalam lapis ini akan ada 26xn elemen pemroses. Setiap elemen pemroses berfungsi untuk mencari besar nilai kemiripan masukan terhadap sampel di setiap kelas, dengan menggunakan fungsi kernel yang telah ditentukan sebelumnya.

  2. Lapis penjumlahan terdiri atas 26 elemen pemroses. Setiap elemen pemroses pada lapis ini berfungsi untuk melakukan penjumlahan ternormalisasi atas nilai-nilai kemiripan di setiap kelas. Hasil penjumlahan ternormalisasi ini adalah nilai fungsi kerapatan probabilitas kelas.

  3. Lapis maksimum hanya terdiri atas satu elemen pemroses. Keluaran dari lapis ini berupa nomor kelas yang nilai fungsi kerapatan probabilitas kelasnya tertinggi.

3.3.2.1 Pelatihan

  Pelatihan jaringan syaraf probabilistis pada dasarnya hanya terdiri atas dua tahap pengkonstruksian lapis pola sebagai berikut.

  1. Tahap pertama: pembentukan elemen pemroses dan penyimpanan bobotnya.

  2. Tahap kedua: pencarian nilai faktor penyekala σ yang merupakan nilai prasikap pada lapis pola.

  Dua lapis yang lain yaitu lapis penjumlahan dan lapis maksimum tidak mengalami perubahan. Algoritma untuk pengkonstruksian lapis pola di atas diperlihatkan di bawah ini.

  Algoritma 3.1 Pelatihan jaringan syaraf tiruan

  Langkah 1. Pelatihan tahap pertama:

  (3.4)

  1

  

1

2 σ

  =

  −

  ⎜ ⎝ ⎛ −

  ⎟ ⎠ ⎞ ⎜⎜

  ∑ = ⎟⎟

  ( ) n

e

x f n i x x j i i j

  σ (3.3) dan

  derau j i derau j i ij x f x f g

  ) ( ) ( ( 1 ) = =

  

( )

% 50 %

  σ σ (3.2) dengan

  1

  Untuk setiap pola masukan x(p) (p=1 … 1024) yang telah ditentukan kelas polanya ω i , (i=A, B, C,…,Y, atau Z) lakukan Langkah 2-3. Langkah 2. Konstruksi kelas pola ω i

  26

  26 min

  ∑∑ = = n g i n j ij opt

  =

  ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛

  ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞

  ( )

  Langkah 5. Cari besar nilai faktor penyekala optimum σ opt dengan melalukan operasi minimisasi:

  Langkah 4. Pelatihan tahap kedua: Untuk pelatihan tahap kedua ini, lakukan Langkah 5-6.

  Langkah 3. Sambungkan keluaran pemrosesan pada kelas pola ω i ke lapis penjumlahan di f i .

  w ij_p = x(p) (3.1)

  Vektor bobot masukan kelas i, untuk sampel ke j (j =1 … n) :

  • + − =

adalah nilai kerapatan probabilitas kelas i terhadap masukan x j , yang merupakan salah satu anggota kelas tersebut.

  Gunakan Algoritma 2.1 (Algoritma pencarian kuadratis pada halaman 12) untuk operasi minimisasi fungsi g ij (σ) di atas.

  Langkah 6. Sambungkan nilai σ opt yang didapat, ke setiap elemen pemroses yang terdapat pada lapis pola.

3.3.2.2 Implementasi komputasi

  Implementasi komputasi jaringan syaraf tiruan adalah berupa langkah- langkah komputasi yang dilakukan jaringan bila menerima pola masukan.

  Langkah-langkah ini dijelaskan dengan algoritma sebagai berikut.

  Algoritma 3.2 Implementasi komputasi jaringan syaraf tiruan Langkah O. Inisialisasi bobot w dan faktor penyekala σ dari hasil pelatihan.

  Langkah 1. Untuk setiap pola masukan yang akan diklasifikasi, kerjakan Langkah 2-4.

  Langkah 2. Lapis pola: Untuk setiap sampel j (j=1 … n) dari kelas i (i = A … Z): hitung masukan jaringan dengan rumus jarak Minkowsky orde-1 yang ternormalisasi (lihat persamaan (2.8)):

  m

w x

D m k k ij k ij

  ∑ =

  − =

  1 _

  (3.5) dengan m adalah jumlah elemen vektor x atau w ij . Karena masukan jaringan dan bobotnya berupa bilangan biner, m maka komputasi xw dalam MATLAB dapat dilakukan k ij _ k

  ∑ k = 1 lebih cepat, dengan menggunakan hal-hal sebagai berikut.

  1. Tipe data 1 byte pada x k dan w ij_k , sebagai pengganti tipe data default 8 byte.

  2. Operasi logika (x k xor w ij_k ), sebagai pengganti operasi aritmatika xw . k ij _ k

  3. Operasi pencarian banyaknya elemen tidak nol pada vektor hasil operasi (x k xor w ij_k ), sebagai pengganti operasi penjumlahan elemen vektor. Hitung keluaran lapis ini dengan fungsi kernel Gaussian: 2

  ⎛ Dij − ⎜⎜ ⎟⎟ σ ⎝ ⎠

  

K e

  = (3.6)

  ij

  Langkah 3. Lapis penjumlahan: hitung penjumlahan ternormalisasi untuk setiap kelas i (i = A… Z).

  n K ij

  ∑ j =

  1 f

  = (3.7)

  i n dengan n adalah jumlah sampel di setiap kelas.

  Langkah 4. Lapis maksimum: hitung keluaran jaringan sebagai:

  y = max( f ) (3.8)

  3.3.3 Pelatihan dan pengujian jaringan syaraf tiruan

  Pelatihan jaringan syaraf tiruan dilakukan dengan melatihkan pola huruf dalam bentuk vektor. Pola huruf ini terdiri atas huruf A hingga Z, dengan dua macam jenis huruf, yaitu Roman dan Arial untuk setiap hurufnya, sebagaimana yang diperlihatkan pada Gambar 3.1.

  Dengan adanya pelatihan, maka pada lapis pola akan terdapat sejumlah 52 elemen pemroses, yang terdiri atas 26 kelas elemen pemroses dengan 2 sampel tiap kelasnya. Selain adanya pengkonstruksian elemen-elemen pemroses pada lapis pola, pelatihan juga akan memberikan nilai faktor penyekala, yang merupakan salah satu variabel elemen pemroses pada lapis pola.

  Setelah pelatihan selesai, selanjutnya dilakukan pengujian pengenalan jaringan. Untuk itu, jaringan dimasuki citra-citra huruf secara beruntun dari A hingga Z yang terdiri atas dua jenis huruf yaitu Roman dan Arial. Bila semua citra huruf tersebut kemudian dapat dikenali, maka berarti jaringannya telah terlatih.

  3.3.4 Implementasi keseluruhan sistem

  Sistem pengenalan citra huruf berderau yang telah dirancang di atas, selanjutnya diimplementasikan dalam bentuk program MATLAB. Dalam implementasi ini, terdapat dua macam basis implementasi program sebagai berikut.

  1. Implementasi berbasiskan teks, yang bertujuan untuk memperlihatkan unjuk- kerja sistem dalam hal tingkat pengenalan, serta lama waktu pelatihan dan pengujian.

  2. Implementasi berbasiskan GUI (Graphical User Interface), yang bertujuan untuk memvisualisasikan sistem pengenalan citra berderau ini.

  Dua macam basis implementasi program di atas dan contoh hasil eksekusinya, diperlihatkan pada lampiran L2 dan L3.

3.3.5 Pengujian keseluruhan sistem

  Pengujian sistem pengenalan citra huruf berderau secara keseluruhan, dilakukan dengan melakukan pengujian-pengujian sebagai berikut.

  1. Pengujian mayor, merupakan pengujian utama tingkat pengenalan jaringan, bila citra huruf masukannya berderau.

  2. Pengujian minor, merupakan pengujian tambahan tingkat pengenalan jaringan, bila citra huruf masukannya mengalami deformasi proporsi, perputaran dan pergeseran.

  3. Pengujian gabungan, merupakan gabungan pengujian mayor dan minor di atas, untuk menguji tingkat pengenalan jaringan bila citra huruf masukannya selain berderau juga mengalami deformasi proporsi, pergeseran, dan perputaran.

  4. Pengujian lama waktu pelatihan dan pengenalan.

  5. Pengujian pengaruh derau dan faktor penyekala.

  6. Pengujian pengaruh derau dan bentuk huruf.

  3.3.6 Pengambilan data hasil pengujian

  Pengambilan data hasil pengujian pada pengujian mayor, pengujian minor, pengujian gabungan dan pengujian pengaruh derau dan faktor penyekala, dilakukan dengan cara mengambil data tingkat pengenalan, terhadap jaringan yang diberi masukan beragam 300 huruf secara sekuensial, pada keadaan tingkat derau yang beragam. Ketigaratus huruf yang dimasukkan ini, tersusun secara acak baik urutannya (A hingga Z) maupun jenisnya (Roman atau Arial).

  Hasil pengujian pengaruh derau dan bentuk huruf diperoleh dengan mengambil data tingkat pengenalan jaringan, bila jaringan tersebut diberi masukan seragam 300 huruf secara sekuensial, pada keadaan tingkat derau yang beragam. Jenis huruf Arial digunakan dalam pengujian ini.