Sabtu, 12 November 2016

Tahapan Automatic Number Plate Recognition

Topik yang satu ini menjadi naik daun sedari dulu (5 tahun belakang) sampai sekarang, padahal objek nya itu-itu saja koq. Bagi pemula terkadang main ambil topik padahal riset ini begitu rumit sekali. Malahan dasar-dasar image processing tidak begitu familiar.


Tahap Automatic Number Plate Recognition : detection

Kita bahas dulu mengenai arti kata detection yaitu tahap lumayan penting, yaitu mencari lokasi dari objek. Kadang karena mudah mendapatkan  gambar mobil di google, user seenaknya sendiri googling dan menyodorkan langsung gambar mobil! Padahal itu tahap salah karena anda tidak mengerti artificial environment! Anda harus (setidaknya) menggunakan cara kerja yang digunakan oleh  system vallet parking, itu lho begitu masuk mobil/motor, user akan pencet tombol tiket parking, maka otomatis CCVT akan capture no plate kendaraan langsung!
Sehingga memudahkankan dalam tahap detection
 
Coba lihat gambar dibawah ini! Menjadi sulit bukan?



Biasanya user yang belum mengerti, seenaknya sendiri comot (contoh gambar) diatas di google, padahal seharusnya tidak begitu. Pada sistem vallet parking (perusahaan yang bergerak dibidang parking), setiap mobil akan di capture menggunakan kamera tertentu – lokasi tertentu alias sudah dikondisikan sehingga memudahkan untuk fokus menggunakan 1 algoritma tertentu.

Bukan seenaknya sendiri, pakai kamera, terus ambil foto mobil diparkiran (dengan intensitas cahaya yang sering berubah-ubah), itu tidak direkomendasikan, alias cara yang salah! Harusnya user membuat artifical enivironment nya, bukan sembarang ambil gambar di google
Ada banyak teknik untuk melakukan detection seperti berikut
 
 
 
Sebagus-bagusnya teknik algoritma, tidak ada satupun algorimta cocok digunakan untuk segala tujuan! Alias general purpose. Setelah tahap plate detection selanjutnya Operasi deskewing, segmentation, blob counting.

Automatic Number Plate Recognition : recognition

Pada tahap ini anda harus menentukan teknik yang digunakan! Bisa menggunakan skeletonisasi atau teknik yang lainnya. Harap dimaklumi bahwa aja banyak jenis font yang digunakan dengan asumsi bahwa karakter yang digunakan yaitu A – Z , 0- 9 UPPERCASE

Automatic Number Plate Recognition : Library yang digunakan

Tahap yang rumit diatas, biasanya tidak menulis sendiri function2 nya, karena begitu banyak tahap operasi yang digunakan! Biasanya menggunakan pustaka OpenCV, atau  menggunakan matlab, python

Tidak menggunakan bahasa imperativ programming seperti C/C++, java, visual basic, C# karena code yang digunakan menjadi sangat panjang sekali.

Jangan bertindak koboi mendevelop library dari awal seperti operasi morfologi (dilation, erotion, blob counting, filtering, convolution) karena sangat melelahkan dan tidak cukup efisien, waktu anda habis untuk ngurusi preprosesing daripada core engineering nya!

Penulis sangat menyarankan untuk menggunakan library diatas (OpenCV) atau aforge.net dan accord.net khusus untuk yang net framework.
Posting Komentar