SKRIPSI
HELVA SILVIANITA 141402063
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2021
PENGENALAN PLAT NOMOR KENDARAAN PADA PORTAL KOMPLEKS MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
HELVA SILVIANITA 141402063
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOG INFORMASI UNIVERSITAS SUMATERA UTARA
2021
PERSETUJUAN
Judul : PENGENALAN PLAT NOMOR KENDARAAN PADA
PORTAL KOMPLEKS MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK
Kategori : SKRIPSI
Nama : HELVA SILVIANITA
Nomor Induk Mahasiswa : 141402063
Program Studi : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Ivan Jaya, S.Si., M.Kom. Dedy Arisandi, S.T., M.Kom.
NIP 198407072015041001 NIP 197908312009121002
Diketahui/disetujui oleh Teknologi Informasi Ketua,
Sarah Purnamawati, S.T., M.Sc.
NIP 198302262010122003
iii
PERNYATAAN
PENGENALAN PLAT NOMOR KENDARAAN PADA PORTAL KOMPLEKS MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Desember 2021
Helva Silvianita 141402063
UCAPAN TERIMA KASIH
Bismillahir-rahmanir-rahim. Alhamdulillah, syukur tak terhingga kepada Allah Yang Mahakuasa—Tuhan alam semesta—sebab berkat izin dan kuasa-Nya, penulis diberikan kelimpahan kekuatan sehingga skripsi ini dapat terselesaikan guna menuntaskan masa belajar serta memperoleh gelar akademik sarjana strata satu di Program Studi Teknologi Informasi.
Selanjutnya, dengan kerendahan hati yang terdalam, penulis juga berterima kasih kepada semua pihak, khususnya kepada orang-orang yang telah terlibat dalam proses penyelesaian skripsi ini, yaitu:
1. Bapak Dr. Muryanto Amin, S.Sos., M.Si., selaku Rektor Universitas Sumatera Utara.
2. Ibu Dr. Maya Silvi Lydia, M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.
3. Ibu Sarah Purnamawati S.T., M.Sc., selaku Ketua Program Studi S-1 Teknologi Informasi dan Bapak Dedy Arisandi, S.T., M.Kom., selaku sekretaris Program Studi S-1 Teknologi Informasi, Universitas Sumatera Utara.
4. Bapak Dedy Arisandi, S.T., M.Kom., selaku Dosen Pembimbing I serta Bapak Ivan Jaya, S.Si., M.Kom., selaku Dosen Pembimbing II yang telah memberikan arahan maupun saran terbaik.
5. Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc., selaku Dosen Penguji I serta Bapak Niskarto Zendrato, S.Kom., M.Kom., selaku Dosen Penguji II.
6. Orang tua penulis, Almarhum Nyono dan Tonya Baria, yang selalu menerima, mendukung, dan memercayai penulis sehingga menguatkan penulis bahwa setiap kesulitan pasti ada kemudahan. Terkhusus Ibu, terima kasih tetap bertahan menjalani hari-hari berat menjadi sosok ayah sekaligus bagi penulis.
7. Saudara penulis, Irsan Hanafi, Rudi Irwanda, Emi Syahrani, Arazka Zuhri Hanafi, dan Azam Fahrizi Hanafi, yang selalu memberikan warna di setiap hari-hari yang tak pernah terduga di dalam hidup ini.
v
8. Sahabat penulis, Hamimi Hamima, terima kasih karena selalu saling menjaga hati meskipun dalam diam dan menjadikan perjalanan di kehidupan kampus sebagai kenangan yang tak terlupakan.
9. Seluruh sejawat seperjuangan, teman-teman angkatan 2014 Teknologi Informasi, khususnya KOM C, yang telah membersamai pada tahun-tahun di kampus dengan berbagai cerita dan kenangan.
Atas rida dan izin Allah, semoga seluruh orang yang telah memberikan tak terhitung dukungan, baik dalam rupa materiel ataupun nonmateriel, diberikan kelimpahan berkah yang dapat mendatangkan kebaikan serta kebahagiaan tak terhingga.
Medan, Desember 2021
Penulis
ABSTRAK
Keamanan di lingkungan tempat tinggal merupakan salah satu dari berbagai faktor yang dapat berimbas dan berpengaruh terhadap beragam aspek dalam kehidupan seseorang.
Menurut data registrasi Polri, selama kurun waktu 2017 sampai 2019, tingkat kriminalitas mengalami penurunan dibandingkan tahun-tahun sebelumnya. Meskipun begitu, korban jiwa yang terkena tindak kejahatan tentu tidak dapat dikatakan sedikit.
Antara tahun 2017 sampai 2019, sedikitnya seratus ribu jiwa penduduk merupakan korban kriminalitas untuk setiap tahunnya. Dengan demikian, keamanan masih menjadi permasalahan yang harus diberikan penanganan optimal oleh pemerintah maupun suatu kelompok atau individu. Oleh sebab itu, perlu dilakukan upaya pengoptimalan sistem keamanan yang sudah berjalan guna memberikan rasa aman untuk setiap masyarakat.
Penelitian ini dilakukan untuk mengenali dan mencocokkan plat nomor kendaraan pada IP camera menggunakan Convolutional Neural Network yang tujuan akhirnya dapat meningkatkan keamanan di lingkungan tempat tinggal. Adapun langkah-langkah yang dilakukan, yaitu pre-processing kemudian mengenali plat nomor kendaraan. Data citra yang diambil dari IP camera dilakukan proses crop, mendeteksi plat nomor kendaraan menggunakan YOLOv5 dengan lokalisasi plat, resize, konversi warna menjadi keabuan, threshold, serta find contour untuk memotong huruf per karakter. Selanjutnya, dilakukan pengenalan huruf pada plat kendaraan menggunakan Convolutional Neural Network. Berdasarkan hasil penelitian terhadap data citra yang bersumber dari IP camera, maka CNN mampu mengenali dan membaca plat kendaraan dengan hasil keberhasilan atau tingkat akurasi sebesar 86%.
Kata Kunci: Plat Kendaraan, YOLOv5, dan Convolutional Neural Network
vii
RECOGNITION OF VEHICLE NUMBER PLATES ON CLUSTER AREA PORTALS USING CONVOLUTIONAL NEURAL NETWORK
ABSTRACT
Security in the living environment is one of the various factors that can impact and influence various aspects of a person's life. According to Police registration data, during the period 2017 to 2019, the crime rate decreased compared to previous years. Even so, the number of victims who were affected by crimes certainly cannot be said to be small.
Between 2017 and 2019, at least one hundred thousand people are victims of crime every year. Thus, security is still a problem that must be given optimal handling by the government or a group or individual. Therefore, it is necessary to optimize the existing security system in order to provide a sense of security for every community. This research was conducted to identify and match vehicle number plates on IP camera using the Convolutional Neural Network which ultimately aims to increase security in the residential environment. The steps taken are pre-processing and then recognizing the vehicle number plate. Image data taken from IP camera is cropped, detecting vehicle number plates using YOLOv5 with plate localization, resizing, converting color to gray, threshold, and finding contour to cut letters per character. Next, the letter recognition on the vehicle plate is carried out using the Convolutional Neural Network. Based on the results of research on image data sourced from IP camera, CNN is able to recognize and read vehicle plates with success results or an accuracy rate of 86%.
Keyword: Vehicle Plate, YOLOv5, and Convolutional Neural Network
DAFTAR ISI
Halaman
PERSETUJUAN ii
PERNYATAAN iii
UCAPAN TERIMA KASIH iv
ABSTRAK vi
ABSTRACT vii
DAFTAR ISI viii
DAFTAR TABEL xi
DAFTAR GAMBAR xii
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 3
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 4
1.5 Manfaat Penelitian 4
1.6 Metodologi Penelitian 4
1.6.1 Studi literatur 4
1.6.2 Analisis permasalahan 4
1.6.3 Perancangan sistem 5
1.6.4 Implementasi 5
1.6.5 Pengujian 5
1.6.6 Penyusunan laporan 5
1.7 Sistematika Penulisan 5
ix
BAB 2 LANDASAN TEORI 7
2.1 Keamanan 7
2.2 Video 7
2.3 Citra Digital 7
2.4 Pre-processing 9
2.4.1 Crop 9
2.4.2 Rectangle detection 9
2.4.3 Resize 9
2.4.4 Grayscale 9
2.4.5 Threshold 10
2.4.6 Find contour 10
2.5 YOLOv5 10
2.6 Computer Vision 11
2.7 Machine Learning 11
2.7.1 Convolutional neural network 12
2.8 Penelitian Terdahulu 14
2.9 Perbedaan Penelitian Terdahulu 18
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 19
3.1 Analisis Sistem 19
3.1.1 Data latih (training) 19
3.1.2 Data uji (testing) 19
3.1.3 Image pre-processing 21
3.1.4 Convolutional neural network 37
3.2 Rancangan Antarmuka 39
3.2.1 Rancangan tampilan home 39
3.2.2 Rancangan menu hasil deteksi 41
3.2.3 Rancangan menu plate 41
3.3.4 Rancangan menu add/edit 42
3.3.5 Rancangan menu history 41
BAB 4 IMPLEMENTASI DAN PENGUJIAN 43
4.1 Implementasi Sistem 43
4.1.1 Perangkat keras dan lunak 43
4.1.2 Perancangan antarmuka 43
4.1.3 Implementasi pengujian data 44
4.2 Prosedur Operasional 45
4.3 Pengujian Sistem 48
BAB 5 KESIMPULAN DAN SARAN 52
5.1 Kesimpulan 52
5.2 Saran 52
DAFTAR PUSTAKA 54
xi
DAFTAR TABEL
Halaman
Tabel 2.1 Penelitian Terdahulu 16
Tabel 3.1 Crop Plat Nomor Kendaraan 21
Tabel 3.2 Rectangle Detection Plat Nomor Kendaraan 25
Tabel 3.3 Resize Plat Nomor Kendaraan 28
Tabel 3.4 Grayscale Plat Nomor Kendaraan 30
Tabel 3.5 Threshold Plat Nomor Kendaraan 33
Tabel 3.6 Find Contour Plat Nomor Kendaraan 35
Tabel 4.1 Uji Data Citra 48
DAFTAR GAMBAR
Halaman Gambar 2.1 Representasi Citra Digital Dua Dimensi 8
Gambar 2.2 Arsitektur YOLOv5 10
Gambar 2.3 Arsitektur CNN 13
Gambar 2.4 Operasi Konvolusi dengan Stride 1; (a) Input Data 5x5;
(b) Filter 3x3;(c) Bidang Receptive 3x3 13
Gambar 2.5 Operasi Zero Padding 2 pada Data 3x3 13
Gambar 2.6 Operasi Max Pooling 14
Gambar 3.1 Arsitektur Umum 20
Gambar 3.2 Bounding Plat Nomor Kendaraan 24
Gambar 3.3 Proses Identifikasi CNN terhadap Citra 39
Gambar 3.4 Tampilan Home 39
Gambar 3.5 Tampilan Hasil Deteksi Warga Kompleks 40 Gambar 3.6 Tampilan Hasil Deteksi Bukan Warga Kompleks 40
Gambar 3.7 Tampilan Plate 41
Gambar 3.8 Tampilan History 41
Gambar 3.9 Tampilan Add/Edit 42
Gambar 4.1 Tampilan Home 44
Gambar 4.2 Daftar Kumpulan Data Training Plat Nomor Kendaraan 44
Gambar 4.3 Pilih Video 45
Gambar 4.4 Path Video 45
Gambar 4.5 Tampilan Hasil Deteksi Warga Kompleks 46
Gambar 4.6 Tampilan Hasil Deteksi Bukan Warga Kompleks 46
Gambar 4.7 Tampilan History 47
Gambar 4.8 Tampilan Plate 47
Gambar 4.9 Tampilan Add/Edit 48
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Keamanan suatu lingkungan tempat tinggal merupakan satu dari berbagai faktor yang dapat berimbas dan berpengaruh terhadap beragam aspek dalam kehidupan seseorang serta faktor penting dalam kenyamanan hidup yang dapat dirasakan oleh masyarakat pada suatu wilayah. Faktor keamanan sangat berpengaruh terhadap kualitas hidup masyarakat dalam perkembangan psikologi masyarakat tersebut. Keamanan yang dimaksud adalah lingkungan rumah yang dihuni aman dari tindak kejahatan. Hal ini bertujuan agar situasi lebih tertib dan kondusif.
Menurut Pasal 3 Butir f UU Nomor 1 Tahun 2011 tentang Perumahan dan Kawasan Permukiman disebutkan bahwa perumahan dan kawasan permukiman diselenggarakan untuk menjamin terwujudnya rumah yang layak huni dan terjangkau dalam lingkungan yang sehat, aman, serasi, teratur, terencana, terpadu, dan berkelanjutan. Dengan begitu, setiap masyarakat yang bertempat tinggal di lingkungan kompleks perumahan berhak mendapatkan lingkungan yang aman. Namun, pada kenyataannya tingkat keamanan lingkungan kompleks perumahan saat ini masih belum dilakukan secara optimal. Sistem keamanan kompleks perumahan masih melakukan pemeriksaan secara manual oleh satpam atau pihak keamanan yang bertugas walaupun terdapat fasilitas seperti kamera pengintai. Hal ini dikarenakan fasilitas yang tersedia tidak serta-merta digunakan secara maksimal dan tidak diikuti dengan pemanfaatan IP camera yang lebih efisien oleh pihak yang bertugas.
Penelitian Avianto (2016) tentang “Pengenalan Pola Karakter Plat Nomor Kendaraan Menggunakan Algoritma Momentum Backpropogation Neural Network”.
Penulis melakukan pengenalan identitas kendaraan dengan mengubah citra (foto) plat kendaraan menjadi biner yang kemudian dilanjutkan segmentasi guna mengisolasi atau memisahkan karakter pada plat nomor.
Tahap selanjutnya, penulis melakukan reduksi menggunakan Haar Wavelet. Dari penelitian tersebut, sebanyak 278 karakter mampu mengenali plat nomor dengan akurasi sistem 97,01%. Meskipun tingkat akurasi yang diperoleh sudah cukup tinggi, data yang dipakai berupa citra foto dan peneliti tidak melakukan pencocokan data plat nomor kendaraan.
Pada penelitian lain dengan judul “Real-Time Automatic License Plate Recognition for CCTV Forensic Application” juga meneliti tentang pengenalan plat nomor pada CCTV menggunakan metode Nearest Neighbor. Pada penelitian ini dilakukan akuisisi citra (video) dengan ukuran frame minimal 360x288 dan frame maksimum 1024x768 serta kecepatan frame minimal 25 fps dan maksimum 28 fps. Dari penelitian yang dilakukan, maka diperoleh hasil akurasi sebesar 94% (Sarfraz, et al.
2013).
Balaji & Rajesh (2017) melakukan penelitian dengan topik yang sama dengan judul “Smart Vehicle Number Plate Detection System for Different Countries Using an Improved Segmentation Method”. Pada penelitian ini, penulis mampu mendeteksi plat nomor kendaraan dari negara yang berbeda dari akuisisi citra (foto) yang diambil.
Penulis menggunakan metode Pattern Matching dalam melakukan pengenalan karakter pada plat nomor kendaraan.
Pada penelitian yang berjudul “Automatic License Plate Recognition Technique using Convolutional Neural Network”, penulis meneliti tentang teknik pengenalan identitas kendaraan memakai algoritme Convolutional Neural Network. Dalam penelitian yang dilakukan Das dan Mukherjee pada tahun 2017 ini, penulis membandingkan hasil akurasi atau keberhasilan yang diperoleh menggunakan metode lain. Adapun pengenalan menggunakan metode Template Matching Technique memperoleh hasil akurasi sebesar 62,25%, sedangkan hasil akurasi dari metode Convolutional Neural Network sebesar 85,83% dengan 45 sampel plat nomor kendaraan (Das & Mukherjee 2017).
Panchal et al. (2016) melakukan penelitian dengan judul “License Plate Detection using Harris Corner and Character Segmentation by Integrated Approach from an Image”. Pada penelitian ini dilakukan akuisisi citra (foto) dalam pengenalan nomor plat memakai metode Harris Corner. Sesuai hasil percobaan, diperoleh akurasi sebesar 93,84% dengan metode yang diajukan.
3
Pada peneliti lainnya yang berjudul “Pengenalan Plat Nomor Kendaraan Indonesia Menggunakan Principal Component Analysis dan Metode K-Nearest Neighbor”, penulis melakukan pengenalan plat nomor kendaraan dari akuisisi citra berupa foto. Penulis menggunakan K-NN serta PCA atau Principal Component Analysis dengan memperoleh akurasi 92,86% (Rohimah, 2017).
Saat ini, pemanfaatan kamera pengintai di lingkungan kompleks perumahan pada umumnya hanya bertujuan sebagai pengawasan terhadap kawasan tertentu saja. Oleh sebab itu, penulis meneliti permasalahan ini untuk mengoptimalkan dan meningkatkan keamanan kompleks perumahan dengan melakukan pengenalan dan pencocokan plat nomor kendaraan pada IP camera. Pengenalan dilakukan pada plat nomor kendaraan yang masuk ke dalam lingkungan kompleks perumahan yang terekam di IP camera menggunakan metode CNN atau Convolutional Neural Network. Cara kerja dari Convolutional Neural Network ini mampu mengenali karakter alfabet huruf maupun angka pada plat kendaraan.
Berdasarkan rumusan permasalahan maupun latar belakang, maka dilakukan penelitian bertajuk “Pengenalan Plat Nomor Kendaraan Pada Portal Kompleks Menggunakan Convolutional Neural Network”.
1.2 Rumusan Masalah
Keamanan kompleks perumahan masih dilakukan secara manual oleh pihak keamanan.
Fasilitas IP camera yang tersedia masih hanya berfungsi sebagai pengawasan saja. Oleh karena itu, diperlukan pemanfaatan IP camera yang berfungsi sebagai kontrol identifikasi plat pemilik kendaraan terkait keamanan kompleks dengan pengenalan dan pencocokan plat nomor kendaraan.
1.3 Batasan Masalah
Batasan dari masalah yang menjadi lingkup penelitian ini, antara lain sebagai berikut:
1. Data yang dipakai berasal dari kamera IP camera.
2. Karakter yang dikenali adalah 36 buah karakter, antara lain 0—9 dan A—Z.
3. Plat kendaraan yang diambil hanya yang terlihat jelas oleh IP camera.
4. Tidak menangani plat nomor kendaraan yang dipalsukan.
5. Plat kendaraan yang dideteksi hanya kendaraan yang memiliki satu plat saja dengan kategori kendaraan roda empat (mobil, pick up, dan minibus), roda tiga (becak), serta roda dua (sepeda motor).
1.4 Tujuan Penelitian
Penelitian kali ini untuk mengenali dan mencocokkan plat nomor kendaraan pada video IP camera menggunakan Convolutional Neural Network.
1.5 Manfaat Penelitian
Manfaat peneliti melakukan penelitian plat nomor kendaraan ini antara lain sebagai berikut:
1. Mengetahui plat kendaraan yang masuk ke kawasan perumahan.
2. Membantu pihak keamanan dalam mengenali dan mencocokkan setiap plat nomor kendaraan yang masuk sehingga meningkatkan keamanan perumahan.
3. Menjadi referensi pengetahuan untuk peneliti selanjutnya yang berkaitan tentang pengidentifikasian plat nomor kendaraan menggunakan Convolutional Neural Network.
1.6 Metodologi Penelitian
Adapun beberapa tahapan yang akan dikerjakan berdasarkan antara lain sebagai berikut.
1.6.1 Studi literatur
Adapun studi literatur yang dilakukan adalah guna mengumpulkan data serta mempelajari pengetahuan yang didapatkan dari banyak sumber, seperti buku, jurnal, artikel, maupun sumber pengetahuan lain yang bersangkutan dengan topik penelitian.
Informasi-informasi tersebut adalah terkait pendeteksian identitas kendaraan (plat), meliputi pre-processing serta pengenalan plat nomor kendaraan menggunakan Convolutional Neural Network.
1.6.2 Analisis permasalahan
Tahap Analisis dari permasalahan yang diangkat, dilakukan guna menjabarkan beragam informasi yang kemudian dapat ditentukan metode apa yang sesuai dalam menanggulangi permasalahan pada kasus penelitian ini, yaitu memanfaatkan IP camera dalam pengenalan dan pencocokan plat nomor kendaraan terkait keamanan.
5
1.6.3 Perancangan sistem
Tahap dalam merancang sistem berdasarkan penjelasan literatur akademik dari berbagai sumber dan analisis permasalahan yang telah dilakukan guna merancang sistem yang akan dibangun.
1.6.4 Implementasi
Adapun implementasi yang diterapkan bergantung pada rancangan sistem yang sudah dibuat. Dalam tahap ini, penulis akan menggunakan bahasa pemrograman python serta Visual Code sebagai code editor untuk membangun sistem yang telah dirancang.
1.6.5 Pengujian
Setelah tahap implementasi dilakukan, maka sistem harus diuji terlebih dahulu guna mengevaluasi sistem yang telah dirancang.
1.6.6 Penyusunan laporan
Setelah dilakukan berbagai tahap pembuatan sistem, maka tahap selanjutnya yang merupakan tahap terakhir adalah menyusun laporan berdasarkan data maupun informasi terkait sebagai bentuk dokumentasi terhadap sistem yang telah dibuat serta sebagai bentuk perbaikan untuk sistem yang akan dibuat pada permasalahan atau penelitian selanjutnya.
1.7 Sistematika Penulisan
Adapun sistematika pada penulisan penelitian ini terdiri dari lima bab:
BAB 1: Pendahuluan
Pada bab pendahuluan ini berisikan latar belakang dilakukannya penelitian ini, rumusan suatu masalah, menentukan lingkup, tujuan dilakukannya penelitian, manfaat dari penelitian, metodologi yang diterapkan, serta sistematika penulisan.
BAB 2: Landasan Teori
Bab landasan teori ini berisikan penjelasan terkait teori-teori guna mendukung penelitian serta metode penyelesaian permasalahan yang dibahas, seperti pengenalan plat nomor kendaraan, pengolahan citra digital, dan metode machine learning menggunakan Convolutional Neural Network.
BAB 3: Analisis dan Perancangan Sistem
Pada bab analisis dan perancangan sistem ini berisikan arsitektur umum dari sebuah sistem yang dirancang beserta tahapan sistem, seperti pengumpulan suatu data, pemrosesan data, training data, dan testing data yang dilakukan guna membangun sistem.
BAB 4: Implementasi dan Pengujian
Bab ini, penulis menguraikan pengaplikasian berdasarkan rancangan yang dibuat serta hasil uji sistem yang telah dilakukan untuk kemudian diperoleh kelebihan serta kekurangan sistem guna menyempurnakan sistem yang akan diaplikasikan pada permasalahan terkait.
BAB 5: Kesimpulan dan Saran
Bab terakhir yaitu terkait ikhtisar dari keseluruhan yang dilakukan serta memberikan usulan dengan tujuan untuk mengembangkan sistem lebih baik terkait penelitian ini terhadap peneliti selanjutnya.
BAB 2
LANDASAN TEORI
2.1 Keamanan
Keamanan merupakan keadaan yang bebas dari bahaya, berbagai kejahatan, segala bentuk kecelakaan, serta adanya kesejahteraan masyarakat. Dikatakan keamanan fisik (biologic safety) berarti keadaan fisik aman dan terbebas dari ancaman kecelakaan serta cedera (injury), baik secara mekanis, thermis, elektris, maupun bakteriologis.
Kebutuhan keamanan fisik merupakan kebutuhan krusial guna melindungi diri dari bahaya yang mengancam kesehatan fisik yang akan memberikan lingkungan yang aman (Fatmawati, 2009).
Adanya pengoptimalan terhadap sistem keamanan yang sudah berjalan tentunya dapat meminimalisasi terjadinya kejahatan dan menciptakan suasana lingkungan yang aman serta tenteram sehingga kehidupan yang mendambakan ketertiban kehidupan bermasyarakat akan terwujud dan dapat dipelihara kemudian hari.
2.2 Video
Sekumpulan gambar statis (diam) di dalam frame yang akhirnya membentuk kesatuan alur yang terangkai dan menghasilkan gambar dinamis (bergerak) disebut video. Suatu media yang berguna untuk mengirim pesan ataupun informasi ini juga dapat menampilkan suara secara bersamaan.
2.3 Citra Digital
Citra yang mampu dilihat mata manusia adalah sekumpulan cahaya yang kemudian dipantulkan dari suatu objek terhadap mata manusia. Elemen terkecil dari suatu citra digital disebut piksel yang kegunaannya untuk menyimpan beberapa nilai, seperti koordinat maupun intensitas. Setiap elemen yang ada akan merepresentasikan pixel pada gambar.
Citra yang memiliki kualitas baik, maka akan dengan mudah dipahami oleh sistem dengan pre-processing yang dapat meningkatkan kualitas citra. Jika terdapat banyak noise yang terdapat dalam citra, data yang buruk tersebut akan membuat sistem bisa tidak tepat menyimpulkan hasil sehingga kesalahan yang dihasilkan akan lebih tinggi.
Fungsi dari dua dimensi yaitu f(x, y) yang dimiliki oleh citra digital berukuran M sebagai baris serta N sebagai kolom; dengan x dan y merupakan koordinat pada suatu bidang dwimatra serta f(x, y) merupakan intensitas dari cahaya (brightness) atau level keabuan (grey level). Matriks yang menyatakan indeks baris serta kolom pada suatu citra digital disebut juga sebagai elemen terkecil dari sebuah gambar atau piksel.
Nilai titik pada piksel tersebut akan menyatakan nilai level keabuan suatu gambar. Citra digital yang berukuran N x M dengan tinggi sebagai N dan lebar sebagai M, yang kemudian dinyatakan dengan matriks N x M. Adapun bentuk matriks citra digital dapat dilihat pada gambar 2.1.
Gambar 2.1 Representasi Citra Digital Dua Dimensi (Basuki, 2016)
Menurut Saphiro & Stockman (2001), digital image digunakan agar berbagai macam hardware maupun software dapat membaca dan menggunakan gambar dalam bentuk data.
Mengacu pada pendapat Permadi & Murinto (2015), citra memiliki sifat khas yang tidak dipunyai oleh teks. Suatu citra sangat memberikan banyak informasi terhadap penelitian. Dengan demikian, citra digital merupakan komponen dalam multimedia yang memiliki peran penting sebagai perolehan suatu informasi yang kemudian dapat diaplikasikan sekaligus pemecahan masalah terhadap berbagai permasalahan terkait yang terjadi dalam kehidupan individu setiap harinya.
9
2.4 Pre-processing
Menurut Kulkarni (2001), pre-processing yaitu sebuah proses tahap awal guna menghapus noise untuk kemudian dapat diproses di tahap selanjutnya. Tahap pre- processing akan dilakukan sebelum dilakukan inti pemrosesan dari suatu citra. Tujuan dari tahap pre-processing itu sendiri yaitu membuang gangguan atau noise yang dapat menghambat sistem dalam mempelajari citra dengan membuat lebih jelas data, memperkecil atau memperbesar ukuran data, dan mengonversi data awal/asli agar didapatkan data yang dibutuhkan. Dengan demikian, pre-processing bertujuan memperbaiki kualitas citra menjadi lebih baik sehingga mudah untuk diinterpretasikan oleh manusia ataupun sistem.
2.4.1 Crop
Crop ini sebagai proses pemotongan suatu citra pada titik koordinat tertentu di area citra yang dipilih atau dibutuhkan.Untuk dapat memotong citra, maka digunakan dua titik koordinat. Adapun titik yang pertama sebagai awal titik dan yang kedua sebagai akhir titik yang kemudian akan memisahkan potongan citra berdasarkan titik yang dipilih.
2.4.2 Rectangle detection
Pada bagian ini, posisi plat ditentukan dengan mendeteksi plat kendaraan yang berbentuk persegi panjang atau rectangle. Salah satu cara untuk mendeteksi objek plat, yaitu menggunakan YOLO dengan lokalisasi posisi plat pada gambar.
2.4.3 Resize
Proses pada resize ini dilakukan untuk mengubah ukuran asli citra menjadi lebih kecil ataupun besar untuk mempermudah sistem mengenali objek. Jika ukuran citra yang ada terlalu kecil, hal ini dapat berpengaruh terhadap training yang dilakukan. Maka dari itu, citra perlu dilakukan resize untuk diubah ukurannya menjadi lebih besar agar objek dapat dikenali.
2.4.4 Grayscale
Citra yang dilakukan proses grayscale akan mengubah semua warna menjadi keabuan dengan tingkat nilai intensitas paling besar 255 berwarna putih hingga warna hitam paling kecil 0.
2.4.5 Threshold
Pada tahap ini digunakan digunakan untuk memisahkan antara objek dan latar belakangnya. Pada kasus ini, akan memisahkan karakter pada plat dengan latar belakangnya
2.4.6 Find contour
Contour ini adalah rangkaian piksel pada suatu citra yang membentuk batas daerah (region boundary). Find contour merupakan sebuah cara yang sangat berguna untuk menganalisis citra dengan membentuk garis batas untuk kemudian menemukan bentuk objek dari sebuah citra guna memudahkan pengenalan.
2.5 YOLOv5
You Only Look Once atau disingkat menjadi YOLO merupakan model yang mampu mendeteksi objek yang diinginkan dengan cepat tanpa mengurangi akurasi. Sistem kerjanya yaitu dengan membagi citra ke dalam beberapa bagian yang kemudian digunakan untuk memprediksi kotak pembatas dan probabilitas sebagai hasil akhir termasuk objek yang diinginkan atau bukan.
Gambar 2.2 Arsitektur YOLOv5
Terdapat tiga bagian penting dalam proses YOLOv5, yaitu backbone, neck, dan head. Pada proses backbone ini digunakan untuk mengekstrak fitur penting dari sebuah citra yang diinput menggunakan CSP (Cross Stage Partial) yang berfungsi
11
mempercepat waktu pemrosesan. Proses neck membantu untuk mengidentifikasi objek yang sama dengan ukuran maupun skala berbeda. Selanjutnya, head digunakan untuk melakukan bagian deteksi akhir.
2.6 Computer Vision
Menurut Bradski & Kaehler (2008), computer vision dapat diartikan sebagai transformasi data dari suatu citra berupa gambar ataupun video yang ditangkap oleh kamera menjadi sebuah representasi baru yang dapat digunakan menjadi sebuah keputusan-keputusan. Semua transformasi yang dilakukan dalam computer vision bertujuan untuk mencapai sebuah tujuan atau goal, yaitu membuat keputusan yang berguna tentang suatu objek berdasarkan image yang didapat atau ditangkap oleh hardware. Oleh karena itu, computer vision yang menerapkan machine learning (pembelajaran mesin) dapat menganalisis citra yang memiliki kegunaan untuk memberikan pemahaman terhadap sistem terkait hal-hal yang diajarkan dengan tujuan akhir menghasilkan berbagai informasi.
Meskipun komputer sejatinya hanya melihat suatu citra berupa angka-angka, adanya computer vision ini tentunya dapat menjadikan mesin cerdas yang mampu menginterpretasikan citra dengan strategi berbeda, sesuai kondisi maupun pembelajarannya. Pada dasarnya, sistem bidang ilmu computer vision ini bekerja seperti manusia, dimulai dari memproses, menganalisis, dan memahami visual yang didapatkan untuk selanjutnya menghasilkan informasi
Berdasarkan pendapat Kulkarni (2001), tahapan computer vision dapat dibagi ke dalam level hierarki. Pertama, low-level vision untuk menghilangkan gangguan atau noise dengan image enhancement. Kedua, intermediate-level vision dengan cara melakukan tahap sebelumnya yang disertai dengan tambahan deteksi tepi, deteksi tekstur, dan ekstraksi fitur. Ketiga, tahapan high-level vision adalah penggabungan dua tahap sebelumnya yang kemudian dilanjutkan dengan associative storage, basis pengetahuan, serta pengenalan.
2.7 Machine Learning
Menurut pemaparan IBM (2020), machine learning ialah suatu cabang bidang AI dan ilmu komputer yang memusatkan pada penggunaan data dan algoritma dengan metode meniru manusia dalam pembelajaran terhadap input atau data yang masuk ke dalam
sistem. Seperti manusia, tingkat akurasi keberhasilan atau pemahaman machine learning dapat meningkat jika terus dilatih dengan berbagai data yang diterima. Oleh karena itu, tingkat akurasi awal ketika sistem machine learning dijalankan, maka hasil keberhasilannya akan sangat rendah. Hal ini dikarenakan sistem butuh pembelajaran lebih banyak untuk melatih data yang diterima sehingga sistem akan makin cerdas dan tingkat kebenarannya tinggi.
2.7.1 Convolutional Neural Network (CNN)
CNN adalah deep learning atau pembelajaran mendalam sehingga mampu melatih sekumpulan data besar dengan jutaan parameter dengan menerima bentuk citra dua dimensi sebagai masukan atau input, kemudian diproses dan diklasifikasi untuk menghasilkan keluaran atau output sesuai data latih yang diajarkan. Convolutional Neural Network memiliki lapisan tersembunyi (hidden layer) dan arsitektur yang lebih kompleks sehingga kemampuan pembelajaran mendalam menjadi lebih canggih.
Struktur CNN itu ialah berupa masukan atau input, lalu proses ekstraksi fitur, klasifikasi, dan keluaran atau output. Setelah diberikan input, dilakukan proses ekstraksi fitur dengan beberapa lapisan tersembunyi, yaitu convolutional layer, kemudian fungsi aktivasi (ReLU), dan terakhir pooling layer.
Dikarenakan CNN bekerja secara hierarki, maka keluaran atau output pada lapisan konvolusi (convolutional layer) sebelumnya akan digunakan pula sebagai masukan atau input pada lapisan konvolusi (convolutional layer) selanjutnya. Setelah ekstraksi fitur selesai, tahap selanjutnya adalah proses pengklasifikasian yang dimulai dari fully-connected dan fungsi aktivasi (softmax) sehingga keluaran berupa hasil klasifikasi (Katole et al. 2015).
a. Convolutional Layer
Pada convolutional layer menggunakan filter yang berisi nilai bobot untuk pendeteksian suatu karakter pada objek, seperti tepi, warna, serta kurva guna mengekstraksi suatu objek citra yang dimasukkan. Lapisan ini kemudian menghasilkan suatu transformasi linear berdasarkan informasi spasial pada inputan. Filter seperti warna, tepi, dan kurva tersebut diaplikasikan berulang-ulang agar menghasilkan bidang receptive.
13
Gambar 2.3 Arsitektur CNN (Krizhevsky et al. 2012)
Adapun parameter yang dapat dimodifikasi pada sifat setiap lapisan adalah ukuran filter, stride yang mengontrol filter dengan bergerak sesuai panjang ukuran piksel, serta padding yang menambah ukuran dengan suatu nilai yang ada di sekitar data masukan sehingga hasilnya tidak terlalu kecil dan banyak kehilangan informasi.
Umumnya, nilai ini akan nol sehingga disebut juga dengan zero padding. Adapun hasil dari bidang receptive yaitu data yang tunggal. Keluaran inilah yang akan dijadikan sebagai masukan atau input untuk convolutional layer selanjutnya (Castelluccio et al.
2015).
Gambar 2.4 Operasi Konvolusi dengan Stride 1; (a) Input Data 5x5; (b) Filter 3x3;
(c) Bidang Receptive 3x3 (Krizhevsky et al. 2012)
Gambar 2.5 Operasi Zero Padding 2 pada Data 3x3 (Krizhevsky et al. 2012)
b. Fungsi Aktivasi ReLU
Fungsi aktivasi ReLU atau Rectification Linear Unit berguna untuk memperkenalkan nonlinearitas serta meningkatkan representasi dari suatu model.
Adapun nilai keluaran dari neuron tersebut bisa dinyatakan dengan nol jika data inputnya bernilai negatif. Sebaliknya, jika nilai input positif, keluaran dari neuron berupa nilai input aktivasi itu sendiri (Kim et al. 2016).
c. Pooling
Menurut Bejiga et al. (2017), pada tahapan pooling, dilakukan pengurangan representasi ukuran matriks untuk mengontrol overfitting. Terdapat dua ragam pooling, yaitu average pooling serta max pooling. Sesuai namanya, nilai yang diambil pada average pooling ini berupa nila rata-rata, sedangkan max pooling berupa nilai maksimal (Zhi et al. 2016).
Gambar 2.6 Operasi Max Pooling (Suartika et al, 2016) d. Fully Connected Layer
Pada lapisan ini, sistem memperoleh masukan atau input dari proses sebelumnya, yakni menentukan fitur mana yang paling berkorelasi dengan kelas tertentu. Fungsi dari lapisan ini guna menyatukan semua node menjadi satu dimensi (Albelwi & Mahmood, 2017).
2.8 Penelitian Terdahulu
Berikut ini merupakan uraian terkait beberapa penelitian sebelumnya yang dipakai sebagai acuan untuk melakukan penelitian “Pengenalan Plat Nomor Kendaraan pada Portal Kompleks Menggunakan Convolutional Neural Network”.
15
1. Donny Avianto (2016)
Penelitian “Pengenalan Pola Karakter Plat Nomor Kendaraan Menggunakan Algoritma Momentum Backpropogation Neural Network” akan melakukan pengenalan plat dengan mengubah citra (foto) plat nomor menjadi citra biner. Tahap berikutnya adalah segmentasi yang akan memisahkan karakter pada plat nomor. Selanjutnya dilakukan reduksi menggunakan Haar Wavelet.
Dari penelitian tersebut, sebanyak 278 karakter mampu mengenali plat nomor dengan akurasi sistem hingga 97,01%. Meskipun akurasi yang diperoleh sudah termasuk tinggi, peneliti tidak melakukan pencocokan data plat nomor kendaraan.
2. M. S. Sarfraz, et al (2017)
Pada penelitian dengan judul “Real-Time Automatic License Plate Recognition for CCTV Forensic Application” juga meneliti tentang pengenalan plat nomor pada CCTV menggunakan metode Nearest Neighbor. Pada penelitian ini dilakukan akuisisi citra (video) dengan ukuran frame minimal 360x288 dan frame maksimum 1024x768 serta kecepatan frame minimal 25 fps dan maksimum 28 fps. Dari penelitian yang dilakukan maka diperoleh hasil akurasi sebesar 94% (Sarfraz et al. 2013).
3. Balaji & Rajesh (2017)
Balaji & Rajesh (2017) melakukan penelitian dengan topik yang sama dengan judul
“Smart Vehicle Number Plate Detection System for Different Countries Using an Improved Segmentation Method”. Pada penelitian ini, penulis mampu mendeteksi plat nomor kendaraan dari negara yang berbeda dari akuisisi citra (foto) yang diambil.
Penulis menggunakan metode Pattern Matching dalam melakukan pengenalan karakter pada plat nomor kendaraan.
4. Das & Mukherjee (2017)
Pada penelitian yang berjudul “Automatic License Plate Recognition Technique using Convolutional Neural Network”, penulis meneliti tentang teknik pengenalan plat dengan Convolutional Neural Network. Peneliti juga membandingkan hasil akurasi yang diperoleh menggunakan metode lain.
Adapun pengenalan menggunakan metode Template Matching Technique memperoleh hasil akurasi sebesar 62,25% dan metode Convolutional Neural Network sebesar 85,83% dengan 45 sample plat nomor kendaraan (Das & Mukherjee 2017).
5. Panchal et al. (2016)
Penelitian dengan judul “License Plate Detection using Harris Corner and Character Segmentation by Integrated Approach from an Image”. Pada penelitian ini dilakukan akuisi citra (foto) dalam pengenalan plat dengan metode Harris Corner. Dari hasil percobaan, diperoleh akurasi sebesar 93,84% dengan metode yang diajukan.
6. Rohimah (2017)
Pada penelitian dengan judul “Pengenalan Plat Nomor Kendaraan Indonesia Menggunakan Principal Component Analysis dan Metode K-Nearest Neighbor”, penulis melakukan pengenalan plat nomor kendaraan dari akuisisi citra berupa foto.
Penulis menggunakan K-NN dan Principal Component Analysis dengan memperoleh akurasi 92,86%.
Berdasarkan penjelasan di atas, penelitian terdahulu ini dapat menjadi acuan bagi penulis dalam melakukan penelitian pengenalan plat nomor kendaraan. Berikut ini merupakan uraian singkat mengenai perbandingan beberapa penelitian sebelumnya.
Tabel 2.1 Penelitian Terdahulu
No. Peneliti Judul Metode Keterangan
1. Donny Avianto (2016)
Pengenalan Pola Karakter Plat Nomor Kendaraan Menggunakan Algoritma Momentum Backpropogation Neural Network
Momentum Backpropogation Neural Network
dan Haar
Wavelet
Penelitian ini melakukan pengenalan plat nomor kendaraan dari akuisisi citra berupa foto dengan memperoleh akurasi 97,01%
17
2.
M. S. Sarfraz, A. Shahzad, Muhammad A.
Elahi, M. Fraz, I. Zafar, E. A.
Edirisinghe (2017)
Real-Time
Automatic License Plate Recognition for CCTV Forensic Applications
Nearest Neighbor
Penelitian ini melakukan pengenalan plat nomor kendaraan dari akuisisi citra CCTV (video) dengan
memperoleh akurasi 94%
3. Balaji & Rajesh (2017)
Smart Vehicle Number Plate Detection System for Different Countries Using an Improved
Segmentation Method
Pattern Matching
Penulis melakukan pengenalan plat nomor kendaraan dari akuisisi citra berupa foto.
Penelitian juga mampu
mendeteksi plat nomor dari negara yang berbeda
4.
Surajit Das &
Joydeep Mukherjee (2017)
Automatic License Plate Recognition Technique using Convolutional Neural Network
Convolutional Neural Network
Penelitian ini melakukan pengenalan plat nomor kendaraan dari akuisisi citra berupa foto dengan memperoleh akurasi 85,83%
2.9 Perbedaan Penelitian Terdahulu
Berdasarkan penelitian terdahulu, terdapat faktor-faktor yang memengaruhi keakuratan dari sistem tersebut. Secara keseluruhan, pada penelitian terdahulu hanya meneliti tentang pengenalan serta hasil identifikasi plat nomor kendaraan saja serta hanya menggunakan citra gambar sebagai data yang digunakan.
Penelitian yang dilakukan yaitu meliputi pengenalan dan pencocokan plat nomor kendaraan serta menampilkan status plat nomor kendaraan, apakah plat nomor kendaraan termasuk warga kompleks atau bukan. Penelitian ini juga menggunakan Convolutional Neural Network, di mana data yang diolah berasal dari citra IP camera dengan tahapan pre-processing, yaitu crop, rectangle detection, resize, grayscale, threshold, dan find contour untuk proses pemisahan antarkarakter.
5. Panchal &
Patel (2016)
License Plate Detection using Harris Corner and Character
Segmentation by Integrated
Approach from and Image
Harris Corner
Penelitian ini melakukan pengenalan plat nomor kendaraan dari akuisisi citra berupa foto dengan memperoleh akurasi 93,84%
6. Rohimah (2017)
Pengenalan Plat Nomor Kendaraan Indonesia
Menggunakan Principal Component Analysis dan Metode K-Nearest Neighbor
Principal Component Analysis dan K-Nearest Neighbor
Penelitian ini melakukan pengenalan plat nomor kendaraan dari akuisisi citra berupa foto dengan memperoleh akurasi 92,86%
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Rancangan arsitektur aplikasi secara detail serta algoritma Convolutional Neural Network yang dipakai pada aplikasi pengenalan plat nomor kendaraan yang menggunakan data IP camera dijelaskan pada bab 3. Terdapat pembahasan mengenai analisis data yang digunakan, tahap pengolahan citra, seperti tahap pre-processing untuk meningkatkan kualitas citra dengan crop, rectangle detection, resize, grayscale, threshold, dan find contour serta identifikasi karakter plat menggunakan Convolutional Neural Network serta perancangan tampilan antarmuka.
3.1 Analisis Sistem
Peneliti menggunakan data dengan dua jenis, yaitu dari data latih beserta data uji. Data uji merupakan kumpulan data untuk belajar mengenali gambar pada mesin dengan cara melatih sistem terlebih dahulu. Kemudian data testing ialah kumpulan data yang digunakan untuk diuji sebagai tahap akhir pembuatan sistem guna mengetahui seberapa tinggi tingkat akurasi yang diperoleh. Dataset yang digunakan merupakan data plat nomor kendaraan dengan ekstensi mp4 dari IP camera Kompleks Green Park di Jalan STM Ujung, Harjosari II, Medan Amplas. Data plat nomor kendaran berjumlah 90 buah.
3.1.1 Data latih (training)
Data latih yang digunakan sebagai masukan atau input dalam proses belajar pada mesin yang digunakan sebanyak 60 citra.
3.1.2 Data uji (testing)
Data uji yang dipakai untuk pengujian sistem guna mengetahui tingkat akurasi keberhasilan sebagai tahap akhir sebanyak 30 citra.
Pada Gambar 3.1 merupakan arsitektur umum yang akan dilakukan pada sistem.
Gambar 3.1 Arsitektur Umum Jika Status: Warga Kompleks
(Plat Terdapat di Database) - Nomor Plat
- Waktu Deteksi - Foto Pemilik Kendaraan - Nama Pemilik Kendaraan - Alamat Pemilik Kendaraan
Output Identifikasi
Identifikasi
Pencocokan
Data Plat Hasil Identifikasi
(Nomor Plat termasuk Warga Kompleks atau
Bukan) Crop
Rectangle Detection Pre-Processing
Resize
Threshold
Find Contour
Convolutional Neural Network Saved in Model
Input
Citra Plat Nomor Kendaraan
Input
Citra Plat Nomor Kendaraan Data Uji
Data Latih
Grayscale
Model Convolutional Neural Network in .h5
Load .h5 model
Jika Status: Bukan Warga Kompleks (Plat Tidak Terdapat di Database)
- Nomor Plat - Waktu Deteksi
- Status: Bukan Warga Kompleks - Warning
Training Testing
21
3.1.3 Image pre-processing
Tahap image pre-processing adalah tahapan ketika citra yang telah dimasukkan sebagai masukan atau input kemudian diolah untuk mendapatkan suatu citra dengan kualitas yang lebih baik agar sistem dapat belajar lebih baik pula. Hal ini dikarenakan, data yang digunakan memiliki noise yang berasal dari berbagai aspek, misalnya pencahayaan, ukuran, dan sebagainya.
Tahap pre-processing pada sistem pengenalan plat nomor kendaraan ini terdiri dari crop, rectangle detection, resize, grayscale, threshold, find contour, kemudian pemisahan antarkarakter yang terdeteksi agar lebih mudah dikenali pada tahap selanjutnya, yaitu pengidentifikasian plat nomor berupa huruf dan angka.
a. Crop
Pada tahap crop ini, citra video akan dilakukan pemotongan suatu citra yang dipilih berdasarkan titik koordinat, yakni pada posisi plat nomor kendaraan. Bagian tersebut kemudian dipotong untuk mendapatkan lokasi posisi plat pada citra.
Tabel 3.1 Crop Plat Nomor Kendaraan
No. Citra Asli Citra Crop
1.
2.
3.
4.
5.
6.
7.
8.
23
9.
10
11.
12.
…
30.
b. Rectangle Detection
Pada tahap ini, citra video akan dilakukan pendeteksian objek plat nomor yang berbentuk persegi panjang atau rectangle menggunakan YOLOv5 (You Only Look Once). Adapun kelebihan dari YOLOv5 adalah hanya membutuhkan sumber daya komputasi yang sedikit dengan hasil kinerja yang tinggi. Hasil dari tahap ini adalah citra yang telah dilakukan crop pada proses sebelumnya kemudian akan dideteksi objek berupa plat kendaraan. Adapun proses rectangle detection menggunakan YOLOv5 adalah sebagai berikut.
Tahap 1: Mempersiapkan data
Tahapan awal sebelum memulai proses ini adalah mempersiapkan data terlebih dahulu untuk memulai proses melatih data.
Gambar 3.2 Bounding Plat Nomor Kendaraan
Pada penelitian ini, dapat dilihat di Gambar 3.2 bahwa bounding rectangle yang dilakukan hanya pada area plat nomor kendaraan sehingga label yang dimiliki hanya ada satu, yaitu plat dan memiliki empat value bounding berupa titik x1, y1, x2, dan y2.
Tahap 2: Membuat model
Dengan data yang sudah ada, dilakukan proses membuat model untuk melihat sistem melatih data apakah sudah memiliki tingkat akurasi yang tinggi atau sebaliknya. Penelitian ini menggunakan epoch 50 dan 100 yang kemudian menunjukkan bahwa makin tinggi epoch, maka kemampuan mesin akan tinggi pula, ditandai dengan akurasi yang meningkat.
25
Tahap 3: Proses training
Selanjutnya proses training guna mengambil plat kendaraan saja. Sistem kerja YOLOv5 ini pada dasarnya membagi gambar ke dalam sistem grid dan tiap-tiap grid pula akan mendeteksi objek di dalam grid itu sendiri.
Tahap 4: Proses testing
YOLOv5 yang sudah belajar dari hasil proses latih kemudian disimpan ke dalam model yang selanjutnya akan digunakan untuk menguji efektivitas dari model yang dihasilkan terhadap citra plat kendaraan.
Tahap 5: Output
Hasil akhir atau keluaran dari proses yang dilakukan berguna untuk mendapatkan informasi keakurasian dari model yang dihasilkan.
Tahap 6: Potong hasil deteksi
Setelah sistem mampu mendeteksi pada area plat kendaraan, sistem akan melakukan proses crop terhadap rectangle detection yang dilakukan oleh YOLOv5.
Tabel 3.2 Rectangle Detection Plat Nomor Kendaraan
No. Citra Setelah Crop Citra Rectangle Detection
1.
2.
3.
4.
5.
6.
7.
8.
27
9.
10.
11.
12.
…
30.
c. Resize
Proses resize dilakukan untuk mengubah ukuran asli citra menjadi lebih besar untuk mempermudah sistem mengenali objek. Hal ini dikarenakan letak IP camera yang jauh sehingga plat nomor kendaraan akan terlihat sangat kecil. Oleh karena itu, citra perlu dilakukan resize sebesar 400% untuk diubah ukurannya menjadi lebih besar agar objek dapat dikenali dan dapat terlihat.
Hasil citra pada proses sebelumnya, yaitu rectangle detection menghasilkan citra yang terlihat sangat kecil sehingga masing-masing width maupun height dikalikan dengan skala persen sebesar 400%.
Tabel 3.3 Resize Plat Nomor Kendaraan
No. Citra Setelah Rectangle Detection Citra Resize
1.
2.
3.
4.
5.
29
6.
7.
8.
9.
10.
11.
12.
…
30
d. Grayscale
Citra yang dilakukan proses grayscale akan mengubah semua warna menjadi keabuan dengan tingkat nilai intensitas paling besar 255 berwarna putih hingga warna hitam paling kecil 0. Pada proses ini, perlu dilakukan konversi color space yang pada dasarnya memiliki default warna BGR yang terdiri dari 3 channel (blue, green, red) dengan masing-masing berisi 256 warna. Oleh karena itu, dilakukan konversi warna dari BGR (Blue, Green, Red) menjadi gray (abu-abu) yang terdiri 1 channel dengan 256 intensitas warna.
Tabel 3.4 Grayscale Plat Nomor Kendaraan
No. Citra Setelah Resize Citra Grayscale
1.
2.
31
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
…
30
e. Threshold
Pada tahap ini digunakan digunakan untuk memisahkan antara objek dan latar belakangnya. Proses yang dilakukan adalah mengubah citra keabuan menjadi citra biner yang memiliki dua warna, yakni hitam dan putih. Selanjutnya dapat diketahui daerah mana yang termasuk nomor plat dan latar belakangnya. Adapun tipe threshold yang digunakan adalah THRESH_BINARY_INV. Tipe ini mengubah warna objek atau nomor plat yang semula memiliki intensitas warna cenderung lebih terang dibandingkan latar belakangnya akan diubah menjadi hitam, begitu pun sebaliknya. Oleh karena itu, latar belakang plat menjadi bernilai 255 (putih), sedangkan nomor plat bernilai 0 (hitam).
33
Tabel 3.5 Threshold Plat Nomor Kendaraan
No. Citra Setelah Grayscale Citra Threshold
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
…
30
f. Find Contour
Pada tahap ini dilakukan find contour untuk pemotongan per huruf dan angka guna membuang bagian yang tidak diperlukan dan hanya mengambil karakter alfabet saja.
Bagian yang diambil adalah piksel 0 (hitam) yang memiliki ukuran height lebih besar
35
10 piksel dan width lebih besar 3 piksel. Setelah mendapatkan hasilnya, ukuran citra kemudian diubah menjadi 30 piksel pada bagian height maupun width.
Tabel 3.6 Find Contour Plat Nomor Kendaraan
No. Citra Setelah Threshold Citra Find Contour
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
…
30
37
3.1.4 Convolutional Neural Network
Tahapan identifikasi plat nomor kendaraan pada penelitian ini memakai Convolutional Neural Network (CNN). Tahapan awal sebelum memulai proses identifikasi, yaitu mempersiapkan data terlebih dahulu untuk memulai proses training data. Pastikan folder yang diproses sudah benar, kemudian dilakukan proses training atau proses latih data dan dilanjutkan dengan proses testing. Adapun proses training menggunakan convolutional neural network adalah sebagai berikut.
Tahap 1: Menentukan filter, stride, dan padding
Pada penelitian ini, filter yang digunakan adalah 5 x 5, dengan stride pada layer pertama dan selanjutnya adalah 2, serta padding diatur dalam keadaan default, yaitu 0.
Tahap 2: Menentukan pool size
Pool size yang digunakan adalah 2 x 2.
Tahap 3: Menentukan fungsi aktivasi
Fungsi aktivasi yang diterapkan adalah ReLu (Rectified Linear Unit) pada convolution layer dan softmax yang mengubah keluaran dari fully connected layer sebagai layer terakhir menjadi probabilitas yang dapat digunakan untuk banyak kategori (A—Z dan 0—9). Hal ini berbeda dengan fungsi sigmoid yang hanya memiliki dua kategori.
Tahap 4: Menentukan optimizer
Optimizer yang digunakan adalah SGD (Stochastic Gradient Descent) yang berperan dalam menemukan weight atau nilai bobot yang optimal dengan learning rate 0.01. Meskipun SGD memiliki tingkat akurasi yang lebih rendah dibandingkan optimizer lainnya seperti Adam, optimizer SGD ini lebih cepat dalam melakukan optimization dan lebih optimal dalam penggunaan resource dari perangkat keras.
Tahap 5: Menentukan batch size
Pada penelitian ini, ukuran batch yang digunakan adalah 10. Ukuran batch ini merupakan jumlah data citra yang dilatih per satu iterasi, kemudian jumlah keseluruhan data akan dibagi dalam batch yang ditentukan dengan hasilnya
menjadi jumlah komputasi pada citra per satu epoch. Pada penelitian ini, data latih yang digunakan sebanyak 60, maka mesin akan melatih 10 data citra tersebut dalam 1 batch. Dengan demikian, mesin akan memproses citra sebanyak 6 kali per satu epoch.
Tahap 6: Menentukan epoch
Jumlah epoch yang digunakan adalah 500. Sebelumnya, mesin melatih data dengan epoch 400, tetapi mesin masih menunjukkan adanya kesalahan.
Dengan demikian, jika proses iterasi untuk mengulangi proses belajar ini makin besar, kemampuan mesin akan meningkat dalam belajar mengenali citra sehingga hasil akurasinya juga akan meningkat.
Tahap 7: Proses training
Pada tahap akhir pre-processing, yaitu find contour guna memisahkan setiap karakter, citra yang dihasilkan berukuran 30 x 30 x 1. Citra tersebut kemudian digunakan sebagai citra input untuk melatih data yang akan diproses menggunakan CNN guna mengambil feature extraction dengan jumlah neuron 10, kemudian ukuran kernel 5 x 5 x 1 dengan hasil ukuran 15 x 15 x 10 dan pada max pooling layer pertama menjadi 15.
Hasil convolutional layer pertama kemudian diproses ke layer kedua dengan neuron 50, ukuran kernel 5 x 5 x 50 dan hasilnya menjadi 15 x 15 x 50.
Selanjutnya dimensi akan diperkecil lagi pada pooling layer menjadi 7 sehingga hasil dari layer kedua ini adalah 7 x 7 x 50.
Setelah semua proses selesai, maka akan diperoleh 36 fully connected layer, yaitu A—Z dan 0—1 dengan 100 neuron.
Tahap 8: Proses testing
CNN yang sudah belajar dari hasil proses latih kemudian disimpan dengan ekstensi .h5. Selanjutnya, model ini akan digunakan untuk menguji efektivitas dari model yang dihasilkan CNN terhadap citra plat kendaraan.
Tahap 9: Output
Hasil akhir atau keluaran dari proses yang dilakukan berguna untuk mendapatkan informasi keakurasian dari model yang dihasilkan.
39
A
Input . Conv. Layer Pooling Layer .
30 x 30 . .
. .
Fully Connected Layer
Gambar 3.3 Proses Identifikasi CNN terhadap Citra
Gambar 3.3 merupakan proses dan alur untuk proses identifikasi yang dipelajari oleh CNN dengan mengekstraksi fitur dari citra dengan convolutional layer kemudian hasilnya digunakan untuk input proses pooling layer. Setelah itu, CNN akan membagi data sesuai dengan kategori yang sudah ditentukan, yaitu A—Z dan 0—1.
3.2 Rancangan Antarmuka
Rancangan antarmuka bertujuan memberikan penjelasan serta ilustrasi antarmuka sistem identifikasi plat nomor kendaraan yang menggunakan input data citra dari rekaman IP camera. Dalam perancangan ini terdapat tiga menu utama yaitu home, plate dan history.
3.2.1 Rancangan tampilan home
Menu Home berupa interface utama dalam pembuatan sistem. Dalam menu home menampilkan judul penelitian. Pada halaman ini pengguna dapat menuju menu pilih video, tambah plat, dan melihat riwayat, seperti pada Gambar 3.3.
APLIKASI DETEKSI PLAT KENDARAAN
Gambar 3.4 Tampilan Home
Z . . .
0 9 . . . Output
Test Video
Plate History Home
3.2.2 Rancangan menu hasil deteksi
Menu pada Deteksi video ini merupakan tampilan untuk melihat hasil plat nomor kendaraan yang sedang berjalan.
a. Hasil Deteksi Warga Kompleks
Jika hasil deteksi menunjukkan warga kompleks, pada halaman ini akan menampilkan nomor plat, waktu deteksi, foto pemilik kendaraan, nama pemilik kendaraan, dan alamat.
Gambar 3.5 Tampilan Hasil Deteksi Warga Kompleks b. Hasil Deteksi Bukan Warga Kompleks
Jika hasil deteksi menunjukkan bukan warga kompleks, halaman ini menampilkan plat nomor, waktu deteksi, status (bukan warga kompleks), dan warning.
Gambar 3.6 Tampilan Hasil Deteksi Bukan Warga Kompleks Video
Stop
Hasil Deteksi
Nomor Plat Waktu Deteksi
Nama Pemilik Alamat
Photo
Plate History Home
Video
Stop Hasil Deteksi
Nomor Plat Waktu Deteksi
Warning!
Bukan warga kompleks
Plate History Home
41
3.2.3 Rancangan menu plate
Pada menu ini merupakan tampilan untuk melihat daftar plat, menambah, atau menghapus plat nomor kendaraan yang bertempat tinggal di kompleks Green Park. Pada halaman ini ditampilkan data plat nomor yang telah tersimpan.
No Plate Name Address Photo
Edit | Delete
Edit | Delete
Edit | Delete
Edit | Delete
Gambar 3.7 Tampilan Plate 3.2.4 Rancangan menu history
Menu pada Riwayat ini merupakan tampilan untuk melihat riwayat hasil plat nomor kendaraan yang telah masuk ke sistem. Pada halaman ini ditampilkan hasil deteksi, waktu deteksi, foto, dan status plat kendaraan (warga kompleks/bukan warga kompleks).
No Plate Date Photo State
Gambar 3.8 Tampilan History
Prev Next
Plate History Home
Add
Prev Next
Plate History Home
3.2.5 Rancangan menu add/edit
Menu ini merupakan tampilan untuk mengedit atau menambah hasil plat nomor kendaraan yang telah masuk maupun yang baru dimasukkan ke dalam sistem. Pada halaman ini terdapat kolom isian untuk nama pemilik kendaraan, plat nomor, alamat, dan foto pemilik kendaraan.
Gambar 3.9 Tampilan Add/Edit Cancel Save
Plate History Home
NAME PLATE ADDRESS
UPLOAD
Photo
BAB 4
IMPLEMENTASI DAN PENGUJIAN
Bab 4 membahas tentang penerapan metode Convolutional Neural Network untuk pengenalan plat nomor kendaraan serta melakukan uji sistem berdasarkan analisis yang dirancang.
4.1 Implementasi Sistem
Dalam tahap ini dilakukan penerapan untuk penelitian pengenalan plat nomor kendaraan dengan Convolutional Neural Network (CNN).
4.1.1 Perangkat keras dan lunak
Untuk membangun rancangan sistem, peneliti membutuhkan perangkat keras serta perangkat lunak sesuai ketentuan spesifikasi berikut:
a. Komputer dengan processor Intel® Core™ i7-8700 CPU @ 3.20GHz b. Kapasitas hard disk 1 TB
c. Kapasitas RAM 16 GB
d. Sistem operasi Windows 10 Home
e. Tipe sistem 64 bit operating system x64 based processor 4.1.2 Perancangan antarmuka
Implementasi rancangan antarmuka aplikasi ini dirancang untuk mempermudah pengguna dalam menggunakannya dan dijelaskan sebagai berikut.
Halaman home ini ialah tampilan utama ketika sistem dijalankan dan terdapat tombol menu pilih video, tambah plat, dan melihat riwayat, seperti pada Gambar 4.1.
Gambar 4.1 Tampilan Home
4.1.3 Implementasi pengujian data
Penggunaan dataset untuk melatih data training yaitu dataset dalam bentuk citra plat yang terdiri dari 90 data plat nomor kendaraan.
Gambar 4.2 Daftar Kumpulan Data Training Plat Nomor Kendaraan
45
4.2 Prosedur Operasional
Halaman utama berisi bertujuan untuk menjalankan video. Pada halaman Home terdapat menu menu pilih video, melihat data plat, dan melihat riwayat.
Gambar 4.3 Pilih Video
Adapun menu pilih video dapat memilih direktori yang akan diproses untuk melatih data menggunakan Convolutional Neural Network.
Gambar 4.4 Path Video
Selanjutnya akan masuk ke halaman hasil deteksi video yang merupakan tampilan untuk melihat hasil plat nomor kendaraan yang sedang berjalan. Pada halaman ini, jika termasuk warga kompleks, akan menampilkan seperti Gambar 4.5.
Gambar 4.5 Tampilan Hasil Deteksi Warga Kompleks
Jika tidak termasuk warga kompleks, akan menampilkan seperti Gambar 4.6.
Gambar 4.6 Tampilan Hasil Deteksi Bukan Warga Kompleks
Selanjutnya, jika ingin melihat riwayat hasil plat nomor kendaraan yang telah masuk ke sistem, silakan pilih menu history. Pada halaman ini ditampilkan hasil deteksi, waktu deteksi, foto, dan status plat kendaraan (warga kompleks/bukan warga kompleks).
47
Gambar 4.7 Tampilan History
Ada pula menu Plate yang merupakan tampilan untuk menampilkan plat nomor kendaraan yang bertempat tinggal di kompleks Green Park beserta icon yang dapat mengedit dan menghapus plat kendaraan.
Gambar 4.8 Tampilan Plate
Berikutnya, jika ingin mengedit dan menghapus plat kendaraan, tampilannya akan seperti pada Gambar 4.9.
Gambar 4.9 Tampilan Add/Edit
4.3 Pengujian Sistem
Tahap pengujian sistem ini menjelaskan hasil yang didapat berdasarkan proses pengujian yang dilakukan pada 30 citra plat nomor kendaraan.
Tabel 4.1 Uji Data Citra
No. Citra Asli Citra Find Contour Hasil
1.
BK1442DM
2. BK1037FT
49
3. BK3509ADV
4. BK1335FY
5. BK1311EN
6. BK1616UP
7. BK1035TU
8. BK1993FH
9. BK178QY
10. BK1660IU
11. BK1156AE
12. BK1202UF
…
30 BK8429MO
51
Berdasarkan pengujian yang telah dilakukan pada sistem untuk pengenalan identitas kendaraan (plat) menggunakan Convolutional Neural Network untuk melatih data, maka hasil akurasi yang diperoleh mencapai 86%.
Presentasi Akurasi = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑏𝑒𝑛𝑎𝑟
𝐽𝑢𝑚𝑙𝑎ℎ 𝑘𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 𝑑𝑎𝑡𝑎 × 100%
= 26
30 × 100%
= 86%
Adanya bab ini sebagai penutup penulisan guna menyampaikan ikhtisar serta usulan setelah sistem dibangun dengan penggunaan Convolutional Neural Network pada sistem pengenalan plat nomor kendaraan dengan tujuan agar peneliti selanjutnya dapat memperbaiki dan mengembangkan penelitian ini.
5.1 Kesimpulan
Hasil yang didapatkan peneliti pada pengenalan plat nomor kendaraan menggunakan sumber masukan atau input berupa rekaman IP camera dengan Convolutional Neural Network, yaitu CNN dapat mengenali plat nomor kendaraan dengan akurasi mencapai 86%. Kualitas citra asli yang baik sangat berpengaruh terhadap tingkat akurasi.
Meskipun sebagian besar pengujian berhasil, jika citra input memiliki kualitas rendah dan banyak noise, pengenalan huruf bisa saja salah. Pre-processing yang dilakukan guna Hal ini dikarenakan berbagai faktor, yaitu lokasi IP camera, pencahayaan, plat nomor kendaraan yang kabur, dan lain sebagainya.
5.2 Saran
Sesuai penelitian ini, saran penulis kepada peneliti berikutnya guna perbaikan maupun pengembangan yang lebih baik adalah sebagai berikut.
1. Menerapkan pengenalan plat nomor kendaraan dengan algoritme Neural Network yang lain sehingga dapat membandingkan dengan Convolution Neural Network guna mengetahui algoritme mana yang lebih baik.
2. Memperbanyak jumlah data plat nomor kendaraan dalam proses training sehingga dapat meningkatkan kemampuan model mengenali data.