BAB III
PENGENALAN TULISAN TANGAN ON-LINE Bab ini berisi metode penulisan tangan on-line dan proses-proses yang terlibat di dalamnya. Pembahasan ini juga meliputi teknik-teknik yang umum digunakan dalam pengenalan tulisan tangan on-line.
III.1 Definisi Pengenalan tulisan tangan dapat dilakukan secara on-line atau off-line. Perbedaan mendasar pada kedua metode pengenalan tersebut adalah pada waktu pengenalan. Pengenalan tulisan tangan on-line (On-Line Handwriting Recognition) memproses informasi temporal atau
dinamis dari penulisan goresan (stroke) sehingga pengenalan dilakukan bersamaan pada saat
penulisan dilakukan. Pengenalan tulisan tangan off-line (Off-Line Handwriting Recognition) memproses data penulisan setelah penulisan selesai dilakukan. Proses pengenalan ini dapat ditunda untuk beberapa waktu setelah penulisan.
Pengenalan on-line pada umumnya dilakukan pada perangkat dengan layar sentuh atau transducer yang berfungsi menangkap koordinat x-y pergerakan ujung pen. Transducer
menangkap informasi temporal dari penulisan, yaitu jumlah, urutan, arah, dan kecepatan
penulisan tiap goresan. Informasi temporal ini dapat direpresentasikan sebagai urutan titik-
titik koordinat yang membentuk goresan. Satu goresan adalah penulisan sejak pen ditekan
sampai dengan pen diangkat dari permukaan penulisan.
Bidang kajian yang menarik untuk pengenalan tulisan tangan on-line adalah untuk large alphabet
seperti
karakter
Cina,
Jepang,
dan
Korea
(CJK)
[TAP90].
III.2 Proses Pengenalan Tulisan tangan terdiri atas kumpulan goresan (stroke) berdasarkan urutan waktu. Stroke merupakan sekumpulan titik-titik koordinat terurut berdasarkan waktu yang terekam dari satu
sekuens pen down, pen move, dan pen up. Substroke merupakan komponen dari stroke, yang pada umumnya merupakan suatu bentuk sederhana (primitive) yang bersama-sama menyusun
suatu bentuk utuh stroke tulisan tangan.
Jumlah goresan untuk setiap karakter berbeda. Tulisan tangan mempunyai tingkat variasi
yang tinggi dalam hal ukuran terutama untuk karakter CJK, dan jumlah serta urutan goresan terutama untuk karakter alfanumerik. Karakter CJK pada umumnya telah mempunyai aturan III-1
III-2 mengenai jumlah dan urutan penulisan goresan. Karakter CJK juga memiliki kemiripan bentuk antara beberapa karakter yang berbeda. Pengenalan tulisan tangan untuk karakter CJK difokuskan pada penanganan kemiripan penulisan antara karakter-karakter yang berbeda.
Sistem pengenal tulisan tangan on-line menggunakan informasi temporal penulisan untuk
melakukan pengenalan. Informasi ini direkam oleh perangkat transducer selama proses penulisan. Objek pengenalan berupa urutan titik-titik dua dimensi yang menyatakan pergerakan ujung pen (Gambar III-1).
Gambar III-1 Contoh urutan titik-titik pembentuk abjad "A" dari karakter Jepang Hiragana [ISH99]
Pemrosesan selanjutnya dari informasi temporal ini adalah pendeteksian segmen garis dan
arah penulisan karakter. Untuk penulisan rangkaian karakter dalam susunan penulisan tertentu, maka dilakukan pemisahan antar karakter. Sedangkan penulisan karakter CJK yang
dilakukan dalam kotak berukuran, tidak memerlukan pemisahan. Segmen garis yang terdeteksi beserta informasi penulisan selanjutnya mengalami proses pengklasifikasian sebagai elemen dari suatu karakter. Karakter yang dikenali berada dalam bentuk pengkodean
tertentu. Kode karakter ini kemudian diterjemahkan oleh sistem pengkodean yang digunakan, untuk menghasilkan keluaran sistem.
Proses pengenalan tulisan tangan secara umum meliputi praproses (preprocessing), klasifikasi karakter yang melibatkan teknik pengenalan bentuk (shape recognition), dan pemrosesan lanjut yaitu context processing untuk meningkatkan hasil pengenalan.
Tugas akhir ini akan menggunakan metode pengenalan statistikal-struktural, yaitu Induct/RDR. Metode pengenalan struktural merepresentasikan pola tulisan tangan dengan
structural primitive. Parameter statistikal digunakan oleh metode Induct untuk membangun
pengetahuan RDR.
III.2.1 Praproses Subbab ini akan menjelaskan mengenai praproses. Praproses pada data tulisan tangan meliputi normalisasi dan feature extraction. Normalisasi adalah proses menjadikan sebuah sampel
III-3 image huruf ke dalam posisi dan ukuran normal. Feature extraction adalah proses untuk mendapatkan komponen struktural dari huruf. III.2.1.1 Normalisasi Normalisasi bertujuan menormalkan variasi bentuk penulisan yang timbul dari adanya
perbedaan perangkat penulisan, lingkungan yang derau, maupun karakteristik writer-specific
[JAE03]. Normalisasi terhadap ukuran karakter Jepang (size normalization) banyak dilakukan
dalam pengenalan tulisan tangan karakter Jepang. Ketika melakukan normalisasi ini, bentuk asli pola masukan harus dipertahankan. Oleh karena itu, kedua dimensi yaitu vertikal dan horisontal harus dinormalisasi bersama-sama [SCA95].
Teknik normalisai yang umum untuk pengenalan karakter on-line adalah normalisasi.
Normalisasi linier dilakukan dengan memperluas pola input secara linier ke dalam kotak
berukuran NxN piksel, untuk rasio vertikal dan horisontal. Normalisasi dilakukan dengan kotak pembatas (bounding box) yang didefinisikan oleh koordinat X,Y minimum dan maksimum dari pola input.
III.2.1.2 Feature Extraction Feature extraction mempersiapkan suatu pola tulisan tangan untuk proses pengenalan bentuk
(shape recognition). Feature extraction bertujuan untuk mendapatkan karakteristik suatu
karakter yang membedakannya dari karakter lain, yang disebut dengan feature. Karakteristik
ini dapat berupa titik-titik koordinat awal dan akhir dari suatu goresan, fragmen garis penyusun karakter, dan arah penulisan goresan. Feature yang diperoleh digunakan untuk
mendefinisikan kelas suatu karakter. Feature merupakan high-level-attribute dari data
goresan karakter yang telah dinormalisasi. Pada umumnya, pola goresan karakter yang telah dinormalisasi ditransformasikan ke dalam bentuk rangkaian feature vector. Setiap vektor terdiri atas sekumpulan feature yang mendeskripsikan atribut lokal geometrikal dari suatu
stroke segment pada suatu waktu yang telah mengalami aproksimasi linear [JAE03]. Representasi pola goresan karakter dalam feature vector merupakan pendeskripsian karakter
secara statistik. Pada tugas akhir ini, proses feature extraction akan menghasilkan deskripsi karakter secara struktural, yaitu dalam komponen fragmen penyusunnya.
Beberapa feature dari sebuah segmen garis on-line yang umum digunakan adalah sebagai berikut [TAY03] :
1. posisi awal (xs, ys) dan posisi akhir (xe, ye) ( xe , y e )
2. directional angle, θ, berdasarkan kedua koordinat tersebut didefinisikan dengan:
III-4
Persamaan III-1
=
3. panjang segmen garis l didefinisikan dengan fungsi Euclidean: Persamaan III-2
Panjang segmen garis ini digunakan untuk membandingkan panjang goresan yang dituliskan dengan panjang segmen substroke penyusun karakter, sehingga untuk itu dapat digunakan
persamaan jarak Euclidean dalam bentuk kuadrat tanpa dicari akarnya.
Suatu karakter ct yang memiliki N buah segmen garis/fragmen direpresentasikan dalam string st1, st2 ,..., stN ,dengan stj = (xijs , yijs , xije ,y penyusun.
ije
,
ij
, lij) dan stj merupakan sebuah segmen garis
Pendefinisian arah goresan dapat juga dilakukan dengan mengkuantisasi goresan ke dalam
delapan arah (mata angin) seperti pada gambar di bawah ini. Pada metode ini, kuantisasi
dilakukan untuk kondisi pen down dan pen up. Kuantisasi pen up memberikan informasi mengenai perpindahan dari satu stroke ke stroke yang lain (offstroke).
Pengekstraksian feature [NAK96a] dilakukan terhadap pola karakter yang telah berada dalam
ukuran normalisasi, 128x128piksel. Kotak ini kemudian dipartisi menjadi kotak-kotak
berukuran 16x16piksel sehingga diperoleh 8x8partisi. Sebuah jendela berukuran 32x32 piksel dijalankan untuk empat buah partisi yang saling berdekatan, yaitu dua buah partisi 16x16 vertikal dan horisontal, sehingga diperoleh 7x7sektor yang saling overlap (Gambar III-2).
Gambar III-2 Partisi pola input ke dalam delapan partisi 16x16 piksel (kiri) dan sektor 32x32piksel (kanan) [NAK96a]
Setiap sektor yang dihasilkan berisi segmen garis. Segmen garis ini dihasilkan dari
perpotongan antara pola dengan garis pembatas sektor. Segmen garis ini kemudian akan
dikelompokkan sesuai dengan cirinya ke dalam kategori yang sesuai (Tabel III-1).
Penggunaan overlapping region dimaksudkan untuk menjaga agar tidak terjadi diskontinuitas
III-5 spasial dari pola tulisan tangan yang dapat berakibat hilangnya informasi penulisan dan munculnya derau.
Setelah proses feature extraction selesai, maka didapat feature dari sebuah huruf. Feature ini
merepresentasikan informasi struktural dari sebuah huruf. [ROW02] mendefinisikan sembilan garis berarah untuk feature pada pengenalan huruf Kanji. Beberapa karakter dapat dituliskan
dengan stroke fragment dalam dua arah, sedangkan karakter lain memisahkan penulisan
dengan arah yang berbeda ke dalam kelas karakter yang berbeda.
Untuk mendapatkan fragmen/substroke sesuai kategori, suatu pola goresan karakter dipisahkan pada separator/segmentation point-nya.
Berikut ini adalah definisi kategori segmen. Definisi ini melibatkan sudut yang dibentuk
dengan arah horisontal (θ). Probabilitas suatu segmen garis termasuk ke dalam suatu kategori oleh besarnya θ. Semakin besar θ maka probabilitas semakin kecil. Definisi probabilitas ini
digunakan untuk mengelompokkan segmen garis ke dalam kategorinya, yaitu kategori dengan nilai probabilitas terbesar. Definisi ini diperoleh dari [AMI98].
Tabel III-1 Kategori yang digunakan untuk proses Feature Extraction
Kategori vertikal
horisontal
Gambar
Probabilitas
III-6
Kategori
Gambar
Probabilitas
Backslash
Slash
III.2.2 Pengklasifikasian Pada tahap klasifikasi, dilakukan pengenalan bentuk terhadap unit penulisan berdasarkan
feature yang diperoleh dari praproses. Pada umumnya, pengenal karakter Jepang
menggunakan metode klasifikasi nearest neighbour [JAE03].
Pada tugas akhir ini, tugas pengklasifikasian dilakukan oleh metode Induct/RDR.
Pengklasifikasian dilakukan berdasarkan pada feature yang mendeskripsikan goresan.
Induct/RDR akan mendeskripsikan konsep yang dimiliki oleh data goresan yang telah berlabel
untuk memperoleh set rule. Proses ini dilakukan untuk membangun pengetahuan.
Berdasarkan pada prinsip RDR yaitu pembelajaran bertahap (incremental learning), jika terjadi kesalahan klasifikasi maka dilakukan update pengetahuan untuk menangani kesalahan
ini, sehingga dapat dihasilkan klasifikasi yang benar. Kesalahan klasifikasi terjadi jika kelas
karakter yang diberikan tidak sesuai dengan kelas karakter tertulis sebenarnya, yang
dimaksudkan oleh pengguna. Kesalahan klasifikasi dinyatakan oleh pengguna. Update
terhadap pengetahuan dilakukan dengan menambahkan rule ke dalam struktur pengetahuan.
Karakter yang menyebabkan terjadinya kesalahan klasifikasi akan disimpan ke dalam basisdata kasus cornerstone.
Pengklasifikasian menerima input karakter yang telah mengalami praproses dan berada dalam
bentuk dekomposisinya. Dekomposisi suatu karakter menghasilkan fragmen-fragmen penyusunnya. Untuk pembangunan pengetahuan, dekomposisi karakter menyertakan label kelas karakter tersebut.
III-7 Feature data tulisan tangan yang telah mengalami praproses adalah fragmen-fragmen
penyusunnya. Untuk dapat menjadi masukan bagi mesin pengklasifikasi, fragmen-fragmen tersebut menjadi atribut dari pola input karakter. Atribut ini kemudian akan menjadi klausa pada rule yang berhasil dibangun untuk mengklasifikasikan pola input yang dituliskan.
III.2.3 Karakter Jepang Penulisan dalam bahasa Jepang menggunakan alfabet Kanji, Katakana, Hiragana, dan Romaji
secara bersamaan. Alfabet Kanji merupakan aksara Cina yang diadaptasi ke dalam bahasa
Jepang, yaitu cara pengucapannya pun disesuaikan dengan bahasa Jepang. Alfabet Kanji
melambangkan makna. Satu alfabet Kanji mempunyai satu makna atau lebih. Alfabet
Katakana dan Hiragana tergolong ke dalam kelas alfabet Kana yaitu aksara yang melambangkan bunyi atau fonetik. Satu alfabet Katakana atau Hiragana pada umumnya tidak
mempunyai makna tertentu, hanya melambangkan suatu bunyi. Alfabet Romaji merupakan
alfabet Latin yang melambangkan fonem. Alfabet Romaji ini tetap digunakan dalam penulisan
bahasa Jepang untuk keperluan-keperluan pengajaran dan pendidikan, terutama untuk orang
asing [SUD04]. Pada bab ini hanya akan dibahas mengenai alfabet Kana yaitu Katakana dan Hiragana. Studi kasus pada tugas akhir ini adalah huruf Hiragana.
Kedua jenis alfabet Kana yaitu Hiragana dan Katakana masing-masing terdiri atas 46 aksara.
Hiragana digunakan untuk menuliskan kata-kata asli dalam bahasa Jepang sedangkan Katakana digunakan untuk menuliskan istilah asing dengan meniru pengucapannya [JLN03].
Perbedaan mendasar antara kedua jenis alfabet Kana adalah mengenai karakteristik bentuk.
Hiragana adalah alfabet yang berbentuk seperti
あ, い, う, え, dan お. Hiragana terbentuk
dari garis-garis melengkung. Katakana adalah alfabet yang berbentuk seperti ア, イ、 ウ, エ dan オ Katakana terbentuk dari garis-garis atau coretan yang lurus dan terkesan kaku. [SUD04].
III-8
ア
a
イ
i
ウ
u
エ
e
オ
o
カ
ka
キ
ki
ク
ku
ケ
ke
コ
ko
サ
sa
シ
shi
ス
su
セ
se
ソ
so
タ
ta
チ
chi
ツ
tsu
テ
te
ト
to
ナ
na
ニ
ni
ヌ
nu
ネ
ne
ノ
no
ハ
ha
ヒ
hi
フ
fu
ヘ
he
ホ
ho
マ
ma
ミ
mi
ム
mu
メ
me
モ
mo
ヤ
ya
ユ
yu
ヨ
yo
ラ
ra
ル
ru
ロ
ro
ワ
wa
ヲ
wo
ン
n
リ
ri
レ
re
Gambar III-3 Silabel Katakana dari karakter Jepang
III.2.4 Unicode Proses analisis terhadap masukan berupa tulisan tangan akan menghasilkan kode. Kode ini digunakan untuk melakukan pencarian pada tabel keluaran untuk mendapatkan kode yang
bersesuaian. Hasil pengenalan akan berbentuk kode mesin yang dikenali oleh komputer.
Komputer memberikan kode-kode angka tertentu untuk setiap karakter dan huruf yang dikenalinya. Setiap kode ini mempunyai relasi satu-satu terhadap sebuah simbol huruf atau karakter, berdasarkan character set yang digunakan. Character set merupakan tabel yang
terdiri atas sekumpulan simbol dan kode angka yang mendefinisikan simbol tersebut. Kode
angka pada umumnya berada dalam bentuk heksadesimal, yaitu dari 0 sampai dengan 9 dan A sampai dengan F.
Berbagai sistem pengkodean yang ada mempunyai keterbatasan dalam ukuran dan
menghadapi permasalahan untuk sistem dengan multilingual. Unicode merupakan character set yang paling lengkap diantara semua character set yang ada dan dapat mengatasi permasalahan sistem multilingual. Beberapa sistem pengkodean lain yang ada juga saling
bertentangan. Dua buah sistem pengkodean dapat memberikan kode yang berbeda untuk satu
karakter, atau menggunakan kode yang sama untuk dua karakter yang berbeda. Akibatnya, untuk sistem dengan pengkodean yang berbeda, perpindahan data tidak dapat dilakukan
secara langsung dan harus dilakukan pembangunan ulang. Unicode dapat mengatasi
permasalahan ini.
III-9 Unicode Consortium mengembangkan Unicode Standard yang banyak diadopsi oleh
perusahaan-perusahaan perangkat keras dan lunak. Dengan demikian, suatu perangkat lunak
dapat ditargetkan untuk banyak platform, bahasa, dan negara. Unicode memungkinkan pertukaran data antar sistem tanpa perlu adanya perubahan.
Dalam pengkodean teks/karakter, Unicode memberikan sebuah nilai numerik yang unik (code point) dan sebuah nama untuk setiap simbol. Unicode Standard menyediakan informasi
terkait pembacaan karakter seperti character properties, text normalisation form, dan
bidirectional display order (untuk menampilkan teks dengan dua arah penulisan yaitu kiri ke kanan dan kanan ke kiri seperti pada teks Arab dan Yahudi). Unicode Standard menyediakan
data aplikasi seperti tabel pemetaan (case mapping tables), tabel properti karakter (character
properties), dan pemetaan ke himpunan karakter (character sets) internasional, nasional, maupun industri. Unicode menyediakan tiga jenis bentuk pengkodean: bentuk 32-bit (UTF-
32), bentuk 16-bit (UTF-16), dan bentuk 8-bit (UTF-8). Bentuk 8-bit (UTF-8) dirancang untuk kemudahan penggunaan dengan sistem berbasis ASCII yang telah ada.
Unicode merupakan sistem pengkodean yang mencakup banyak karakter di dunia. Unicode
Standard 5.0 menggunakan kode U30A0 sampai dengan U30FF untuk karakter Katakana.
Character set pada Unicode ini berdasarkan pada character set JIS (Japanese Industrial
Standard) X 0208:1997.