Optical Character Recognition dengan Algoritma OCRchie Elizabeth Nurmiyati Tamatjita1 , Aditya Wikan Mahastama2 1,
2
Sistem Informasi, STMIK Dharma Putra Fakultas Teknik, Teknik Informatika, Universitas Kristen Duta Wacana 1
Jl. Otto Iskandardinata No. 80, Tangerang – 15113 2 Jl. Dr. Wahidin 5-25, Yogyakarta – 55224 1
[email protected],
[email protected] Abstract The rapid development of digital communication technology requires a method to convert printed documents to digitally editable files. Optical Character Recognition (OCR) was developed to cope this problem. There are many algorithms available to OCR, and this research was done to test the OCRchie algorithm. OCRchie was chosen because it implements simple rules to recognize characters, using statistical analysis between black and white pixels of the character. Each character is divided into 25 segments, in which each segment holds a property of black and white pixels ratio. These properties will later used to extract the character's special characteristics. The research concludes that the OCRchie algorithm is very dependant on the availability of whitespace between characters, therefore only suitable to read fonts with sufficient whitespace between its characters. The algorithm also often confused in recognizing characters with similar shapes, due to lack of scanning accuracy. Keywords : optical character recognition, confusion matrix
1.
Pendahuluan Seiring dengan berkembangnya teknologi komunikasi berbasis digital, masyarakat membutuhkan agar teks-teks yang telah dibuat dalam bentuk cetak seperti buku-buku, jurnal-jurnal dan dokumen-dokumen, dapat juga disebar luaskan dalam bentuk digital untuk dinikmati oleh banyak orang di berbagai penjuru dunia. Kendala yang timbul adalah, bagaimana memindahkan teks cetak tersebut menjadi bentuk digital. Cara yang mula-mula ditempuh adalah dengan mengetik ulang teks-teks tersebut menggunakan komputer, yang membutuhkan banyak sekali waktu dan tenaga manusia. Optical Character Recognition (OCR), atau pengenalan karakter secara optikal, dikembangkan untuk membantu mengatasi kendala di atas. Prinsip dasar OCR meniru cara manusia yang sedang membaca: memindai secara visual suatu objek yang mengandung teks, memproses objek tersebut, dan menginterpretasikan teks yang terdapat dalam objek. Teks ini kemudian disimpan dalam bentuk digital. Pengembangan OCR diharapkan dapat memperkecil waktu dan tenaga manusia yang dibutuhkan untuk memindahkan teks cetak ke dalam bentuk digital. Meski demikian masih terdapat beberapa hal yang harus diuji pada algoritma-algoritma OCR yang dikembangkan, di antaranya dalam ketepatan pengenalan karakter. 2. Perumusan Masalah Berdasarkan latar belakang masalah di atas, dibangunlah sebuah program aplikasi untuk meneliti penerapan algoritma OCRchie. Algoritma ini memiliki metode pengenalan karakter yang sederhana, yaitu dengan membagi luas muka sebuah karakter menjadi beberapa segmen, kemudian menghitung rasio piksel hitam dan putih pada setiap segmen untuk mengidentifikasi karakter tersebut.
Algoritma ini juga memiliki keunggulan, yaitu kemampuan menerima learning set dengan cara yang serupa dengan penerimaan input. Masalah yang akan diteliti dirumuskan sebagai berikut: 1. Mengukur efektifitas algoritma OCRchie dalam mengenali karakter sesuai dengan batasan confidence maksimum yang disarankan, dengan membandingkan ketepatan teks hasil pengolahan algoritma terhadap kondisi teks asli. 2. Menentukan pasangan karakter mana saja yang sering disalah interpretasikan (confused) oleh algoritma OCRchie, ditunjukkan dengan penyusunan confusion matrix. 3. Metode 3.1. Algoritma OCRchie Algoritma pengenalan karakter OCRchie diriset oleh Kathey Marsden dibawah bimbingan Profesor Richard J. Fateman dari Departemen Teknik Universitas Berkeley, Amerika Serikat. Algoritma ini diterapkan pada citra hitam putih (1-bit), dan mempergunakan rasio piksel hitam dan piksel putih sebagai acuan untuk melakukan pengenalan sebuah karakter. 3.2. Learning Characters Algoritma OCRchie bergantung pada sekumpulan learning characters atau sebuah kamus karakter yang akan dipergunakan sebagai acuan dalam mengenali karakter-karakter dalam citra input, learning characters ini terangkum dalam sebuah learning set (Marsden, 1997:3). Learning set terdiri dari sepasang citra dan teks. Citra berisi contoh-contoh karakter yang dipakai sebagai acuan pengenalan, terdiri dari berbagai font dalam ukuran yang seragam. Teks berisi representasi arti dari setiap karakter yang terdapat dalam citra. abcdefghijklmnopqrstuvwxyz0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@ #$^&*()"",.<>/?;:\[]'`=+abcdefghijklmnopqrstuvwxyz0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@ #$^&*()"",.<>/?;:\[]'`=+-
Contoh learning set yang terdiri dari learning characters dan karakter interpretasinya. 3.3. Ekstraksi Karakter Proses ekstraksi karakter meliputi beberapa tahap yaitu: 1. Pendeteksian garis pemisah dan teks Proses ini membedakan garis pemisah (line break) dan karakter pada input, dengan tujuan menentukan posisi karakter pada baris-baris teks output dan mengambil satu baris teks untuk diproses pada langkah selanjutnya. 2. Pendeteksian dan pengisolasian komponen karakter Proses ini mendeteksi secara individual setiap karakter dalam sebuah baris teks, kemudian mengisolasi tiap-tiap karakter menjadi sebuah bagian yang berbentuk segi empat.
80
3.4. Ekstraksi Properti Karakter Setelah proses isolasi dilakukan, maka dilakukan property extraction atau perhitungan nilai-nilai properti yang melekat pada sebuah karakter. Secara keseluruhan terdapat 29 sifat atau properti yang didapatkan dari setiap karakter. Langkah pertama, karakter dibagi menjadi dua puluh lima segmen yang sama besar, dengan penentuan posisi segmen: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Segmentasi karakter
dengan 25 segmen Kemudian dihitung tiap-tiap properti dengan rincian sebagai berikut: - Properti 0-24 adalah nilai rasio jumlah piksel hitam dan jumlah piksel putih pada tiap segmen karakter dalam skala keabuan (grayscale). Sebagai contoh segmen kiri atas (0) terdiri dari 4 piksel putih dan 5 piksel hitam, maka properti 0 = (255+255+255+255+0+0+0+0+0)/9 = 113,333 = 113. Nilai pecahan yang didapat dibulatkan. - Properti 25 adalah rasio jumlah piksel hitam dan jumlah piksel putih dalam skala keabuan, untuk separuh bagian atas karakter. - Properti 26 adalah rasio jumlah piksel hitam dan jumlah piksel putih dalam skala keabuan, untuk separuh bagian bawah karakter. - Properti 27 adalah rasio lebar dan tinggi karakter dalam skala 0-255. - Properti 28 adalah indikator karakter yang terpisah secara vertikal seperti i dan j. Jika tidak terpisah, indikator bernilai 0. Jika terpisah bernilai 255. Rangkaian kedua puluh sembilan properti di atas disebut property set. 3.5. Perbandingan Karakter Input dan Learning Characters Seperti telah dikemukakan di awal, sebelum menerima input, algoritma ini terlebih dahulu mengenali karakter-karakter yang terdapat learning set. Proses yang dijalankan untuk mengenali learning characters sama dengan pengenalan karakter input, sehingga akan dihasilkan pula sebuah property set untuk setiap learning character. Dengan demikian pada tahap ini dilakukan perbandingan nilai masing-masing properti antara sebuah karakter input dengan setiap karakter yang tersimpan dalam learning set. Perhitungan yang dipakai dalam perbandingan ini didefinisikan dalam pseudo-code berikut (Marsden, 1997:5): Distance Component::distance(Component * comp) { Property * a = fproperty; Property * b = comp->properties(); Distance dist=0; int dif=0; for(int i= 0; i < numProperties; i++)
81
{ dif = a[i] - b[i]; dist += dif * dif; } return dist;}
Distance adalah jumlah dari kuadrat selisih nilai masing-masing properti, di mana distance sama dengan nol menunjukkan kemiripan yang sempurna sedangkan distance yang besar menunjukkan bahwa karakter input tidak sama dengan learning character yang dijadikan acuan perbandingan. Untuk mempercepat proses pengenalan, Marsden mendefinisikan confidence yang merupakan jumlah distance dari properti 0 sampai 24 saja. Keempat properti lainnya dipergunakan untuk menggolongkan karakter berdasarkan jenis karakter, yaitu karakter tinggi, karakter pendek, dan karakter yang memiliki titik terpisah seperti i dan j (Sheng, 2002:2) : 24
Confidence = ∑ ( Plearned − Pextracted ) 2 n =0
Plearned = properti karakter learning Pextracted = properti karakter input n = indeks properti.
Nilai confidence maksimum yang disarankan dari hasil eksperimen Marsden adalah 65025. Jika nilai confidence melewati batas maksimum maka karakter input dianggap tidak sama dengan learning character yang sedang dijadikan acuan. Jika nilai confidence sama dengan nol, maka karakter input disebut memiliki perfect confidence, atau memiliki kemiripan 100% dengan learning character. Untuk properti 25 hingga 28 dilakukan perhitungan tersendiri sebagai syarat apakah sebuah karakter input dapat diklasifikasikan yaitu: - Distance properti 25 dan 26 dijumlah, hasilnya harus kurang dari akar confidence maksimum. - Distance properti 27 harus kurang dari sepersepuluh akar confidence maksimum. - Distance properti 28 harus sama dengan nol. Jika sebuah karakter input tidak dapat memenuhi batas confidence maksimum dan ketiga syarat klasifikasi di atas terhadap minimum satu learning character, maka karakter input tersebut dinyatakan tidak dikenali. Sebaliknya jika sebuah karakter input telah memenuhi syarat klasifikasi dan memenuhi batas confidence maksimum terhadap beberapa learning character, maka diambil nilai confidence terkecil untuk menentukan representasi learning character yang paling mendekati. 4. Hasil dan Pembahasan Sebagai bahan eksperimen, penulis menggunakan sepuluh buah file teks, yang dicetak dengan menggunakan tiga font berbeda, yaitu Times New Roman, Arial dan Courier New. Ukuran ketiga font adalah 12 point. Times New Roman mewakili font Serif proporsional, Arial mewakili font Sans-serif proporsional, dan Courier New mewakili font Serif non-proporsional. Hasil cetakan kemudian
82
dipindai dengan resolusi 200dpi dan kedalaman warna 24-bit, untuk masingmasing font. Total file yang diujikan adalah 30 file bitmap. Tabel 1. Citra input yang digunakan dalam pengujian untuk masing-masing font Nama File txt1_in.bmp txt2_in.bmp txt3_en.bmp txt4_in.bmp txt5_en.bmp txt6_en.bmp txt7_en.bmp txt8_in.bmp txt9_in.bmp txt10_en.bmp Total
Jumlah Karakter 1461 1319 886 1938 2180 948 766 1556 1287 674 13015
Dimensi citra 1653x2338 piksel 1653x2338 piksel 1653x2338 piksel 1653x2338 piksel 1653x2338 piksel 1653x2338 piksel 1653x2338 piksel 1653x2338 piksel 1653x2338 piksel 1653x2338 piksel
4.1. Hasil Eksperimen Setelah menetapkan citra input, eksperimen dilanjutkan dengan mengujikan seluruh citra pada program aplikasi yang penulis buat. Eksperimen dilakukan dengan threshold konversi ke hitam-putih bernilai 180 dan confidence normal (65025). Program menghasilkan teks hasil pengenalan dan laporan jumlah karakter yang dikenali dan tidak dikenali. Teks hasil pengenalan kemudian dibandingkan terhadap teks asli, kemudian dicatat dan dihitung karakter-karakter yang berbeda, yaitu karakter-karakter yang salah dikenali. Keterangan: 1. Selisih jumlah karakter (C) = A – B. 2. Akurasi Pengenalan = (A – C – D) / A.
Dari tabel di bawah didapatkan bahwa rata-rata tingkat pengenalan adalah 72,05%, dan dapat digambarkan grafik rata-rata tingkat akurasi pengenalan karakter berdasarkan jenis font, seperti ditunjukkan pada gambar 1. Dari grafik di bawah dapat dilihat bahwa tingkat akurasi pengenalan semakin meningkat dari font Times New Roman, Arial ke Courier New. Hal ini menurut penulis terkait dengan bentuk masing-masing font, di mana adanya serif (tonjolan pada ujung-ujung karakter), proporsi font dan jarak antar karakter sangat berpengaruh terhadap keberhasilan proses ekstraksi dan isolasi karakter. Algoritma OCRchie menuntut agar terdapat paling tidak satu piksel garis putih vertikal sebagai pemisah antar karakter, pada saat proses ekstraksi karakter dilangsungkan. Tabel 2. Hasil pengujian terhadap citra input dengan font Times New Roman File Citra
txt1_in.bmp txt2_in.bmp txt3_en.bmp
Jumlah Karakter* (A) 1461 1319 886
Karakter Hasil Isolasi* (B) 756 173 618
Selisih Jumlah Karakter (C) 705 1146 268
Karakter Tak Dikenali* (D) 279 81 183
Akurasi Pengenalan
32,65% 6,97% 49,10%
83
txt4_in.bmp txt5_en.bmp txt6_en.bmp txt7_en.bmp txt8_in.bmp txt9_in.bmp txt10_en.bmp Rata-rata
1938 2180 948 766 1556 1287 674
784 1392 605 507 874 809 495
1154 788 343 259 682 478 179
318 504 200 135 346 345 122
24,05% 40,73% 42,72% 48,56% 33,93% 36,05% 55,34% 34,58%
Tabel 3. Hasil pengujian terhadap citra input dengan font Arial File Citra
Jumlah Karakter* (A)
txt1_in.bmp txt2_in.bmp txt3_en.bmp txt4_in.bmp txt5_en.bmp txt6_en.bmp txt7_en.bmp txt8_in.bmp txt9_in.bmp txt10_en.bmp Rata-rata
1461 1319 886 1938 2180 948 766 1556 1287 674
Karakter Hasil Isolasi* (B) 1372 1265 824 1855 2029 875 678 1480 1207 635
Selisih Jumlah Karakter (C) 89 54 62 83 151 73 88 76 81 39
Karakter Tak Dikenali* (D) 120 93 69 137 233 108 64 103 98 56
Akurasi Pengenalan
85,69% 88,86% 85,21% 88,65% 82,39% 80,91% 80,16% 88,50% 86,17% 85,91% 85,24%
Tabel 4. Hasil pengujian terhadap citra input dengan font Courier New File Citra
Jumlah Karakter* (A)
txt1_in.bmp txt2_in.bmp txt3_en.bmp txt4_in.bmp txt5_en.bmp txt6_en.bmp txt7_en.bmp txt8_in.bmp txt9_in.bmp txt10_en.bmp Rata-rata
1461 1319 886 1938 2180 948 766 1556 1287 674
Karakter Hasil Isolasi* (B) 1435 1302 886 1914 2180 940 715 1540 1271 672
Selisih Jumlah Karakter (C) 26 17 0 24 0 8 51 16 16 2
Karakter Tak Dikenali* (D) 41 35 6 58 27 39 39 27 33 11
Akurasi Pengenalan
95,41% 96,06% 99,32% 95,77% 98,76% 95,04% 88,25% 97,24% 96,19% 98,07% 96,34%
Sebagian besar karakter yang tidak dikenali - terutama pada kumpulan citra dengan font Times New Roman yang memiliki akurasi rata-rata 34,58% mengalami kegagalan pada saat ekstraksi karakter karena sebagian dari badan karakter menyusup ke bagian atas atau bagian bawah area karakter lainnya, sehingga tidak didapatkan garis putih vertikal sebagai pemisah karakter pada saat ekstraksi karakter. Jarak antar karakter yang sempit juga menyebabkan ujung sebuah karakter seringkali bersentuhan dengan ujung karakter lainnya, membuatnya seolah melebur menjadi satu karakter.
84
100 90 80 70 60 50 40 30 20 10 0
Presentase Akurasi Rata-rata
Times New Roman
Arial
1
2
3
Courier New
Gambar 1. Grafik Akurasi Pengenalan per Variasi Font
Gambar 2. Contoh karakter yang tidak memiliki garis pemisah vertikal (1, 3) dan karakter yang lebur (2)
Tabel 5. Kombinasi karakter yang tidak dapat dikenali At Sp Ad Re Ho By
an rte ue and We ve
Rt Ra Rd Wa Ya LTe
ro of kt uj pt ke f-
RA Ap
AM
Times New Roman (sebagian) ah Pro ne ti ap ak Eb rt ko dan en Ni ri rd yo et Ut me ou kn we St ge fo rl kn Fe al dr ... Arial ye St ys ty ct ry At ve et wo rt Te aw ke aj yo Nj fi rg rj ka Xe va fo ta tt Ff ot rc fs ks -t ry Courier New HA Mm km um Mp
de mp do th ht
As Fi For To Ay
re rs ej rws fe
We Tw Fa Ty Ew Ft
mb
Mu
Pada font Courier New, meskipun terdapat serif, namun sifat font itu sendiri yang non-proporsional dan monospace, turut membantu menciptakan jarak antar karakter, yang memudahkan proses ekstraksi karakter. Meski demikian, masih terdapat kombinasi karakter yang selalu mengalami kegagalan isolasi sehingga tidak dapat dikenali, pada font yang dapat dikenali dengan tingkat akurasi tinggi sekali pun. Karakter yang tidak dikenali disebabkan oleh terjadinya penyusupan dan perlekatan. Untuk membuktikan bahwa tingkat akurasi pengenalan bergantung pada jarak antar karakter, maka penulis melakukan juga eksperimen terhadap satu contoh teks, yaitu ‘txt10_en.txt’, yang dipindai dengan resolusi 300 dan 400 dpi, dengan asumsi bahwa peningkatan resolusi akan membantu terciptanya garis pemisah vertikal antar karakter. Eksperimen menghasilkan data di bawah ini.
85
Tabel 6. Hasil pengujian terhadap citra input dari teks txt10_en.txt, dengan tiga resolusi pemindaian berbeda. Resolusi dan Jenis Font
Jumlah Karakter* (A)
Pada 200 dpi Times New R Arial Courier New Pada 300 dpi Times New R Arial Courier New Pada 400 dpi Times New R Arial Courier New
Karakter Hasil Isolasi* (B)
Selisih Jumlah Karakter (C)
Karakter Tak Dikenali* (D)
Akurasi Pengena-lan
674
495
179
122
55,34%
674 674
635 672
39 2
56 11
85,91% 98,07%
674
496
178
120
55,79%
674 674
650 672
24 2
43 9
90,06% 98,37%
674
517
157
116
59,50%
674 674
651 672
23 2
24 8
93,03% 98,52%
Keterangan: 1. Selisih jumlah karakter (C) = A – B. 2. Akurasi Pengenalan = (A – C – D) / A. Dari seluruh hasil eksperimen diatas, penulis berpendapat bahwa untuk algoritma OCRchie, elemen yang terpenting dalam kesuksesan pengenalan karakter adalah jarak antar karakter, sehingga memungkinkan terciptanya garis putih vertikal sebagai pemisah antar karakter. Peningkatan resolusi pemindaian dengan 300 dan 400 dpi menyebabkan terciptanya garis pemisah vertikal pada beberapa gabungan karakter, di mana garis ini tidak tercipta pada resolusi 200 dpi. 4.2. Penyusunan Confusion Matrix Meski penambahan jarak antar karakter dapat meningkatkan akurasi pengenalan, masih terdapat beberapa karakter yang mengalami kesalahan dalam proses pengenalan, sehingga menghasilkan representasi tidak sesuai dengan yang diharapkan. Keberhasilan suatu karakter untuk diekstraksi dan diisolasi, belum menjadi jaminan bahwa karakter tersebut akan dapat diinterpretasikan sesuai dengan karakter ASCII yang telah dipelajari. Hal ini terjadi karena proses pembuatan input hingga sampai ke dalam bentuk bitmap, melewati beberapa tahap yang memungkinkan hilangnya homogenitas bentuk antar karakter yang sama. Distorsi bentuk dapat terjadi pada waktu pencetakan dan pada saat pemindaian, sehingga properti karakter yang dibaca tidak sama persis dengan properti karakter pembelajaran yang digunakan sebagai acuan. Algoritma OCRchie akan mencari properti karakter yang memiliki distance paling kecil diantara karakter-karakter yang memungkinkan, dan karena terjadi distorsi, mungkin saja properti yang paling mendekati adalah milik sebuah karakter yang secara visual bukanlah representasinya.
86
Tabel 7. Karakter yang mengalami salah interpretasi untuk font Times New Roman Karakter Asli Interp retasi . ' l s B 1 y o e l I t F b x n n
, I S H I V O & T L F E H . X D B Total
txt1
txt2
11 2 1 3 1 1
1
txt3
2 9
2
Frekwensi txt6 txt7
txt4
txt5
3
7
6
3 9
11 20
1 5
1 5 3 1 1 1
3
1
1
22
txt9
txt10
TOTAL
11
4
4
5 16
3 25 1
8 12
2 1 4 17
49 3 38 118 2 5 6 13 1 5 3 2 1 2 6 1 1 3 259
3 1 5
1 1 1
19
txt8
17
2
2
1 1
2 1 1
1 1
48
5 1
18
41
1 3 28
33
30
Tabel 8. Karakter yang mengalami salah interpretasi untuk font Arial Karakter Asli
Inter preta si I (i) l (el) . l (el) I (i) g 9 0 O o 0 i ! O C . , ' u U s S U u a B c C ' O o ' , Total
Frekwensi txt1
1 21 11 3 7 1
txt2
txt3
txt4
txt5
txt6
txt7
7 25
7 20 1
3 6 6
1 10 4
3 1
4
3
1
1
1 1
1 4 24
6
txt8
txt9
3 17 2
8 20 2
txt10
TOTAL
2 2 16
8 68 149 8 9 16 1 3 1 7 8 1 1 1 1 3 1 3 289
2
1 3
2
1
3
2 4
4
1 1 1 1 1
1
1
1 22
20
1 44
30
8
40
36
27
36
2 26
Dua buah karakter yang memiliki bentuk hampir sama, sehingga memiliki beberapa properti yang bernilai sama, cenderung membingungkan untuk dikenali akibat terjadinya distorsi pada karakter. Dari hasil di atas dapat disusun tiga buah
87
confusion matrix untuk menunjukkan pasangan karakter mana saja yang paling sering mengalami salah interpretasi. Tabel 9. Karakter yang mengalami salah interpretasi untuk font Courier New Karakter Asli o P t ' l c e h f g E b v e 0 P 0 P B O g e n s I u l H ' B B u
Interp retasi O D f . . 1 C 6 b r q B h V O O B o p 8 o G o D S l U I B , 3 s n Total
Frekwensi txt1
txt2
txt3
txt4
txt5
txt6
txt7
txt8
txt9
txt10
TOTAL
5
2
8
8
8
31
44 1
88
3 1 13 1
18
30 1
8 1 6 12
13
22
2
9 2
3 9
10 18
3
5
6
2
23
14 2 4 2
2 1 2
4 1
8 1 3
3 1 4
10 11 1 2 1 2
11 1 13 1
8 1 1
5
1
3 1 5
5
5
25 1 32 16 1 9 16 1 3 1 2 1 1 1 2
11
14
5
2 1 2 1 1
2
1
98 3 279 31 2 91 67 19 49 2 40 7 26 2 50 12 8 1 3 2 1 2 15 2 12 8 4 16 3 1 1 3 2 862
4
2 7 1
3 5
1 1
2
1
1 1
5 1 23 4 2 3
9 2
1
1
1 2
10 4
3
2
2
1 1 3 1 65
8
9 2 1 1 2 1
2
2 6
89
70
1
1
58
69
1 87
173
112
73
3
2 1 1
66
Dari confusion matrix terlihat bahwa untuk font Times New Roman, hanya terdapat sedikit karakter yang dipusingkan, dan algoritma OCRchie mengalami kesulitan membedakan o dengan 0 dan s dengan S, namun tidak berlaku sebaliknya. Confusion matrix untuk font Times New Roman penulis anggap cukup mewakili karena jumlah total karakter didasarkan pada jumlah karakter yang dikenali saja, meskipun hasil eksperimen menunjukkan lebih banyak karakter yang tidak dikenali dari pada yang dikenali (persentase akurasi 34,58%). Beberapa huruf kecil juga dikenali sebagai huruf besar, meskipun tidak sebaliknya. Hal ini terjadi karena pada bentuk yang mirip, properti karakter yang diekstraksi juga hampir serupa pada segmen-segmen tertentu. Dapat terjadi bahwa
88
jumlah segmen yang mirip pada dua buah karakter yang berbeda, lebih banyak dari pada antar dua karakter yang sama, karena adanya distorsi. Kondisi ini menyebabkan representasi karakter yang dituliskan tidak sesuai.
Gambar 3. Contoh karakter “n” yang mengalami distrosi bentuk, sehingga menyebabkan adanya selisih properti pada saat pengenalan. Karakter acuan berada pada bagian paling kanan Tabel 10. Potongan confusion matrix untuk font Times New Roman
Karakter Hasil Pengenalan
Karakter Aktual a 158 a 0 b 0 c 0 d 0 e 0 f 0 g 0 h Total 158 Error 0,00%
B 0 130 0 0 0 0 0 2 132 1,52%
c 0 0 112 0 0 0 0 0 112 0,00%
D 0 0 0 180 0 0 0 0 180 0,00%
e 0 0 0 0 555 0 0 0 555 0,00%
f 0 0 0 0 0 35 0 0 35 0,00%
g 0 0 0 0 0 0 212 0 212 0,00%
h 0 0 0 0 0 0 0 70 70 0,00%
Tabel 11 . Potongan confusion matrix untuk font Arial
Karakter Hasil Pengenalan
Karakter Aktual \ 0 \ 0 [ 0 ] 0 ' 0 ` 0 = 0 + 0 Total 0 Error 0,00%
[ 0 0 0 0 0 0 0 0 0 0,00%
] 0 0 0 0 0 0 0 0 0 0,00%
' 0 0 0 16 0 0 6 0 16 0,00%
` 0 0 0 0 0 0 0 0 0 0,00%
= 0 0 0 0 0 0 0 0 0 0,00%
+ 0 0 0 0 0 0 0 0 0 0,00%
0 0 0 3 0 0 0 75 78 3,85%
Jumlah kesalahan mengartikan pada font Times New Roman dibandingkan jumlah karakter yang berhasil diisolasi dan dikenali, mencapai 259:4500 atau 5,75%, sedangkan untuk Arial dan Courier New berturut-turut 289:11139 (2,59%) dan 862:12539 (6,87%). Meskipun font Courier New memiliki lebih banyak jumlah karakter yang berhasil dikenali, tetapi tingkat kesalahan pengartiannya paling tinggi. Hal ini terjadi karena sebagian besar karakter Arial dan Times New Roman memiliki ketebalan garis yang berbeda untuk setiap segmen, sedangkan
89
Courier New memiliki ketebalan garis yang sama di setiap segmen, sehingga banyak terdapat kesamaan properti segmen tertentu pada beberapa karakter. Tabel 12. Potongan confusion matrix untuk font Courier New
Karakter Hasil Pengenalan
Karakter Aktual a 1649 a 0 b 0 c 0 d 0 e 0 f 0 g 0 h Total 1649 Error 0,00%
B 0 246 0 0 0 0 0 26 272 9,56%
C 0 0 120 0 0 0 0 0 120 0,00%
D 0 0 0 466 0 0 0 0 466 0,00%
E 0 0 0 0 1146 0 0 0 1146 0,00%
f 0 0 0 0 0 124 0 0 124 0,00%
G 0 0 0 0 0 0 353 0 353 0,00%
H 0 49 0 0 0 0 0 361 410 11,95%
5. Kesimpulan Dari eksperimen yang telah dilaksanakan, didapatkan beberapa kesimpulan mengenai Algoritma OCRchie, yaitu: a. Dengan rata-rata tingkat akurasi pengenalan sebesar 72,05% pada resolusi 200 dpi, algoritma OCRchie dianggap tidak efektif. b. Penambahan resolusi citra dapat membantu meningkatkan akurasi pengenalan. c. Algoritma OCRchie kurang sesuai untuk mengenali font-font yang memiliki bagian karakter yang masuk ke daerah isolasi karakter lainnya. d. Algoritma OCRchie mengalami kebingungan untuk mengklasifikasikan karakter yang memiliki properti hampir serupa. e. Distorsi yang terjadi selama proses pencetakan dan pemindaian sangat berpengaruh terhadap ketepatan klasifikasi karakter. Daftar Pustaka [1] Hamilton, H.J., download pada 1 September 2006, Confusion Matrix, http://www2.cs.uregina.ca/~hamilton/courses/831/notes/confusion_matrix/confusion_ matrix.html [2] Marsden, K. 1997, download pada 18 Mei 2006, Character Recognition – OCRchie Character Recognition, http://http.cs.berkeley.edu/~fateman/kathey/ocrchie.html [3] Sheng, K. 2002, download pada 18 Agustus 2006, Optical Character Recognition (OCR) Based on OCRchie, http://www.cs.wisc.edu/~dyer/cs766/hw/hw4/hw4sheng/sheng.html
90