Pengujian dan Tampilan Program Pengenalan Secara Real Time

35

BAB IV HASIL DAN PEMBAHASAN

Dalam bab ini akan dilakukan tentang analisi dan pembahasan mengenai hasil pengujian sistem program yang telah dirancang. Pada uji coba yang dilakukan pada penulisan ini untuk mengetahui apakah sistem bekerja dengan baik atau tidak. Pada pengujian akan diperoleh hasil pengujian berupa data-data. Pengujian yang dilakukan menggunakan 38 gambar rambu larangan lalu lintas.

4.1. Pengujian dan Tampilan Program Pengenalan Secara Real Time

Rambu Larangan Pada Lalu Lintas Menggunakan DCT dan Jarak Canberra Pengujian dan tampilan program menggunakan perangkat keras dan perangkat lunak sebagai berikut: a. Processor : AMD E2-2000 APU with Radeon™ HD Graphics 1,75 GHz b. RAM: 4.00 GB c. Matlab : 7.10.0a Dalam tampilan antarmuka program “PENGENALAN SECRATA REAL TIME RAMBU LARANGAN LALU LINTAS” terdapat 7 push button, 1 pop up menu, 5 axes, 1 edit text, dan 4 static text. Masing-masing dari bagian membentuk suatu kesatuan yang akan digunakan untuk program “PENGENALAN SECRATA REAL TIME RAMBU LARANGAN LALU LINTAS”. Langkah-langkah untuk menjalankan program pengenalan seperti di bawah ini: a. Mengklik dua kali pada icon Matlab pada layar desktop dengan gambar icon seperti pada gambar 4.1. Gambar 4.1.Icon Matlab R2010a b. Setelah klip icon Matlab, akan tampli tampilan utama softwer Matlab seperti gambar 4.2. Gambar 4.2. Tampilan Awal Matlab R2010a c. Muncul tampilan awal, kemudian mengantikan current directory sesuai dengan directory dimana program yang akan dipakai disimpan, setelah itu ketik guide kamera pada command window maka akan muncul tampilan jendela utama program pengenalan seperti pada gambar 4.3. Klik run untuk menjalankan program. Gambar 4.3. Tampilan Jendela Utama Pengenalan d. Setelah klik run, akan muncul tampil tampilan GUI pengenalan rambu larangan lalu lintas seperti pada gambar 4.4. Director y Guide Run Gambar 4.4.Tampilan Utama Jendela Pengenalan Rambu Larangan Lalu Lintas e. Selanjutnya, memilih dan tekan tamboluntuk tampilan sesuai dengan fungsi dari bagiannya masing-masing. 1. Tombol ON, berfungsi untuk menampilkan video webcam. 2. Tombol capture, berfungsi untuk mencuplikan gambar dari video. 3. Tombol proses, berfungsi untuk menjalan perintah program cropping dan resizing. 4. Tombol ekstraksi ciri, berfungsi untuk menampilkan hasil tranformasi DCT. 5. Tombol pop-up menu, berfungsi untuk menampilkan ukuran window. 6. Tombol pengenalan, berfungsi untuk menampilkan hasil keluaran yang berupa teks. 7. Tombol reset, berfungsi untuk me-reset ulang jika user ingin melakukan pengenalan baru. 8. Tombol selesai, berfungsi untuk keluar dari proses pengenalan. Berikut adalah cara untuk menampilkan program utama pengenalan rambu larangan lalu lintas sebagai berikut: 1. Langkah pertama user menekan tombol ON untuk mengaktifkan video webcam, untuk mencuplikan gambar dari video yang akan digunakan untuk proses selanjutnya, tombol ON menjalankan program sebagai berikut : 1 2 8 3 4 7 5 6 Setelah menekan tombol ON, video citra yang dicuplikan seperti pada, axes 1 dapat dilihat pada gambar 4.5. Gambar 4.5. Tampilan Tombol ON Program di atas adalah program untuk menaktifkan webcam. Perintah imaqhwinfo adalah program untuk menampilkan informasi yang disimpankan oleh webcam dan informasi yang ditampil akan diinisialisasi dalam program. Proses ini bertujuan untuk agar webcam dengan softwere Matlab bisa berkomunikasi. Informasi yang akan ditampilkan oleh program adalah webcam, adaptor camera, jenis warna, port dan resolusi piksel. Perintah preview adalah program untuk menampilkan video saat video ON dengan inisialisasi yang telah digunakan. imaqhwinfo; info = imaqhwinfo winvideo ; vidobj =videoinput winvideo ,1, RGB24_1280x720 ; vidRes = getvidobj, VideoResolution ; imWidh = 1280; imHeight = 720; nBands = getvidobj, NumberOfBands ; hImage=imagezerosimHeight,imWidh,nBands, parent ,handles.axes1; previewvidobj,hImage; 2. Langkah kedua tekan tombol capture untuk mencuplikan gambar yang telah direkam dan tombol capture digunakan untuk menjalankan program seperti berikut: Program pada tombol capture hampir sama dengan program pada tombol ON tapi pada tombol capture menambahkan program grayscale yang akan berfungsi untuk menjadikan gambar yang capture berupa menjadi keabu-abuan. Program getsnapshot adalah untuk dicuplikan citra pada saat webcam keadaan kamera webcam ON. Gambar yang dicuplikan dijalankan dengan menggunakan handles dan tampilan pada axes 1. Handles adalah sebuah inisialisasi yang digunakan untuk dapat dipanggil dalam file figure maupum file m. Gambar 4.6 merupakan tampilan dari warna keabu-abuan, proses ini yang akan digunakan untuk program selanjutnya. imaqhwinfo; vidobj =videoinput winvideo ,1, RGB24_1280x720 ; vidobj.FramesPerTrigger = 1; vidobj.ReturnedColorspace = grayscale ; triggerconfigvidobj, manual ; vidRes = getvidobj, VideoResolution ; imWidh = 1280; imHeight = 720; nBands = getvidobj, NumberOfBands ; hImage=imagezerosimHeight,imWidh,nBands, parent ,handles.axes1; startvidobj; pause1; Image = getsnapshotvidobj; triggervidobj; stopvidobj deletevidobj axeshandles.axes1; imshowImage; axis on handles.Image=Image; guidatahObject,handles; Gambar 4.6. Tampilan Dari Tombol Capture 3. Langkah ketiga tekan tombol proses untuk menjalankan proses pengenalan yang sudah capture. Pada tombol proses terdapat program cropping dan resizing. Sebelum di cropping dan resizing hasil yang di capture dinormalisasikan dengan cara membagi hasil dari capture dengan 255 nilai maksimun dari citra grayscale. Hasil citra yang telah dicuplikan adalah citra grayscale yang nilai dari 0 sampai dengan 255. Pada proses cropping menggunakan perintah program bbox untuk memotong gambar yang tidak dibutuhkan untuk pengenalan. Cropping yang dilakukan secara automatic dengan cara pada gambar rambu diberi garis hitam tebal. Program cropping adalah sebagai berikut: r=doublehandles.Image; r1=r255; r2 =1-r1; r3=bboxgr2; j= Cropping ; sethandles.text1, string ,j; axeshandles.axes2; imshowr3; axis on handles.r3=r3; Program imresize adalah untuk melakukan ukuran resizing yang akan digunakan dan pada proses resizing citra ini ukuran yang digunakan disesuaikan dengan ukuran dari DCT. Jika ukuran dari DCT 64x64, maka ukuran resizing adalah 64x64. Gambar di bawah adalah hasil pencuplikan dari proses cropping dan resizing yang di tampilkan pada axes 2 dan axes 3 seperti pada gambar 4.7. Gambar 4.7. Tampilan Proses Cropping dan Resizing Hasil resizing yang diperoleh akan digunakan untuk proses selanjutnya. Program yang digunakan untuk proses resizing ini sebagai berikut: 4. Langkah keempat tekan tombol ekstraksi ciri untuk menampilkan hasil DCT dari gambar yang sudah di capture. Perintah program di bawah adalah perintah untuk menjalankan proses ekstraksi ciri. Citra masukan sebelum ekstraksi ciri adalah hasil dari preprocessing dari hasil resizing. r4=handles.r3; r5=imresizer4,[64,64]; k= Resizing ; sethandles.text2, string ,k; axeshandles.axes3; imshowr5; axis on handles.r5=r5; guidatahObject,handles; Hasil dari proses resizing dengan berikan variabel handles.r5, seperti yang ditampilkan pada axes 4. Hasil dari DCT disesuaikan dengan hasil dengan hasil dari resizing . Dari hasil resizing akan ditransformasikan dengan menggunakan DCT 2 D yang diberi nama r7. Hasil transformasiakan ditampilkan dengan menggunakan handles.axes seperti pada axes 4. Selanjutnya dengan menbuka hasil r7 untuk ditampilkan. Kemudian hasil ekstraksi ciri ditampilkan dengan menggunakan imshow dan terlebih dahulu di inisialisasikan dengan menggunakan handles.axes dapat dilihat pada gambar 4.8. Gambar 4.8. Hasil Transformasi Dari DCT 5. Langkah kelima tekan pada pop-up menu adalah untuk menampilkan ukuran window yang akan digunakan. r6=doublehandles.r5; r7=absdct2r6; r71,1=0; l= Hasil Transformasi DCT ; sethandles.text3, string ,l; axeshandles.axes4; imshowr7maxr7:; handles.r7=r7; axis on guidatahObject,handles; Perintah program di atas adalah proses untuk pemelihan atau megeluarkan database yang akan digunakan untuk membandingkan dengan salah satu citra masukan rambu larangan lalu lintas menggunakan perhitungan jarak. case 2 w=2; load x64ciri2a ; case 3 w=3; load x64ciri3a ; case 4 w=4; load x64ciri4a ; case 5 w=5; load x64ciri5a ; case 6 w=6; load x64ciri6a ; case 7 w=7; load x64ciri7a ; case 8 w=8; load x64ciri8a ; case 9 w=9; load x64ciri9a ; case 10 w=10; load x64ciri10a ; end handles.w=w; handles.z=z; r7=handles.r7; r8=r71:w,1:w; m= Hasil window ; sethandles.text4, string ,m; Lanjutan program Proses penguluaran database pembanding disesuaikan dengan variasi dari pop-up menu yang telah ditentukan atau dipilih oleh user. Perintah program diatas merupakan perintah program untuk tampilan ukuran window. Kemudian bagian kiri atas dari hasil DCT akan diambil sebagian ekstraksi ciri sebagai ukuran window. Proses ambil sebagian kiri atas dari hasil DCT ketika user menekan tombol pop-up menu. Ukuran window yang digunakan adalah 2x2, 3x3, 4x4,5x5,6x6,7x7,8x8, 9x9 dan 10x10. Dengan semakin besar ukuran window maka semakin kecil tampilan ekstraksi cirri. Tampilan di bawah merupakan ukuran window yang dapat dilihat pada tabel 4.1. Tabel 4.1. Citra Ukuran Window UkuranWindow Hasil Window Window=2x2 Window=3x3 axeshandles.axes5; imshowr8maxr8:; axis on r9=r8:; handles.t=r9; guidatahObject,handles; Tabel 4.1. Lanjutan Citra UkuranWindow UkuranWindow Hasil Window Window =4x4 Window =5x5 Window =6x6 Window =7x7 Tabel 4.1. Lanjutan Citra UkuranWindow Ukuran Window Hasil Window Window =8x8 Window =9x9 Window =10x10 6. Langkah keenam tekan tombol pengenalan untuk mengetahui hasil rambu larangan lalu lintas yang melalui tahap capture, preprocessing dan ekstraksi ciri dan hasil tersebut berupa dalam bentuk teks. Perintah program di atas adalah proses untuk menhitung jarak masukan dengan citra dari database. Perhitungan pembanding menggunakan jarak Canberra sebagai pembanding citra masukan dengan database. Perintah program perhitungan jarak g seperti diatas. Proses selanjutnya adalah nilai dari perhitungan jarak g tersebut dimasukan ke dalam metode pembandingan yaitu metode K-Nearest Neighbour K-NN, dimana for n=1:190 gn=jarakcy,z:,n; end metode K-Nearest Neighbor K-NN akan membandingkan citra masukan database dengan 38 citra rambu larangan lalu lintas dan membuat kelas yang akan dipilih. Perintah program K-Nearest Neighbor K-NN sebagai berikut: g; k=3; k pada knn m=5; Jumlah sampel per kelas [x1,x2]=sortg, ascend ; x urut naik fungsi jarak kn=x21:k; Pilih k nearest neighbour hk=ceilknm; Penentuan kelas-kelas yang terpilih x3=modehk; Pilih kelas yang paling sering muncul r10={ gbr 1. Berhenti ; gbr 2. Prioritas atas lalu lintas dari depan ; gbr 3. Beri kesempatan ; gbr 4. Prioritas bagi lalu lintas dari depan ; gbr 5. Dilarang beriringan kurang dari jarak yang ditentukan ; gbr 6. Dilarang membunyikan isyarat suara ; gbr 7. Dilarang mendahului kendaraan lain ; gbr 8. Pejalan kaki dilarang masuk ; gbr 9. Kendaraan bermotor dengan roda empat atau lebih dilarang masuk ; gbr 10. Kendaraan bermotor dengan roda tiga dilarang masuk ; gbr 11. Sepeda dilarang masuk ; gbr 12. Becak dan kereta roda tiga dilarang masuk ; gbr 13. Dilarang masuk ; gbr 14. Gerobak dorong dilarang masuk ; gbr 15. Troktor dengan kereta temple dilarang masuk ; gbr 16. Mesin kerja dilarang masuk ; gbr 17. Mobil gerobak dilarang masuk ; gbr 18. Dilarang membelok ke kanan ; gbr 19. Semua kendaraan bermotor dilarang masuk ; gbr 20. Dilarang parkir ; gbr 21. Dilarang membelok ke kiri ; gbr 22. Oto bus dilarang masuk ; Lanjutan Program Perintah program di atas adalah inisialiasi keluaran teks dari 38 rambu larangan lalu lintas. Variabel r10 adalah inisialisasi 38 rambu larangan lalu lintas. Nilai yang paling minimum akan dipanggil sesuai dengan nama yang telah diinisialisasi. Kemudian nilai gbr 23. Ditutup untuk semua kendaraan dari kedua arah ; gbr 24. Semua kendaraan tidak bermotor dilarang masuk ; gbr 25. Perintah berhenti ; gbr 26. Sepeda motor dilarang masuk ; gbr 27. Dilarang membalik ; gbr 28. Mobil gerobak dengan kereta gandengan dilarang masuk gbr 29. Silang datar dengan satu jalur rel ; gbr 30. Gerobak dan dokar dilarang masuk ; gbr 31. Kendaraan bermotor panjang dan muatan melebihi batas dilaran masuk ; gbr 32. Kendaraan yang seluruh tingginya termasuk muatan melebihi ukuran yang ditentukan dilarang masuk ; gbr 33. Kendaraan tidak bermotor yang seluruh panjang termasuk muatan melebihi ukuran dilarang masuk ; gbr 34. Kendaraan yang bobot dan muatan melebihi tonase yang ditentukan dilarang masuk ; gbr 35. Kendaraan yang seluruh lebar termasuk muatan melebihi ukuran yang ditentukan dilarang masuk ; gbr 36. Dilarang berhenti ; gbr 37. Batas kecepatan maksimal yang ditentukan ; gbr 38. Kendaraan yang bobot pada satu sumbu melebihi tonase yang ditentukan dilarang masuk }; Penentuan keluaran nilai minimum r11=r10x3; sethandles.text5, string ,r11; yang paling minimum akan ditampilkan ke dalam file figure dengan menggunakan perintah set . Berikut perintah program mencari nilai paling minimum. Perintah program di atas adalah mencari nilai paling minimum dari 38 nilai rambu larangan lalu lintas yang telah diinisialisasi. Tampilan hasil pengenalan salah satu citra rambu larangan lalu lintas setelah mengklik tombol pengenalan pada GUI. Dari hasil pengujian, tombol-tombol sudah bekerja dengan baik dapat dilihat pada gambar 4.9. Gambar 4.9. Tampilan Setelah Menekan Tombol Pengenalan 7. Langkah ketujuh tekan tombol reset untuk melakukan pengenalan baru. Perintah program pengenalan reset sebagai berikut: 8. Langkah kedelapan tekan tombol selesai apabila pengguna ingin keluar dari program pengenalan rambu larangan lalu lintas. Perintah program pada tombol selesai sebagai berikut: Pengujian program pengenalan secara real time rambu larangan pada lalu lintas menggunakan discrete consine transform dan jarak Canberra, tombol yang ada pada tampilan utama program dapat bekerja sesuai dengan perancangan yang dibuat dalam bab sebelumnya. Listing program utama keseluruhan terlampir pada lampiran IIIL5. deletefigurecamera; figurecamera; deletefigurecamera;

4.2. Penentuan Hasil Pengujian Program Pengenalan Citra Terhadap