i
TUGAS AKHIR
PENGENALAN RAMBU LALU LINTAS
PERINGATAN MENGGUNAKAN MOMEN SPASIAL DAN MOMEN PUSAT
Diajukan untuk memenuhi syarat memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh:
ADRIEL KRIS NOVIANTO NIM : 175114015
PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERITAS SANATA DHARMA YOGYAKARTA
2021
ii
FINAL PROJECT
IDENTIFICATION OF WARNING TRAFFIC SIGN USING SPATIAL AND CENTRAL MOMENTS
Presented as Partial Fulfillment of the Requirements To Obtain the Bachelor of Engineering Degree
In Study Program of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
Compiled by:
ADRIEL KRIS NOVIANTO NIM : 175114015
DEPARTMENT OF ELECTRICAL ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
2021
vi
HALAMAN PERSEMBAHAN
“Hasil tidak akan mengkhianati usaha. Nikmati prosesnya, serahkan semuanya pada Tuhan. Manusia hanya bisa berusaha”
Skripsi ini kupersembahkan untuk : Tuhan Yesus Kristus, Bunda Maria, Santo Santa Ibu, Bapak, Dek Elliya Maria Fetty Yuliana Sari Sahabat – sahabatku Teknik Elektro Sanata Dharma
viii
INTISARI
Pada saat ini, teknologi berkembang sangat cepat. Salah satu contohnya adalah computer vision. Computer vision merupakan salah satu cara komputer untuk dapat melihat dan mendapatkan suatu informasi dari citra, sehingga teknologi ini membuat komputer dapat melihat dan memproses seperti mata manusia. Berdasarkan perkembangan teknologi tersebut, dibuatlah sebuah aplikasi yang digunakan untuk mengenali rambu lalu lintas peringatan yang nantinya akan memudahkan pengguna untuk mengetahui arti rambu tersebut.
Sistem pengenalan dibuat menggunakan bahasa pemrograman python. Citra rambu lalu lintas direkam menggunakan kamera HP secara langsung di pinggir jalan raya.
Pemrosesan oleh sistem akan menghasilkan citra dalam bentuk biner sebagai hasil pengenalan rambu lalu lintas peringatan yang memilik warna kuning. Pengenalan menggunakan ekstraksi ciri momen spasial dan momen pusat dan menggunakan jarak kosinus dan klasifikasi k-Nearest Neighbour (k-NN).
Pengenalan rambu lalu lintas peringatan menggunakan 2 input, yaitu gambar dan video. Pengenalan video dan gambar memilik tingkat pengenalan rata-rata yang sama, hal ini disebabkan karena objek yang diolah merupakan objek dengan frame yang sama. Tingkat pengenalan sebesar 82% dengan nilai k=1, 69% dengan nilai k=3, 68% dengan nilai k=5, dan 64% dengan nilai k=7. Selain berdasarkan nilai k, tingkat rata-rata pengenalan diproses berdasarkan jarak objek sebesar 77% untuk jarak 1 m, 71% untuk jarak 2 m, dan 64% untuk jarak 3 m.
Kata kunci : Rambu lalu lintas peringatan, momen spasial dan momen pusat, jarak kosinus, dan k-Nearest Neighbour (k-NN).
ix
ABSTRACT
Currently, technology is rapidly improving. Computer vision is one of its examples. It is a way for computers to see and gain information from imageries, allowing computers to see and process the way human eyes do. An application can be made based on such technology, used to identify traffic signs, therefore informing users of the meaning of said signs.
The recognition system is made using the Python programming language. An image of a traffic sign is recorded directly through a smartphone camera and processed by the system into the binary form, resulting in an identified traffic sign with a yellow color code, for example. The identification process utilizes the extraction of spatial and central moments’ characteristics and the use of the cosine distance and classification of k-Nearest Neighbour (k-NN)
The identification of traffic signs using 2 input, that is picture and video. Identification picture and video have a similar average identification rate, due to objects processed having similar frames. The identification rate is as big as 82% with the value of k=1, 69% with k=3, 68% with k=5, and 64% with k=7. Alongside the value of k, the average identification rate is processed based on the distance of the objects, with 77% from a distance of 1 m, 71%
from a distance of 2 m, and 64% from 3 m.
Keywords: warning traffic signs, spatial moment and central moment, cosine distance, k-Nearest Neighbour (k-NN)
x
KATA PENGANTAR
Setiap pekerjaan yang dilakukan seseorang, pasti memiliki rintangan dan halangan. Untuk mengatasi hal tersebut dibutuhkan dukungan baik dari individu maupun kelompok sehingga pekerjaan itu terselesaikan. Pada kesempatan ini, penulis mengucapkan terima kasih untuk : 1. Tuhan Yesus Kristus, Bunda Maria, Santo Yosef, Santo Santa pelindung yang telah
memberi dukungan iman dan selalu memberikan jalan di saat tersesat.
2. Kedua orang tua saya dan Dek Elliya yang selalu memberikan semangat dan dukungan.
3. Maria Fetty Yuliana Sari yang selalu setia memberikan semangat dan selalu siap memberikan bantuan.
4. Bapak Dr. Linggo Sumarno selaku dosen pembimbing yang sangat sabar membimbing dan siap sedia memberikan masukan yang berguna untuk menyelesaikan Tugas Akhir.
5. Bapak Damar Widjaja, Ph.D. dan Ibu Wiwien Widyastuti, S.T., M.T. selaku dosen penguji yang memberikan kritik dan saran yang sangat membangun demi pengembangan Tugas Akhir ini.
6. Bapak Ir. Tjendro, M.Kom., selaku Ketua dan Bapak Dr. Linggo Sumarno selaku Wakil Ketua Program Studi Teknik Elektro, dan Dekan Fakultas Sains dan Teknologi yang telah memberikan dukungan dan pedampingan baik secara akademik dan non akademik sehingga penulis dapat menyelesaikan studi dengan baik.
7. Ibu Ir. Th. Prima Ari Setiyani, M.T. selaku Dosen Pembimbing Akademik yang selalu memberikan arahan selama perkuliahan agar dapat berjalan dengan lancar.
8. Nova Budi Kurniawan dan Septiyan Dwi Prasetya yang telah bersama – sama menyelesaiakan dan mengerjakan tugas akhir ini.
9. Della, Vicko, Dandi, Yosa, Titan, Yosafat, dan Langgeng selaku teman satu dosen pembimbing yang selalu memberikan semangat dan berjuang bersama selama pengerjaan tugas akhir ini.
10. Seluruh dosen dan karyawan Program Studi Teknik Elektro yang telah memberikan pelayanan baik secara akademik maupun non akademik dan memberikan kelancaran selama masa perkuliahan berlangsung.
11. Teman teman Teknik Elektro Universitas Sanata Dharma angkatan 2017 yang selalu mendukung, selalu kompak sejak menjadi bagian keluarga besar Teknik Elektro
xii
DAFTAR ISI
HALAMAN SAMPUL (BAHASA INDONESIA) ... i
HALAMAN SAMPUL (BAHASA INGGRIS) ... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
LEMBAR PERNYATAAN KEASLIAN KARYA ... v
HALAMAN PERSEMBAHAN ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
INTISARI ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xv
DAFTAR TABEL ... xvii
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Tujuan dan Manfaat ... 2
1.3. Batasan Masalah ... 2
1.4. Metodologi Penelitian ... 3
BAB II DASAR TEORI ... 6
2.1. Rambu Lalu Lintas ... 6
2.2. Pengolahan Citra ... 7
2.2.1. Ruang Warna RGB (Red, Green, Blue) ... 7
2.2.2. Hue, Saturation, Value (HSV) ... 8
2.2.3. Citra Biner ... 11
xiii
2.2.4. Cropping ... 12
2.3. Operasi Morflogi ... 12
2.3.1. Operasi Dilasi dan Erosi ... 12
2.4. Pengurangan Derau (Noise) ... 13
2.5. Bounding Box ... 14
2.6. Momen Spasial dan Momen Pusat ... 14
2.7. Log Scale ... 18
2.8. Template Matching ... 18
2.8.1. Fungsi Jarak Kosinus ... 19
2.9. k-Nearest Neighbour (k-NN) ... 20
BAB III RANCANGAN PENELITIAN ... 22
3.1. Perancangan Sistem ... 22
3.2. Proses Kerja Sistem ... 23
3.2.1. Input Data ... 25
3.2.2. Preprocessing ... 27
3.3. Tahap Ekstraksi Ciri Momen Spasial dan Momen Pusat ... 31
3.4. Perhitungan Jarak Kosinus ... 32
3.5. Penentuan Keluaran ... 34
3.6. Pembuatan Database ... 35
3.7. Pengujian Rambu Lalu Lintas Peringatan ... 36
3.7.1. Pengujian Input Gambar ... 36
3.7.2. Pengujian Input Video ... 36
3.8. Menentukan Tingkat Pengenalan Sistem ... 36
3.9. Perancangan GUI ... 37
BAB IV HASIL DAN PEMBAHASAN ... 39
4.1. Perubahan Rancangan... 39
4.1.1. Batasan Masalah dan Pengambilan Data ... 39
4.1.2. Perbandingan Hasil CW dan CCW Kotak Kecil dan Kotak Besar ... 40
4.1.3. Metodologi Penelitian ... 41
4.1.4. Rambu Lalu Lintas Peringatan ... 42
xiv
4.1.5. Penghilangan Istilah Real Time dan Non Real Time ... 42
4.1.6. Rancangan Penelitian ... 43
4.1.7. Perubahan dan cara Penggunaan GUI ... 46
4.1.8. Pembuatan Database ... 49
4.2. Hasil Pengujian dan Analisis Data ... 50
4.2.1. Pengujian Input Video ... 51
4.2.2. Pengujian Input Gambar ... 53
4.3. Catatan dalam Penelitian ... 55
4.4. Hasil Perbandingan dengan Penelitian Lainnya ... 56
BAB V KESIMPULAN DAN SARAN ... 58
4.1. Kesimpulan ... 58
4.2. Saran ... 58
DAFTAR PUSTAKA ... 59 LAMPIRAN 1 ... L-1
A. Data Pengujian Input Video ... L-1 B. Data Pengujian Input Gambar ... L-7 LAMPIRAN 2 Data Perubahan Rambu Lalu Lintas Peringatan ... L-14 LAMPIRAN 3 Nilai Ekstraksi Ciri Database ... L-15
xv
DAFTAR GAMBAR
Gambar 2.1. Contoh Rambu Peringatan Sesuai Undang-Undang ... 6
Gambar 2.2. Rambu Peringatan di Jalan Raya... 7
Gambar 2.3. Representasi Nilai RGB ... 7
Gambar 2.4. Citra RGB ... 8
Gambar 2.5. Representasi 3D Silindris HSV ... 9
Gambar 2.6. Pembagian Level HSV ... 9
Gambar 2.7. (a) Citra HSV ; (b) Komponen Hue ; (c) Komponen Saturation ; (d) Komponen Value ... 10
Gambar 2.8. Contoh Citra Biner ... 12
Gambar 2.9. Contoh Cropping ... 12
Gambar 2.10. (a) Hasil Operasi Dilasi ; (b) Hasil Operasi Erosi ... 13
Gambar 2.11. Hasil Gaussian Filter... 13
Gambar 2.12. Hasil Bounding Box... 14
Gambar 2.13. Contoh Citra Untuk Perhitungan Manual ... 15
Gambar 3.1. Perancangan Sistem ... 22
Gambar 3.2. Diagam Blok Kerja Sistem Input Gambar ... 23
Gambar 3.3. Diagam Blok Kerja Sistem Input Video ... 24
Gambar 3.4. Diagram Blok Input Data Gambar ... 26
Gambar 3.5. Diagram Blok Input Data Video ... 26
Gambar 3.6. Diagram Blok Preprocessing (Input Gambar) ... 27
Gambar 3.7. Diagram Blok Preprocessing (Input Video) ... 28
Gambar 3.8. Diagram Blok Konversi BGR ke HSV ... 29
Gambar 3.9. Diagram Blok Segmentasi HSV (Deteksi Warna Kuning) ... 29
xvi
Gambar 3.10. Diagram Blok Dilasi dan Erosi ... 30
Gambar 3.11. Diagram Blok Proses Cropping ... 31
Gambar 3.12. Diagram Blok Ekstraksi Ciri ... 31
Gambar 3.13. Diagram Blok Fungsi Jarak Kosinus ... 33
Gambar 3.14. Diagram Blok Penentuan Keluaran ... 34
Gambar 3.15. Diagram Blok Database ... 35
Gambar 3.16. Perancangan GUI ... 37
Gambar 4.1. CW dan CCW Kotak Kecil ... 39
Gambar 4.2. CW dan CCW Kotak Besar... 40
Gambar 4.3. Perbandingan Hasil Kotak Kecil dan Kotak Besar ... 41
Gambar 4.4. Perubahan Rambu Peringatan yang digunakan dalam Penelitian ... 42
Gambar 4.5. Perubahan Diagram Blok Input Gambar ... 43
Gambar 4.6. Perubahan Diagram Blok Prepocessing (Input Gambar)... 44
Gambar 4.7. Perubahan Diagram Blok Prepocessing (Input Video) ... 45
Gambar 4.8. Tampilan Awal GUI ... 46
Gambar 4.9. Tampilan List Box ... 46
Gambar 4.10. Tampilan Awal GUI Pengenalan Gambar ... 47
Gambar 4.11. Tampilan Awal GUI Pengenalan Video ... 47
Gambar 4.12. GUI Hasil Pengenalan Gambar ... 48
Gambar 4.13. GUI Hasil Pengenalan Video ... 48
Gambar 4.14. Hasil Pengujian Input Video ... 51
Gambar 4.15. Contoh Gambar Biner 1 ... 52
Gambar 4.16. Hasil Pengujian Input Gambar ... 54
Gambar 4.17. Contoh Gambar Biner 2 ... 55
xvii
DAFTAR TABEL
Tabel 2.1. Hasil Perhitungan Pusat Masa (𝑥̅) ... 15
Tabel 2.2. Hasil Perhitungan Pusat Masa (𝑦̅) ... 16
Tabel 2.3. Perhitungan Momen Pusat ... 17
Tabel 2.4. Hasil Momen Pusat ... 17
Tabel 2.5. Perhitungan Momen Pusat Ternormalisasi ... 17
Tabel 2.6. Hasil Momen Pusat Ternormalisasi ... 18
Tabel 2.7. Contoh Hasil Perhitungan Tanpa Log Scale ... 18
Tabel 2.8. Contoh Hasil Perhitungan dengan Log Scale ... 18
Tabel 2.9. Hasil Perhitungan Jarak Kosinus ... 20
Tabel 2.10. Urutan Jarak Kosinus ... 20
Tabel 2.11. Pengambilan Nilai Sebanyak k=3 ... 21
Tabel 2.12. Pengambilan Nilai Sebanyak k=5 ... 21
Tabel 3.1. Keterangan GUI ... 37
Tabel 4.1. Database Setiap Jarak ... 49
Tabel 4.2. Database Gabungan ... 49
Tabel 4.3. Rata-rata Berdasarkan Jarak: Hasil Tingkat Pengenalan ... 52
Tabel 4.4. Rata-rata Berdasarkan Nilai k: Hasil Tingkat Pengenalan ... 52
Tabel 4.5. Rata-rata Berdasarkan Jarak: Hasil Tingkat Pengenalan ... 54
Tabel 4.6. Rata-rata Berdasarkan Nilai k: Hasil Tingkat Pengenalan ... 54
Tabel 4.7. Hasil Perbandingan Penelitian ... 56 Tabel L-1. Confusion Matrix Jarak 1 m nilai k=1 (input Video) ... L-1 Tabel L-2. Confusion Matrix Jarak 1 m nilai k=3 (input Video) ... L-2 Tabel L-3. Confusion Matrix Jarak 1 m nilai k=5 (input Video) ... L-2
xviii
Tabel L-4. Confusion Matrix Jarak 1 m nilai k=5 (input Video) ... L-3 Tabel L-5. Confusion Matrix Jarak 2 m nilai k=1 (input Video) ... L-3 Tabel L-6. Confusion Matrix Jarak 2 m nilai k=3 (input Video) ... L-4 Tabel L-7. Confusion Matrix Jarak 2 m nilai k=5 (input Video) ... L-4 Tabel L-8. Confusion Matrix Jarak 2 m nilai k=7 (input Video) ... L-5 Tabel L-9. Confusion Matrix Jarak 3 m nilai k=1 (input Video) ... L-5 Tabel L-10. Confusion Matrix Jarak 3 m nilai k=3 (input Video) ... L-6 Tabel L-11. Confusion Matrix Jarak 3 m nilai k=5 (input Video) ... L-6 Tabel L-12. Confusion Matrix Jarak 3 m nilai k=7 (input Video) ... L-7 Tabel L-13. Confusion Matrix Jarak 1 m nilai k=1 (input Gambar) ... L-8 Tabel L-14. Confusion Matrix Jarak 1 m nilai k=3 (input Gambar) ... L-8 Tabel L-15. Confusion Matrix Jarak 1 m nilai k=5 (input Gambar) ... L-9 Tabel L-16. Confusion Matrix Jarak 1 m nilai k=7 (input Gambar) ... L-9 Tabel L-17. Confusion Matrix Jarak 2 m nilai k=1 (input Gambar) ... L-10 Tabel L-18. Confusion Matrix Jarak 2 m nilai k=3 (input Gambar) ... L-10 Tabel L-19. Confusion Matrix Jarak 2 m nilai k=5 (input Gambar) ... L-11 Tabel L-20. Confusion Matrix Jarak 2 m nilai k=7 (input Gambar) ... L-11 Tabel L-21. Confusion Matrix Jarak 3 m nilai k=1 (input Gambar) ... L-12 Tabel L-22. Confusion Matrix Jarak 3 m nilai k=3 (input Gambar) ... L-12 Tabel L-23. Confusion Matrix Jarak 3 m nilai k=5 (input Gambar) ... L-13 Tabel L-24. Confusion Matrix Jarak 3 m nilai k=7 (input Gambar) ... L-13 Tabel L-25. Data Perubahan Rambu Lalu Lintas Peringatan ... L-14
1
BAB I
PENDAHULUAN
1.1 . Latar Belakang
Pada jaman ini teknologi berkembang sangat cepat. Computer vision merupakan contoh salah satu teknologi yang dikembangkan. Computer vision adalah sebuah teknologi yang membuat sebuah komputer dapat melihat dan mengenali suatu informasi dari suatu gambar atau citra sehingga komputer ini dapat memiliki kemampuan seperti mata manusia dan menangkap informasi secara visual [1]. Berdasarkan teknologi yang ada tersebut, maka penulis membuat suatu program sehingga komputer dapat mengenali lambang rambu-rambu lalu lintas. Gambar yang akan dikenali yaitu gambar rambu-rambu lalu lintas peringatan yang terdapat di jalan raya (real location).
Sistem pengenalan rambu-rambu lalu lintas ini bersifat real location menggunakan kamera handphone untuk mengambil citra. Penelitian mengenai rambu lalu lintas sebelumnya telah dilakukan oleh Nugroho tentang Pengenalan Secara Real Time Rambu Lalu Lintas Peringatan Menggunakan Ekstraksi Ciri Wavelet Haar dan Fungsi Jarak Chi Square [2] dan Rizarta tentang Pengenalan Citra Rambu Lalu Lintas Menggunakan Ekstraksi Fitur Momen Warna dan K-Nearest Neighbour [3]. Perbedaan penelitian yang akan dilakukan ini dengan penelitian sebelumnya dibagi menjadi beberapa poin, antara lain : ekstraksi ciri, pemrograman, fungsi jarak, pengambilan input, dan jumlah input. Persamaan penelitian ini dengan penelitian sebelumnya yaitu melakukan pengenalan terhadap rambu- rambu lalu lintas.
Berdasarkan penelitian yang sudah dilakukan, maka penulis melakukan penelitian lanjutan dengan menggunakan metode dan fungsi yang berbeda. Hal ini bertujuan untuk mengembangkan penelitian-penelitian yang telah dilakukan sebelumnya. Penelitian ini bila dikembangkan nantinya dapat memberikan informasi kepada pengemudi kendaraan mengenai rambu-rambu lalu lintas yang ada di jalan raya. Hal ini dapat membantu pengendara lebih fokus di jalan raya dan dapat mengurangi resiko kecelakaan serta pelanggaran-pelanggaran lalu lintas.
1.2. Tujuan dan Manfaat
Tujuan dari penelitian ini adalah membuat aplikasi pengenalan rambu-rambu lalu lintas peringatan yang ada di jalan raya.
Manfaat penelitian ini yaitu :
a. Sebagai referensi untuk penelitian tentang pengenalan rambu-rambu lalu lintas.
b. Sebagai media bahan ajar mengenai computer vision.
1.3. Batasan Masalah
Sistem pengenalan rambu-rambu lalu lintas peringatan ini terdiri dari perangkat keras (hardware) yang berupa laptop dan kamera ponsel, serta perangkat lunak (software) yang berupa bahasa pemrograman python, yang digunakan untuk proses pengolahan data.
Pada penelitian ini, yang menjadi fokus penulis adalah pembuatan software komputer yang nantinya akan digunakan untuk mengenali rambu-rambu lalu lintas peringatan.
Sedangkan untuk hardware berupa laptop dan kamera ponsel yang sudah dimiliki penulis.
Selain itu, penulis juga menetapkan beberapa batasan masalah, antara lain sebagai berikut : a. Masukan data berasal dari gambar rambu-rambu lalu lintas peringatan berjumlah 10 rambu dengan latar belakang tidak ada warna kuning dan diambil diambil secara langsung di jalan raya dengan posisi rambu sebelah kiri dan tidak ada halangan pada rambu
b. Sepuluh rambu peringatan dalam penelitian adalah banyak lalu lintas pejalan kaki anak-anak, Peringatan (ditegaskan penjelasan jenis peringatan dengan menggunakan papan tambahan, contoh : hati-hati), Jembatan, Penyempitan Bagan Jalinan Jalan Tertentu, Pintu Perlintasan Sebidang Kereta Api, Persimpangan Tiga Sisi Kanan, Persimpangan Tiga Sisi Kiri, Tikungan ke Kanan, Tikungan ke Kiri, Alat Pemberi Isyarat Lalu Lintas, dan Simpang Empat Prioritas.
c. Pengambilan gambar dan video menggunakan kamera ponsel.
d. Pemrograman dan tampilan GUI menggunakan pemrograman Python di laptop.
e. Variasi penyekalaan dilakukan dengan variasi jarak pada masing masing rambu, jarak yang digunakan mulai 1m kemudian kelipatan 1m hingga rambu tidak dapat dikenali.
f. Variasi sudut menyerong yang digunakan adalah dimulai dari 0𝑜 kemudian kelipatan 5𝑜 hingga rambu tidak dapat dikenali pada masing masing jarak dan rambu.
g. Variasi translasi dilakukan di 3 titik sebelah kiri (atas, tengah, bawah) pada masing masing jarak dan rambu.
h. Pengenalan rambu lalu lintas ini menggunakan momen spasial dan momen pusat serta jarak kosinus.
i. Hasil pengenalan berupa teks di layar monitor laptop.
j. Sistem pengenalan bersifat real location, real time (input video) dan non real time (input image).
k. Jika ada rambu lain di luar 10 rambu yang dilatihkan maka akan dikenali sebagai salah satu dari 10 rambu yang dilatihkan.
1.4. Metodologi Penelitian
Langkah-langkah yang akan dilakukan dalam pengerjaan tugas akhir, yaitu : a. Studi literatur
Studi literatur merupakan hal yang penting, karena dengan studi literatur penulis dapat mengetahui informasi yang diinginkan. Cara yang dilakukan, yaitu dengan mengumpulkan dan mempelajari jurnal-jurnal dan penelitian-penelitian, baik yang berasal dari Universitas Sanata Dharma maupun jurnal dan penelitian dari luar Universitas Sanata Dharma. Studi literatur juga dapat bersumber dari media internet dan media-media lain yang terpercaya. Studi literatur dilakukan untuk mempelajari dan memperdalam ilmu mengenai topik penelitian ini.
b. Perancangan software
Tahap selanjutnya merupakan tahap perancangan pada software dengan bahasa pemrograman Python. Tahap ini bertujuan untuk memberikan gambaran bagaimana sistem nantinya akan bekerja sehingga sesuai dengan yang diharapkan.
Cara yang dapat dilakukan adalah dengan mengetahui dahulu garis besar proses program, kemudian membuat rencana kerangka GUI dan komponen apa saja yang akan dimasukkan ke dalam GUI. Software yang akan dibuat terdiri dari 2 software, yaitu software dengan input gambar (non real time) dan software dengan input video (real time).
c. Pembuatan software
Pembuatan software ini merupakan implementasi dari perancangan yang telah dilakukan sebelumnya. Pembuatan software ini terbagi menjadi 3 bagian, yaitu preprocessing, ekstraksi ciri, dan klasifikasi. Sistem pengenalan rambu lalu lintas peringatan ini bekerja apabila pengguna memasukkan gambar atau video yang sudah diambil sebelumnya menggunakan kamera ponsel pada rambu peringatan di jalan raya. Tahap pertama adalah tahap preprocessing, yaitu dengan mengkonversi citra RGB ke citra HSV. Kemudian dari citra HSV penulis mengambil citra hue, dari citra hue tersebut kemudian dikonversi menjadi citra biner. Tahap selanjutnya adalah proses cropping untuk mengambil bagian yang akan diproses dan menghilangkan bagian yang tidak diinginkan. Setelah tahap preprocessing tahap selanjutnya adalah proses pengenalan rambu-rambu lalu lintas peringatan terdiri dari tahap ekstraksi ciri dan tahap fungsi jarak, dalam tahap ini nantinya akan dibandingkan juga dengan data pada database. Tahap terakhir adalah klasifikasi, yaitu proses penentuan keluaran dan menampilkan hasil pada layar monitor laptop dengan menggunakan klasifikasi k-NN.
d. Pengambilan data
Pengambilan data dilakukan untuk pembuatan data pada database yang nantinya akan dibandingkan dengan data pengujian. Data yang diambil yaitu hasil ekstraksi ciri. Data diambil berdasarkan variasi penelitian yaitu penyekalaan dengan variasi jarak 1m dengan kelipatan 1m hingga rambu tidak dapat dikenali. Kemudian variasi sudut menyerong (melenceng) dengan variasi sudut dimulai dari 0𝑜 kemudian kelipatan 5𝑜 hingga rambu tidak dapat dikenali. Penulis menggunakan variasi translasi 3 titik sebelah kiri. Masing masing variasi dilakukan pada masing- masing rambu. Pengambilan data ini akan dilakukan di 3 lokasi yang berbeda, 1 lokasi untuk database dan 2 lokasi untuk data uji. Selain untuk database, pengambilan data juga dilakukan untuk pengujian kinerja sistem tersebut. Jumlah data untuk database adalah 350 (5 jarak + 15 titik + 15 sudut x 10 rambu) dan jumlah data untuk pengujian sistem berjumlah 700 data (350 x 2 lokasi).
e. Analisa dan kesimpulan
Analisa dilakukan untuk mengetahui potensi keberhasilan program untuk mengenali rambu-rambu lalu lintas peringatan dan mencari variasi penelitian yang terbaik yang menghasilkan tingkat pengenalan rambu yang optimal. Hal ini
diperoleh dengan melihat apakah hasil data uji sudah sesuai dengan data pada database yang telah dibuat. Hasil pengenalan penelitian ini akan dibandingkan dengan hasil penelitian sebelumnya. Kesimpulan dilakukan untuk menyimpulkan analisa atau pembahasan mengenai hasil penelitian..
6
BAB II DASAR TEORI
2.1. Rambu Lalu Lintas
Rambu lalu lintas adalah bagian perlengkapan jalan yang berupa lambang, huruf, angka, kalimat, dan/atau perpaduan yang berfungsi sebagai peringatan, larangan, perintah, atau petunju bagi pengguna jalan [4].
Di Indonesia rambu-rambu lalu lintas terbagi menjadi 4 jenis, yaitu rambu peringatan, rambu perintah, rambu larangan, dan rambu petunjuk. Pada penelitian ini, penulis menggunakan rambu peringatan (Gambar 2.1.). Rambu peringatan adalah sebuah rambu yang digunakan untuk memberi peringatan kemungkinan ada bahaya atau tempat berbahaya di depan pengguna jalan. Warna dasar rambu peringatan adalah berwarna kuning dengan lambing atau tulisan berwarna hitam.
(a) (b) (c) (d) (e)
(f) (g) (h) (i) (j)
Gambar 2.1. Contoh Rambu Peringatan Sesuai Undang-Undang. (a) Banyak Lalu Lintas Pejalan Kaki Anak-anak ; (b) Peringatan (ditegaskan penjelasan jenis peringatan dengan menggunakan papan tambahan, contoh : hati-hati) ; (c) Jembatan, Penyempitan
Bagan Jalinan Jalan Tertentu ; (d) Pintu Perlintasan Sebidang Kereta Api ; (e) Persimpangan Tiga Sisi Kanan ; (f) Persimpangan Tiga Sisi Kiri ; (g) Tikungan ke Kanan ;
(h) Tikungan ke Kiri ; (i) Alat Pemberi Isyarat Lalu Lintas ; (j) Simpang Empat Prioritas [4].
Gambar 2.2. Rambu Peringatan di Jalan Raya
2.2. Pengolahan Citra
Pengolahan citra adalah bidang ilmu yang mempelajari tentang bagaimana suatu citra dibentuk, diolah, dan dianalisis sehingga menghasilkan informasi yang dapat dipahami manusia. Citra yang dimaksud dapat berupa citra diam (gambar) maupun citra bergerak (berasal dari webcam atau video) [5].
2.2.1. Ruang Warna RGB (Red, Green, Blue)
Model warna RGB adalah model warna berdasarkan konsep penambahan kuat cahaya primer yaitu Red, Green, dan Blue [6]. Bila dalam suatu ruang sama sekali tidak ada cahaya, maka ruang tersebut gelap total, tidak ada sinyal gelombang cahaya yang diserap oleh mata kita atau RGB (0,0,0). Apabila di dalam suatu ruangan ada 2 macam cahaya primer (merah dan hijau) atau (merah dan biru) atau (hijau dan biru) maka ruangan tersebut akan berubah warna menjadi kuning, atau magenta atau cyan. Warna yang dibentuk dari 2 kombinasi warna tersebut adalah warna sekunder. Sedangkan untuk warna tersier (abu-abu, putih) terbentuk dari gabungan 3 warna primer.
Gambar 2.3. Representasi Nilai RGB [7]
Pada perhitungan dalam program program komputer model warna direpresentasikan dengan nilai komponennya. Gambar 2.3. menunjukkan koordinat 3D dengan nilai masing
masing komponen terdapat 256 tingkat, nilai intensitas masing-masing warna pokok berbeda, nilai maksimum adalah 255 atau 28 = 8 bit. Bila masing-masing komponen warna bernilai maksimal maka sama dengan 24 bit, sehingga terdapat 16.777.216 warna.
Pembagian ruang warna RGB ditunjukkan pada Gambar 2.4.
a b
c d
Gambar 2.4. (a) Citra RGB ; (b) Komponen Red ; (c) Komponen Green ; (d) Komponen Blue
2.2.2. Hue, Saturation, Value (HSV)
Model warna HSV mendefinisikan warna dalam terminologi Hue, Saturation, dan Value. Hue merupakan warna sebenarnya, seperti merah, violet, dan kuning. Hue digunakan untuk membedakan warna-warna dan menentukan kemerahan (redness), kehijauan (greenness) dan sebagainya dari suatu cahaya. Hue berasosiasi dengan panjang gelombang cahaya. Untuk menentukan kemurnian suatu warna maka digunakan saturation. Saturation bekerja untuk mengindikasikan seberapa banyak warna putih yang akan diberikan pada suatu cahaya. Banyaknya cahaya yang diterima oleh mata manusia tanpa memperdulikan warna dapat disebut value [6].
Gambar 2.5. Reperesentasi 3D silindris HSV [8]
Pada Gambar 2.5. merupakan gambar distribusi warna dalam ruang silinder 3D-HSV.
Semua warna yang terletak di pinggir silinder merupakan warna dengan nilai saturasi 100%
(tidak mengandung cahaya putih) atau merupakan warna utama, sedangkan semakin ke dalam warna akan semakin menuju putih (tingkat saturasi 0%). Semakin ke bawah warna akan semakin gelap, semakin ke atas warna akan semakin cerah.
Gambar 2.6. Pembagian Level HSV [9]
Pada Gambar 2.6. menunjukkan bahwa hue memiliki rentang derajat nilai 0-360 dengan pembagian warna seperti pada Gambar 2.6. dalam penelitian ini yang digunakan adalah citra hue , sedangkan untuk saturation memiliki rentang presentase 0-100 dengan 0 warna akan menjadi gelap dan 100 warna akan semakin cerah. Untuk value atau kecerahan rentang presentase 0-100, semakin tinggi presentase kecerahan maka cahaya putih akan semakin nampak. Pembagian warna HSV ditunjukkan pada Gambar 2.7. Citra HSV akan digunakan dalam pengujian, citra HSV diubah menjadi citra biner untuk mendapatkan hasil ekstraksi ciri masing – masing rambu. Citra hue merupakan citra yang digunakan ketika sistem sudah berjalan, sedangkan untuk saturation dan value tidak digunakan.
a b
c d
Gambar 2.7. (a) Citra HSV ; (b) Komponen Hue ; (c) Komponen Saturation ; (d) Komponen Value
Untuk mendapatkan nilai H, S, V berdasarkan warna R, G, B terdapat beberapa cara, yaitu [8]:
𝐻 = tan ( 3(𝐺−𝐵)
(𝑅−𝐺)+(𝑅−𝐵)) (2.1)
𝑆 = 1 −min(𝑅,𝐺,𝐵)
𝑉
𝑉 = 𝑅+𝐺+𝐵
3
Persamaan 2.1. merupakan cara perhitungan pertama untuk mencari nilai Hue, Saturation, dan Value.
Pada persamaan 2.1. membuat hue tidak terdefinisi apabila S bernilai 0. Oleh karena itu perlu dilakukan normalisasi terhadap R, G, B seperti pada Persamaan 2.2. berikut:
𝑟 = 𝑅
(𝑅 + 𝐺 + 𝐵); 𝑔 = 𝐺
(𝑅 + 𝐺 + 𝐵); 𝑏 = 𝐵 (𝑅 + 𝐺 + 𝐵)
(2.2)
Berdasarkan nilai normalisasi dengan Persamaan 2.2, maka dapat dihitung untuk memeperoleh nilai H, S, V seperti pada Persamaan 2.3. berikut:
𝑉 = max(𝑟, 𝑔, 𝑏) (2.3)
𝑆 = {
0, 𝑗𝑖𝑘𝑎𝑉 = 0 1 −min(𝑟, 𝑔, 𝑏)
𝑉 , 𝑉 > 0
𝐻 =
{
0, 𝑗𝑖𝑘𝑎𝑆 = 0 60(𝑔 − 𝑏)
(𝑠)(𝑣) , 𝑗𝑖𝑘𝑎𝑉 = 𝑟 60 [2 + 𝑏 − 𝑟
(𝑠)(𝑣)] , 𝑗𝑖𝑘𝑎𝑉 = 𝑔 60 [4 + 𝑟 − 𝑔
(𝑠)(𝑣)] , 𝑗𝑖𝑘𝑎𝑉 = 𝑏 𝐻 = 𝐻 + 360
2.2.3. Citra Biner
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat keabuan, yaitu hitam dan putih. Meskipun saat ini citra berwarna lebih disukai karena memberi kesan yang lebih kaya daripada citra biner, namun tidak membuat citra biner mati.
Pada aplikasinya, cita biner masih tetap dibutuhkan [10].
Proses segmentasi citra untuk menghasilkan citra biner dengan cara membedakan antara objek yang akan digunakan dengan latar belakangnya. Pada penelitian ini citra yang dikenali hanya satu objek. Citra yang dijadikan objek adalah citra yang berwarna kuning seperti level warna hue pada Gambar 2.6.
Operasi citra biner diawali dengan menambah saturation dan brightness pada citra yang didapat. Kemudian lakukan konversi citra RGB ke citra HSV. Pada Python nilai biner 1 direalisasikan dengan warna putih dan nilai biner 0 direalisasikan dengan nilai biner hitam.
Penulis menggunakan Gaussian Blur untuk mengurangi noise pada citra sehingga objek yang akan digunakan tidak terganggu dengan adanya noise. Contoh citra biner dapat ditampilkan pada Gambar 2.8.
Gambar 2.8. Contoh Citra Biner
2.2.4. Cropping
Cropping merupakan cara agar pengolahan citra menjadi lebih mudah. Cara ini menentukan objek yang akan digunakan untuk pengolahan citra, sedangkan objek yang lain yang tidak dibutuhkan akan dipotong atau dihilangkan sehingga tidak menganggu proses pengolahan citra. Pada penelitian ini, penulis menggunakan objek yang terbesar sebagai objek penelitian, sehingga objek-objek kecil atau noise yang ada di sekitarnya akan hilang atau terpotong, hal ini akan mempermudah pengenalan citra selanjutnya. Contoh cropping ditampilkan pada Gambar 2.9.
Gambar 2.9. Contoh Cropping
2.3. Operasi Morfologi
Operasi morfologi adalah operasi yang dilakukan pada citra biner (hitam-putih) untuk mengubah struktur suatu objek yang terkandung dalam suatu citra sehingga objek tersebut dapat dideteksi [11].
2.3.1. Operasi Dilasi dan Erosi
Operasi dilasi dan erosi merupakan salah satu contoh operasi morfologi dalam pengolahan citra digital. Operasi dilasi digunakan untuk melakukan pelebaran pada struktur
piksel objek. Operasi erosi digunakan untuk memperkecil stuktur piksel objek [11]. Contoh operasi morfologi ditampilkan pada Gambar 2.10.
a b
Gambar 2.10. (a) Hasil Operasi Dilasi ; (b) Hasil Operasi Erosi
2.4. Pengurangan Derau (Noise)
Noise atau derau adalah gangguan atau kecacatan pada suatu citra sehingga mengakibatkan informasi pada citra tersebut hilang [12]. Pada penelitian ini penulis menggunakan metode Gaussian Filter dan Median Filter untuk pengurangan derau.
Gaussian filter digunakan untuk menghilangkan derau yang muncul pada saat konversi BGR ke HSV ditunjukkan pada Gambar 2.7.(a), gambar yang telah dikonversi memiliki (noise) berupa titik – titik hitam kecil yang akan menganggu pada saat proses ekstraksi ciri. Derau disekitar objek dihilangkan supaya warna kuning pada objek terlihat lebih jelas sehingga mudah dikenali. Gaussian Filter digunakan ketika tampilan citra masih utuh (Gambar 2.11.).
Median filter digunakan ketika objek yang akan dideteksi sudah dipotong dan dalam bentuk gambar biner (Gambar 2.9.).
Gambar 2.11. Hasil Gaussian Filter
2.5. Bounding Box
Bounding box merupakan kotak pembatas yang berfungsi sebagai titik acuan objek yang akan diteliti [13]. Pada penelitian ini bounding box hanya digunakan pada pengenalan dengan input berupa video. Contoh bounding box ditampilkan pada Gambar 2.12.
Gambar 2.12. Bounding box
2.6. Momen Spasial dan Momen Pusat
Area, posisi, orientasi, dan parameter terdefinisi lainnya pada suatu objek dapat digambarkan dengan momen. Momen spasial orde (m, n) dapat didefinisikan seperti Persamaan 2.4. [11].
𝑀𝑖𝑗 = ∑ ∑ 𝑥𝑖𝑦𝑖
𝑁 𝑦=1
𝐼(𝑥, 𝑦)
𝑀 𝑋=1
(2.4)
Keterangan :
𝑖, 𝑗 = 0, 1, 2,.., dengan 𝑖𝑗 menyatakan orde momen 𝑀 = jumlah kolom pada citra
𝑁 = jumlah baris pada citra 𝑋 = ordinat piksel
𝑦 = absis piksel
𝐼(𝑥, 𝑦) = intensitas piksel pada posisi (𝑥, 𝑦)
Momen pusat adalah momen spasial yang dihitung relatif terhadap pusat massa. Jika pusat massa adalah (𝑥,̅ 𝑦̅), momen pusat ditulis seperti Persamaan 2.5.
μ𝑖𝑗 = ∑ ∑ (𝑥 − 𝑥̅)𝑖(𝑦 − 𝑦̅)𝑗𝐼(𝑥, 𝑦)
𝑁 𝑦=1 𝑀
𝑋=1
(2.5)
Momen pada Persamaan 2.5. bersifat invariant (tidak terpengaruh) terhadap translasi.
Dalam hal ini, 𝑥̅ dan 𝑦̅ diperoleh melalui Persamaan 2.6.
𝑥̅ = 𝑀10
𝑀00, 𝑦̅ = 𝑀01 𝑀00
(2.6)
Normalisasi perlu dilakukan agar tidak terpengaruh tidak hanya terhadap translasi, namun juga terhadap penyekalaan serta rotasi. Momen pusat ternormalisasi dapat dilakukan dengan Persamaan 2.7.
ŋ𝑖𝑗 = 𝜇𝑝𝑞
𝜇00𝑦, 𝑦 = 𝑖+𝑗+2
2 (2.7)
Contoh citra biner untuk perhitungan manual seperti pada Gambar 2.13.
Gambar 2.13. Contoh Citra Untuk Perhitungan Manual
Pertama kali dilakukan perhitungan untuk mendapatkan nilai𝑥,̅ 𝑦̅ seperti Persamaan 2.6.
𝑋̅ =𝑀10
𝑀00 = ∑𝑥1𝑦0(𝐼(𝑥, 𝑦) > 0)
∑𝑥0𝑦0(𝐼(𝑥, 𝑦) > 0)=∑𝑥1𝑦0(𝐼(𝑥, 𝑦) > 0)
∑𝑥0𝑦0(𝐼(𝑥, 𝑦) > 0)
Tabel 2.1. Perhitungan Pusat Masa (𝑋̅)
X Y X1 Y0 X0 Y0 X1Y0 X0Y0 ∑𝑋1𝑌0
∑𝑋0𝑌0
1 2 1 1 1 1 1 1
2 2 2 1 1 1 2 1
4 2 4 1 1 1 4 1
5 2 5 1 1 1 5 1
1 3 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Tabel 2.1. (lanjutan) Perhitungan Pusat Masa (𝑋̅)
X Y X1 Y0 X0 Y0 X1Y0 X0Y0 ∑𝑋1𝑌0
∑𝑋0𝑌0
2 3 2 1 1 1 2 1
4 3 4 1 1 1 4 1
5 3 5 1 1 1 5 1
1 4 1 1 1 1 1 1
2 4 2 1 1 1 2 1
4 4 4 1 1 1 4 1
5 4 5 1 1 1 5 1
1 5 1 1 1 1 1 1
2 5 2 1 1 1 2 1
4 5 4 1 1 1 4 1
5 5 5 1 1 1 5 1
∑ 48 16 3
𝑦̅ =𝑀01
𝑀00= ∑𝑥0𝑦1(𝐼(𝑥, 𝑦) > 0)
∑𝑥0𝑦0(𝐼(𝑥, 𝑦) > 0)= ∑𝑥0𝑦1(𝐼(𝑥, 𝑦) > 0)
∑𝑥0𝑦0(𝐼(𝑥, 𝑦) > 0)
Tabel 2.2. Perhitungan Pusat Masa (𝑌̅)
X Y X0 Y1 X0 Y0 X0Y1 X0Y0 ∑𝑋0𝑌1
∑𝑋0𝑌0
1 2 1 2 1 1 2 1
2 2 1 2 1 1 2 1
4 2 1 2 1 1 2 1
5 2 1 2 1 1 2 1
1 3 1 3 1 1 3 1
2 3 1 3 1 1 3 1
4 3 1 3 1 1 3 1
5 3 1 3 1 1 3 1
1 4 1 4 1 1 4 1
2 4 1 4 1 1 4 1
4 4 1 4 1 1 4 1
5 4 1 4 1 1 4 1
1 5 1 5 1 1 5 1
2 5 1 5 1 1 5 1
4 5 1 5 1 1 5 1
5 5 1 5 1 1 5 1
∑ 56 16 3,5
Langkah selanjutnya menghitung momen pusat seperti pada Persamaan 2.5.
𝜇20=∑(𝑥−𝑥̅)𝑖(𝑦−𝑦̅)𝑗(𝐼(𝑥,𝑦)>0)
= ∑(𝑥 − 𝑥̅)2(𝑦 − 𝑦̅)0
Tabel 2.3. Perhitungan Momen Pusat
X Y 𝑋̅ 𝑌̅ ∑(𝑥
− 𝑥̅)2(𝑦
− 𝑦̅)0
∑(𝑥
− 𝑥̅)0(𝑦
− 𝑦̅)2
∑(𝑥
− 𝑥̅)1(𝑦
− 𝑦̅)1
∑(𝑥
− 𝑥̅)3(𝑦
− 𝑦̅)0
∑(𝑥
− 𝑥̅)0(𝑦
− 𝑦̅)3
∑(𝑥
− 𝑥̅)1(𝑦
− 𝑦̅)2
∑(𝑥
− 𝑥̅)2(𝑦
− 𝑦̅)1
1 2 3 3,5 4 2,25 3 -8 -3,375 -4,5 -6
2 2 3 3,5 1 2,25 1,5 -1 -3,375 -2,25 -1,5 4 2 3 3,5 1 2,25 -1,5 1 -3,375 2,25 -1,5
5 2 3 3,5 4 2,25 3 8 -3,375 4,5 -6
1 3 3 3,5 4 0,25 1 -8 -0,125 -0,5 -2
2 3 3 3,5 1 0,25 0,5 -1 -0,125 -0,25 -0,5 4 3 3 3,5 1 0,25 -0,5 1 -0,125 0,25 -0,5
5 3 3 3,5 4 0,25 -1 8 -0,125 0,5 -2
1 4 3 3,5 4 0,25 -1 -8 0,125 -0,5 2
2 4 3 3,5 1 0,25 -0,5 -1 0,125 -0,25 0,5
4 4 3 3,5 1 0,25 0,5 1 0,125 0,25 0,5
5 4 3 3,5 4 025 1 8 0,125 0,5 2
1 5 3 3,5 4 2,25 -3 -8 3,375 -4,5 6
2 5 3 3,5 1 2,25 -1,5 -1 3,375 -2,25 1,5
4 5 3 3,5 1 2,25 1,5 1 3,375 2,25 1,5
5 5 3 3,5 4 2,25 3 1 3,375 4,5 6
∑ 40 20 0 0 0 0 0
Tabel 2.4. Hasil Momen Pusat
𝜇20 𝜇02 𝜇11 𝜇30 𝜇03 𝜇12 𝜇21
40 20 0 0 0 0 0
Setelah mendapatkan nilai momen pusat kemudian dilakukan perhitungan momen pusat ternormalisasi seperti pada Persamaan 2.7.
Tabel 2.5. Perhitungan Momen Pusat Ternormalisasi p/i q/j
𝑦 = 𝑖 + 𝑗 + 2 2
𝜇𝑝𝑞 𝜇00𝑦 ŋ𝑖𝑗 = 𝜇𝑝𝑞 𝜇00𝑦
2 0 2 40 256 0,15625
0 2 2 20 256 0,078125
1 1 2 0 256 0
3 0 2,5 0 1024 0
0 3 2,5 0 1024 0
1 2 2,5 0 1024 0
2 1 2,5 -11 1024 0
Masing – masing rambu memiliki nilai ektstraksi ciri yang berbeda dan akan digunakan dalam sistem pengenalan. Hasil momen pusat ternormalisasi ditunjukkan Tabel 2.6.
Tabel 2.6. Hasil Momen Pusat Ternormalisasi
ŋ20 ŋ02 ŋ11 ŋ30 ŋ03 ŋ12 ŋ21
0,15625 0,178125 0 0 0 0 0
2.7. Log Scale
Hasil perhitungan momen spasial dan momen pusat terkadang memiliki rentang nilai yang cukup jauh pada masing-masing nilai [14]. Log scale digunakan untuk mengurangi rentang pada hasil perhitungan momen spasial dan momen pusat. Log scale pada momen spasial dan momen pusat dapat ditunjukkan pada Persamaan 2.8.
Hi = - sign(I) log|I| (2.8)
Keterangan: I merupakan nilai ekstraksi ciri momen spasial dan momen pusat
Tabel 2.7. menunjukkan salah satu contoh hasil perhitungan momen spasial dan momen pusat dengan rentang jarak yang cukup jauh.
Tabel 2.7. Contoh Hasil Perhitungan Tanpa Log Scale
ŋ20 ŋ02 ŋ11 ŋ30 ŋ03 ŋ12 ŋ21
3,55.10-6 0,19.10-14 2,06.10-20 3,29.10-10 6,46.10-2 1,11.10-8 1,91.10-5
Setelah diketahui ketujuh nilai dari momen spasial dan momen pusat kemudian dilakukan perhitungan log scale seperti pada Persamaan 2.8.
Tabel 2.8. Contoh Hasil Perhitungan dengan Log Scale
ŋ20 ŋ02 ŋ11 ŋ30 ŋ03 ŋ12 ŋ21
5,449 14,721 19,686 9,482 1,189 7,954 4,718
2.8. Template Matching
Template matching adalah sebuah teknik dalam pengolahan citra untuk menemukan bagian-bagian kecil dari gambar yang cocok dengan template gambar. Metode template machine merupakan salah satu metode yang digunakan untuk menjelaskan bagaimana otak kita mengenali kembali bentuk-bentuk atau pola-pola [15]. Template matching dalam penelitian ini yaitu fungsi jarak kosinus. Fungsi jarak kosinus merupakan sebuah fungsi yan digunakan untuk mencari hasil pengenalan, jarak yang terdekat dengan database menjadi hasil pengenalan dari sistem tersebut.
2.8.1. Fungsi Jarak Kosinus
Fungsi jarak kosinus digunakan untuk menghitung nilai jarak antara nilai data uji dengan nilai database. Perhitungan fungsi jarak kosinus ditunjukkan pada Persamaan 2.9.
𝐷𝐶𝑜𝑠 = 1 − ∑𝑑𝑖=1𝑃𝑖𝑄𝑖
√∑𝑑𝑖=1𝑃𝑖2√∑𝑑𝑖=1𝑄𝑖2
(2.9)
Dimana:
d = banyaknya data P = input data uji Q = data dari database
Perhitungan fungsi jarak kosinus digunakan untuk menentukan keluaran akhir program. Berikut adalah contoh perhitungan manual untuk fungsi jarak kosinus.
P = [10 5]
Q1 =[3 2]
Q2 = [7 8]
Q3 = [1 1]
Q4 = [4 6]
Q5 = [1 3]
Q6 = [9 5]
Berdasarkan Persamaan 2.9. dapat dilakukan perhitungan sebagai berikut.
P.Q = (10.3) + (5.2) = 40
‖𝑃‖ = √102 + 52 = 11,18
‖𝑄‖ = √32+ 22 = 3,60
Nilai diatas dapat menghasilkan jarak kosinus
𝐷𝑐𝑜𝑠 = 1 − 𝑃. 𝑄
‖𝑃‖‖𝑄‖= 1 − 40
(11,18)(3,60)= 0,00616
Berdasarkan Nilai vektor P yang sama dan mengganti nilai Q seperti pada Tabel 2.9., maka dihasilkan nilai jarak kosinus sebagai berikut.
Tabel 2.9. Hasil Perhitungan Jarak Kosinus
Q1 Q2 P.Q ‖𝑃‖ ‖𝑄‖ 𝐷𝑐𝑜𝑠
Kelas 1
D1 3 2 40 11,18 3,60 0,00616
D2 7 8 110 11,18 10,63 0,05028
D3 9 5 115 11,18 10,29 0,00036
Kelas 2
D4 4 6 70 11,18 7,21 0,13159
D5 1 3 25 11,18 3,16 0,29236
D6 1 1 15 11,18 1,41 0,04845
2.9. k-Nearest Neighbour
k-Nearest neighbour atau K-NN adalah sebuah metode klasifikasi terhadap objek berdasarkan data pembelajaran yang jaraknya paling dekat dengan objek penelitian atau biasa disebut tetangga terdekat [16].
Cara kerja k-NN sebagai berikut:
1. Hasil fungsi jarak kosinus yang telah didapat dengan Persamaan 2.9, diurutkan dari nilai terkecil hingga terbesar.
2. Menentukan nilai K (jumlah tetangga terdekat) yang ingin dicari.
3. Kelas dipilih dengan kemunculan terbanyak.
4. Hasil klasifikasi dikeluarkan dan ditampilkan
Berdasarkan Tabel 2.9. penggunaan fungsi jarak kosinus dan k-NN sebagai berikut.
1. Mengurutkan nilai jarak kosinus dari terkecil hingga terbesar seperti pada Tabel 2.10.
Tabel 2.10. Urutan Jarak Kosinus D5
(Kelas 1)
D4 (Kelas 1)
D6 (Kelas 1)
D2 (Kelas 2)
D1 (Kelas 2)
D3 (Kelas 2) 0,00036 0,00616 0,04845 0,05028 0,13159 0,29236
2. Mengambil sebanyak k (k = 3) yang memiliki tingkat kemiripan paling tinggi dengan P seperti pada Tabel 2.11.
Tabel 2.11. Pengambilan Nilai Sebanyak k = 3
D5 (Kelas 1) D4 (Kelas 1) D6 (Kelas 1)
0,00036 0,00616 0,04845
Nilai k yang akan diambil harus bernilai ganjil. Bila k = 5, maka nilai yang paling tinggi tingkat kemiripannya dengan P sebanyak 5 buah nilai yang akan diambil dan digunakan seperti pada Tabel 2.12.
Tabel 2.12. Pengambilan Nilai Sebanyak k = 5 D5
(Kelas 1)
D4 (Kelas 1)
D6 (Kelas 1)
D2 (Kelas 2)
D1 (Kelas 2) 0,00036 0,00616 0,04845 0,05028 0,13159 3. Untuk mengetahui klasifikasi yang akan digunakan dapat diketahui dengan cara
memilih kemunculan kelas yang paling banyak. Tabel 2.11. dengan k = 3, semua berisi kelas 1. Hal ini menunjukkan bahwa P masuk dalam kelas 1.
Pada Tabel 2.12. dengan k = 5, kelas 1 diwakili oleh D5, D4, dan D6, sedangkan kelas 2 diwakili D2 dan D1. Hal ini menunjukkan bahwa P masuk dalam kelas 1.
Bila terdapat dua nilai atau lebih yang memiliki nilai sama, maka keluaran yang akan digunakan adalah nilai yang paling tertinggi pada urutan pertama.
22
BAB III
RANCANGAN PENELITIAN
Bab III ini akan membahas mengenai rancangan penelitian yang meliputi langkah langkah perancangan yang akan dilakukan dan blok diagram kerja sistem.
3.1. Perancangan Sistem
Perancangan sistem yang akan dibuat adalah sebuah sistem yang dapat mengenali rambu lalu lintas peringatan menggunakan kamera ponsel. Gambar 3.1. menunjukkan perancangan sistem secara umum.
Gambar 3.1. Perancangan Sistem
Berdasarkan Gambar 3.1., kamera ponsel digunakan untuk proses pengambilan image dan video yang akan digunakan untuk penelitian. Gambar dan video yang telah didapat akan melalui beberapa tahap pemrosesan. Tahap pertama yaitu tahap preprocessing yaitu proses mengubah citra RGB menjadi citra biner menggunakan segementasi HSV. Proses segmentasi yang dilakukan adalah dengan mengambil warna kuning pada rambu, karena nantinya yang akan digunakan untuk pemrosesan selanjutnya adalah citra yang berwarna kuning. Setelah mendapatkan citra biner kemudian tahap selanjutnya adalah proses ekstraksi ciri dengan menggunakan momen spasial dan momen pusat. Hasil dari ekstraksi ciri kemudian diproses dengan template matching menggunakan fungsi jarak kosinus dan hasilnya akan dibandingkan dengan data pada database. Klasifikasi hasil dari jarak kosinus menggunakan klasifikasi k-NN, sehingga akan memberikan keluaran berupa teks di layar laptop.
Tahapan tersebut merupakan gambaran secara umum mengenai penelitian rambu peringatan. Gambaran penelitian secara rinci akan dibahas pada proses kerja sistem. Program yang akan digunakan dalam penelitian rambu peringatan adalah Python.
3.2. Proses Kerja Sistem
Sebelum menampilkan hasil keluaran yang berupa teks, penelitian pengenalan rambu lalu lintas peringatan harus melalui beberapa tahap. Penelitian diawali tahap preprocessing, kemudian ekstraksi ciri momen spasial dan momen pusat, jarak kosinus, dan klasifikasi k- NN. Proses kerja sistem input gambar ditampilkan pada Gambar 3.2 dan proses kerja sistem input video ditampilkan pada Gambar 3.3.
Gambar 3.2. Diagram Blok Kerja Sistem Input Gambar Mulai
Input : Gambar
Rambu Peringatan
Preprocessing
Ekstraksi Ciri : Momen Spasial dan Momen Pusat
Klasifikasi : Perhitungan Jarak Kosinus dan KNN
Perhitungan Log Scale
Output : hasil pengenalan berupa teks
Selesai
Gambar 3.2. merupakan diagram blok kerja sistem input gambar. Sistem ini mendapat input berupa gambar. Input yang telah dibaca oleh sistem kemudian dilakukan proses preprocessing untuk mendapatkan citra biner. Image biner yang dihasilkan akan dihitung menggunakan momen spasial dan momen pusat untuk mendapatkan nilai ekstraksi ciri. Nilai ekstraksi ciri yang telah didapat kemudian dilakukan perhitungan log scale untuk mengurangi rentang nilai yang cukup jauh. Hasil perhitungan log scale dan data pada database dihitung jaraknya menggunakan jarak kosinus, jarak yang paling kecil dicari untuk menentukan hasil keluaran.
Gambar 3.3. Diagram Blok Kerja Sistem Input Video Mulai
Input : Video Rambu Peringatan
Deteksi Rambu Peringatan
Rambu Peringatan Terdeteksi?
Ya Tidak
Preprocessing
Ekstraksi Ciri : Momen Spasial dan Momen Pusat
A
Gambar 3.3. (lanjutan) Diagram Blok Kerja Sistem Input Video
Proses kerja sistem dengan input video secara garis besar sama dengan input gambar.
Perbedaan antara input video dan gambar terletak pada pendeteksian rambu peringatan. Jika dalam sebuah video terdeteksi rambu peringatan, maka sistem akan melanjutkan prosesnya dan rambu tersebut dapat dikenali. Jika dalam sebuah video tidak terdeteksi rambu peringatan maka sistem akan melakukan pengulangan untuk mencari rambu peringatan dalam video.
3.2.1. Input Data
Rambu lalu lintas peringatan yang ada di jalan raya akan menjadi input data dalam penelitian ini. Pengambilan gambar dan video rambu peringatan dilakukan dengan menggunakan kamera ponsel. Pengambilan gambar dan video dilakukan dengan variasi jarak, translasi, dan sudut yang berbeda untuk setiap rambunya. Hal ini digunakan untuk menunjukkan kualitas kinerja pengenalan dengan ekstraksi ciri momen spasial dan momen pusat. Proses input data ditampilkan pada Gambar 3.4. dan 3.5.
Menghitung Log Scale
Klasifikasi : Perhitungan Jarak Kosinus dan KNN
A
Output : hasil pengenalan
berupa bounding box
dengan label nama rambu
Selesai
Gambar 3.4. Diagram Blok Input Data Gambar
Gambar 3.5. Diagram Blok Input Data Video
Gambar 3.4. dan Gambar 3.5. merupakan diagram blok input data gambar dan video.
Masukan sistem ini berasal dari rambu lalu lintas peringatan yang ada di pinggir jalan raya.
Rambu peringatan tersebut kemudian ditangkap (capture) dan direkam menggunakan kamera ponsel dan disimpan di laptop. Gambar dan video yang telah disimpan akan digunakan sebagai masukan sistem pengenalan rambu lalu lintas peringatan.
Mulai
Input : Rambu Lalu
Lintas Peringatan Kamera Ponsel
Hidup
B
B
Capture image
Output : Gambar Rambu Lalu
Lintas Peringatan
Selesai
Mulai
Input : Rambu Lalu
Lintas Peringatan Kamera Ponsel
Hidup
C
C
Rekam Video Rambu
Output : video Rambu Lalu
Lintas Peringatan
Selesai
3.2.2. Preprocessing
Tahap preprocessing terdiri dari beberapa tahapan mulai dari konversi BGR ke HSV, kemudian segmentasi warna HSV untuk mendapatkan citra biner (warna kuning), kemudian dilakukan dilasi dan erosi untuk memperjelas citra, dan cropping. Metode Gaussian Filter dan Median Filter digunakan untuk mengurangi noise pada objek. Ekualisasi histogram dan saturasi digunakan untuk meningkatkan atau menurunkan kecerahan pada objek, sehingga objek dapat terlihat jelas dan dapat dideteksi. Secara garis besar tahap ini akan ditampilkan pada Gambar 3.6. dan 3.7.
Gambar 3.6. Diagram Blok Preprocessing (Input Gambar) Mulai
Input : Gambar Rambu Lalu
Lintas Peringatan Ekualisasi Histogram dan
Saturasi
Gaussian Filter
Konversi BGR ke HSV
Segmentasi HSV
Dilasi dan Erosi
D
D
Cropping
Median Filter
Output : Gambar Biner
Selesai
Gambar 3.7. Diagram Blok Preprocessing (Input Video) Mulai
Input : Video Rambu Lalu
Lintas Peringatan
Deteksi Rambu Peringatan
Rambu Peringatan Terdeteksi?
Konversi BGR ke HSV
Segmentasi HSV Gaussian Filter
Output : Video Biner
Selesai
Tidak
Ya
Rambu Peringatan Terdeteksi?
Tidak Ya
Bounding Box dan Pelabelan Nama
Input rambu lalu lintas peringatan merupakan input BGR. Input BGR akan dikonversi menjadi HSV dengan melakukan segmentasi HSV. Proses konversi BGR ke HSV merupakan tahap yang penting, karena nantinya proses konversi tersebut akan menghasilkan gambar dan video biner yang akan digunakan dalam proses selanjutnya. Proses konversi BGR ke HSV ditampilkan pada Gambar 3.8.
Gambar 3.8. Diagram Blok Konversi BGR ke HSV
Tahap selanjutnya adalah segmentasi HSV. Segmentasi HSV merupakan pemilihan warna yang akan digunakan untuk proses selanjutnya. Segmentasi dilakukan terhadap ruang warna hue karena objek yang ingin dikenali berupa rambu lalu lintas peringatan berwarna kuning dan akan menghasilkan keluaran berupa citra biner. Input penelitian ini berupa rambu peringatan di jalan raya, untuk memudahkan proses preprocessing, penulis berusaha mencari rambu dengan latar belakang yang tidak ada warna kuning. Proses segmentasi HSV ditampilkan pada Gambar 3.9.
Gambar 3.9. Diagram Blok Segementasi HSV (Deteksi Warna Kuning) Mulai
Input : Gambar dan Video BGR
Rambu Lalu Lintas Peringatan
Konversi BGR ke HSV
Output : Citra HSV
Selesai
Mulai
Input : Gambar dan Video HSV
Segmentasi Warna Kuning dengan Ruang
Warna Hue (Warna Kuning)
E
Gambar 3.9. (lanjutan) Diagram Blok Segementasi HSV (Deteksi Warna Kuning) Operasi dilasi dan erosi dilakukan setelah segmentasi HSV selesai. Segmentasi HSV membuat gambar biner akan menjadi rusak, oleh karena itu operasi dilasi dan erosi dilakukan untuk memperbaiki gambar biner tersebut. Metode Gaussian Filter digunakan sebelum proses dilasi. Dilasi dan erosi hanya dilakukan untuk input yang berupa gambar. Proses dilasi dan erosi ditampilkan pada Gambar 3.10.
Gambar 3.10. Diagram Blok Dilasi dan Erosi
Gambar biner yang sudah didilasi dan erosi selanjutnya akan dipotong (cropping).
Tujuan dari cropping adalah menghilangkan bagian yang tidak digunakan, sehingga hanya objek yang akan digunakan saja yang ditampilkan. Cropping hanya dilakukan untuk input yang berupa Gambar. Proses cropping ditampilkan pada Gambar 3.11.
Output : Gambar dan Video
Biner
Selesai E
Mulai
Input : Gambar Biner
Output : Gambar Biner yang sudah di erosi
dan dilasi Dilasi dan Erosi
Selesai
Gambar 3.11. Diagaram Blok Proses Cropping
3.3. Tahap Ekstraksi Ciri Momen Spasial dan Momen Pusat
Tahap ekstraksi ciri merupakan tahapan selanjutnya setelah tahap preprocessing.
Ekstraksi ciri yang digunakan dalam penelitian ini adalah momen spasial dan momen pusat.
Berdasarkan persamaan 2.4. proses menentukan nilai momen spasial dan momen pusat ditampilkan pada Gambar 3.12.
Gambar 3.12. Diagram Blok Ekstraksi Ciri Mulai
Input : Gambar Biner yang sudah di erosi
dan dilasi
Cropping
Median Filter
Output : Gambar Biner
Cropping
Selesai
Mulai
Input : Citra hasil preprocessing
F
Gambar 3.12. (lanjutan) Diagram Blok Ekstraksi Ciri
Tahap ekstraksi ciri ini mendapat masukan berupa gambar atau video yang telah melalui tahap preprocessing. Hasil preprocessing kemudian akan diproses menggunakan momen spasial dan momen pusat untuk mendapatkan nilai ekstraksi ciri. Nilai ekstraksi ciri yang telah didapat kemudian dilakukan perhitungan log scale.
3.4. Perhitungan Jarak Kosinus
Perhitungan jarak kosinus merupakan pebandingan antara data pada database dengan data pengujian. Jarak yang paling baik adalah yang memiliki jarak terdekat. Proses jarak kosinus seperti yang dijelaskan pada persamaan 2.9., akan digambarkan seperti pada Gambar 3.13.
Menghitung pusat masa (xc,yc)
Menghitung Momen Pusat
Menghitung Momen Pusat Ternormalisasi
Outputt : Log Scale Ketujuh Nilai Momen
Pusat Ternormalisasi
Selesai Ketujuh Nilai Momen Pusat Ternormalisasi
F
Gambar 3.13. Diagram Blok Fungsi Jarak Kosinus
Perhitungan jarak kosinus digunakan untuk menghitung jarak antara data pada data uji dengan data pada database. Hasil perhitungan jarak kosinus akan menjadi acuan untuk penentuan hasil pengenalan.
Mulai
Input : Hasil Ekstraksi Ciri Momen Spasial dan Momen Pusat
(Database)
Input Data Pengujian
Preprocessing Data Pengujian
Hasil Ekstraksi Ciri (Data Pengujian)
Menghitung Jarak Data Uji dengan Database (Jarak
Kosinus)
Output : Hasil Perhitungan Jarak Kosinus
Selesai Ya
Tidak
3.5. Penentuan Keluaran
Tahap akhir dari proses keseluruhan adalah tahap penentuan keluaran. Hasil pengenalan rambu lalu lintas peringatan akan diketahui dengan melakukan klasifikasi k-NN.
Hasil pengenalan akan ditampilkan pada layar monitor berupa teks. Proses penentuan kaluaran ditampilkan pada Gambar 3.14.
Gambar 3.14. Diagram Blok Penentuan Keluaran
Masukan untuk penentuan keluaran berupa hasil perhitungan jarak kosinus, nilai k, dan kelas. Hasil perhitungan jarak kosinus kemudian diurutkan dari terkecil ke terbesar dan memilih kelas yang paling sering muncul sesuai dengan nilai k yang sudah dimasukkan.
Kelas yang paling sering muncul akan menjadi hasil pengenalan.
Mulai
Input : Hasil Perhitungan Jarak Kosinus,
Nilai k, Kelas
Mengurutkan Hasil Perhitungan Jarak Kosinus dari terkecil
ke terbesar
Memilih Kelas yang Paling Sering
Muncul
Output : Hasil Keluaran Berupa
Teks di Layar Monitor
Selesai
3.6. Pembuatan Database
Fungsi jarak kosinus dapat bekerja apabila ada database, dengan adanya database maka akan ada perbandingan antara nilai data pengujian dengan nilai pada database.
Database gambar dan video memiliki jumlah yang sama serta menggunakan proses yang sama yaitu ekstraksi ciri momen spasial dan momen pusat sehingga program utama dapat dijadikan satu. Proses pembuatan database ditampilkan pada Gambar 3.15.
Gambar 3.15. Diagram Blok Database Mulai
Input : Gambar dan
Video Rambu Lalu
Lintas Peringatan Preprocessing
Ekstraksi Ciri : Momen Spasial dan Momen Pusat
Database
Selesai Log Scale