Pengembangan Prototipe Aplikasi untuk Model Pengenalan Plat Kendaraan Bermotor Indonesia
LAPORAN TUGAS AKHIR
oleh: Felix Arya / 13502039
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2007
i
LEMBAR PENGESAHAN
Pengembangan Prototipe Aplikasi untuk Model Pengenalan Plat Kendaraan Bermotor Indonesia
Oleh : Felix Arya 13502039
Telah disetujui dan disahkan sebagai Laporan Tugas Akhir Program Studi Strata-1 Departemen Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung
Bandung, 22 Juni 2007
Pembimbing I
Dr. Ir. Iping Supriana S NIP. 130796173
ii
RINGKASAN
Tugas akhir ini merupakan pengembangan sebuah prototipe perangkat lunak untuk keperluan pengenalan plat kendaraan bermotor Indonesia. Dari prototipe yang dibangun ini, diharapkan dapat dikembangkan sebuah perangkat lunak pengenalan plat kendaraan bermotor yang dapat digunakan dalam kehidupan nyata. Pengembangan prototipe perangkat lunak ini dilakukan dengan menggunakan Borland Delphi 7. Pengenalan plat dalam pengerjaan tugas akhir ini dilakukan dengan menggunakan metode yang secara garis besar merupakan rangkuman dari beberapa metode yang pernah ada, disesuaikan dengan karakteristik plat Indonesia. Pembacaan karakter dalam plat dilakukan dengan menggunakan sebuah Artificial Neural Network dengan metode backpropagation. Hasil akhir dari tugas akhir ini berupa sebuah prototipe dengan akurasi pengenalan cukup tinggi, yaitu 78,9% berdasar hasil pengujian. Walaupun demikian, prototipe yang dihasilkan juga masih rentan terhadap kondisi abnormal dan masih memerlukan banyak intervensi pengguna untuk mendapatkan hasil optimal. Secara keseluruhan, walaupun prototipe yang dibangun belum mencapai hasil yang cukup untuk penggunaan di kehidupan nyata, tapi prototipe ini merupakan dasar yang baik untuk pengembangan lebih lanjut terhadap sebuah aplikasi pengenalan plat kendaraan bermotor. Kata Kunci : pengenalan plat, kendaraan bermotor, neural network, backpropagation
iii
KATA PENGANTAR
Tugas akhir ini disusun untuk menyediakan sebuah prototipe untuk perangkat lunak pengenalan plat kendaraan bermotor Indonesia. Metode-metode yang terdapat di dalamnya merupakan rangkuman dari berbagai metode yang sekiranya dapat bekerja dengan baik dalam pengenalan spesifik terhadap plat kendaraan bermotor Indonesia. Dalam kesempatan ini, penulis ingin mengucapkan terima kasih kepada pihak-pihak di bawah ini : 1. Tuhan Yang Maha Esa. Tanpa bimbingan-Nya semua ini tidak akan terwujud. 2. Bapak Iping Supriana selaku dosen pembimbing yang telah banyak sekali membantu penulis, baik dalam pengerjaan TA ini maupun dalam hal-hal lain. 3. Ibu Nur Ulfa Maulidevi dan Bapak Rinaldi Munir selaku penguji, atas kesediaannya menjadi penguji TA dan atas masukan-masukannya. 4. Bapak Rila Mandala selaku dosen wali atas bantuannya dalam masalahmasalah perkuliahan. 5. Keluarga, terutama sekali Ibu, untuk segalanya. 6. Teman-teman Teknik Informatika ITB atas dukungan baik moral maupun teknis, terutama angkatan 2002 yang masih berada di ITB. 7. Seluruh staf Teknik Informatika ITB atas segala bantuannya dalam perkuliahan dan penyelenggaraan tugas akhir. 8. Ivan, Freddy, Peter, Salma, dan Dhamma untuk segala masukan, diskusi, dan bantuan dokumentasi serta teknis pemrograman. 9. Segenap warga Lab GAIB untuk kerja samanya sepanjang pengerjaan TA ini. 10. Teman-teman di Unit Kebudayaan Jepang ITB atas dukungan moralnya. 11. Rahadian Yusuf , Nathalia Noor, Cipto Adiguno, Gerry Santosa, dan temanteman CE lain, juga atas dukungan moral dan spiritualnya. 12. Florence, Thomas, Monica, dan teman-teman lain yang telah memberikan berbagai bantuan dalam pengerjaan TA ini. 13. Dan pihak-pihak lain yang tak bisa disebutkan satu per satu oleh penulis. Terima kasih.
iv
Dengan selesainya Tugas Akhir ini, penulis mengharapkan adanya pengembangan sebuah perangkat lunak pengenalan plat yang bisa digunakan dalam kehidupan nyata. Penggunaan perangkat tersebut diharapkan dapat meningkatkan kualitas layanan jalan raya dan parkir di Indonesia. Hasil prototipe dari pengerjaan TA ini jelas masih jauh dari sempurna, demikian juga dalam langkah-langkah pengembangan yang dilakukan dan penyusunan dokumen ini. Apabila ada masukan atau kritik terhadap prototipe hasil, ataupun pengerjaan TA ini secara keseluruhan, penulis akan menerima dengan senang hati. Sekian kata-kata dari penulis. Apabila dalam pembuatan Tugas Akhir ini, ada pihakpihak yang merasa tersinggung, penulis menyampaikan maaf.
Bandung, 5 Juni 2007
Penulis
v
DAFTAR ISI LEMBAR PENGESAHAN ................................................................................................................ ii RINGKASAN .................................................................................................................................... iii KATA PENGANTAR ........................................................................................................................iv DAFTAR ISI .......................................................................................................................................vi DAFTAR GAMBAR ....................................................................................................................... viii BAB I................................................................................................................................................. I-1 1.1 Latar Belakang.................................................................................................................... I-1 1.2 Rumusan Masalah............................................................................................................... I-2 1.3 Tujuan ................................................................................................................................. I-3 1.4 Batasan Masalah ................................................................................................................. I-3 1.5 Metodologi.......................................................................................................................... I-4 1.6 Sistematika Pembahasan .................................................................................................... I-5 BAB II ..............................................................................................................................................II-1 2.1 Praprosesing Citra..............................................................................................................II-1 2.2 Optical Character Recognition ..........................................................................................II-2 2.2.1 Backpropagation Neural Network ...........................................................................II-2 2.3 License Plate Recognition .................................................................................................II-5 BAB III ........................................................................................................................................... III-1 3.1 Analisis Metode ............................................................................................................... III-1 3.2 Analisis Perangkat Lunak................................................................................................ III-6 3.2.1 Masukan Sistem ..................................................................................................... III-6 3.2.2 Proses yang Terjadi di dalam Sistem..................................................................... III-6 3.2.3 Keluaran Sistem ..................................................................................................... III-8 3.2.4 Diagram Use Case Perangkat Lunak..................................................................... III-8 3.2.5 Kebutuhan Perangkat Lunak.................................................................................. III-9 BAB IV........................................................................................................................................... IV-1 4.1 Perancangan Perangkat Lunak ........................................................................................ IV-1 4.1.1 Pembagian Paket Perangkat Lunak ....................................................................... IV-1 4.1.2 Arsitektur Perangkat Lunak................................................................................... IV-2 4.2 Implementasi Paket.......................................................................................................... IV-3 4.2.1 Paket Praprosesing ................................................................................................. IV-3 4.2.2 Paket PlateRecognition .......................................................................................... IV-3 4.2.3 Paket NeuralNetwork............................................................................................. IV-4 4.2.4 Lingkungan Implementasi ..................................................................................... IV-4 4.3 Antarmuka Sistem ........................................................................................................... IV-5 BAB V ............................................................................................................................................. V-1 5.1 Metode Pengujian ............................................................................................................. V-1 5.2 Hasil Pengujian................................................................................................................. V-1 5.3 Kesimpulan Pengujian...................................................................................................... V-7 BAB VI........................................................................................................................................... VI-1 6.1 Kesimpulan Akhir............................................................................................................ VI-1 6.2 Saran Untuk Pengembangan Lebih Lanjut ..................................................................... VI-1 DAFTAR PUSTAKA .................................................................................................................... VI-3 Lampiran A........................................................................................................................................... a Skenario Use Case Perangkat Lunak ............................................................................................... a A.1 Use Case Melakukan Konvolusi............................................................................................... a A.1.1 Deskripsi............................................................................................................................. a A.1.2 Preconditions ..................................................................................................................... a A.1.3 Postconditions .................................................................................................................... a
vi
A.1.4 Aliran Event Dasar............................................................................................................. a A.1.4 Aliran Event Alternatif....................................................................................................... a A.2 Use Case Melakukan Threshold ...............................................................................................b A.2.1 Deskripsi.............................................................................................................................b A.2.2 Preconditions .....................................................................................................................b A.2.3 Postconditions ....................................................................................................................b A.2.4 Aliran Event Dasar.............................................................................................................b A.2.5 Aliran Event Alternatif....................................................................................................... c A.3 Use Case Melakukan Lokalisasi Plat........................................................................................ c A.3.1 Deskripsi............................................................................................................................. c A.3.2 Preconditions ..................................................................................................................... c A.3.3 Postconditions .................................................................................................................... c A.3.4 Aliran Event Dasar.............................................................................................................d A.3.5 Aliran Event Alternatif.......................................................................................................d A.4 Use Case Melakukan Eliminasi Kandidat Plat .........................................................................d A.4.1 Deskripsi............................................................................................................................. e A.4.2 Preconditions ..................................................................................................................... e A.4.3 Postconditions .................................................................................................................... e A.4.4 Aliran Event Dasar............................................................................................................. e A.4.5 Aliran Event Alternatif....................................................................................................... e A.5 Use Case Melakukan Segmentasi ............................................................................................. e A.5.1 Deskripsi............................................................................................................................. e A.5.2 Preconditions ..................................................................................................................... f A.5.3 Postconditions .................................................................................................................... f A.5.4 Aliran Event Dasar............................................................................................................. f A.5.5 Aliran Event Alternatif....................................................................................................... f A.6 Use Case Melakukan Pengenalan ............................................................................................. f A.6.1 Deskripsi............................................................................................................................. f A.6.2 Preconditions .....................................................................................................................g A.6.3 Postconditions ....................................................................................................................g A.6.4 Aliran Event Dasar.............................................................................................................g A.6.5 Aliran Event Alternatif.......................................................................................................g A.7 Use Case Melakukan Pelatihan Neural Network .....................................................................g A.7.1 Deskripsi.............................................................................................................................g A.7.2 Preconditions .....................................................................................................................g A.7.3 Postconditions ....................................................................................................................g A.7.4 Aliran Event Dasar.............................................................................................................g A.7.5 Aliran Event Alternatif.......................................................................................................h
vii
DAFTAR GAMBAR Gambar II-1. Skema Backpropagation Neural Network .................................................................II-3 Gambar II-2. Contoh proyeksi horizontal dan vertikal ...................................................................II-8 Gambar III-1. Potongan citra contoh ............................................................................................. III-2 Gambar III-2. Citra contoh setelah binarisasi................................................................................ III-2 Gambar III-3. Contoh grafik perubahan warna ............................................................................. III-2 Gambar III-4. Contoh signature plat.............................................................................................. III-3 Gambar III-5. Contoh citra masukan ............................................................................................. III-3 Gambar III-6. Kandidat-kandidat plat pada citra contoh .............................................................. III-4 Gambar III-7. Diagram Use Case Sistem ...................................................................................... III-8 Gambar IV-1. Arsitektur Sistem .................................................................................................... IV-2 Gambar IV-2. Layar Utama ........................................................................................................... IV-5 Gambar IV-3. Layar Konvolusi ..................................................................................................... IV-6 Gambar IV-4. Layar Median Filter................................................................................................ IV-7 Gambar IV-5. Layar Threshold...................................................................................................... IV-8 Gambar IV-6. Layar Plate Localization......................................................................................... IV-9 Gambar IV-7. Layar Segmentation.............................................................................................. IV-10 Gambar IV-8. Layar Backprop Network ..................................................................................... IV-11 Gambar V-1. Citra Uji Nomor 1 ..................................................................................................... V-1 Gambar V-2. Citra Uji Nomor 2 ..................................................................................................... V-2 Gambar V-3. Citra Uji Nomor 3 ..................................................................................................... V-3 Gambar V-4. Citra Uji Nomor 4 ..................................................................................................... V-3 Gambar V-5. Citra Uji Nomor 5 ..................................................................................................... V-4 Gambar V-6. Citra Uji Nomor 6 ..................................................................................................... V-4 Gambar V-7. Citra Uji Nomor 7 ..................................................................................................... V-5 Gambar V-8. Citra Uji Nomor 8 ..................................................................................................... V-6 Gambar V-9. Citra Uji Nomor 9 ..................................................................................................... V-6 Gambar V-10. Citra Uji Nomor 10 ................................................................................................. V-7
viii