1
SEGMENTASI DAN PENGENALAN PLAT NOMER MOBIL INDONESIA MENGGUNAKAN NEURAL NETWORK
LAPORAN PENELITIAN
Oleh : Sri Heranurweni, ST, MT Andi Kurniawan Nugroho, ST, MT
DIBIAYAI OLEH UNIVERSITAS SEMARANG DENGAN SURAT PERJANJIAN PENELITIAN No. 103.18 / USM.H8 / L /2011
FAKULTAS TEKNIK UNIVERSITAS SEMARANG SEMARANG 2011
2
HALAMAN PENGESAHAN LAPORAN AKHIR HASIL PENELITIAN 1.
a. Judul Penelitian b. Bidang Ilmu c. Kategori Penelitian
: Segmentasi dan Pengenalan Plat Nomer Mobil Indonesia Menggunakan Neural Network : Pengolahan Citra : Pengembangan IPTEK
2. Ketua Peneliti a. Nama Peneliti dan Gelar : Sri Heranurweni, ST,MT b. Jenis Kelamin : Perempuan c. Gol, Pangkat, dan NIS : IIIb/ Penata Muda / 06557003102070 d. Jabatan Fungsional : Lektor e. Jabatan Struktural : Sekretaris Jurusan Teknik Elektro f. Fakultas/Jurusan : Teknik/ Teknik Elektro g. Universitas : Universitas Semarang 1. a. Judul 3. Jumlah Anggota Peneliti : Sebagai a. Nama Anggota I : b. Bidang Ilmu c. Kategori Penelitian 4. Lokasi Penelitian : 2. Ketua Penelitian a. Waktu Nama Lengkap 5. Jangka Penelitian : b. Jenis Kelamin c. Pangkat/ Gol. /NIS 6. Sumber Biaya Penelitian : d. Jabatan Fungsional e. Jabatan Struktural 7. Besarf. Biaya Penelitian : Fakultas/Jurusan g. Pusat Penelitian
: Alat Pengatur Suhu Adaptif dan Otomatis 1 (Satu ) Orang 1. AndiPengganti Kurniawan Nugroho, Induk Ayam ST, bagiMT Peternak Ayam : Teknik :I Lab. Teknik Elektronika USM : Sri Heranurweni, ST, MT 3 Bulan : Perempuan : Penata Muda/ IIIa / 06557003102070 Universitas Semarang : Asisten Ahli : Sekretaris Jurusan Rp. 2.500.000,(Dua Juta Lima Elektro Ratus Ribu Rupiah) : Fakultas Teknik / Teknik : Universitas Semarang Semarang, 14 Juli 2011
3. Jumlah Anggota Peneliti : 2 (dua) orang Mengetahui, Ketua Peneliti a. Nama Anggota Peneliti I : Andi Kurniawan Nugroho, ST, MT Dekan Fakultas Teknik b. Nama Anggota Peneliti II : Dinar Mutiara Kusumo Nugraheni, ST, MIT 4. Lokasi Penelitian Ir. Supoyo.MT . 5. Lama Penelitian NIS: 06557003102026
: Lab Elektronika Universitas Semarang Sri Heranurweni, ST,MT Menyetujui, : 3 (tiga) bulan NIS: 06557003102070 Ketua LPPM Universitas Semarang 6. Sumber Biaya Penelitian : Universitas Semarang
Semarang, Juni 2009 Mengetahui,
Wyati Saddewisasi, SE, M.Si LEMBAR NIP. 19600119REVIEWER 198703 2 001
3
1. a. Judul Penelitian b. Bidang Ilmu c. Kategori Penelitian
: Segmentasi dan Pengenalan Plat Nomer Mobil Indonesia Menggunakan Neural Network : Pengolahan Citra : Pengembangan IPTEK
2. Ketua Peneliti a. Nama Peneliti dan Gelar b. Jenis Kelamin c. Gol, Pangkat, dan NIS d. Jabatan Fungsional e. Jabatan Struktural f. Fakultas/Jurusan g. Univ/Akademi/Sekolah Tinggi
: : : : : : :
3. Jumlah Tim Peneliti
: 1 (satu) orang
4. Jangka Waktu Penelitian
: 3 Bulan
5. Tempat Penelitian
: Semarang
Sri Heranurweni, ST, MT Perempuan IIIb/ Penata Muda/ 06557003102070 Lektor Sekretaris Jurusan Teknik Elektro Teknik/ Teknik Elektro Universitas Semarang
Semarang , 14 Juli 2011 Mengetahui, Reviewer
(Ir. Akbar Nathief, MT) NIS : 0655 7003102032
Ketua Peneliti
(Sri Heranurweni, S.T., MT) NIS : 06557003102070
4
ABSTRAK Pembacaan plat nomer mobil secara otomatis sangat berguna bagi kehidupan kita sehari-hari, misalnya menejemen tempat parkir, monitoring lalu lintas, pengaturan tiket, pembayaran jalan tol, dll. Penelitian ini bertujuan untuk mengenali karakter pada plat nomer mobil Indonesia menggunakan Learning Vector Quantization (LVQ). Citra ditangkap menggunakan kamera kemudian mengalami proses preprosesing. Tahapan preprosessing yang digunakan meresize image 0,6 kali dari gambar semula, edge detection sobel, imclose, menyambung pixel yang mempunyai jarak kurang dari sama dengan 10 pixel, menghilangkan noise, dan mengindex area yang mempunyai kemungkinan merupakan kandidat plat nomer. Segmentasi plat menggunakan metode moment. Proses selanjutnya adalah menormalisasi plat yang telah ditemukan sehingga seluruh plat mempunyai ukuran 1000 x 600 pixel. Area pada plat yang telah dinormalisasi diindex, dan area yang telah diindex dicari kandidat yang termasuk karakter dengan menggunakan informasi luas area dan perbandingan tinggi dan panjang area. Kandidat yang mempunyai probality yang terbesar disegmentasi dengan menggunakan metode moment. Karakter yang telah disegmentasi dinormalisasi sehingga berukuran 20 x 10 pixel dan dikenali menggunakan Learning Vector Quantization. Sistem secara keseluruhan mulai dari instrumentasi yang coba dikembangkan melalui kamera, metode image processing serta algoritma kecerdasan buatan Learning Vector Quantization mampu bekerja Rata-rata tingkat akurasi segmentasi plat 98,75 %, segmentasi karakter 95,789 %, dan tingkat keberhasilan pembacaan karakter menggunakan Learning Vector Quantization bervariasi bergantung pada jenis karakternya. Teknik pengambilan image dan kondisi plat nomer sangat mempengaruhi tingkat keakurasian dalam pembacaan karakter pada plat. Kata Kunci: Segmentasi, plat nomer, mobil, normalisasi, moment, Learning Vector Quantization
5
ABSTRACT Reading car number plates automatically is very useful for our daily lives, such as parking management, traffic monitoring, ticketing arrangements, payment of road tolls, etc., Research aims to recognize the characters on the Indonesian car number plates using a Learning Vector Quantization (LVQ ). Images captured using the camera to then undergo a process of preprocessing, stage resize image preprosessing used 0.6 times from a first image, sobel edge detection, imclose, connecting pixels that have a distance less than equal to 10 pixels, eliminating noise, and the index area have the possibility of a candidate's plate number. Plate segmentation using moment method. The next process is to normalize dite plate that has been found that the entire plate has a size of 1000 x 600 pixels. The area on the plate that has been normalized indexed, and searched the area that has been indexed by the character of candidates that included extensive use of information and comparison areas height and length of the area. The candidate who has the biggest probality segmented using the method of moments. The characters have been segmented normalized so that a 20 x 10 pixels and identified using Learning Vector Quantization. Overall system is trying to start from instrumentation developed through the camera. Image processing methods and algorithms of artificial intelligence capable of Learning Vector Quantization worked an average level of 98.75% accuracy license plate segmentation. Character segmentation 95.789%, and the success rate of reading of the character using the Learning Vector Quantization varies depending on the type of character. Image retrieval techniques and conditions of license plate numbers greatly affect the level of accuracy in reading the characters on the plate. Key words: segmentation, plate number, car, normalization, moment, Learning Vector Quantization
6
PRAKATA Puji syukur kami panjatkan kepada Allah SWT karena berkat rahmat dan hidyahNya, kami dapat menyelesaikan laporan penelitian dengan judul : “ Segmentasi dan Pengenalan Plat Nomer Mobil Indonesia Menggunakan Neural Network ”. Kami juga mengucapkan terima kasih kepada pihak-pihak yang telah membantu terlaksananya penelitian ini, antara lain kepada : 1. Prof. H. Pahlawansyah, selaku Rektor Universitas Semarang yang telah memberi kesempatan untuk melaksanakan penelitian kepada penulis. 2. Wyati Saddewisasi, SE, M.Si, selaku Ketua LPPM yang telah membantu dalam penelitian ini. 3. Ir. Akbar Nathief, MT, selaku Reviewer yang telah memberikan bimbingan dan arahan kepada penulis. 4. Budiani Destyningtias, ST, MEng selaku Ketua Jurusan Teknik Elektro yang telah membantu terlaksananya penelitian ini. Demikian laporan ini kami buat walaupun banyak kekurangan, semoga tetap bermanfaat untuk seluruh sivitas akademika Universitas Semarang. Terima kasih.
Semarang, Juli 2011 Penulis
7
DAFTAR ISI Halaman HALAMAN IDENTITAS PENGESAHAN..........................................................
ii
LEMBAR REVIEWER ..........................................................................................
iii
ABSTRAK ..........................................................................................................
iv
ABSTRACT ………………………………………………………………………
v
PRAKATA ..........................................................................................................
vi
DAFTAR ISI .......................................................................................................
vii
DAFTAR GAMBAR ........................................................................................... viii DAFTAR LAMPIRAN ........................................................................................
ix
BAB 1. PENDAHULUAN ....................................................................................
1
BAB 2. PERUMUSAN MASALAH ……………….…………………………….
2
BAB 3. TUJUAN PENELITIAN ……………………………………………….
2
BAB 4. MANFAAT KEGIATAN ..........................................................................
2
BAB 5. BATASAN MASALAH . ............................................................................
2
BAB 6. TINJAUAN PUSTAKA. ............................................................................
3
BAB 7. METODE PENELITIAN . .........................................................................
7
BAB 8. ANALISA DATA DAN PEMBAHASAN …………. ...........................
18
BAB 7. KESIMPULAN .......................................................................................
30
DAFTAR PUSTAKA ...........................................................................................
31
DATA PERSONALIA ………………………………………….......……………
32
LAMPIRAN .........................................................................................................
32
8
DAFTAR GAMBAR Halaman Gambar. 7.1. Tahap pengenalan plat......................................................................
7
Gambar 7.2. Contoh gambar plat nomer yang akan dikenali................................
8
Gambar 7.3. Gambar Grayscale .............................................................................
9
Gambar 7.4
Hasil dari proses edge detection sobel ….………………...............
9
Gambar 7.5. Operator Silang.…………………………………............................
10
Gambar 7.6. Urutan proses (a) Gambar asli (b) Gambar setelah diresize 0,6 kali (c) Edge Detection Sobel (d) Gambar yang telah mengalami edge detection pixel yang ada diluaskan hingga 10 pixel (e) Gambar yang telah dihilangkan noisenya (f) Gambar setelah dihilangkan holenya..................................................................
10
Gambar 7.7. Gambar yang telah diindex dan dicari luas area................................
11
Gambar 7.8. Gambar plat nomer hitam putih setelah dicrop ...............................
11
Gambar 7. 9. Gambar plat nomer RGB setelah dicrop …………………………...
12
Gambar 7.10. Gambar plat nomer greyscale setelah dicrop ...................................
12
Gambar 7.11. Sesudah Proses Normalisasi …………..……………………………
13
Gambar 7.12. Segmentasi karakter............... …….................................................
13
Gambar 7.13. Normalisasi karakter ................ ……………………………………
13
Gambar 7.14. Arsitektur Jaringan Syaraf Tiruan LVQ ………..………………….
15
Gambar 7.15. Blok Diagram Skema kerja sistem secara keseluruhan …..……….
17
Gambar 8.1. Image diresize menjadi 0,1 sampai 1 kali dari besar image semula ……………………………………………………………………………..
18
Gambar 8.2. Plat warna hitam pada mobil berwarna hitam ………………………..
23
Gambar 8.3. Hough Transform ........................... ..........................................
23
Gambar 8.4. Hough Transform ......................................................................
24
Gambar 8.5. Area kandidat plat nomer yang diindex …………………………….
24
Gambar 8.6. Area kandidat plat nomer yang terpilih ……………………………..
25
Gambar 8.7. Crop gambar RGB …………………………………………………..
25
Gambar 8.8. Crop gambar grayscale ………………………………………………
25
9
Gambar 8.9. Crop gambar threshold ……………………………………………
25
Gambar 8.10. Normalisasi plat nomer ………………….……………………….
27
10
DAFTAR TABEL Halaman Tabel 8.1.Hasil dari Percobaan yang telah dilakukan dengan 6 macam urutan proses .........................................................................................
21
Tabel 8.2.Hasil dari Percobaan yang telah dilakukan dengan cara isolasi area kandidat plat nomer .................................................................
25
11
DAFTAR LAMPIRAN Halaman Lampiran1.
Listing Program .............................................................................
Lampiran 2. Data Gambar ............................................................................... 40
32
12
BAB 1. PENDAHULUAN Penelitian tentang Licence Plate Recognition (LPR) atau pengenalan plat nomer mobil di beberapa belahan dunia telah dilakukan, tetapi yang melakukan penelitian tentang plat nomer mobil Indonesia masih jarang. Plat mobil di seluruh dunia mempunyai karakteristik yang sama, yaitu antara background dan tulisan mempunyai warna yang kontras, misalnya hitam dan putih, merah dan putih, kuning dan hitam dll. Pembacaan plat nomer secara otomatis sangat berguna bagi kehidupan sehari-hari, misalnya manejemen tempat parkir, monitoring lalu lintas, pengaturan tiket, dan pembayaran jalan tol dan. Database jika diorganisasi dengan baik maka dapat digunakan untuk untuk menghitung waktu perjalanan, analisis market, dan border control. Licence Plate Recognition (LPR) mempunyai keuntungan untuk merekam nomer plat untuk melawan kejahatan, apabila diberikan kamera tambahan yang difokuskan pada wajah pengemudi (driver) sehingga sekaligus dapat mengenali identitas pengemudi mobil tersebut. Konstribusi dari penelitian ini adalah memperbaiki metode sebelumya dalam mensegmentasi plat nomer dari citra, segmentasi karakter plat nomer mobil dan pengenalan karakter pada plat nomer mobil. Metode segmentasi plat sebelumnya menggunakan filter warna. Metode ini mempunyai kelemahan bila warna plat dan warna mobil sama. Metode lain yang telah diterapkan untuk mensegmentasi plat mobil Indonesia yaitu menggunakan Principal Component Analysis (PCA), metode ini mempunyai tingkat akurasi ± 82%. Metode segmentasi plat yang ditawarkan dalam penelitian ini menggunakan metode index dan filter berdasarkan data karakteristik plat nomer Indonesia. Metode segmentasi karakter plat sebelumnya menggunakan coloumb sum graph dan line sum graph. Metode ini kurang tepat diterapkan di Indonesia karena informasi plat nomer Indonesia terdiri dari dua baris yaitu, baris pertama tentang nomer plat dan kedua tentang masa berlaku plat nomer dan diantara kedua informasi tersebut terdapat garis.
Metode segmentasi karakter plat yang ditawarkan dalam penelitian ini
menggunakan metode index dan digabungkan dengan adaptive threshold. Pengenalan karakter plat nomer dalam penelitian ini menggunakan Neural Network.
13
BAB 2. PERUMUSAN MASALAH Perumusan masalah yang akan dilaksanakan dalam penelitian ini adalah: 1. Membaca plat nomer mobil dengan tingkat keburaman yang bermacam-macam. 2. Pencahayaan yang mengenai plat. 3. Preprocessing yang digunakan dengan kondisi plat yang berbeda-beda dan warna yang beragam (merah, kuning, dan hitam). 4. Mengidentifikasi tiap karakter dengan menggunakan jaring syaraf tiruan (Learning Vector Quantization /LVQ).
BAB 3. TUJUAN PENELITIAN Tujuan dari penelitian ini adalah untuk membuat perangkat lunak yang dapat mengenali karakter pada plat mobil Indonesia. Sistem yang dibangun berbasis PC dengan menggunakan kamera, citra didapat, kemudian plat nomer diekstrak, karakter disegmentasi
dan
tiap
karakter diidentifikasi
menggunakan
Learning Vector
Quantization /LVQ.
BAB 4. MANFAAT KEGIATAN Manfaat dari penelitian ini adalah mengembangkan teknologi licence plate recognition (LPR) terutama plat nomer Indonesia, sehingga otomatisasi plat nomer Indonesia dapat diwujudkan.
BAB 5. BATASAN MASALAH Batasan masalah pada penelitian ini antara lain: -
Pengenalan plat mobil pada penelitian ini adalah mobil yang berhenti atau dalam keadaan tidak bergerak.
-
Pengambilan citra pada jarak tertentu 80 cm sampai 150 cm.
-
Pengambilan citra tidak boleh melebihi kemiringan maksimum -20o dan +20o.
-
Plat mobil mempunyai ukuran dan pola standart yang ditetapkan oleh Pemeintah Indonesia.
14
BAB 6.TINJAUAN PUSTAKA 6.1. Penelitian yang telah dilakukan tentang Licence Plate Recognition a. Bar-hen Ron, Johanan Erez, 2002[1] Penelitian yang dilakukan Bar-hen Ron,dkk OCR telah menggunakan Neural Network, dengan menggunakan feedfoward dengan 3 layer, 200 neuron untuk layer input, 20 neuron untuk layer kedua dan 10 layer output, data yang digunakan data 238 digit citra. Langkah-langkah penelitiannya adalah citra plat diambil, kemudian difilter dengan filter warna kuning (karena kebetulan plat yang akan diidentifikasi berwarna kuning). Setelah difilter maka akan didapatkan bagian plat yang berwarna kuning kemudian diekstrak dari citra plat. Diadakan adjusting citra dengan menggunakan Coulomb Sum Graph, kemudian citra diadjust kembali dengan menggunakan metode Lines Sum Graph, kemudian citra dicroping, greyscale, kemudian plat dibinerkan dan diequalisasi dengan menggunakan adapive threshold, kemudian dibinerkan kembali, dinormalisasi dengan menggunakan sum of the lines sehingga didapatkan kontour plat nomer horisontal, diadakan normalisasi dengan menggunakan metode peaks-to-valleys. Kemudian digit angka diadjust, dan digit nomer dikenali dengan menggunakan Metode Neural Network. Implementasi ini dikembangkan dengan menggunakan Matlab. Demo program untuk setiap step mempunyai algoritma yang berbeda-beda, Demo terdapat tombol start, stop dan paused. Kesimpulan yang dapat diambil dari penelitian ini adalah apa yang dapat dilakukan manusia belum tentu mudah dilakukan oleh komputer, tetapi computer vision masih mempunyai power dan dapat melakukan operasi yang berguna seperti contoh LPR ini. Catatan yang dapat ditarik dari penelitian ini adalah: 1.
Masalah dari Neural Network, adalah jumlah data yang besar, hal ini dapat mempengaruhi tingkat keakurasian.
2.
Kandidat untuk filter kuning kadang-kadang gagal.
b. Penelitian Serkan Ozbay, Automatic Vechicle Identification by Plate Recognition (2005)[2] Algoritma paper ini didesain untuk mengenali plat mobil secara otomatis. Input sistem adalah citra yang diambil dari kamera. Citra diambil dari jarak 4 sampai 5 meter
15
kemudian diproses dan dijadikan input untuk bagian segmentasi. Bagian segmentasi memisahkan masing-masing huruf dan kemudian dikenali hurufnya satu per satu. Ekstraksi adalah algoritma pertama pada proses ini. Citra diambil dari kamera kemudian dijadikan citra biner. Citra biner kemudian diproses dengan menggunakan beberapa metode. Untuk mencari bagian plat digunakan algoritma smearing. Proses smearing adalah melakukan scan garis horisontal dan vertikal. Sebelum disegmentasi noise dihilangkan terlebih dahulu. Operasi dilasi digunakan untuk memisahkan karakter satu dengan yang lain.
c. Penelitian Pendekatan LPR yang dilakukan oleh Parker dan Feder[3] Penelitian yang dilakukan berdasarkan urutan input, preprocessing dengan konversi RGB dan smoothing, edge detection, mencari lokasi karakter plat, kemudian mencari lokasi plat nomer dengan menggunakan Genetic Algoritma.
d. Penelitian Experiments in Image Segmentation for Automatic US Licence Plate Recognition yang dilakukan Beatriz Diaz Acosta, 2004 [5] Image segmentation pada penelitian ini terdiri dari dua tahap: pertama dengan mendeteksi bagian plat dan mengekstrak karakter dari background. Tiga pendekatan yang dilakukan untuk mendeteksi plat adalah region distance dari eigenspace, lokasi border dengan menggunakan edge detection dan Hough transform, dan deteksi teks dengan spectral analysis. Eksperimen untuk segmentasi karakter menggunakan RGB, HSV/HIS dan 1976 CIE L*a*b* color spaces seperti Karhunen-Loeve
transform.
Teknik segmentasi menggunakan multivariate hierarchical agglomerative clustering dan minimum-variance color quantization. Pendekatan spectral analysis menggunakan K-L L*a*b* transformed color quantization adalah alternatif yang terbaik untuk citra segmentation pada US license plate recogniton. e. Sistem Pengenalan Plat Nomor Mobil dengan Metode Principal Components Analysis oleh Resmana Lim, Lukman Vendy W., Kartika Gunadi [10] Paper ini membahas sistem pengenalan plat nomor mobil menggunakan teknik computer vision. Citra mobil diambil dari kamera, dan selanjutnya diidentifikasi secara otomatis dengan cara mencari lokasi plat nomor mobil tersebut, mensegmentasi setiap karakter yang ada dari plat tersebut dan kemudian melakukan pengenalan pada setiap
16
karakter dengan metode feature reduction PCA. Aplikasi ini dibangun menggunakan Microsoft Visual C 6.0®, Microsoft® DirectShow®, Intel® Image Processing Library dan Open Source Computer Vision Library. Aplikasi ini telah diimplementasikan dan dapat mendeteksi letak plat nomor serta mengenalinya pada PC Pentium II/400 MHz. Sistem telah diujicobakan pada suatu basis data yang mewakili 26 karakter (0-9, A-Z) yang masing-masing terdiri dari beberapa variasi citra mobil. Hasil uji coba menunjukkan tingkat keberhasilan yang cukup menggembirakan, dimana tingkat keberhasilan mencapai ±82%. Sistem cukup prospektif digunakan sebagai salah satu sistem kontrol dan sekuriti pada area parkir.
f. Penelitian Optimizing Statistical Character Recognition Using Evolutionary Strategies to Recognize Aircraft Tail Number yang dilakukan oleh Berlangga, dkk[4]. Paper ini menggunakan Evolutionary Strategies dalam mengenali nomer pada ekor pesawat terbang.
Urutan algoritma adalah mengambil gambar ekor pesawat,
preprosesing yaitu dengan mencari posisi nomer pesawat terbang dan mengisolasi bagian yang mengandung satu karakter, ekstraksi gambar yaitu mentranslet masingmasing karakter menjadi vektor, klasifikasi dengan mencari feature yang terbaik dengan mencari pasangan yang paling cocok untuk masing-masing karakter, dan postprocessing yaitu menggunakan database airport untuk menyelesaikan karakter yang ambigu untuk masing-masing karakter.
6.2. Tanda Nomor Kendaraan Bermotor a.
Sejarah Penggunaan tanda nomor kendaraan bermotor di Indonesia, terutama di Jawa,
merupakan warisan sejak zaman Hindia Belanda, yang menggunakan kode wilayah berdasarkan pembagian wilayah karesidenan. b.
Spesifikasi Teknis Tanda Nomor Kendaraan Bermotor berbentuk plat aluminium dengan cetakan
tulisan dua baris.
Baris pertama menunjukkan: kode wilayah (huruf), nomor polisi (angka), dan kode/seri akhir wilayah (huruf)
17
Baris kedua menunjukkan bulan dan tahun masa berlaku
Bahan baku TNKB adalah aluminium dengan ketebalan 1 mm. Ukuran TNKB untuk kendaraan bermotor roda 2 dan roda 3 adalah 250x105 mm, sedangkan untuk kendaraan bermotor roda 4 atau lebih adalah 395x135 mm. Terdapat cetakan garis lurus pembatas lebar 5 mm diantara ruang nomor polisi dengan ruang angka masa berlaku. Pada sudut kanan atas dan sudut kiri bawah terdapat tanda khusus (security mark) cetakan lambang Polisi Lalu Lintas; sedangkan pada sisi sebelah kanan dan sisi sebelah kiri ada tanda khusus cetakan "DITLANTAS POLRI" yang merupakan hak paten pembuatan TNKB oleh Polri. c. Warna Warna Tanda Nomor Kendaraan Bermotor ditetapkan sebagai berikut:
Kendaraan bermotor bukan umum dan kendaraan bermotor sewa: warna dasar hitam dengan tulisan berwarna putih
Kendaraan bermotor umum: warna dasar kuning dengan tulisan berwarna hitam
Kendaraan bermotor milik Pemerintah: warna dasar merah dengan tulisan berwarna putih
Kendaraan bermotor Corps Diplomatik Negara Asing: warna dasar putih dengan tulisan berwarna hitam
d.
Nomor Urut Pendaftaran Nomor urut pendaftaran kendaraan bermotor, atau disebut pula nomor polisi,
diberikan sesuai dengan urutan pendaftaran kendaraan bermotor. nomor urut tersebut terdiri dari 1-4 angka, dan ditempatkan setelah Kode Wilayah Pendaftaran. Nomor urut pendaftaran dialokasikan sesuai kelompok jenis kendaraan bermotor (untuk wilayah DKI Jakarta):
1 - 2999, 8000 - 8999 dialokasikan untuk kendaraan penumpang
3000 - 6999, dialokasikan untuk sepeda motor
7000 - 7999, dialokasikan untuk bus
9000 - 9999, dialokasikan untuk kendaraan beban Apabila nomor urut pendaftaran yang telah dialokasikan habis digunakan, maka
nomor urut pendaftaran berikutnya kembali ke nomor awal yang telah dialokasikan dengan diberi tanda pengenal huruf seri A - Z di belakang angka pendaftaran. Apabila huruf di belakang angka sebagai tanda pengenal kelipatan telah sampai pada huruf Z, maka penomoran dapat menggunakan 2 huruf seri di belakang angka pendaftaran.
18
Khusus untuk DKI Jakarta, dapat menggunakan hingga 3 huruf seri di belakang angka pendaftaran.
BAB 7. METODE PENELITIAN Tahapan dari penelitian ini digambar-kan pada Gambar 7.1. Mulai Preprosesing Feature Extraction Normalisasi plat Segmentasi karakter Pembelajaran Pengenalan karakter Selesai Gambar 7.1. Tahap pengenalan plat Preprosesing berfungsi untuk mengkondisikan citra sehingga dapat ditemukan posisi plat mobil dan memisahkan plat mobil dengan latar belakangnya, sehingga citra plat mobil dapat diproses pada tahap selanjutnya. Feature exraction adalah mengambil informasi gambar adalah kasus ini adalah plat dari gambar keseluruhan dan mengubahnya menjadi vektor. Normalisasi plat adalah proses untuk mengubah ukuran plat dijadikan ukuran standart. Jadi meskipun ukuran plat yang ada pada gambar beragam untuk mempermudah proses semua ukuran dinormalisasi menjadi satu ukuran. Segmentasi karakter adalah proses memisahkan karakter per karakter. Tujuan dari proses ini adalah untuk mempermudah pengenalan tiap karakter pada plat. Normalisasi karakter semua karakter yang mempunyai ukuran yang berbeda-beda, distandarisasi ukurannya sehingga didapatkan karakter yang mempunyai ukuran yang sama. Karakter
19
yang sudah dinormalisasi dikenali karakter per karakter dengan menggunakan metode Learning Vector Quantization /LVQ.
7.1. Preprocessing Proses preprocessing terdiri dari: a.
Citra diresize menjadi 0,6 kali dari besar citra semula.
b.
Proses greyscale.
c.
Deteksi Tepi (edge detection).
d.
Menyambung pixel yang mempunyai jarak kurang dari sama dengan 10 pixel.
e.
Menghilangkan noise.
f.
Mengindex area yang mempunyai kemungkinan merupakan objek atau plat nomer.
g.
Mencari luas area yang telah diindex.
h.
Mencari panjang area yang telah diindex.
i.
Mencari tinggi area yang telah diindex.
j.
Mencari perbandingan antara tinggi dan panjang area yang telah diindex.
a. Image diresize menjadi 0,6 kali dari besar image semula. Image diresize menjadi 0,6 dari ukuran semula, dijadikan berukuran 1000 x 600 pixel, hal ini bertujuan untuk mempercepat proses.
Gambar 7.2. Contoh gambar plat nomer yang akan dikenali
20
b.
Proses Greyscale Untuk mengubah warna RGB menjadi greylevel, langkah awal harus mengetahui
warna merah, biru, dan hijau. Pengubahannya adalah dengan menjumlahkan nilai 30% dari warna merah, 59% nilai hijau, dan 11% dari nilai warna biru. Level yang digunakan dapat menggunakan 0,0 sampai 1,0, 0 sampai 255, atau 0% sampai 100%.
Gambar 7.3. Gambar Grayscale c. Deteksi Tepi (edge detection)
Gambar 7.4. Hasil dari proses edge detection sobel Operator Robert sering disebut juga operator silang. Gradien Robert dalam arah-x dan arah-y dihitung dengan pesamaan:
21
R+(x,y) = f (x+1,y+1) – f(x,y)
……………. (7.1)
R-(x,y) = f (x,y+1) – f(x+1,y)
…...................(7.2)
Oprerator R+ adalah hampiran turunan berarah dalam arah 45o, sedangkan R- adalah hampiran turunan berarah dalam arah 135o. F(x,y+1) F(x,y)
F(x+1,y+1)
F(x+1,y)
Gambar 7.5. Operator Silang d.
Menyambung pixel yang mempunyai jarak kurang dari sama dengan 10 pixel. Image diluaskan area sebesar 10 pixel, sehingga pixel yang mempunyai jarak
kurang dari 10 pixel menjadi satu objek. Tujuan dari poses ini adalah untuk menjadikan area plat menjadi satu objek. e.
Menghilangkan noise Dengan menghilangkan luasan yang mempunyai luasan kurang dari 10 pixel,
sehingga luasan yang tidak digunakan akan dibersihkan.
Gambar 7. 6. Urutan proses (a) Gambar asli (b) Gambar setelah diresize 0,6 kali (c) Edge Detection Sobel (d) Gambar yang telah mengalami edge detection pixel yang ada
22
diluaskan hingga 10 pixel (e) Gambar yang telah dihilangkan noisenya (f) Gambar setelah dihilangkan holenya. f.
Menghilangkan hole
g.
Mengindex area yang mempunyai kemungkinan merupakan objek atau plat nomer Kandidat yang merupakan plat diindex untuk dicari kandidat yang terpilih.
h. Mencari luas area yang telah diindex
Gambar 7. 7. Gambar yang telah diindex dan dicari luas area Masing-masing kandidat dicari luasannya, kandidat yang terpilih dicari koordinatnya, dan informasi koordinat digunakan untuk mencrop image yang hanya terdapat informasi plat nomer. 7.2. Feature Exraction
Gambar 7. 8. Gambar plat nomer hitam putih setelah dicrop
23
Gambar 7. 9. Gambar plat nomer RGB setelah dicrop
Gambar 7. 10. Gambar plat nomer greyscale setelah dicrop Tujuan dari proses ini adalah untuk mengekstrak plat nomer dari gambar yang diambil. Output dari proses ini adalah gambar plat nomer yang tepat pada plat nomernya. Feature extraction menggunakan moment, didefinisikan dengan: Mpq = ∫∫R xp yq f(x,y) dxdy
…………..… (7.3)
Dimana N=p+q Range integrasi x є (-1,1) dan y є (-1,1) untuk menghindari divergensi maka dicari pusat koordinat, dimana luasan mempunyai panjang 2a untuk sumbu x dan 2b untuk sumbu y. Momen pusat didefinisikan dengan: Mpq = ∫∫R (x-x)i(y-y)jf(x,y) dxdy Dimana (x,y) adalah pusat dari f(x,y).
………….… (7.4)
24
7.3. Normalisasi Plat
Gambar 7.11. Sesudah Proses Normalisasi Tujuan dari proses ini adalah untuk menormalkan ukuran dari plat nomer. Seluruh image plat nomer dijadikan berukuran 1000 x 600 pixel. 7.4. Segmentasi Karakter Segmentasi karakter yaitu image yang merupakan kandidat diindex dan dicari luasan yang memenuhi syarat.
Gambar 7.12. Segmentasi karakter Proses segmentasi karakter akan menghasilkan karakter per karakter. 7.5. Normalisasi Karakter
Gambar 7.13. Normalisasi karakter
25
Seluruh karakter dinormalisasi sehingga mempunyai ukuran 20 x 10 pixel untuk masing-masing karakter. Metode yang digunakan pada proses normalisasi adalah metode Perbandingan. 7.6. Pengenalan Karakter Pengenalan karakter menggunakan Learning Vector Quantization (LVQ) 7.7. Topologi Learning Vector Quantization (LVQ) Learning Vector Quantization (LVQ) adalah metoda klasifkasi pola
yang
terawasi (supervised). vektor input tersebut akan dikelompokkan dalam kelas yang sama [4]. Jaringan LVQ ini memang mirip dengan jaringan yang telah dikembangkan oleh Prof. Teuvo Kohonen pada tahun 1982. Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vektor-vektor input. Jika dua vektor input mendekati sama, maka lapisan kompetitif akan meletakkan kedua vektor input tersebut ke dalam kelas yang sama. Setelah pembelajaran, lapisan LVQ membagi vektor input dengan penempatan lapisan LVQ ke kelas yang sama sebagai unit ouput yang mempunyai vektor bobot (vektor referensi) terdekat dengan vektor input. Arsitektur jaringan syaraf LVQ pada dasarnya sama dengan
Kohonen Self
Organizing Map (tanpa suatu struktur yang diasumsikan untuk output). Jaringan syaraf tiruan Learning Vector Quantization (LVQ) terdiri dari layer input, layer kompetitif (Layer tersembunyi, hidden layer) dan layer output seperti yang terlihat pada Gambar 7. dengan 6 neuron lapisan input dan 2 neuron pada lapisan output. Masing-masing ouput mempunyai kelas yang telah diketahui. a. Algoritma Learning Vector Quantization (LVQ). Pemrosesan yang terjadi pada setiap neuron adalah mencari jarak antara suatu vektor input terhadap bobot yang bersangkutan (w1 dan w2) [4]. Bobot w1 adalah vektor yang menghubungkan setiap neuron pada lapisan input ke neuron pertaman pada lapisan output, sedangkan w2 adalah vektor bobot yang menghubungkan setiap neuron pada lapisan input ke neuron kedua pada lapisan output.
Kemudian fungsi aktifasi F1 akan
memetakan Y_in1 ke y1 = 1 apabila |x - w1| < |x - w2|, dan y1 = 0 jika sebaliknya |x -
26
w1| > |x - w2|. Demikian pula dengan F2 akan memetakan Y_in2 ke y2 = 1 apabila |x – w2| < |x – w1|, dan y2 = 0 jika sebaliknya |x – w2| > |x – w1|.
X1
y_in
|| x – w1 ||
X2
y1
F1
1
X3
X4
y2
y_in
|| x – w1 ||
X5
F2
2
X6
(a) Arsitektur Jaringan LVQ (6 input dan 2 cluster)
Input
Competitive Layer
Linear Layer
IW1,1 a2 = y
S1xR p Rx 1
|| ndist 1 S x1 ||
n2
a1
n1
C
1
LW2,1
S x1
ni1 = - || iIW1,1 – p || 1 a = compet(n1)
S2x1
S2xS1 S1
R
S2x1 1 S2
a2 = purelin(LW2,1 a1)
(b) Arsitektur LVQ Gambar 7.14. Arsitektur Jaringan Syaraf Tiruan LVQ Algoritma untuk LVQ adalah dengan mencari output yang terdekat dengan vektor input . Saat hampir berakhir, jika x dan wc, termasuk untuk kelas yang sama,
27
kemudian memindahkan bobot akhir ke vektor input baru; jika x dan wc termasuk kelas yang berbeda kemudian memindahkan bobot yang jauh dari vektor input. Penetapan yang digunakan adalah : x
= Vektor pembelajaran
T
= Katagori atau kelas tepat untuk vektor pembelajaran
wj
= Vektor bobot untuk output ke-j (w1j, ...., wij,.....,wnj)
Cj
= Kategori atau kelas yang ditunjukkan oleh output ke–j
||x – wj||
= Jarak Eucladian antara vektor input dan (vektor bobot untuk) output ke-j
Algoritmanya adalah : 1. Menetapkan vektor referensi dan learning rate, (0), bobot (w), maksimum epoh, error minimum yang diharapkan 2. Untuk masing-masing pembelajaran vektor training x melakukan langkah ke 3 dan 4. 3. Mencari J dimana ||x – wJ| adalah minimum 4. Update wJ dengan cara : Jika T = CJ kemudian : wJ(baru) = wJ(lama) + [x – wJ(lama)] Jika T ≠ CJ kemudian : wJ(baru) = wJ(lama) - [x – wJ(lama)] 5. Mengurangi learning rate Setelah proses pembelajaran LVQ maka langkah selanjutnya adalah proses pengambilan keputusan dari hasil output LVQ. Pengambilan keputusan ini dilakukan hanya pada proses mapping (pengenalan). Pada dasarnya, tahapan ini hanya mencari jarak terdekat dengan perhitungan euclidian (jarak terdekat).
28
7.8. Sistem pengenalan Plat Nomer Mobil Image Processing Kamera
System Input
Grey Level Robert Operation Radon Transform
Artificial Intelligence
Plate Normalizatio n Character Segmentation
LVQ
Character Normalizatio n
Feature Extraction Plate Normalizatio n Plate Normalizatio n
Gambar 7.15. Blok Diagram Skema kerja sistem secara keseluruhan
Proses Klasifikasi : 1. Inisialisasi bobot input Wij
MinPj MaxPi 2
… (7.5)
2. Penghitungan MaxPi dan MinPi dari tiap deret Input, pada tahap ini lebar input adalah 20 dan panjang deret input adalah 20 pixel. 3. Inisialisasi bobot bias dengan rumus :
bi e [1 Ln (1 / K )] Dengan bi K
… (7.6)
: bobot bias ke neuron ke i : jumlah kelas
4. Pengesetan parameter learning rate atau α 5. Pengesetan nilai maksimum epoh (Max_Epoh) 6. Nilai iterasi dilakukan sebanyak 1000 kali 7. Pemilihan nilai acak dari range input image berukuran : 20 x 20 pixel 8. Menghitung jarak antara data acak tadi (P z) ke setiap bobot input ke – i (Di) dengan rumus :
Di
m
(Wij Pzj)
2
... (7.7)
j 1
9. Menghitung a, dengan persamaan : ai = - Di + bi
... (7.8)
29
10. Menghitung nilai ai terbesar dan kemudian mengeset output neuron ke – i (Yi)
1, i idx dengan rumus : Yi = 0, i idx
... (7.9)
11. Pada langkah berikutnya adalah dengan Update bobot yang ke neuron ke idx : W Idx-j = Widx-j + α (Pzj – Widx-j)
.... (7. 10)
12. Tahapan yang terakhir adalah update bobot bias, yang dilakukan dengan rumus : (i)
: c(i) = (1-α) е (1-Ln(b(i))) + α y(i)
... (7.11)
(ii)
: b(i) = e (1-Ln(c(i)))
... (7.12)
Tahapan-tahapan kerja di atas akan diulang sebanyak jumlah iterasinya yang telah ditentukan terlebih dulu.
BAB 8. ANALISA DATA DAN PEMBAHASAN 8. 1. Preprosessing Proses preprosessing terdiri dari: Image diresize menjadi 0,6 kali dari besar image semula, proses greyscale, edge detection, menyambung pixel yang mempunyai jarak kurang dari sama dengan 10 pixel, menghilangkan noise, mengindex area yang mempunyai kemungkinan merupakan objek atau plat nomer, mencari luas area yang telah diindex, mencari panjang area yang telah diindex, mencari tinggi area yang telah diindex dan mencari perbandingan antara tinggi dan panjang area yang telah diindex.
Gambar 8.1. Image diresize menjadi 0,1 sampai 1 kali dari besar image semula.
30
Hasil dari Percobaan yang telah dilakukan
dengan urutan proses yang berbeda
dijelaskan pada Tabel 8.1. Tahapan proses 1 adalah : -
Resize 0,4 kali dari image semula.
-
Dilasi square 15 pixel.
-
Greyscale.
-
Threshold 0,5.
-
Imclose 4 pixel.
Tahapan proses 2 adalah: -
Resize 0,5 dari ukuran semula.
-
Greyscale
-
Edge Detection Sobel
-
Imclose strel, 7 pixel
-
Mennghilangkan noize yang mempunyai ukuran lebih kecil sama dengan 150 pixel.
-
Imclose 2 pixel.
-
Imfill hole
-
Mencari garis tepi
Tahapan proses 3: -
Resize 0,2 kali.
-
Greyscale.
-
Edge Detection Sobel.
-
Imclose 7 pixel.
-
Menghilangkan noise 150 pixel.
-
Imclose 2 pixel.
-
Imfill hole.
-
Bwboundaries
Tahapan proses 4: -
Resize 0,2 kali
31
-
Edge Detection Sobel
-
Imclose 7 pixel
-
Menghilangkan noise 150 pixel
-
Imclose 2 pixel
-
Imfill hole
Tahapan proses 5: -
Resize 0,5 kali
-
Greyscale
-
Edge Detection Sobel
-
Imclose 7 pixel
-
Menghilangkan noise 150 pixel.
-
Imclose 2 pixel
-
Imfill
Tahapan proses 6: -
Resize 0,8
-
Greyscale
-
Edge Detection Sobel
-
Menyambung pixel yang berjarak 10 pixel (imclose)
-
Imfill
-
Bwboundaries
-
Mencari luas tiap area
Tahapan proses 7: -
Resize 0,6
-
Greyscale
-
Edge Detection Sobel
-
Menyambung pixel yang berjarak 10 pixel (imclose)
-
Imfill
-
Bwboundaries
-
Mencari luas tiap area
32
Tabel 8.1.Hasil dari Percobaan yang telah dilakukan dengan 6 macam urutan proses Gambar
1
2
3
4
5
6
7
1
v
v
v
v
v
v
v
2
v
v
v
v
v
v
v
3
x
v
x
x
v
x
x
4
v
v
x
v
v
v
v
5
v
x
v
v
v
v
v
6
x
v
v
v
v
v
v
7
x
x
x
v
x
v
v
8
x
v
x
x
v
v
v
9
x
x
v
v
x
v
v
10
x
v
x
x
v
v
v
11
x
v
x
x
v
v
v
12
v
v
v
v
v
v
v
13
x
v
v
v
v
v
v
14
x
v
v
v
v
v
v
15
x
x
x
x
x
v
v
16
x
x
x
x
x
v
v
17
x
x
x
x
x
v
v
18
x
x
x
x
v
x
x
19
v
x
x
x
x
v
v
20
x
v
v
v
v
v
v
21
v
x
x
x
x
v
v
22
x
x
x
x
v
v
v
23
x
x
v
v
v
v
v
24
v
v
v
v
v
v
v
25
v
x
x
v
v
v
v
26
x
x
v
v
x
v
v
27
x
x
x
x
x
v
v
No
33
Gambar
1
2
3
4
5
6
7
28
x
x
x
x
x
v
v
29
x
x
x
x
x
v
v
30
x
x
x
x
v
v
v
31
x
x
x
x
v
v
v
32
x
v
v
x
x
v
v
33
v
x
v
v
v
v
v
34
x
x
v
v
v
v
v
35
v
x
v
v
x
v
v
36
v
x
v
v
x
v
v
37
x
x
x
x
x
v
v
38
x
x
x
x
v
v
v
12
15
17
20
23
36
36
No
Jumlah benar Akurasi
31,58% 39,47% 47,74% 52,63% 60,53% 94,74% 94,74%
Proses 6 dan 7 mempunyai akurasi yang sama, tetapi tahap 7 memerlukan waktu yang lebih singkat daripada proses 6. Hal ini dikarenakan jumlah pixel pada Proses 7 ¾ lebih sedikit daripada Proses 6 sehingga pixel yang yang diproses ¾ lebih sedikit daripada Proses 6. 8. 2. Segmentasi Plat Nomer Beberapa cara yang dapat digunakan untuk mensegmentasi plat nomer adalah: -
Filter Warna
-
Hough Transform
-
Menggunakan cara isolasi area kandidat
Filter Warna Warna Tanda Nomor Kendaraan Bermotor ditetapkan oleh Pemerintah Indonesia telah dijelaskan pada Bagian 2. 3. c., yaitu warna dasar hitam dengan tulisan berwarna
34
putih, warna dasar kuning dengan tulisan berwarna hitam, warna dasar merah dengan tulisan berwarna putih, dan warna dasar Putih dengan tulisan berwarna hitam. Menurut penelitian oleh Johanan Erez bila mensegmentasi plat nomer menggunakan filter warna bila warna plat dan mobil sama maka masih mempunyai kemungkinan gagal. Metode ini kurang tepat diterapkan di Indonesia sebab warna plat Indonesia beragam dan masih terdapat banyak kasus warna plat dan mobilnya sama. Gambar 8. 2 adalah contoh gambar palat nomer dimana warna plat dan mobilnya sama.
(a)
(b)
(c)
Gambar 8. 2. Plat warna hitam pada mobil berwarna hitam Hough Transform Plat nomer mobil Indonesia tidak diberikan garis khusus untuk membatasi area plat nomer. Hal ini menyebabkan bila image dikenai proses Hough Transform akan memberikan garis tertentu saja dan tidak dapat mewakili garis yang mengelilingi area plat sehingga cara ini kurang tepat bila diterapkan pada plat nomer Indonesia.
Gambar 8. 3. Hough Transform
35
Gambar 8. 4. Hough Transform Gambar 8. 3 adalah contoh dari gambar plat nomer yang dikenai proses Hough Transform. Garis merah pada Gambar 8. 4. adalah garis yang dibentuk dari proses Hough Transform. Garis merah tidak melingkupi area plat, sehingga proses Hough Transform tidak dapat mencari area plat secara otomatis. Menggunakan cara isolasi area kandidat plat nomer Hasil preprosessing diindex sehingga dihasilkan image seperti pada Gambar 8. 5. Dari Gambar 8. 5. dikenai proses mencari luasan yang merupakan kandidat dari plat nomer. Hasil dari proses ini adalah ditemukan koordinat area plat yang akhirnya dijadikan informasi untuk cropping plat nomer.
Gambar 8. 5. Area kandidat plat nomer yang diindex Hasil dari cropping dari Gambar 8. 5. adalah Gambar 8. 6. Bila informasi koordinat dari proses index digunakan untuk cropping gambar RGB dan greyscale plat Gambar 8. 3 dihasilkan Gambar 8. 7 dan Gambar 8. 8.
36
Gambar 8. 6. Area kandidat plat nomer yang terpilih Gambar 8. 9 adalah hasil dari cropping gambar plat yang telah dithreshold. Gambar ini yang selanjutnya akan disegmentasi sehingga dihasilkan karakter tunggal.
Gambar 8. 7. Crop gambar RGB
Gambar 8. 8. Crop gambar grayscale
Gambar 8. 9. Crop gambar threshold Tabel 8.2.Hasil dari Percobaan yang telah dilakukan dengan cara isolasi area kandidat plat nomer Gambar No
Berhasil
1
v
2
v
3
x
4
v
5
v
6
v
37
Gambar No
Berhasil
7
v
8
v
9
v
10
v
11
v
12
v
13
v
14
v
15
v
16
v
17
v
18
x
19
v
20
v
21
v
22
v
23
v
24
v
25
v
26
v
27
v
28
v
29
v
30
v
31
v
32
v
33
v
34
v
35
x
36
v
38
Gambar No
Berhasil
37
v
38
v
Jumlah benar
35
Akurasi
92,11%
Keterangan: v=berhasil, x= tidak berhasil. Dengan menggunakan metode ini tingkat keberhasilan mencari area plat 92,11%. Plat yang dapat dideteksi seluruh warna plat yang telah ditetapkan oleh Pemerintah Indonesia. 8.3. Normalisasi Plat Nomer Normalisasi plat digunakan metode perbandingan. Ukuran plat yang telah dicrop mempunyai ukuran yang beraneka ragam sehingga ukuran harus dinormalisasi agar dihasilkan ukuran plat yang standart 1000 x 600 pixel. Gambar 8.10 adalah contoh dari hasil normalisasi plat.
Gambar 8. 10. Normalisasi plat nomer Ukuran hasil cropping adalah (gx,gy) akan dijadikan ukuran plat yang standart 300 x 1000 pixel, sehingga mempunya skala: Skalax = 300/gx Skalay = 1000/gy Sehingga pembesaran plat normalisasi adalah: gx’= gx x skalax gy’ = gy x skalay
39
Ukuran standart dari plat yang telah dinormalisasi adalah (gx’,gy’) atau 300 x 1000 pixel 8. 4. Segmentasi Karakter pada Plat Nomer Metode untuk mensegmentasi karakter plat nomer adalah: -
Coulomb Sum Grap dan Line Sum Graph
-
Indeks kandidat karakter
Coulomb Sum Grap dan Line Sum Graph Gambar 8.11 adalah Line Sum Graph dari plat dan Gambar 8.12 adalah Coulomb Sum Graph dari Gambar 8.9. Metode ini tepat diterapkan bila pada plat nomer hanya terdapat informasi karakter plat. Plat nomer Indonesia selain mengandung informasi karakter plat juga terdapat informasi masa berlaku plat pada bagian bawah nomer plat sehingga bila diterapkan metode coulomb sum graph dan line sum graph kurang tepat.
Gambar 8. 11. Line Sum Graph
Gambar 8. 12. Crop Coulomb Sum Graph
40
Gambar 8. 13. Noise bila menggunakan metode coulomb sum graph dan line sum graph Elips merah dan kotak biru pada Gambar 8. 13 adalah noise bila menggunakan metode coulomb sum graph dan line sum graph sebab jedah antar karakter bisa kabur. Hal ini berakibat potongan karakter plat menjadi tidak tepat. Indeks kandidat karakter Gambar 8. 13 tiap area diindeks dan dicari luas dan perbandingan lebar dan panjangnya. Dari proses statistik perbandingan lebar dan panjang karakter adalah 1 sampai 5 sehingga tiap area kandidat difilter. Hasil dari filter di filter kembali dengan menggunakan luasan yang memenuhi standart. Luasan yang memenuhi standar adalah 2500 pixel sampai 15000 pixel. Gambar 8. 14 adalah contoh dari proses segmentasi karakter dengan menggunakan metodek index dan filter morphology.
Gambar 8. 14. Segmentasi Karakter 8. 5. Normalisasi Karakter Seluruh karakter hasil dari segmentasi dinormalisasi menjadi ukuran 10 x 20 pixel. Hal ini dilakukan untuk mempermudah pengenalan karakter.
41
Gambar 8. 15. Crop gambar threshold Normalisasi mempunya skala: Skalaxi = 300/gxi Skalayi = 1000/gyi Sehingga pembesaran plat normalisasi adalah: gxi’= gxi x skalax gyi’ = gyi x skalay
Ukuran standart dari plat yang telah dinormalisasi adalah (gxi’,gyi’) atau 10 x 20 pixel
BAB 9. KESIMPULAN DAN SARAN 9.1. KESIMPULAN 1. Keberhasilan segmentasi plat nomer mobil 98,75 %, 2. Tingkat kerberhasilan segmentasi karakter 95,789 %, 3. Ttingkat keberhasilan pembacaan karakter menggunakan Learning Vector Quantization (LVQ) bervariasi bergantung pada jenis karakternya. 4. Teknik pengambilan citra dan kondisi plat nomer sangat mempengaruhi tingkat keakurasian dalam pembacaan karakter pada plat. 9.2. SARAN 1. Dikembangkan metode image processing baru untuk mendeteksi secara akurat (100 %) posisi plat nomer mobil. 2. Perlunya menggunakan Learning supervise. 3. Perlu disosialisasikan penggunaan plat nomer kendaraan yang standart sehingga membantu pembacaan plat nomer secara otomatis
42
DAFTAR PUSTAKA [1] Acosta. Experiments in Image Segmentation for Automatic US Licence Plate Recognition. Virginia Polytechnic Institute and State University. 2004. [2] Anifah, Purnomo Heri, Character Segmentation for License Plate of Indonesian Car Using Indexing Method and Morfology Filter , The 4th International Conference TSSA 2007, 2007. [3] Berlangga, Besada, dkk. Optimizing Statistical Character Recognition Using Evolutionary Strategies to Recognize Aircraft Tail Number. EURASIP Journal on Applied Signal Processing. 2004. [4] Kohonen, Self Organizing Maps, Springer Verlag Berlin, 2001. [5] Munir, Rinaldi. Pengolahan Citra Digital dengan Pendekatan Algoritmik. Penerbit Informatika. 2004. [6] Mori, Nishihida, Yamada. Optical Character Recognition. John Willey and Son. 1999. [7] Ozbay, Ercelebi.
Automatic Vechicle Identification by Plat Recognition.
Transactions on Engineering, Computing and Technology V9 November ISSN 1305-5313. 2005. [8] Parker, Feder. An Approach to Licence Plate Recognition. University of Calgary. 1996. [9] Resmana Lim, Lukman Vendy W., Kartika Gunadi, Sistem Pengenalan Plat Nomor Mobil Dengan Metode Principal Components Analysis, Jurnal Teknik Elektro Universitas Kristen Petra Mar 2003 / Vol 3 / No
[10] Ron, Erez. A Real-Time Vechicle Licence Plate Recognition (LPR) System. Ollendorf Research Center. 2002. [11] www. Wikipedia.org [12] Wibawa, Pengolahan Citra Iris dengan Menggunakan SOM untuk Mendeteksi secara Dini Gangguan pada Organ Pankreas sebagai Penyebab Timbulnya Penyakit Diabetes Melitus. ITS Surabaya. 2005
43
PERSONALIA PENELITIAN Ketua Peneliti : 1. Nama Lengkap
: Sri Heranurweni, ST, MT
2. Fungioonal / Golongan : Asisten Ahli/ IIIa 3. NIS
: 06555700310070
4. Fakultas / Prog. Studi
: Teknik / Teknik Elektro
5. Bidang Keahlian
: Jaringan Cerdas Multimedia
Anggota I
:
1.
Nama Lengkap
: Andi Kurniawan Nugroho, ST, MT
2.
Pangkat /golongan
: Lektor/ IIIb
3.
NIS
: 06557003102076
4.
Fakultas / Prog. Studi
: Teknik / Teknik Elektro
5.
Bidang Keahlian
: Elektronika
LAMPIRAN
LISTING PROGRAM close all; clc; ygdibaca='E:\Hera\hera\datatss\55.JPG'; asli=imread(ygdibaca); ukuran = size(asli); %---PROSES PREPROSESSING--%Resize gambar gkecil=imresize(asli,0.6); %Grayscale gambar ggrey=rgb2gray(gkecil); %edge detection=sobel BW1 = edge(ggrey,'sobel');
44 %Menggandengkan pixel yang letaknya kurang dari 10 pixel se = strel('disk',10); closeBW = imclose(BW1,se); %Plotting gambar figure; subplot(2,1,1); imshow(gkecil); title('Original Image'); subplot(2,1,2); imshow(ggrey); title('Gambar resize'); % Menghilangkan noise (10 pixel) bwvv = bwareaopen(closeBW,10); %Menggandengkan pixel yang letaknya kurang dari 2 pixel se = strel('disk',2); bwbb = imclose(bwvv,se); % Menghilangkan hole/lubang area yang tertutup bw = imfill(bwbb,'holes'); %Mencari garis pinggir% [B,L] = bwboundaries(bw,'noholes'); maksluas=0; for k=1:length(B) boundary = B{k}; end stats = regionprops(L,'Area','Centroid','BoundingBox','Orientation'); threshold = 0.94; % loop boundaries for k = 1:length(B) % Mencari koordinat (X,Y)label 'k' boundary = B{k}; % object's perimeter delta_sq = diff(boundary).^2; perimeter = sum(sqrt(sum(delta_sq,2))); % Mencari luas area area = stats(k).Area; % Menghitung roundness metric metric = 4*pi*area/perimeter^2; % Menampilkan hasil areatulis = sprintf('%2.2f',area); if area>maksluas maksluas=area; end % Menandai
45 if metric > threshold centroid = stats(k).Centroid; %plot(centroid(1),centroid(2),'ko'); end end %Mencari luas area yang terluas for k = 1:length(B) area=stats(k).Area; if maksluas==area lihat=stats(k).BoundingBox; %derajat=stats(k).Orientation; end end %Cropping gambar%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% I2 I3 I4 I5
= = = =
imcrop(bw,lihat); imcrop(gkecil,lihat); imcrop(ggrey,lihat); imcrop(BW1,lihat);
bw2=imresize(I3,[600 1000],'bilinear'); I4=imresize(I4,[600 1000],'bilinear'); cuplik = imcrop(I4,[250 100 200 180]); cuplik = im2bw(cuplik,0.65); figure; imshow(cuplik); cuplik=reshape(cuplik,1,[]); cuplik = mean(cuplik); cuplik if cuplik>=0.65 I4=imcomplement(I4); figure; imshow(I4); end %xxxxxxxxxxxxx----------cari warna apa ------------xxxxxxxxxxxxx bwim1=adaptivethreshold(I4,30,0.01,0); balik =imcomplement(bwim1); B = bwareaopen(balik,2000); % B = bwareaopen(bwim1,2000); figure, imshow(B); %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx %Mencari garis pinggir% [BB,LL] = bwboundaries(B,'holes'); maksluas=0; for kk=1:length(BB) boundary = BB{kk}; end stats = regionprops(LL,'Area','Centroid','BoundingBox','Orientation'); threshold = 0.94;
46
% loop boundaries for kk = 1:length(BB) % Mencari koordinat (X,Y)label 'k' boundary = BB{kk}; % object's perimeter delta_sq = diff(boundary).^2; perimeter = sum(sqrt(sum(delta_sq,2))); % Mencari luas area area = stats(kk).Area; % Menghitung roundness metric metric = 4*pi*area/perimeter^2; % Menampilkan hasil % metric_string = sprintf('%2.2f',metric); areatulis = sprintf('%2.2f',area); if area>maksluas maksluas=area; end % Menandai if metric > threshold centroid = stats(kk).Centroid; end end Matrik=[]; n=1; for kk = 1:length(BB) area=stats(kk).Area; if area>=1000 if area<=23000 lihat0=stats(kk).BoundingBox; I2x = imcrop(B,lihat0); [tinggi,panjang]=size(I2x); panjang tinggi perb=tinggi/panjang; if tinggi>=130 if perb>=0.85 if perb<=6 % subplot(1,8,n);imshow(I2x);title(area); Matrik=[Matrik tinggi]; n=n+1; end end end end end end Matrik sering=median(Matrik); stdse=std(Matrik);
47 sering stdse %Mencari perbandingan tinggi dan panjang figure n=1; for kk = 1:length(BB) area=stats(kk).Area; %if maksluas>=2500 if area>=1000 if area<=22500 lihat0=stats(kk).BoundingBox; I2x = imcrop(B,lihat0); [tinggi,panjang]=size(I2x); if tinggi>=130 %panjang tinggi perb=tinggi/panjang; if perb>=0.5 if perb<=10 if tinggi>=sering-(stdse+10) if tinggi<=sering+(stdse+10) I2x=imclose (I2x,strel('diamond',1)); I2xre = imresize(I2x,[20 10],'bilinear'); I2xre = im2bw(I2xre,0.3); %I2xre = im2bw(I2xre,0.1); subplot(1,9,n);imshow(I2xre); %---------SOM----------load('E:\Hera\hera\datatss\work\hasil1000baru','w1','w2','w3','w4','w5' ,'w6','w7','w8','w9','w10','w11','w12','w13','w14','w15','w16','w17','w 18','w19','w20','w21','w22','w23','w24','w25','w26','w27','w28','w29',' w30','w31','w32','w33','w34','w35','w36'); %-------coba data-------matrikdi=reshape(I2xre,1,200); %matrikdi %--------cari jarak yang terpendek---------crbobota=abs(matrikdi-w1); crbobotb=abs(matrikdi-w2); crbobotc=abs(matrikdi-w3); crbobotd=abs(matrikdi-w4); crbobote=abs(matrikdi-w5); crbobotf=abs(matrikdi-w6); crbobotg=abs(matrikdi-w7); crboboth=abs(matrikdi-w8); crboboti=abs(matrikdi-w9); crbobotj=abs(matrikdi-w10); crbobotk=abs(matrikdi-w11); crbobotl=abs(matrikdi-w12); crbobotm=abs(matrikdi-w13); crbobotn=abs(matrikdi-w14); crboboto=abs(matrikdi-w15); crbobotp=abs(matrikdi-w16); crbobotq=abs(matrikdi-w17); crbobotr=abs(matrikdi-w18); crbobots=abs(matrikdi-w19); crbobott=abs(matrikdi-w20);
48 crbobotu=abs(matrikdi-w21); crbobotv=abs(matrikdi-w22); crbobotw=abs(matrikdi-w23); crbobotx=abs(matrikdi-w24); crboboty=abs(matrikdi-w25); crbobotz=abs(matrikdi-w26); crbobot0=abs(matrikdi-w27); crbobot1=abs(matrikdi-w28); crbobot2=abs(matrikdi-w29); crbobot3=abs(matrikdi-w30); crbobot4=abs(matrikdi-w31); crbobot5=abs(matrikdi-w32); crbobot6=abs(matrikdi-w33); crbobot7=abs(matrikdi-w34); crbobot8=abs(matrikdi-w35); crbobot9=abs(matrikdi-w36); juma=sum(crbobota); jumb=sum(crbobotb); jumc=sum(crbobotc); jumd=sum(crbobotd); jume=sum(crbobote); jumf=sum(crbobotf); jumg=sum(crbobotg); jumh=sum(crboboth); jumi=sum(crboboti); jumj=sum(crbobotj); jumk=sum(crbobotk); juml=sum(crbobotl); jumm=sum(crbobotm); jumn=sum(crbobotn); jumo=sum(crboboto); jump=sum(crbobotp); jumq=sum(crbobotq); jumr=sum(crbobotr); jums=sum(crbobots); jumt=sum(crbobott); jumu=sum(crbobotu); jumv=sum(crbobotv); jumw=sum(crbobotw); jumx=sum(crbobotx); jumy=sum(crboboty); jumz=sum(crbobotz); jum0=sum(crbobot0); jum1=sum(crbobot1); jum2=sum(crbobot2); jum3=sum(crbobot3); jum4=sum(crbobot4); jum5=sum(crbobot5); jum6=sum(crbobot6); jum7=sum(crbobot7); jum8=sum(crbobot8); jum9=sum(crbobot9); matrikjum=[juma jumb jumc jumd jume jumf jumg jumh jumi jumj jumk juml jumm jumn jumo jump jumq jumr jums jumt jumu jumv jumw jumx jumy jumz jum0 jum1 jum2 jum3 jum4 jum5 jum6 jum7 jum8 jum9]; [bobotmin,vek]=min(matrikjum);
49 matrikjum bobotmin vek if (vek==1) huruf='A'; elseif (vek==2) huruf='B'; elseif (vek==3) huruf='C'; elseif (vek==4) huruf='D'; elseif (vek==5) huruf='E'; elseif (vek==6) huruf='F'; elseif (vek==7) huruf='G'; elseif (vek==8) huruf='H'; elseif (vek==9) huruf='I'; elseif (vek==10) huruf='J'; elseif (vek==11) huruf='K'; elseif (vek==12) huruf='L'; elseif (vek==13) huruf='M'; elseif (vek==14) huruf='N'; elseif (vek==15) huruf='O'; elseif (vek==16) huruf='P'; elseif (vek==17) huruf='Q'; elseif (vek==18) huruf='R'; elseif (vek==19) huruf='S'; elseif (vek==20) huruf='T'; elseif (vek==21) huruf='U'; elseif (vek==22) huruf='V'; elseif (vek==23) huruf='W'; elseif (vek==24) huruf='X'; elseif (vek==25) huruf='Y'; elseif (vek==26) huruf='Z'; elseif (vek==27) huruf='0'; elseif (vek==28) huruf='1';
50 elseif (vek==29) huruf='2'; elseif (vek==30) huruf='3'; elseif (vek==31) huruf='4'; elseif (vek==32) huruf='5'; elseif (vek==33) huruf='6'; elseif (vek==34) huruf='7'; elseif (vek==35) huruf='8'; else (vek==36) huruf='9'; end huruf %---sdh som--title(huruf); n=n+1; end end end end end end end end
51
HASIL UJI LVQ
52
NO
1.
2.
3.
4.
5.
6.
7.
8.
IMAGE
SEGMENTASI PLAT
HASIL LVQ
53
9.
10.
11.
12.
13.
14.
15.
16.
54
17.
18.
19.
20.
21.
22.
23.
24.
55
25.
26.
27.
28.
29.
30.
31.
32.
56
33.
34.
35.
36.
37.
38.
29.
57
40.
41.
42.
43.
44.
45.
46.
47.
58
48.
49.
50.
51.
52.
53.
54.
59
55.
56.
57.
58
59
60
61
62
60
63
64
65
66
67
68