.APLIKASI BACK PROPAGATION

                                             4.APLIKASI BACK PROPAGATION
Pengenalan tulisan tangan atau karakter - Optical Character Recognition(OCR) adalah sebuah aplikasi untuk mengubah dokumen dalam bentuk gambar digital ke dalam bentuk dokumen dengan format teks (ASCII)yang dapat dengan mudah diubah isinya. Gambar digital tersebut biasa didapat dengan cara melakukan scanning dengan menggunakan perangkat keras berupa scanner.

Gambar digital tersebut dapat berisi tulisan tangan maupun tulisan ketik. Hal pertama yang dilakukan oleh aplikasi OCR moderen adalah membagi halaman ke dalam beberapa elemen dasar seperti teks, tabel, gambar, dan sebagainya. Teks akan dibagi lagi menjadi per baris. Baris teks akan dibagi menjadi kata dan akhirnya menjadi karakter. Kemudian karakter-karakter tersebut akan dibandingkan dengan berbagai pola karakter yang ada. Karakter tersebut akan melalui beberapa hipotesadan kemungkinan yang pada akhirnya menunjuk kepada karakter tersebut. Pada akhirnya, karakter-karakter yang telah dikenali tersebut akan dirangkaikan kembali ke dalam bentuk teks seperti di awal menjadi sebuah dokumen teks digital hasil OCR.

Example pada plat nomor kendaraan :

Metode OCR memiliki tahapan dalam penerapannya dan tahapan itu meliputi yang pertama, akusisi. Proses akusisi berfungsi untuk mengambil objek citra plat nomor kemudian menjadikannya sebagai inputan citra digital. Kedua prepocessing, adalah kumpulan dari beberapa proses yang digunakan untuk mengolah citra plat nomor yang terdiri dari image adjustment (imadjust), image complement, biner, dan morphological opening. Ketiga adalah proses OCR, yang berfungsi mengkorelasikan antara karakter pola citra plat nomor dengan citra template matching. Proses OCR sekaligus juga akan mengubah citra yang telah dikorelasikan untuk di ubah menjadi text. Keempat adalah proses identifikasi yang digunakan untuk mengidentifikasi bagian karakter terakhir dari output text untuk di cari identitas kota dari plat nomor itu sendiri.

Pada pelatihan :
Struktur

Jaringan saraf dari desain ini terdiri dari tiga lapisan dengan 2 neuron masing-masing, satu lapisan output dan dua lapisan tersembunyi. Ada 36 masukan ke jaringan. Dalam kasus ini fungsi sigmoid:


dipilih sebagai fungsi aktivasi neuron nonlinear. hal Bias (sama dengan 1) dengan bobot dilatih juga dimasukkan dalam struktur jaringan. Diagram struktural dari jaringan saraf yang diberikan pada Gambar. 6.A.1.


Desain Database

Kami mengajarkan jaringan saraf untuk mengenali karakter 'A', 'B' dan 'C'. Untuk melatih jaringan untuk menghasilkan sinyal kesalahan kita akan menggunakan 'D' lain 6 karakter, 'E', 'F', 'G', 'H' dan 'I'. Untuk memeriksa apakah jaringan telah belajar untuk mengenali kesalahan kita akan menggunakan karakter 'X', 'Y' dan 'Z'. Perhatikan bahwa kami tertarik dalam memeriksa respon dari jaringan untuk kesalahan pada karakter yang tidak terlibat dalam prosedur pelatihan.

Karakter untuk diakui diberikan pada 6 × 6 kotak. Masing-masing dari 36 piksel diatur ke 0 atau 1. Sesuai 6 × 6 matriks dari representasi karakter diberikan sebagai:



Set-up jaringan

Algoritma pembelajaran Kembali propagasi (BP) dari Bagian 6.2 digunakan untuk memecahkan masalah. Tujuan dari algoritma ini adalah untuk meminimalkan kesalahan-energi pada lapisan output, seperti dalam Sect. 6.2 di atas, menggunakan persamaan (6.17), (6.19), (6.26), (6.27) daripadanya. Dalam metode ini satu set pelatihan vektor input diterapkan vektor-by-vektor ke input dari jaringan dan maju-disebarkan ke output. Bobot kemudian disesuaikan dengan algoritma BP seperti di atas. Selanjutnya, kita ulangi langkah ini untuk semua set pelatihan. Seluruh proses ini kemudian diulang untuk selanjutnya (m + 2) iterasi -th dan sebagainya. Kami berhenti ketika konvergensi memadai tercapai.

Kode program di C ++ ditulis untuk mensimulasikan respon dari jaringan dan melakukan prosedur pembelajaran, seperti di Bagian 6.A.5 bawah.

Hasil
Pelatihan jaringan

Untuk melatih jaringan untuk mengenali karakter di atas kita diterapkan sesuai 6 × 6 grid dalam bentuk 1 × 36 vektor ke input dari jaringan. Karakter dianggap diakui jika kedua output dari jaringan yang tidak lebih dari 0,1 off nilai-nilai yang diinginkan masing-masing. Awal tingkat belajar η adalah eksperimental diatur ke 1,5 dan menurun dengan faktor 2 setelah setiap iterasi 100. Pendekatan ini, bagaimanapun, menghasilkan prosedur pembelajaran terjebak dalam berbagai minima lokal. Kami mencoba menjalankan algoritma belajar untuk 1000 iterasi dan menjadi jelas bahwa parameter kesalahan-energi telah berkumpul untuk beberapa nilai stabil, namun pengakuan gagal untuk semua karakter (vektor).

Namun, tak satu pun dari vektor pelatihan kami diakui pada saat ini:


Pelatihan vektor 0, 1, ..., 8 di entri log ini sesuai dengan karakter 'A', 'B',. . . , 'I'.

Untuk mencegah hal ini terjadi, satu lagi modifikasi dibuat. Setelah setiap iterasi 400 kita ulang tingkat belajar nilai awalnya. Kemudian setelah sekitar 2000 iterasi kami mampu konvergen ke 0 kesalahan dan untuk benar mengenali semua karakter:

Hasil pengenalan

Dalam rangka untuk menentukan apakah kesalahan deteksi dilakukan dengan benar, kita diselamatkan bobot yang diperoleh ke dalam file data, memodifikasi dataset dalam program menggantikan karakter 'G', 'H' dan 'I' (pelatihan vektor 6, 7 dan 8) dengan karakter 'X', 'Y' dan 'Z'. Kami kemudian berlari program, dimuat bobot disimpan sebelumnya dari file data dan diterapkan input ke jaringan. Perhatikan bahwa kami melakukan pelatihan lebih lanjut. Kami mendapat hasil sebagai berikut:

Semua tiga karakter yang berhasil dipetakan kesalahan sinyal 0,0.
Robustness Investigation

Untuk menyelidiki bagaimana kuat jaringan syaraf kami, kami menambahkan beberapa kebisingan untuk input dan mendapat hasil berikut. Dalam kasus 1-bit distorsi (dari 36 bit) tingkat pengakuan adalah:


Kami juga menyelidiki kasus 2-bit distorsi dan mampu mencapai tingkat pengakuan berikut:
 


Komentar

Postingan populer dari blog ini

SOAL UTS

BAB 7 Jaringan Hopfield

BAB 9 Adaptive Resonance Theory