SISTEM PENGENALAN PLAT NOMOR
OTOMATIS MENGGUNAKAN SUPPORT
VECTOR MACHINE DAN NEURAL
NETWORK
Putri Febrina Uli
Universitas Bina Nusantara, Jl. Kebon Jeruk Raya No.27 Jakarta, 081298040080, poe.hutabarat@gmail.com
Wikaria Gazali
Universitas Bina Nusantara,Jln Syahdan no 9 Jakarta,(021)5345830, wikaria@binus.edu
Widodo Budiharto
Universitas Bina Nusantara,Jln Syahdan no 9 Jakarta,(021)5345830, wbudiharto@binus.edu
ABSTRAK
Plat nomor kendaraan yang bersifat unik sering digunakan dalam proses pendataan. Namun jika terdapat data dalam jumlah besar, pendataan secara manual akan memakan waktu lama. Sehingga perlu dibuat suatu sistem yang dapat mengantisipasi masalah ini. Tujuan perancangan sistem dalam penelitian ini adalah untuk membangun sebuah sistem yang dapat mendeteksi serta mengenali karakter plat nomor kendaraan secara otomatis, khususnya plat nomor kendaraan di Indonesia. Metode yang digunakan dalam pembangunan sistem ini adalah Support Vector Machine (SVM) dan Neural Network (NN). Plat nomor yang akan diproses terdapat dalam sebuah citra. Citra ini nantinya akan melalui proses segmentasi dan klasifikasi SVM untuk mendapatkan hasil deteksi plat, kemudian melalui proses segmentasi, ekstrasi fitur, dan klasifikasi NN untuk mendapatkan hasil pengenalan karakter plat. Hasil akhir program menunjukan tingkat kecepatan rata-rata 6,21 detik untuk menyelesaikan proses deteksi dan pengenalan. Untuk tingkat akurasi mencapai 91,3%, sedangkan untuk rata-rata tingkat presisinya mencapai 66,19%.
Kata kunci: support vector machine, neural network, plat nomor.
ABSTRACT
Vehicle number plate, which is unique, is often used in data collection process. However, if there is a large amount of data, manual data collection will take a long time. So we need to build a system that can anticipate this problem. The purpose of designing the system in this research is to build a system that can detect and recognize the vehicle number plate character automatically, especially vehicle number plate in Indonesia. The method used in the construction of this system are Support Vector Machine (SVM) and Neural Network (NN). Number plates to be processed contained in an image. This image will be through a process of segmentation and SVM classification to obtain the results of the detection plate, then through the process of segmentation, feature extraction, and NN
Tags: support vector machine, neural network, number plate, ANPR.
PENDAHULUAN
Latar Belakang
Produksi kendaraan bermotor khususnya jenis mobil pribadi semakin meningkat dari tahun ke tahun sehingga semakin meningkat juga jumlah plat nomor kendaraan yang harus didata. Untuk mempercepat proses pendataan ini maka diperlukan bantuan teknologi informasi untuk melakukan pendeteksian dan pengenalan terhadap plat nomor kendaraan. Sistem yang dapat mendeteksi serta mengenal plat nomor secara otomatis sering disebut sistem Automatic Number Plate Reognition (ANPR). Dalam membangun sistem ANPR perlu dilakukan pelatihan mesin, sehingga sistem ANPR dapat memberikan hasil yang akurat. Sistem ANPR dalam penelitian ini menggunakan metode Support Vector Machine (SVM) dan Neural Network (NN) untuk melatih proses deteksi dan pengenalan plat nomor kendaraan. SVM adalah sebuah classifier diskriminatif yang juga dapat melakukan regresi. [1]. NN adalah suatu metode komputasi yang meniru sistem jaringan saraf biologi, yang menggunakan elemen perhitungan dasar non-linier yang disebut neuron. [3]. SVM dan NN merupakan salah satu metode pembelajaran mesin yang terawasi, sehingga hasil dari sistem ANPR akan memberikan hasil akurat dengan bantuan dari data pelatihan.
Rumusan Masalah
Berdasarkan latar belakang penelitian yang dijelaskan sebelumnya, maka dapat dirumuskan masalah penelitian, yaitu:
1. Bagaimana program dapat mendeteksi letak plat nomor kendaraan dengan menggunakan algoritma Support Vector Machine?
2. Diperlukan program dapat mengenali karakter angka dan huruf pada plat nomor kendaraan dengan menggunakan algoritma Neural Network?
Tujuan dan Manfaat Penelitian
Adapun tujuan yang hendak dicapai dari penelitian ini adalah sebagai berikut:
1. Membuat sebuah program pengenalan plat nomor kendaraan dengan menggunakan metode Support Vector Machine dan Neural Network.
2. Menguji program pengenalan plat nomor kendaraan dengan menggunakan metode Support Vector Machine dan Neural Network untuk mengetahui kinerja sistemnya.
Adapun manfaat yang ingin dicapai dari penelitian ini adalah: 1. Manfaat praktis
Program yang dihasilkan diharapkan dapat digunakan untuk membantu proses deteksi dan pengenalan plat nomor kendaraan dari sebuah citra.
2. Manfaat teoritis
Hasil dari penelitian ini diharapkan dapat digunakan sebagai sumbangan pengetahuan untuk mengembangkan teori yang berkaitan dengan Support Vector Machine dan Neural Network. .
METODE PENELITIAN
Untuk merancang dan membuat aplikasi maka digunakanlah metode analisis dan metode perancangan aplikasi. Metode analisis terbagi menjadi beberapa langkah diantaranya:
1. Studi Pustaka
Mencari sumber buku, artikel, literatur internet yang berkaitan untuk menunjang penulisan dan pembuatan program sesuai topik yang diajukan. Mempelajari dan memahami materi penunjang yang ada agar mudah di pahami.
Metode analisis yang digunakan pada penelitian ini adalah sebagai berikut:
a. Mempelajari metode Support Vector Machine, Neural Network dan library OpenCV. b. Mempelajari proses deteksi dan pengenalan plat nomor.
c. Mempelajari bahasa pemrograman C++.
d. Mempelajari proses pemasukkan data menggunakkan komputer.
e. Mempelajari dan menganalisis perancangan program pengenalan plat nomor kendaraan dengan menggunakan metode Support Vector Machine dan Neural Network.
3. Metode Perancangan
Tahapan perancangan dalam penulisan dibagi menjadi beberapa tahap yaitu:
a. Perancangan algoritma dan struktur program untuk setiap tahapan dalam perancangan program pengenalan plat.
b. Perancangan Unified Modeling Language. c. Perancangan desain tampilan layar.
Metode perancangan yang digunakan dalam penelitian adalah metode Waterfall Model [4], yaitu: 1. Analisis kebutuhan
Pada fase ini layanan sistem, kendala, dan tujuan ditetapkan melalui konsultasi dengan pengguna sistem. Kemudian semuanya didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem.
2. Desain sistem dan perangkat lunak
Pada tahap ini proses desain sistem mengalokasikan persyaratan sistem, baik untuk perangkat keras maupun perangkat lunak, dengan membentuk arsitektur sistem secara keseluruhan. Desain perangkat lunak melibatkan pengidentifikasian dan penggambaran abstraksi sistem perangkat lunak yang mendasar serta hubungannya.
3. Pengkodean
Selama tahap ini, desain perangkat lunak direalisasikan sebagai serangkaian program atau unit program. Pengujian unit memverifikasi bahwa setiap unit memenuhi spesifikasinya. 4. Pengujian sistem
Pada fase ini dilakukan pengujian pada sistem yang sudah di buat dengan menggunakan unit test yang sudah dibuat. Tahap ini dilakukan dua tahap yaitu:
a. SIT (System Integration Test); uji coba terhadap sistem serta integrasi dengan sistem lainnya. Uji ini dilakukan oleh team developer.
b. UAT (User Acceptance Test); uji coba sistem yang dilakukan oleh user. 5. Pemeliharaan
Pada fase ini dilakukan pemeliharaan sistem untuk mengatasi setiap masalah-masalah yang terjadi berkenaan dengan sistem. Fase ini berakhir ketika sistem yang dibuat sudah sesuai dengan kebutuhan yang telah dianalisa di fase awal dan tidak terjadi kesalahan pada saat sistem dijalankan. Dengan kata lain, tujuan dari pembuatan sistem telah tercapai.
4. Uji Coba dam Evaluasi
Setelah melakukan program aplikasi telah selesai dibuat, maka pengujian program akan dilakukan lalu dievaluasi.
HASIL DAN BAHASAN
Berdasarkan penelitian yang telah dilaksanakan, maka dibentuklah suatu sistem pengenalan plat nomor otomatis atau sistem ANPR dengan menggunakan Support Vector Machine (SVM) dan Neural Network (NN) sebagai metode pembelajaran mesinnya.
Tampilan Form Sistem ANPR
Berikut adalah tampilan dari sistem ANPR:Gambar 1 Tampilan form utama aplikasi sistem ANPR
Form utama terdiri dari beberapa komponen, yaitu:
1. Button “Browse Image”, berfungsi untuk menampilkan layar “Open”.
2. Button “Execute”, berfungsi untuk menjalankan proses ANPR, tetapi button ini akan aktif jika gambar plat sudah dipilih sebelumnya.
3. Button “Exit”, berfungsi untuk menutup aplikasi.
4. Picture box pertama, berfungsi untuk menampilkan hasil pilihan gambar. 5. Picture box kedua, berfungsi untuk menampilkan hasil deteksi plat. 6. Picture box ketiga, berfungsi untuk menampilkan hasil pengenalan plat.
Langkah pertama yang perlu dilakukan untuk menggunakan aplikasi ini adalah dengan menekan button “Browse Image”. Ketika user menekan button “Browse Image”, maka akan muncul window “Open” seperti pada Gambar 2.
Kemudian user memilih gambar yang akan diproses dan menekan button “Open”. Setelah user memilih gambar, selanjutnya sistem akan menampilkan gambar pilihan user di dalam picture box pertama pada form utama seperti pada Gambar 3.
Gambar 3 Tampilan pilih gambar
Selanjutnya user akan menekan button “Execute” untuk memulai proses ANPR. Pada saat user menekan button “Execute”, maka akan muncul teks “Executing file, please wait..” seperti pada Gambar 4.
Gambar 4 Tampilan form utama setelah button “Execute” ditekan
Ketika sistem tidak berhasil mendeteksi plat, maka akan muncul tulisan “Plate not detected” dan “ANPR process stoped!” pada form utama seperti pada Gambar 5.
Gambar 5 Tampilan form utama pada saat plat tidak terdeteksi
Ketika sistem berhasil mendeteksi plat, maka akan muncul tulisan “Plate detected” serta gambar hasil deteksi ditampilkan dalam picture box kedua pada form utama seperti pada Gambar 6.
Gambar 6 Tampilan form utama pada saat plat terdeteksi
Kemudian sistem akan melanjutkan proses ANPR. Ketika sistem sudah selesai melakukan proses pengenalan terhadap gambar hasil deteksi plat, maka gambar hasil pengenalan akan ditampilkan dalam picture box ketiga. Kemudian teks “Executing file, please wait..” akan diganti dengan teks “ANPR process done!” serta muncul teks “Recognition result: (hasil deteksi)” pada form utama seperti pada Gambar 7.
Gambar 7 Tampilan form utama setelah proses ANPR selesai
Jika user memilih button “Exit”, maka akan muncul dialog box seperti pada Gambar 8 dan ketika user menekan button “OK”, maka aplikasi akan tertutup.
Gambar 8 Tampilan dialog box “Exit” pada form utama
Flowchart Sistem ANPR
Plate Number Recognition Car Plate
Localization
Start
Exists Car Plate
Draw Car Plate Result
Exit Key Event
End App Image Segmentation Input Image OCR Segmentation Feature Extraction OCR Classification Image Classification No Yes No Yes
Gambar 10 Flowchart Sistem ANPR
Use Case Diagram Sistem ANPR
Adapun usecase diagram yang digunakan untuk pembuatan aplikasi adalah sebagai berikut:
Support Vector Machine (SVM)
SVM merupakan salah satu kasus dari metode berbasis kernel. SVM memetakan fitur vektor ke dalam ruang dimensi yang lebih tinggi dengan menggunakan fungsi kernel dan membentuk sebuah fungsi diskriminasi linear yang optimal di dalam ruang dimensi tersebut atau hyper-plane yang optimal yang sesuai dengan data pelatihannya. Dalam kasus SVM, kernel tidak didefinisikan secara eksplisit. Sebaliknya, jarak antara setiap 2 (dua) poin dalam hyper-space perlu didefinisikan. SVM dapat digunakan pada beberapa jenis set data. Salah satu jenisnya adalah set data yang terpisah secara linear. Operasi dari algoritma SVM didasarkan pada menemukan hyper-plane yang memberikan jarak minimum terbesar pada contoh-contoh pelatihan. Dalam teori SVM, kelipatan dua dari jarak minimum ini disebut margin. Oleh karena itu, hyper-plane pemisah yang paling optimal adalah yang memaksimalkan margin dari data pelatihan. [2].
Untuk mencari hyper-plane teroptimal, dilakukan langkah-langkah berikut:
• Diasumsikan kedua class -1 dan +1 dapat terpisah secara sempurna oleh hyper-plane berdimensi d, yang didefinisikan:
0
( ) T
f x =β +β x (1)
• Pattern
x
i yang termasuk class -1 (sampel negatif) dapat dirumuskan sebagai pattern yang memenuhi pertidaksamaan0 Tx 1
β +β ≤ (2)
• Sedangkan pattern
x
i yang termasuk class +1 (sampel positif)0 1
T x
β +β ≥ − (3)
• Sehingga untuk canonical hyper-plane dapat direpresentasi sbb
0
|β +βTx=1 | (4)
• Margin terbesar dapat ditemukan dengan memaksimalkan nilai jarak antara hyper-plane dengan titik terdekatnya, yaitu
0 | | 1 || || || || T x distance β β β β + = = (5)
• Maximum margin adalah kelipatan dua dari jarak hyper-plane dengan titik terdekatnya
2 || ||
M
β
= (6)
• Pada akhirnya, permasalahan memaksimalkan M sama dengan permasalahan meminimalkan fungsi L( )β yang memenuhi beberapa batasan
min 2 , 0 1 ( ) || || 2 L β β β = β yang memenuhi ( 0) 1 T i i i y β x +β ≥ ∀ (7)
Neural Network (NN)
dari data-data sebelumnya dan mengenal pola data yang selalu berubah. Model tiruan sebuah neuron dapat dilatih untuk melakukan fungsi tertentu dengan menyesuaikan nilai dari koneksi antar elemen. Umumnya NN dilatih sehingga input tertentu menghasilkan output tujuan yang spesifik. Walaupun masih jauh dari sempurna, namun kinerja dari tiruan neuron ini identik dengan kinerja dari sel biologi yang kita kenal saat ini [3].
Langkah-langkah perhitungan NN adalah sebagai berikut:
• Misalkan, diberikan output
x
j pada layer n dan diberikan output y pada layer i n+1, sehingga didapat perhitungan: 1 1 , ( n * ) n i ij i i bias j u=∑ w + x +w + (8) ( ) i i y = f u (9)• Hitung hasil aktivasi dengan fungsi Sigmoid Bipolar:
(1 ) ( ) * (1 ) ax ax e f x e β − −− = + (10)
Hasil Uji Algoritma
Berikut adalah hasil uji algoritma. Dalam penelitian ini digunakan 35 (tiga puluh lima) gambar pelatihan dan 23 (dua puluh tiga) gambar uji. Setiap gambar diuji sebanyak 10 (sepuluh) kali untuk mengetahui rata-rata tingkat presisi. Untuk tingkat akurasi didapat 91,3% dan presisi rata-rata 66,19%.
Tabel 1 Hasil Uji Kecepatan Algoritma Gambar Plat Jumlah
Berhasil Kecepatan Deteksi Pengenalan 0.jpg 8 3,36 detik 3,32 detik 1.jpg
Tidak ada gambar 0 3,87 detik -
2.jpg 6 3,17 detik 3,77 detik 3.jpg 9 3,44 detik 3,34 detik 4.jpg 5 3,71 detik 3,35 detik 5.jpg
Tidak ada gambar 0 3,89 detik -
6.jpg 6 3,38 detik 3,40 detik 7.jpg 7 3,78 detik 3,38 detik 8.jpg 5 3,75 detik 3,98 detik 9.jpg
10.jpg 4 3,32 detik 3,32 detik 11.jpg 5 3,45 detik 3.23 detik 12.jpg 6 3,71 detik 3,35 detik 13.jpg 7 3,37 detik 3,01 detik 14.jpg 10 3,36 detik 3,32 detik 15.jpg 6 3,44 detik 3,72 detik 16.jpg 7 3,45 detik 3,45 detik 17.jpg 8 3,17 detik 3,77 detik 18.jpg 7 3,71 detik 3,35 detik 19.jpg 8 3.38 detik 3,40 detik 20.jpg 9 3,36 detik 3,42 detik 21.jpg 6 3,44 detik 3,72 detik 22.jpg 5 3,32 detik 3,72 detik
SIMPULAN DAN SARAN
Kesimpulan
Dari hasil perancangan dan evaluasi hasil sistem, maka dapat diambil kesimpulan sebagai berikut:
1. Dengan menggunakan sistem ini, dapat membantu proses pengenalan plat nomor kendaraan. 2. Dengan adanya aplikasi ini, sistem Automatic Number Plate Recognition (ANPR) dapat lebih
dikembangkan.
3. Metode Support Vector Machine dan Neural Network memiliki tingkat akurasi sebesar 91,3%.
b. Jenis plat yang dideteksi. Jenis plat yang dapat dideteksi oleh program ini hanya plat yang sesuai dengan spesifikasi plat di Indonesia.
c. Jumlah data pelatihan. Semakin sedikit data pelatihan yang diberikan, maka semakin berkurang juga tingkat akurasi hasil deteksi dan pengenalan.
d. Jarak pengambilan gambar. Jarak pengambilan gambar plat pada penelitian ini berkisar 1,5 (satu setengah) meter dari posisi kendaraan, sehingga jika terlalu jauh atau terlalu dekat dapat mempengaruhi pendeteksian.
e. Posisi pengambilan gambar plat. Posisi pengambilan gambar plat dalam penelitian ini adalah dari depan kendaraan dan tegak, sehingga jika diambil dari samping atau secara miring dapat mempengaruhi hasil deteksi.
f. Jumlah data pelatihan. Jumlah data pelatihan dalam penelitian ini hanya 35 (tiga puluh lima) gambar sehingga hasil deteksi dan pengenalan kurang akurat, semakin banyak data pelatihan maka akan memperbesar akurasi deteksi dan pengenalan.
Saran
Adapun saran mengenai keterbatasan akan perancangan sistem ini jika akan digunakan sebagai bahan penelitian atau perancangan lebih lanjut adalah sebagai berikut:
1. Menggunakan bahasa pemrogram lain, misalnya seperti C#.
2. Menggunakan Graphic User Interface (GUI) yang lebih menarik dan mudah dipahami oleh user, sehingga lebih user friendly.
3. Menggunakan metode lain yang lebih baik agar mendapatkan hasil deteksi dan pengenalan plat dengan tingkat akurasi yang lebih tinggi.
4. Membangun sistem yang lebih kompleks, sehingga program tidak hanya dapat mendeteksi dan mengenal plat nomor dalam bentuk citra, melainkan dari video juga.
5. Proses bisa langsung dilakukan secara realtime tanpa memasukkan input secara manual. 6. Pada perancangan ini, sistem dapat dioperasikan oleh siapa saja. Diperlukan sistem sekuritas,
sehingga hanya orang tertentu yang dapat mengakses sistem ini.
REFERENSI
[1] Bradski G., & Kaehler A. (2008). Learning OpenCV: Computer Vision with OpenCV Library. California: O’Reilly Media, Inc.
[2] OpenCv. (2014). Introduction to Support Vector Machines. Diperoleh tanggal 03-06-2014 dari http://docs.opencv.org/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html
[3] Russel, S., & Norvig, P. (2010). Artificial Intelligence: A Modern Approach (3rd ed.). New Jersey: Prentice Hall.
[4] Sommerville, I. (2011). Software Engineering (9th ed.). Massachusetts: Pearson Education, Inc.
RIWAYAT PENULIS
Putri Febrina Uli lahir di Kota Jakarta pada 21 Februari 1990.Penulis menamatkan pendidikan S1 di Universitas Bina Nusantara dalam bidang Teknik Informatika dan Matematika pada tahun 2014.