Rabu, 07 September 2016

Pengenalan Tulisan Tangan untuk Angka tanpa Pembelajaran


Terdapat banyak metoda pengenalan angka latin tulisan tangan, namun umumnya menggunakan metoda statistik. Ciri dari metoda statistik adalah bahwa sistem tidak pernah mempertimbangkan angka berapa kira-kira yang sedang diolahnya, karena sistem hanya mengandalkan contoh yang diberikan kepadanya lewat pembelajaran. Dalam tulisan ini diusulkan pengenalan angka tulisan tangan tanpa pembelajaran. Tetapi cukup dengan memanfaatkan ciri-ciri spesifik dari angka tersebut yang disebut sebagai properti geometri. Hasil percobaan yang dilakukan menunjukkan bahwa pendekatan ini memiliki kinerja yang lebih baik dari metoda statistik yang ada dan memiliki waktu komputasi yang lebih cepat.

Penelitian tentang pengenalan tulisan tangan khususnya untuk angka dan huruf latin, merupakan salah satu bahasan dalam pengembangan teknik pengenalan pola yang masih berkembang saat ini. Penelitian ini mulai diminati sejak tahun 1990-an, semenjak dipopulerkan oleh Prof. Ching Yee Suen [2] berbagai penelitian dilakukan untuk mengenali berbagai bentuk tulisan tangan. Perkembangan konsep pengenalan tulisan tangan saat ini yang paling banyak adalah konsep yang menggunakan metoda statistik. Ciri utama dari penggunaan dari metoda statistik adalah sistem yang dikembangkan tidak memperhitungkan atau mempertimbangkan bentuk tulisan atau objek yang sedang diolah atau dikenalinya. Sistem yang dikembangkan dengan menggunakan metoda statistik hanya berpedoman pada contoh pola dari sampel yang di ajarkan kepadanya, dan didalam proses ekstraksi cirinya pun secara umum tidak menggunakan ciri – ciri fisik yang bisa diamati oleh mata manusia [1].

Pembelajaran seperti ini akan membutuhkan banyak data untuk proses pembelajarannya, untuk beberpa kasus penggunaan metode statistik ini sangat efisien dan memiliki tingkat keakuratan yang tinggi [1,3]. Namun dengan semakin banyaknya data inipun ternyata tidak membuat sistem pembelajaran dengan menggunakan metode statistik ini akan menjadi lebih baik, malah akan semakin sulit dalam mengenali, ini dikarenakan semakin banyak data yang digunakan dalam pembelajaran, maka proses pencarian pun akan semakin spesifik sehingga membutuhkan waktu dan biaya yang lebih banyak dan objek yang diperlukanpun belum tentu didapatkan.

Beberapa penelitian telah dilakukan dalam mengenali berbagai bentuk tulisan tangan. Baik itu dalam bentuk tulisan latin maupun dalam bentuk tulisan lain seperti bahasa yang digunakan pada Negara Arab [7,8], Jepang, China [6], Korea, Spanyol [13], dan berbagai Negara lain yang tidak menggunakan tulisan latin sebagai tulisannya. Berbagai pengembangan metode sintaktik telah dilakukan untuk pengenalan tulisan tangan ini, seperti, Pengenalan huruf Arab yang menggunakan adaptive slant correction algorithm dan polygonal approximation algorithm dalam fungsi fuzzy [10], handwriting model for syntactic recognition of cursive script [9]. Penggunaan markov model [12] pun juga sangat gemar digunakan saat ini. Berbagai sistem pengenalan tulisan baik itu tulisan cetak komputer ataupun tulisan tangan, sudah sangat berkembang dengan memanfaatkan konsep marcov model.


Perhatian utama pada tulisan tangan angka dengan teks Latin adalah variabilitas tinggi di kontras antara gambar dari kelas yang sama tetapi juga dalam satu gambar itu sendiri karena pemindaian artefak atau gaya penulisan yang berbeda untuk setiap orang yang menulisnya. Beberapa langkah pra-pengolahan yang dilakukan sangat bergantung pada gambar biner (seperti normalisasi ukuran). Sehingga perlu dilakukan normalisasi kontras menggunakan nilai ambang tertentu untuk melakukan proses binarisasi tersebut. Normalisasi bekerja dengan memetakan pixel terang ke putih dan pixel yang gelap ke hitam [11].  Selain variabilitas yang tinggi juga perlu diperhatikan tentang nilai noise dan kemiringan tulisan yang terdapat pada gambar [11]. Namun dalam penelitian ini tidak perlu mengkhawatirkan tentang kemiringan tulisan pada gambar. Karena untuk masalah kemiringan tersebut, telah teratasi dengan ciri spesifik dari karakter yang didefinisikan. Ciri spesifik ini disebut dengan properti geometri [14] dari karakter atau angka tersebut.

Dalam tulisan ini diperkenalkan teknik pengenalan objek tulisan tangan berupa angka, tanpa melakukan pelatihan atau proses pembelajaran. Metode pengenalan yang diterapkan disini adalah dengan memanfaatkan ciri-ciri spesifik dari objek yang diamati. Dalam pengenalan tulisan tangan ini, khususnya dalam pengenalan angka, dapat dilakukan pemngamatan terhadap ciri-ciri spesifik dari angka tersebut. Pengamatan dengan menggunakan ciri-ciri spesifik ini diharapkan dapat menunjukkan kinerja yang lebih dan waktu pengenalan yang lebih singkat dibanding menggunakan metode statistik.

Ciri utama yang menjadi patokan adalah jumlah ujung dan simpangan yang terdapat pada angka tersebut. Gambar 1 hingga 10 berikut ini adalah contoh definisi ciri dari setiap karakter angka yang menjelaskan bentuk spesifik dari angka tersebut. Dan analisis ciri ini menjadi pedoman dalam untuk melakukan rekognisi tulisan tangan berbentuk angka tanpa melakukan learning terlebih dahulu. Seperti pada Gambar 1 diperlihatkan karakteristik dari Angka Nol (0), dimana ciri utama angka nol adalah memiliki karakteristik satu bulatan, dan tidak harus memiliki memiliki persimpangan, titik awal dan titik akhir. Pada Gambar 2 diperlihatkan karakteristik dari  Angka Satu (1), dimana angka satu ini memiliki ukuran panjang rantai kode sebesar tinggi imagenya, tidak memiliki bulatan, pada umumnya tidak memiliki persimpangan, selalu diawali dari titik awal (kotak hitam bernilai 0) pada bagian atas dan diakhiri pada titik akhir (kotak hitam bernilai 1) pada bagian bawah. Sebagaian penulisan angka satu biasanya diberi garis miring pada bagian atas dan atau alas pada bagian bawah nya. Untuk pemberian garis miring ini umumnya akan menimbulkan kerancuan karena akan mirip dengan karakteristik dari angka tujuh. Ekstraksi ciri utama ini dilakukan ke semua bentuk angka dari 0 (Nol) hingga 9 (Sembilan).

Sebelum menggunakan properti geometri dari angka nol hingga sembilan seperti yang dijelaskan pada bagian sebelumnya, perlu dilakukan beberapa proses pra-pengolahan sebelum mengenali angka apa yang sedang diamati tersebut. Secara umum terdapat 5 langkah utama atau algoritma yang digunakan dalam pengenalan karakter angka tanpa proses learning ini adalah sperti berikut :

  1. Melakukan Pembacaan Symbol Bagian ini merupakan bagian awal dari proses pengenalan yaitu mentukan symbol atau objek mana yang akan kenali dan mempersiapkan bagian dari objek tersebut untuk dilakukan proses prapengolahan. Proses ini dapat dimulai dengan pembacaan gambar, segmentasi, hingga melakukan pemotongan gambar sesuai dengan objek atau angka yang akan diamati. 
  2. Lakukan Penulangan Satu Pixel (Thinning) Setelah bagian dari objek atau angka yang akan dimati ditentukan, maka dilakukan proses penulangan yang dikenal dengan proses thinning. Terdapat beberapa pendekatan thinning yang pernah dikembangkan, mulai dari sequential thinning algorithm, paraller thinning algorithm hingga uniteratif thinning algoritm [4]. 
  3. Pembuatan Rantai Kode (Chaincode) Setelah didapatkan skeleton atau hasil penulangan dari objek yang diamati barulah dilakukan proses pendataan rantai kode yang dimiliki dari angka tersebut, pendeteksian rantai kode dapat dilakukan dengan berbagai pendekatan dengan dasar Chaincode Freeman [5]. Pendeteksian rantai kode yang dilakukan dalam penelitian ini adalah dengan menelusuri rantai kode sesuai dengan 4 arah mata angin, utara (u), selatan (s), timur (t) dan barat (b). 
  4. Tentukan ujung, kode arah, simpul dan bulatan. Dari rantai kode yang didapatkan dapat ditentukan arah pergerakan rantai kode dari angka yang diamati, dan dapat pula ditentukan bagian rantai kode yang termasuk area ujung, percabangan atau simpul, dan rangkaian rantai kode mana yang termasuk bulatan atau bersifat sirkuler. 
  5. Lakukan pencocokan karakteristik angka yang didapat berdasar tabel ciri angka. Pada bagian ini sistem akan melakukan pencocokan karakteristik yang didapat dari objek yang sedang diamati dengan data karakteristik angka yang merupakan ciri spesifik dari tiap angka yang telah dijelaskan. 
Sebagai bahan percobaan dilakukan berbagai uji coba dengan menggunakan berbagai jenis tulisan tangan. Dan dari berbagai ujicoba angka yang dilakukan tersebut, pendekatan ini menunjukkan hasil yang cukup memuaskan. Data contoh yang diambil adalah data real tulisan tangan, yang dituliskan pada lembaran kertas, dimana pada lembaran kertas tersebut telah diberikan kotak pembatas untuk setiap huruf, untuk mempermudah proses pemotongan perkarakter atau angkanya. Implementasi dilakukan pada 150 angka tunggal dan pada 105 kombinasi dua angka.

Hasilnya, Jika dibandingkan dengan beberpa penelitian sebelumnya yang dilakukan dengan metode learning sebelumnya, maka hasil dari metoda pengenalan tanpa learning ini jauh lebih efektif dan efisien. Dikarenakan penenalan ini tidak memerlukan data pelatihan, sehingga tidak ada proses belajar, dan waktu untuk proses belajarpun dapat dihilangkan. Dan untuk hasil pendeteksianpun metode ini memberikan hasil yang cukup memuaskan, walaupun masih terdapat beberapa kesalahan yang disebabkan oleh kerancuan penulisan atau ketidak sempurnaan rantai kode yang didapatkan. Dari hasil yang diperoleh didapatkan untuk angka tunggal nilai hasil yang benar mencapai 90,66% sedangkan untuk data dengan kombinasi dua angka mencapai 67,61 %, dan untuk keseluruhan data yang digunakan diperoleh hasil yang benar mencapai 81,17 %.

Jadi jika dilihat secara keseluruhan metode pengenalan angka tanpa learning ini lebih baik dari metode yang menggunakan learning sebelumnya, karena selain dapat menghemat waktu dan biaya, proses ini sesuai dengan kaidah Computer Vision yang menduplikasi cara kerja mata dalam mengenali objek, khususnya untuk pengenalan tulisan tangan. 

REFERENSI 
  1. A. Delorme, Statistical methods, Encycl. Med. Device Instrum. 6 (2005) 240–264. 
  2. S. Impedovo, More than twenty years of advancements on Frontiers in handwriting recognition, in: Pattern Recognit., 2014: pp. 916–928. 
  3. A.K. Jain, R.P.W. Duin, J. Mao, Statistical pattern recognition: a review, IEEE Trans. Pattern Anal. Mach. Intell. 22 (2000) 4–37. 
  4. L. Lam, S.W. Lee, C.Y. Suen, Thinning methodologies--A comprehensive survey, IEEE Trans. Pattern Anal. Mach. Intell. 14 (1992) 869–885. 
  5. S. Li, Z. Ling, J. Cao, K. Li, G. Liu, A step detection algorithm based-on Chain Code, in: 2011 IEEE 3rd Int. Conf. Commun. Softw. Networks, ICCSN 2011, 2011: pp. 164–167. 
  6. C.L. Liu, F. Yin, D.H. Wang, Q.F. Wang, Chinese handwriting recognition contest 2010, in: 2010 Chinese Conf. Pattern Recognition, CCPR 2010 - Proc., 2010: pp. 1100–1104. 
  7. L.M. Lorigo, V. Govindaraju, Offline Arabic Handwriting Recognition :, 28 (2006) 712–724. 
  8. L.M. Lorigo, V. Govindaraju, Offline arabic handwriting recognition: A survey, IEEE Trans. Pattern Anal. Mach. Intell. 28 (2006) 712–724. 
  9. M. Parizeau, R. Plamondon, A handwriting model for syntactic recognition of cursive script, Proceedings., 11th IAPR Int. Conf. Pattern Recognition. Vol.II. Conf. B Pattern Recognit. Methodol. Syst. II (1992) 308–312. 
  10. M. Parveze, Arabic Handwritten Text Recognition Using Structural and Syntactic Pattern Attributes, PhD Diss. 46 (2010) 141–154. 
  11. H. Pesch, M. Hamdani, J. Forster, H. Ney, Analysis of preprocessing techniques for Latin handwriting recognition, in: Proc. - Int. Work. Front. Handwrit. Recognition, IWFHR, 2012: pp. 280–284. 
  12. T. Plötz, G.A. Fink, Markov models for offline handwriting recognition: A survey, Int. J. Doc. Anal. Recognit. 12 (2009) 269–298. 
  13. G. Vamvakas, N. Stamatopoulos, B. Gatos, I. Pratikakis, S.J. Perantonis, Greek Handwritten Character Recognition, Comput. Intell. (2007). 
  14. R. Willett, G. Yu, Geometric property (T), Chinese Ann. Math. Ser. B. 35 (2014) 761–800.

Tidak ada komentar:

Posting Komentar