IDENTIFIKASI AWAL PLAT NOMOR MOBIL MENGGUNAKAN PROGRAM KONVENSIONAL SEBAGAI LANGKAH AWAL PENGGUNAAN JARINGAN SARAF TIRUAN Soegianto Soelistiono, Ardan Listya Romdhoni Departemen Fisika Fakultas Sains dan Teknologi Universitas Airlangga
Pendeteksian awal plat nomor mobil dilakukan dengan menggunakan program Delphi. Program ini dibuat sebagai langkah awal sebelum beranjak pada pengaplikasian JST (jaringan saraf tiruan). Dengan memanfaatkan program konvensional yang diibaratkan sebagai sebuah filter informasi untuk mengolah image suatu kendaraan roda 4 yang memiliki plat nomor, didapat informasi spesifik sebagai data inputan pada JST berupa potongan-potongan karakter pada plat (image huruf dan angka). Dengan demikian JST dapat mengidentifikasi suatu plat nomor dengan menganalisis setiap karakter yang ada pada plat nomor tersebut.
Pendahuluan Dalam kehidupan sehari-hari sering dijumpai permasalahan yang berhubungan dengan wilayah kerja nonlinier, dimana keadaan tersebut tidak dapat diselesaikan dengan menggunakan persamaan-persamaan linier atau persamaan deterministik. Oleh karena itu dibuatlah suatu sistem yang digunakan untuk menyelesaikan permasalahan tersebut. Sistem yang menggunakan khaidah-khaidah nonlinier ini biasa disebut juga dengan jaringan saraf tiruan (JST) atau neural network. Aplikasi dari sistem ini dapat berupa analisis dari suatu permasalahan yang menuntut untuk ditemukannya suatu hasil yang tidak dapat dirumuskan dari aturan-aturan awal
permasalahan tersebut. Dapat diambil contoh permasalahan dalam pembuatan permainan yang berbasis pada wilayah nonlinier seperti pada game catur, game Football Manager, hingga permasalahan kompleks seperti pendeteksian gempa atau bencana alam lain yang sangat sulit untuk ditentukan kapan waktu terjadinya. Disinilah peran dari sistem artificial intelegence tersebut. Yang dimaksud sistem JST disini adalah suatu sistem yang mengadopsi kemampuan jaringan otak manusia seperti mampu memproses informasi yang didapat, mengenal wajah, mempelajari kondisikondisi tertentu untuk menentukan suatu hasil sehingga diharapkan dapat menentukan
suatu penyelesaian dari permasalahan yang bersifat nondeterministik. Dengan memberikan inputan berupa suatu informasi yang paling mendasar pada sistem ini, akan dihasilkan suatu pendekatan yang berujung pada hasil yang diinginkan. Jikalau terjadi kesalahan dalam menentukan hasil, JST ini akan mempelajarinya dan akan menghasilkan output lainnya yang semakin mendekati nilai kebenaran. Salah satu permasalahan yang dapat diselesaikan oleh JST ini diantaranya adalah membuat sistem pendeteksi plat nomor mobil, dimana sistem ini memiliki peranan penting yang dapat diaplikasikan pada suatu sistem keamanan. Dengan memanfaatkan kemampuan JST yang dapat mempelajari sesuatu dan memberikan output yang sesuai dengan yang diinginkan maka dapat dibuat suatu inputan yang sarat dengan informasi. Untuk menghasilkan inputan tersebut perlu dibuat suatu sistem yang dapat berperan sebagai filter berbasis program konvensional. Langkah-langkah dalam pembuatan program konvensional ini haruslah menghasilkan inputan yang memiliki informasi yang cukup untuk diproses pada sistem JST karena sistem JST ini hanya mampu mempelajari suatu input yang diberikan hanya jika input tersebut telah memiliki informasi yang sangat jelas. Metode Penelitian Dalam pembuatan suatu sistem yang digunakan untuk mendeteksi plat nomor mobil dibutuhkan algoritma yang jelas untuk menghasilkan informasi yang cukup bagi para penggunanya. Berikut ini merupakan flowchart dari cara kerja sistem yang telah dibuat.
Gambar 1. Flowchart sistem pendeteksi Dari bagan tersebut, bagian yang akan dibahas adalah proses dimana inputan awal yang berupa foto dari sebuah mobil yang tampak dari depan ataupun belakang yang memiliki plat nomor akan diolah hingga didapat hasil pengolahan yang layak untuk diberikan pada JST. Dengan kata lain yang akan dibahas adalah mengenai proses pemfilteran untuk memperoleh informasi yang sesuai. Berikut ini adalah penjelasan dari tiap algoritma yang digunakan untuk memperoleh informasi yang cukup dari image mobil untuk kemidian diberikan pada JST. 1. Penentuan Pengambilan Image Pada bagian ini, ditentukan posisi atau jarak untuk pengambilan image serta
penentuan kondisi pencahayaan lingkungan yang sesuai. Hal ini dilakukan dengan tujuan untuk memperoleh image yang sesuai serta kondisi yang tetap untuk mempermudah dalam pengambilan informasi nantinya. Informasi sesuai yang dimaksud adalah inputan yang memungkinkan JST untuk dapat mengolahnya.
data yang terdapat pada komputer. Berikut ini merupakan contoh dari pengambilan image dengan menggunakan program Delphi dari file yang tersimpan pada komputer.
2. Pemrosesan Image Pada bagian ini terdapat beberapa langkah yang sangat penting untuk dilakukan dengan tujuan memperoleh hasil yang memiliki informasi yang cukup. Secara garis besar, proses yang terjadi disini diawali dengan sebuah image yang memiliki bagian plat nomor dan dari image tersebut akan diambil gambar hanya pada plat nomornya yang kemudian dari gambar plat nomor tersebut diambil bagian-bagian yakni huruf dan angka dengan cara memotongmotong gambar plat nomor tersebut. Berikut ini adalah algoritma yang dibuat untuk memperoleh potongan-potongan huruf dan angka tersebut. *) Pengambilan image Pada proses ini, program yang dibuat diberikan perintah untuk mengambil gambar dari device yang berupa kamera yang tersambung pada komputer. Dari program ini diambil sebuah image yang memiliki bagian-bagian yang jelas untuk diberikan syarat penentuan plat nomor yang terdapat pada image tersebut. Misalnya jika dibuat program dengan menggunakan Delphi, maka pada komponen button yang digunakan, diberikan algoritma untuk pengambilan image yang terhubung dengan kamera ataupun pengambilan image dari
Gambar 2. Pengambilan image Dari gambar tersebut dapat dilihat bahwa komponen button diberi penamaan “proses” yang jika ditekan akan muncul tampilan open file seperti yang nampak pada Gambar 2. *) Pemfilteran image Pada proses ini image yang berhasil diambil kemudian diolah dengan cara membuat image tersebut menjadi greyschale atau menjadi tingkat abu-abu sehingga gambar yang ditampilkan akan berwarna hitam dan putih. Jika program yang digunakan menggunakan program Delphi, maka dapat dimanfaatkan komponen scanline untuk menganalisis image yang akan digunakana. Seperti contoh pada gambar berikut.
Gambar 3. Image yang dibuat warna merah Pada Gambar 3, terlihat adanya warna dominasi berupa warna merah, hal ini diperlukan untuk membuat image yang berupa warna hitam dan putih. Selain membuat image yang berupa warna merah tersebut, dibuat juga image yang berwarna hijau dan juga biru sebagai syarat inputan pada image greyschale. Dengan melihat definisi hitam pada image asli atau gambar mobil yang sesungguhnya, maka definisi tersebut dapat dijadikan syarat untuk menghitamkan dan juga syarat untuk memutihkan image yang akan dijadikan greyschale. Berikut ini merupakan contoh penentuan definisi warna hitam yang tercatat pada contoh image asli. RGB
Gambar 4. Contoh Pendefinisian warna hitam dan putih. Dari Gambar 4 tersebut, jika cursor ditempatkan pada wilayah yang berwarna
hitam image asli tersebut, maka akan didapat nilai RGB dari titik yang ditunjuk oleh cursor tersebut. Nilai dari RGB pada wilayah hitam tersebut dapat ditunjukkan dengan memanfaatkan komponen label jika program yang digunakan adalah program Delphi. Dengan melakukan pengujian beberapa titik-titik pada wilayah yang berwarna hitam untuk mengetahui nilai RGB dari setiap titik tersebut maka nilai dari RGB tersebut dapat digunakan sebagai syarat batas, yakni dengan mendefinisikan nilai warna merah, hijau dan biru dari setiap titik hitam. Berikut ini merupakan contoh syarat batas yang dibuat menggunakan program Delphi.
Gambar 5. Syarat batas warna hitam dan putih Setelah didapat syarat batas untuk pendefinisian hitam dan putih, langkah selanjutnya adalah dengan menerapkan syarat tersebut pada image merah, hijau dan biru. Hasil dari pemberian syarat batas ini akan menjadikan gabungan ketiga image tersebut menjadi hitam dan putih saja seperti pada Gambar 6 berikut.
Gambar 6. Hasil greyschale. *) Penghilangan noise disekitar plat Gambar 7. Hasil penghilangan noise. Setelah didapat image yang berupa warna hitam dan putih, maka langkah selanjutnya adalah dengan melakukan pemotongan pada bagian plat nomor image tersebut. Logika yang perlu dijalankan adalah dengan menghilangkan noise disebelah kanan, kiri, atas dan bawah terlebih dahulu dengan memberikan perintah pada komponen scanline (pada program Delphi) untuk memutihkan semua piksel yang dianggap noise. Hal ini dilakukan untuk mendapatkan bagian plat nomor mobil. Untuk menetapkan wilayah plat nomor agar tidak terkena dampak dari penghilangan noise maka diberikan syarat batas berupa luasan piksel yang merupakan karakteristik dari plat nomor itu sendiri. Dalam memberikan syarat batas ini terlebih dahulu ditentukan berapa panjang dan lebar piksel yang ada pada plat nomor tersebut yakni dengan mengidentifikasinya menggunakan label seperti halnya mendeteksi nilai RGB. Hasil dari penghilangan noise tersebut dapat dilihat pada Gambar 7 berikut ini.
Dari gambar tersebut, lingkaran merah yang berbentuk elips menggambarkan plat nomor yang telah dilakukan penghilangan noise disebelah kanan, kiri, atas dan bawah. *) Pengambilan image plat nomor Setelah didapat bagian image yang dibutuhkan yakni bagian plat nomor, yang perlu dilakukan selanjutnya adalah dengan mengambil image tersebut. Untuk melakukan pemotongan plat nomor ini, perlu dilakukan penandaan pada bagian plat nomor yang telah dihilangkan noise-nya. Hal ini dilakukan dengan tujuan mempermudah dalam pemberian perintah untuk memotong bagian plat nomornya. Setelah ditandai bagian platnya, digunakan komponen TImage (pada program Delphi) untuk menampilkan hasil pemotongan plat nomor tersebut. Hasil dari pemotongan image plat nomor ini ditunjukkan pada Gambar 8 berikut.
Gambar 8. Hasil pemotongan plat nomor. Gambar 9. Greyschale dari plat nomor. Syarat batas yang diberikan untuk pengambilan plat nomor tersebut digambarkan dengan garis yang berbentuk persegi panjang berwarna kuning pada image asli Gambar 8 di atas. *) Pemotongan karakter plat nomor Plat nomor yang telah didapat dari proses pengambilan dari image asli diproses kembali untuk dipotong-potong tiap karakternya yakni untuk menghasilkan potongan huruf dan angka yang terkandung dalam plat nomor tersebut. Proses pemotongan tiap karakter dari plat nomor ini dilakukan untuk menyesuaikan dengan sifat JST yang hanya mampu menganalisis suatu obyek yang sarat informasi, dalam hal ini adalah tiap karakter pada plat nomor yang memiliki bentuk yang spesifik. Untuk melakukan pemotongan ini, image plat nomor yang telah diambil dari image asli diubah menjadi greyschale untuk mempermudah dalam memberikan syarat batas pemotongan. Hasil dari proses ini dapat dilihat pada Gambar 9 berikut.
Untuk menganalisa tampilan greyschale pada Gambar 9 digunakan kurva histogram. Kurva tersebut menggambarkan jumlah piksel yang memiliki nilai RGB antara 0 hingga 255. Selain kurva histogram, juga digunakan kurva koordinat sumbu-x dan sumbu-y pada plat nomor. Kurva koordinat ini digunakan untuk mengetahui jumlah piksel hitam dan putih pada suatu koordinat plat nomor tersebut. Adapun contoh dari algoritma kurva ini disajikan pada Gambar 10 dan Gambar 11 sebagai berikut.
Gambar 10. Histogram pada Delphi.
Gambar 11. Kurva koordinat pada Delphi.
Setelah didapat kurva-kurva tersebut, maka jarak antar karakter dapat digunakan sebagai syarat batas untuk mendapatkan potongan-potongan karakter tersebut. Dengan memberikan perintah pada scanline untuk mendeteksi karakteristik jarak antar titik putih pada kurva koordinat sumbu-x (dengan nilai sumbu-y yang relatif kecil), akan didapat suatu jarak yang merupakan karakteristik dari setiap karakter (huruf dan angka). Karakteristik jarak antar titik putih ini digambarkan pada persegi panjang merah pada Gambar 12 sebagai berikut.
Misalkan setelah didapat potongan huruf “L” dari plat yang akan dideteksi, potongan image huruf tersebut diserahkan pada program JST untuk dipelajari, sehingga ketika diberikan image huruf “L” yang lain program tersebut akan mendeteksi image tersebut sebagai huruf “L”. Keberhasilan JST dalam mendeteksi dipengaruhi beberapa faktor diantaranya: 1. Proses pengajaran pada JST ini dilakukan berulang-ulang agar memiliki nilai keakuratan tinggi untuk karakter yang diajarkan. 2. Gambar plat yang dihasilkan harus bersih dari noise agar memudahkan JST untuk mendeteksinya.
Gambar 12. Karakteristik jarak. Dengan mengetahui jarak tersebut, dapat digunakan perintah untuk mengambil tiap karakter dan tiap karakter yang diperoleh, digunakan sebagai data inputan pada bagian JST. Hasil & Pembahasan
Kesimpulan Dengan menggunakan program konvensional (dalam hal ini Delphi) didapat data inputan untuk JST yang spesifik sehingga mempermudah JST dalam pendeteksian plat nomor pada kendaraan roda 4.
JST merupakan suatu program yang hanya dapat bekerja pada suatu data yang spesifik. Jika data inputan berupa data kompleks yang masih bisa diklasifikasikan lagi menjadi data yang lebih spesifik, JST tidak mampu untuk menganalisa atau mengenali data inputan yang diberikan.
Daftar Pustaka
Dengan mendapatkan potongan-potongan karakter yang dimiliki oleh plat nomor, analisis dengan menggunakan JST akan sedikit lebih mudah karena data yang diberikan memiliki informasi yang hanya dimiliki oleh masing-masing data inputan.
Oleh:
Eliyani, Pengantar Jaringan Syaraf Tiruan. 2005.
MH.Purnomo,Diktat Pengantar Jaringan Saraf Tiruan, PENS 1990.
Ardan Listya Romdhoni (080810464) http:/ardan-l-r-fst08.web.unair.ac.id/