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