Belajar yuk, algoritma zoning untuk recognition character

By | January 14, 2021
Print Friendly, PDF & Email
960 Views

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

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)

Leave a Reply