Optical Character Recognition dengan Algoritma OCRchie
Elizabeth Nurmiyati Tamatjita1 , Aditya Wikan Mahastama2 1,
Sistem Informasi, STMIK Dharma Putra 2
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.
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;
{
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 0 2 ) ( n extracted learned P P ConfidencePlearned = 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
dipindai dengan resolusi 200dpi dan kedalaman warna 24-bit, untuk masing-masing font. Total file yang diujikan adalah 30 file bitmap.
Tabel 1. Citra input yang digunakan dalam pengujian untuk masing-masing font Nama File Jumlah
Karakter Dimensi citra txt1_in.bmp 1461 1653x2338 piksel txt2_in.bmp 1319 1653x2338 piksel txt3_en.bmp 886 1653x2338 piksel txt4_in.bmp 1938 1653x2338 piksel txt5_en.bmp 2180 1653x2338 piksel txt6_en.bmp 948 1653x2338 piksel txt7_en.bmp 766 1653x2338 piksel txt8_in.bmp 1556 1653x2338 piksel txt9_in.bmp 1287 1653x2338 piksel txt10_en.bmp 674 1653x2338 piksel Total 13015 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 Jumlah
Karakter* (A) Karakter Hasil Isolasi* (B) Selisih Jumlah Karakter (C) Karakter Tak Dikenali* (D) Akurasi Pengenalan txt1_in.bmp 1461 756 705 279 32,65% txt2_in.bmp 1319 173 1146 81 6,97% txt3_en.bmp 886 618 268 183 49,10%
txt4_in.bmp 1938 784 1154 318 24,05% txt5_en.bmp 2180 1392 788 504 40,73% txt6_en.bmp 948 605 343 200 42,72% txt7_en.bmp 766 507 259 135 48,56% txt8_in.bmp 1556 874 682 346 33,93% txt9_in.bmp 1287 809 478 345 36,05% txt10_en.bmp 674 495 179 122 55,34% Rata-rata 34,58%
Tabel 3. Hasil pengujian terhadap citra input dengan font Arial File Citra Jumlah
Karakter* (A) Karakter Hasil Isolasi* (B) Selisih Jumlah Karakter (C) Karakter Tak Dikenali* (D) Akurasi Pengenalan txt1_in.bmp 1461 1372 89 120 85,69% txt2_in.bmp 1319 1265 54 93 88,86% txt3_en.bmp 886 824 62 69 85,21% txt4_in.bmp 1938 1855 83 137 88,65% txt5_en.bmp 2180 2029 151 233 82,39% txt6_en.bmp 948 875 73 108 80,91% txt7_en.bmp 766 678 88 64 80,16% txt8_in.bmp 1556 1480 76 103 88,50% txt9_in.bmp 1287 1207 81 98 86,17% txt10_en.bmp 674 635 39 56 85,91% Rata-rata 85,24%
Tabel 4. Hasil pengujian terhadap citra input dengan font Courier New File Citra Jumlah
Karakter* (A) Karakter Hasil Isolasi* (B) Selisih Jumlah Karakter (C) Karakter Tak Dikenali* (D) Akurasi Pengenalan txt1_in.bmp 1461 1435 26 41 95,41% txt2_in.bmp 1319 1302 17 35 96,06% txt3_en.bmp 886 886 0 6 99,32% txt4_in.bmp 1938 1914 24 58 95,77% txt5_en.bmp 2180 2180 0 27 98,76% txt6_en.bmp 948 940 8 39 95,04% txt7_en.bmp 766 715 51 39 88,25% txt8_in.bmp 1556 1540 16 27 97,24% txt9_in.bmp 1287 1271 16 33 96,19% txt10_en.bmp 674 672 2 11 98,07% Rata-rata 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.
0 10 20 30 40 50 60 70 80 90 100 Times New Roman
Arial Courier New
Presentase Akurasi Rata-rata
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
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.
Times New Roman (sebagian)
At an ah Pro ne ti ap de As Sp rte ak Eb rt ko dan mp Fi Ad ue en Ni ri rd yo do For Re and et Ut me ou kn th To Ho We we St ge fo rl ht Ay By ve kn Fe al dr ... Arial Rt ro ye St ys ty ct re We Ra of ry At ve et wo rs Tw Rd kt rt Te aw ke aj ej Fa Wa uj yo Nj fi rg rj r- Ty Ya pt ka Xe va fo ta ws Ew L- ke tt Ff ot rc fs fe Ft Te f- ks -t ry Courier New RA AM HA Mm km um Mp mb Mu Ap 1 2 3
Tabel 6. Hasil pengujian terhadap citra input dari teks txt10_en.txt, dengan tiga resolusi pemindaian berbeda.
Resolusi dan Jenis Font Jumlah Karakter* (A) Karakter Hasil Isolasi* (B) Selisih Jumlah Karakter (C) Karakter Tak Dikenali* (D) Akurasi Pengena-lan Pada 200 dpi Times New R 674 495 179 122 55,34% Arial 674 635 39 56 85,91% Courier New 674 672 2 11 98,07% Pada 300 dpi Times New R 674 496 178 120 55,79% Arial 674 650 24 43 90,06% Courier New 674 672 2 9 98,37% Pada 400 dpi Times New R 674 517 157 116 59,50% Arial 674 651 23 24 93,03% Courier New 674 672 2 8 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.
Tabel 7. Karakter yang mengalami salah interpretasi untuk font Times New Roman Karakter Frekwensi Asli Interp retasi txt1 txt2 txt3 txt4 txt5 txt6 txt7 txt8 txt9 txt10 TOTAL . - 11 1 3 7 6 11 4 4 2 49 ' , 2 1 3 l I 1 2 3 11 1 5 3 8 4 38 s S 3 2 9 9 20 5 16 25 12 17 118 B H 1 1 2 1 I 1 1 3 5 y V 5 1 6 o O 3 1 5 2 2 13 e & 1 1 l T 1 1 1 2 5 I L 1 1 1 3 t F 1 1 2 F E 1 1 b H 1 1 2 - . 1 5 6 x X 1 1 n D 1 1 n B 3 3 Total 19 3 22 17 48 18 41 33 28 30 259 Tabel 8. Karakter yang mengalami salah interpretasi untuk font Arial Karakter Frekwensi Asli Inter preta si txt1 txt2 txt3 txt4 txt5 txt6 txt7 txt8 txt9 txt10 TOTAL I (i) l (el) 1 1 3 1 2 8 . - 21 4 7 7 6 10 3 8 2 68 l (el) I (i) 11 24 6 25 20 6 4 17 20 16 149 g 9 3 1 2 2 8 0 O 7 2 9 o 0 1 3 4 3 1 1 3 16 i ! 1 1 O C 1 1 1 3 - . 1 1 , ' 3 2 2 7 u U 4 4 8 s S 1 1 U u 1 1 a B 1 1 c C 1 1 - ' 1 1 1 3 O o 1 1 ' , 1 2 3 Total 44 30 8 40 36 22 20 27 36 26 289
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
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 Frekwensi Asli Interp retasi txt1 txt2 txt3 txt4 txt5 txt6 txt7 txt8 txt9 txt10 TOTAL o O 5 2 8 8 8 25 8 13 3 18 98 P D 1 1 1 3 t f 22 30 31 44 88 32 6 8 13 5 279 - . 1 1 16 12 1 31 ' . 1 1 2 l 1 2 9 3 10 9 10 11 14 23 91 c C 4 2 9 18 16 11 1 2 4 67 e 6 1 1 13 4 19 h b 3 5 6 2 23 3 2 1 2 2 49 f r 1 1 2 g q 8 2 4 8 3 2 2 3 5 3 40 E B 1 1 1 1 1 1 1 7 b h 1 2 3 4 1 1 5 9 26 v V 1 1 2 e O 2 3 1 5 5 2 11 14 5 2 50 0 O 7 5 12 P B 1 2 2 2 1 8 0 o 1 1 P p 1 2 3 B 8 1 1 2 O o 1 1 g G 1 1 2 e o 1 9 2 3 15 n D 2 2 s S 1 10 1 12 I l 2 4 1 1 8 u U 2 2 4 l I 3 2 2 1 6 2 16 H B 1 1 1 3 ' , 1 1 B 3 1 1 B s 3 3 u n 1 1 2 Total 65 58 69 87 173 112 73 89 70 66 862
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
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 Aktual a B c D e f g h a 158 0 0 0 0 0 0 0 b 0 130 0 0 0 0 0 0 c 0 0 112 0 0 0 0 0 d 0 0 0 180 0 0 0 0 e 0 0 0 0 555 0 0 0 f 0 0 0 0 0 35 0 0 g 0 0 0 0 0 0 212 0 h 0 2 0 0 0 0 0 70 Total 158 132 112 180 555 35 212 70 Karakter Hasil Penge- nalan Error 0,00% 1,52% 0,00% 0,00% 0,00% 0,00% 0,00% 0,00%
Tabel 11 . Potongan confusion matrix untuk font Arial Karakter Aktual \ [ ] ' ` = + - \ 0 0 0 0 0 0 0 0 [ 0 0 0 0 0 0 0 0 ] 0 0 0 0 0 0 0 0 ' 0 0 0 16 0 0 0 3 ` 0 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 + 0 0 0 6 0 0 0 0 - 0 0 0 0 0 0 0 75 Total 0 0 0 16 0 0 0 78 Karakter Hasil Penge- nalan Error 0,00% 0,00% 0,00% 0,00% 0,00% 0,00% 0,00% 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
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 Aktual a B C D E f G H a 1649 0 0 0 0 0 0 0 b 0 246 0 0 0 0 0 49 c 0 0 120 0 0 0 0 0 d 0 0 0 466 0 0 0 0 e 0 0 0 0 1146 0 0 0 f 0 0 0 0 0 124 0 0 g 0 0 0 0 0 0 353 0 h 0 26 0 0 0 0 0 361 Total 1649 272 120 466 1146 124 353 410 Karakter Hasil Penge- nalan Error 0,00% 9,56% 0,00% 0,00% 0,00% 0,00% 0,00% 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/hw4-sheng/sheng.html