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,
[email protected]
Wikaria Gazali Universitas Bina Nusantara,Jln Syahdan no 9 Jakarta,(021)5345830,
[email protected]
Widodo Budiharto Universitas Bina Nusantara,Jln Syahdan no 9 Jakarta,(021)5345830,
[email protected]
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 classification to get the number plate character recognition. Program outcomes showed an average rate of speed by 6,21 seconds to complete the process of detection and recognition. To an accuracy of 91,3%, while achieving 66,19% average rate of precision level.
1
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. 2. Metodelogi Analisis
2
3.
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. 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:
3
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.
Gambar 2 Tampilan window Open
4
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.
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.
6
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 Berikut ini adalah alur flowchart sistem ANPR:
7
Start
Input Image Car Plate Localization
Plate Number Recognition
Image Segmentation
Exists Car Plate
Yes
OCR Segmentation
No
Image Classification
Feature Extraction Draw Car Plate Result OCR Classification
No
Exit Key Event Yes
End App
Gambar 10 Flowchart Sistem ANPR
Use Case Diagram Sistem ANPR Adapun usecase diagram yang digunakan untuk pembuatan aplikasi adalah sebagai berikut:
Gambar 10 Use Case Diagram
8
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: (1) f ( x) = β + β T x 0
•
Pattern
xi yang termasuk class -1 (sampel negatif) dapat dirumuskan sebagai pattern yang
memenuhi pertidaksamaan (2)
β0 + β T x ≤ 1 •
Sedangkan pattern
xi yang termasuk class +1 (sampel positif) (3)
β 0 + β x ≥ −1 T
•
Sehingga untuk canonical hyper-plane dapat direpresentasi sbb (4)
| β0 + β x = 1 | T
•
Margin terbesar dapat ditemukan dengan memaksimalkan nilai jarak antara hyper-plane dengan titik terdekatnya, yaitu T (5) |β +β x| 1 distance = 0 = || β || || β ||
•
Maximum margin adalah kelipatan dua dari jarak hyper-plane dengan titik terdekatnya
M = •
(6)
2 || β ||
Pada akhirnya, permasalahan memaksimalkan M sama dengan permasalahan meminimalkan fungsi L( β ) yang memenuhi beberapa batasan min
β , β0
L(β ) =
1 2
|| β || yang memenuhi yi ( β xi + β 0 ) ≥ 1∀i T
2
(7)
Neural Network (NN) NN adalah suatu metode komputasi yang meniru sistem jaringan saraf biologi. Metode ini menggunakan elemen perhitungan dasar non-linier yang disebut neuron yang diorganisasikan sebagai jaringan yang saling berhubungan, sehingga mirip dengan jaringan saraf manusia. NN, seperti manusia, belajar dari suatu contoh karena mempunyai karakteristik yang adaptif, yaitu dapat belajar
9
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 yi pada layer n + 1 , sehingga didapat perhitungan: +1 ui = ∑ ( wijn +1 * xi ) + win,bias
(8)
yi = f (ui )
(9)
j
•
Hitung hasil aktivasi dengan fungsi Sigmoid Bipolar:
f ( x) = β *
(1 − e− ax )
(10)
(1 + e − ax )
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%.
Gambar Plat
Tabel 1 Hasil Uji Kecepatan Algoritma Kecepatan Jumlah Berhasil Deteksi Pengenalan
0.jpg
1.jpg Tidak ada gambar 2.jpg
8
3,36 detik
3,32 detik
0
3,87 detik
-
6
3,17 detik
3,77 detik
9
3,44 detik
3,34 detik
5
3,71 detik
3,35 detik
0
3,89 detik
-
6
3,38 detik
3,40 detik
7
3,78 detik
3,38 detik
5
3,75 detik
3,98 detik
5
3,44 detik
3,22 detik
3.jpg
4.jpg
5.jpg Tidak ada gambar 6.jpg
7.jpg
8.jpg
9.jpg
10
10.jpg 4
3,32 detik
3,32 detik
5
3,45 detik
3.23 detik
6
3,71 detik
3,35 detik
7
3,37 detik
3,01 detik
10
3,36 detik
3,32 detik
6
3,44 detik
3,72 detik
7
3,45 detik
3,45 detik
8
3,17 detik
3,77 detik
7
3,71 detik
3,35 detik
8
3.38 detik
3,40 detik
9
3,36 detik
3,42 detik
6
3,44 detik
3,72 detik
5
3,32 detik
3,72 detik
11.jpg
12.jpg
13.jpg
14.jpg
15.jpg
16.jpg
17.jpg
18.jpg
19.jpg
20.jpg
21.jpg
22.jpg
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%. 4. Kesalahan dalam melakukan deteksi dan pengenalan plat dapat terjadi karena faktor-faktor berikut: a. Ukuran gambar yang tidak sesuai. Dalam penelitian ini, besar gambar yang digunakan adalah 800x600 pixel dan 800x450 pixel.
11
b. c. d.
e.
f.
Jenis plat yang dideteksi. Jenis plat yang dapat dideteksi oleh program ini hanya plat yang sesuai dengan spesifikasi plat di Indonesia. Jumlah data pelatihan. Semakin sedikit data pelatihan yang diberikan, maka semakin berkurang juga tingkat akurasi hasil deteksi dan pengenalan. 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. 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. 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.
12