
www.softscients.com | Ada sebuah pertanyaan bagus yang ditanyakan via email, mengenai sebuah cara kerja algoritma zoning untuk recognition pada sebuah karakater, kalian bisa baca artikel saya dengan judul Teknik zoning untuk handwriting recognition https://www.scribd.com/document/230876043/Teknik-Zoning-Untuk-HandWriting-Recognition
Teknik zoning disini digunakan untuk ciri fitur terhadap sebuah objek, khususnya karakter latin yang mempunyai morfologi cukup berbeda antara satu dengan yang lainnya. Cara kerjanya sebagai berikut
Membuat sebuah Canvas
Contents
Anggap saja kita mempunyai sebuah canvas / image yang ukurannya bisa dibagi dengan 3, misalkan tinggi 240 x lebar 180 atau menggunakan angka-angka yang lainya agar mudah dalam melakukan pembagian.
Membuat block non overlapping
Masing-masing akan diblock non overlapping sehingga ukuran block menjadi tinggi 80 x lebar 60. Kita sebut saja ada 9 block dengan huruf A, B, C, D, E, F, G, H, I yang mempunyai titik tengah tersendiri. Biar lebih jelasnya, kalian lihat ilustrasi berikut ketika sebuah canvas digambar dengan angka 6, masing-masing block akan ditempati objek angka 6 sesuai dengan porsinya
Pembagian block, bisa kalian pilih sendiri koq bisa saja 6, 9, 12 tapi setelah penulis lakukan berkali-kali dengan 9 block sudah sangat baik untuk mengakomodasi daripada pada 12 malah terlalu general jadinya
Croping dan Hitung Center of gravity objek
Block tersebut digunakan untuk melakukan croping agar mudah dalam perhitungan center of gravity, biar mudah kalian perhatikan saja block D dan B karena bagian tersebut mudah dilihat pas lagi di croping. Angka 6 hasil croping pada block D dan B akan menghasilkan bagian lengkungan objek 6. Oiya jangan sampai salah memahami ya, koordinat screen itu terdiri dari x,y dengan X sebagai lebar dan Y sebagai tinggi.
Perhitungan jarak Euclid
Biar mudah tiitk D disebut dengan titik_D dan objek diblock D mempunyai lokasi center of gravity disebut dengan cog_D. Maka hitung jarak euclid titik_D dan cog_D. Lakukan hal yang sama untuk block A sampai dengan I, sehingga akan ada 9 nilai yang disebut dengan ciri fitur
Zoning sebagai Ciri Fitur
Sesuai dengan hasil diatas akan ada 9 ciri fitur yang bisa kalian sebagai parameter algoritma yang lain, misalkan saja kalian gunakan untuk input ke teknik clustering, SVM, PCA dan yang lainnya. Tentu bila algoritma zoning digunakan untuk recognition character, maka dibutuhkan banyak data pelatihan, cara nya gampang koq, gunakan saja beberapa jenis font, buatlah script yang bertugas untuk drawing canvas. Hal inilah yang saya terapkan sehingga menghemat waktu dan biaya. Kamu bisa gunakan matlab, python, java, C# atau bahasa umum lainnya untuk generate hal tersebut, untuk jenis font sebaiknya kalian pilih jenis font yang jangan terlalu rumit tergantung area pemakaian, misalkan akan digunakan untuk recognition plate number, tentu jarang sekali menggunakan jenis font ghotic
Contoh Zoning
Ini contoh penerapan zoning, dengan tanda hijau sebagai center tiap block dan tanda merah sebagai center objek yang ada di block, sedangkan garis biru adalah jarak yang harus dihitung ataupun arah
Terkadang tidak musti ada objek ditiap block, sehingga dikosongkan atau jarak tersebut diisi negatif, ilustrasi diatas menggunakan matlab untuk mempermudah cara visualisasinya. Berikut tampilan aplikasi Zoning untuk character recognition
Dataset
Berikut contoh gambar dataset yang terdiri dari 3 jenis huruf/font yang berbeda (calibri, arial black, times new roman)