Anda di halaman 1dari 10

diri pada dokumen yang dianalisis(Smith, 2007).

9.3.1 Arsitektur Tasseract


Tesseract OCR mengasumsikan input yang diterima berupa sebuah
binary

image.

Pertama,

analisis

dilakukan

pada

komponen

terhubung/Connected Component (CC) untuk menemukan di mana outline


komponen disimpan. Pada tahap ini outlines dikumpulkan bersama menjadi
blob. Blob disusun menjadi baris teks, sedangkan garis dan region dianalisis
untuk pitch tetap dan teks proporsional. Baris teks dipecah menjadi kata-kata
berbeda menurut jenis spasi karakter. Teks dengan pitch tetap dibagi menjadi
sel-sel

karakter.

Teks

proporsional

dipecah

menjadi

kata-kata

denganmenggunakan ruang pasti dan ruang fuzzy. Pengenalan kata pada image
dilakukan pada dua tahap proses yang disebut pass-two Pada pass pertama
dilakukan untuk mengenali masing-masing kata pada gilirannya. Kata-kata
yang sukses pada pass pertama yaitu kata-kata yang terdapat di kamus dan
tidak ambigu kemudian diteruskan 16 ke classifier adaptif sebagai data
pelatihan. Begitu classifier adaptif memiliki sampel yang cukup, classifier
adaptif ini dapat memberikan hasil klasifikasi bahkan pada pass pertama.
Proses pass kedua dilakukan untuk mengenali kata-kata yang mungkin saja
kurang dikenali atau terlewatkan pada pass pertama, pada tahap ini classifier
adaptif telah memperoleh informasi lebih dari pass pertama. Tahap terakhir
menyelesaikan ruang fuzzy dan memeriksa hipotesis alternatif pada
ketinggian-x untuk mencari teks dengan smallcap.(Ray Smith, 2007)

Gambar 9.2 tasseract architecture


(sumber Ray Smith, 2007)
Gambar 9.2 merupakan blok diagram komponen-komponen dasar Tesseract.
Tesseract dirancang untuk mengenali teks putih di atas latar hitam dan teks
hitam di atas latar putih. Hal ini menyebabkan rancangan mengarah pada
analisis komponen terhubung/connected component (CC) dan operasi pada
outline komponen. Langkah pertama setelah analisis CC ialah menemukan
blob pada region teks. Sebuah blob merupakan unit putatif yang dapat
diklasifikasikan, yang mana bisa satu atau lebih komponen-komponen yang
saling tumpang tindih secara horizontal. Dalam bahasa Inggris, terdapat
beberapa karakter (misalnya dan ) yang memiliki lebih dari 2 level
outline.
Setelah memutuskan outline mana yang membentuk blob, pencari baris
teks mendeteksi (hanya horizontal) baris teks berdasarkan karakter-karakter
yang berdekatan saling tumpang tindih secara vertikal pada sebuah baris teks.
Setelah menemukan baris teks, pendeteksi fixed-pitch memeriksa fixed pitch
layout karakter, dan menjalankan satu dari dua algoritma segmentasi yang
berbeda berdasarkan keputusan fixed pitch. Sebagian besar proses pengenalan

berjalan pada setiap kata secara independen, diikuti tahap resolusi fuzzy-space
akhir, di mana ruang tidak pasti diputuskan. (Ray Smith, 2007)
9.3.2 Line and Word Finding
9.3.2.1 Line Finding
Algoritma line finding Tesseract ini dirancang agar halaman yang
miring dapat dikenali tanpa perlu untuk de-skewed (Smith, 2007).Tidak seperti
tesseract, kebanyakan mesin OCR de-skewed halaman untuk mempermudah
jalur proses Temuan. Hal ini bagaimanapun bisa, menyebabkan hilangnya
kualitas gambar sebagai teks meregang dan menarik, yang memperkenalkan
sejumlah besar noise. Aspek kunci dari line finding algoritma adalah blob
filtering dan constuction line. Dalam langkah ini, mesin sederhana tingginya
persentil ke Filter menghapus drop-caps dan karakter vertikal sentuhan.
Ketinggian rata-rata mendekati ukuran teks di daerah, yang membuatnya aman
untuk blobs filtering yang terlalu kecil dibandingkan dengan tinggi rata-rata
biasanya menunjukkan tanda baca, tanda diakritik, dan noise. (Brian, 2012)

Gambar 9.3 line-finding (sumber Brian,2012)


9.3.2.2 Baseline Fitting
Setelah baris teks telah ditemukan, baseline dilengkapi lebih
tepat menggunakan quadratic spline. Hal ini adalah yang pertama
untuk sistem OCR, dan memungkinkan tesseract untuk menangani
halaman dengan baseline kurva, yang merupakan artefak umum di
scanning, dan bukan hanya di binding buku. Baseline dilengkapi
dengan membagi blobs ke dalam kelompok dengan perpindahan cukup
kontinyu untuk dasar lurus asli. Sebuah quadratic spline adalah yang
3

dipasang pada partisi terpadat, (diasumsikan baseline) dengan kuadrat


cocok. Quadratic spline memiliki keuntungan bahwa perhitungan
tersebut cukup stabil, tetapi merugikan yang diskontinuitas dapat
muncul ketika beberapa segmen spline diperlukan. Sebuah interpolasi
spline cubic mungkin bekerja lebih baik.

Gambar 9.4 baseline filtering


(sumber Smith, 2007)
Gambar

menunjukkan contoh baris teks dengan dasar

dipasang, descender-line, meanline dan ascender line. Semua garisgaris ini adalah "sejajar" (y pemisahan adalah konstan selama seluruh
panjang) dan sedikit melengkung. Garis ascender adalah cyan (cetak
sebagai cahaya abu-abu) dan garis hitam di atas sebenarnya lurus,
menunjukkan bahwa cyan / garis abu-abu melengkung relatif terhadap
garis hitam lurus di atas itu. (Ray Smith, 2007)
9.3.2.3 Fixed Pitch Detection and Chopping
Kata-kata yang mengandung karakter semua dengan lebar yang
sama diperlakukan sebagai kasus khusus di Tesseract. Tesseract
menguji garis teks untuk mengetahui apakah atau tidak mereka lebar
yang sama, atau pitch fixed. Ketika ia menemukan pitch fixed teks,
Tesseract splices kata sama berdasarkan pitch, dan Kata diberi tanda
siap pengenalan kata. Pada bagian berikutnya, kita akan memperluas
mengapa ini diperlukan. Gambar 2.8 menunjukkan dan contoh pitch
fixed (pitch n) teks dan bagaimana Tesseract mungkin memotong itu.
(Brian, 2012)
4

Gambar 9.5 contoh pitc fixed dengan pitch=n


9.3.2.4 Proportional Word Finding
Non-fixed-pitch atau spasi teks proporsional adalah Tugas
yang sangat tidak mudah. Gambar 9.6 menggambarkan beberapa khas
masalah. Gap antara puluhan dan satuan '11 .9% 'Adalah ukuran yang
mirip dengan ruang umum, dan tentu lebih besar dari ruang kerned
antara 'erated' dan 'sampah'. Tidak ada gap horisontal sama sekali
antara kotak bounding dari 'of' dan 'finansial'. Tesseract memecahkan
kebanyakan masalah dengan gap pengukuran dalam berbagai vertikal
terbatas antara baseline dan rata-rata line. Spaces yang dekat dengan
ambang batas pada tahap ini dibuat kabur, sehingga keputusan akhir
dapat dibuat setelah pengenalan kata.

Gamabar 9.6 beberapa jarak kata yang sulit

9.3.3

Word Recognition

Gamabar 9.7 Pengenalan kata (Smith, 2007)


Bagian dari proses pengenalan karakter setiap mesin pengenlan adalah
untuk mengidentifikasi bagaimana kata harus tersegmentasi menjadi karakter.
Segmentasi awal Output dari temuan baris diklasifikasikan terlebih dahulu.
Sisa pengenalan kata langkah hanya berlaku untuk non-fixed lapangan teks.
(Klaivani et all, 2014).
9.3.3.1 Chopping Joined Characters
Sedangkan hasil dari sebuah kata (lihat bagian 6) adalah tidak
memuaskan, Tesseract mencoba untuk meningkatkan hasil dengan
memotong blob dengan keyakinan terburuk dari classifier karakter.
Poin kandidat chop ditemukan dari simpul konkaf dari pendekatan
poligonal dari garis besar, dan memiliki salah satunya konkaf lain
vertex berlawanan, atau segmen garis. Ini bisa memakan waktu hingga
3 pasang poin Chop berhasil memisahkan bergabung karakter dari set
ASCII..(Ray Smith, 2007).

Gambar 9.8 candidate chop poin


Gambar diatas menunjukkan satu set poin kandidat Chop
dengan tanda panah dan memotong yang terpilih menjadi garis di garis
mana 'r' menyentuh 'm'. Chops dijalankan dalam urutan prioritas.
Setiap Chop yang gagal untuk meningkatkan kepercayaan hasilnya
dibatalkan, tetapi tidak benar-benar dibuang sehingga Chop dapat
digunakan kembali kemudian oleh associator jika diperlukan.
9.3.3.2 Associating Broken Characters
Setelah semua chops yang telah dibuat, jika kata masih
kekurangan informasi penting, itu diberikan kepada apa yang disebut
dengan

associator

tersebut.

Pada

tahap

ini,

blobs

terputus

dikelompokkan menjadi kandidat karakter menggunakan A * algoritma


pencarian. Pelaksanaan Tesseract tentang A * algoritma di langkah ini
memberikan nilai akurasi noticably lebih tinggi dibandingkan dengan
yang lain mesin OCR (Brian , 2012)
9.3.4

Static Character Classifier


9.3.4.1 Features
Selama fase training, segmen pendekatan poligonal digunakan
sebagai features, tapi selama pengenalan, feature fixed-length kecil
diekstrak dari garis besar dan cocok banyak-ke-satu dengan
7

berkerumun feature prototipe dari data pelatihan. Feature diekstrak dari


karakter yang tidak diketahui adalah 3-dimensi: x posisi, posisi y, dan
sudut; yang berasal dari prototipe 4-dimensi: x posisi, posisi y, sudut,
dan panjang.

Gambar 9.9 static character classifier: feature matched untuk


prototipe
9.3.4.2

Classification

Proses Klasifikasi sebagai proses dua langkah. Pada bagian


pertama langkah, sebuah pruner class menciptakan shortlist karakter
kelas yang tidak diketahui tersebut mungkin cocok. Setiap feature
fetches, dari tabel pencarian coarsely terkuantisasi 3-dimensi, sebuah
bit-vector kelas yang mungkin cocok, dan bitvectors dijumlahkan atas
semua feature.(Kalaivani et all, 2014)
9.3.4.3 Training Data
Sejak classifier ini mampu mengenali karakter yang rusak
dengan mudah, classifier itu tidak dilatih karakter yang rusak. Bahkan,
classifier dilatih pada hanya 20 sampel dari 94 karakter dari 8 font di
ukuran tunggal, tetapi dengan 4 atribut (normal, tebal, miring, italic
bold), membuat total 60.160 sampel training. Ini adalah kontras yang
signifikan untuk lain yang dipublikasikan pengklasifikasi, seperti
classifier Calera dengan lebih dari satu juta sampel , dan Baird 100font classifier dengan 1.175.000 sampel training. (Ray Smith, 2007)

9.3.5Adaptive Classifier
Telah mengemukakan dan menunjukkan bahwa OCR mesin bisa
mendapatkan keuntungan dari penggunaan adaptif classifier. Karena classifier
statis harus pandai generalisasi terhadap segala jenis font, kemampuannya
untuk membedakan antara karakter yang berbeda atau antara karakter dan
non-karakter menjadi lemah. Yang lebih fontsensitive classifier adaptif yang
dilatih oleh output dari classifier statis karena itu sering digunakan untuk
mendapatkan pembedaan yang lebih besar dalam setiap dokumen, di mana
jumlah font terbatas..(Kalivani et all,2014)
Tesseract tidak menggunakan classifier Template, tapi menggunakan
fitur yang sama dan classifier sebagai statis classifier. Satu-satunya perbedaan
yang signifikan antara classifier statis dan classifier adaptif, terlepas dari data
training, adalah bahwa penggunaan classifier adaptif isotropik dasar / x-height
normalisasi, sedangkan classifier statis menormalkan karakter dengan pusat
massa (saat pertama) untuk posisi dan momen kedua untuk anisotropic
normalisasi ukuran. Baseline / x-height normalisasi memudahkan untuk
membedakan atas dan bawah karakter kasus juga sebagai meningkatkan
kekebalan terhadap bintik noise. Utama manfaat saat karakter normalisasi
adalah penghapusan Aspek rasio font dan beberapa derajat font Stroke lebar.
Hal ini juga membuat pengakuan sub dan superscripts sederhana, tetapi
membutuhkan tambahan feature classifier untuk membedakan beberapa atas
dan bawah karakter kasus.
9.4 Model pengembangan waterfall
Waterfall model mengambil kegiatan proses dasar spesifikasi, pengembangan,
validasi, dan evolusi dan mewakili kegiatan tersebut sebagai fase proses terpisah

seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian


dan sebagainya.( Sommerville, 2003).

Model sekuensial waterfall melingkupi aktivitas-aktivitas sebagai berikut :


1. Requirements analysis and definition: Mengumpulkan kebutuhan secara
lengkap kemudian kemudian dianalisis dan didefinisikan kebutuhan yang
harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan
secara lengkap untuk bisa menghasilkan desain yang lengkap.
2. System and software design: Desain dikerjakan setelah kebutuhan selesai
dikumpulkan secara lengkap.
3. Implementation and unit testing: desain program diterjemahkan ke dalam
kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan.
Program yang dibangun langsung diuji baik secara unit.
4. Integration and system testing: Penyatuan unit-unit program kemudian diuji
secara keseluruhan (system testing).
5. Operation and maintenance: mengoperasikan program dilingkungannya dan
melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi
dengan situasi sebenarnya.

10