Saat ini sistem pengenalan pelat nomor secara otomatis (ALPR, automatic license plate recognition) sudah mulai digunakan di berbagai negara. Sistem ini sangat berguna untuk banyak hal mulai dari meningkatkan ketertiban lalu-lintas, sampai membantu pencarian pelaku penculikan yang melarikan diri menggunakan mobil dengan pelat nomor yang dikenal. Tulisan ini membahas mengenai teknik LPR secara umum dan solusi LPR dari Mata Dewa yang dioptimasi untuk penggunaan di Indonesia.
Mengapa Tidak Memakai OpenALPR?
Mungkin pertanyaan pertama yang muncul adalah: mengapa tidak memakai sistem open source yang sudah ada? Saat ini sistem open source yang sudah terkenal adalah OpenALPR dan akurasinya cukup baik untuk pelat nomor negara tertentu. Alasan paling utama adalah lisensi, OpenALPR memiliki lisensi Affero GPL. Lisensi Affero ini mewajibkan kita memberikan source code kepada siapapun yang memakai software, meskipun dari internet, ini berbeda dari GPL biasa yang hanya mewajibkan kita membagi source code ke orang yang menjalankan software tersebut. Artinya segala macam perubahan yang kita lakukan terhadap software OpenALPR harus dibuka ke publik.
Akurasi OpenALPR juga bukan yang terbaik, sistem pengenalan digitnya memakai Tesseract OCR. Tesseract OCR versi stabil (versi 3) memakai algoritma klasik yang kalah jauh dari metode dengan deep learning. Baru pada tahun lalu Tesseract OCR 4 mulai memakai deep learning (sampai saat ini versi 4 tersebut masih beta).
Saat ini development OpenALPR ini juga cukup lambat (ketika artikel ini ditulis, commit terakhir adalah 2 bulan yang lalu), sementara ada banyak pertanyaan yang tidak terjawab di bagian issues (misalnya bagaimana mengadaptasi OpenALPR untuk pelat nomor yang terdiri dari dua baris di Singapura). Perlambatan ini bisa dimaklumi karena fokus mereka saat ini adalah layanan berbasis cloud yang sifatnya komersial (tidak gratis).
Mengenali dan Membaca Pelat Nomor
Sebenarnya langkah pembacaan otomatis pelat nomor cukup sederhana, tapi detail implementasinya yang rumit. Langkah pertama adalah mencari peat nomor di dalam gambar (biasanya gambar ini merupakan satu frame video), membersihkan gambar, lalu mengenali pelat yang ada pada gambar tersebut.
Pada bagian berikutnya asumsinya kita bekerja pada satu gambar statik saja. Jika inputnya adalah video maka bisa dilakukan object tracking agar tidak mengulangi semua langkah.
Mencari Pelat Nomor
Bentuk, warna, ukuran, dan font pelat nomor berbeda di setiap negara dan sebuah aplikasi yang baik harus diadaptasi khusus untuk sistem di sebuah negara. Kadang sistem ini juga harus mengenali sistem dari negara lain, contohnya di berbagai negara Eropa yang berdekatan berbagai mobil dari negara tetangga dapat dengan mudah melintasi batas sebuah negara. Untuk penggunaan di Indonesia yang merupakan negara kepulauan (jumlah lalu lintas mobil antar pulau terbatas), sistem bisa dioptimasi untuk mengenali pelat yang umum di wilayah atau pulau tertentu.
Saat ini framework deteksi objek yang cepat dan terbukti cukup akurat adalah Viola-Jones. Untuk bisa mengenali objek kita perlu melakukan training terhadap ribuan pelat nomor dengan berbagai kondisi pencahayaan dan berbagai kondisi cuaca. Input algoritma ini adalah gambar dalam format grayscale (komponen Luminance saja). Setelah kita melakukan training maka didapatkan data cascade. Dengan data ini kita bisa menggunakan berbagai library yang dapat melakukan deteksi dengan cepat, misalnya OpenCV memiliki fungsi cvHaarDetectObjects.
Meskipun akurasi metode ini cukup tinggi, tapi deteksi objek ini juga tidak 100% akurat, kadang ada wilayah yang terdeteksi sebagai pelat nomor tapi ternyata bukan. Kasus ini bisa difilter dengan kembali ke gambar asli yang berwarna dan memeriksa warna untuk memastikan warna dominan merupakan warna pelat nomor. Filter berikutnya adalah dengan mencari apakah wilayah yang dideteksi tersebut memiliki contour yang polanya seperti huruf atau angka.
Optimasi juga bisa dilakukan tergantung dari lokasi deployment sistem. Untuk sistem di mana lokasi kamera dan kendaraan relatif tetap (misalnya untuk mendeteksi truk masuk gerbang) sistem bisa mendeteksi hanya area tertentu di gerbang dan akurasinya akan lebih tinggi.
Membersihkan Gambar
Deteksi objek hanya dapat memberikan wilayah persegi yang merupakan pelat nomor. Berikutnya area ini perlu diproses agar pembacaan teks pelat nomor oleh algoritma berikutnya bisa lebih akurat. Gambar yang miring harus diluruskan, gambar yang perspektifnya salah harus dikoreksi dan secara umum gambar perlu dipertajam. Proses ini mungkin terlihat yang paling sederhana, tapi sebenarnya justru yang sangat sulit.
Tidak ada satu algoritma yang dapat memberikan output terbaik. Berbagai sistem ALPR memakai heuristic yang berbeda untuk memperkirakan homography matrix untuk mengoreksi perspektif. Cara yang dipakai pada sistem Mata Dewa adalah dengan menggunakan komputasi histogram untuk mendapatkan alignment terbaik.
Berdasarkan histogram per baris dan kolom, gambar dapat diluruskan dan siap diproses oleh algoritma berikutnya.
Mengenali Huruf dan Angka
Setelah mendapatkan gambar yang bersih, lokasi setiap huruf dan angka perlu dideteksi lagi menggunakan pendekatan Viola-Jones. Dengan ini bisa didapatkan persegi yang menjadi kandidat satu huruf. Strategi heuristic digunakan untuk membuang kemungkinan yang salah (seperti stiker yang ditempel yang posisinya tidak sejajar dengan digit lain).
Setiap kandidat huruf yang ditemui diberikan ke sebuah neural network yang memiliki akurasi cukup tinggi dalam mengenali huruf dan angka. Pada sistem Mata Dewa training dilakukan dengan pelat nomor yang ada di Indonesia, karena sistem dirancang khusus untuk Indonesia, maka pembobotan ekstra dapat diberikan agar memiliki akurasi lebih tinggi. Contohnya untuk sistem yang di-deploy di wilayah jakarta kemungkinan karakter pertamanya adalah huruf B dan bukan angka 8.
Sebuah pelat nomor dalam pencahayaan sempurna kadang tetap sulit dibaca karena kotor, sudah kusam, penyok, atau ditempeli stiker. Penanganan kasus ini tergantung pada deployment-nya. Misalnya di jalan raya dapat dipasang beberapa kamera yang dapat melihat dari berbagai sudut, termasuk juga dari arah belakang mobil yang mungkin lebih jelas pelat nomornya.
Pengembangan di Masa Depan
Sistem LPR hanya merupakan satu bagian dari sistem menyeluruh berbasis Machine Vision yang sedang dikembangkan oleh Mata Dewa. Berbagai teknologi yang dikembangkan ini diadaptasi khusus untuk penggunaan di Indonesia.
Contoh salah satu teknologi machine vision yang bisa digabungkan dengan LPR adalah: illegal parking detection. Sebuah kamera yang jangkauannya lebar (menggunakan wide-angle lens) dapat digunakan untuk mendeteksi parkir ilegal dan LPR dengan kamera lain dapat digunakan untuk mendeteksi pelat nomor kendaraan yang parkir ilegal tersebut. Tentunya definisi parkir ilegal ini sesuai dengan aturan yang berlaku di Indonesia.
Sistem LPR ini juga bisa diintegrasikan dengan Electronic Law Enforcement. Contohnya adalah untuk memonitor sistem ganjil genap sehingga jumlah polisi yang dibutuhkan bisa dikurangi. Sistem elektronik juga bisa melakukan pengecekan otomatis kendaraan dengan pelat nomor palsu (registration identification) berdasarkan database kepolisian.
Sistem yang dikembangkan oleh Mata Dewa dikembangkan dalam negeri dan mudah diintegrasikan dengan berbagai sistem yang sudah ada. Karena menyangkut masalah keamanan, produk dalam negeri juga memiliki kelebihan karena source code dapat diaudit bersama dan tidak perlu perlu khawatir adanya backdoor.
Source: https://medium.com/mahapatih-sibernusa-teknologi/automatic-license-plate-recognition-1189b2e594e5
Tentang Docotel
Docotel 4.0 meliputi tim yang berdedikasi, berpengalaman, dan ahli dalam menyediakan produk dan solusi yang bernilai tinggi di semua industri.
Kami hadir dengan visi mengatasi permasalahan sehingga dapat menciptakan pengalaman terbaik bagi klien.
Add comment