Pengenalan secara real time rambu lalu lintas peringatan menggunakan ekstraksi ciri Wavelet Haar dan fungsi jarak Chi Square.

(1)

INTISARI

Perkembangan teknologi pada saat ini berkembang cepat, salah satu teknologi yang saat ini banyak dikembangkan adalah teknologi computer vision.Teknologi computer vision adalah teknologi yang membuat komputer dapat melihat dan mendapatkan suatu informasi dari gambar sehingga teknologi ini membuat komputer memiliki kemampuan seperti mata manusia dalam menangkap informasi visual (human sight). Berdasarkan hal tersebut maka dibuat suatu program sehingga komputer dapat mengenali rambu-rambu lalu lintas sehingga nantinya dapat mempermudah pengguna aplikasi untuk mengenali rambu lalu-lintas.

Sistem pengenalan rambu-rambu lalu lintas ini dilakukan secara real time

menggunakan webcam, serta pengolahan citra dan pengenalan pola menggunakan ekstraksi ciri Wavelet Haarserta fungsi jarak Chi Square. Sistem pengenalan ini akan menggunakan laptop sebagai tempat memproses sistem, dan akan menggunakan bahasa pemrograman Matlab serta interface menggunakan GUI yang tersedia dalam matlab.

Hasil dari sistem pengenalan ini yaitu sistem dapat mengenali rambu-rambu lalu lintas sesuai dengan yang direncanakan. Berdasarkan hasil percobaan, dapat diketahui batas jarak maksimum dan minimum aplikasi dapat mengenali rambu lalu lintas, serta batas sudut kemiringan antara webcam dengan rambu.


(2)

ABSTRACT

The development of technology nowadays develops very quickly and one of the technologies which is now developed a lot is the technology of computer vision. The

technology of computer vision is a technology that’s makes computers have ability like human being’s eyes in capturing visual information (human sight). Based on the facts

above, I make a program so that the computer can detect traffic signs. Later, this technology is able to detect the traffic sign around the vehicles and give information to the drivers about the traffic sign around.

The recognition of these traffic signs is done at real time by using webcam, the image processing and the recognition of the patterns use the extraction of characteristic of Wavelet Haar and the function of the distance Chi Square. The system of this recognition uses a laptop as the equipment to process the system and use the processing instructions of Matlab and the interface using GUI which is available in the Matlab.

The result of this recognition system is that the system can recognize the traffic sign so as planned. Based on the experimental results, it is known limits of the maximum and minimum range of applications can recognize traffic signs, as well as the limit between the tilt angle of the webcam with signs.


(3)

i

TUGAS AKHIR

PENGENALAN SECARA REAL TIME RAMBU LALU

LINTAS PERINGATAN MENGGUNAKAN EKSTRAKSI

CIRI WAVELET HAAR DAN FUNGSI JARAK CHI SQUARE

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh :

IGNATIUS AGUNG NUGROHO

NIM : 105114019

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA


(4)

ii

FINAL PROJECT

REAL TIME RECOGNITION OF WARNING TRAFFIC

SIGNS USING WAVELET HAAR

FEATURE EXTRACTION AND CHI SQUARE DISTANCE

FUNCTION

Presented As Partial Fulfillment Of The Requirement

To Obtain The

Sarjana Teknik

Degree

In Electrical Engineering Study Program

Oleh :

IGNATIUS AGUNG NUGROHO

NIM : 105114019

ELECTRICAL ENGINEERING STUDY PROGRAM

DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2015


(5)

(6)

(7)

(8)

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO:

Karena kesalahan dan kegagalanlah

yang membuatku

belajar dan terus berjuang

Persembahan

Skripsi ini k

upersembahkan untuk ….

Yesus Kristus dan Bunda Maria yang selalu

menyertai dan memberkati sepanjang hari

Bapak dan Ibu yang selalu menncintai dan

mendoakanku

Kakak dan adik yang memberikan dukungan

dan doa

Serta teman-teman yang selalu membantu dan

menghibur


(9)

(10)

viii

INTISARI

Perkembangan teknologi pada saat ini berkembang cepat, salah satu teknologi yang saat ini banyak dikembangkan adalah teknologi computer vision.Teknologi computer vision adalah teknologi yang membuat komputer dapat melihat dan mendapatkan suatu informasi dari gambar sehingga teknologi ini membuat komputer memiliki kemampuan seperti mata manusia dalam menangkap informasi visual (human sight). Berdasarkan hal tersebut maka dibuat suatu program sehingga komputer dapat mengenali rambu-rambu lalu lintas sehingga nantinya dapat mempermudah pengguna aplikasi untuk mengenali rambu lalu-lintas.

Sistem pengenalan rambu-rambu lalu lintas ini dilakukan secara real time

menggunakan webcam, serta pengolahan citra dan pengenalan pola menggunakan ekstraksi ciri Wavelet Haarserta fungsi jarak Chi Square. Sistem pengenalan ini akan menggunakan laptop sebagai tempat memproses sistem, dan akan menggunakan bahasa pemrograman Matlab serta interface menggunakan GUI yang tersedia dalam matlab.

Hasil dari sistem pengenalan ini yaitu sistem dapat mengenali rambu-rambu lalu lintas sesuai dengan yang direncanakan. Berdasarkan hasil percobaan, dapat diketahui batas jarak maksimum dan minimum aplikasi dapat mengenali rambu lalu lintas, serta batas sudut kemiringan antara webcam dengan rambu.


(11)

ix

ABSTRACT

The development of technology nowadays develops very quickly and one of the technologies which is now developed a lot is the technology of computer vision. The

technology of computer vision is a technology that’s makes computers have ability like human being’s eyes in capturing visual information (human sight). Based on the facts

above, I make a program so that the computer can detect traffic signs. Later, this technology is able to detect the traffic sign around the vehicles and give information to the drivers about the traffic sign around.

The recognition of these traffic signs is done at real time by using webcam, the image processing and the recognition of the patterns use the extraction of characteristic of Wavelet Haar and the function of the distance Chi Square. The system of this recognition uses a laptop as the equipment to process the system and use the processing instructions of Matlab and the interface using GUI which is available in the Matlab.

The result of this recognition system is that the system can recognize the traffic sign so as planned. Based on the experimental results, it is known limits of the maximum and minimum range of applications can recognize traffic signs, as well as the limit between the tilt angle of the webcam with signs.


(12)

x

KATA PENGANTAR

Syukur dan terima kasih pada Tuhan Yesus Kristus atas semua berkat, perlindungan, dan pertolongan-Nya sehingga penulis dapat menyelesaikan tugas akhir dengan baik. Tugas akhir ini dapat diselesaikan tentunya tidak lepas dari dukungan, bantuan, dan bimbingan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis mengucapkan terima kasih kepada:

1. Tuhan Yesus Kristus, atas berkat pertolongan, dan penyertaanya sehingga penulis mampu menyelesaikan tugas akhir ini dengan baik.

2. Paulina Heruningsih Prima Rosa, S.si., M.si. selaku Dekan Fakultas Sains dan Teknologi.

3. Petrus Setyo Prabowo, S.T., M.T. selaku Ketua Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta.

4. Dr. Linggo Sumarno, selaku dosen pembimbing yang dengan sabar membimbing, member masukkan, serta memotivasi sehigga penulis dapat menyelesaikan tugas akhir ini.

5. Bapak Petrus Setyo Prabowo, S.T., M.T. dan Bapak Dr. Iswanjono selaku dosen penguji yang memberikan masukkan, kritik dan saran serta merevisi penulisan tugas akhir ini.

6. Bapak dan ibu dosen yang telah mengajarkan banyak ilmu yang bermanfaat selama menempuh pendidikan di Universitas Sanata Dharma.

7. Seluruh laboran dan staff Program Studi Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta yang telah banyak membantu penulis selama menempuh pendidikan di Universitas Sanata Dharma.

8. Kedua orang tua penulis telah banyak memberikan dukungan doa, kasih sayang, perhatian, semangat, serta motivasi sehingga penulis dapat menyelesaikan tugas akhir ini.

9. Kakak dan adik penulis yang memberikan sindiran namun hal itu yang membuat penulis termotivasi untuk menyelesaikan tugas akhir ini.

10.Teman-teman seperjuangan Teknik Elektro 2010 yang dalam susah atau senang selalu mendukung, menyemangati, dan membantu dalam menyelesaikan tugas akhir ini,


(13)

xi

khususnya untuk Stevanus Hari yang memberikan dukungan dan motivasi pada saat penulis mengalami kegagalan.

11.Teman-teman misdinar dan antiokhia gereja Bunda Maria Cirebon yang memberikan semangat serta menghibur penulis.

12.Semua pihak yang tidak dapat disebutkan satu per satu yang telah membantu dan mendukung penyelesaian tugas akhir ini.

Penulis menyadari bahwa dalam penulisan tugas akhir ini masih banyak kekurangan, oleh sebab itu penulis mengharapkan kritik dan saran yang membangun untuk penyempurnaan tugas akhir ini. Penulis juga berharap tugas akhir ini dapat dimanfaatkan dan dikembangkan lebih lanjut oleh peneliti lain sehingga tulisan ini dapat lebih bermanfaat.

Yogyakata,………….. Penulis


(14)

xii

DAFTAR ISI

Halaman Sampul (Bahasa Indonesia) ... i

Halaman Sampul (Bahasa Inggris) ... ii

Halaman Persetujuan ... iii

Halaman Pengesahan ... iv

Pernyataan Keaslian Karya ... v

Halaman Persembahan ... vi

Lembar Persetujuan Publikasi Karya ... vii

Intisari ... viii

Abstract ... ix

Kata Pengantar ... x

Daftar Isi ... xii

Daftar Gambar ... xv

Daftar Tabel ... xvii

BAB I:PENDAHULUAN 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 2.1. Rambu Lalu Lintas ... 5

2.2. Pengolahan Citra ... 6

2.2.1. Definisni Citra ... 6

2.2.2. Ruang Warna RGB ... 8


(15)

xiii

2.2.4. Cropping ... 9

2.2.5. Resizing ... 10

2.3. Pengenalan Pola ... 10

2.4. Operasi Geometri Citra ... 10

2.5. Wavelet ... 11

2.5.1. Wavelet secara Umum ... 11

2.5.2. Wavelet Haar ... 11

2.6. Konvolusi ... 13

2.6.1. Konvolusi secara Umum ... 13

2.6.2. Konvolusi dengan Ekstensi Sinyal... 15

2.7. Downsampling ... 16

2.8. Fungsi Jarak Chi-Square ... 16

2.9. Templete Matching... 16

2.10. Matlab ... 17

2.11. WebCam ... 17

BAB III:PERANCANGAN 3.1. Perancangan SistemHardware ... 18

3.1.1. Tripot... 18

3.1.2. WebCam ... 19

3.1.3. Laptop / Komputer ... 19

3.14. Gambar Rambu Lalu Lintas ... 19

3.2. Perancangan Sistem Software ... 20

3.2.1. Proses Pembuatan Database ... 21

3.2.2. Pengambilan Citra Rambu ... 23

3.2.3. Tahap Preprocessing ... 24

3.2.4. Ekstraksi Ciri ... 31


(16)

xiv

3.2.6. Penentuan Keluaran ... 33

3.3. Gambar Uji... 34

3.4. Perancangan Tampilan GUI Matlab ... 34

BAB IV:HASIL DAN PEMBAHASAN 4.1. Langkah-langkah awal untuk menjalankan program rambu peringatan ... 36

4.2. Penjelasan Program ... 39

4.3. Pengujian dan Analisis Hasil Pengenalan Rambu Peringatan ... 49

4.3.1. Pengujian Pengenalan Berdasarkan Variasi Jarak dan Variasi Desimasi ... 49

4.3.2. Pengujian Pengenalan Berdasarkan Variasi Sudut ... 54

BAB V:KESIMPULAN 5.1. Kesimpulan ... 64

5.2. Saran ... 64

DAFTAR PUSTAKA ... 65


(17)

xv

DAFTAR GAMBAR

Halaman Gambar 2.1. Contoh gambar rambu peringatan (a) Jembatan Sempit (b) Banyak Tikungan

(c) Tikungan Tajam ke Kiri ... 6

Gambar 2.2. Contoh koordinat citra digital ... 7

Gambar 2.3. Skema Ruang Warna RGB ... 8

Gambar 2.4.Citra skala keabuan ... 9

Gambar2.5.Dekomposisi wavelet satu level berdasarkan algoritma piramid; ai adalah koefisien rerata; hi, vi, dan di masing-masing adalah koefisien horisontal,vertikal, dan diagonal ... 12

Gambar 2.6. Perhitungan konvolusi secara grafis ... 14

Gambar 2.7. Perhitungan konvolusi secara matriks ... 14

Gambar 2.8. Perhitungan konvolusi ... 15

Gambar 3.1. Gambaran umum perancangan sistem ... 18

Gambar 3.2. Contoh gambar rambu lalu-lintas ... 19

Gambar 3.3. Blok diagramproses pengenalan rambu ... 20

Gambar 3.4. Diagram alir proses pengenalan rambu ... 21

Gambar 3.5. Diagram alir pembuatan database ... 23

Gambar 3.6. Diagram alir pengambilan citra ... 24

Gambar 3.7. Konversi citra rgb ke grayscale (a) citra masukkan (rgb), (b) citra hasil grayscale ... 25

Gambar 3.8. Contoh proses cropping; (a)titik koordinat bagian kiri atas; (b) titik koordinat bagian kanan atas; (c) titik koordinat bagian kiri bawah; (d) hasil cropping . 26 Gambar 3.9. Diagram ali Bounding Box... 27

Gambar 3.10. Proses bounding box (a) Input karakter (b) Hasil potong kiri (c) Putar 90° serah jarum jam ke 1 (d) Hasil potong kiri (e) Putar 90° serah jarum jam ke 2 (f) Hasil potong kiri (g) Putar 90° serah jarum jam ke 3 (h) Hasil Potong kiri (i) Putar 90° serah jarum jam ke 4, kembali ke posisi awal ... 28

Gambar 3.11. Proses (a) sebelum resizing (b) setelah resizing ... 29

Gambar 3.12. Diagram alir pemrosesan citra ... 30

Gambar 3.13. Diagram alir ekstraksi ciri ... 31


(18)

xvi

Gambar 3.15. Diagram alir downsampling ... 32

Gambar 3.16. Diagram alir tahap fungsi jarak ... 33

Gambar 3.17. Diagram alir penentu keluaran ... 34

Gambar 3.18. Sketsa GUI pengenalan rambu lalu lintas ... 35

Gambar 4.1. Icon Matlab R2010a ... 36

Gambar 4.2. Tampilan utama matlab R2010a ... 36

Gambar 4.3. Mengganti directory dan menu guide ... 37

Gambar 4.4. Tampilan GUIDE Quick Start ... 37

Gambar 4.5. Tampilan Pengenalan_Rambu ... 38

Gambar 4.6. Tampilan GUI Pengenalan Rambu Peringatan secara Real Time ... 38

Gambar 4.7. Tampilan saat tombol Camera On ditekan ... 39

Gambar 4.8. Tampilan saat tombol Capture ditekan ... 40

Gambar 4.9. Tampilan saat popupmenu diklik ... 41

Gambar 4.10.Tampilan saat tombol start diklik ... 42


(19)

xvii

DAFTAR TABEL

Halaman

Tabel 3.1. Spesifikasi webcam ... 19

Tabel 3.2. Keterangan GUI ... 35

Tabel 4.1. Mencari nilai parameter untuk bounding box ... 44

Tabel 4.2. Menentukan nilai parameter JKolom ... 45

Tabel 4.3. Pengujian rambu tikungan ke kiri... 50

Tabel 4.4. Pengujian rambu tikungan ke kanan... 51

Talel 4.5. Pengujian rambu persimpangan ... 52

Tabel 4.6. Citra hasil desimasi ... 53

Tabel 4.7. Pengujian rambu tikungan ke kiri dengan jarak 200 cm ... 54

Tabel 4.8. Pengujian rambu tikungan ke kanan dengan jarak 200 cm ... 55

Tabel 4.9. Pengujian rambu persimpangan dengan jarak 200 cm ... 56

Tabel 4.10. Pengujian rambu tikungan ke kiri dengan jarak 300 cm ... 57

Tabel 4.11. Pengujian rambu tikungan ke kanan dengan jarak 300 cm ... 58

Tabel 4.12. Pengujian rambu persimpangan dengan jarak 300 cm ... 59

Tabel 4.13. Pengujian rambu tikungan ke kiri dengan jarak 400 cm ... 60

Tabel 4.14. Pengujian rambu tikungan ke kanan dengan jarak 400 cm ... 61


(20)

1

BAB I

PENDAHULUAN

1.1.

Latar Belakang

Kemajuan perkembangan teknologi di jaman ini berkembang sangat cepat. Salah satu teknologi yang banyak dikembangkan yaitu teknologi computer vision. Teknologi

computer vision adalah teknologi yang membuat komputer dapat melihat dan mendapatkan suatu informasi dari gambar sehingga teknologi ini membuat komputer memiliki kemampuan seperti mata manusia dalam menangkap informasi visual (human sight). Berdasarkan teknologi tersebut maka dibuat suatu program sehingga komputer dapat mengenali lambang rambu-rambu lalu lintas. Gambar yang nantinya akan dilihat yaitu gambar yang berasal dari gambar rambu – rambu lalu lintas.

Sistem pengenalan rambu-rambu lalu lintas ini dilakukan secara real time

menggunakan webcam. Penelitian-penelitian yang telah dibuat berkaitan dengan pengenalan rambu-rambu lalu lintas, diantaran penelitian yang dilakukan oleh Tri Harsono [1] tentang Pengenalan Rambu – Rambu Lalu Lintas dengan Menggunakan Filter Warna dan Kuantisasi Rata – Rata dan penelitian yang dilakukan oleh Deniel Cahyo Prasetyo [2] tentang Pengenalan Perangkat Elektronika Secara Real Time Menggunakan Webcam

Berbasis Ekstraksi Ciri Discrete Consine Transform.

Teknologi ini bila dikembangkan nantinya dapat mengenali rambu-rambu lalu lintas yang ada disekitar kendaraan dan memberikan informasi kepada pengemudi kendaraan tentang rambu-rambu yang ada disekitarnya. Sehingga dapat membantu pengemudi untuk tetap fokus pada jalan, hal ini dapat pula mengurangi resiko kecelakaan serta pelanggaran lalu lintas.

Teknologi computer vision ini membutuhkan beberapa perangkat pendukung seperti webcam yang berfungsi untuk menangkap gambar rambu-rambu lalu lintas, selain itu dibutuhkan pula komputer / laptop yang berfungsi sebagai tempat untuk mengolah gambar agar bisa dikenali dan informasinya diberikan pada pengguna. Sistem ini melewati beberapa proses, diantaranya yaitu proses pengambilan gambar / citra yang dilakukan menggunakan webcam. Citra yang digunakan berasal dari gambar rambu berukuran 60 cm x 60 cm. Pengolahan citra dan pengenalan pola menggunakan ekstraksi ciri Wavelet Haar


(21)

webcam, setelah itu gambar rambu akan dibandingkan dengan database yang telah disiapkan. Proses pengolahan citra dan pengenalan pola tersebut dilakukan dengan menggunakan perangkat lunak Matlab, selain itu Matlab juga memiliki sebuah fasilitas antarmuka (interface) yaitu GUI (Graphical User Interface) sehingga dapat memudahkan penggunanya dalam pengoperasian sistem. Keluaran dari sistem ini merupakan hasil perbandingan nilai terkecil antara gambar dari webcam dengan data pada database. Keluaran sistem ini berupa teks yang akan muncul dalam layar monitor dan suara yang keluar melalui speaker.

1.2.

Tujuan dan Manfaat Penelitian

- Tujuan

Membuat aplikasi untuk mengenali rambu lalu_lintas dengan menggunakan ekstraksi ciri Wavelet Haar dan fungsi jarak Chi Square.

- Manfaat

1. Membantu pengguna aplikasi untuk mengenali rambu-rambu lalu lintas. 2. Sebagai bahan pembelajaran dalam penerapan image processing.

1.3.

Batasan Masalah

Sistem pengenalan rambu-rambu lalu lintas ini terdiri dari perangkat keras (hardware) dan perangkat lunak (software). Hardware terdiri dari webcam, laptop, fixture,

dan dua buah lampu belajar. Software yang digunakan adalah Matlab, yang digunakan sebagai tempat untuk proses pengolahan data.

Pada perancangan sistem ini, penulis fokus pada pembuatan software komputer untuk memproses pengenalan rambu-rambu lalu lintas sedangkan untuk hardware berupa

webcam yang sudah tersedia di pasaran dan fixture yang didesain sendiri. Penulis juga menetapkan beberapa batasan masalah pada perancangan ini, yaitu sebagai berikut :

1. Masukkan data berasal dari gambar rambu lalu lintas peringatan yang berukuran 60 cm x 60 cm.

2. Pengambilan citra menggunakan webcam.

3. Pemrograman dan tampilan GUI menggunakan Matlab. 4. Variasi citra untuk pengujian akan menggunakan variasi jarak. 5. Variasi desimasi mulai dari desimasi 1 hingga desimasi 3. 6. Variasi sudut kemiringan antara 45° hingga -45°


(22)

7. Pengenalan citra ini menggunakan ekstraksi ciri Wavelet Haar dan fungsi jarak

Chi Square yang diolah menggunakan softwareMatlab.

8. Sistem pengenalan rambu-rambu lalu lintas yang dibuat bersifat real time.

9. Hasil keluaran berupa teks di layar monitor dan keluaran berupa suara melalui

speaker

1.4.

Metode penelitian

Langkah – langkah dalam pengerjaan tugas akhir : 1. Studi Pustaka

Studi pustaka dilakukan dengan cara mengumpulkan serta mempelajari bahan -bahan referensi berupa buku-buku dan jurnal-jurnal ilmiah yang berasal dari media internet maupun media-media lain. Bahan referensi yang dikumpulkan dan dipelajari berkaitan dengan topik yang diambil, seperti bahan tentang pemograman Matlab, wavelet, fungsi jarak chi square, dan image processing.

2. Pembuatan subsistem software

Tahap ini merupakan tahap dalam pembuatan program untuk sistem pengenalan rambu lalu-lintas. Pembuatan program menggunakan software Matlab.

3. Perancangan subsistem software

Sistem pengenalan rambu lalu lintas ini akan bekerja bila user menekan

push button yang memberikan perintah pada sistem untuk mengambil citra (capture) menggunakan webcam. Setelah proses capture, proses selanjutnya adalah proses preprocessing yang terdiri dari tiga tahap yaitu grayscale,

cropping dan resizing. Tahap pertama dari proses preprocessing yaitu citra akan dikonversi menjadi bentuk grayscale sebelum nantinya citra akan di cropping

agar bagian yang tidak perlu bisa dihilangkan. Tahap selanjutnya yaitu ukuran citra akan diubah sesuai dengan yang diinginkan, proses ini disebut proses

resizing. Output dari proses preprocessing selanjutnya akan menjadi input dari proses pengenalan rambu lalu lintas. Proses pengenalan rambu lalu-lintas terdiri dari tahap ekstraksi ciri dan tahap fungsi jarak dimana pada tahap ini akan dibandingkan juga dengan data dari database. Kemudian proses selanjutnya


(23)

adalah proses penentuan keluaran dan yang terakhir adalah menampilkan hasil keluaran pada layar monitor.

4. Analisis dan penyimpulan

Analisis data yang pertama dilakukan dengan meneliti pengaruh variasi desimasi terhadap tingkat pengenalan. Penyimpulan hasil dilakukan untuk mencari ukuran desimasi yang terbaik yang menghasilkan tingkat pengenalan yang optimal. Kedua, meneliti pengaruh jarak antara webcam dengan rambu terhadap tingkat pengenalan. Penyimpulan hasil dilakukan untuk mengetahui kinerja sistem pengenalan terhadap pengaruh jarak.


(24)

5

BAB II

DASAR TEORI

2.1. Rambu Lalu Lintas

Rambu lalu lintas adalah salah satu perlengkapan jalan yang memuat lambang, huruf, angka, kalimat, atau perpaduan diantaranya, yang berfungsi untuk memberikan peringatan, larangan,perintah, dan petunjuk bagi pengguna jalan. Fungsi rambu lalu lintas akan maksimal jika para pengguna jalan mengenal dan mengetahui arti dan maksud dari rambu-rambu lalu-lintas yang terpasang di jalan umum [3].

Selain itu agar rambu-rambu mudah dimengerti maka harus dibuat se-efektif mungkin, dengan beberapa syarat seperti berikut :

1. Memenuhi kebutuhan.

2. Menarik perhatian dan mendapat respek pengguna jalan.

3. Memberikan pesan yang sederhana dan mudah dimengerti pengguna jalan. 4. Menyediakan waktu cukup kepada pengguna jalan dalam memberikan respon.

Beberapa pertimbangan yang harus diperhatikan dalam perencanaan dan pemasangan rambu agar rambu dapat efektif, yaitu :

1. Keseragaman bentuk dan ukuran rambu

Keseragaman bentuk dan ukuran rambu lalu lintas akan memudahkan pengguna jalan dalam memahami, mengenal, serta memberikan respon karena dengan bentuk dan ukuran yang konsisten akan membuat konsistensi persepsi dan respon pengguna jalan.

2. Desain rambu

Rambu-rambu lalu-lintas harus harus memenuhi standar dalam pembuatanya, yaitu warna, bentuk, ukuran, dan tingkat retrorefleksi harus menarik perhatian pengguna jalan agar mudah dipahami dan memberikan waktu yang cukup bagi pengguna jalan dalam memberikan respon.


(25)

Lokasi rambu berhubungan dengan pengguna jalan sehingga pengguna jalan dapat memiliki waktu yang cukup dalam memberikan respon.

4. Operasi rambu

Rambu yang benar pada lokasi yang tepat harus memenuhi kebutuhan lalu lintas dan diperlukan pelayanan yang konsisten dengan memasang rambu yang sesuai kebutuhan.

5. Pemeliharaan rambu

Pemeliharaan rambu diperlukan agar rambu tetap berfungsi baik.

Negara Indonesia mengenal ada empat macam rambu, salah satu diantaranya yaitu rambu peringatan (Gambar 2.1). Rambu peringatan berfungsi untuk memberikan peringatan kepada pengguna jalan bahwa kemungkinan ada bahaya atau tempat berbahaya di depan pengguna jalan sehingga harus berhati-hati. Warna dasar rambu peringatan berwarna kuning dengan lambang atau tulisan berwarna hitam. Seperti contoh gambar rambu dibawah ini :

(a) (b) (c)

Gambar 2.1. Contoh gambar rambu (a) Tikungan ke Kiri (b) Tikungan ke Kanan (c) Perimpangan

2.2. Pengolahan Citra

2.2.1. Definisi Citra

Citra adalah representasi (gambaran), kemiripan, atau intensitas pada bidang dua dimensi, sehingga citra merupakan dimensi spasial atau bidang yang berisi informasi warna yang tidak terpengaruh waktu. Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) atas intensitas cahaya pada bidang dua dimensi. Sumber cahaya menerangi objek, objek memantulkan kembali seluruh atau sebagian berkas cahaya kemudian ditangkap oleh alat optis atau electron optis [4].


(26)

Citra dibedakan menjadi dua macam, yaitu citra analog dan citra digital. Citra analog adalah citra yang berasal dari sinyal analog yang kemudian ditangkap oleh optik. Sedangkan citra digital merupakan sebuah larik (array) yang terdiri dari nilai real dan kompleks yang direpresentasikan dengan deret bit tertentu.

Suatu citra juga dapat didefinisikan dengan menggunakan fungsi matriks (2.1), yaitu f(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat (x,y). Citra dapat dikatakan citra digital apabila nilai x,y dan amplitudo f berhingga dan bernilai diskrit. Citra digital dapat ditulis dalam bentuk matrik sebagai berikut [5] :

[

] (2.1)

Matriks diatas menyatakan bahwa baris dan kolom merupakan suatu titik pada citra. Nilai antara baris dan kolom tersebut disebut dengan picture element, image element,

pels, atau piksels. Piksel ini merupakan sekumpulan titik-titik gambar yang menggambarkan koordinat dan mempunyai intensitas yang dinyatakan dengan bilangan dan disimbolkan f(x,y), dimana (x,y) merupakan koordinat pada bidang dua dimensi dan

f(x,y) merupakan intensitas cahaya pada titik (x,y), seperti pada Gambar 2.2 [5].


(27)

2.2.2. Ruang Warna RGB

Ruang warna adalah spesifikasi suatu sistem koordinat yang setiap titik di dalamnya mempresentasikan sebuah warna. Setiap citra berwarna memiliki ruang warna yang disesuaikan.Ruang warna biasanya menggunakan tiga komponen dasar yaitu red (R),

green (G), blue (B) dan ketiga komponen tersebut merupakan bagian dari setiap piksel. Ruang warna RGB dapat digambarkan dalam bentuk kubus seperti pada Gambar 2.3 [6].

Gambar 2.3. Skema Ruang Warna RGB

Setiap warna pokok memiliki intensitas sendiri dengan nilai maksimum 255 atau 28 = 8 bit. Bila dilihat dari Gambar 2.3 titik awal berada pada koordinat (0,0,0) yang merupakan warna hitam, hal tersebut juga menunjukkan bahwa setiap komponen warna benilai minimal. Sedangkan untuk komponen warna bernilai maksimal berada pada titik koordinat (255,255,255) yang menyatakan warna putih. Selain itu bila komponen warna bernilai maksimal maka sama dengan 24 bit sehingga jumlah warna mencapai 16.777.216. 2.2.3. Citra Grayscale

Citra berwarna terdiri dari 3 layer matrik yaitu R-layer, G-layer, dan B-layer seperti yang telah dibahas sebelumnya. Sehingga bila citra tersebut akan diproses membutuhkan


(28)

proses perhitungan yang panjang karena perhitungan harus diulang sebanyak tiga kali. Supaya citra dapat diproses oleh komputer dengan mudah maka citra digital harus memiliki format tertentu, oleh sebab itu hal pertama kali yang dilakukan untuk melakukan pengolahan citra yaitu dengan cara mengubah citra berwarna menjadi format/bentuk

grayscale atau warna keabuan. Mengubah citra berwarna menjadi citra grayscale dapat dilakukan dengan cara mengambil rata-rata dari nilai R, G, dan B menggunakan rumus seperti pada persamaan (2.2) [7]

(2.2)

Dimana :

S : Nilai grayscale

R : Nilai warna Red

G : Nilai warna Green

B : Nilai warna Blue

Citra grayscale merupakan citra digital yang pada setiap pikselnya hanya memiliki satu nilai kanal. Format citra ini disebut skala keabuan karena pada umumnya warna hitam digunakan sebagai warna minimal 0 dan warna putih sebagai warna maksimal 255, dimana warna tengah-tengah antara hitam dan putih adalah abu-abu. Seperti yang ditunjukkan pada Gambar 2.4.

Gambar 2.4. Citra skala keabuan 2.2.4. Cropping

Salah satu cara lainnya agar pengolahan citra menjadi lebih mudah yaitu dengan cara cropping. Cara ini menentukkan bagian citra yang dibutuhkan untuk proses selanjutnya sehingga untuk bagian citra yang tidak dibutuhkan akan dipotong atau dihilangkan. Sehingga dengan cara cropping akan mendapatkan data yang dibutuhkan dan mempermudah dalam pengolahan citra selanjutnya.


(29)

2.2.5. Resizing

Resizing adalah proses mengubah ukuran resolusi suatu citra secara horizontal maupun vertikal menjadi lebih besar atau lebih kecil dari ukuran sebelumnya, namun perubahan itu tidak akan berpengaruh pada tampilan citran karena yang diubah hanya ukuran piksel citra.

2.3. Pengenalan Pola

Pengenalan pola (pattern recognition) adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif fitur (ciri) atau sifat utama dari suatu obyek [7]. Proses pengenalan pola dapat dilakukan dengan cara membandingkan antara obyek yang ingin dikenali dengan data-data yang telah disediakan. Proses pengenalan pola ini bertujuan meniru kemampuan manusia dalam mengenali suatu obyek atau pola, sehingga dengan menerapkan pengenalan pola ini kepada suatu mesin maka membuat mesin memiliki kemampuan seperti manusia dalam mengenali suatu obyek atau pola.

2.4. Operasi Geometri Citra [6]

Operasi geometri adalah proses perubahan hubungan spasial antara setiap piksel pada sebuah citra. Operasi geometri memetakan kembali piksel citra input dari posisi awal (x1, y1) ke posisi baru (x2, y2) pada citra output. Proses yang tergolong ke dalam operasi geometri di antaranya adalah penskalaan dan Affine Transformation.

Metode transformasi Affine dapat digunakan untuk mencari citra hasil penskalaan. Secara matematis rumus transformasi Affine adalah sebagai berikut.

[ ] [ ] (2.5)

Proses penskalaan didapat dengan mengganti nilai A dan B dengan nilai sebagai berikut.

[ ] (2.6)

[ ] (2.7)

Dimana :


(30)

(x2, y2) : citra output

(Sp , Sl) : variable penskalaan

Sehingga didapatkan rumus pengganti untuk proses penskalaan adalah sebagai berikut.

[ ] [ ] [ ] [ ] (2.8)

Sehingga:

[ ] [ ] [ ] (2.9)

2.5. Wavelet

2.5.1. Wavelet secara Umum

Wavelet merupakan gelombang singkat yang mempunyai kemampuan mengelompokkan energi citra dan terkonsentrasi pada sekelompok kecil koefisien, sedangkan kelompok koefisien lainnya hanya mengandung sedikit energi yang dapat dihilangkan tanpa mengurangi nilai informasi [8]. Sedangkan trasformasi wavelet

merupakan pengubahan sinyal kedalam bentuk berbagai wavelet basis dengan menggunakan berbagai penyekalaan dan pergeseran, oleh karena itu beberapa skala dan resolusi dari koefisien wavelet dapat dihitung pada resolusi tinggi berikutnya. Sehingga dengan adanya sifat multiresolusi pada transformasi wavelet, dimungkinkan untuk mendekomposisikan suatu sinyal pada skala yang berlainan. Untuk mendapatkan dekomposisi wavelet suatu citra digunakan algoritma piramid, seperti Gambar 2.5. Dekomposisi dengan n tingkatan, maka output dari ai akan dijadikan input untuk dekomposisi tingkat selanjutnya,sehingga menjadi ai+1, hi+1, vi+1, dan di+1.

2.5.2. Wavelet Haar

Wavelet Haar merupakan salah satu tipe wavelet yang paling sederhana yang dapat diterapkan pada transformasi sinyal 1 dimensidan transformasi pada citra (sinyal 2 dimensi). Transformasi pada citra atau sinyal 2-dimensi dalam mentransformasikan nilai-nilai pikselnya dapat dilakukan dengan dua cara, yaitu metode dekomposisi standar dan metode dekomposisi tidak standar [9]. Metode dekomposisi standar dilakukan dengan cara memisahkan antara baris dan kolom sehingga transformasi wavelet dilakukan dengan 1-dimensi. Transformasi dilakukan pada baris terlebih dahulu hingga nilai piksel citra yang diinginkan kemudian dilanjutkan transformasi wavelet 1-dimensi untuk setiap kolomnya.


(31)

Sedangkan untuk metode dekomposisi tidak standar, dilakukan dengan cara transformasi

wavelet 1-dimensi untuk baris dan kolom dilakukan bergantian terus hingga mencapai nilai yang diinginkan.

Wavelet Haar memiliki empat buah filter, yaitu dekomposisi low pass filter dan

high pass filter serta rekonstruksi low pass filter dan high pass filter. Penelitian ini hanya menggunakan satu filter, yaitu dekomposisi low pass filter. Koefisien wavelet Haar dekomposisi low pass filter (2.10), yaitu :

(2.10)

Gambar 2.5. Dekomposisi wavelet satu level berdasarkan algoritma piramid;

ai adalah koefisien rerata; hi, vi, dan di masing-masing adalah koefisien horisontal,vertikal, dan diagonal


(32)

2.6. Konvolusi

2.6.1. Konvolusi secara Umum

[10]

Konvolusi dapat didefinisikan sebagai cara matematik untuk menggabungkan dua buah sinyal menjadi sinyal dalam bentuk lain. Konvolusi banyak digunakan dalam pengolahan citra, diantara untuk memperhalus citra (smoothing), menajamkan citra (crispening), mendeteksi tepi (edge detection). Jika ada dua barisan u dan h maka hasil konvolusinya (yk), dimana k menunjukkan suku ke-k. Konvolusi dinyatakan dengan persamaan 2.11.

Contoh, terdapat dua barisan berikut u = [1 2 3 4] dan h = [1 2] yang akan dikonvolusi. Mencari yk menggunakan persamaan 2.11, sebagai contoh mencari y1.

Penyelesaian secara grafis (Gambar 2.6) :

1. Ambil bayangan cermin dari un (Gambar 2.6.a) terhadap sumbu vertikal yang melalui titik asal untuk memperoleh u(-n) (Gambar 2.6.b).

2. Geserkan u(-n) ke kanan sejauh suatu jumlah yang sama dengan nilai k dimana barisan keluaran dihitung, yang menghasilkan u(k-n) (Gambar 2.6.c).

3. Perkalikan barisan u(k-n) dengan baris masukkan hk (Gambar 2.6.d).

4. Jumlahkan nilai-nilai hasil kali barisan (Gambar 2.6.e) untuk memperoleh nilai konvolusi di k (Gambar 2.6.f).

Selain itu untuk memudahkan dalam perhitungan konvolusi dapat juga menggunakan cara matriks seperti pada Gambar 2.7. Elemen-elemen matriks ini adalah hasil kali dari puncak-puncak baris dan kolom yang bersangkutan. Hasil konvolusi dapat dilihat setelah hasil dari perkalian dua baris tersebut dijumlahkan menurut garis-garis diagonal yang putus-putus. Sehingga, suku pertama (y0) adalah 1 dan untuk suku kedua (y1) sama dengan 2 + 2 = 4. Cara yang sama dilakukan untuk mencari suku berikutnya (yk), setelah semuanya dihitung maka akan memperoleh hasil yk = [1 4 7 10 8].


(33)

Gambar 2.6. Perhitungan konvolusi secara grafis


(34)

2.6.2. Konvolusi dengan Ekstensi Sinyal

Konvolusi biasa digunakan bila ada sinyal yang memiliki panjang terbatas, dan juga ujung sinyalnya diskontinu sehingga dapat menyebabkan distorsi pada ujung-ujung sinyal. Sehingga dapat dikatakan konvolusi adalah suatu proses untuk memperpanjang sinyal dengan cara pengulangan sinyal atau yang disebut periodisasi. Misalnya sinyal inputuk = {u(1), u(2), … ,u(M)} akan dikonvolusi dengan sinyal lain hk = {h(1), h(2), … , h(N)}, dimana N adalah bilangan genap, dan M > N, serta m adalah N/2. Sehingga pengulangan sinyal dengan periodisasi akan menghasilkan sinyal

(2.12)

Konvolusi sinyal yang diperpanjang dengan sinyal hk akan menghasilkan

Hasil konvolusi menghasilkan sinyal output dimana panjang M + N-1 lebih besar daripada panjang uk. Agar sinyal output memiliki panjang yang sama dengan sinyal input, maka hanya bagian-bagian tertentu saja yang akan dipilih sebagai output. Misalnya, output

konvolusi diatas adalah yk ={y(1), y(2), …, y(L)}, dimana L = M + N-1, maka akan dipilih bagian-bagian tertentu dari yk adalah [11]

y

out(k)

=

{

y

(

N+1

), …,

y

(

N

+

M

)}

(2.14)

Sebagai contoh, ada dua baris u = [1 2 3 4] dan h = [1 2] dimana baris u akan diperpanjang dengan periodisasi (2.12) sehingga menghasilkan = [4 1 2 3 4 1]. Hasil dikonvolusi (2.13) dengan baris h dengan menggunakan cara matriks, seperti pada Gambar 2.8.

Gambar 2.8. Perhitungan konvolusi

(2.13) _


(35)

Konvolusi dari menghasilkan yk = [4 9 4 7 10 9 2], setelah itu hasil konvolusi diambil hanya bagian tertentu saja (2.14) agar panjang output sama dengan panjang input. Sehingga menghasilkan yout(k) = [4 7 10 9].

2.7. Downsampling

Downsampling adalah proses pengurangan pencuplikan baris atau kolom yang diambil dari suatu citra atau data dari sinyal input. Downsampling biasa digunakan untuk proses kompresi data, sehingga data tidak terlalu besar dan menjadi lebih mudah untuk diolah. Selain itu downsampling juga dibutuhkan untuk melakukan proses dekomposisi citra menjadi citra pendekatan dan citra detil. Contoh proses downsampling, misal data

input (2.16) akan di-downsampling dengan mempertahankan bagian genap

(2.15)

maka data output (2.17) akan menjadi

(2.16)

2.8. Fungsi Jarak Chi-Square

Fungsi jarak chi-square berguna untuk menguji hubungan atau pengaruh dua buah variabel nominal dan mengukur kuatnya hubungan antara variabel yang satu dengan variabel nominal lainnya. Berikut ini rumus fungsi jarak chi-square [12]:

Dimana:

d = output jarak Chi-Square P = input dari hasil ekstraksi ciri

Q = data dari database n = banyaknya data

2.9. Template Matching [13]

Templete matching merupakan salah satu pendekatan yang paling sederhana dan paling awal untuk pengenalan pola. Matching adalah operasi generik pada pengenalan pola


(36)

yang digunakan untuk menentukan kemiripan antara entitas (titik, kurva, atau bentuk) dari jenis yang sama. Biasanya sampel (template)pada template matching berbentuk 2D, yang nantinya akan dicocokan dengan sampel yang telah disimpan dengan cara memperhatikan rotasi dan skalanya. Pengukuran kesamaan antara sampel masukkan dengan sampel disimpan dapat dicari korelasinya dengan optimal berdasarkan percobaan yang dilakukan.

2.10. Matlab [14]

Matlab adalah sebuah bahas pemrograman dengan kemampuan unjuk kerja tinggi untuk komputasi teknis, yang mengintegrasikan komputasi, visualisasi, dan pemrograman di dalam lingkungan yang mudah penggunaannya dalam memecahkan persoalan dengan solusinya yang dinyatakan dengan notasi matematik. Penggunaan Matlab, yaitu :

1. Matematika dan komputasi 2. Pengembangan algoritma

3. Pemodelan, simulasi dan pembuatan ‘prototipe’ 4. Analisis data, eksplorasi dan visualisasi

5. Grafik untuk sains dan teknik

6. Pengembangan aplikasi, termasuk pembuatan antarmuka grafis untuk pengguna (Graphical User Interface).

Matlab mempermudah untuk menyelesaikan masalah komputasi, tertutama yang menyangkut matriks dan vektor karena matlab menggunakan elemen data dengan dasarnya adalah array yang tidak membutuhkan dimensi. Beberapa toolbox yang tersedia meliputi bidang : pengolahan sinyal, system kendali, jaringan saraf, logika ‘fuzzy’, wavelet, simulasi dan lain sebagainya.

2.11. WebCam

Webcam merupakan singkatan dari web camera, yang berfungsi sebagai alat untuk merekam atau mengambil gambar secara real time. Webcam akan dihubungkan ke perangkat seperti komputer melalui port USB, setelah webcam dan komputer terhubung maka gambar yang ditangkap/direkam dapat diolah dan diproses oleh komputer sehingga gambar tersebut dapat dikenali. Webcam yang digunakan yaitu webcam Logitech C170 yang memiliki kemampuan 5.0 megapiksels, resolusi gambar Lite-HD 1024 x 768, serta


(37)

18

BAB III

PERANCANGAN PENELITIAN

Bab ini akan membahas tentang langkah-langkah perancangan dalam pembuatan sistem pengenalan rambu-rambu lalu lintas. Pembahasan di bab ini meliputi diagram blok, data masukkan serta perancangan antar muka yang akan digunakan.

Sistem pengenalan rambu-rambu lalu lintas terdiri dari hardware dan software. Bagian software yaitu, program pengenalan rambu, database, serta interface GUI yang semuanya diproses menggunakan Matlab. Sedangkan untuk bagian hardware terdiri dari

fixture, webcam, laptop/komputer, dan gambar rambu lalu lintas peringatan.

Gambar 3.1. Gambaran umum perancangan sistem

3.1

Perancangan Sistem Hardware

3.1.1. Tripot

Tripot merupakan alat bantu yang berfungsi sebagai tempat untuk meletakan

webcam sehingga mudah untuk dipindah-pindah dan webcam tetap stabil sehingga pada saat pengambilan gambar tidak goyang. Gambar rambu lalu lintas nantinya diletakan sejajar denganwebcam dengan jarak yang bervariasi.


(38)

3.1.2. Webcam

Sistem pengenalan rambu lalu-lintas ini menggunakan webcam sebagai perangkat untuk mengambil citra rambu. Merk webcam yang digunakan adalah Logitech seri C 170 dengan spesifikasi sebagai berikut :

Tabel 3.1. Spesifikasi webcam Photo quality 5 Megapixel Video quality VGA

Focus type Always focused Built-in mic Yes Auto light correction -

3.1.3. Laptop / Komputer

Laptop / komputer berfungsi sebagai tempat memproses program pengenalan rambu lalu lintas menggunakan Matlab serta sebagai tempat membandingkan antara

database yang telah disimpan dengan gambar yang diambil dari webcam.

3.1.4. Gambar Rambu Lalu Lintas

Gambar rambu lalu lintas berasal dari poster yang berukuran 600 mm x 600 mm per rambu. Rambu yang digunakan adalah rambu peringatan yang berwarna kuning yang berjumlah 3 rambu (Gambar 3.2.).

Gambar 3.2. Contoh gambar rambu lalu-lintas


(39)

3.2

Perancangan Sistem Software

Perancangan sistem software pengenalan rambu lalu-lintas terdapat beberapa proses yang harus dijalankan, yaitu proses pengambilan citra rambu, preprocessing, ekstraksi ciri, fungsi jarak, dan penentukeluaran. Gambar 3.3. merupakan blok diagram proses pengenalan rambu secara software.

Gambar 3.3.Blok diagramproses pengenalan rambu

Citra masukkan rambu lalu lintas berasal dari gambar poster yang di-capture oleh

webcam. Hasil capture lalu dikonversi menjadi warna keabuan(grayscale) sebelum citra hasil capture tersebut dipotong (cropping) sebesar citra rambu sehingga bagian gambar yang tidak dibutuhkan bisa dihilangkan. Tahap selanjutnya ukuran piksel dari citra rambu disesuaikan dengan ukuran yang diinginkan, tahap ini dinamakan tahap resizing. Ukuran piksel yang diharapkan yaitu 64 x 64. Hasil keluaran dari resizing ini kemudian menjadi masukkan untuk proses berikutnya yaitu proses pengenalan.

Proses pengenalan terdiri dari dua tahap yaitu ekstraksi ciri dan fungsi jarak. Ekstraksi ciri adalah tahap pengambilan ciri pada suatu citra sedangkan fungsi jarak adalah tahap dimana citra hasil ekstraksi ciriakan dibandingkan dengan citra database. Sistem pengenalan rambu lalu lintas ini menggunakan ekstraksi ciriWavelet Haar serta menggunakan fungsi jarak Chi Square.Jarak paling minimum yang diperoleh dari hasil perbandingan antara database dengan ekstraksi ciri dijadikan penentu hasil keluaran sistem. Hasil keluaran sistem berupa teks dan suara. Diagram alir proses pengenalan rambu dapat dilihat pada Gambar 3.4.


(40)

Gambar 3.4. Diagram alir proses pengenalan rambu 3.2.1. Proses Pembuatan Database

Tahap awal proses pengenalan rambu lalu lintas diperlukan adanya database rambu terlebih dahulu sebagai acuan dalam menentukan output pengenalan. Pembuatan database


(41)

membutuhkan 3 gambar rambu yang disimpan di dalam satu folder. Terdapat 3 set

database yang berasal dari jumlah desimasi (1, 2, 3) yang telah ditentukan. Proses pembuatan database hampir sama dengan proses pembuatan software pengenalan rambu lalu lintas, yaitu dengan melalui tahap input citra, preprocessing, dan ekstraksi ciri.

Proses pertama yaitu pengambilan citra rambu lalu lintas sebanyak 3 gambar, kemudian citra diproses melalui proses preprocessing yang meliputi proses grayscale,

cropping, bounding box dan resizing. Setelah proses preprocessing selesai, tahap selanjutnya yaitu ekstraksi ciri menggunakan metode wavelet haar. Proses pembuatan

database dapat dilihat pada diagram alir Gambar 3.5.


(42)

3.2.2. Pengambilan Citra Rambu

Tahap pengambilan citra rambu adalah proses mengambil gambar (capture) rambu lalu lintas menggunakan webcam yang diletakan sejajar dengan gambar rambu lalu-lintas dengan jarak dan sudut yang bervariasi. Webcam akan dihubungkan ke perangkat laptop / komputer menggunakan sambungan USB 2.0 sehingga gambar yang telah di-capture dapat dikirimkan dan diterima oleh laptop / komputer yang kemudian diolah menggunakan

Matlab.

Sebelum melakukan pengambilan citra rambu, webcam harus di-inisialisai terlebih dahulu oleh Matlab dengan cara membuat suatu fungsi di dalam Matlab. Perintah ‘winvideo’berfungsi untuk meng-inisialisasi webcam agar dapat dikenali oleh Matlab. Selanjutnya menggunakan perintah ‘getsnapshoot’ untuk mengambil citra, seperti yang diperlihatkan diagram alir pada Gambar 3.6.


(43)

Tahap pengambilan citra rambu menggunakan webcam merupakan tahap awal dari sistem pengenalan rambu lalu-lintas. Input citra dari tahap ini berasal dari gambar rambu lalu-lintas berukuran 60 cm x 60 cm. Proses pertama tahap ini adalah menyalakan webcam

dengan menggunakan fungsi ‘vidobj’, sedangkan untuk inisialisasi webcam

menggunakan fungsi ‘winvideo’ yang sudah tersedia pada Matlab. Setelah webcam

menyala, proses selanjutnya adalah pengambilan citra (capture) rambu lalu-lintas menggunakan fungsi ‘getsnapshoot’. Citra hasil capture akan dijadikan input untuk tahap selanjutnya yaitu tahap preprocessing. Contoh program untuk mengambil citra rambu dapat dilihat dibawah ini.

vidobj = videoinput('winvideo',1,'YUY2_640x480'); preview(vidobj);

pause

frame = getsnapshot(vidobj); stop(vidobj)

delete(vidobj)

gambar=yuy2torgb(frame); imshow(gambar)

3.2.3. Tahap Preprocessing

Tahap preprocessing merupakan tahap kedua dari sistem pengenalan rambu lalu-lintas, yang mana tahap ini berfungsi untuk mengolah citra agar mempermudah pengolahan citra ke tahap selanjutnya yaitu tahap ekstraksi ciri. Tahap preprocessing terdiri dari empat proses yaitu proses grayscale, proses cropping, proses bounding box dan proses resizing.

- Proses grayscale

Proses ini bertujuan untuk mengubah citra menjadi berwarna keabuan sehingga dapan memudahkan dalam proses selanjutnya yaitu ekstraksi ciri. Proses ini menggunakan perintah yang sudah tersedia di Matlab yaitu perintah rgb2gray. Perintah rgb2gray merupakan perintah untuk mengubah format gambar rgb

menjadi grayscale. Contoh programrgb2gray dapat dilihat dibawah ini dan citra

grayscale bisa dilihat pada Gambar 3.7.

X=imread('filename'); X1=double(rgb2gray(X)); X2=X1/255;


(44)

(a) (b) Gambar 3.7. konversi citra rgb ke grayscale

(a) citra masukkan (rgb), (b) citra hasil grayscale

- Proses cropping

Proses ini merupakan proses untuk mendapatkan data yang diinginkan dengan cara memotong bagian tertentu dari suatu citra sehingga memudahkan dalam pengolahan data untuk proses selanjutnya. Matlab telah menyediakan suatu perintah untuk cropping, yaitu imcrop (‘variabel’,[x y Δx Δy]).Kolom pertama dan kedua yaitu x dan y merupakan koordinat pada sumbu x

dan y kiri atas. Kolom ketiga yaitu Δx merupakan selisih antara sumbu x kanan atas dengan sumbu x kiri atas. Sedangkan kolom ketiga yaitu Δy merupakan selisih antara sumbu y kiri bawah dengan sumbu y kiri atas. Seperti yang diperlihatkan pada contoh program dibawah ini, dimana X2 merupakan variabel dari output grayscale sedangkan untuk nilai-nilai dari x, y, Δx, dan Δy didapat dari nilai koordinat seperti yang ditampilkan pada Gambar 3.8.

X3=imcrop(X2,[200 100 400 400]); imshow(X3)

Nilai x dan y dapat dilihat pada sumbu koordinat yang diperlihatkan pada Gambar 3.8. bagian (a), dimana terlihat sumbu x dan y berada pada sumbu koordinat 200,100. Nilai Δx didapat dari selisih sumbu x bagian kanan (Gambar b) dengan sumbu x bagian kiri (Gambar a) sehingga Δx = 600 – 200 = 400. Nilai Δy didapat dari selisih sumbu y bagian kiri bawah (Gambar c) dengan sumbu y bagian kiri atas (Gambar a), sehingga didapat Δy = 500 – 100 = 400. Setelah nilai-nilai x, y, Δx, dan


(45)

Δy didapat, program dapat dijalankan dan hasilnya seperti yang terlihat pada gambar d serta variabel diganti menjadi X3 untuk menjadi variabel masukkan ke tahap selanjutnya yaitu tahap resizing.

(a) (b)

(d) (c)

Gambar 3.8. Contoh proses cropping; (a) titik koordinat bagian kiri atas; (b) titik koordinat bagian kanan atas; (c) titik koordinat bagian kiri bawah; (d) hasil cropping

- Proses Bounding Box

Hasil dari proses cropping, kemudian dipotong sesuai dengan bounding box. Tujuan dari proses ini, agar mendapatkan gambar rambu yang pas sehingga


(46)

memudahkan dalam proses pengenalan. Diagram alir dari proses bounding box

dapat dilihat pada gambar 3.9.

Gambar 3.9. Diagram alir bounding box

Proses bounding box adalah proses dimana citra masukkan akan di cropping sesuai dengan bounding box-nya. Cropping dilakukan dengan cara memotong matrik citra masukkan yang nilainya kurang dari nilai parameter yang sudah ditentukan. Proses

cropping dilakukan dengan cara memotong tiap sisi secara bergantian, pertama kali yaitu sisi sebelah kiri di cropping setelah di-cropping citra diputar sejauh 90° dan kemudian citra sisi sebelah kiri di-cropping kembali. Proses ini dilakukan terus menerus hingga semua sisi citra di-cropping semua, seperti pada contoh Gambar 3.10


(47)

Gambar Masukkan Gambar Hasil Potong Kiri

(a) (b) Putar 90°

(c) (d)

Putar 90°

(e) (f) Putar 90°

(g) (h)

Putar 90°(kembali pada posisi awal)

(i)

Gambar 3.10 Proses bounding box (a) Input karakter (b) Hasil potong kiri (c) Putar 90° searah jarum jam ke 1 (d) Hasil potong kiri (e) Putar 90° searah jarum jam ke 2 (f) Hasil potong kiri (g) Putar 90° searah jarum jam ke 3 (h) Hasil Potong kiri (i)


(48)

- Proses resizing

Proses ini berfungsi untuk mengubah ukuran citra agar semua citra hasil cropping

memiliki ukuran yang samasehingga lebih memudahkan dalam proses selanjutnya.Ukuran yang digunakan adalah 64 x 64, ukuran citra ini berasal dari penelitian sebelumnya. Gambar 3.11. memperlihatkan perbandingan antara gambar hasil cropping sebelum dan sesudah di resizing.

(a)

(b)

Gambar 3.11. Proses(a) sebelumresizing (b) setelahresizing

Proses resizing dapat dilakukan dengan menggunakan contoh program di bawah ini dengan menggunakan syntax imresize, dimana X3 merupakan variabel input dari


(49)

hasil cropping sedangkan nilai 64 merupakan besaran pikselyang diharapkan yaitu 64 x 64 dan variabel X3 merupakan variabel untuk output/hasil dari resizing.

X4=imresize(X3,[64,64]); imshow(X4)

Gambar 3.12. Diagram alir pemrosesan citra

Diagram alir pada Gambar 3.12 memperlihatkan tahap preprocessing yang diawali dari input hasil capture kamera/webcam. Hasil capture yang berbentuk RGB


(50)

dikonversikan kedalam bentuk grayscale agar memudahkan dalam mengolah gambar. Citra yang telah menjadi bentuk grayscale kemudian di cropping dan di

resizing agar citra hasil keluaran dari tahap preprocessing ini memiliki ukuran yang sama sehingga memudahkan pada saat melakukan ekstraksi cirri.

3.2.4. Ekstraksi Ciri

Ekstraksi ciri merupakan proses pengolah data dari data yang banyak kemudian di ekstrak menjadi data yang lebih sedikit. Hal ini bertujuan untuk memudahkan mengolah data dan membuat data lebih efisien karena dari data yang sedikit itu sudah bisa mewakili data sebelumnya yang banyak. Proses pengenalan rambu lalu-lintas ini menggunakan ekstraksi ciri wavelet Haar yang memiliki 4 macam filter, namun yang digunakan hanya

decomposition low-pass filter karena yang ingin dicari hanya bentuk dasar dari citra. Ekstraksi ciri terdiri dari dua tahap, yaitu konvolusi dan downsampling seperti yang diperlihatkan diagram alir pada Gambar 3.13. Output ekstraksi ciri tergantung pada banyaknya jumlah desimasi (N) yang nantinya akan ditentukan oleh user, sehingga proses konvolusi dan downsampling diulang sejumlah desimasi (N). Desimasi yang disediakan ada 3, yaitu 32 x 32, 16 x16, dan 8 x 8.


(51)

Tahap konvolusi merupakan tahap untuk melakukan filtering, menggunakan

decomposition low pass filter Wavelet Haar. Namun karena Wavelet Haar merupakan low pass filter 1 dimensi sedangkan citra merupakan 2 dimensi sehingga diperlukan adanya 2 kali proses konvolusi yaitu konvolusi baris dan konvolusi kolom yang dikerjakan secara bergantian, seperti yang diperlihatkan pada Gambar 3.14. Sedangkan tahap downsampling

merupakan tahap menghilangkan baris dan kolom ganjil dan menjaga baris dan kolom genap, seperti diagram alir pada Gambar 3.15.

Gambar 3.14. Diagram alir konvolusi


(52)

3.2.5. Fungsi Jarak

Tahap berikutnya setelah citra di ekstraksi ciri yaitu tahap fungsi jarak. Tahap ini berfungsi untuk membandingkan output dari ekstraksi ciri dengan gambar rambu yang berada di database. Fungsi jarak yang digunakan adalah fungsi jarak Chi Square. Tahap ini mencari jarak minimum antara hasil ekstraksi ciri dengan database yang nantinya digunakan sebagai penentu keluaran. Jarak minimum didapatkan dengan menggunakan rumus pada persamaan 2.17. Pi merupakan nilai dari ekstraksi ciri citra masukkan

sedangkan Qi merupakan nilai dari ekstraksi citra database. Proses ini dapat dilihat dari

diagram alir Gambar 3.16.

Gambar 3.16. Diagram alir tahap fungsi jarak

3.2.6. Penentuan Keluaran

Setelah tahap perhitungan oleh fungsi jarak, maka hasil pengenalan rambu ditentukan berdasarkan jarak minimum yang diperoleh dari hasil perbandingan antara

output dari ekstraksi ciri dengan database, menggunakan fungsi jarak Chi Square. Sehingga proses ini merupakan subproses akhir dari proses pengenalan rambu.Output dari sistem pengenalan rambu lalu lintas ini ada dua jenis, yaitu output berupa text dan output


(53)

Gambar 3.17. Diagram alir penentu keluaran

3.3

Gambar Uji

Gambar uji diambil setelah user menekan tombol “Capture” yang kemudian webcam akan mengambil gambar rambu lalu lintas yang diletakan sejajar dengan gambar rambu, selain itu tingkat intensitas cahaya sesuai dengan intensitas cahaya di ruang Lab. TTL. Hasil capture lalu diteruskan ke proses selanjutnya yaitu preprocessing dan ekstraksi ciriWavelet Haar. Outputakan disimpan dan nantinya akan diproses kembali sehingga menghasilkan pengenalan citra rambu lalu lintas.

3.4

Perancangan Tampilan GUI Matlab

Sistem pengenalan rambu lalu lintas ini membutuhkan interface yang memudahkan

user untuk mengoperasikannya. Interface ini menggunakan Graphical User Interface

(GUI) pada software Matlab. Sketsa interface GUI sistem pengenalan rambu lalu lintas dapat dilihat pada Gambar 3.18.


(54)

Gambar 3.18. Sketsa GUI pengenalan rambu lalu lintas Tabel 3.2. Keterangan GUI

Nama Bagian Deskripsi

Tombol Camera On Untuk mengaktifkan webcam Tombol Capture Untuk mengambil gambar/citra

Axes 1 pada panel Camera Untuk menampilkan citra secara live dari webcamdan citra hasil capture

Axes 2 pada panel Proses

Pengenalan Rambu Untuk menampilkan citra hasil grayscale Axes 3 pada panel Proses

Pengenalan Rambu Untuk menampilkan citra hasil cropping Axes 4 pada panel Proses

Pengenalan Rambu Untuk menampilkan citra hasil resizing Axes 5 pada panel Ekstraksi

Ciri Untuk menampilkan citra hasil ekstraksi ciri Axes 6 pada panel Output

Text Untuk menampilkan hasil akhir berupa teks Pop Menu Untuk tempat user memilih variasi desimasi

Tombol Start Untuk memulai proses pengenalan rambu lalu-lintas Tombol Reset Untuk mengulangi proses pengenalan dari awal


(55)

36

BAB IV

HASIL DAN PEMBAHASAN

Bab ini membahas mengenai pengujian sitem program software yang telah dirancang, selain itu pada bab ini juga akan membahas interface serta penjelasan penggunaan sistem. Pengujian ini bertujuan untuk mengetahui sistem yang telah dirancang dan dibuat dapat bekerja dengan baik sesuai dengan yang diharapkan. Pengujian sistem pengenalan rambu lalu-lintas peringatan ini menggunakan 3 buah rambu asli berukuran 60 cm x 60 cm.

4.1.

Langkah-langkah awal untuk menjalankan program pengenalan

rambu peringatan

a. Membuka software Matlab, dengan cara klik kiri dua kali gambar icon matlab seperti pada gambar 4.1. Setelah itu akan muncul tampilan utama matlab seperti pada gambar 4.2.

Gambar 4.1. Icon Matlab R2010a


(56)

b. Setelah muncul tampilan utama dari matlab, langkah selanjutnya untuk menjalankan program pengenalan yaitu dengan mengganti Current Folder dengan Directory tempat program pengenalan ini disimpan (Gambar 4.3). Setelah itu klik menu guidedan akan muncul tampilan GUIDE Quick Start seperti pada Gambar 4.4. atau bisa juga langsung mengetik guide pada command window untuk membuka tampilan GUIDE Quick Start.

Kemudian pilih nama file program yang akan dijalankan untuk membuka interface dari program tersebut.

Gambar 4.3.Mengganti directory dan menu guide

Gambar 4.4. Tampilan GUIDE Quick Start

c. Tentukan file GUI yang akan dijalankan, setelah itu klik open maka akan muncul tampilan untuk meng-edit GUIpengenalan_rambu yang akan dijalankan seperti pada Gambar 4.5, kemudian klik run untuk menjalankan program.


(57)

Gambar 4.5. Tampilan Pengenalan_Rambu

d. Setelah meng-klik run, maka akan muncul tampilan GUI pengenalan_rambu seperti pada Gambar 4.6.

Gambar 4.6. Tampilan GUI Pengenalan Rambu Peringatan secara Real Time

Keterangan Gambar 4.6. :

1. Tombol pushbutton 1 adalah tombol Camera On yang berfungsi untuk menyalakan/mengaktifkan webcam.


(58)

2. Tombol pushbutton 2 adalah tombol Capture yang berfungsi untuk mengambil gambar dari webcam.

3. Tombol pushbutton 3 adalah tombol Start yang berfungsi untuk memulai proses pengenalan rambu.

4. Tombol pushbutton 4 adalah tombol Reset yang berfungsi untuk me-reset sistem apabila user melakukan kesalahan atau akan melakukan pengenalan yang lain. 5. Tombol pushbutton 5 adalah tombol Close yang berfungsi untuk keluar dari

program.

6. Tombol popupmenu berfungsi untuk memilih desimasi yang diharapkan oleh user.

4.2.

Penjelasan Program

a. Tombol Camera On

Gambar 4.7. Tampilan saat tombol Camera On ditekan

Tombol Camera On menjalankan program berikut : imaqhwinfo;

info = imaqhwinfo('winvideo');

dev_info = imaqhwinfo('winvideo',1);

vidobj=videoinput('winvideo',1,'YUY2_640X480'); vidobj.FramesPerTrigger = 1;


(59)

vidRes = get(vidobj, 'VideoResolution'); imWidth = 640;

imHeight = 480;

nBands = get(vidobj, 'NumberOfBands'); hImage = image(zeros(imHeight, imWidth,

nBands),'parent',handles.axes1) preview(vidobj, hImage)

Perintah program imaqhwinfo adalah perintah program untuk meng-inisialisasikan antara webcam dengan software matlab, selain itu perintah ini juga untuk mengetahui informasi dari webcam tentang nama device dan format warna hasil dari webcam misal RGB, YUY, dll. Perintah program preview untuk menampilkan video yang akan ditampilkan pada axes1.

b. Tombol Capture

Gambar 4.8. Tampilan saat tombol Capture ditekan Tombol Capture menjalankan program berikut :

start(vidobj); pause(1);

trigger(vidobj); stoppreview(vidobj); capt1=getdata(vidobj); gambar=yuy2torgb1(capt1);


(60)

handles.a=gambar;

guidata(hObject,handles)

Perintah program getdata adalah perintah untuk meng-capture gambar saat video dari wabcam sedang dalam keadaan on. Hasil dari capture wabcam memiliki format gambar YUY sehingga diubah terlebih dahulu ke format gambar RGB dengan cara menggunakan fungsi yuy2torgb. Agar hasil capture bisa dipanggil dan digunakan

diprogram lain maka diinisialisasikan menggunakan “handles”.

c. Popupmenu

Gambar 4.9. tampilan saat popupmenu diklik

- Popupmenu merupakan bagian untuk user memilih variasi desimasi yang diinginkan, pada bagian popupmenu ini terdiri dari 4 pilihan variasi desimasi yaitu desimasi1,2,dan 3. Popupmenu menjalankan program berikut :

indeks=get(handles.popupmenu1,'Value');

switch indeks

case 2

des=1;

case 3

des=2;

case 4

des=3;

end

handles.des=des;


(61)

Program di atas tertulis des=1 maksudnya adalah desimasi akan dilakukan sebanyak 1 kali, untuk penjelasan desimasi dapat dilihat pada bab III. Desimasi diinisialisasikan

dengan nama “des”, agar nilai variasi desimasi ini dapat dipanggil diprogram lain

maka diubah menjadi “handles.des”. d. Tombol Start

Gambar 4.10. Tampilan saat tombol start diklik

Proses pada tombol start ini terdiri dari beberapa bagian program yang digabungkan, program-program tersebut yaitu program grayscale, program cropping, program

resizing, program ekstraksi jarak, program fungsi jarak dan program keluaran. - Program grayscale

Program ini berfungsi untuk mengubah gambar yang telah di-capture menjadi berwarna keabu-abuan.

%PROSES GRAYSCALE

x=handles.a;

axes(handles.axes2); x1=double(rgb2gray(x)); x2=x1/255;


(62)

Perintah double pada program diatas berfungsi untuk mengubah nilai pada gambar

grayscale karena nilainya masih unsigninteger, sedangkan nilai hasil akhir dibagi 255 sebagai normalisasi agar nilai maksimalnya 1.

- Program cropping

Program ini berfungsi untuk memotong gambar sehingga bagian yang tidak di perlukan dapat dihilangkan.

%PROSES CROPPING

axes(handles.axes3); x3=1-x2;

x4=imcrop(x3,[150 100 350 350]); x6=imrotate(x4,45,'bilinear'); x7=ceil(x6-0.80);

x8=bbox(x6,x7);

x10=imrotate(x8,-45,'bilinear'); imshow(x10)

axis on

Sebelum dilakukan cropping hasil dari grayscale dibalik terlebih dahulu, yang berwarna gelap (bernilai 0) diubah menjadi berwarna terang (bernilai >0) dengan cara seperti list program “x3”, hal ini dilakukan untuk mempermudah dalam tahap automatic cropping. Tahap selanjutnya melakukan manual cropping dengan cara menentukan titik cropping berdasarkan gambar rambu yang berjarak 3 meter, hal ini dilakukan agar lebih memudahkan dalam tahap automatic cropping. Perintah

“imrotate” yaitu berfungsi untuk merotasi gambar sebanyak 45° agar gambar rambu

menjadi berbentuk kotak, hal ini dilakukan agar mempermudah dalam pemotongan

automatic cropping. Hasil dari “imrotate” dikurangi 0,80 agar nilai-nilai yang masih dibawah 0,80 dibuat menjadi 0 sehingga perbedaan antara gelap dan terang makin terlihat. Penentuan nilai 0,80 berasal dari hasil percobaan seperti pada table 4.1. Sedangkan perintah “ceil” yaitu berfungsi sebagai pembulatan angka ke atas, sebagai contoh nilai 0,3 dibulatkan menjadi 1 dan nilai -0,9 dibulatkan menjadi 0.Tahap selanjutnya adalah tahap automatic cropping yaitu dengan cara menggunakan fungsi

“bbox” atau bounding box seperti yang sudah dijelaskan pada bab III Dibawah ini

merupakan program bounding box namun untuk program lengkapnya dapat dilihat pada lampiran.


(63)

Tabel 4.1. Mencari nilai parameter untuk bounding box

Nilai Hasil Gambar

0,25

0,50

0,75

0,95

function [out1,out2]=cutleft(in1,in2)

%out1 (gray) , out2 (biner)

out1=in1; out2=in2;

JKolom=sum(in2);

KolomTakNol=find(JKolom >60);

if sum(KolomTakNol)>=1;

out1(:,1:KolomTakNol(1)-1)=[]; out2(:,1:KolomTakNol(1)-1)=[];


(64)

Program diatas adalah bagian dari program boundingbox yang berfungsi sebagai batas penentu titik potong untuk automatic cropping. List program “JKolom” berfungsi

untuk menjumlahkan nilai pada tiap kolom,pada gambar yang berwarna putih bernilai 1 sedangkan berwarna gelap bernilai 0. Listprogram “KolomTakNol” berfungsi untuk

memotong kolom yang nilainya kurang dari nilai parameter yang sudah ditentukan, untuk nilai parameter “JKolom>60” didapat dari hasil percobaan seperti pada table 4.2.Hasil dari “bbox” selanjutnya dirotasi kembali menggunakan “imrotate” sehingga posisi rambu kembali ke posisi awal.

Tabel 4.2. Menentukan nilai parameter JKolom

Nilai Hasil Gambar

JKolom > 20

JKolom > 60

JKolom > 150


(65)

- Program resizing

Program ini berfungsi untuk menyesuaikan ukuran gambar dari hasil cropping

sehingga memiliki ukuran piksel yang sama.

%PROSES RESIZING

axes(handles.axes4);

x11=imresize(x10,[64 64]); imshow(x11)

axis on

Program diatas menggunakan perintah “imresize” yang berfungsi untuk mengubah ukuran dari citra, baik itu untuk memperbesar atau pun memperkecil ukuran citra. Program resizing ini membuat ukuran citra menjadi 64 x 64 piksel.

- Program ekstraksi ciri

Program ini berfungsi untuk proses pengolahan data dari data yang banyak diekstrak menjadi data yang lebih sedikit namun dari data yang sedikit tersebut sudah bisa mewakili data sebelumnya yang banyak.

% EKSTRAKSI CIRI

axes(handles.axes5); x12=xcwav2(x11,des); mx12=max(x12(:)); nx12=x12/mx12; x13=x12(:); imshow(nx12) axis on

x13=x13+1; z=z+1;

Fungsi program “xcwav2” adalah untuk memanggil fungsi ekstraksi ciri, yang mana di dalam fungsi ekstraksi ciri menggunakan ekstraksi ciri wavelet haar. Input dari program ekstraksi ciri berasal dari hasil proses resizing yang berasal dari citra input

dan “des” adalah nilai desimasi hasil pilihanuser daripop-upmenu. Sedangkan list

program “nx12” berfungsi untuk normalisasi agar gambar bisa ditampilkan pada axes

5. List program “x13” berfungsi untuk membuat data yang terdiri dari beberapa kolom

menjadi hanya satu kolom, contoh data 32x32 diubah menjadi 1x1024 Output dari fungsi “xcwav2” adalah x12, yang merupakan hasil dari ekstraksi ciri wavelet haar.


(66)

- Program fungsi jarak

Program ini berfungsi untuk membandingkan antara hasil dari ekstraksi ciri dengan

database yang telah disediakan, yang nantinya nilai terkecil akan dijadikan output dari sistem pengenalan rambu ini.

% FUNGSI JARAK

for n=1:8

r(n)=jarak(x13,z(:,n));

end

minr=min(r)

b1=find(minr==r); b2=ceil(b1/2);

Perintah program jarak adalah untuk memanggil fungsi jarak chi square yang akan membandingkan antara hasil dari output ekstraksi ciri yaitu x13 dengan hasil dari

database yaitu z. Sedangkan b1 merupakan hasil pencarian nilai terkecil dari hasil perhitungan jarak, yang nantinya akan dicari letak nilai terkecil tersebut menggunakan

list program pada b2. - Program keluaran

Program ini berfungsi untuk menampilkan hasil pengenalan berupa teks/tulisan dan suara.

% KELUARAN TEXT

z2={'Tikungan ke Kiri','Tikungan ke

Kanan','Persimpangan'};

y1=z2(b2)

set(handles.edit1,'string',y1);

Program diatas adalah program untuk menampilkan hasil pengenalan berupa tulisan. Variabel z2 adalah inisialisasi 3 buah kata, nantinya nilai minimal akan dipanggil sesuai nama inisialisasi dan kemudian ditampilkan pada edit_text_1 menggunakan peritah set.

% KELUARAN SUARA

if (b2==1);

y=wavread('Tikungan ke Kiri.wav'); sound(y,50000)

elseif (b2==2);

y=wavread('Tikungan ke Kanan.wav'); sound(y,50000)


(1)

1. Proses Preprocessing

Citra Masukkan Diubah kedalam bentuk grayscale

Cita hasil cropping Membalik antara warna gelap dan terang


(2)

2. Proses Konvolusi dan Downsampling

Citra hasil resizing Citra hasil konvolusi

Citra hasil konvolusi baris Citra hasil downsampling baris


(3)

3. Proses Ekstraksi Ciri

Hasil Resizing Hasil setelah di-konvolusi


(4)

Pengujian Jarak Maksimum dan Minimum

Rambu Tikungan ke Kiri

Jarak (cm)

Desimasi 1 Desimasi 2 Desimasi 3 Tingkat

Percobaan Percobaan Percobaan Pengenalan

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

40            0%

50  100%

60  100%

80  100%

100  100%

120  100%

140  100%

160  100%

180  100%

200  100%

220  100%

240  100%

260  100%

280  100%

300  100%

320  100%

340  100%

360  100%

380  100%

400  100%

420  100%

440  100%

460  100%

480  100%

500  100%

520  100%

540  100%

560  100%

580    60%

600            0%

620            0%


(5)

Rambu Tikungan ke Kanan

Jarak (cm)

Desimasi 1 Desimasi 2 Desimasi 3 Tingkat

Percobaan Percobaan Percobaan Pengenalan

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

40            0%

50  100%

60  100%

80  100%

100  100%

120  100%

140  100%

160  100%

180  100%

200  100%

220  100%

240  100%

260  100%

280  100%

300  100%

320  100%

340  100%

360  100%

380  100%

400  100%

420  100%

440  100%

460  100%

480  100%

500  100%

520  100%

540  100%

560  100%

580  80%

600            0%

620            0%

Ket :  : rambu dikenali dengan tidak benar


(6)

Rambu Persimpangan

Jarak (cm)

Desimasi 1 Desimasi 2 Desimasi 3 Tingkat

Percobaan Percobaan Percobaan Pengenalan

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

40             0%

50  100%

60  100%

80  100%

100  100%

120  100%

140  100%

160  100%

180  100%

200  100%

220  100%

240  100%

260  100%

280  100%

300  100%

320  100%

340  100%

360  100%

380  100%

400  100%

420  100%

440  100%

460  100%

480  100%

500  100%

520  100%

540  100%

560  100%

580  100%

600             0%

620             0%

Ket :  : rambu dikenali dengan tidak benar