IMPLEMENTASI PENELITIAN
BAB V IMPLEMENTASI PENELITIAN
5.1 Melakukan Inisialisasi
Pada program ini ada beberapa inisialisasi yang harus dilakukan diantaranya inisialisasi capture video dan frame, serta deklarasi ukuran frame yang akan
digunakan.
5.1.1 Inisialisasi capture dan frame
Fungsi Capture adalah fungsi pada OpenCV untuk memanggil file baik berupa file dan video. Deklarasi inisialisasi capture dan frame dituliskan pada Gambar
12 CvCapture video_asli; 13 CvCapture video_cropped;
Gambar 5.1 Inisialisasi capture frame
Pada program ini digunakan 2 sumber video yang nantinya akan digunakan sebagai ROI dan video asli, dari sumber video yang sama. Frame pada OpenCV digunakan sebagai basis pemrosesan video, dengan sistem frame sequential, dilakukan dengan memroses tiap bagian dari frame untuk diproses. Pada program ini, digunakan beberapa frame untuk mendukung pemrosesan dengan baik, yakni :
a) Frame Gambar Asli, yakni frame yang menunjukkan video asli sebelum diproses.
b) Frame ROI, yakni frame yang menunjukkan area yang akan diproses dengan OpenCV, frame ini adalah merupakan hasil cropping video, dengan menggunakan OpenCV.
c) Frame HSV Putih, yakni frame yang disiapkan untuk pemrosesan konversi warna dari RGB ke HSV untuk warna putih lampu depan mobil.
d) Frame HSV Merah, yakni frame yang disiapkan untuk pemrosesan konveri warna dari RGB ke HSV untuk warna merah lampu belakang mobil.
e) Frame Proses Putih, yakni Frame yang disiapkan untuk pendeteksian warna lampu depan dengan menggunakan metode Hough Circle berbasis Gradasi Warna.
f) Frame Proses Merah, yakni Frame yang disiapkan untuk pendeteksian warna lampu belakang mobil dengan menggunakn metode Hough Circle berbasis Gradasi Warna.
Proses inisialisasi frame dituliskan dalam listing pada Gambar 5.2.
17 inisialisasi frame frame asli, ukuran, dan propertinya
18 IplImage gambar_asli = cvCreateImage ( cvSize ( 640 , 480 ),
kedalaman warna 8 bit 20 3 ); pointer 3 channel untuk struktur RGB
21 22 inisialisasi frame Region of Interest
23 IplImage ROI = cvCreateImage ( cvSize ( 540 , 300 ),
inisialisasi frame untuk konversi ke HSV untuk proses 26 lampu depan
27 IplImage HSV_putih = cvCreateImage ( cvSize ( 540 , 300 ),
30 inisialisasi frame untuk konversi ke HSV untuk proses 31 lampu belakang
32 IplImage HSV_merah = cvCreateImage ( cvSize ( 540 , 300 ),
8-bit color depth 34 1 ); pointer 1 channel untuk strukter HSV
35 36 inisialisasi frame untuk proses houch circle lampu depan
37 IplImage proses_putih = cvCreateImage ( cvSize ( 540 , 300 ),
IPL_DEPTH_8U , kedalaman warna 8 bit
38 unsigned
39 1 ); pointer 1 channel untuk strukter hsv
inisialisasi frame untuk proses houch circle lampu 40 belakang
41 IplImage proses_merah = cvCreateImage ( cvSize ( 540 , 300 ),
42 IPL_DEPTH_8U ,
Gambar 5.2. Inisialisasi capture frame
Pada penjelasan listing pada Gambar 5.2, ukuran frame dideklarasikan sesuai dengan sumber video, Yang menarik dari penjelasan syntaxt adalah untuk frame thresholding (hitam putih) menggunakan jenis pointer 1 Channel untuk pointer struktur frame thresholding, dan kedalaman warna 8 bit unsigned tidak bertanda. Sedangkan RGB menggunakan jenis pointer 3 Channel untuk pointer struktur gambar berwarna dan kedalaman warna 8 bit.
5.1.2 Deklarasi( Inisialisasi) fungsi-fungsi Hough Circle
Sebelum dipanggil fungsi Hough Circle, maka terlebih dahulu perlu diinisialisasikan pointer-pointer berikut :
a. Pointers untuk menyimpan storage sementara, hal ini disediakan dengan fungsi cvMemStorage yang menyediakan memory sementara.
b. Pointers untuk menyimpan sequensial 3 elemen dari hough circle yakni titik tengah x, titik tengah y, dan radius circle.
c. Ponters untuk mendeklarasikan tipe data dari sequensia l elemen . Deklarasi untuk memory dituliskan pada Gambar 5.3.
44 CvHoughCIrcles membutuhkan memory untuk proses warna
45 CvMemStorage simpan_putih ; memory proses lampu depan 46 CvMemStorage simpan_merah ; memory proses lampu belakang
47 CVHoughCircles membutuhkan pointer circles, untuk
deklarasi sebelum fungsi dieksekusi dengan fungsi 48 cvGetSeqElem(p_seqCircles,1)
49 koordinat x centroid, y centroid, dan jari-jari lingkaran
CvSeq p_seqCirclesputih ; pointer deklarasi sebelum
50 dieksekusi
52 CvSeq p_seqCirclesmerah ;
53 pointer untuk deklarasi tipe data untuk data yang akan
54 dikeluarkan oleh fungsi cvGetSeqElem(p_seqCircles,1)
float p_fltXYRadiusputih ;
pointer untuk 3 elemen
objek terdeteksi;[0] => x posisi titik tengah objek; [1] => 55 y posisi titik tengah objek, [2] => radies dari tiap objek
56 float p_fltXYRadiusmerah ;
Gambar 5.3 Deklarasi penyimpanan memory dan tipe data pointer Hough Circles.
Dari listing pada Gambar 5.3 sudah jelas bahwa segala 3 jenis pointers untuk penyimpanan element Hough Circles. Pointer pertama adalah fungsi MemStorage diberi variabel simpan_putih untuk menyimpan elemen pendeteksian lampu depan kendaraan, dan variabel simpan_ merah untuk menyimpan elemen pendeteksain lampu belakang kendaraan. Penyimpanan perlu dilabelkan dengan variabel supaya dapat dipisahkan data deteksi merah, maka masuk ke variabel merah, begitu juga sebaliknya.
Pointer kedua adalah fungsi Sequential dimana fungsi tersebut disediakan untuk menyimpan elemen deteksi yang akan muncul pada deteksi lampu depan kendaraan dan lampu belakang kendaraan. Pointer yang ketiga yakni dideklarasikan tipe data elemen pendeteksian dengan data tipe float (pecahan). Dengan demikian ketiga elemen hasil pendeteksian Hough Circle yakni titik x centroid (titik tengah lingkaran), titik y centroid dan radius lingkaran.
5.2 Region of Interest
Region of Interest (ROI) adalah membatasi area pemrosesan video, sehingga terpusat pada suatu wilayah. Pada OpenCV, terdapat fungsi cvSetImageROI, dengan metode melakukan cropping . Karena otomatis cropping , maka untuk menunjukkan wilayah aslinya, maka dipanggil (dibuka) 2 video dengan sumber video yang sama, yang pertama dipotong wilayah ROI, dan yang satu diberi garis bantu untuk menunjukkan wilayah yang terpotong (ROI).
Gambar 5.4. Hasil Cropping ROI (kiri) dari Frame Asli (kanan).
Gambar 5.4 menunjukkan ilustrasi ROI yang dilakukan, Isyarat lingkaran deteksi Hough Circle digambar di frame ROI, frame asli hanya digunakan untuk Gambar 5.4 menunjukkan ilustrasi ROI yang dilakukan, Isyarat lingkaran deteksi Hough Circle digambar di frame ROI, frame asli hanya digunakan untuk
capture setiap frame dari video_asli pada frame gambar-
64 asli 65 gambar_asli = cvQueryFrame ( video_asli ); 66 capture setuap frame dari video_cropped pada frame ROI
67 ROI = cvQueryFrame ( video_cropped ); 68 dilakukan cropping image dengan fungsi setImageROI
69 cvSetImageROI ( ROI , cvRect ( 100 , 60 , 540 , 300 ));
digambar bentuk kotak sebagai virtualisasi area gambar
70 yang dicropping
71 cvRectangle ( gambar_asli ,
72 cvPoint ( 100 , 60 ),
point kiri atas 73 cvPoint ( 640 , 360 ), point kanan bawah
74 cvScalar ( 0 , 255 , 0 , 20 ), warna hijau,
75 1 , 8 , 0 );
tebal garis, tipe garis
Gambar. 5.5 Listing Query Frames dan Cropping ROI
5.3 Konve rsi ke HSV dan Identifikasi Warna dengan Skala Warna HSV
Untuk dapat melakukan pendeteksian area berdasarkan warna, maka yang perlu dilakukan adalah
a. Merubah warna dari RGB ke HSV, sebab menggunakan color gradient berbasis RGB sangat sulit dilakukan terlebih terhadap cahaya lampu.
b. Mendeteksi area warna dengan mendefinisikan filter dengan skala warna minimal dan maksimal.
5.3.1 Metode pendeteksian warna dan jangkauan warna (colorspace)
Untuk mendefinisikan jangkauan warna (colorspace) untuk masing- masing objek. Maka dilakukan pengambilan sampel sebanyak 20 buah untuk setiap sampel. Gambaran sampel dapat dilihat pada Gambar 5.6.
(a) Lampu depan kendaraan
(b) Lampu belakang kendaraan
Gambar 5.6 Contoh gambar(sampel) yang digunakan untuk me ncari skala nilai HSV lampu (a) lampu depan kendaraan, (b) lampu belakang kendaraan.
Dari Gambar 5.6. didapatkan nilai warna dalam format HSV untuk tiap pixel dari titik pusat ke titik paling pinggir wilayah pendeteksian lampu, maka didapatkan data seperti pada lampiran Tabel L1.1.tentang kisaran nilai lampu belakang mobil dan motor, serta lampiran Tabel L1.2. tentang kisaran nilai lampu depan mobil dan motor. Maka pada Tabel 5.1, disajikan rangkuman jangkauan nilai warna HSV untuk lampu depan dan belakang mobil dan motor.
Tabel 5.1 Kesimpulan jangkauan warna lampu depan dan lampu belakang pada format HSV
Lampu rem
lampu depan
Kendaraan
h s
v
h s
v
Min
Mobil
Max
Min
Motor
Max
Tabel 5.2 Kesimpulan jangkauan warna lampu depan dan lampu belakang pada format HSV (OpenCV Format)
Lampu rem
lampu depan
Pada Tabel 5.1 Hasil analisis dengan software pengolah citra menghasilkan nilai minimal dan maksimal dari jangkauan warna lampu depan dan lampu belakang sudah jelas batasnya. Lampu depan berarti mempunyai cahaya putih dan lampu belakang berarti cahaya berwarna merah.
Pada Tabel 5.1 dianalisis dengan menggunakan software yang menerapkan colorspace (jangkauan warna) pada HSV yakni, H(0-239),S(0-240),V(0-240). Sedangkan pada Tabel 5.2 dianalisis dengan software OpenCV digunakan colorspace dengan jangkauan yang berbeda yakni H(0-180),S(0-255),V(0-255). Maka pada Tabel 5.2. dimuat hasil konversi hasil kalibrasi kepada format colorspace OpenCV, karena sistem ini menggunakan OpenCV.
Namun untuk lampu depan mobil skala warna diatas adalah untuk jenis lampu halogen saja (berwarna putih kekuningan). Sedangkan pada lampu depan mobil ada jenis lampu HID (High Intensity Discharge Lamp), yang menghasilkan cahaya berwarna putih (kebiruan). Ilustrasi sistem ditunjukkan pada Gambar 5.7.
Gambar 5.7 Sampel gambar kendaraan dengan lampu HID
Tabel 5.3 Nilai lampu HID pada format HSV, (a) kisaran warna lampu HID mobil b) konversi dalam format OpenCV
(a) Kisaran warna HID
(b) Konversi format OpenCV
Pada Gambar 5.7. didapatkan sampel gambar untuk pengukuran colorspace dari lampu HID . Hasil colorspace ditampilkan pada Tabel 5.3 (a) nilai pada saat diukur dengan software dengan nilai rentang HSV yang telah dijelaskan.Kemudian Tabel 5.3 (b) hasil konversi ke format OpenCV. Pada Tabel
5.4. dapat disimpulkan bahwa jangkauan warna dalam nilai HSV antara lampu HID dan lampu Halogen adalah sama. Jangkauan lampu Halogen lebih lebar dari lampu HID, dengan demikian tidak perlu colorspace khusus untuk mengenali lampu depan HID.
5.3.2 Listing OpenCV untuk mengenali masing-masing jangkauan
warna(colorspace).
Pada sub bab 5.3.1. didapatkan hasil kalibrasi untuk mendapatkan masing- masing colorspace dari lampu depan kendaraan dan lampu belakang kendaraan. Maka pada sub bab 5.3.2. ini hasil colorspace diterjemahkan kepada instruksi program OpenCV. Instruksi tersebut ditampilkan pada Gambar 5.8.
81 fungsi konversi RGB ke HSV cvCvtColor ( ROI , HSV_putih , CV_BGR2HSV ); 82 untuk lampu depan
cvCvtColor ( ROI , HSV_merah , CV_BGR2HSV ); 83 untuk lampu belakang
84 fungsi filter skala warna lampu depan
85 cvInRangeS ( HSV_putih ,
frame masukan
86 cvScalar ( 0 , 0 , 86 ), nilai minimal
87 cvScalar ( 128 , 165 , 255 ), nilai maksimal
88 proses_putih );
frame keluaran
89 fungsi filter skala warna lampu belakang 90 cvInRangeS ( HSV_merah ,
91 cvScalar ( 120 , 53 , 32 ),
92 cvScalar ( 180 , 255 , 255 ), 93 proses_merah );
Gambar 5.8 Listing konversi frame dari basis RGB ke HSV pada lampu depan dan belakang
Pada listing Gambar 5.8. dapat dilihat proses untuk mengubah RGB ke HSV Format dengan sangat mudah menggunakan fungsi CV_BGR2HSV yang dipanggil. Cara membuat colorspace untuk tiap warna juga mudah karena tinggal menyebutkan masing- masing angka maksimum dan minimum pada format OpenCV. Sebagai penggambaran hasil konversi warna pada format HSV dapat dilihat pada Gambar 5.9, yang merupakan format warna 8 bit.
Gambar 5.9 Hasil RGB ke Grayscale untuk lampu depan
Pada Gambar 5.10 dapat dilihat hasil pembacaan objek untuk lampu depan dan belakang kendaraan dengan threshold frame 20, dan exposure 100. Warna merah cerah dengan titik hijau adalah penanda untuk pendeteksian lampu depan kendaraan. Tampak hasil pendeteksian lampu depan kendaraan salah pada pemantulan aspal. Sementara pendeteksian lampu belakang motor hanya kurang presisi saja, tidak banya error karena intensitasnya tidak sebanyak cahaya lampu depan mobil.
Gambar 5.10 Hasil pe mbacaan objek untuk lampu depan dan belakang
kendaraan.
5.4 Fungsi smoothblur.
Fungsi Smooth atau blur digunakan untuk menghilangkan noise akibat konversi dari RGB ke HSV, dengan tujuan mengurangi error saat pendeteksian warna. Berikut adalah code untuk fungsi cvSmooth, termuat pada listing Gambar
Hasil dari proses smoothing dapat dilihat pada Gambar 5.12. Gambar 5.12 a) adalah hasil tanpa smooth , tampak ada garis yang hilang, Gambar 5.12 b) adalah hasil dengan smooth, tampak hasil low pass filter, warna putih threshold agak pudar, namun semuga garis tersambung, baik untuk deteksi kontur.
99 cvSmooth ( proses_putih ,
masukan frame
proses_putih ,
keluaran frame CV_GAUSSIAN , menggunakan gaussian
101 blurr 102
9 , tinggi kernel
9 ); lebar kernel
cvSmooth ( proses_merah ,
proses_merah ,
CV_GAUSSIAN ,
Gambar 5.11 Listing proses smooth pada OpenCV
(a) Tanpa Smooth
(b) Dengan Smoothing
Gambar 5.12 Hasil frame a) citra tanpa Smoothing dan b) citra dengan Smoothing
Fungsi ini adalah implementasi dari metode Gaussian Blur pada OpenCV, dengan memanggil fungsi CV_GAUSSIAN. Proses Gaussian Blur menggunakan proses konvolusi antara nilai pixels pada frame asli dengan nilai Gaussian pada frame kernel. Proses ini sudah dijelaskan pada sub bab 3.2.3.
Singkatnya adalah proses konvolusi ini bekerja seperti lowpass filter. Semakin besar ukuran kernel, maka semakin mengkabur gambar yang dihasilkan. Pada Singkatnya adalah proses konvolusi ini bekerja seperti lowpass filter. Semakin besar ukuran kernel, maka semakin mengkabur gambar yang dihasilkan. Pada
5.5 Fungsi Deteksi tepi dan Transformasi Hough Circle
5.5.1 Fungsi Sobel
Pada sub bab 4.5.1 telah dijelaskan tentang rancangan pengolahan citra, termasuk didalamnya rancangan deteksi tepi secara spesifik. Fungsi Hough Circle pada OpenCV tidak secara spesifik menampilkan gambar tahap demi tahap., karena fungsi sobel dan fungsi canny sudah menjadi satu dengan fungsi Hough Circle Fungsi Sobel menghasilkan perbedaan gradasi dari nilai pixel bertetanggan. Dengan fungsi tersebut maka citra dengan gradient di pinggir adalah yang paling heterogen (paling besar gradasinya), yang di tengah cenderung homogen. Hasil Fungsi Sobel ditunjukkan pada Gambar 5.13. Perintah untuk membuat fungsi sobel ditunjukkan pada listing pada Gambar 5.14.
(a) Citra Asli (setelah
(b) Citra setelah Ope rasi Sobel
Smoothing)
Gambar 5.13 Hasil Operasi Sobel (a) citra asli (b) hasil Operasi Sobel
Sobel X Sobel( src_gray, grad_x, ddepth, 1, 0, 3, scale, delta,
BORDER_DEFAULT );
99 100 convertScaleAbs( grad_x, abs_grad_x ); 101 Sobel Y
Sobel( src_gray, grad_y, ddepth, 1, 0, 3, scale, delta, 102 BORDER_DEFAULT );
convertScaleAbs( grad_y, abs_grad_y );
Total Gradien
addWeighted( abs_grad_x, 0.5, abs_grad_y, 0.5, 0, grad 105 );
Gambar 5.14 Listing Operasi Sobel
5.5.2 Fungsi Deteksi Canny dan Hough Circle
Operasi deteksi Canny dilakukan setelah Operasi Sobel. Pada implementasi di OpenCV untuk Fungsi Hough Circle , Fungsi Canny dilakukan bersamaan dengan Fungsi Hough Circle. Ilustrasi hasil threshold Canny kemudian menghasilkan deteksi tepi, dan dilanjutkan dengna transformasi Hough Circleditunjukkan pada Gambar 5.15. Fungsi Canny pada Gambar 5.16 dilakukan dengan batas atas dan batas bawah threshold. Fungsi Canny sudah dijelaskan pada sub bab 3.2.5.
Gambar 5.15. Hasil (a) Edge Detection dilanjutkan dengan Transformasi Hough Circle
Fungsi Hough Circle sudah dijelaskan pada sub bab 3.2.6 tentang metode pendeteksian Hough Circle secara umum. Pada OpenCV fungsi ini sedikit berbeda karena hanya menggunakan gradasi warna sebagai ukurannya. Dengan demikian disesdiakan parameter-parameter tambahan seperti resolusi pendeteksian, minimal jarak antar titik centroid, batas atas dan bawah threshold , serta parameter optional yakni maksimum dan minimum jari-jari, karena tidak berpengaruh terhadap jumlah lingkaran dan perubahan koordinat centroid. Listing untuk fungsi tersebut dituliskan pada Gambar 5.16
melakukan pendeteksian hough circle pada frame proses
p_seqCirclesputih = cvHoughCircles (
proses_putih , input frame
simpan_putih , memory untuk elements
CV_HOUGH_GRADIENT , algorithma berbasis gradien
115 warna 116
1 , resolusi gradient pixel ,>=1
40 , minimal jarak
255 , Batas atas canny threshold
4 0 , Batas bawah canny threshold
3 , min jari-jari lingkaran dalam pixel
15 ); max jari-jari lngkarang dalam pixel
p_seqCirclesmerah = cvHoughCircles (
proses_merah ,
simpan_merah ,
CV_HOUGH_GRADIENT ,
Gambar 5.16 Listing fungsi deteksi sequential pada frame proses merah dan proses putih
Pada Gambar 5.16, fungsi pendeteksian dinyatakan deklarasi parameter Hough Circle. Dalam parameter tersebut terlihat bahwa memory simpan_merah Pada Gambar 5.16, fungsi pendeteksian dinyatakan deklarasi parameter Hough Circle. Dalam parameter tersebut terlihat bahwa memory simpan_merah
Kemudian didefinisikan resolusi gradient, sebagai parameter untuk tingkat akurasi pendeteksian warna berbasis gradient. Kemudian didefinisikan juga jarak antara titik tengah lingkaran dengan titik tengah lingkaran yang lain sebagai aturan jarak antar objek lingkaran terdeteksi yang diperbolehkan. Setelah itu didefinisikan nilai ambang atas threshold dan ambang bawah threshold , dengan metode Canny Threshold. Canny Threshold adalah metode untuk menentukan batas minimal dan maksimal suatu thresholding pada gambar. Kemudian didefinisikan ukuran radius minimal dan maksimal dalam pendeteksian lingkaran. Radius minimal dan maksimal pada lingkaran digunakan hanya sebagai opsi saja, karena tidak berpengaruh pada banyaknya objek terdeteksi. Penjelasan ini, dilanjutkan pada sub bab 6.3.
Fungsi berikutnya adalah mendapat titik centroid dan jari- jari lingkaran pada listing Gambar 5.17.
for ( i = 0 ; i < p_seqCirclesputih -> total ; i ++) { dilakukan
133 iterasi untuk mendeteksi lingkaran pada cahaya putih
p_fltXYRadiusputih
= ( float ) cvGetSeqElem ( p_seqCircles , i ); mendapatkan parameter
nilainya kedalam tipe data float
if ( p_fltXYRadiusputih [ 1 ]> 169 ) batas deteksi y
printf ( "ball position x1 = f, y1 = f, r1 = f \n" ,
p_fltXYRadiusputih [ 0 ], posisi x centroid
p_fltXYRadiusputih [ 1 ], posisi y centroid
p_fltXYRadiusputih [ 2 ]); } radius centroid
Gambar 5.17 Ite rasi fungsi Sequential putih untuk mendapat titik centroid, dan menetapkan batas vertikal pendeteksian
Pada Gambar 5.14 dijelaskan listing fungsi mendapatkan centroid dengan menggunakan interasi (kolong for), dalam fungsi ini dibicarakan sebagai cvGetSeqElem, untuk mendapatkan 3 parameter Hough Circles, yakni titik pusat Pada Gambar 5.14 dijelaskan listing fungsi mendapatkan centroid dengan menggunakan interasi (kolong for), dalam fungsi ini dibicarakan sebagai cvGetSeqElem, untuk mendapatkan 3 parameter Hough Circles, yakni titik pusat
5.16 digunakan margin vertikal lebih rendah dari 169.(Parameter vertikal dihitung dari atas ke bawah, jika total tinggi frame 300 pixels, maka dikurang 169 menjadi 131). Jadi yang dimaksud pada listing ini adalah jika dihitung dari bawah, centroid vertikal dari lingkaran tidak lebih dari koordinat tersebut.
Pada listing Gambar 5.18 adalah fungsi untuk menandai lingkaran pendeteksian dengan menggunakan warna.
garis bantu untuk menunjukkan tinggi vertikal centroid
obje
cvLine ( ROI , input frame
cvPoint ( x , 400 ), titik awal
cvPoint ( p_fltXYRadiusputih [ 0 ],
p_fltXYRadiusputih [ 1 ]), titik akhir
1 , 8 , 0 ); ketebalan dan tipe garis
cvCircle ( ROI , gambar di frame ROI
cvPoint ( cvRound ( p_fltXYRadiusputih [ 0 ]), cvRound ( p_fltXYRadiusputih [ 1 ])), tengah
3 , 3 pixel jari lingkarn
CV_RGB ( 0 , 100 , 0 ), warna hijau
CV_FILLED ); ketebalan 3 pixel
cvCircle ( ROI , gambar pada frame ROI
cvPoint ( cvRound ( p_fltXYRadiusputih [ 0 ]),
cvRound ( p_fltXYRadiusputih [ 1 ])),
cvRound ( p_fltXYRadiusputih [ 2 ]),
CV_RGB ( 100 , 0 , 0 ),
lingkaran merah
3 ); ketebalan 3 pixel pusat lingkaran
} end for
Gambar 5.18 Fungsi drawing pada OpenCV untuk menandakan dae rah yang ditandai sebagai area terdeteksi
Fungsi Drawing pada Gambar 5.18 ada 3, yakni membuat garis sebagai penunjuk tinggi vertikal centroid, kemudian membuat titik pada centroid, kemudian menggambar tepi lingkaran pada area terdeteksi. Hasil fungsi pendeteksian, koordinat centroid dan radius, kemudian digambarkan ke frame Fungsi Drawing pada Gambar 5.18 ada 3, yakni membuat garis sebagai penunjuk tinggi vertikal centroid, kemudian membuat titik pada centroid, kemudian menggambar tepi lingkaran pada area terdeteksi. Hasil fungsi pendeteksian, koordinat centroid dan radius, kemudian digambarkan ke frame
(a) Frame sebelum dibatasi
(b) Frame setelah dibatasi
Gambar 5.19 Hasil pe mrosesan citra (a) frame sebelum dibatasi, (b) frame sesudah dibatasi (ROI
Maka digunakan fungsi setImageROI pada OpenCV yang menggunakan sistem cropping frames. Hasilnya didapatkan pembatasan wilayah pendeteksian dan hasil performa yang jauh lebih baik. Dibatasi ROI dengan wilayah mulai dari titik (100,60) sampai dengan titik (640,360). Hasil pembatasan ROI itu terlihat pada Gambar 5.17.
Gambar 5.20 Pembatasan wilayah ROI
Pada Gambar 5.20 dapat dilihat bahwa dengan titik ROI yang disebutkan mampu untuk memfokuskan pendeteksian sekaligus untuk mengurangi error yang terjadi. Memfokuskan pendeteksian karena wilayah ROI kiri yang tidak penting dipotong. Mengurangi error karena pada wilaayah koordinat vertikal bawah banyak sekali terjadi error dan wilayah tersebut juga merupakan lintasan objek mobil atau motor. Contoh pada gambar tersebut terlihat bahwa ada pantulan cahaya yang memantul di kap mobil, maka disimpulkan lebih baik di potong sesuai ROI , baru kemudian di kalibrasi. Pada Gambar 5.20, dapat disimpulkan bahwa pembatasan wilayah ROI tidak mengurangi akurasi, namun justru meningkatkan akurasi karena mengurangi error .
5.6 Pembatasan Wilayah ROI
Pada Gambar 5.21 ditunjukkan pengujian pada objek cahaya lampu jauh mobil dari jarak 90 meter. Dari pendeteksian tersebut didapatkan titik koordinat objek (267,125). Hal yang ingin disampaikan, yakni pembatasan wilayah ROI kanan dan ROI kiri untuk mensimulasikan kendali lampu mobil secara indepentdent.
Gambar 5.21 Deteksi mobil dari jarak 80 meter
Gambar 5.21 ditunjukkan pengujian pada objek cahaya lampu jauh mobil dari jarak 90 meter. Dari pendeteksian tersebut didapatkan titik koordinat objek (267,125). Hal yang ingin disampaikan, yakni pembatasan wilayah ROI kanan dan ROI kiri untuk mensimulasikan kendali lampu mobil secara indepentdent. Karena tidak ada penelitian khusus tentang perbedaan wilayah cahaya lampu kanan dan lampu kiri, maka menggunakan pendekatan pada Gambar 5.21 dibagi ROI kanan adalah (0-250) pixels dan ROI kiri (0-290 pixels) pada bidang horizontal dari Frame ROI.
5.7 Cropping ROI Frame dan Duplikasi
Pada algoritma sebelumnya hanya dijelaskan tentang bagaimana melakukan deteksi objek dengan menggunakan metode Hough Circles. Pada sebelumnya telah dijelaskan tentang pembatasan wilayah pendeteksian dengan titik tengah koordinat vertikal area pendeteksian. ROI memang dapat digunakan dengan menggunakan cara sederhana seperti yang ditunjukkan pada sub bab 5.6. Namun cara tersebut kurang efektif karena hal- hal berikut .
a. Dengan menggunakan fungsi SetImageROI dapat dilakukan cropping frame, sehingga ukuran frame menjadi kecil dan ringan.
b. Ukuran kecil dan ringan ini sangat penting karena pada penelitian ini digunakan 19 frame (5 frame deteksi lampu depan kanan, 5 frame deteksi lampu depan kiri, 3 frame deteksi lampu belakang kanan, 3 frame deteksi lampu belakang kiri, dan main frame yang utuh, serta frame kanan dan frame kiri).
Skema implementasi ROI dan duplikasi frame ditunjukkan pada Gambar 5.22.
ROI Kanan
ROI Kiri
tres20kanan,tres30kanan,tres40kanan,tres50k
tres20kiri,tres30kiri,tres40kiri,tres50kiri;
anan;
tres_hati_hati_kiri, tres_rem_kiri
tres_hati_hati_kanan, tres_rem_kanan
Gambar 5.22 Konsep implementasi ROI pada main frame
Wilayah ROI Kanan dan ROI kiri kemudian dikonversikan ke HSV Merah dan HSV Putih, lalu diduplikasikan ke masing- masing frame threshold yang telah ditentukan.
5.8 Cuplikan Listing Cropping Frame dan Duplikasi ROI
Pada sub bab 5.7. telah dibahas tentang konsep cropping frame dan duplikasi frame. Maka pada Gambar 5.20 dipaparkan listing cropping dan duplikasi frames hati_hati. Input frame adalah dari frame video_rem kepada frame ROI_rem_kanan. Kemudian dilakukan proses cropping seperti yang dijelaskan pada listing. Kemudian masuk ke fungsi color space untuk mendeteksi warna lampu merah. Outputnya adalah frame hati_hati_kanan. Maka frame hati_hati_kanan inilah yang dapat dijadikan basis duplikasi frame rem_kanan, dan frame depan_kanan. Setelah itu baru ketiganya masuk di fungsi pendeteksian Hough Circles, masing- masing. Listing untuk proses cropping dan duplikasi frame hati- hati kanan dituliskan pada Gambar 5.23.
265
ROI_rem_kanan = cvQueryFrame ( video_rem );
266
cvSetImageROI ( ROI_rem_kanan , cvRect ( 0 , 220 , 540 , 140 ));
286
cvInRangeS ( HSV_merah_kanan , input frame
cvScalar ( 120 , 50 , 30 ),
287
min dan equal nilai filter untuk hsv lampu belakang
cvScalar ( 180 , 255 , 255 ),
288
max nilai filter untuk hsv lampu belakang
289
hati_hati_kanan ); output frame depan_kanan=cvCloneImage(hati_hati_kanan);
296
cloning frame
rem_kanan=cvCloneImage(hati_hati_kanan);
298
cloning frame
Gambar 5.23 Listing cropping dan duplikasi frame hati_hati_kanan
5.9 Garis Bantu batas ROI, dan Pe rkiraan Jarak Dari Titik Nol
Pada Gambar 5.24 telah ditambahkan garis-garis sebagai pengenal masing- masing wilayah jarak. Berikut adalah keterangannya.
a. Garis 0 adalah garis bantu untuk wilayah toleransi 10 pixel diatas jarak 90 m dari pendeteksian.
b. Garis 1 adalah batas wilayah pendeteksian 90 meter dari titik pendeteksian
c. Garis 2 adalah batas wilayah pendeteksian jarak antara 30,40,50 meter dari titik pendeteksian
d. Garis 3 adalah batas wilayah pendeteksian 10,20 meter dari titik pendeteksian.
Gambar 5.24 Hasil cloning frame kanan dan frame kiri, untuk keperluan pembatasan ROI dan multi thresholding frame
Dasar penjelasan titik-titik diatas adalah dari hasil kalibrasi dengan menganggap sumbu vertikal dihitung dari bawah pada frame ROI kanan atau ROI kiri. Pada lampiran Tabel L6.7 dimana titik vertikal tertinggi adalah lampu depan motor pada jarak 90 yakni 129 pixels, dibulatkan menjadi 130 pixels. Dengan demikian garis 0 adalah toleransi 10 pixel adalah koordinat 140 pixels. garis 1 adalah 130 pixels, dan garis 2 yang dimaksudkan adalah koordinat vertikal 120 pixels. Pada data kalibrasi di Lampiran 6, didapatkan bahwa tinggi lampu depan, belakang, pada motor dan mobil berbeda-beda, sehingga pada koordinat 120 pixels estimasi jarak adalah 30, 40, 50 meter. Pada Lampiran 6 didapatkan data bahwa titik 10 meter pada lampu depan mobil, lampu belakang, serta la mpu belakang mobil mempunyai tinggi vertikal 100 pixels. Namun pada lampu depan kendaraan bermotor tinggi vertikal adalah 109 pixels, dibulatkan menjadi 110 pixels. Maka pada garis 3 adalah perkiraan jarak 10 dan 20 meter dari titik nol.
Dengan memberikan batas-batas ROI, diharapkan dapat memperjelas tentang penjelasan tentang pendeteksian objek, beserta perkiraan jarak berdasarkan tinggi koordinat vertikal.
5.10 Multilevel Thresholding dan Deteksi Sekuensial
Pada penelitian ini peneliti diminta untuk dapat membuat penelitian yang dapat mendeteksi intensitas cahaya mobil dan motor baik lampu depan maupun lampu belakang. Pada sistem Adaptive High Lamp biasanya hanya mendeteksi cahaya lampu mobil, namun kurang cocok untuk motor karena intensitas cahaya motor lebih redup dari mobil. Karena keadaan jalan di Indonesia berbeda dengan di luar negeri, dimana motor dan mobil tidak dipisah, bahkan sepeda motor sering lebih banyak. Maka sistem baru harus dapat mendeteksi sepeda motor, dengan baik.
Maka dari itu tingkat thresholding dari kendaraan bermotor lebih rendah dari mobil, maka pasti dengan tingkat cahaya mobil yang lebih tinggi maka didapatkan besarnya error yang tinggi pada pendeteksian mobil. Maka dengan pendekatan hasil kalibrasi sesuai dengan lampiran L3 dan L4 , maka diputuskan untuk membuat 5 level thresholding lampu depan dan 3 level thresholding lampu belakang.
Konsep multi thresholding dipaparkan pada Gambar 5.25. Pada ROI Kanan, tingkat threshold frame paling tinggi adalah 40, sehingga posisi servo di kanan adalah posisi 4. Sedangkan pada ROI Kiri, tingkat threshold frame paling tinggi adalah 20, sehingga posisi servo di kiri adalah posisi 2.
Gambar 5.25 Hasil deteksi berbagai tingkat thresholding frame , ditunjukkan oleh warna
Berikut adalah data yang didapatkan, mengacu pada hasil kalibrasi data pada Lampiran 5. Pada Lampiran 5 divariasikan minimal thresholding. Kode Warna yang digunakan untuk membedakan tingkat thresholding frames pada lampu depan kendaraan dipaparkan pada Tabel 5.4.
Tabel 5.4 Warna dan tingkat thresholding frame deteksi lampu depan
Tingkat
Warna
Threshold Putih 10-19
Lingkaran Merah dengan
titik tengah hijau
Threshold Putih 20-29
Lingkaran Merah dengan
titik tengah merah
Threshold Putih 30-39
Lingkaran Orange dengan titik tengah
orange
Threshold Putih 40-49
Lingkaran Kuning dan
titik tengah kuning
Threshold Putih >50
Lingkaran Hijau dan titik
tengah hijau
Kemudian berikut adalah data yang didapatkan mengacu pada hasil kalibrasi data Kode Warna yang digunakan untuk level threshold frame lampu belakang , diuraikan pada Tabel 5.5.
Tabel 5.5 Warna dan tingkat thresholding frame deteksi lampu belakang
Warna
Jangkauan Threshold
Lingkaran Biru Muda
Threshold Merah10-19
dengan titik tengah Biru
Muda Lingkaran Putih dengan
Threshold Merah 20-29
titik tengah putih Lingkaran Ungu dengan
Threshold Merah >30
titik tengah Ungu
5.11 Pemodelan Aktuator
5.11.1 Model protipe sistem
Untuk mempermudah presentasi, dibuat puwarupa alat dengan sistem kerja menyerupai sistem sesungguhnya. Dengan demikian maka perintah-perintah dalam bentuk teks yang ada pada software OpenCV dapat dimodelkan dengan hardware.
Gambar 5.26 Hasil deteksi berbagai tingkat thresholding frame , ditunjukkan oleh warna
Pada Gambar 5.26 dapat dilihat purwarupa pemodelan sistem ini. Lampu biru sebagai isyarat lampu jauh, sementara lampu hijau sebagai isyarat lampu dekat. Untuk tingkat intensitas cahaya (Dinamic Forward Lighting) yang akan dikeluarkan diisyaratkan dengan posisi servo. Posisi ini akan berubah-ubah menyesuaikan dengan jeda PWM. Keterangan dapat dilihat pada Tabel 5.6.
Tabel 5.6 Detail isyarat pe modelan sistem
Isyarat Lampu Jauh
LED Biru
Isyarat Lampu Dekat
LED Hijau
Posisi Servo 1
PWM 1350 (paling menengadah)
Posisi Servo 2
PWM 1200
Posisi Servo 3
PWM 1050
Posisi Servo 4
PWM 900
Posisi Servo 5
PWM 750
5.11.2 Setup Arduino
Aktuator sebagai simulator pada penelitian ini menggunakan Arduino. Pada penggalan program arduino, setup digunakan untuk inisialisasi dan langkah awal karena program ini hanya akan dieksekusi sekali pada saat awal eksekusi sebelum masuk ke loop. Instruksi pada Gambar 5.27 adalah inisialisasi servo, buzzer, dan posisi servo awal, dan fungsi untuk membuka port serial pada Linux Ubuntu, yakni pada port devttyACM0.
17 void setup () {
18 pinMode ( servo_kanan , OUTPUT ); aktifkan output
19 pinMode ( servo_kiri , OUTPUT ); 20 pinMode ( buzzer , OUTPUT );
21 pulseWidth_kiri = 750 ; 22 pulseWidth_kanan = 750 ;
25 pinMode ( lampu_kanan , OUTPUT ); 26 pinMode ( lampu_kiri , OUTPUT );
30 Serial . begin ( 9600 ); 31 Serial . println ( " Intellegent Light System" ); 32 Serial . println ( "Bismillah" ); 33 Serial . println ();}
Gambar 5.27 Listing inisialisasi serial dan port pada Arduino
5.11.3 Pembacaan perintah serial
Perintah pembacaan serial sebagai perintah dari komputer ke Arduino melalui port serial. Pada sisi OpenCV (Komputer), akan mengirimkan 4 buah karakter ASCII secara bersamaan, maka perintah while(Serial.available()>3), supaya mengesekusi 4 karakter sekaligus. Perintah ini dituliskan pada Gambar 5.28.
36 void loop () {
37 tunggu serial input
38 if ( Serial . available () > 3 ) {
39 baca bit yang masuk:
40 delay ( 10 ); 41 while ( Serial . available ()> 3 ){ 42 input [ 0 ] = Serial . read (); 43 input [ 1 ] = Serial . read (); 44 input [ 2 ] = Serial . read (); 45 input [ 3 ] = Serial . read ();
46 } input berupa ascii
if ( input [ 0 ] == 48 ) { pulseWidth_kanan = 750 ; delay
49 ( 300 ); } ascii bilangan 0
if ( input [ 0 ] == 49 ) { pulseWidth_kanan = 900 ; delay
50 ( 200 );} ascii bilangan 1
if ( input [ 0 ] == 50 ) { pulseWidth_kanan = 1050 ; delay
51 ( 100 );} ascii bilangan 2
if ( input [ 0 ] == 51 ) { pulseWidth_kanan = 1200 ; delay
52 ( 100 ); } ascii bilangan 3
if ( input [ 0 ] == 52 ) { pulseWidth_kanan = 1350 ; delay
53 ( 100 ); } ascii bilangan 4
if ( input [ 1 ] == 53 ) { pulseWidth_kiri =
55 750 ; delay ( 300 );} ascii bilangan 5
if ( input [ 1 ] == 54 ) { pulseWidth_kiri = 900 ;
56 delay ( 200 );} ascii bilangan 6
if ( input [ 1 ] == 55 ) { pulseWidth_kiri = 1050 ; delay
57 ( 100 );} ascii bilangan 7
if ( input [ 1 ] == 56 ) { pulseWidth_kiri = 1200 ; delay
58 ( 100 );} ascii bilangan 8
if ( input [ 1 ] == 57 ) { pulseWidth_kiri = 1350 ; delay
59 ( 100 );} ascii bilangan 9
if ( input [ 2 ] == 65 ) { digitalWrite ( lampu_kiri , 61 HIGH ); delay ( 50 ) ;} ascii karakter A
if ( input [ 2 ] == 66 ) { digitalWrite ( lampu_kiri , LOW );
62 delay ( 120 ) ;} ascii karakter B
if ( input [ 3 ] == 67 ) { digitalWrite ( lampu_kanan , 63 HIGH ); delay ( 50 );} ascii karakter C
if ( input [ 3 ] == 68 ) { digitalWrite ( lampu_kanan , 64 LOW ); delay ( 120 ); } ascii karakter D
Gambar 5.28 Listing program parsing serial Arduino
Pada fungsi pembacaan karakter ASCII pada Gambar 5.25 adalah karakter yang dikirimkan dari OpenCV. Karakter pertama yakni input[0] adalah bilangan antara 0-4, pada ASCII dinyatakan dengan 48-52, untuk mengatur posisi servo kanan. Karakter kedua yakni input[1] adalah bilangan antara 5-9, dinyatakan dengan ASCII 53-57 untuk mengatut posisi servo kiri. Karakter ketiga yakni Pada fungsi pembacaan karakter ASCII pada Gambar 5.25 adalah karakter yang dikirimkan dari OpenCV. Karakter pertama yakni input[0] adalah bilangan antara 0-4, pada ASCII dinyatakan dengan 48-52, untuk mengatur posisi servo kanan. Karakter kedua yakni input[1] adalah bilangan antara 5-9, dinyatakan dengan ASCII 53-57 untuk mengatut posisi servo kiri. Karakter ketiga yakni
5.11.4 Pewaktuan servo
Pewaktuan servo pada listing Gambar 5.29, dilakukan dengan menggunakan bantuan fungsi milis() (milisecond) yang merupakan bawaan dari arduino, untuk kemudian menyesuaikan pulsa PWM yang diset. Refresh time pada program ini diset 20 ms, artinya jeda antar pulsa adalah 20 Sehingga tiap 20 ms servo akan merefresh dengan pulsewidth yang baru.. Listing program dapat dilihat pada Gambar 5.29.
Pada pewaktuan delay servo untuk pulsewidth pada servo sekitar 1ms-2ms, pada servo yang digunakan. Maka untuk menentukan posisi ditentukan berdasarkan besar pulse width antara 750- 1350. Perintah ini dituliskan di listing pada Gambar 5.29.
79 if ( millis () - lastPulse >= refreshTime ) { 80 digitalWrite ( servo_kanan , HIGH ); start pulsa 81 delayMicroseconds ( pulseWidth_kanan ); delay pulsa
82 digitalWrite ( servo_kanan , LOW );
stop pulsa 84 digitalWrite ( servo_kiri , HIGH ); start pulsa 85 delayMicroseconds ( pulseWidth_kiri ); delay pulsa
86 digitalWrite ( servo_kiri , LOW );
lastPulse = millis ();
simpan pulsa
87 terakhir
Gambar 5.29 Listing pewaktuan servo pada Arduino
BAB VI PENGUJIAN DAN PEMBAHASAN
6.1 Kalibrasi Pengujian
Kalibrasi ini adalah untuk mencari nilai referensi dan nilai error minimum untuk dapat melakukan pendeteksian objek. Ilustrasi skema kalibrasi ditunjukkan pada Gambar 6.1.
Titik 90 m dari titik nol (start mobilmotor)
Kamera titik nol
Gambar 6.1 Skema kalibrasi pendeteksian, di Lapangan SMA N 2, Donoharjo, Ngaglik, Sleman
Pada Gambar 6.1 diterangkan kalibrasi pada penelitian ini dilakukan dengan menggunakan Lapangan SMA N 2 Ngaglik. Untuk dapat mengkalibrasikan parameter-parameter pada metode Hough Circle, dengan cara mengambil sampel lampu depan dan lampu belakang motor dan mobil yang telah ditentukan sebagai model kalibrator.
Setting yang dibuat pada Gambar 6.1 dibuat mirip dengan lebar Jalan Palagan (jalan provinsi), dengan asumsi lebar jalan 6 meter. Letak pengamat adalah pada titik Kamera, sedangkan start mobil dan motor adalah dari titik 90 meter.
6.1.1 Pengaturan nilai window dari filter smooth OpenCV
Pada sub bab ini diterangkan tentang variasi ukuran kernel pada filter smooth. Penelitian ini dilakukan untuk mengetahui apakah mempengaruhi sensitivitas pendeteksian objek. Ilustrasi hasil pendeteksian ditampilkan pada Gambar 6.2.
(a). Bagian kiri adalah hasil smooth
(b). Bagian kanan adalah hasil smooth
window 9x9, hasilnya error masih
window 15x15, hasilnya error pada
banyak pada pantulan cahaya
pantulan rumput berkurang, namun
rumput
menjadi tidak peka mendeteksi motor.
Gambar 6.2 Hasil filter image, dengan smooth, pada ukuran kernel (a) 9x9 dan (b) 15x15
Filter gaussian blurr(smooth) adalah fungsi konvolusi yang sudah dijelaskan di teori. Karena setiap ukuran window menghasilkan nilai Gaus yang berbeda pada window kernel untuk fungsi konvolusi. Maka dicari nilai window smooth untuk mengurangi noise, namun tidak mengurangi sensitivitas dalam mendeteksi Filter gaussian blurr(smooth) adalah fungsi konvolusi yang sudah dijelaskan di teori. Karena setiap ukuran window menghasilkan nilai Gaus yang berbeda pada window kernel untuk fungsi konvolusi. Maka dicari nilai window smooth untuk mengurangi noise, namun tidak mengurangi sensitivitas dalam mendeteksi
Pada bagian (a) digunakan window ukuran 9x9, dimana hasilnya masih terdapat 4 error pada pantulan rumput, namun berhasil untuk mendeteksi motor pada jarak 10 meter. Pada ukuran window 15x15 dapat mereduksi kesalahan hingga turun separohnya menjadi 2 error , namun tidak mampu mendeteksi kendaraan motor pada jarak 10 meter.
6.1.2 Metode pendeteksian pola warna di OpenCV dengan menggunakan
Hough Circle
Ada beberapa hal yang perlu diperhatikan dari pendeteksian pola warna dengan menggunakan metode Hough Circle pada OpenCV. Pada OpenCV moetodenya sedikit berbeda karena hanya menggunakan sistem gradasi warna untuk pendeteksian pola. Kemudian ada beberapa parameter yang disediakan OpenCV untuk membatasi pendeteksian, sebagai berikut :
a. Ukuran kepresisian resolusi image pada deteksi pola warna. Ukuran ini harus lebih besar atau sama dengan 1. Pada penelitian ini digunakan nilai 2 pixel untuk ukuran kepresisian image.
b. Jarak antara titik tengah lingkaran dengan titik tengah lingkaran yang lain. Hal ini sangat berpengaruh terhadap deteksi dan error, maka pada penelitian ini divariasikan nilainya pada 30, 40, 50, 60, 70 pixel.
c. Kisaran nilai Canny Threshold yang digunakan. Canny Threshold adalah ukuran kisaran nilai threshold yang digunakan untuk pendeteksian objek. Pada nilai maximum threshold didefinisikan 255 , untuk nilai minimmum threshold akan dicari yang terbaik antara 10,20,30,40,50.
d. Kisaran nilai Minummum dan maximum radius, yakni membatasi ukuran minimal dan maksimal lingkaran. Parameter ini optional, karena sebenarnya setting untuk parameter ini tidak akan membatasi pendeteksian dan mengurangi error sebenarnya. Karena pada Color Range yang dideklarasikan cukup lebar, sehingga kalau diset nilai minimumnya kecil, maka OpenCV d. Kisaran nilai Minummum dan maximum radius, yakni membatasi ukuran minimal dan maksimal lingkaran. Parameter ini optional, karena sebenarnya setting untuk parameter ini tidak akan membatasi pendeteksian dan mengurangi error sebenarnya. Karena pada Color Range yang dideklarasikan cukup lebar, sehingga kalau diset nilai minimumnya kecil, maka OpenCV
Kisaran nilai exposure
Exposure digunakan untuk membatasi cahaya yang terserap oleh lensa video camera, (mengatur diafragma). Berbeda dengan canny threshold yang membatasi nilai threshold dengan variasi pada software, pada exposure setting adalah pada camera sehingga diharuskan mengambil gambar sebanyak nilai variasi exposure tersebut. Digunakan variasi antara exposure dan canny threshold dengan tujuan mengurangi error dan menambah akurasi dari hasil pendeteksian. Pada penelitian ini divariasikan nilai exposure pada 100; 87,5; 75; 62,5; 50.
Variasi parameter kalibrasi
Pendeteksian dengan sistem Hough Circles dipengaruhi oleh beberapa parameter. Telah disebutkan sebelumnya bahwa variabel- variabel yang berpengaruh pada pendeteksian Hough Circles di OpenCV. Maka divariasikan pengujian kalibrasi dengan variasi parameter sebagai berikut :
a. Jarak antar titik tengah centroid lingkaran
b. Variasi exposure untuk menentukan 3 exposure terbaik
c. Variasi 3 exposure terbaik dan variasi minimal threshold untuk membentuk hubungan linier antara minimal threshold dengan jarak objek terdeteksi.
d. Exposure terbaik dan variasi threshold untuk mendapat koordinat vertikal titik centroid.
e. Memadukan semua parameter yang ada pada pemrosesan video (akurasi algoritma)
6.1.3 Penjelasan hasil kalibrasi pendeteksian pola warna di OpenCV dengan
menggunakan Hough Circle. Jarak antar titik tengah pendeteksian
Jarak antar titik tengah ini berpengaruh kepada banyaknya lingkaran yang akan terdeteksi pada suatu gradient warna yang sesuai. Karena jari-jari maksimal dan minimal tidak berpengaruh kepada banyaknya lingkaran (noise).
Pada lampiran L3 divariasikan jarak antar titik tengah lingkaran antara 30,40,50,60,70. Hasil yang diinginkan untuk pendeteksian ini adalah nilai terbaik antara tingkat akurasi koordinat (tidak null) dan tingkat error yang rendah. Null pada hasil pendeteksian pada data kalibrasi adalah hasil pendeteksian yang tidak akurat pada area gradasi warna, maka dihitung sebagai error . Hasil deteksi ditunjukkan pada Gambar 6.3.
(a) Jarak antar pusat 50 pixels.
(b) Jarak antar pusat 10 pixels
Gambar 6.3 Hasil filter dengan minimal jarak pendeteksian antar titik
pusat, (a) jarak 50 pixel (b) jarak 10 pixel
Kesimpulan yang didapatkan pada lampiran L3, disimpulkan bahwa nilai jarak antar titik lingkaran yang baik adalah 50 pixels (ditujukkan pada Tabel L3.3) untuk lampu depan mobil, dan 40 pixels untuk lampu belakang mobil(ditunjukkan pada Tabel L3.8). Untuk motor tidak di modelkan karena hanya punya satu buah lampu depan dan belakang, sedangkan pada mobil adalah sepasang.
Variasi nilai exposure
Nilai exposure ditentukan dengan membatasi intensitas cahaya yang dapat diterima oleh kamera. Dengan menggunakan exposure diharap dapat mengurangi error yang terbentuk daripada dengan thresholding biasa.
Exposure antara
50,62,5,75,87,5,100 dengan nilai minimal thresholding 20. Pada lampiran L4 terdapat hasil pengujian lampu depan dan lampu belakang mobil dan motor, setting kamera kelima exposure tersebut .Ilustrasi pengujian dengan variasi nilai exposure ditunjukkan pada Gambar 6.4.
Gambar 6.4 Hasil pendeteksian dengan basis, (a) exposure 62,5 (b) exposure 87,5
Pada lampiran L4 didapatkan hasil pengujian pada berbagai nilai exposure. Pembahasan ringkas dalam pengujian adalah sebagai berikut :
a. Kekurangan Exposure 100(minimal threshold 20).
Pada Exposure 100 pada pendeteksian lampu depan motor hasilnya cukup baik yakni deteksinya akurat dan tidak ada error , yang termuat pada Tabel L4.6. Pada pendeteksian lampu belakang motor dalam kondisi normal (tidak rem) dapat mencapai 20 meter, dan saat rem mencapai 40 meter, ditunjukkan pada Tabel L4.16. Pada pendeteksian lampu belakang mobil pada jarak <-30 meter banyak terjadi error , termuat pada Tabel Lampiran.4.11.
b. Kekurangan Exposure 87,5 (minimal threshold 20)
Pada Exposure 87,5 adalah nilai yang lebih rendah dari exposure 100. Banyak parameter yang sama dengan pada pendeteksian dengan exposure 100, dengan tingkat error yang sedikit berkurang. Pada pendeteksian lampu depan (Tabel L.4.7) dan lampu belakang (Tabel L4.17) hasil pengujiannya relatif sama dengan exposure 100. Pada pengujian lampu depan mobil (Tabel L4.2) dan lampu belakang mobil (Tabel L4.12), nilai error nya berkurang dibandingkan dengan pendeteksian dengan exposure 100, terutama pada lampu jauh dan saat rem.
c. Kekurangan Exposure 62,5 dan 50(minimal threshold 20)
Pada kedua exposure ini diafragma kamera terlalu sempit sehingga cahaya yang diterima lensa terlalu sedikit, Hal ini berakibat pada tingkat pendeteksian yang sangat terbatas, terutama pada keadaan normal. Pada pendeteksian lampu depan mobil normal sampai 10 meter pada exposure 62,5 (Tabel L4.4) dan pada exposure 50 (Tabel L4.5). Pada pendeteksian lampu depan motor dalam keadaan normal tidak terdeteksi, baik pada exposure 62,5 (Tabel L4.9), pada exposure 50 (Tabel L4.10). Pada pendeteksian lampu belakang motor pada saat normal juga tidak terdeteksi, pada exposure 62,5 (Tabel L4.14) dan pada exposure 50 (Tabel L4.15 ). Pada pendeteksian lampu belakang mobil juga tidak terdeteksi apapun, pada exposure 62,5 (Tabel L4.14) dan exposure 50 (Tabel L4.15).
d. Kekurangan Exposure 75 (minimal threshold 20)
Pada Exposure 75 adalah nilai yang terbaik dibandingkan dengan nilai exposure yang lain. Pada pendeteksian lampu depan mobil pada Tabel Lampiran L4.3. sangat sedikit error yang terjadi dan pada lampu depan motor pada Tabel L4.3 reduksi jarak terdeteksi juga tidak terlalu banyak dibanding exposure 87,5 dan 100. Pada Tabel L4.8 pada pendeteksian lampu belakang mobil juga didapatkan reduksi error yang signifikan daripada exposure diatasnya ,dan pada Tabel L4.18. reduksi jarak terdeteksi dari lampu belakang motor tidak berubah banyak.
Namun Kelemahan pada Exposure 75 ini terletak jika dibandingkan antara Tabel L4.3. tentang lampu depan mobil, dan Tabel L4.8 tentang lampu depan motor. Pada Tabel L4.3. pada koordinat vertikal centroid 120 didapatkan jarak titik nol dengan mobil adalah 40-50 meter, sementara pada Tabel L4.8 koordinat vertikal centroid 120 didapatkan jarak estimasi hanya 20 meter. Padahal tinggi lampu depan motor 110 cm dan lampu depan mobil 80 cm. Ini berarti selisih tingginya hanya 30 cm, namun perbedaannya pada liniearitas dengan jarak sangatlah berbeda.
Maka dari itu dapat disimpulkan bahwa tidak dapat menggunakan tinggi vertikal sebagai satu-satunya parameter untuk estimasi jarak.
Variasi 3 Expos ure dan 5 Threshold
Nilai Exposure 87,5, 75, 62,5 akan di variasikan dengan nilai minimal Threshold 10,20,30,40,50 (maksimal tetap 255). Tujuannya adalah untuk mencari hubungan linier antara jarak dengan besarnya level minimal threshold . Dari variasi tersebut diharapkan dapat mengurangi tingkat error yang terjadi pada tingkat threshold rendah. Dengan kata lain akan mengukur seberapa kuat intensitas cahaya yang dihasilkan oleh lampu belakang dan lampu depan motor dan mobil.
Namun tujuan utama dari variasi exposure dan threshold ini adalah untuk mencari korelasi antara besarnya threshold frame dengan jarak maksimal terdeteksi pada setiap nilai threshold . Jika nilai ini hanya mampu diterapkan pada lampu depan mobil, maka untuk lampu depan motor dan lampu belakang mobil serta motor yang tingkat intensitas cahayanya rendah, dapat diberikan parameter dengan sumbu vertikal.
a. Variasi pada lampu depan mobil
Divariasikan 3 nilai exposure yakni 87,5, 75, dan 62,5 terhadap variasi kisaran nilai Threshold (10-255), (20-255), (30-255), (40-255), (50-255). Maka dari ketiga nilai exposure hanya nilai exposure 87,5 yang membentuk hubungan linier dengan perubahan jarak. Hubungan ini dapat dilihat pada Tabel L5.1, grafik dari hubungan linier tersebut disajikan pada Gambar 6.5.
Threshold frame (X) vs Maksimal jarak mobil terdeteksi (Y) meter
Normal(Lampu Pendek)
Dim (Lampu Jauh)
Threshold 10 Threshold 20 Threshold 30 Threshold 40 Threshold 50
Gambar 6.5 Grafik threshold frame (X) vs maksimal jarak mobil
terdeteksi (Y)
b. Variasi pada lampu depan motor
Karena exposure terbaik untuk lampu depan mobil adalah exposure 87,5. Maka exposure 87,5 yang digunakan sebagai exposure terbaik. Hasil korelasi antara besar threshold dengan jarak terdeteksi ditunjukkan pada Tabel L5.2 Namun hubungannya tidak selinier lampu depan mobil. Lampu depan motor pada kondisi normal hanya bertahan pada threshold 30, itupun pada jarak 10 meter. Grafik hubungan besar threshold dengan jarak maksimal terdeteksi disajikan pada Gambar 6.6.
Thresholded frame (X) vs Maksimal jarak motor terdeteksi (Y)
Normal(Lampu Pendek)
Dim (Lampu Jauh)
Threshold 10 Threshold 20 Threshold 30 Threshold 40 Threshold 50
Gambar 6.6 Grafik Threshold frame (X) vs maksimal jarak motor terdeteksi (Y) Gambar 6.6 Grafik Threshold frame (X) vs maksimal jarak motor terdeteksi (Y)
Pada lampu belakang di variasikan thresholding (10-255),(15-255),(20- 255),(25-255),(30-255) dengan nilai exposure 87,5. Didapatkan dari hasil pendeteksian bahwa lampu belakang motor (Tabel L5.3) baik normal ataupun rem hanya bertahan pada thresholding 10. Sementara lampu belakang mobil (Tabel L5.4) hanya bertahan pada thresholding 20. Ini berarti Lampu belakang kendaraan dalam kondisi normal hanya bagus pada thresholding 10. Untuk tingkat thresholding diatasnya hanya pada keadaan mengerem.
Variasi minimum threshold dengan exposure 87,5 untuk mencari hubungan koordinat vertikal centroid dengan jarak kalibrasi
Setelah disepakati menggunakan exposure 87,5, berdasarkan analisa pada sub bab 6.5.3, maka pada sub bab 6.5.4. dicari nilai koordinat yang jelas baik bersumber dari lampu jauh maupun lampu dekat, atau keadaan lampu belakang normal atau saat mengerem.
a. Lampu depan mobil
Variasi threshold minimal untuk lampu depan mobil. Pada Lampiran.6, ada
5 variasi threshold yakni (1-255), (5-255), (10-255), (15-255), dan (20-255),. Hasil dengan nilai error yang rendah untuk lampu depan mobil adalah pada Tabel L6.1. Pada Tabel L6.1. diterjemahkan dalam bentuk grafik pada Gambar 6.7.
Thresholded 20 frame (X) vs Maksimal jarak mobil terdeteksi (Y)
Normal(Lampu Pendek)
Dim (Lampu Jauh)
Gambar 6.7 Grafik jarak mobil terkalibrasi (X) vs tinggi koordinat vertikal centroid pada minimum threshold 20 (jangkauan 20-255)
Pada Tabel L6.1. terlihat bahwa nilai lampu depan mobil dengan nilai lampu dekat mulai jarak 50 meter keatas, banyak terjadi error. Bahkan nilai deteksi tidak akurat pada area lampu namun pada area diluarnya. Jadi sebenarnya masih terdeteksi, namun koordinat vertikal centroid nya tidak tepat sehingga tidak dapat mewakilkan estimasi jarak berdasarkan tinggi vertikal centroid. Sementara pada lampu jauh mobil, error lebih banyak namun cahaya memfokus sehingga ada pendeteksian yang akurat pada wilayah cahaya lampu, sehingga koordinat vertikal centroid nya dapat digunakan untuk estimasi jarak.
b. Lampu depan motor
Pada deteksi lampu depan motor lampiran L6.2 terlihat bahwa divariasikan minimal threshold 1,,5,10,15,20; dengan maksimal 255. Dari variasi tersebut didapatkan nilai koordinat vertikal centroid dari minimum threshold selain 20 untuk jarak 20 meter ke atas dalam kondisi normal tidak stabil(banyak error). Oleh karena itu digunakan minimal thresholding 20 dengaan mengacu pada lampu jauh motor saja. Hal ini dituliskan pada Tabel L6.6.. Data tersebut dibuat grafik pada Gambar 6.8.
Thresholded frame (X) vs Maksimal jarak motor terdeteksi (Y)
Normal(Lampu Pendek)
Dim (Lampu Jauh)
Gambar 6.8 Grafik jarak mobil terkalibrasi (X) vs tinggi koordinat vertikal centroid pada minimum Threshold 20 (jangkauan 20-255)
c. Lampu belakang mobil dan motor.
Pada lampiran L6.3 disimpulkan nilai minimal threshold 10 adalah terbaik untuk mendapat nilai vertikal centroid pada lampu belakang mobil dengan nilai error yang rendah. Hal ini termuat pada Tabel L.6.13. Pada lampiran L6.4., pada pengujian lampu belakang motor, dapat disimpulkan bahwa pada tingkat minimal threshold 10 dan threshold 8. Pada kedua jangkauan threshold didapatkan hasil pendeteksian dengan sedikit error. Hal ini termuat pada Tabel L6.18.dam Tabel L6.19 Pada Tabel 6.18 dan Tabel 6.19 didapatkan nilai vertikal centroid yang akurat dengan nilai error yang tidak ada. Namun untuk menyamakan dengan tingkat minimal threshold dengan lampu belakang mobil, maka lebih dipilih minimum threshold 10 dibanding minimmum threshold 8. Hubungan nilai vertikal centroid dan jarak kalibrasi disajikan dalam bentuk grafik pada Gambar 6.9. untuk lampu belakang mobil. Pada Lampu belakang motor disajikan pada Gambar
Pada Gambar 6.9 tentang grafik lampu belakang mobil vs threshold serta Gambar 6.10 tentang grafik lampu belakang motor vs threshold terlihat bahwa yang terlihat hanya warna merah (Grafik saat mengerem). Sebenarnya pada saat normal juga di plot, hanya saja pada deteksi lampu belakang baik motor maupun, nilai koordinat vertikal centroid pada saat rem ataupun normal adalah sama.
Untuk dapat melihat koordinat vertikal secara jelas dapat dilihat pada Tabel lampiran L6.18. (lampu belakang motor) dan Tabel lampiran L6.13 (lampu belakang mobil).
Thresholded frame (X) vs Maksimal jarak mobil
terdeteksi (Y)
Normal(Lampu Pendek)
Dim (Lampu Jauh)
Gambar 6.9 Grafik Jarak mobil terkalibrasi (X) vs tinggi koordinat ve rtikal centroid pada minimum Threshold 10 (jangkauan 10-255)
Thresholded frame (X) vs Maksimal jarak motor terdeteksi (Y)
Normal(Lampu Pendek)
Dim (Lampu Jauh)
Grafik 6.10 Grafik Jarak motor terkalibrasi (X) vs tinggi koordinat vertikal centroid pada minimum Threshold 10 (jangkauan 10-255)
Akurasi deteksi (penggabungan semua parameter)
a. Deteksi Lampu Depan motor
Dari lampiran Tabel L6.7 didapatkan bahwa titik vertikal untuk koordinat lampu motor dan mobil pada 40 meter adalah 120 pixels. Maka ditambahkan intepretasi algoritma deteksi lampu depan bahwa level thresholding 20 dengan Dari lampiran Tabel L6.7 didapatkan bahwa titik vertikal untuk koordinat lampu motor dan mobil pada 40 meter adalah 120 pixels. Maka ditambahkan intepretasi algoritma deteksi lampu depan bahwa level thresholding 20 dengan
Pada lampiran Tabel L7.1, diterangkan bahwa lampu motor terdeteksi pada jarak 30 meter dengan minimmum threshold 20. Karakter cahaya nya tidak menentu karena sering terdeteksi dan sering menyebabkan aksi bisa lampu jauh dan lampu dekat. Hal ini karena fluktuaktifnya cahaya motor pada saat keadaan diam karena hanya mengandalkan tenaga dari dinamo.
Pada deteksi lampu jauh cukup stabil pada minimmum threshold 10, namun pada jarak 20 sampai 50 terdeteksi fluktuaktif, karena memang pada posisi diam tenaga dari dinamo motor tidak stabil dan tidak maksimal.
b. Koreksi Lampu Belakang Motor
Dari lampiran L6.3 pada Tabel L6.13 didapatkan bahwa deteksi jarak 30 meter didapatkan nilai koordinat vertikal lebih rendah dari 120. Oleh karena itu dibatasi bahwa level thresholding 20 (hati- hati) dengan koordinat vertikal kurang dari 110 di intepretasikan sebagai rem, sama dengan level threshold merah 30 (rem). Pada lampiran Tabel L7.5. terlihat bahwa kendaraan deteksi kendaraan didepan (threshold 10) terdeteksi sampai dengan jarak 70 meter. Sementara nilai hati-hati terdeteksi sampai dengan jarak 30 meter, dan pada saat injak rem terdeteksi sebagai rem sampai pada jarak 30 meter, sementara terdeteksi sebagai hati-hati adalah antara 40 meter sampai 90 meter. Pada kaitannya dengan lampu depan diintepretasikan kondisi rem dengan koordinat antara 110-120 diintepretasi sebagai posisi servo 4, dan pada koordinat <110 diintepretasi sebagai pos isi servo
5. Hal ini merupakan fungsi untuk supaya lampu rem tidak terhalang oleh terangnya lampu, seperti ditulis pada sub bab 4.5.2. tentang rancangan deteksi lampu belakang motor.
c. Deteksi Lampu Depan mobil
Pada lampiran L7.3, pada Tabel L7.5, didapatk an error pengujian sama seperti motor, tidak ada banyak hal yang berubah dibanding saat deteksi dengan Pada lampiran L7.3, pada Tabel L7.5, didapatk an error pengujian sama seperti motor, tidak ada banyak hal yang berubah dibanding saat deteksi dengan
Perlu diperhatikan juga bahwa deteksi mulau dari titik 40 meter sampa titik 10 meter terjadi error, program hang(keluar dari eksekusi) Hal ini terjadi karena program tidak mampu menahan fluktuasi cahaya dari Lampu jauh ke lampu dekat. Maka dari itu performa video pada saat dicoba ke jalan harus dicoba apakah sampai selesai video atau putus di tengah jalan.
d. Deteksi lampu belakang mobil
Pada pengujian deteksi lampu belakang mobil, digunakan algoritma yang sama dengan deteksi lampu belakang motor. Pada lampiran L7.4, pada Tabel L7.4 didapatkan pengujian deteksi lampu belakang mobil juga tidak ada perubahan, karena dengan hasilnya adalah seperti yang diperkirakan dengan aturan seperti pada deteksi lampu belakang motor. Pada lampiran Tabel L7.6 didapatkan hasil pengujian lampu kendaraaan mobil selalu terdeteksi sampai jarak 40 meter. Pada deteksi normal (threshold 20) didapatkan sampai dengan jarak 30 meter, objek lampu belakang mobil dideteksi sebagai hati-hati dan rem. Hal ini karena intensitas cahaya dari keadaan normal lampu belakang mobil bisa mencapai threshold 30, berbeda dengan pengujian dengan sampel gambar pada Tabel L5.5 yang menyatakan pada tingkat threshold 30 keadaan normal lampu belakang sudah tidak terdeteksi
. Hanya saja setelah titik 40 meter program berhenti, masalah yang sama dengan deteksi lampu depan mobil, dimana program tidak kuat menerima fluktuasi cahaya antara cahaya saat rem diinjak dan pada saat normal.
6.1.4 Kesimpulan hasil kalibrasi
Hasil dari kalibrasi yang ada pada lampiran dan telah dijelaskan pada poin sebelumnya. Jika pada lampiran L1 sampai dengan L6 menggunakan data sampel berupa gambar, pada lampiran L7 saat koreksi akurasi algoritma menggunakan sampel video. Terdapat sedikit perbedaan antar keduanya, karena sampel gambar Hasil dari kalibrasi yang ada pada lampiran dan telah dijelaskan pada poin sebelumnya. Jika pada lampiran L1 sampai dengan L6 menggunakan data sampel berupa gambar, pada lampiran L7 saat koreksi akurasi algoritma menggunakan sampel video. Terdapat sedikit perbedaan antar keduanya, karena sampel gambar
Tabel 6.1 Nilai Lampu HID pada format HSV, (a) kisaran warna Lampu HID mobil (b) konversi dalam format OpenCV
Nilai jarak pusat ke pusat
50 (Untuk Lampu Depan Mobil dan Motor)
lingkaran
40 (Untuk Lampu Belakang Mobil dan Motor)
Nilai minimal threshold
10-50 (Lampu depan Mobil dan Motor) 10-30 (Lampu Belakang Mobil dan Motor)
Nilai exposure
Nilai Resolusi pixels
Radius Lingkaran
3-40
Pada kesimpulan nilai kalibrasi didapatkan pendetekatan intepretasi aktuasi berdasarkan pendeteksian lampu depan kendaraan serta lampu belakang kendaraan. Maka didapatkan data kesimpulan untuk pengujian deteksi lampu depan pada Tabel 6.2, dan untuk pengujian deteksi lampu belakang pada Tabel
6.3. Pada nilai kalibrasi digunakan frame utuh ukuran (540x300) untuk kalibrasi. Pada sub bab 5.6, dijelaskan frame dipecah menjadi ROI. Pada kalibrasi ini didapatkan nilai tertinggi hasil kalibrasi adalah 131 (Tabel L6.18 lampu belakang motor). Maka dengan toleransi 10 pixel didapatkan nilai batas ROI untuk koordinat vertikal adalah 140. Dengan batas baru tersebut, ukuran frame dapat diperingkas dan lebih ringan prosesnya.
Dengan anggapan nilai maksimal koordinat vertikal 140, maka nilai- nilai batas ROI disesuaikan. OpenCV sejatinya membaca koordinat vertikal dari atas, maka koordinat Y<120, menjadi Y>20, Y<110 menjadi Y>30. Maka didapatkan data wilayah ROI dan thresholding pada lampu depan ditampilkan pada Tabel 6.2, dan pada lampu belakang ditampilkan pada Tabel 6.3.
Tabel 6.2 Warna dan tingkat thresholding frame lampu depan dan belakang
kendaraan
Tingkat
Thresholding dan
Wilayah Deteksi
Tingkat 1
Threshold 10(lampu depan mobil dan
(Servo Posisi 1)
motor)
Tingkat 2
Threshold 20(lampu depan mobil dan
(Servo Posisi 2)
motor)
Tingkat 3
Threshold 30 (lampu depan mobil)
(Servo Posisi 3)
Atau Threshold 20 Y>20 (lampu depan
motor)
Tingkat 4
Threshold 40 (lampu depan mobil) atau
(Servo Posisi 4)
Threshold 30 Y >20 (lampu depan motor) atau Threshold merah 30 Y(20-29) (Deteksi
lampu belakang mobil dan motor)
Tingkat 5
Threshold 50 (lampu depan mobil) atau
(Servo Posisi 5)
Threshold 40 Y >30 (lampu depan motor) atau Threshold merah 30 Y(>30) (lampu
belakang mobil dan motor)
Tabel 6.3 Warna dan tingkat thresholding frame lampu belakang kendaraan
Tingkat
Warna
Thresholding dan Wilayah Deteksi
Deteksi Depan
Lingkaran biru muda dengan titik
Threshold merah 10
(ada kendaraan
tengah biru
di depan)
Hati-hati
Lingkaran Putih dengan titik
Threshold merah 20 Y(20-29)
tengah putih
Rem
Lingkaran Ungu dengan titik
(Threshold merah 30 Y>30),
tengah Ungu
(Threshold merah 20 Y>30)
6.3 Pengujian Tiap Tipe Jalan Dalam Kondisi Hujan dan Cerah
6.3.1 Jalan negara Jalan Magelang (hujan)
Sampel data untuk kriteria jalan negara adalah Jalan Magelang. Keadaan pencahayaan saat hujan berbeda dengan saat cerah. Pada bagian ini diambil sampel Jalan Magelang saat hujan. Ilustrasi keadaan pendeteksian tersebut ditampilkan pada Gambar 6.11. Intepretasi pengujian ditunjukkan pada Tabel 6.4.
Gambar 6.11 Pendeteksian Jalan Magelang pada saat hujan Tabel 6.4 Intepretasi pengujian sampel Jalan Magelang hujan
Lokasi
Jalan Magelang
Deteksi Lampu Kanan
- Pantulan Lampu Jalan Mercury
sampai threshold 40 (lingkaran kuning)
- Pantulan cahaya lampu kendaraan
arah sebaliknya sampai threshold 50 (lingkaran hijau)
Deteksi Lampu Kiri
- Pantulan aspal pada threshold 10
(lingkaran merah titik hijau), threshold 20 (lingkaran merah titik merah), dan threshold 40 (kuning)
Deteksi Depan Kendaraan
- Deteksi tepat pada lampu belakang
(lingkaran biru muda)
kendaraan bermotor - Terdeteksi pada pantulan aspal
Deteksi Hati-hati
- Deteksi tepat pada lampu belakang
(lingkaran putih)
kendaraan bermotor - Terdeteksi pada pantulan aspal
Deteksi Rem
- Tidak ada kendaraan mengerem
(lingkaran ungu)
Gambar 6.11 adalah hasil deteksi Jalan Magelang dengan menggunakan algoritma yang diterapkan. Pada Tabel 6.4. telah disajikan tentang intepretasi maksud dari Gambar 6.11. Hasilnya adalah threshold maksimal 50 (hijau) di ROI Kanan dan Threshold 40 di ROI Kiri (Kuning). Namun kedua-duanya tidak pas pada titik centroid objek yang benar melainkan pada pantulan cahaya di aspal. Hasil yang akurat adalah pada threshold 30 (lingkaran orange), namun dengan tingkat error sejumlah 4 titik
Pada fungsi deteksi kendaraan di depan dan fungsi hati-hati selain terdeteksi tepat pada lampu belakang kendaraan bermotor juga terdeteksi di pantulan aspal. Hal ini berarti fungsi Smooth dengan filter windows 9 pada OpenCV tidak berjalan dengan baik. Hal ini dimungkinkan oleh ko ndisi aspal basah yang memantulkan cahaya dan exposure yang digunakan terlalu tinggi sehingga fungsi smooth tidak efektif mengurangi error .
Jalan Magelang (ce rah)
Sampel data untuk kriteria jalan negara adalah Jalan Magelang. Keadaan pencahayaan saat hujan berbeda dengan saat cerah. Pada bagian ini diambil sampel Jalan Magelang saat cerah. Ilustrasi keadaan pendeteksian tersebut ditampilkan pada Gambar 6.12. Interpretasi dari gambar tersebut disajikan pada Tabel 6.5.
Gambar 6.12 Pendeteksian Jalan Magelang pada saat cerah
Tabel 6.5 Intepretasi pengujian sampel Jalan Magelang hujan
Lokasi
Jalan Magelang
Deteksi Lampu Kanan
- Posisi kamera salah - Semua error terjadi pada pantulan
aspal,dari threshold 10 (lingkaran merah titik hijau), sampai dengan threshold 50 (lingkaran hijau titik hijau).
Deteksi Lampu Kiri
- Posisi Kamera salah - Pantulan cahaya aspal pada
thresholding 10
Deteksi Depan Kendaraan
- Tidak terdeteksi
Deteksi Hati-hati
- Tidak terdeteksi
Deteksi Rem
- Tidak terdeteksi
Pada pengujian sampel Jalan Magelang cerah, terjadi kesalahan dalam menempatkan kamera. Karena kamera salah, maka hasil kurang valid, karena estimasi pendeteksian secara vertikal. Secara vertikal penempatan kamera salah sehingga tidak bisa digunakan sebagai estimasi jarak. Secara horizontal penempatan kamera juga salah sehingga tidak akurat menempatkan batas region lampu kanan dan lampu kiri. Pada Gambar 6.12 terlihat karena penempaatan kamera yang salah secara horizontal dan vertikal, deteksi menghasilkan error yang tertumpu pada pantulan aspal dan garis putih marka jalan.
6.3.2 Jalan provinsi Ringroad jalur lambat (hujan)
Sampel data untuk tipe jalan propinsi ada beberapa tipe jalan. Diantaranya adalah tipe jalan ringroad dan tipe jalan double track. Pada bagian ini diuji sampel data jalan propinsi tipe ringroad, jalur lambat pada saat hujan. Ilustrasi pengujian tersebut ditampilkan pada Gambar 6.13.
Gambar 6.13 Pendeteksian Ringroad jalur lambat pada saat hujan
Pada pendeteksian ringroad jalur lambat pada saat hujan, terdapat banyak pantulan cahaya pada saat pendeteksian objek. Marka jalan menumbulkan error sampai pada tingkat threshold 40. Hal ini dimungkinkan oleh exposure yang terlalu besar.
Pada pendeteksian terdapat lingkaran berwarna biru muda yang menandakan didepan ada kendaraan, dan lingkaran putih yang menandakan kendaraan lebih dekat dari jarak 40 meter. Namun hasil pendeteksian didepan kendaraan (biru muda) tingkat ketidakakuratan tinggi, karena threshold memang dibuat rendah, dengan resiko exposure tinggi, untuk dapat mendeteksi kendaraan dengan tingkat cahaya yang rendah. Namun dari sisi pendeteksian menjadi tidak akurat. Penjelasan secara detail dituliskan pada Tabel 6.6.
Tabel 6.6 Pengujian sampel Ringroad jalur lambat hujan.
Lokasi
Ringroad Monjali jalur lambat
Deteksi Lampu Kanan
-Threshold 40(lingkaran
kuning)
berasal dari pantulan cahaya dari body mobil
-Threshold 10 (lingkaran merah titik
hijau) dan 20 (lingkaran merah titik merah) berasal dari pantulan aspal dan marka jalan
Deteksi Lampu Kiri
- Threshold 10 berasal dari pantulan
aspal - Threshold 20 berasal dari pantulan
marka jalan
Deteksi Depan Kendaraan
- Tepat mendeteksi ada kendaran
(lingkaran biru muda)
didepan, kalau banyak error nya wajar karena tingkat threshold merah 10
Deteksi Hati-hati
- Tidak tepat posisinya karena pada
(lingkaran putih)
pantulan cahaya
Deteksi Rem
- Tepat pada lampu merah mobil.
(lingkaran ungu)
Ringroad jalur cepat 1 (hujan)
Sampel data untuk tipe jalan propinsi ada beberapa tipe jalan. Diantaranya adalah tipe jalan ringroad dan tipe jalan double track. Pada bagian ini diuji sampel data jalan propinsi tipe ringroad, jalur cepat pada saat hujan. Ilustrasi pengujian tersebut ditampilkan pada Gambar 6.14. Intepretasi pada gambar tersebut ditampilkan pada Tabel 6.7.
Gambar 6.14 Pendeteksian Ringroad jalur cepat pada saat hujan Tabel 6.7 Intepretasi pengujian sampel Ringroad jalur cepat (hujan)
Lokasi
Ringroad Monjali jalur lambat
Deteksi Lampu Kanan
- Threshold 30 (lingkaran orange),
dan threshold 40 (lingkaran kuning) berasal dari cahaya lampu dari arah berlawanan,
-Threshold 10 (lingkaran merah titik
hijau) , dan threshold 20 (lingkaran merah titik merah) berasal dari pantulan aspal
Deteksi Lampu Kiri
- Threshold 10 (lingkaran merah titik
hijau) dan threshold 20 (lingkaran merah titik merah) berasal dari pantulan aspal
Deteksi Depan Kendaraan
- Pada pantulan lampu belakang
(lingkaran biru muda)
mobil
Deteksi Hati-hati
- Berasal dari pantulan marka jalan
(lingkaran putih) Deteksi Rem
- Tepat pada lampu merah mobil.
(lingkaran ungu)
Pada pendeteksian ringroad jalur cepat banyak juga terjadi pantulan cahaya pada saat pendeteksian objek. Pada jalur cepat pantulan cahaya dari aspal threshold 40. Deteksi REM (Ungu) sudah tepat pada objek kendaraan motor di jalur lambat yang sedang mengerem, pada deteksi hati- hati berasal dari pantulan Pada pendeteksian ringroad jalur cepat banyak juga terjadi pantulan cahaya pada saat pendeteksian objek. Pada jalur cepat pantulan cahaya dari aspal threshold 40. Deteksi REM (Ungu) sudah tepat pada objek kendaraan motor di jalur lambat yang sedang mengerem, pada deteksi hati- hati berasal dari pantulan
Ringroad jalur cepat 2 (hujan)
Sampel ini berbeda dengan sebelumnya. Pada bagian ini dicoba pengujian pada medan yang terdapat pantulan cahaya pada mobil di depan. Pada Gambar 6.15, dapat dilihat terdapat pantulan cahaya pada bus, dari lampu kendaraan. Intepretasi pada gambar tersebut ditampilkan pada Tabel 6.7.
Gambar 6.15 Pendeteksian Ringroad jalur cepat pada saat hujan
Pada pendeteksian ringroad jalur cepat banyak juga terjadi pantulan cahaya dari bodi kendaraan di depannya. Pada ROI kanan pantulan pada bodi bus bahkan mencapai threshold 50 (hijau). Pada ROI kiri pantulan pada bodi bus mencapai threshold 30. Namun yang perlu dicermati pada gambar diatas adalah deteksi Rem justru muncul dari lampu sen bus sebelah kiri bawah, bukan dari lampu merahnya. Deteksi hati- hati dan depan kendaraan bahkan tidak ada. Hal ini sebagai masukan bagi penelitian ini dan penelitian selanjutnya perlu dimasukkan sampling skala warna dari lampu belakang kendaraan yang nyalanya pudar seperti bus ini.
Tabel 6.8 Intepretasi pengujian sampel Ringroad jalur cepat hujan
Lokasi
Ringroad Monjali jalur cepat
Deteksi Lampu Kanan
-Threshold 10(lingkaran merah titik
hijau), 20(lingkaran merah titik merah), 30(lingkaran orange), 40 (lingkaran kuning), 50 (lingkaran hijau) berasal dari pantulan cahaya dari body bus
Deteksi Lampu Kiri
- Threshold 10,20,30 berasal dari
pantulan aspal dan bodi bus
Deteksi Depan Kendaraan
- Tidak ada
(lingkaran biru muda) Deteksi Hati-hati
- Tidak ada
(lingkaran putih) Deteksi Rem
- Pada lampu sen bus
(lingkaran ungu)
Pada pendeteksian ringroad jalur cepat banyak juga terjadi pantulan cahaya dari bodi kendaraan di depannya. Pada ROI kanan pantulan pada bodi bus bahkan mencapai threshold 50 (hijau). Pada ROI kiri pantulan pada bodi bus mencapai threshold 30 (orange). Namun yang perlu dicermati pada Gambar 6.15 adalah deteksi Rem justru muncul dari lampu sen bus sebelah kiri bawah, bukan dari lampu merahnya. Deteksi hati- hati dan depan kendaraan bahkan tidak ada. Hal ini sebagai masukan bagi penelitian ini dan penelitian selanjutnya perlu dimasukkan sampling skala warna dari lampu belakang kendaraan yang nyalanya pudar seperti bus ini.
Jalan Kaliurang (hujan)
Pada bagian ini diambil sampel pada jalan provinsi saat hujan dengan tipe double track. Pada tipe jalan tersebut diambil sampel Jalan Kaliurang saat hujan. Hasil pengujian ditampilkan pada Gambar 6.16. Intepretasi tentang hasil pengujian ditampilkan pada Tabel 6.9.
Gambar 6.16 Pendeteksian pada Jalan Kaliurang KM 9 pada saat hujan Tabel 6.9 Intepretasi pengujian sampel Jalan Kaliurang saat hujan
Lokasi
Jalan Kaliurang KM 9
Deteksi Lampu Kanan
-Threshold 10 (lingkaran merah titik
hijau), 20 (lingkaran merah titik merah), 30 (lingkaran orange), 40 (lingkaran kuning) berasal dari pantulan cahaya dari aspal terhadap pencahayaan lingkungan
Deteksi Lampu Kiri
- Threshold 10,20,30,40,50 (lingkaran
hijau) berasal dari pantulan cahaya dari aspal terhadap pencahayaan lingkungan
Deteksi Depan Kendaraan
- Berasal dari pantulan lampu
(lingkaran biru muda)
belakang mobil yang parkir
Deteksi Hati-hati
- Berasal dari pantulan lampu
(lingkaran putih)
belakang mobil yang parkir
Deteksi Rem
- Berasal dari pantulan lampu
(lingkaran ungu)
belakang mobil yang parkir
Pada Gambar 6.16 didapatkan kesalahan dalam menempatkan kamera secara vertikal., kamera kurang tinggi, sehingga estimasi jarak berdasar sumbu vertikal tidak tepat. hal ini karena tripod goyang dan diulangi proses kalibrasi kamera ke posisi awal, namun di tempat yang tidak datar, akhirnya kamera mengarah ke bawah
Pada pendeteksian di Jalan Kaliurang saat hujan error yang terjadi lebih besar daripada di RingRoad. Tidak hanya mempengaruhi deteksi lampu depan, namun juga berpengaruh di deteksi lampu belakang. Pada Gambar 6.16 terdapat kendaraan yang parkir dengan kondisi mengerem, pantulan cahayanya terlalu kuat. Pada pantulan aspal sampai terdeteksi sebagai Rem(threshold merah 30) dan Hati- hati (threshold merah 20) .Pantulan lampu pada aspal lebih kuat karena lebar jalan lebih kecil daripada ringroad, namun penerangan di pinggir jalan lebih kuat. Akhirnya menimbulkan error yang lebih besar pada pantulan aspal.
Ringroad jalur lambat (cerah)
Pada bagian sebelumnya, telah diuji pendeteksian pada Ringroad jalur lambat pada kondisi hujan. Pada bagian ini akan diuji pendeteksian pada kondisi kering. Pada kondisi hujan, telah didapatkan banyak error terutama akibat pantulan cahaya pada aspal, kendaraan dan objek lain di sekitar medan. Hasil pengujian pada kondisi cerah, ditunjukkan pada Gambar 6.17, intepretasi keterangan gambar ditunjukkan pada Tabel 6.10.
Gambar 6.17 Pendeteksian pada Ringroad jalur lambat pada saat cerah
Tabel 6.10 Intepretasi pengujian sampel Ringroad jalur lambat saat hujan
Lokasi
Ringroad Monjali jalur lambat
Deteksi Lampu Kanan
- Threshold 10 (lingkaran merah titik
hijau), 20 (lingkaran merah titik merah), 30 (lingkaran orange),40 (lingkaran kuning), 50 (lingkaran hijau) berasal dari pantulan marka jalan
Deteksi Lampu Kiri
- Threshold 10,20 berasal dari
pantulan bangunan
Deteksi Depan Kendaraan
- Pada pantulan lampu belakang
mobil yang parkir
Deteksi Hati-hati
- Pada pantulan lampu belakang
mobil yang parkir
Deteksi Rem
- Pada pantulan lampu belakang
mobil yang parkir
Pada Gambar 6.17 terlihat, deteksi pada jalur lambat saat terang tidak hujan menimbulkan pantulan cahaya dari aspal jauh lebih kecil dibanding saat hujan. Ini terbukti dari error yang terjadi paling besar dibuat oleh marka jalan.Pada ROI kiri terdapat objek kendaraan mobil yang parkir, dan lampu belakangnya menghasilkan error deteksi Depan Kendaraan, error deteksi Hati-hati, dan error deteksi Rem. Namun dibandingkan pada saat keadaan hujan pad Gambar 6.16, tingkat error nya relatif lebih kecil. Pantulan cahaya lampu belakang cukup banyak, namun tidak sebanyak saat hujan.
Pada objek di ROI kiri Warna cat merah dari taksi yang parkir juga mengakibatkan error deteksi Rem. Pada pendeteksian lampu belakaang taksi yang sedang parkir juga didapat deteksi lampu depan sampai threshold 50 (hijau). Hal ini terjadi karena penggunaan nilai exposure yang besar. Karena sudah konsekuensi dengan hasil kalibrasi yang harus dapat mendeteksi motor dengan baik.
Pada ROI kanan, didapatkan error deteksi lampu depan tidak banyak, karena sumber cahaya adalah pada jalur dari arah sebaliknya yang jauh dari pendeteksi.
Ringroad jalur cepat 1 (cerah)
Pada bagian sebelumnya, telah diuji pendeteksian pada Ringroad jalur cepat pada kondisi hujan. Pada bagian ini akan diuji pendeteksian pada kondisi cerah. Pada kondisi hujan, telah didapatkan banyak error terutama akibat pantulan cahaya pada aspal, kendaraan dan objek lain di sekitar medan. Hasil pengujian pada kondisi cerah, ditunjukkan pada Gambar 6.18, intepretasi keterangan gambar ditunjukkan pada Tabel 6.11.
Gambar 6.18 Pendeteksian pada Ringoad jalur cepat pada saat cerah Tabel 6.11 Intepretasi pengujian sampel Ringroad jalur cepat saat cerah
Lokasi
Ringroad Monjali jalur cepat
Deteksi Lampu Kanan
-Threshold 20 (lingkaran merah titik
merah) dan 30 (lingkaran orange) berasal dari garis putih di aspal,
-Threshold 10 (lingkaran merah titik
hijau berasal dari pantulan bodi kendaraan di depan
Deteksi Lampu Kiri
- Tidak ada deteksi
Deteksi Depan Kendaraan
- Tepat pada lambu belakang
kendaraan, dan pantulan cahaya di aspal.
- Error pada lampu depan kendaraaan yang melaju berlawanan arah
Deteksi Hati-hati
- Tidak ada
Deteksi Rem
- Tepat pada lampu merah mobil.
Pada deteksi jalur cepat pada saat tidak hujan pantulan pada aspal sangat sedikit. Pada ROI kiri tidak ada, bahkan marka jalan tidak memberi error . Hal ini karena pada ROI kiri pencahayaan di sisi kiri relatif gelap. Di ROI Kanan error berasal dari garis putih putus-putus di aspal dan pantulan cahaya di aspal
Untuk deteksi rem hasilnya cukup baik karena tepat pada lampu belakang kendaraan. Deteksi di depan kendaraan terjadi error pada pendeteksian lampu depan kendaraan yang melaju berlawanan arah. Hal ini karena tingat exposure tinggi, karena pendeteksian merah idealnya adalah pada exposure rendah. Maka dari itu hal ini sudah konsekuensi karena hasil kalibrasi mengharuskan untuk memekai exposure 87,5.
Ringroad jalur cepat 2 (cerah)
Pengujian pada jalur cepat kedua dilakukan dekat dengan mobil yang berada tepat didepannya. Hal ini untuk menguji besarnya tingkat error akibat pantulan cahaya lampu depan kendaraan peneliti dan lampu belakang kendaraan yang berada didepannya . Pada kondisi terang, hasil pengujian ditunjukkan pada Gambar 6.19. Intepretasi tentang gambar dipaparkan pada Tabel 6.12.
Gambar 6.19 Pendeteksian pada Ringroad jalur cepat pada saat cerah
Pada sampel ini diujikan sampel tingkat pantulan objek yang dimungkinkan pada jalan yang ramai. Pada Gambar 6.19 dapat diperoleh informasi bahwa Pada sampel ini diujikan sampel tingkat pantulan objek yang dimungkinkan pada jalan yang ramai. Pada Gambar 6.19 dapat diperoleh informasi bahwa
Pada Gambar 6.19 terlihat bahwa hasil pemantulan pada badan mobil di depannya mencapai threshold 40. Besarnya kekuatan pantulan karena nilai
exposure yang digunakan tinggi (87,5). Penjelasan lebih detail dimuat pada
Tabel 6.12.
Tabel 6.12 Intepretasi pengujian sampel Ringroad jalur cepat saat cerah
Lokasi
Ringroad Monjali jalur lambat
Deteksi Lampu Kanan
-Threshold 20 (lingkaran merah),
30(lingkaran orange), 40(lingkaran kuning) berasal dari pantulan cahaya dari body mobil
-Threshold 10 (lingkaran merah titik
hijau) berasal dari pantulan marka jalan
Deteksi Lampu Kiri
- Threshold 10 (lingkaran merah titik
hijau) ,20 ,30, berasal dari pantulan bodi mobil
- Threshold 30 berasal dari pantulan
lampu pinggir jalan
Deteksi Depan Kendaraan
- Pada pantulan bodi dan pantulan
(lingkaran biru muda)
marka dan aspal
Deteksi Hati-hati
- Berasal dari lampu belakang dan
(lingkaran putih)
pantulan mobil, dan lampu pinggir jalan
Deteksi Rem
- Berasal dari lampu belakang dan
(lingkaran ungu)
pantulan mobil
Tingkat error pada deteksi lampu depan kendaraan juga cukup tinggi termuat pada Tabel 6.12, mencapai threshold 30 (orange) pada ROI kiri, dan threshold 40 pada ROI kanan. Hal ini diakibatkan kendaraan didepan objek mobil berwarna Tingkat error pada deteksi lampu depan kendaraan juga cukup tinggi termuat pada Tabel 6.12, mencapai threshold 30 (orange) pada ROI kiri, dan threshold 40 pada ROI kanan. Hal ini diakibatkan kendaraan didepan objek mobil berwarna
Jalan Kaliurang (cerah)
Pada sampel jalan provinsi tipe double track pada saat cerah dipilih Jalan Kaliurang KM 7 untuk sampel kasus. Dari hasil pengujian, didapatkan hasil yang
ditampilkan pada Gambar 6.20, dan intepretasi gambar terdapat pada Tabel 6.13.
Gambar 6.20 Pendeteksian pada Jalan Kaliurang KM 7 saat cerah Tabel 6.13 Intepretasi pengujian sampel Jalan Kaliurang saat cerah
Lokasi
Jalan Kaliurang KM 7
Deteksi Lampu Kanan
- Threshold 10 (lingkaran merah titik
hijau), 20 (lingkaran merah),
30(lingkaran orange), berasal dari pantulan cahaya aspal dan garis putih aspal
-Threshold 40 (lingkaran kuning)
berasal dari cahaya lampu dari arah berlawanan
Deteksi Lampu Kiri
- Threshold 10,20,30,40 berasal dari
pantulan bodi mobil - Threshold 10 berasal dari pantulan
aspal dan pengemudi motor
Deteksi Depan Kendaraan
- Pada pantulan lampu belakang
(lingkaran biru muda)
mobil
Deteksi Hati-hati
- Tidak ada
(lingkaran putih) Deteksi Rem
- Tidak jelas (objek jauh)
(lingkaran ungu)
Karakteristik Jalan Kaliurang adalah jalanannya terang karena pinggirnya sangat terang pencahayaannya dari lampu jalan maupun toko-toko. Akan tetapi pada saat kering pantulan aspal tidak terlalu kuat. Error yang terjadi pada Gambar
6.20 adalah karena garis putih tengah pada ROI kanan, dan pantulan bodi mobil pada ROI kiri.
Di depan ada pengemudi motor namun tidak terdeteksi lampu belakangnya, mungkin karena lampu belakangnya mati. Pada deteksi hati- hati adalah pada pantulan lampu belakang mobil. Pada deteksi Rem tidak jelas objek yang melakukan pengereman, karena jaraknya ternyata masih cukup jauh.
6.3.3 Jalan kabupaten Jalan Kamdanen (hujan)
Pada sampel pengujian pada jalan kabupaten saat, dipilih sampel pengujian pada Jalan Kamdanen pada saat hujan. Hasil pengujian ditunjukkan pada Gambar
6.21. Penjelasan intepretasi hasil pengujian dijelaskan pada Tabel 6.14.
Gambar 6.21 Pendeteksian pada Jalan Beran saat hujan
Tabel 6.14 Intepretasi pengujian sampel Jalan Kamdanen saat hujan
Lokasi
Kamdanen
Deteksi Lampu Kanan
- Threshold 10 (lingkaran merah titik
hijau) ,20 (lingkaran merah) ,30 (lingkaran orange), 40 ( lingkaran kuning), dan 50 (lingkaran Hijau) berasal dari pantulan aspal dan cahaya dari arah berlawanan
Deteksi Lampu Kiri
- Threshold 10 (lingkaran merah titik
hijau), 20 (lingkaran merah) titik merah) berasal dari pantulan aspal dan pantulan bangunan
Deteksi Depan Kendaraan
- Tidak ada
(lingkaran biru muda) Deteksi Hati-hati
- Tidak ada
(lingkaran putih) Deteksi Rem
- Tidak ada
(lingkaran ungu)
Posisi Kamera pada Gambar 6.21 kurang tepat karena menghadap ke bawah, sehingga ROI secara vertikal tidak pas. Namun dari potongan Gambar 6.21 terlihat bahwa semakin deras hujan, maka pantulan cahaya pada aspal semakin kuat. Ini terlihat dari banyaknya lingkaran deteksi yang timbul di aspal. Bahkan pada threshold 50 pada ROI kanan dideteksi pada pantulan aspal bukan pada lampu kendaraan. Pada ROI kiri error terjadi karena pantulan cahaya pada bangunan di pinggir dengan threshold 20 (lingkaran merah).
Jalan Damai (cerah)
Pada bagian ini, diujikan sistem pada medan jalan kabupaten pada saat cerah. Sampel yang kami pilih adalah Jalan Damai pada saat cerah. Hasil penguj ian ditampilkan pada Gambar 6.22, dan intepretasi tentang gambar tersebut kami sajikan pada Tabel 6.15.
Gambar 6.22 Pendeteksian pada Jalan Damai saat cerah
Tabel 6.15 Intepretasi pengujian sampel Jalan Damai saat cerah
Lokasi
Jalan Damai
Deteksi Lampu Kanan
-Threshold 30 (Orange), 40 (kuning)
,50( hijau) berasal dari lampu motor -Threshold 10 dan 20 berasal dari
pantulan aspal dan pantulan cahaya.
Deteksi Lampu Kiri
- Threshold 10,20, dari pantulan
aspal.
Deteksi Depan Kendaraan
- Tidak ada
Deteksi Hati-hati
- Tidak ada
Deteksi Rem
- Tidak ada
Pada Gambar 6.15 terlihat bahwa lampu depan motor mampu mencapai threshold 50. Ini berlawanan dengan hasil di kalibrasi di Lampiran, bahwa lampu depan motor hanya mampu mencapai threshold 30 itupun pada jarak 10 meter. Hal ini karena latar lingkungan yang lebih terang sebab dilakukan kalibrasi pada lapangan yang gelap, dan juga asumsi lebar jalan yang lebih sempit, sebab pada kalibrasi menggunakan asumsi lebar jalan 7 meter (seperti jalan palagan).
Pada jalan damai relatif lebih kecil sekitar 5,5 meter, ini yang menyebabkan cahaya lebih terfokus, dan tentu saja pada pendeteksian ini motor dengan putaran Pada jalan damai relatif lebih kecil sekitar 5,5 meter, ini yang menyebabkan cahaya lebih terfokus, dan tentu saja pada pendeteksian ini motor dengan putaran
6.3.4 Jalan desa Jalan Panggung Sari (hujan)
Salah satu sampel pengujian pada penelitian ini adalah jalan desa pada saat hujan. Pada kondisi tersebut , diujikan sampel pada Jalan Panggung sari saat hujan. Hasil pengujian ditunjukkan pada Gambar 6.23.
Gambar 6.23 Pendeteksian pada Jalan Panggung Sari saat hujan
Pada Gambar 6.23 terlihat bahwa ROI yang digariskan pada garis hijau salah. Hasilnya adalah wilayah ROI dengan estimasi jarak yang ditunjukkan dengan nomor 0,1,2,3,4, menjadi salah. Hal ini karena posisi kamera salah dimungkinkan karena tripod geser, atau klem pada kamera merunduk ke bawah. Penelitian ini dilakukan dengan alat seadanya, sehingga sangat dimungkinkan ketidakpresisian posisi, sehingga berbeda dengan hasil kalibrasi. Intepretasi tentang gambar tersebut disajikan pada Tabel 6.16.
Tabel 6.16 Intepretasi pengujian sampel Jalan Panggung Sari saat hujan
Lokasi
Jalan Panggung sari
Deteksi Lampu Kanan
-Threshold 10 (lingkaran merah titik
hijau), 20 (lingkaran merah titik merah), 30 (lingkaran orange) berasal dari pantulan aspal
Deteksi Lampu Kiri
- Threshold 10 berasal dari pantulan
aspal
Deteksi Depan Kendaraan
- Pada mobil jeep berwarna merah
(lingkaran biru muda) Deteksi Hati-hati
- Pada mobil jeep berwarna merah
(lingkaran putih) Deteksi Rem
- Pada mobil jeep berwarna merah.
(lingkaran ungu)
Pada Gambar 6.24 terlihat bahwa pada jalan desa walaupun kondisi hujan, namun karena tingkat pencahayaan rendah, maka pantulan aspal tidak sekuat jalan kabupaten. Kemudian yang menjadi perhatian adalah pada ROI kiri terdapat mobil merah yang parkir di kiri jalan. Kemudian warna merah mobil tersebut diidentifikasi sebagai deteksi depan(Biru), Deteksi Hati- hati (Putih), dan Deteksi Rem (Ungu).
Maka permasalahan ini akibat nilai eksposure terlalu tinggi yakni 87,5 sehingga OpenCV tidak bisa membedakan warna merah yang berasal dari lampu dan warna merah yang berasal dari cat.
Jalan Lempong Sari (cerah)
Sampel untuk kondisi jalan desa yang lain adalah pada kondisi cerah (kering). Sampel yang dipilih pada jalan desa saat cerah adalah Jalan Lempong Sari pada saat cerah. Hasil pengujian untuk jenis dan kondisi jalan ini, ditampilkan pada Gambar 6.24. Intepretasi hasil pengujian untuk Gambar 6.24 disajikan pada Tabel
6.17.
Gambar 6.24 Pendeteksian pada Jalan Le mpong Sari saat hujan Tabel 6.17 Intepretasi pengujian sampel Jalan Le mpong Sari saat cerah
Lokasi
Jalan Lempong Sari
Deteksi Lampu Kanan
-Threshold 20 (lingkaran merah titik merah), 30 (lingkaran Orange) berasal dari lampu kendaraan bermotor -Threshold 10(merah titik hijau) berasal dari pantulan aspal
Deteksi Lampu Kiri
- Threshold 10 (lingkaran merah titik
hijau,berasal dari pantulan cahaya aspal
Deteksi Depan Kendaraan
- Tidak ada
(lingkaran biru muda) Deteksi Hati-hati
- Tidak ada
(lingkaran putih) Deteksi Rem
- Tidak ada
(lingkaran ungu)
Pada Gambar 6.24, terlihat lokasi jalan desa saat keadaan tidak hujan pantulan di aspal hanya sampai thresholding 10. Deteksi cahaya lampu motor hanya sampai pada thresholding 30 (Orange). Padahal Jalan di Desa tidaklah selebar jalan Kabupaten, padahal di jalan kabupaten cahaya lampu motor mampu mencapai thresholding 50. Hal ini dimungkinkan di desa kendaraan bermotor jalan pelan- pelan, sehingga putaran mesin tidak tinggi, yang berakibat power daya lampu motor tidak maksimal.
6.3.5 Jalan sepi dan menanjak Jalan Turgo (ce rah)
Pada bagian sebelumnya, telah diujikan tentang berbagai tipe jalan pada kondisi hujan dan cerah. Pada bagian ini diujikan latar belakang pengujian pada medan jalan menanjak dan keadaannya relatif sepi dibanding jalan kota.Dipilih sampel untuk kondisi ini pada Jalan Turgo. Hasil pendeteksian ditampilkan pada Gambar 6.25. Intepretasi tentang hasil pengujian kami sajikan pada Tabel 6.18.
Gambar 6.25 Pendeteksian pada Jalan Turgo saat cerah Tabel 6.18 Intepretasi pengujian sampel Jalan Turgo saat hujan
Lokasi
Jalan Turgo
Deteksi Lampu Kanan
-Threshold 20 (lingkaran merah titik merah), 30 (lingkaran orange), 40(lingkaran kuning), dan 50 (lingkaran hijau) berasal lampu motor - Threshold 10 (lingkaran merah titik hijau), berasal dari pantulan lampu motor dan aspal
Deteksi Lampu Kiri
- Tidak ada
Deteksi Depan Kendaraan
- Tidak ada
(lingkaran biru muda) Deteksi Hati-hati
- Tidak ada
(lingkaran putih) Deteksi Rem
- Tidak ada
(lingkaran ungu)
Pada daerah pegunungan Turgo, pada keadaan terang, terdeteksi pengendara motor yang mengendara. Cahaya dari lampu motor mampu mencapai thresholding
50. Hal ini dikarenakan putaran mesin tinggi pengendara motor di daerah pegunungan, dan lebar jalan yang sempit sehingga cahayanya dapat fokus.
Hal yang perlu diperhatikan adalah ROI kurang naik pada daerah pegunungan. Kemungkinan pertama adalah kesalahan dalam posisi kamera yang geser. Kemungkinan kedua, penelitian ini hanya terbatas pada daerah datar, dan tidak menutup kemungkinan pada daerah miring dibutuhkan ROI yang berbeda.
Maka dari itu usulan untuk penelitian mendatang adalah ROI pada kemiringan tertentu, dengan perubahan otomatis dengan menggunakan bantuan gyrometer.
Jalan Pulowato (cerah)
Pada kondisi medan jalan naik dan kondisi relatif sepi dibanding jalanan di kota. Sampel lain untuk kondisi tersebut dipilih Jalan Pulowatu. Dipilih Jalan Pulowatu, karena jalan ini termasuk kategori jalan provinsi, sementara Jalan Turgo masuk kategori jalan kabupaten. Hasil pendeteksian pada Jalan Pulowatu, ditunjukkan pada Gambar 6.26.
Gambar 6.26 Pendeteksian pada Jalan Pulowatu saat cerah
Pada Gambar 6.26 terlihat Pulowatu, sebuah dataran miring namun tidak semiring di turgo. Permasalahan yang terjadi pada sebuah dataran miring di
Pulowatu, sama seperti yang terjadi di Turgo. Meskipun level kemiringan tidak setajam Turgo. ROI yang dikalibrasi pada dataran datar tidak tepat diaplikasikan pada dataran miring. Intepretasi pendeteksian pada Jalan Pulowatu disajikan pada Tabel 6.19.
Tabel 6.19 Intepretasi pengujian sampel Jalan Pulowatu saat hujan
Lokasi
Pulowatu
Deteksi Lampu Kanan
-Threshold 10 (lingkaran merah titik
hijau) dan 30 (lingkaran Orange) berasal dari pantulan garis putih jalan.
- Threshold 10 untuk pendeteksian
objek kendaraan
Deteksi Lampu Kiri
- Tidak ada
Deteksi Depan Kendaraan
- Tidak ada
Deteksi Hati-hati
- Tidak ada
Deteksi Rem
- Tidak ada
Pada Tabel 6.19 terlihat error deteksi timbul dari garis putih tengah jalan, hal ini terjadi karena eksposure 87,5 memang terlalu tinggi sehingga tidak bisa membedakan warna cat dan warna lampu.
Pada pendeteksian objek hanya mampu mencapai tingkat minimal threshold
10. Hal ini terjadi karena latar belakang medan gelap, sementara jalan relatif lebih lebar pada tipe jalan provinsi, sehingga cahaya tidak terkumpul mengarah ke kamera, sehingga intensitas cahaya yang terbaca pada kamera hanya mampu mencapai minimal threshold 10, tidak mampu mencapai threshold 20.
Lapangan Donoharjo (lampu dekat)
Pada sampel pengujian lain, dipilih medan pendeteksian yang tidak beraspal. Untuk sampel tersebut, dipilih Lapangan Donoharjo pada kondisi cerah, pada saat kondisi lampu filamen lampu dekat. Pengujian ditampilkan pada Gambar 6.27. Intepretasi tentang hasil pengujian pada Gambar 6.27, disajikan pada Tabel 6.20.
Gambar 6.27 Pendeteksian pada Lapangan Donoharjo (lampu dekat) Tabel 6.20 Intepretasi pengujian sampel Lapangan Donoharjo (lampu dekat)
Lokasi
Lapangan Donoharjo (Lampu Dekat)
Deteksi Lampu Kanan
- Threshold 10 (lingkaran merah titik
hijau), 20 (lingkaran merah),
30(lingkaran orange), 40 (lingkaran kuning) berasal dari pantulan rumput
Deteksi Lampu Kiri
- Tidak ada
Deteksi Depan Kendaraan
- Tidak ada
(lingkaran biru muda) Deteksi Hati-hati
- Tidak ada
(lingkaran putih) Deteksi Rem
- Tidak ada
(lingkaran ungu)
Pada Gambar 6.27, terlihat pada ROI Kanan rumput memantulkan cahaya sampai pada thresholding 40(Kuning). Sedangkan pada ROI Kiri, tidak ada pantulan cahaya dari rumput. Hal ini dikarenakan pada lampu kiri kendaraan standar memang diset lebih rendah daripada lampu sebelah kanan, sehingga lebih memantul ke rumput.
Hal ini terjadi karena nilai ukuran kernel yang digunakan untuk smoothing (menggaburkan gambar), sangat terbatas karena mempengaruhi pendeteksian lampu kendaraan bermotor. Pengkalibrasian nilai smooth dilampirkan pada
Lampiran L1. Terlihat bahwa smooth dapat mengurangi error pantulan rumput, namun juga mengurangi sensitivitas deteksi lampu depan motor.
Lapangan Donoharjo (Lampu Jauh)
Pada bagian sebelumnya telah diujikan pengujian pada medan rumput dengan setting lampu dekat. Pada pengujian ini diujikan pada medan rumput dengan setting lampu jauh. Hasil pendeteksian ditunjukkan pada Gambar 6.28. Intepretasi pendeteksian pada Gambar 6.28 ditunjukkan pada Tabel 6.21.
Gambar 6.28 Pendeteksian pada Lapangan Donoharjo (lampu jauh) Tabel 6.21 Intepretasi pengujian sampel Lapangan Donoharjo (lampu jauh)
Lokasi
Lapangan Donoharjo (Lampu Jauh)
Deteksi Lampu Kanan
- Threshold 10 (lingkaran merah titik
hijau), 20 (lingkaran merah titik merah), 30 (lingkaran orange) berasal dari pantulan rumput
Deteksi Lampu Kiri
-Tidak ada
Deteksi Depan Kendaraan
- Tidak ada
(lingkaran biru muda) Deteksi Hati-hati
- Tidak ada
(lingkaran putih) Deteksi Rem
- Tidak ada.
(lingkaran ungu)
Pada Gambar 6.28 terlihat bahwa dalam kondisi lampu jauh, pantulan cahaya di rumput pada ROI Kanan mencapai thresholding 30, lebih rendah daripada lampu pendek yang mencapai thresholding 40. Pada ROI kiri tidak ada pantulan cahaya yang terdeteksi karena posisi lampu sebelah kiri lebih tinggi daripada sebelah kanan.
6.3 Hasil Pengujian Kendaraan
6.3.1 Hasil pengujian lampu depan kendaraan
Pada sub bab 6.3.1 dibahas tentang peringkasa n dari seluruh hasil pengujian lampu depan kendaraan. Hasil perangkuman gejala pendeteksian meliputi tingkat akurasi pendeteksian benar atau salah, kemudian dihitung presentase kebenaran meliputi jumlah benar dibagi dengan total benar dan salah. Untuk memperingkas penyajian tabel, dipersingkat notasinya. Minimal threshold disingkat menjadi T (contoh T10 = T10-19), jumlah deteksi benar disingkat menjadi B, jumlah deteksi salah disingkat menjadi S, tingkat persentasi kebenaran disingkat menjadi B. Berikut hasil pengujian, disajikan pada Tabel 6.22.
Tabel 6.22 Hasil pengujian lampu depan kendaraan
Magelang (cerah) Jalan
Magelang (hujan) Jalan
Kaliurang (cerah) Jalan
Kaliurang (hujan)
Ringroad jalur cepat
1 (hujan)
Tabel 6.23 Hasil pengujian lampu depan kendaraan (lanjutan)
Ringroad jalur cepat
1 (cerah) Jalan
Ringroad jalur cepat
2 (hujan) Jalan
Ringroad jalur cepat
2 (cerah) Jalan
Ringroad jalur lambat (cerah) Jalan
Ringroad jalur lambat (hujan) Jalan
Kamdanen (hujan)
Damai (cerah)
Panggung Sari (hujan)
Lempong Sari
(cerah) Jalan
Turgo (cerah)
Tabel 6.22 Hasil pengujian lampu depan kendaraan (lanjutan)
Pulowatu (cerah) Lapangan
Donoharjo (Lampu Jauh) Lapangan
Donoharjo (Lampu Pendek)
Pada Tabel 6.22 diperlihatkan hasil pengujian beserta tingkat kebenaran. Pada bagian yang diblok dengan arsiran abu-abu adalah tingkat minimal threshold terbaik. Threshold terbaik ditentukan pada wilayah threshold manakah tingkat pendeteksian dengan nilai persentasi kebenaran tertinggi.
Jika tidak ada pendeteksian yang benar, dipilih tingkat error terendah sebagai wilayah threshold terbaik. Contoh pada Jalan Damai saat cerah didapatkan 3 threshold dengan nilai persentasi kebenaran yang sama. Maka threshold 30,40,50 dinyatakan sebagai threshold terbaik untuk kategori jalan kabupaten kondisi cerah.
Pada tipe jalan lain, contohnya pada Jalan Ringroad jalur lambat pada saat hujan didapatkan nilai terbaik pada threshold 40 dimana tidak ada nilai yang akurat, namun dengan jumlah error yang lebih sedikit, maka nilai threshold yang paling baik untuk kondisi jalan tersebut.
Pada variasi kondisi hujan dan cerah dapat dilihat tingkat error pada kondisi hujan lebih besar. Sehingga nilai threshold yang digunakan lebih tinggi. Contohnya dapat dilihat pada pengujian Jalan Ringroad jalur lambat pada kondisi cerah didapatkan pendeteksian objek pada threshold 20, dengan nilai centroid yang benar ada satu objek, sementara yang 4 salah. Pada waktu hujan didapatkan Pada variasi kondisi hujan dan cerah dapat dilihat tingkat error pada kondisi hujan lebih besar. Sehingga nilai threshold yang digunakan lebih tinggi. Contohnya dapat dilihat pada pengujian Jalan Ringroad jalur lambat pada kondisi cerah didapatkan pendeteksian objek pada threshold 20, dengan nilai centroid yang benar ada satu objek, sementara yang 4 salah. Pada waktu hujan didapatkan
Pada pengujian Jalan Ringroad jalur cepat, terdapat 2 macam,. Pengujian jalur cepat 1 adalah pengujian pendeteksian dengan setting tidak ada kendaraaan searah yang tepat ada didepan pendeteksi (sensor). Sedangkan pada jalur cepat 2 adalah pengujian pendeteksian dengan setting ada kendaraan searah pada jarak yang dekat dengan pendeteksi (sensor). Pada pengujian jalur cepat 1, berdasarkan Tabel 6.22 didapatkan nilai error untuk kondisi hujan lebih besar dengan tingkat threshold (40) yang lebih tinggi daripada pengujian pada jalan yang cerah. Pada pengujian jalur cepat 2, untuk mengetahui tingkat pantulan cahaya dari objek kendaraan yang ada di depan . Pada keadaan hujan didapatkan nilai pantulan threshold yang tinggi (50), dibandingkan tingkat pantulan yang lebih rendah (threshold 40). Namun error pada kondisi cerah lebih tinggi, hal ini akibat jarak dengan objek di depan lebih dekat, serta warna dasar objek adalah putih, sehingga nilai error besar akibat exposure tinggi (87,5).
Pada pengujian di Jalan Kaliurang dari Tabel 6.22 didapatkan nilai thresholding terbaik pada kondisi cerah lebih tinggi daripada kondisi hujan. Hal ini disebabkan oleh 2 kemungkan. Kemungkinan pertama tingkat pencahayaan pada sampel cerah lebih besar daripada sampel hujan. Hal ini dikarenakan tipe Jalan Kaliurang adalah jalan yang ra mai, tidak terlalu lebar jalannya, sementara pada pinggir jalan dipenuhi pusat keramaian dengan tingkat cahaya yang tinggi. Kemungkinan kedua ROI keduanya berbeda akibat tingkat kemiringan yang berbeda, karena Jalan Kaliurang diatas kilometer 5 cenderung menanjak,. Sehingga ROI tidak sesuai dengan medan. ROI adalah batas pendeteksian, sehingga intensitas cahaya yang diterima pasti berpengaruh.
Pada kondisi pendeteksian medan jalan tak beraspal (lapangan berumput) didapatkan nilai error yang lebih besar pada saat lampu pendek, dibandingkan dengan pada saat lampu panjang. Pada setting lampu pendek didapatkan thresholding terbaik adalah threshold 50, pada setting lampu panjang thresholding Pada kondisi pendeteksian medan jalan tak beraspal (lapangan berumput) didapatkan nilai error yang lebih besar pada saat lampu pendek, dibandingkan dengan pada saat lampu panjang. Pada setting lampu pendek didapatkan thresholding terbaik adalah threshold 50, pada setting lampu panjang thresholding
6.3.2 Hasil pengujian pada lampu belakang kendaraan
Pada sub bab 6.3.2, diterangkan tentang ringkasan hasil pengujian pada lampu belakang kendaraan yang dijelaskan pada sub bab 6.2.Pada Tabel 6.23 ditampilkan tentang hasil pengujian lampu belakang kendaraan. Yang ditampilkan pada tabel hanyalah pada sampel dimana terdapat objek lampu belakang kendaraan. Jadi pada sampel yang tidak terdapat objek kendaraan yang melaju searah (terdeteksi lampu belakang), maka tidak dimuat dalam tabel karena hasilnya adalah nol. Berikut ringkasan hasil pengujian pada Tabel 6.23.
Tabel 6.23 Hasil pengujian lampu belakang kendaraan
Jalan
T 10 Merah B T 20 Merah
T 30
B
(Deteksi di
(Peringatan
B (Peringatan
Depan
Hati- hati)
Magelang Cerah
Jalan
Kaliurang Cerah Jalan
Kaliurang Hujan Jalan
Ringroad jalur cepat Hujan 1 Jalan
Ringroad jalur cepat
Cerah 1
Tabel 6.23 Hasil pengujian lampu belakang kendaraan (lanjutan)
(Deteksi di
(Peringatan
(Peringatan
depan ada
Hati- hati)
Ringroad jalur cepat Hujan 2
Ringroad jalur cepat Cerah 2
Jalan
Ringroad jalur
lambat Cerah
Jalan
Ringroad jalur
lambat Hujan
Jalan
Panggung Sari (hujan)
Pengujian lampu belakang kendaraan berbeda dengan pengujian lampu depan kendaraan. Pada pengujian lampu belakang kendaraan, terdapat 3 kelas, yakni deteksi depan kendaraan (T10), deteksi hati- hati(T20), dan deteksi rem(T30). Deteksi depan kendaraan untuk mengintepretasi kendaraan didepan dengan laju searah , deteksi hati- hati untuk mengintepretasi kendaraan didepan dengan laju searah tidak sedang mengerem dengan jarak cukup dekat <40 meter. Sedangkan deteksi rem adalah untuk mengintepretasi kendaraan didepan yang sedang mengerem dengan jarak <30 meter.
Pada Tabel 6.23 dapat dilihat bahwa masih banyak kesalahan hasil deteksi pada lampu belakang kendaraan, terlebih dalam medan yang ramai atau hujan Pada Tabel 6.23 dapat dilihat bahwa masih banyak kesalahan hasil deteksi pada lampu belakang kendaraan, terlebih dalam medan yang ramai atau hujan
Kondisi hujan dan warna cat merah di sekitar wilayah deteksi juga memperbanyak error. Kondisi error akibat cat merah diwakili oleh pengujian pada Jalan Lempong Sari saat hujan. Pada wilayah pendeteksian terdapat tembok dengan cat merah yang terdeteksi sebagai deteksi depan (T10). Error pada saat hujan dapat dilihat pada pengujian pada Jalan Ringroad jalur cepat 1(hujan) lebih banyak error daripada pengujian pada Jalan Ringroad jalur cepat 1 (cerah).
Kemudian semakin dekat objek yang mengerem, dan semakin kuat intensitas cahaya lampu belakang saat rem, maka semakin banyak error nya. Kondisi ini diwakili oleh pengujian pada Jalan Ringroad jalur cepat 2 (cerah) dan Jalan Ringroad jalur cepat 2 (hujan). Objek pada jalur cepat 2 (cerah) adalah mobil yang sedang mengerem pada jarak sangat dekat, sedangkan objek pada jalur cepat
2 (hujan) adalah bus dengan lampu belakang yang sedikit redup, dengan jarak yang sedikit lebih jauh.
6.4 Respon Aktuator (Arduino)
Arduino Mega 2560 mampu menggerakkan servo kanan kiri, dan lampu kanan kiri, secara bersamaan. Dengan melakukan parsing data 4 karakter ASCII, Arduino Mega mampu mengeksekusi 4 task sekaligus. Namun ada perlu beberapa hal yang perlu digaris bawahi dari sistem single loop. Kelemahan tersebut adalah .
a. Delay terlalu singkat akhirnya gerakan tidak halus.
b. Delay terlalu lama, akhirnya gerakan servo terlambat dari perintah yang ada di video sekuensial.
Maka pada penelitian selanjutnya disarankan penambahan RTOS. RTOS yang mampu menyempurnakan pemodelan sistem ini. Sistem RTOS ini harus mampumenjalankan counter servo dan counter sistem operasi. Secara teori, counter harus terpecah menjadi 2 yakni counter RTOS dan counter servo. Jika RTOS tersebut mampu, maka keuntungan yang didapat adalah Maka pada penelitian selanjutnya disarankan penambahan RTOS. RTOS yang mampu menyempurnakan pemodelan sistem ini. Sistem RTOS ini harus mampumenjalankan counter servo dan counter sistem operasi. Secara teori, counter harus terpecah menjadi 2 yakni counter RTOS dan counter servo. Jika RTOS tersebut mampu, maka keuntungan yang didapat adalah
b. Tiap task punya loop tersendiri, sehingga eksekusi dan delay dari tiap task tidak akan berpengaruh pada task lain.
c. Sistem level prioritas dapat berjalain baik, karena didukung oleh tick counting dari RTOS.
Untuk mendukung kualitas gerak servo, pada penelitian selanjutnya dianjurkan diteliti tentang kontrol digital seperti PID, fuzzy logic, dll.