Optical Character Recognition OCR

Pada Gambar 2.1. indeks mata air terdiri dari dua warna ISO. 1. Warna Hitam : Menunjukkan satuan m3, digunakan sebagai dasar perhitungan tagihan. 2. Warna Merah : Menunjukkan satuan liter, digunakan untuk pengujian meter air.

2.2. Image Processing

Pengolahan citra atau yang biasa disebut Image Processing adalah pengolahan terhadap sebuah citra untuk dapat melakukan peningkatan kualitas terhadap suatu citra dan mensegmentasinya sebagai tahap awal untuk dapat dikenal oleh mesin. Adapun tujuan dari Image Processing Petrou Petrou, 2010 adalah : 1. Image Enhancement , untuk meningkatkan kualitas gambar secara subjektif, biasanya dilakukan dengan meningkatkan contrast . 2. Image compression , untuk mengkompresi dan menurunkan kualitas gambar dengan cara menggunakan beberapa bit yang memungkinkan untuk mewakili gambar. 3. Image restoration , untuk meningkatkan kulaitas gambar secara objektif, seperti mengurangi blur . 4. Feature extraction , untuk memilah karakteristik yang ada pada gambar untuk selanjutkan digunakan mengidentifikasi konten-konten yang ada pada gambar.

2.3. Optical Character Recognition OCR

Menurut Somers 2003, Optical Character Recognition atau yang biasa disebut dengan OCR adalah suatu proses pengkonversian dari scanned image menjadi editable text . Editable text didapatkan dari sebuah scanned image yang bisa saja diambil dari hasil pemotretan atau juga hasil scan gambar yang kemudian dimasukkan kedalam komputer. Scanned image ini terdiri dari satu kesatuan konten-konten yang nantinya akan di pilah menjadi konten-konten tersendiri. Teknologi ini membuat sebuah mesin dapat mengenali sebuah teks secara otomatis. Menurut Patel, C. Et.al 2012 hal ini dapat diumpamakan seperti kombinasi antara mata dan pikiran dari tubuh manusia. Sebuah mata yang dapat melihat teks yang terdapat pada suatu gambar dan secara langsung otak kita akan memproses mengekstrak teks tersebut dari gambar dan dibaca oleh mata. Konten-konten yang telah terkarakteristik kemudian dilakukan proses pengenalan dengan mengubahnya menjadi kode-kode karakter seperti ASCII atau Unicode lainnya. Setelah proses ini, konten-konten yang terdapat pada image tersebut yang sebelumnya tidak dapat di- edit akan menjadi karakter-karakter yang dapat di- edit ataupun juga di proses untuk keperluan selanjutnya seperti melakukan perhitungan pada karakter-karakter numeric . Secara garis besar proses OCR dapat dijelaskan pada Gambar 2.2. Gambar 2.2. Proses OCR Aprilia 2012 Didalam OCR, gambar atau image yang berisi karakter yang ingin dikenali dilakukan preprocessing . Preprocessing adalah proses menghilangkan konten-konten yang tidak diinginkan seperti noise dan juga untuk memperbaiki kualitas gambar agar lebih mudah dikenali. Dalam tahap pertama preprocessing dilakukan grayscalling . Grayscalling adalah mengubah gambar yang berwarna menjadi gambar yang hanya memiliki derajat keabuan saja. Selanjutnya dalam tahap kedua dilakukan noise filtering , yaitu proses mengurangi atau mereduksi noise yang ada pada gambar. Noise yang terlalu banyak dapat mengurangi keakuratan dalam pengenalan karakter. Dan tahap terakhir dari preprocessing yaitu thresholding . Thresholding memisahkan konten yang akan dikenali dengan background dengan mengubah gambar menjadi hitam putih. Dengan berakhirnya tahap thresholdng maka tahap preprocessing selesai dilakukan. Tahap selanjutnya adalah segmentasi. Segementasi melakukan pemisahan karakter yang berarea besar menjadi area yang lebih kecil seperti suatu kalimat menjadi kata-kata, dan kata menjadi karakter. Setelah dilakukan segmentasi maka dilakukan normalisasi. Normalisasi mengubah karakter karakter hasil segmentasi menjadi suatu karakter yang memiliki karakterisitik yang telah ditentukan, seperti dimensi region dan ketebalan karakter. Setelah proses normalisasi dilakukan maka selanjutnya dilanjutkan pada tahap ekstraksi fitur. Ekstraksi fitur dilakukan untuk mendapatkan karakteristik khas yang dimiliki oleh tiap-tiap karakter. Dan tahap akhir dalam proses OCR ini adalah recognition , dimana dilakukannya pengenalan dengan cara membandingkan ciri-ciri fitur yang ingin dikenali dengan data yang telah tersimpan sebelumnya sesuai dengan algoritma pengenalan yang dipakai. Hasil perbandingan yang miriplah yang kemudian keluar menjadi suatu hasil pengenalan berupa teks. 2.4. Tesseract OCR Tesseract Merupakan sebuah mesin Optical Character Recognition OCR open source yang dapat digunakan oleh berbagai sistem operasi, dikembangkan oleh Hewlett-Packard HP antara tahun 1984 dan 1994 Smith,2007. 2.4.1. Arsitektur Pada arsitekturnya, Tesseract OCR menyatakan input yang diterima merupakan sebuah binary image . Secara umum arsitektur Tesseract OCR dapat dilihat pada Gambar 2.3. Gambar 2.3. Arsitektur Tesseract OCR Setelah mengasumsikan bahwa input merupakan binary image proses dilanjutkan pada Page Layout Analysis dimana analisis dilakukan pada komponen terhubung Connected Component untuk menemukan dimana outline komponen disimpan Aprilia, 2012. Outlines komponen yang telah disimpan dikumpulkan bersama untuk membentuk blob . Blob adalah kawasan gambar yang saling berlengketan. Blob ini lalu disusun menjadi suatu barisan teks, sedangkan garis dan region di analisa untuk pitch tetap dan teks proporsional Aprilia, 2012. Teks dengan pitch tetap dipecah menjadi sel-sel karakter. Teks proporsional dibagi menjadi kata- kata dengan menggunakan ruang pasti dan ruang fuzzy . Selanjutnya pengenalan kata image dilakukan pada dua tahap yang disebut dengan pass-two Smith, 2007. Pass pertama dilakukan untuk mengenali masing-masing kata. Kata-kata yang melewati pass pertama adalah kata-kata yang cocok dengan kamus dan diteruskan pada adaptif classifier untuk selanjutakan dipakai sebagai data pelatihan. Setelah sampel mencukupi, classifier adaptif ini juga dapat memberikan hasil klasifikasi bahkan pada pass pertama Aprilia, 2012. Kata-kata yang mungkin kurang dikenali atau terlewat pada pass pertama akan dilanjutkan pada proses pass two . Pada kondisi ini classifier adaptif yang telah mendapatkan informasi lebih pada pass pertma akan lebih dapat mengenali kata yang terlewatkan atau kurang dikenali sebelumnya. 2.4.2. Pengenalan karakter oleh Tesseract Menurut Smith 2007 beberapa langkah yang dilakukan oleh Tesseract untuk pengenalan karakter adalah sebagai berikut : 1. Pencarian Teks line dan kata a. Line Finding Algoritma line finding dirancang untuk dapat mengenali halaman miring tanpa harus melalui proses de-skew , hingga tidak menurunkan kualitas gambar Smith, 2007. Kunci dari proses ini adalah filterisasi blob dan line constructing. Mengasumsikan analisa tata letak halaman telah mendapatkan daerah teks yang memiliki ukuran teks yang seragam, filter presentasi ketinggian sederhana menghilangkan drop-caps dan garis vertical yang menyentuh karakter. Rata tengah dari tinggi mendekati dari besar teks di dalam daerah tersebut, sehinggga aman untuk menyaring blob s yang lebih kecil dari beberapa pecahan dari rata-rata tengah, seperti tanda baca dan juga noise . Filterisasi blob lebih cocok kepada pemodelan non-overlapping , paralel, tetapi sloping lines Smith, 2007. Penyortingan dan pemrosessan pada blob oleh kordinat-x memungkinkan untuk menentukan blob menjadi text line yang unik, sementara pelacakan kemiringan di sepanjang halaman, dengan sangat mengurangi kesalahan menempatkan text line yang salah didalam kemiringan. Setelah blob yang di filter disejajarkan pada garis, rata tengah terakhir dari squares fit digunakan untuk memperkirakan baselines , dan blob yang telah di filter akan dipasang kembali ke line yang tepat. Tahap terakhir dari proses line creation adalah menggabungkan blob yang tumpang tindih pada setidahknya setengah dari garis horizontal, meletakkan tanda baca bersama-sama dengan base yang benar dan memperbaiki bagian yang berhubungan dari beberapa karakter yang rusak. b. Baseline Fitting Setelah text lines ditemukan, garis pangkal baselines dicocokkan dengan lebih tepat menggunakan quadratic splines . Hal inilah merupakan hal baru dalam sistem OCR, dimana tesseract memungkinkan dapat menangani halaman dengan baseline yang miring. Baseline dicocokkan dengan partisi blob kedalam sebuah kelompok perpindahan yang cukup berkelanjutan baseline lurus yang asli. Sebuah quadratic spline dicocokkan pada partisi yang paling padat diasumsikan sebagai baseline. Kelebihan dari Quadratic Spline terletak dari kemampuan berhitungnya yang stabil, namun memiliki kelemahan yaitu diskonitinuitas dapat muncul pada beberapa saat segmen spline diperlukan. Gambar 2.4. Contoh dari curved fitted baseline Smith 2007 Pada Gambar 2.4 menunjukkan contoh baris dari text dengan fitted baseline , descender line, meanline dan ascender line. Semua garis-garis ini sejajar. c. Fixed Pitch Detection and Chopping Tesseract menguji text lines untuk menentukan apakah mereka text lines telah mendapatkan pitch yang tetap. Pitch tetap yang telah ditemukan, tesseract akan memotong kata-kata kedalam karakter menggunakan pitch tersebut, dan menghentikan pemotongan dan mengasosiasi kata-kata ini untuk dilanjutkan pada langkah pengenalan kata. Pemotongan kata pada pitch dapat dilihat pada Gambar 2.5. Gambar 2.5.pemotongan kata pada pitch yang tetap Smith 2007 d. Proportional Word Finding Pada Gambar 2.6. menunjukkan beberapa masalah yang ditemukan pada saat pitch pada teks tidak tetap non-fixed pitch atau juga teks yang tidak proporsional. Gambar 2.6. Non-fixed pitch Smith 2007 Tesseract dapat memecahkan masalah ini dengan mengukur jarak vertikal antara baseline dan mean line . Spasi yang dekat dengan ambang batas pada tahap ini membuat tidak jelas, sehingga keputusan akhir dapat dibuat setelah pengenalan kata. 2. Pengenalan Karakter dan Kata Bagian dari proses pengenalan pada pengenalan segala karakter adalah dengan mengidentifikasi bagaimana sebuah kata atau karakter disegmentasi menjadi karakter atau simbol-simbol Aprilia, 2012. Hasil akhir dari segmentasi awal akan diklasifikasikan. sisa terakhir dari proses ini hanya dilakukan pada teks yang non fixed-pitch. a. Pemisahan karakter terhubung Apabila hasil dari pemisahan kata tidak memuaskan, Tesseract akan berusaha untuk memisahkan blob dengan kemugkinan terburuk dari classifier karakter Smith, 2007. Kandidat dari titik potong di dapat dari simpul cekung dari pendekatan poligonal outline, dan dapat saja ditemukan simpul cekung lainnya dari titik yang berlawanan, atau garis segmen. Untuk karakter ASCII setidaknya menghabiskan sampai 3 pasang titik pemotongan untuk memisahkan karakter yang terhubung. Titik pemotongan dapat dilihat pada Gambar 2.7. Gambar 2.7. Titik pemotongan untuk karakter ASCII Smith 2007 Pada gambar menampilkan sebuah set dari kandidat titik dengan panah dan pemisahan yang terpilih sebagai garis yang menelusuri outline dimana karakter “r” bersentuhan dengan karakter “m”. Pemotongan dilakukan mengikuti urutan mana yang terpenting. Setiap pemotongan yang gagal akan memperbaiki kemungkinan dari hasil yang belum selesai, tetapi tidak sepenuhnya dibuang sehingga potongan dapat digunakan kembali nantinya oleh associator jika dibutuhkan. b. Menyatukan karakter yang rusak Ketika pemotongan yang dilakukan tidak mendapatkan hasil yang tepat, kata atau karakter masih belum cukup, maka akan diberikan kepada associator . Associator ini membuat pencarian A terbaik pertama dari graph segmentasi untuk kombinasi yang memungkinkan dari pemotongan blob maksimal menjadi kandidat karakter. Hasil pencarian A dengan menarik kandidat state baru dari antrian prioritas dan mengevaluasi kandidat dengan mengklasifikan kombinasi fragmen yang belum terklasifikasi dapat dilihat pada Gambar 2.8. Gambar 2.8. kata yang mudah dikenali Smith 2007 Dengan segmentasi A ini membuat tesseract dapat dengan mudah mengenali karakter yang rusak seperti pada gambar .

2.5. Android