Abstrak—Image registration merupakan suatu proses penyatuan antara dua citra yang berbeda resolusi maupun skalanya. Setelah proses registrasi kedua citra dapat dihimpitkan satu sama lainnya dengan presisi tinggi. Image registration untuk pencatatan kondisi jalan raya dibuat untuk mempermudah dalam mengeatahui kondisi suatu jalan raya, hal ini dikarenakan pihak-pihak yang terkait dalam memperbaiki kondisi jalan raya membutuhkan waktu yang lebih lama serta alat-alat berat yang cukup banyak dalam hal meninjau suatu kondisi jalan raya. Dengan kamera diletakkan di depan suatu kendaraan yang bertujuan untuk mempermudah dalam scanning jalan raya untuk dilakukan pengolahan citra, serta GPS yang akan menunjukkan setiap posisi dalam setiap lokasi jalan raya yang dilalui kendaraan tersebut, dimana hasil dari pengolahan citra ini akan di proses ke dalam image registration dengan tujuan untuk memperoleh bentuk citra yang baru sehingga pengguna dapat mengetahui secara detail kondisi jalan raya di setiap titik. Sistem pengukuran untuk mendapatkan hasil apakah sistem telah berjalan dengan baik yaitu menggunakan perbandingan pengukuran secara manual dengan pengukuran jarak antar dua titik koordinat GPS. Hasil perhitungan dengan tiga kondisi jalan yang berbeda antara lain: kondisi jalan dengan banyak retakan, kondisi jalan sedikit retakan, kondisi jalan basah. Hasil error tertinggi yang didapatkan yaitu pada kondisi jalan sedikit retakan dan basahSerta sistem ini dapat bekerja optimal pada laju kecepatan 10-20km/jam dengan tingkat error rata-rata sebesar 33-38%. Hal ini dikarenakan tingkat kemiripan feature-feature yang ada serta kualitas kamera yang kurang tajam.
Kata Kunci— Kondisi Jalan, Global Positioning System, Image registration, kendaraan .
I. PENDAHULUAN
erdasarkan data kondisi permukaan jalan menurut Dinas Pekerjaan Umum Bina Marga Jawa Timur tahun 2012, dengan total panjang jalan provinsi sepanjang 1.760,91 kilometer. Dari jumlah tersebut, sepanjang 649,85 kilometer dikatan baik, sedangkan 1111,1 kilometer dikategorikan dalam kondisi rusak sedang hingga berat.
Gambar 1. Data kondisi permukaan jalan raya Jawa Timur tahun 2012 [1]
“Setiap tahunnya, anggaran pemeliharan jalan dan jembatan di Jawa Timur hanya mencapai Rp 139 miliar. Padahal, untuk memperbaiki seluruh fasilitas jalan berupa perbaikan berkala, pemeliharaan dan peningkatan jalan, anggaran yang dibutuhkan mencapai Rp 1,5 triliun/tahun. Kalau tidak maka kerusakan semakin panjang”, menurut Agus Maimun Anggota Komisi D DPRD Jawa Timur. Oleh karena itu dibuatlah sebuah sistem pemantauan kondisi jalan raya, dengan mengambil data gambar dari sebuah kamera sebagai sensor visual yang kemudian diproses untuk mendapatkan data citra yang dibutuhkan. Sehingga dengan menggunakan metode registrasi citra dengan data GPS yang telah diakuisisi secara bersamaan sebelumnya pengguna dapat mengetahui kondisi jalan secara keseluruhan.
II. KAJIAN PUSTAKA A. Global Positioning System (GPS)
Global Positioning System (GPS) adalah sistem navigasi yang menyediakan informasi posisi dan waktu menggunakan satelit. Selain itu GPS juga dapat digunakan untuk mendapatkan informasi kecepatan dan arah.
Gambar 2. Ilustrasi segmen satelit Sistem GPS[9]
GPS receiver memiliki keluaran yang standar yang berhubungan dengan informasi-informasi diatas, standar tersebut dikeluarkan oleh assosiasi produsen perangkat elktronik laut di Amerika, NMEA (National Marine Electronics Association) dengan nama NMEA-0183.
Pada tugas akhir ini jenis bentuk laporan NMEA-0813 yang digunakan adalah jenis laporan $GPGGA yaitu Global positioning system fixed data yang memberikan informasi antara lain koordinat lintang dan bujur, waktu dimana seperti diuraikan dalam tabel 2.2.
649.85 Km 859.79 Km 211.57 Km 39.7 Km 0 Km 200 Km 400 Km 600 Km 800 Km 1000 Km
Baik Sedang Rusak
Ringan
Rusak Berat
IMPLEMENTASI REGISTRASI CITRA UNTUK PENCATATAN KONDISI
JALAN RAYA DENGAN GLOBAL POSITIONING SYSTEM (GPS)
Rizki Anhar Ramadlan Putra, Ronny Mardiyanto, Djoko Purwanto
Teknik Elektro, Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember (ITS)
Jl. Arief Rahman Hakim, Surabaya 60111
E-mail: ronny@elect-eng.its.ac.id
Tabel 2. Tabel NMEA dengan header $GPGGA[10]
$GPGGA,152145.000,4805.81931,N,01132.23172,E,1,04, 2.5,607.75,M,47.6,M,,*67
$GPGGA Jenis Laporan
152145.000 Waktu Universal (15jam 21menit 45detik)
4805.81931 Latitude (48derajat 05.81931menit)
N North (Utara)
jika S, maka South (Selatan)
01132.23172 Longitude (011derajat 32.23172menit)
E East (Timur)
Jika W, maka West (Barat)
1 Status Posisi
0=Invalid, 1=GPS Fix, 2=DGPS Fix
04 Jumlah Satelit
2.5 Horizontal Dilution of Precision (HDOP) 607.75 Ketinggian antena M M=meter 47.6 Geoidal Separation M M=meter <kosong> <kosong> *67 Checksum B. Model Citra
Citra atau lebih dikenal dengan ‘gambar’ dapat diartikan sebagai representasi atau kemiripan suatu objek. Citra dibagi ke dalamdua macam: citra analog dan citra digital. Citra digital dibagi menjadi 3 jenis menurut intensitasnya: citra warna, citra grayscale, citra biner.
Citra warna atau yang lebih dikenal dengan citra RGB yaitu citra yang memiliki matrix 3 dimensi dimana tiap dimensi itu diisi oleh elemen-elemen matrix yang berbeda-beda. Citra gray adalah citra yang memiliki matrix satu dimensi dimana matrix tersebut berisi nilai yang menyatakan intensitas warna keabuan. Citra biner adalah citra yang memiliki matrix satu dimensi dimana matrix tersebut berisi nilai 1(putih dan 0(hitam).
Gambar 3. Jenis-jenis citra digital
C. Smoothing
Penghalusan (smoothing) atau lebih dikenal dengan mengaburkan, merupakan salah satu proses pengolahan citra yang sederhana dan sangat sering digunakan. Hal ini dikarenakan metode smoothing memiliki tujuan antara lain untuk menghilangkan detil dan menghilangkan derau (noise) dimana noise ini sangat mempengaruhi terhadap proses pengolahan citra selanjutnya.
D. Deteksi Tepi
Deteksi tepi dilakukan untuk meningkatkan penampakan
garis pada citra tepi. Terdapat beberapa macam metode
untuk mendeteksi tepi. Pada penelitian ini digunakan
metode Canny untuk mendeteksi tepi.
E. Hough Line Transform
Konsep dasar dari hough transform adalah bahwa di dalam suatu citra terdapat garis yang mempunyai ukuran beragam dan orientasi yang beragam pula yang melewati titik-titik yang tersebar dalam citra tersebut. Tujuan dari transformasi ini adalah menemukan persamaan garis yang paling banyak melalui titik-titik yang tersebar dalam suatu citra.
Gambar 4. Sistem koordinat polar
Hough line transform bekerja dengan cara memanfaatkan sebuah deret array yang disebut sebagai array akumulator. Pada transformasi garis hough memiliki 2 buah parameter penting yakni r(rho) dan θ(theta), maka akan terbentuk sebuah deret array akumulator yang berdimensi 2. Kemudian dilakukan proses pencarian terhadap area citra (scanning) dengan kemungkinan titik-titik
yang
ada.
Setiap
kemungkinan, dilakukan proses perhitungan dan
penyimpanan nilai r dan θ dari setiap titik pada array
akumulator. Nilai-nilai kemudian akan dipetakan pada
grafik akumulator.
F. Perspective Transformation
Teknik ini memungkinkan untuk merubah bentuk citra asli mengikuti bentuk citra yang dibentuk sebelumnya. Sehingga bentuk citra yang akan didapatkan akan cenderung sama.
Gambar 5. Ilustrasi transformasi perpective
G. SURF: Speeded up robust features
Fitur SURF digunakan untuk mentukan keypoint pada objek dalam gambar. Setiap objek pada citra atau gambar dapat diekstrak fitur SURF-nya. Misalnya pada gambar jalan terdapat lubang/keretakan, maka fitur SURF yang akan dihasilkan menunjukkan keypoint pada lubang tersebut. Dalam proses pencocokan fitur lubang/keretakan , yang akan dicocokkan hanyalah fitur keypoint yang menunjukkan lubang/keretakan yang sama.
Berdasarkan rekomendasi dari OpenCV, teknik matching yang baik digunakan untuk fitur SURF adalah FAST Library Approximated Nearest Neighbord (FLANN). Oleh karena itu pada tugas akhir ini akan digunakan FLANN sebagai teknik matchingnya.
III. PERANCANGAN PROGRAM
Sistem yang dirancang dalam tugas akhir ini terbagi menjadi dua bagian utama, yaitu bagian Master dan Slave, dimana Slave bertugas sebagai pengambil data kondisi jalan raya beserta koordinat posisinya. Sedangkan, Master sebagai interface untuk meregistrasi kondisi jalan raya yang dikehendaki pengguna. Secara keseluruhan, cara kerja sistem diilustrasikan dalam gambar berikut ini:
Gambar 6. Ilustrasi Cara Kerja Sistem A. Perancangan Bagian Slave
Gambar 7. Diagram blok sistem bagian slave.
A.1 Perangkat Keras
a) Kamera Sebagai Sensor Visual
Kamera yang dapat digunakan adalah handycam SONY DCR SR42 dengan spesifikasi:
1. Resolution : 1280 x 720 pixels 2. Frame rate : 29.97 frame per second
Penggunaan kamera ini memanfaatkan image stabiizer dimana sensor ini dapat digunakan ketika jalan bergelombang.
b) Komputer
Pada tugas akhir ini digunakan sebuah komputer dengan spesifikasi:
1. CPU : Intel Core i3-2370M (2.4 GHz) 2. RAM : 4 GB
c) GPS
Pada tugas akhir ini modul GPS receiver yang digunakan adalah
GPS SB-369 dengan spesifikasi
sebagai berikut
:1. Communication : Bluetooth V2.0 2. Frequency : 2402MHz to 2480MHz 3. Operation Range : 10 meters (33 feet) 4. Acquisition Rate : 1 second
5. NMEA-0183 : GGA, GSA, GSV, RMC.
A.2 Perangkat Lunak
(a) Smoothing
Setelah data berupa gambar dimabil, akan terdapat noise (detil-detil yang sangat kecil) serta warna yang sangat mencolok. Oleh karena itu perlu dilakukan penghalusan (penghamburan) dengan Gaussian Blur, sehingga persebaran warna akan menjadi merata dan noise dapat dikurangi seminimal mungkin.
cvSmooth(frame,halus,CV_GAUSSIAN,3,3,0,0);
(b) Grayscaling
Dengan harapan agar pengolahan dan pemrosesan lebih mudah maka perlu untuk mereduksi matriks penyusun citra dari 3 matrik menjadi 1 matrik. Proses ini dinamakan grayscaling yaitu mengubah citra berwarna mnjadi bentuk citra grayscale.
cvCvtColor(img, imgHSV, CV_BGR2GRAY);
(c) Deteksi Tepi
Setelah data berupa gambar grayscale (1-bit). Berikutnya yaitu mendeteksi tepi untuk mendapatkan tepi-tepi dalam citra tersebut dimana tepi ini akan menjadi acuan dalam membuat suatu garis lurus.
cvCanny(gray,titik,50,200,3);
(d) Transformasi Garis Hough
Dengan tujuan mendapatkan garis-garis yang menghubungkan antara satu tepi dengan tepi yang lain dengan kondisi tertentu antara lain panjang jarak antar tepi, sudut orientasi, dan gradien tertentu.
Image
Smoothing
Gaussian Grayscaling Deteksi Tepi
Transformasi Garis Hough Transformasi Perspective Database Handycam GPS (Global Positioning System) Lintang Utara, Bujur Timur Perpotongan garis Master Side Slave Side Database
GPS
CPU CPU
Handycam
Jalan Raya
CvMemStorage* storage =
cvCreateMemStorage(0); CvSeq* lines = 0; lines = cvHoughLines2( titik, storage,
CV_HOUGH_STANDARD, 1, CV_PI/180, 50,20,10 ); for(int i = 0; i < lines -> total; i++ ) { float* line = (float*)cvGetSeqElem(lines,i); float rho = line[0]; float theta = line[1]; CvPoint pt1, pt2; double a = cos(theta), b = sin(theta); double x0 = a*rho, y0 = b*rho; pt1.x = cvRound(x0 + 1000*(-b));
pt1.y = cvRound(y0 + 1000*(a)); pt2.x = cvRound(x0 - 1000*(-b)); pt2.y = cvRound(y0 - 1000*(a));}
(e) Perpotongan Garis Lurus
Untuk mendapatkan 4 titik perpotongan garis lurus, digunakanlah sebuah rumus perpotongan antara garis lurus: , = − − − − − − − − − − ,
!" !#"$""!#$" #$ "! #" $" " !#"$
%
. (f) Transformasi PerspectiveDengan memanfaatkan 4 buah titik potong yang akan digunakan sebagai referensi dalam transformasi perspective. Setelah 4 buah titik awal didapatkan, selanjutnya menentukkan 4 titik tujuan yang akan dijadikan sebagai template baru suatu citra. Langkah terakhir yaitu menghilangkan bagian-bagian yang berada di luar titik tujuan, sehingga akan didapatkan bentuk serta ukuran citra yang sama
CvMat* mmat = cvCreateMat(3,3,CV_32FC1); CvPoint2D32f *c1 = new CvPoint2D32f[4]; CvPoint2D32f *c2 = new CvPoint2D32f[4]; mmat=cvGetPerspectiveTransform(c1,c2, mmat); cvWarpPerspective(cloning, output, mmat);
this->pictureBox1->Refresh();
B. Perancangan Bagian Master
Gambar 8. Diagram blok sistem bagian Master.
B.1Perangkat Lunak
(a) Pemrograman Google Map API
Langkah pertama, perlu mendaftarkan web-server kepada google (console.developers.google.com) untuk mendapatkan google map API key yang akan digunakan
Selanjutnya, mencantumkan google map API key ke dalam server sesuai dengan alamat web-server, apabila hal tersebut tidak sesuai maka javascript dipastikan tidak akan berjalan.
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=true&a mp;key=AIzaSyCZ7Sb30XMbHvEdGB7uh0elDRKz4Kh rQyY"></script>
Kemudian, mensetting parameter-parameter peta kita antara lain parameter posisi latitude dan longtitude ketika pertama kali dibuka, dan parameter mapTypeId yaitu jenis peta yang digunakan.
function initialize() {
var latlng = new google.maps.LatLng(-7.26856, 112.744238333333); var myOptions = { zoom: 20, mapTypeId: google.maps.MapTypeId.ROADMAP };
(b) Image Registration
Tahap lokalisasi keypoint adalah menentukan nilai ambang batas. Semakin besar minHessian, maka semakin sedikit keypoint yang akan diperoleh. Di sisi lain semakin kecil minHessian, maka semakin banyak keypoint yang akan diperoleh
int minHessian = 25;
SurfFeatureDetector detector( minHessian ); vector< KeyPoint> keypoints_object,
keypoints_scene;
detector.detect(img1_gray,keypoints_object); detector.detect(img2_gray,keypoints_scene);
Tahap Selanjutnya adalah pembentukan deskriptor. Descriptor ditentukan berdasarkan daerah piksel disekitar keypoint.
SurfDescriptorExtractor extractor;
Mat descriptors_object, descriptors_scene; extractor.compute(img1_gray,keypoints_object ,descriptors_object);
extractor.compute(img2_gray,keypoints_scene, descriptors_scene);
Tahap pencocokan dengan metode FLANN, dimana akan ditentukan berapa perbedaannya yang paling kecil antara satu keypoint dengan keypoint lain. FlannBasedMatcher matcher; vector<DMatch> matches; matcher.match(descriptors_object, descriptors_scene, matches );
double max_dist = 0; double min_dist = 100; for (int i = 0; i < descriptors_object.rows ; i++){double dist = matches[i].distance;
if( dist < min_dist ) min_dist = dist; if( dist > max_dist ) max_dist = dist;}
Image Database Lintang Utara, Bujur Timur Feature Detection Feature Matching New Image Image Registration
Gambar 9 Pengukuran lebar piksel tiap frame
IV. PENGUJIAN
Dengan menggunakan batas atas dan batas bawah sebagai acuan pengambilan tinggi citra, maka perlu dilakukan pengukuran secara manual agar didapatkan ukuran tinggi citra sesungguhnya. Dalam hal ini tinggi citra sebesar 120 piksel, sedangkan pengukuran manual didapatkan 290cm. Maka tinggi citra setiap pikselnya sebesar 2,5cm.
Gambar 10 Pengukuran lebar piksel tiap frame
A. Pengujian Kondisi jalan Banyak Retakan dan Bayangan Didapatkan hasil pengukuran yang ditampilkan dalam grafik gambar 4.2. Nilai error yang dihitung cenderung sama Serta nilai error rata-rata sebesar 17,62%,
Gambar 11 Grafik error terhadap jarak Jalan RA. Kartini, Surabaya,
B. Pengujian Kondisi Jalan Sedikit Retakan dan Bayangan Didapatkan hasil pengukuran yang ditampilkan dalam grafik gambar 4.2. Nilai error yang dihitung cenderung sama Serta nilai error rata-rata sebesar 33,36%,
Gambar 12 Grafik error terhadap jarak Jalan WR Supratman, Surabaya,
C. Pengujian Kondisi Jalan Basah
Didapatkan hasil pengukuran yang ditampilkan dalam grafik gambar 4.2. Nilai error yang dihitung cenderung sama Serta nilai error rata-rata sebesar 40,44%,
Gambar 13 Grafik error terhadap jarak Jalan Ahmad Yani, Surabaya,
D. Pengujian dengan Kecepatan 10km/jam
Dilakukan pengujian terhadap laju kecepatan sebesar 10km/jam, digambarkan nilai error terhadap jarak yang diukur seperti pada grafik gambar 14. Dari data pengukuran didapatkan hasil dengan error rata-rata sebesar 32.59%.
0.00 10.00 20.00 30.00 E rr o r (% ) Jarak (Meter)
Banyak Retakan dan Bayangan
0.00 20.00 40.00 60.00 7. 10 16. 50 26. 08 40. 57 55. 27 65. 07 75. 08 86. 45 95. 11 106. 26 115. 87 124. 30 134. 51 E rr o r (% ) Jarak (Meter)
Sedikit Retakan dan Bayangan
0.00 20.00 40.00 60.00 E rr o r (% ) Jarak (Meter)
Basah
START Akses Database SCR = load data gambar ttitik awalEND Menentukan titik awal dan titik akhir
Lokalisasi keypint dan hitung descriptor SCR
TPL = load data gambar di titik awal+1
Lokalisasi keypoint dan hitung descriptor TPL
Hasil = FLANN matching SCR dan TPL
SCR = Hasil Titik awal = titik awal+1
Titik akhir = titik awal+1
Gambar 14 Grafik error terhadap jarak dengan laju kecepatan 10km/jam
E. Pengujian dengan Kecepatan 20km/jam
Digambarkan nilai error terhadap jarak yang diukur seperti pada grafik gambar 15. Dari data pengukuran didapatkan hasil dengan error rata-rata sebesar 38.75%.
Gambar 15 Grafik error terhadap jarak dengan laju kecepatan 20km/jam
F. Pengujian dengan Kecepatan 30km/jam
Digambarkan nilai error terhadap jarak yang diukur seperti pada grafik gambar 16. Dari data pengukuran didapatkan hasil dengan error rata-rata sebesar 44.13%.
Gambar 16 Grafik error terhadap jarak dengan laju kecepatan 30km/jam
G. Pengujian dengan Kecepatan 40km/jam
Digambarkan nilai error terhadap jarak yang diukur seperti pada grafik gambar 17. Dari data pengukuran didapatkan hasil dengan error rata-rata sebesar 53.49%.
Gambar 17 Grafik error terhadap jarak dengan laju kecepatan 40km/jam
V. KESIMPULAN
Setelah tahap pengujian sistem,dilakukan pengujian untuk terhadap berbagai kondisi jalan raya yang ada. Kesimpulan yang diperoleh dalam Tugas Akhir ini adalah:
1. Hasil pengujian diperoleh pada pengujian jalan yang memiliki banyak bayangan dan retakan memiliki tingkat error relative tetap, pengujian ada jalan yang mempunyai sedikit retakan dan bayangan memiliki error yang relative meningkat, sedangkan pada kondisi jalan yang basah memiliki error yang sangat tinggi. Hal ini dikarenakan kamera yang digunakan memiliki kualitas yang masih kurang.
2. Dari hasil pengujian terhadap laju kecepatan yang berbeda-beda, dapat ditarik kesimpulan bahwa sistem dapat bekerja paling optimal pada kecepatan 10-20km/jam dengan tingkat error rata-rata sebesar 33-38%.
DAFTAR PUSTAKA
[1] Gonzalez, C. R. dan Woods, E. R., “Digital Image Processing
Second Edition”, Prentice Hall, New Jersey, Ch. 1, 2002.
[2] Brahmbatt, Samarth., “Practical OpenCV”, Technology in Action, New York, 2013.
[3] Lellis, Baggio dan Shiikrot, Roy. Mastering OpenCV with
Practical Computer Vision Projects. PACKT Publishing. 2008.
[4] Bradski, Gary dan Kaebler, Adrian. Learning OpenCV Computer
Vision with the OpenCV Library. O’ REILLY. 2008.
[5] Ditha Tania , Ken dan Murni Arymurthy, Aniati . TATTOO
RECOGNITION BASED ON SPEED UP WITH ROBUST FEATURES (SURF) . Risalah Lokakarya Komputasi dalam Sains
dan Teknologi Nuklir 2010. 2010.
[6] Made Sukrawan , I dan Riyanto, Bambang . PENGEMBANGAN
DSMAC MENGGUNAKAN METODA SURF PADA SISTEM PELURU KENDALI. Insitut Teknologi Bandung. 2008.
[7] Sa’diyah, Halimatus dan Hidayatno, Achmad. APLIKASI
TRANSFORMASI HOUGH UNTUK DETEKSI GARIS LURUS.
Insitut Teknologi Bandung. 2008.
[8] BPS Jawa Timur “Panjang Jalan Menurut Kondisi Permukaan Jalan dan Persentase Panjang Jalan Menurut Kondisi Permukaan Jalan” <URL: http://jatim.bps.go.id/index.php?hal=tabel&id=11> Juni, 2014.
[9] Wkipedia “Global_Positioning_System”<URL:http://id.wikipedia. org /wiki/Global_Positioning_System> Juni, 2014.
[10] Peter, Joe. “NMEA Data“ <URL: http://www.gpsinformation.org /dale/nmea.htm> Juni, 2014.
[11] Tempo.co. “Anggaran Buat Bangun Jalan di Jatim Turun“ <URL: http://www.tempo.co/read/news/2013/11/29/058533282/Anggaran-Buat-Bangun-Jalan-di-Jatim-Turun> Juni, 2014.
[12] Wkipedia “XAMPP” <URL: http://id.wikipedia.org/wiki/ XAMPP > Juni, 2014.
[13]Wkipedia “Google Map” <URL: http://en.wikipedia.org/wiki/Google_Maps> Juni, 2014. 0.00 10.00 20.00 30.00 40.00 E rr o r (% ) Jarak (Meter)