UNIVERSITAS INDONESIA
RANCANG BANGUN DAN ANALISIS SISTEM PEMANTAU LALU LINTAS MENGGUNAKAN OPENCV DENGAN ALGORITMA CANNY DAN BLOB DETECTION
SKRIPSI
HELMIRIAWAN 0806459803
FAKULTAS TEKNIK UNIVERSITAS INDONESIA DEPARTEMEN TEKNIK ELEKTRO TEKNIK KOMPUTER DEPOK JUNI 2012
Rancang bangun..., Helmiriawan, FT UI, 2012
UNIVERSITAS INDONESIA
RANCANG BANGUN DAN ANALISIS SISTEM PEMANTAU LALU LINTAS MENGGUNAKAN OPENCV DENGAN ALGORITMA CANNY DAN BLOB DETECTION
SKRIPSI Diajukan sebagai salah satu syarat memperoleh gelar sarjana.
HELMIRIAWAN 0806459803
FAKULTAS TEKNIK UNIVERSITAS INDONESIA DEPARTEMEN TEKNIK ELEKTRO TEKNIK KOMPUTER DEPOK JUNI 2012
Rancang bangun..., Helmiriawan, FT UI, 2012
iii Rancang bangun..., Helmiriawan, FT UI, 2012
iv Rancang bangun..., Helmiriawan, FT UI, 2012
v Rancang bangun..., Helmiriawan, FT UI, 2012
vi Rancang bangun..., Helmiriawan, FT UI, 2012
ABSTRAK
Nama : Helmiriawan Program Studi : Teknik Komputer Judul : Rancang Bangun dan Analisis Sistem Pemantau Lalu Lintas Menggunakan OpenCV dengan Algoritma Canny dan Blob Detection Skripsi ini berisi perancangan, pembuatan, dan analisis sistem pemantau lalu lintas dengan teknologi computer vision menggunakan OpenCV. Sistem memberitahukan kondisi kemacetan jalan yang dipantau dalam empat level (lengang, ramai lancar, padat merayap, dan macet). Penelitian dilakukan menggunakan OpenCV sebagai library pemograman bahasa C++ dengan algoritma Canny dan Blob Detection untuk mendeteksi kendaraan menggunakan kamera pemantau pada posisi vertikal dari samping. Berdasarkan pengujian metode Blob Detection lebih unggul pada kondisi jalan lengang, namun ketika kondisi semakin ramai algoritma Canny lebih unggul. Sistem mendeteksi kendaraan yang lewat dengan rata-rata kecepatan pendeteksian 9.8 ms per frame dengan input video berukuran 320 x 240 pixel.
Kata kunci : Kemacetan, intelligent transportation system, computer vision, OpenCV.
vii Rancang bangun..., Helmiriawan, FT UI, 2012
Universitas Indonesia
ABSTRACT
Name
: Helmiriawan
Majoring : Computer Engineering Title
: Development and Analysis of Traffic Monitoring System by Using OpenCV with Canny Algorithm and Blob Detection
This thesis describes the design, making, and analysis of traffic monitoring system by using computer vision technology with OpenCV. These systems notify the user about the state of the monitored road congestion in four levels (quiet, crowded, dense crowded, and congested). The research was conducted using the OpenCV library programming language C++ with the Canny algorithm and Blob Detection to detect the vehicle using camera on the position of vertical side. Based from the test results, the Blob Detection method is superior in the deserted road conditions, but when conditions are more crowded the Canny algorithm is superior. The system can detect vehicle with average speed of 9.8 ms per frame with video input size 320 x 240 pixels.
Keywords: Congestion, intelligent transportation system, computer vision, OpenCV.
viii Rancang bangun..., Helmiriawan, FT UI, 2012
Universitas Indonesia
DAFTAR ISI
HALAMAN PERNYATAAN ORISINALITAS ................................................... ii HALAMAN PENGESAHAN ............................................................................... iii KATA PENGANTAR ........................................................................................... iv ABSTRAK ............................................................................................................ vii ABSTRACT ......................................................................................................... viii DAFTAR ISI .......................................................................................................... ix DAFTAR GAMBAR ............................................................................................. xi DAFTAR TABEL ................................................................................................. xii BAB I PENDAHULUAN ........................................................................................1 1.1 Latar Belakang ..........................................................................................1 1.2 Tujuan Penelitian ......................................................................................2 1.3 Batasan Penelitian .....................................................................................3 1.4 Metode Penelitian......................................................................................3 1.5 Sistematika Penulisan................................................................................3 BAB II SISTEM PEMANTAU LALU LINTAS MENGGUNAKAN OPENCV DENGAN ALGORITMA CANNY DAN BLOB DETECTION ............................4 2.1 Kemacetan .................................................................................................4 2.2 Intelligent Transportation System .............................................................5 2.3 Computer Vision .......................................................................................5 2.4 Open Computer Vision (OpenCV)............................................................7 2.5 Canny Edge Detection...............................................................................9 2.6 Blob Detection ........................................................................................11 2.7 Gaussian Smoothing................................................................................13 2.8 Contoh Sistem Pemantau Lalu Lintas yang Telah Diimplementasikan ..14 2.8.1 Sistem Pengaturan Lampu Lalu Lintas Terdistribusi [17] .............14 2.5.2 Traffic Jam Detection System [18] ................................................16 2.5.3 Image Processing in Road Traffic Analysis [19] ...........................17 2.5.4 The Implementation of A Vision Sensor for Traffic Surveillance [20] .................................................................................................17 BAB III PERANCANGAN SISTEM PEMANTAU LALU LINTAS MENGGUNAKAN OPENCV DENGAN ALGORITMA CANNY DAN BLOB DETECTION .........................................................................................................19 3.1 User Requirement....................................................................................19 3.2 Arsitektur Sistem Pemantau Lalu Lintas.................................................20 3.3 Hardware yang Digunakan ......................................................................21 3.3.1 Kamera ...........................................................................................21 3.3.2 Mesin Pengolah ..............................................................................22 3.5 Software yang Digunakan .......................................................................22 3.5.1 OpenCV..........................................................................................23 3.5.2 Microsoft Visual Studio .................................................................23 3.6 Rancangan Algoritma..............................................................................25 3.7 Perancangan Graphical User Interface ....................................................28
ix Rancang bangun..., Helmiriawan, FT UI, 2012
Universitas Indonesia
BAB IV UJI COBA DAN ANALISIS SISTEM PEMANTAU LALU LINTAS MENGGUNAKAN OPENCV DENGAN ALGORITMA CANNY DAN BLOB DETECTION .........................................................................................................32 4.1 Implementasi Sistem ...............................................................................32 4.2 Pengujian Akurasi Pendeteksian Kendaraan antara Metode Blob Detection dan Algoritma Canny.......................................................................33 4.3 Kecepatan Pengolahan Citra ...................................................................36 4.4 Tingkat Akurasi Kebenaran Sistem ........................................................39 4.5 Analisis ....................................................................................................42 BAB V KESIMPULAN .........................................................................................44 DAFTAR ACUAN.................................................................................................45 DAFTAR PUSTAKA ............................................................................................47
x Rancang bangun..., Helmiriawan, FT UI, 2012
Universitas Indonesia
DAFTAR GAMBAR
Gambar 2.1 Tahapan Algoritma Canny Edge Detector [9]......................................9 Gambar 2.2 (a) Sebuah Gambar Dengan Noise. (b) Operator Bentuk Kotak. (c) Gambar Setelah Operator Bentuk Kotak Diaplikasikan. (d) Turunan Pertama dari Operator Gaussian. (e) Gambar Setelah Turunan Pertama dari Operator Gaussian Diaplikasikan [10] ..................................................................................................10 Gambar 2.3 Fungsi Gaussian 2 Dimensi [11] ........................................................14 Gambar 2.4 Screenshoot data pengujian Sistem Pemantau Lalu Lintas Terdistribusi [17]....................................................................................................15 Gambar 2.5 Grafik Akurasi Penghitungan untuk Variasi Kondisi Cuaca dan Sudut Pandang dari Sistem Pengaturan Lampu Lalu Lintas Terdistribusi [17] ...............16 Gambar 2.6 Contoh Tampilan Sistem Dengan Menggunakan Metode OMNI [20] ................................................................................................................................18 Gambar 3.1 Rancangan Sistem Pemantau Lalu Lintas [21] ..................................20 Gambar 3.2 Diagram Alur Sistem Pemantau Lalu Lintas yang Dibuat .................21 Gambar 3.3 Sudut Pengambilan Kamera dari Samping Atas [7]...........................22 Gambar 3.4 Contoh Tampilan Microsoft Visual Studio [21] ................................24 Gambar 3.5 Contoh Tampilan Qt Creator [22] ......................................................25 Gambar 3.6 Flowchart Algoritma Perancangan Sistem Pemantau Lalu Lintas dengan Algoritma Canny .......................................................................................27 Gambar 3.7 Flowchart Algoritma Perancangan Sistem Pemantau Lalu Lintas dengan Blob Detection ...........................................................................................28 Gambar 3.8 Tampilan Awal Sistem Pemantau Lalu Lintas ...................................29 Gambar 3.9 Tampilan Sistem Pemantau Lalu Lintas Saat Bekerja .......................30 Gambar 3.10 Pseudocode Sistem Pemantau Lalu Lintas yang Dirancang ............31 Gambar 4.1 Tampilan Sistem Saat Mendeteksi Kondisi Jalan Lengang ...............33 Gambar 4.2 Tampilan Sistem Saat Mendeteksi Kondisi Jalan Ramai Lancar .......34 Gambar 4.3 Grafik Perbandingan Antara Metode Blob Contour dan Canny ........35 Gambar 4.4 Grafik Pengujian Kondisi terhadap Kecepatan Pengolahan Citra .....37 Gambar 4.5 Grafik Pengujian Kecepatan Pengolahan Citra Terhadap Luas Region of Interest pada kondisi jalan Lengang ..................................................................38 Gambar 4.6 Grafik Pengujian Kecepatan Pengolahan Citra Terhadap Luas Region of Interest pada kondisi jalan Lengang-Ramai Lancar ..........................................38 Gambar 4.7 Grafik Pengujian Luas Region of Interest Terhadap Kecepatan Pengolahan Citra pada kondisi jalan Ramai Lancar ..............................................39 Gambar 4.8 Grafik Pengujian Akurasi Sistem Terhadap Ketinggian Kamera ......41 Gambar 4.9 Grafik Pengujian Akurasi Sistem Terhadap Kondisi Jalan ................42 Gambar 4.10 Contoh Kemungkinan Berhimpitnya Posisi Kendaraan Karena Posisi Kamera yang Cukup Rendah .................................................................................43
xi Rancang bangun..., Helmiriawan, FT UI, 2012
Universitas Indonesia
DAFTAR TABEL
Tabel 4.1 Perbandingan Metode Blob Contour dan Algoritma Canny ..................34 Tabel 4.2 Pengujian Kondisi terhadap Kecepatan Pengolahan Citra .....................36 Tabel 4.3 Pengujian pada Video I dengan Kondisi Jalan Lengang........................37 Tabel 4.4 Pengujian pada Video II dengan Kondisi Jalan Lengang - Ramai Lancar ................................................................................................................................38 Tabel 4.5 Pengujian pada Video III dengan Kondisi Jalan Ramai Lancar ............39 Tabel 4.6 Pengujian Akurasi Sistem Terhadap Ketinggian Kamera......................40 Tabel 4.7 Pengujian Akurasi Terhadap Kondisi Jalan ...........................................41
xii Rancang bangun..., Helmiriawan, FT UI, 2012
Universitas Indonesia
BAB I PENDAHULUAN
1.1
Latar Belakang Setiap hari, warga kota Jakarta selalu mengeluhkan masalah kemacetan
yang melanda jalan-jalan besar di kota ini, khususnya pada waktu siang dan sore hari, yaitu saat mereka pergi dan pulang dari melakukan rutinitas sehari-hari. Namun, ternyata masalah kemacetan ini tidak hanya terjadi di kota Jakarta. Kotakota besar lainnya di Indonesia, seperti kota Bandung, bahkan di kota besar lain, seperti di New York, ternyata juga mengalami hal yang sama. Masalah kemacetan yang melanda kota besar ini dirasa sangat merugikan, karena membuang waktu, tenaga, dan pikiran. Apabila masalah ini tidak segera ditanggulangi makan kerugian yang ditimbulkan akan semakin besar dan semakin sulit untuk diatasi. Untuk menyelesaikan masalah kemacetan ini diperlukan berbagai informasi yang nantinya akan dianalisis untuk dicari solusinya. Beberapa informasi yang dibutuhkan yaitu:
Penyebab kemacetan. Masalah utama yang menyebabkan kemacetan di kotakota besar adalah tidak seimbangnya jumlah kendaraan dengan kapasitas jalanan yang ada di kota tersebut pada jam sibuk, namun ada kalanya terjadi kemacetan pada kondisi yang tidak umum terjadi karena beberapa hal lain seperti kecelakaan, adanya kendaraan yang mogok dan menghambat jalan, adanya demonstrasi, pengaturan lampu lalu lintas yang kurang tepat, dan lain sebagainya.
Waktu terjadinya kemacetan. Pada umumnya terjadi pada pagi dan sore hari pada hari kerja serta sore hari saat akhir pekan. Namun ada kalanya kemacetan terjadi lebih awal atau lebih lambat karena beberapa hal dan tidak menutup kemungkinan terjadi di waktu-waktu lain karena satu dan lain hal yang telah disebutkan di poin pertama.
1 Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
2
Daerah yang mengalami kemacetan. Ada kalanya suatu daerah yang biasanya mengalami kemacetan pada jam tertentu ternyata tidak mengalami kemacetan, begitu pula sebaliknya. Dari hal-hal yang disebutkan di atas, munculah ide untuk membantu
memecahkan masalah tersebut, yaitu dengan menggunakan sistem pemantau lalu lintas. Yang dimaksud dengan sistem pemantau lalu lintas yaitu suatu sistem yang berguna untuk memonitor daerah-daerah yang seringkali mengalami kemacetan. Untuk memonitor daerah-daerah tersebut nantinya akan dilakukan oleh kamera yang nantinya akan terintegrasi ke dalam sistem. Dengan sistem ini, informasiinformasi yang dibutuhkan yang telah disebutkan sebelumnya bisa didapatkan. Setelah informasi yang dibutuhkan didapatkan, selanjutnya bisa dianalisis untuk ditindaklanjuti dengan tindakan-tindakan berikutnya. Ditlantas Polda Metro Jaya mempunyai beberapa CCTV yang tersebar di beberapa wilayah yang rawan terjadi kemacetan di daerah ibukota Jakarta. Namun penggunaan informasi yang didapat masih dilakukan secara manual di mana petugas akan memasukkan informasi tersebut ke website tmcmetro.com atau akun twitter mereka yaitu @TMCPoldaMetro. Dalam perancangan yang akan dilakukan diharapkan penggunaan informasi dari CCTV tersebut dapat lebih dimaksimalkan dengan penggunaan secara otomatisasi dan penambahan fungsi seperti integrasi dengan lampu lalu lintas atau integrasi dengan sebuah information system lain yang khusus menampilkan informasi mengenai keadaan jalanan di berbagai daerah yang rawan terjadi kemacetan.
1.2
Tujuan Penelitian Tujuan penelitian yang dilakukan yaitu:
1. Merancang, membuat, dan menganalisis prototype sistem pemantau lalu lintas menggunakan teknologi computer vision dengan OpenCV sebagai library algoritma bahasa C++. 2. Menganalisis akurasi dan kecepatan sistem yang dibuat. 3. Menganalisis penggunaan metode Blob Detection & algoritma Canny sebagai algoritma pendeteksi kendaraan.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
3
1.3
Batasan Penelitian Penelitian pada skripsi ini dibatasi pada perancangan dan pembuatan
prototype bentuk sistem pemantau lalu lintas dengan menggunakan OpenCV. Output yang akan dihasilkan akan ditampilkan dalam layar monitor komputer dengan sebuah graphical user interface.
1.4
Metode Penelitian Metode penelitian yang digunakan dalam penulisan skripsi ini adalah studi
literatur dari berbagai sumber. Studi literatur dilakukan untuk mendapatkan metode yang tepat untuk merancang sistem yang akan dibuat. Penulisan skripsi ini juga mengacu pada Systems Development Life Cycle (SDLC), yaitu mencakup tahapan: 1. System requirement 2. System design 3. Implementation and unit testing 4. Integration and system testing Dalam perancangan sistem yang akan dilakukan digunakan pula Unified Modelling Language (UML) sebagai bahasa standar dalam pemodelan rancangan perangkat lunak.
1.5
Sistematika Penulisan Sistematika dari penulisan skripsi ini dibagi atas beberapa bab. Pembagian
babnya adalah sebagai berikut, bab satu berisi pendahulan yang membahasa tentang latar belakang, tujuan penelitian, batasan penelitian, metode penelitian, dan sistematika penulisan. Bab dua menjelaskan tentang dasar teori, algoritma yang digunakan, dan sistem pemantau lalu lintas yang telah ditemukan oleh orang lain. Bab tiga berisi perancangan sistem pemantau lalu lintas menggunakan OpenCV dengan algoritma Canny dan Blob Detection. Bab empat berisi pengujian dan analisis dari sistem pemantau lalu lintas yang dirancang. Bab lima merupakan kesimpulan dari keseluruhan skripsi ini.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
BAB II SISTEM PEMANTAU LALU LINTAS MENGGUNAKAN OPENCV DENGAN ALGORITMA CANNY DAN BLOB DETECTION
Bab ini membahas mengenai dasar teori, algoritma yang akan dipakai, dan sistem pemantau lalu lintas yang pernah ditemukan sebelumnya oleh orang lain. Di sini nantinya akan dijelaskan mengenai beberapa teori perhitungan mengenai algoritma yang dipakai. Tujuan adanya sistem pemantau lalu lintas lain yang dibahas di bab ini adalah agar bisa dijadikan perbandingan mengenai sistem yang dibuat.
2.1
Kemacetan Menurut Kamus Besar Bahasa Indonesia, kata “macet” artinya tidak dapat
berfungsi dengan baik, terhenti, atau tidak lancar, sedangkan kata “kemacetan” artinya hal (keadaan) macet [1]. Kondisi kemacetan lalu lintas merupakan suatu keadaan kondisi jalan bila tidak ada keseimbangan antara kapasitas jalan dengan jumlah kendaraan yang lewat. Gejala ini ditandai dengan kecepatan kendaraan yang rendah sampai berhenti, jarak antar kendaraan yang satu dengan yang lain rapat, dan pengemudi tidak dapat menjalankan kendaraan dengan kecepatan yang diinginkannya [2]. Beberapa upaya yang dapat dilakukan untuk mengurangi kemacetan yaitu [3]: 1. Peningkatan koordinasis transportasi. 2. Penambahan kapasitas jalan. 3. Meningkatkan infrastruktur jalan. 4. Supply and demand. 5. Mengajak masyarakat untuk hidup go green. 6. Anjuran kepada para pengendara. 7. Intelligent Transportation System.
4 Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
5
2.2
Intelligent Transportation System Di saat sistem transportasi di seluruh dunia meningkatkan peluang di
tingkat ekonomi dan sosial, hal tersebut juga menimbulkan berbagai masalah seperti
kemacetan,
keamanan,
dan
kerusakan
lingkungan.
Intelligent
Transformation System (ITS) adalah aplikasi dari teknologi informasi dan komunikasi dalam sistem transportasi. ITS digunakan untuk meningkatkan mobilitas, mengurangi angka kecelakaan dan kematian, serta melestarikan lingkungan [4]. Sasaran dari ITS meliputi: 1. Memantau lalu lintas dan kondisi lingkungan di jalan; 2. Memaksimalkan keamanan operasional dan efisiensi dari jaringan jalan; 3. Meminimalisir dampak negatif yang disebabkan dari kemacetan yang sering terjadi maupun kemacetan yang tidak sering terjadi akibat insiden tertentu; 4. Menyediakan pengguna jalan informasi yang dibutuhkan untuk membantu pengambilan keputusan di perjalanan dan meringankan beban mental dan stress ketika berkendara. Untuk mencapai tujuan tersebut, beberapa komponen berikut diidentifikasi sebagai fungsi utama, yaitu [5]: 1. Maintaining road serviceability and safety. 2. Traffic control. 3. Travel aid and user information. 4. Demand management. 5. Network monitoring.
2.3
Computer Vision Computer vision adalah sebuah disiplin ilmu yang mempelajari bagaimana
merekonstruksi, menginterpretasikan, dan memahami sebuah tampilan 3 dimensi dari tampilan 2 dimensinya dalam hal sifat dari struktur tampilan tersebut. Computer vision berkaitan dengan pemodelan dan meniru penglihatan manusia dengan menggunakan perangkat lunak dan perangkat keras pada komputer. Computer vision menggabungkan ilmu pengetahuan dalam bidang ilmu komputer, teknik elektro, matematika, fisiologi, biologi, dan ilmu kognitif. Diperlukan ilmu
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
6
dari semua bidang tersebut untuk memahami dan menyimulasikan pengoperasian sistem penglihatan manusia [6]. Untuk mendekati kemampuan manusia dalam menangkap informasi, sebuah teknologi computer vision harus terdiri dari banyak fungsi pendukung yang berfungsi secara penuh. Fungsi-fungsi pendukung tersebut antara lain [7]: a.
Proses penangkapan citra/ gambar (image acquisition). Image Acquisition pada manusia dimulai dengan mata, kemudian
informasi visual diterjemahkan ke dalam suatu format yang kemudian dapat dimanupulasi oleh otak. Seperti proses tersebut, computer vision membutuhkan sebuah mata untuk menangkap sebuah sinyal visual. Pada umumnya mata pada computer vision adalah sebuah kamera video. Kamera akan menerjemahkan sebuah scene atau image. Keluaran dari kamera adalah berupa sinyal analog, di mana frekuensi dan amplitudonya mereprentasikan detail ketajaman (brightness) pada scene (frekuensi berhubungan dengan jumlah sinyal dalam satu detik, sedangkan amplitudo berkaitan dengan tingginya sinyal listrik yang dihasilkan. Kamera mengamati sebuah kejadian pada satu jalur dalam satu waktu, memindainya dan membaginya menjadi ratusan garis horizontal yang sama. Tiaptiap garis membuat sebuah sinyal analog yang amplitudonya menjelaskan perubahan brightness sepanjang garis sinyal tersebut. Karena komputer tidak bekerja dengan sinyal analog, maka sebuah konverter analog to digital (ADC), dibutuhkan untuk memproses semua sinyal tersebut oleh komputer. ADC ini akan mengubah sinyal analog yang direpresentasikan dalam bentuk informasi sinyal tunggal ke dalam sebuah aliran (stream) sejumlah bilangan biner. Bilangan biner ini kemudian disimpan di dalam memori dan akan menjadi data raw yang akan diproses. b.
Proses pengolahan citra (image processing). Pada proses ini computer vision akan melibatkan sejumlah manipulasi
utama (initial manipulation) dari data binary yang dihasilkan pada proses image acquisition. Image processing membantu peningkatan dan perbaikan kualitas image, sehingga dapat dianalisa dan diolah lebih jauh secara lebih efisien. Image processing akan meningkatkan perbandingan sinyal terhadap noise (signal-tonoise-ratio = s/n). Sinyal-sinyal tersebut adalah informasi yang akan
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
7
mereprentasikan objek yang ada dalam image. Sedangkan noise adalah segala bentuk interferensi dan pengaburan, yang terjadi pada sebuah objek. c.
Analisa data citra (image analysis). Pada tahap ini scene akan dieksplorasi ke dalam bentuk karakteristik
utama dari objek melalui seuatu proses investigasi. Sebuah program komputer akan mulai melihat melalui bilangan biner yang merepresentasikan informasi visual untuk mengidentifikasi fitur-fitur spesifik dan karakteristiknya. Pada proses yang lebih khusus lagi, program image analysis digunakan untuk mencari tepian baas-batas objek dalam image. Sebuah tepian (edge) terbentuk antara objek dan latar belakangnya atau antara dua objek yang spesifik. Tepi ini akan terdeteksi sebagai akibat dari perbedaan level brightness pada sisi yang berbeda dengan salah satu batasnya. d.
Proses pemahaman data citra (image understanding). Proses ini merupakan langkah terakhir dalam proses computer vision, di
mana spesifik objek dan hubungannya diidentifikasi. Pada bagian ini akan melibatkan kajian tentang teknik-teknik artificial intelligent. Understanding berkaitan dengan template matching yang ada dalam sebuah scene. Metode ini menggunakan program pencarian (search program) dan teknik penyesuaian pola (pattern matching techniques).
2.4
Open Computer Vision (OpenCV) OpenCV adalah sebuah library yang berisi fungsi-fungsi pemograman
untuk teknologi computer vision secara real time. OpenCV bersifat open source, bebas digunakan untuk hal-hal yang bersifat akademis dan komersial. Di dalamnya terdapat interface untuk C++, C, Python, dan nantinya Java yang dapat berjalan pada Windows, Linux, Android, dan Mac. Terdapat lebih dari 2500 algoritma dalam OpenCV, digunakan di seluruh dunia, telah lebih dari 2.5 juta kali diunduh, dan digunakan lebih dari 40 ribu orang. Penggunaannya antara lain pada seni interaktif, inspeksi tambang, menampilkan peta di web melalui teknologi robotik. [8] Pada awalnya OpenCV ditulis dengan menggunakan bahasa C namun sekarang secara menyeluruh sudah menggunakan antarmuka bahasa C++ dan
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
8
seluruh pengembangannya terdapat dalam format bahasa C++. Contoh aplikasi dari OpenCV yaitu interaksi manusia dan komputer; identifikasi, segmentasi, dan pengenalan objek; pengenalan wajah; pengenalan gerakan; penelusuran gerakan, gerakan diri, dan pemahaman gerakan; struktur dari gerakan; kalibrasi stereo dan beberapa kamera serta komputasi mendalam; robotik. Fitur-fitur yang terdapat pada OpenCV antara lain: 1. Manipulasi data image (alokasi, rilis, duplikasi, pengaturan, konversi). 2. Image dan I/O video (masukan berbasis file dan kamera, keluaran image/ video file). 3. Manipulasi matriks dan vektor serta aljabar linear (produk, solusi, eigenvalues, SVD). 4. Beragam struktur data dinamis (daftar, baris, grafik). 5. Dasar pengolahan citra (filter, deteksi tepi, deteksi sudut, pengambilan sampel dan interpolasi, konversi warna, operasi morfologi, histogram). 6. Analisis struktur (komponen yang berhubungan, pengolahan kontur, transformasi jarak, variasi momen, transformasi Hough, perkiraan polygonal, menyesuaikan garis, Delaunay triangulation. 7. Kalibrasi kamera (menemukan dan menelusuri pola kalibrasi, kalibrasi, dasar estimasi matriks, estimasi homografi, korespondensi stereo). 8. Analisis gerakan (optical flow, segmentasi gerakan, penelusuran). 9. Pengenalan objek (metode eigen, HMM). 10. Dasar Graphical User Interface atau GUI (menampilkan image/ video, penanganan mouse dan keyboard, scroll-bars). 11. Pelabelan image (garis, poligon, gambar teks). Modul-modul yang terdapat pada OpenCV antara lain: 1. cv – fungsi utama OpenCV. 2. cvaux – fungsi penolong OpenCV. 3. cxcore – pendukung struktur data dan aljabar linear . 4. highgui – fungsi GUI.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
9
2.5
Canny Edge Detection Edge detection telah menjadi bagian penting dari banyak sistem computer
vision. Proses edge detection berguna untuk menyederhanakan analisis citra dengan mengurangi sejumlah data secara drastis untuk diproses, dengan tetap mempertahankan informasi yang penting mengenai garis-garis batas objek. Algoritma Canny Edge Detection adalah algoritma yang cukup optimal dan paling banyak digunakan untuk edge detector [9]. Algoritma ini merupakan sebuah algoritma yang terdiri dari beberapa tahap seperti terlihat pada Gambar 2.1.
Gambar 2.1 Tahapan Algoritma Canny Edge Detector [9]
Jadi pertama-tama akan dilakukan penghalusan (smoothing) citra untuk menghilangkan noise dengan melakukan Gaussian Filter. Selanjutnya dicari gradient citra untuk melihat daerah-daerah yang memiliki turunan spasial yang tinggi. Dari sini akan terlihat mana daerah yang mengalami perbedaan warna. Kemudian dilakukan non-maximum suppression, yaitu penghilangan nilai-nilai yang tidak maksimum dan menghilangkan setiap piksel yang tidak maksimum. Selanjutnya dilakukan hystresis dengan menggunakan dua nilai threshold. Bila magnitude ada di bawah threshold pertama maka titik tersebut akan diset menjadi 0. Bila magnitude berada di atas nilai threshold kedua maka termasuk edge. Bila magnitude ada di antara keduanya maka akan diset menjadi 0 kecuali ada path dari titik tersebut ke titik yang memiliki magnitude di atas nilai threshold kedua. Jika digambarkan dalam grafik, proses pendeteksian yang dilakukan yaitu sebagai berikut [10]:
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
10
1. Kita mulai dengan sebuah edge dari penampang dalam bentuk grafik Gaussian noise seperti pada Gambar 2.2(a). 2. Kita akan beri sebuah filter dengan bentuk sinyal seperti Gambar 2.2(b) atau Gambar 2.2.(d). 3. Keluarannya akan terlihat seperti pada Gambar 2.2(c) atau Gambar 2.2(e)
Gambar 2.2 (a) Sebuah Gambar Dengan Noise. (b) Operator Bentuk Kotak. (c) Gambar Setelah Operator Bentuk Kotak Diaplikasikan. (d) Turunan Pertama dari Operator Gaussian. (e) Gambar Setelah Turunan Pertama dari Operator Gaussian Diaplikasikan [10]
Langkah penting yang dilakukan dari algoritma ini adalah menangkap kriteria yang telah dijelaskan sebelumnya dengan menggunakan sebuah rumus matematika. Impuls respon dari filter kita anggap f(x) dan edge dinyatakan dalam G(x). Asumsikan edge berada di tengah yaitu pada x = 0. Sehingga respon filter terhadap edge di tengah HG ditentukan dengan rumus integral: (2.1)
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
11
dengan asumsi filter memiliki sebuah batas impuls respon yang dibatasi oleh [-W, W]. Root-mean-squared respon dari noise n(x) ditentukan dengan (2.2) di mana
adalah mean-squared noise per amplitude per satuan panjang.
Keluaran rasio dari signal-to-noise, sebagai hasil bagi dari kedua rumus di atas yaitu (2.3)
2.6
Blob Detection Bagi banyak pengolahan citra, mendeteksi objek low-level dalam sebuah
gambar merupakan hal yang sangat penting. Objek dalam bentuk dua atau tiga dimensi tersebut biasa disebut blob. Bentuk blob timbul dalam cara yang berbeda bergantung pada ukuran dan dapat dideteksi dengan menggunakan metode sederhana dalam sebuah representasi gambar [11]. Ada beberapa teori mengenai definisi blob yang dikemukakan oleh beberapa orang, yaitu antara lain: 1. Lindeberg mendefinisikan sebuah blob sebagai sebuah daerah yang terkait setidaknya satu daerah yang extreme, baik maksimum maupun minimum atau sebuah daerah terang maupun daerah gelap [12]. 2. Hinz mendefinisikan sebuah blob sebagai sebuah bujur sangkar dengan deaerah yang homogen [13]. 3. Rosenfeld dan Sher mendefinisikan sebuah blob sebagai sebuah persimpangan dari garis tegak lurus ke daerah tepi dari tangennya, dikelilingi oleh enam arah atau lebih [14]. 4. Yang dan Parvin mendefinisikan sebuah blob 3D sebagai fitur berbentuk bulat dalam sebuah skala ruang [15]. Untuk berbagai macam tipe blob, berbagai metode berbeda dibutuhkan. Namun metode-metode tersebut harus memenuhi beberapa syarat: 1. Handal dan dapat dipercaya. Metode pada citra low-level harus tahan terhadap noise. 2. Akurasi. Dalam metrology citra hasil dengan akurasi tinggi sangat diperlukan.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
12
3. Skalabilitas. Blob dalam ukuran yang berbeda harus dapat terdeteksi. 4. Kecepatan. Metode tersebut harus mendekati proses real-time. 5. Mempunyai parameter yang sedikit dan semantik. Metode terebut harus mudah dimengerti agar mudah disesuaikan. 6. Mampu mengekstraksi ciri secara geometris dan radiometric. Hal ini dibutuhkan untuk klasifikasi blob. Sebagian besar metode Blob Detection didasarkan pada representasi skala ruang. Tujuan utama dari representasi skala ruang adalah untuk memahami struktur gambar pada semua tingkat resolusi secara bersamaan dan gambar dalam berbagai skala. Skala ruang diperoleh dengan menerapkan smoothing kernel seperti Gaussian, pada gambar dengan parameter skala tergantung pada jumlah smoothing yang dibutuhkan. Beberapa metode yang dapat dipakai antara lain: 1. Template matching. Sebuah template akan dipindahkan ke atas gambar untuk dicari dan blob akan terdeteksi di mana template tersebut cocok dengan bagian dari gambar. 2. Watershed detection. Metode ini mengasumsikan sebuah citra menjadi tumpukan nilai abu-abu dan menyimulasikan proses hujan yang jatuh ke tumpukan tersebut, mengalir di tumpukan tersebut, dan terakumulasi pada cekungan. 3. Spoke filter. Metode yang ditemukan oleh Minor dan Sklansky ini dapat mendeteksi blob dalam berbagai ukuran dengan menggunakan sebuah filter yang dinamakan spoke filter atau biasa juga disebut Adaptive Spatial Erosion Filter. 4. Automatic scale selection. Prinsip dari metode ini adalah mengasumsikan sebuah scale level, di mana beberapa kombinasi dari turunan normalisasinya mengasumsikan
sebuah
nilai
maksimum
atas
scale
tersebut,
yang
mencerminkan ukuran dari blob yang sesuai. Metode ini dikemukakan oleh Lindeberg. 5. Sub-pixel precise blob detection. Metode ini mendefinisikan blob sebagai sebuah bujur sangkar dengan kontras yang konstan, yang menjadi titik ekstrem di bawah Gaussian smoothing. Metode ini dikemukakan oleh Hinz.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
13
6. Effective maxima line detection. Darmeval menyajikan sebuah metode di mana kurva modulus dalam skala yang berbeda, yang disebut maxima lines, dipilih secara efektif untuk memisahkan blob dari noise. 7. Confidence measurement. Forssen dan Grandlund mengemukakan sebuah metode yang kompleks untuk mengekstraksi blob dari sebuah gambar tanpa menggunakan Gaussian smoothing. Metode ini akan membagi channel citra dengan menggunakan fungsi kernel dan menghasilkan sebuah low-pass pyramid serta menggunakan sebuah threshold.
2.7
Gaussian Smoothing Gaussian smoothing atau biasa juga disebut Gaussian blur adalah hasil dari
pengaburan sebuah citra dengan menggunakan fungsi Gaussian [16]. Secara matematis, mengaplikasikan sebuah Gaussian smoothing ke sebuah citra sama saja dengan menyelimuti citra dengan sebuah fungsi Gaussian. Aplikasi tersebut akan mengurangi komponen citra yang mempunyai frekuensi tinggi karena Gaussian smoothing merupakan filter low pass. Persamaan dari fungsi Gaussian dalam satu dimensi yaitu (2.4) sedangkan pada dua dimensi yaitu (2.5) Di mana x adalah jarak dari asal sumbu horizontal, y adalah jarak dari asal sumbu vertikal, dan
adalah deviasi standar dari distribusi Gaussian. Ketika
diaplikasikan dalam dua dimensi, persamaan ini menghasilkan kontur permukaan berupa lingkaran konsentris dengan distribusi Gaussian dari titik pusat. Nilai dari distribusi ini digunakan untuk membangun sebuah matriks konvolusi yang diterapkan pada citra asli. Nilai baru setiap pixel diset pada nilai rata-rata dari daerah sekitarnya. Nilai pixel asli menerima nilai yang paling tinggi sedangkan pixel di sekitarnya menerima nilai yang lebih kecil di mana semakin dekat dengan pixel asli maka nilainya akan semakin mendekati. Hal inilah yang mengakibatkan timbulnya sebuah blur yang menjaga batas-batas dan edge yang baik. Sebagai gambaran dalam bentuk grafik dapat dilihat pada Gambar 2.3.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
14
Gambar 2.3 Fungsi Gaussian 2 Dimensi [11]
2.8
Contoh Sistem Pemantau Lalu Lintas yang Telah Diimplementasikan Sistem pemantau lalu lintas sebenarnya sudah pernah ditemukan oleh
orang lain sebelumnya. Namun metode yang digunakan dapat berbeda-beda. Tujuan penulisan contoh sistem pemantau lalu lintas yang ditemukan oleh orang lain ini adalah sebagai perbandingan dengan sistem yang dibuat.
2.8.1
Sistem Pengaturan Lampu Lalu Lintas Terdistribusi [17] Sistem Pengaturan Lampu Lalu Lintas Terdistribusi ini bertujuan untuk
membuat sebuah sistem lampu lalu lintas yang adaptif terhadap kondisi jalan di sekitarnya. Sistem ini memerlukan sistem pemantau lalu lintas sebagai input untuk mengukur tingkat kemacetan jalan di sekitarnya. Sistem ini menggunakan metode Blob tracking, Haar Training, dan algoritma Principal Component Analysis dalam mendeteksi kendaraan. Sistem ini juga menggunakan OpenCV untuk memakai algoritma tersebut [7]. Hasil pengujian sistem dari sistem ini dapat dilihat pada Gambar 2.5 dengan menggunakan data seperti yang terlihat pada Gambar 2.4.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
15
(a) videosumber0.avi
(b) videosumber1.avi
(c) malam lancar samping
(d) malam lancar depan
e) siang lancar depan
(f) siang macet samping
(g) siang lancar samping
(h) siang samping zoom
Gambar 2.4 Screenshoot data pengujian Sistem Pemantau Lalu Lintas Terdistribusi [17]
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
16
Gambar 2.5 Grafik Akurasi Penghitungan untuk Variasi Kondisi Cuaca dan Sudut Pandang dari Sistem Pengaturan Lampu Lalu Lintas Terdistribusi [17]
Kelemahan dari sistem ini antara lain: 1. Kesalahan interpretasi dua objek berbeda atau lebih menjadi satu objek. 2. Kesalahan interpretasi satu objek menjadi dua objek berbeda. 3. Sistem memiliki hasil pengenalan yang berbeda-beda antara kondisi waktu siang, pagi, dan malam. 4. Sistem mengalami penurunan akurasi pengenalan pada kondisi jalan macet.
2.5.2
Traffic Jam Detection System [18] Sistem ini bertujuan untuk mendeteksi kendaraan dan kecepatan dari
kendaraan tersebut. Sistem ini menggunakan metode Blob Detection dengan latar belakang jalan yang kosong untuk mendeteksi kendaraan tersebut. Sistem ini menggunakan pemograman .Net dan bahasa C. Secara umum tahapan yang dilakukan yaitu: 1.
Image analysis menggunakan citra jalanan yang kosong
2.
Object detection menggunakan metode lane masking, konversi ke grayscale, lalu gambar Blob yang menunjukkan kendaraan akan muncul
3.
Hitung jumlah kendaraan
4.
Motion detection mendeteksi kecepatan dari kendaraan dengan menggunakan metode image differentiation
5.
Munculkan hasil penghitungan
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
17
Sistem ini telah dicoba di beberapa kondisi. Hasil pengujian menunjukkan bahwa sistem ini membutuhkan waktu 3 sampai 4 detik untuk mendeteksi objek dan kecepatannya dalam citra berukuran 1024*768 pixels.
2.5.3
Image Processing in Road Traffic Analysis [19] Sistem ini bertujuan untuk mendeteksi kemacetan, kecepatan kendaraan,
dan plat nomor kendaraan. Sistem ini menggunakan metode lane masking, metode Blob Detection menggunakan citra jalan yang kosong, dan juga algoritma edge detection. Secara umum tahapan yang dilakukan yaitu: 1.
Lane masking memisahkan citra kendaraan dari citra yang tidak diperlukan, jadi yang diambil hanya citra jalan saja.
2.
Background elimination memisahkan citra kendaraan dari citra jalan untuk menghilangkan noise yang mungkin muncul seperti ranting pohon, bayangan, hujan, dan lain sebagainya.
3.
Noise & blob filtration menghilangkan noise kecil yang berada di sekitar citra kendaraan
4.
Contour extraction melakukan edge detection pada citra dengan algoritma yang dipakai yaitu Prewitt, Sobel, dan Laplacian Zero Crossing
5.
Contour labeling menandai kendaraan yang telah terdeteksi
6.
Vehicle tracking melakukan tracking kendaraan
2.5.4
The Implementation of A Vision Sensor for Traffic Surveillance [20] Sistem ini menggunakan metode Open Model For Network-wide
Heterogeneous Intersection-based Transport Management (OMNI) [20]. Metode ini menggunakan sudut pandang jalan secara vertikal dan memanfaatkan lebar tiap lajur pada jalan untuk menghitung jumlah kendaraan seperti yang terlihat pada Gambar 2.6. Sistem ini selain berfungsi untuk memantau kondisi lalu lintas, juga berfungsi sebagai pendeteksi plat nomor kendaraan. Hasil dari pengujian sistem dapat dilihat pada tabel 2.1.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
18
Tabel 2.1 Rata-rata waktu pengolahan pada 3 modul pemantauan [20] MFlops required (for 25
Module
Analysis time (for 1000 frames)
Queue length
1.77 sec
15.3 MFlops
Car counting
0.37 sec
3.2 MFlops
License plate
14.6 sec
126 MFlops
frames/sec)
Gambar 2.6 Contoh Tampilan Sistem Dengan Menggunakan Metode OMNI [20]
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
BAB III PERANCANGAN SISTEM PEMANTAU LALU LINTAS MENGGUNAKAN OPENCV DENGAN ALGORITMA CANNY DAN BLOB DETECTION
Bab ini menerangkan perancangan Sistem Pemantau Lalu Lintas dengan Menggunakan OpenCV dengan menggunakan teknologi computer vision berdasarkan metodologi SDLC yang sudah dijelaskan pada bab sebelumnya. Di sini nantinya akan dijelaskan system requirement dan desain dari sistem yang akan dibuat. Nantinya akan digunakan beberapa UML untuk mempermudah penjelasan alur dari sistem yang akan dibuat.
3.1
User Requirement Intelligent Transportation System merupakan salah satu solusi yang dapat
dilakukan untuk mengurangi kemacetan. Dari pembahasan sebelumnya mengenai ITS, traffic monitoring merupakan salah satu komponen yang ada dalam ITS. Untuk melakukannya, ada beberapa teknologi yang dapat digunakan, antara lain sensor kecepatan, inductive loop detectors, serta video image processing. Pada perancangan sistem pemantau lalu lintas ini, teknologi yang akan digunakan adalah video image processing melalui kamera yang dipasang di sekitar jalan untuk memantau jalan tersebut. Untuk pengambilan data yang akan digunakan untuk pengujian nantinya akan digunakan video yang berisi rekaman kondisi jalan asli. Pada sistem pemantau lalu lintas ini, informasi yang dibutuhkan oleh sistem adalah informasi mengenai jalan yang dipantau, khususnya mengenai kepadatan jalan tersebut atau kemacetan di sana. Nantinya output yang dihasilkan dari sistem ini adalah tingkat kemacetan yang akan diputuskan melalui beberapa parameter. Nantinya juga akan dibuat graphical user interface agar hasil pemantauan lebih mudah dimengerti.
19 Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
20
3.2
Arsitektur Sistem Pemantau Lalu Lintas Secara umum sistem pemantau lalu lintas yang akan dibuat mengambil
input dari kamera, diolah melalui sebuah engine, dan kemudian output yang dihasilkan akan menghasilkan parameter tingkat kemacetan dari daerah yang dipantau seperti yang digambarkan oleh Gambar 3.1. Parameter tingkat kemacetan tersebut nantinya akan digunakan lebih lanjut dalam tingkat yang lebih tinggi yaitu dalam Intelligent Transportation System. Nantinya keluaran yang dihasilkan oleh sistem ini dapat digunakan sebagai masukkan dari beberapa komponen Intelligent Transportation System.
Gambar 3.1 Rancangan Sistem Pemantau Lalu Lintas [21]
Alur proses yang terjadi secara umum dapat dilihat pada Gambar 3.2. Secara bertahap alur proses sistem pemantau lalu lintas ini yaitu:
Kamera merekam kondisi jalan dan mengirimkan data ke engine.
Suatu mesin pengolah data akan menerima data dari kamera dan melakukan komputasi untuk mengukur tingkat kemacetan.
Hasil komputasi engine akan digunakan untuk tingkat lebih lanjut atau proses lain seperti pengaturan lampu lalu lintas adaptif atau peta kemacetan.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
21
Gambar 3.2 Diagram Alur Sistem Pemantau Lalu Lintas yang Dibuat
3.3
Hardware yang Digunakan Secara keseluruhan peralatan yang dibutuhkan untuk membuat sistem ini
tidak banyak. Namun untuk membuat suatu sistem yang kompleks dan luas cakupan wilayahnya, hardware yang digunakan perlu diperbanyak kuantitasnya. Namun pada perancangan penelitian ini, tiap-tiap hardware yang dibutuhkan hanya 1 buah saja.
3.3.1
Kamera Kamera diperlukan sebagai pengambil input utama dari sistem ini, yaitu
kondisi jalan. Pada perancangan ini kamera yang digunakan adalah kamera handphone Galaxy Mini S5570 sebesar 3 megapixels dan kemampuan merekam gambar maksimum sebesar 320 x 240 pixels. Salah satu parameter yang perlu diperhatikan yaitu sudut pengambilan gambar. Semakin besar luas daerah yang bisa ditangkap kamera, semakin baik. Sudut pandang dari samping atau vertikal dari atas seperti yang digambarkan oleh Gambar 3.3 dianggap dapat memiliki daya tangkap yang lebih baik, namun dibutuhkan penelitian lebih lanjut mengenai dugaan tersebut [7]. Untuk melakukan efisiensi resources, nantinya kamera yang digunakan tidak perlu memiliki kemampuan merekam frame per second (fps) yang cukup tinggi. Hal ini dikarenakan semakin tinggi tingkat fps yang dimiliki oleh kamera,
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
22
maka semakin banyak data yang ditangkap tiap detiknya, sehingga data yang disimpan akan semakin banyak. Selain itu, semakin tinggi tingkat fps juga akan meningkatkan penggunaan resources yang diperlukan untuk mengolah data citra yang didapat.
Gambar 3.3 Sudut Pengambilan Kamera dari Samping Atas [7]
3.3.2
Mesin Pengolah Mesin pengolah berfungsi untuk menerima data dari kamera dan
melakukan komputasi untuk mengolah data tersebut dan mencari tingkat kemacetan dari jalan yang dipantau. Perangkat yang akan digunakan sebagai mesin pengolah ini nantinya adalah sebuah komputer. Dipilihnya media komputer karena nantinya agar hasil keluaran dari sistem dapat dengan mudah dijadikan input bagi sistem yang lebih tinggi. Nantinya input video bisa berupa rekaman atau dari video streaming yang diambil dari situs web yang menyediakan. Pengolahan data harus bisa dilakukan secara real time, artinya dilakukan dalam waktu yang singkat. Bahasa pemograman yang akan digunakan adalah C++.
3.5
Software yang Digunakan Secara keseluruhan perangkat lunak yang dibutuhkan dalam perancangan
sistem ini tidak banyak. Namun storage dan resources yang dibutuhkan relatif
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
23
banyak. Apalagi jika nantinya sistem ini benar-benar diterapkan dalam ruang lingkup yang luas. 3.5.1
OpenCV OpenCV akan digunakan sebagai library yang siap dipanggil dalam
algoritma computer vision untuk mengukur tingkat kemacetan. Digunakannya OpenCV karena perangkat ini bersifat open source sehingga bebas digunakan untuk hal-hal yang bersifat akademis dan penelitian. Software OpenCV dapat diunduh
secara
gratis
melalui
situs
resminya,
yaitu
http://opencv.willowgarage.com/wiki/.
3.5.2
Microsoft Visual Studio Microsoft Visual Studio merupakan aplikasi yang digunakan dalam
melakukan development algoritma yang akan digunakan. Pemilihan aplikasi ini karena bahasa pemograman yang akan dipakai adalah C++. Microsoft Visual Studio termasuk perangkat lunak yang relatif umum digunakan untuk pemograman dengan menggunakan bahasa C++. Pada perangkat ini sudah termasuk code editor dan integrated debugger. Untuk membuat program yang dengan menggunakan library dari OpenCV, perlu dilakukan integrasi antara Microsoft Visual Studio dengan OpenCV. Integrasi tersebut dilakukan dengan cara mendefinisikan library yang digunakan ke lokasi data OpenCV yang terdapat pada suatu lokasi di dalam komputer. Dengan menggunakan perangkat lunak ini dapat juga dibuat Graphical user interface dari program yang dibuat. Kekurangan yang dimiliki ini adalah tidak bersifat open source, dan harganya relatif cukup mahal. Microsoft menyediakan versi trial dari aplikasi ini untuk digunakan selama 90 hari. Contoh tampilan dari Microsoft Visual Studio dapat dilihat pada Gambar 3.4.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
24
Gambar 3.4 Contoh Tampilan Microsoft Visual Studio [21]
3.5.3
Qt Creator Qt Creator adalah sebuah cross-platform integrated development
environment (IDE) yang disesuaikan untuk kebutuhan para pengembang Qt. Maksud dari cross-platform yaitu dapat dijalankan di berbagai operating system yaitu Windows, Linux/X11, dan Mac OS X desktop OS. Dengan aplikasi ini, para pengembang dapat membuat berbagai macam aplikasi desktop dan juga mobile device. Pada aplikasi ini tersedia: 1. C++ dan JavaScript code editor 2. Integrated User Interface designer 3. Project and build management tools 4. Simulator untuk mobile user interface 5. Mendukung pengembangan aplikasi desktop dan mobile Sebenarnya aplikasi ini juga dapat digunakan untuk membuat algoritma dari sistem yang dibuat. Namun penggunaan aplikasi ini lebih difokuskan untuk membuat graphical user interface karena proses pembuatan algoritma lebih familiar dengan menggunakan aplikasi Microsoft Visual Studio. Namun aplikasi Microsoft Visual Studio kurang mendukung pembuatan aplikasi console dengan disertai graphical user interface sehingga akhirnya diputuskan digunakannya
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
25
aplikasi Qt Creator. Sama seperti pada Microsoft Visual Studio, untuk menggunakan OpenCV sebagai library algoritma yang akan digunakan, perlu didefinisikan letak data OpenCV pada program yang akan dibuat. Contoh tampilan dari Qt Creator dapat dilihat pada Gambar 3.5.
Gambar 3.5 Contoh Tampilan Qt Creator [22]
3.6
Rancangan Algoritma Algoritma yang akan dipakai dalam sistem ini dibuat dalam bahasa C++.
Alasan dipilihnya bahasa tersebut adalah bahasa tersebut lebih umum dipakai dan lebih relatif lebih mudah digunakan pada embedded system apabila nantinya sistem ini akan dimasukan pada sistem lain pada tingkat yang lebih tinggi. Algoritma yang akan dibuat akan mengolah data dari video yang dikirimkan oleh kamera. Untuk mempermudah pengujian sistem, sebagai pengganti kamera akan digunakan rekaman video yang menampilkan kondisi jalan yang sesungguhnya seolah-olah video tersebut berasal dari kamera secara real time. Tingkat kemacetan jalan yang dipantau, akan dilihat dengan menggunakan dua buah parameter, yaitu: 1. Jumlah kendaraan. 2. Kepadatan jalan, yaitu perbandingan antara jumlah kendaraan dengan kapasitas jalan. Dibutuhkan 4 input untuk diolah, yaitu: 1. Video atau citra daerah yang diamati. 2. Ketinggian kamera.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
26
3. Daerah yang akan diamati dari video atau gambar (region of interest). Pertama-tama, gambar yang didapat akan diubah ke dalam format grayscale. Hal ini dilakukan karena dalam sistem pemantau lalu lintas yang dibuat menggunakan algoritma yang memerlukan format grayscale sebagai input. Setelah itu, untuk menghilangkan noise, gambar akan dibuat blur. Setelah itu, akan dibuat template dari wilayah yang akan dilakukan proses filter, yaitu jalan yang akan diamati yang selanjutnya akan disebut region of interest. Hal ini dilakukan karena tidak semua bagian yang terpantau oleh kamera akan diamati, seperti trotoar, bangunan, dan lain sebagainya. Jadi nantinya frame yang diterima akan dibuang bagian frame yang tidak dibutuhkan. Hal ini dilakukan untuk efisiensi data yang akan diolah dan juga menghindarkan adanya objek lain yang tidak diharapkan ikut terdeteksi. Metode yang digunakan untuk proses ini yaitu lane masking [7]. Untuk mendeteksi bentuk kendaraan terdapat dua macam metode yang dapat dipilih, yaitu Blob Detection dan algoritma Canny. Algoritma Canny mencari kendaraan berdasarkan kontur tepinya. Semua objek yang ada pada region of interest akan dicari kontur tepinya. Setelah semua objek didapatkan kontur tepinya, dilakukan proses filterisasi berdasarkan ukuran kontur tersebut. Gambaran alur program yang dibuat dengan menggunakan algoritma Canny dapat dilihat pada Gambar 3.6. Berbeda dengan algoritma Canny, metode Blob Detection akan mencari kendaraan berdasarkan kontur bayangan dari kendaraan. Hal ini dilakukan karena warna tiap kendaraan dapat berbeda-beda, sedangkan warna bayangan setiap kendaraan akan selalu sama. Metode ini dilakukan dengan mencari pixel yang mempunyai kontras sewarna dengan warna bayangan. Selanjutnya, baik menggunakan Blob Detection maupun Canny, hanya kontur yang ukurannya sesuai dengan kontur mobil saja yang akan dihitung dan dilakukan ke dalam penghitungan. Gambaran alur program yang dibuat dengan menggunakan Blob Detection dapat dilihat pada Gambar 3.7.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
27
Gambar 3.6 Flowchart Algoritma Perancangan Sistem Pemantau Lalu Lintas dengan Algoritma Canny
Setelah didapat data jumlah kendaraan pada satu frame, akan dilakukan pada perhitungan kepadatan kendaraan, yaitu dengan membagi jumlah tersebut dengan jumlah maksimum kendaraan yang mungkin ada pada region of interest dari video daerah yang diamati. Nantinya informasi kepadatan kendaraan tiap frame akan dimasukkan ke dalam database, lalu akan dihitung rata-rata kepadatan kendaraan tersebut untuk disebutkan kondisi jalan tersebut berdasarkan rata-rata kepadatan kendaraan.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
28
Gambar 3.7 Flowchart Algoritma Perancangan Sistem Pemantau Lalu Lintas dengan Blob Detection
3.7
Perancangan Graphical User Interface Sistem pemantau lalu lintas yang dirancang ini mempunyai tampilan yang
sederhana. Pada intinya sistem ini membutuhkan 4 input:
Citra atau video mengenai kondisi jalan yang diamati
Informasi mengenai ketinggian kamera
Informasi mengenai daerah dari kamera yang akan diamati atau disebut juga region of interest
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
29
Input yang dibutuhkan tersebut nantinya akan digunakan untuk menentukan tingkat kemacetan yang akan muncul di kolom kondisi jalan. Informasi mengenai ketinggian kamera dibutuhkan untuk menentukan range kontur kendaraan yang akan dideteksi. Semakin tinggi letak kamera, maka gambar kendaraan yang ada pada citra akan semakin kecil, sehingga nantinya citra kendaraan yang diolah juga akan semakin kecil. Tentunya setiap ketinggian kamera yang berbeda akan menghasilkan besar ukuran kendaraan pada citra yang berbeda pula. Informasi mengenai jumlah kendaraan maksimum yang mungkin ada juga didapat berdasarkan ketinggian kamera. Informasi mengenai jumlah kendaraan maksimum akan digunakan untuk menentukan kepadatan jalan yang nantinya akan digunakan untuk menghitung tingkat kemacetan dari jalan tersebut. Screenshot dari sistem yang dibuat dapat dilihat pada Gambar 3.8.
Gambar 3.8 Tampilan Awal Sistem Pemantau Lalu Lintas
Kondisi jalan yang akan dinyatakan oleh program ini yaitu:
Lengang, jika kepadatan jalan kurang dari atau sama dengan 25%
Ramai lancar, jika kepadatan jalan berkisar 26% - 50%
Padat merayap, jika kepadatan jalan berkisar 51% - 75%
Macet, jika kepadatan jalan lebih besar daripada 75%
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
30
Selain kondisi jalan, sistem yang dibuat juga menampilkan jumlah kendaraan yang terdeteksi pada saat itu, rata-rata jumlah kendaraan, kepadatan jalan, dan jumlah maksimum kendaraan yang mungkin lewat di daerah region of interest. Jumlah kendaraan terdeteksi menampilkan informasi kendaraan yang terdeteksi pada frame yang sedang diolah. Rata-rata jumlah kendaraan menampilkan rata-rata jumlah kendaraan yang lewat, dalam pengujian yang dilakukan diset rata-rata selama 5 detik sebelumnya. Kepadatan jalan menampilkan informasi persentase rata-rata jumlah kendaraan. Screenshot dari sistem yang dibuat dapat dilihat pada Gambar 3.9. Pseudocode dari sistem yang dibuat dapat dilihat pada Gambar 3.10.
Gambar 3.9 Tampilan Sistem Pemantau Lalu Lintas Saat Bekerja
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
31 // Inisiasi inisiasi inisiasi inisiasi inisiasi
nomor frame; rata-rata jumlah kendaraan; jumlah kontur yang terdeteksi; level blur;
// Parameter Dinamis // variabel region of interest inisiasi variabel titik awal horizontal region of interest dari GUI; inisiasi variabel titik awal vertikal region of interest dari GUI; inisiasi variabel lebar region of interest dari GUI; inisiasi variabel tinggi region of interest dari GUI; perhitungan luas region of interest; inisiasi variabel tinggi kamera dari GUI; perhitungan jumlah maksimum kendaraan yang terdapat pada region of interest; tampilkan jumlah maksimum kendaraan pada GUI; inisiasi range kontur kendaraan berdasarkan ketinggian kamera; // Pengambilan data citra Buka video kondisi jalan; // Untuk setiap frame yang ada: tampilkan pada layar "Citra Asli"; cari lebar dan tinggi citra utuh; konversi citra ke dalam format grayscale; melakukan blur pada citra; definisikan region of interest; lakukan algoritma Canny / Blob Detection pada region of interest; definisikan nomor frame yang sedang diolah saat ini; definisikan semua kontur yang terdeteksi; filter kontur kendaraan; hitung jumlah semua kontur kendaraan; tampilkan jumlah kontur kendaraan pada GUI; tampilkan semua kontur kendaraan pada layar "Citra Setelah Diolah"; masukan data jumlah kendaraan pada array database; // Jika video sudah berjalan selama waktu yang ditentukan hitung rata-rata jumlah kendaraan; tampilkan jumlah rata-rata kendaraan pada GUI; hitung persentase kepadatan jalan; tampilkan persentase kepadatan jalan pada GUI; tentukan kondisi jalan berdasarkan persentase kepadatan jalan; tampilkan kondisi jalan pada GUI;
Gambar 3.10 Pseudocode Sistem Pemantau Lalu Lintas yang Dirancang
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
BAB IV UJI COBA DAN ANALISIS SISTEM PEMANTAU LALU LINTAS MENGGUNAKAN OPENCV DENGAN ALGORITMA CANNY DAN BLOB DETECTION
Bab ini akan menerangkan mengenai pengujian sistem pemantau lalu lintas yang telah dibuat serta analisis perbandingan penggunaan algoritma Canny dan Blob Detection. Pengujian dilakukan untuk mengukur akurasi kebenaran dari sistem dan kecepatan pengolahan citra yang dilakukan sistem berdasarkan beberapa parameter.
4.1
Implementasi Sistem Sistem pemantau lalu lintas yang dibuat menggunakan teknologi computer
vision. Perangkat lunak yang digunakan dalam pembuatan sistem yaitu: 1. OpenCV versi 2.2 2. Microsoft Visual Studio[23] 3. Qt Creator Untuk mengetahui performa dari Sistem Pemantau Lalu Lintas ini, maka dibutuhkan pengujian dengan cara pengambilan beberapa data. Pengujian dilakukan dengan menggunakan data berupa video yang berisi kondisi jalan dengan spesifikasi: 1. Durasi tiap video 2 menit 2. Frame rate sebesar 14 fps 3. Ukuran video 320 x 240 pixels Sedangkan mesin pengolah yang digunakan adalah sebuah komputer dengan spesifikasi:
Processor Intel Core 2 Duo @1.66Ghz
Memory 1536 mb
VGA Card Mobile Intel 945 Express Chipset Family sebesar 256 mb
32 Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
33
4.2
Pengujian Akurasi Pendeteksian Kendaraan antara Metode Blob Detection dan Algoritma Canny Pengujian dilakukan dengan mengukur akurasi antara penggunaan metode
pendeteksian kendaraan dengan menggunakan algoritma Canny dan metode Blob Detection. Penggunaan metode Blob Detection dilakukan dengan melakukan perintah threshold pada region of interest. Setelah itu akan didapatkan kontur yang menunjukkan adanya objek pada citra tersebut. Kontur yang diambil adalah kontur bayangan dari kendaraan. Hal ini dilakukan karena warna tiap kendaraan berbeda-beda sehingga sulit untuk dilakukan pemilihan nilai threshold yang tepat apabila kita ingin mendeteksi kameranya saja. Untuk dapat mendeteksi bayangan dari tiap kendaraan maka nilai threshold yang diujikan yaitu sebesar 70. Dengan kata lain nantinya kontur yang didapat adalah warna hitam serupa dengan warna bayangan dengan tingkat nilai pixel yang lebih rendah daripada warna jalanan yang terlihat lebih keabu-abuan. Penghitungan jumlah kendaraan dilakukan dengan melakukan filter berdasarkan ukuran kontur.
Gambar 4.1 Tampilan Sistem Saat Mendeteksi Kondisi Jalan Lengang
Pengujian dilakukan dengan membandingkan 20 frame yang diambil secara acak pada pada 4 buah video dengan 2 variasi kondisi, yaitu kondisi lengang seperti yang terlihat pada gambar 4.1 dan kondisi ramai lancar seperti yang terlihat pada Gambar 4.2, kemudian dibandingkan akurasinya. Hasil
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
34
pengujian kedua metode tersebut dapat dilihat pada tabel 4.1 dan Gambar 4.3. Penghitungan akurasi dilakukan dengan mencari error terlebih dahulu, yaitu perbandingan antara selisih jumlah kendaraan yang dideteksi sistem dan yang dilihat oleh mata manusia dengan jumlah kendaraan yang dilihat dengan mata manusia dengan rumus: persentase error =
selisih penghitungan manual dan sistem x 100%
(4.1)
penghitungan manual kemudian persentase akurasi penghitungan oleh sistem didapat dengan rumus: persentase akurasi = 100% - persentase error
(4.2)
Gambar 4.2 Tampilan Sistem Saat Mendeteksi Kondisi Jalan Ramai Lancar
Dari hasil pengujian, terlihat bahwa pada kondisi lengang metode Blob Contour lebih unggul, sedangkan pada kondisi ramai lancar penggunaan algoritma Canny lebih unggul. Rata-rata selisih perbedaan persentase akurasi metode Blob Detection dengan algoritma Canny pada kondisi lengang mencapai 11 %. Namun keunggulan tersebut menurun ketika kondisi jalan semakin padat.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
35
Tabel 4.1 Perbandingan Metode Blob Contour dan Algoritma Canny Standar
Blob
Standar
error
Detection
Error
79.69%
0.69
92.31%
0.46
82.76%
1
93.08%
0.59
85.37%
1.11
83.48%
1.3
88.34%
1.10
83.09%
1.68
Kondisi
Canny
Video 1
Lengang
Video 2
Lengang Ramai
Video 3
lancar Ramai
Video 4
lancar
Perbandingan Akurasi Antara Metode Blobs Detection dan Canny 100% persentase 90% akurasi 80%
canny blob contour
70% lengang
lengang
ramai lancar ramai lancar
kondisi jalan Gambar 4.3 Grafik Perbandingan Antara Metode Blob Contour dan Canny
Dibandingkan dengan penggunaan metode Blob Contour, penggunaan algoritma Canny dinilai lebih unggul dalam sistem pendeteksi lalu lintas ini. Penggunaan metode Blob Detection dinilai mempunyai kelemahan, antara lain: Apabila kondisi jalan cukup padat, bayangan kendaraan dapat terhalang oleh kendaraan lain. Hal inilah yang menyebabkan akurasi metode ini lebih rendah dibandingkan dengan penggunaan algoritma Canny dalam mendeteksi kendaraan. Pada pengambilan citra dari tempat yang cukup tinggi sehingga menghasilkan sudut pengambilan yang kecil, bisa saja bayangan kendaraan menjadi tidak terlihat. Hal ini juga bisa saja terjadi ketika matahari sedang berada tepat di atas kendaraan sehingga kendaraan terlihat seolah-olah tidak mempunyai bayangan.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
36
Penggunaan
penggunaan
nilai
threshold
yang
lebih
besar
dapat
mengakibatkan ukuran kontur yang didapat menjadi lebih besar. Akibatnya dua buah kendaraan atau lebih yang berdekatan dapat dianggap menjadi satu kendaraan saja oleh sistem. Namun hal ini perlu diteliti lebih lanjut untuk mebenarkan dugaan ini.
4.3
Kecepatan Pengolahan Citra Pengujian dilakukan dengan mengukur kecepatan sistem untuk melakukan
pekerjaan sejak citra diekstraksi hingga nilai kepadatan kondisi jalan dimasukkan ke dalam database dan pengukuran kondisi jalan selesai dilakukan. cara melakukan pengukurannya yaitu dengan menyetel timer sejak gambar dikestraksi sampai data kondisi jalan dimasukkan ke dalam database dengan menggunakan fungsi. Data timer tersebut kemudian diakumulasi dan dibagi dengan jumlah frame yang telah diekstraksi. Perhitungan dilakukan dengan mencari rata-rata kecepatan sistem dalam bekerja sejak frame pertama hingga frame terakhir diolah. Pengujian pertama yaitu menguji sistem terhadap kondisi jalan. pengujian ini dilakukan dengan membandingkan 9 buah video dengan ukuran region of interest yang sama (320 x 40 pixels) namun tiap video menampilkan kondisi yang berbeda-beda. Hasil pengujian dapat dilihat pada tabel 4.2. Grafik rata-rata hasil pengujian dapat dilihat pada Gambar 4.4.
Tabel 4.2 Pengujian Kondisi terhadap Kecepatan Pengolahan Citra Kondisi
Kecepatan pengolahan per frame (ms)
Video 1
Lengang
9.2455
Video 2
Lengang
9.1459
Video 3
Lengang
9.2863
Video 4
Lengang – ramai lancar
9.8052
Video 5
Lengang – ramai lancar
10.0579
Video 6
Lengang – ramai lancar
10.1108
Video 7
Ramai lancar
10.2331
Video 8
Ramai lancar
10.2325
Video 9
Ramai lancar
10.1561
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
37
Pengujian Kecepatan Pengolahan Citra Terhadap Kondisi Jalan 10.50 kecepatan 10.00 pengolahan 9.50 citra 9.00 (fps)
8.50 lengang
lengang-ramai lancar
ramai lancar
kondisi jalan Gambar 4.4 Grafik Pengujian Kondisi terhadap Kecepatan Pengolahan Citra
Dari data di atas, dapat terlihat bahwa kondisi jalan juga mempengaruhi kecepatan sistem untuk mengolah data. Semakin padat atau ramai kendaraan yang lewat, semakin besar waktu yang dibutuhkan sistem untuk bekerja. Dari hasil perhitungan dari grafik, rata-rata kecepatan pengolahan per frame yang dilakukan oleh sistem mencapai nilai 9.8 ms per frame. Dengan kata lain, waktu rata-rata yang dibutuhkan oleh sistem untuk mengolah satu frame dengan ukuran video sebesar 320 x 40 pixels adalah 9.8 ms. Pengujian kedua yaitu menguji sistem terhadap luas region of interest. Pengujian dilakukan dengan menggunakan 3 buah video dengan setiap pengujian dilakukan dengan cara menjalankan sistem terhadap video berulang kali dengan luas region of interest yang ditentukan berbeda-beda. Setiap video menampilkan kondisi jalan yang berbeda. Data hasil pengujian dapat dilihat pada tabel 4.3, 4.4, dan 4.5 serta Gambar 4.5, 4.6, dan 4.7.
Tabel 4.3 Pengujian pada Video I dengan Kondisi Jalan Lengang Ukuran ROI
Pengukuran I
Pengukuran II
Pengukuran III
Rata-rata
320x50
10.0610
9.8182
9.8872
9.9222
320x40
9.3683
9.3058
9.2747
9.3163
320x30
8.7446
8.7853
8.7024
8.7441
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
38
Pengujian Luas Region of Interest terhadap Kecepatan Pengolahan Citra pada Kondisi Lengang 10.5 10 kecepatan (ms)
9.5 9 8.5 8 320x30
320x40
320x50
luas region of interest (pixel) Gambar 4.5 Grafik Pengujian Kecepatan Pengolahan Citra Terhadap Luas Region of Interest pada kondisi jalan Lengang
Tabel 4.4 Pengujian pada Video II dengan Kondisi Jalan Lengang - Ramai Lancar Ukuran ROI
Pengukuran I
Pengukuran II
Pengukuran III
Rata-rata
320x50
10.4318
10.3335
10.4151
10.3935
320x40
9.6437
9.6526
9.4134
9.5699
320x30
8.8439
8.7950
8.8313
8.8234
Pengujian Luas Region of Interest terhadap Kecepatan Pengolahan Citra pada Kondisi LengangRamai Lancar 11 10.5 10 kecepatan 9.5 (ms) 9 8.5 8 320x30
320x40
320x50
luas region of interest (pixel) Gambar 4.6 Grafik Pengujian Kecepatan Pengolahan Citra Terhadap Luas Region of Interest pada kondisi jalan Lengang-Ramai Lancar
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
39
Tabel 4.5 Pengujian pada Video III dengan Kondisi Jalan Ramai Lancar Ukuran ROI
Pengukuran I
Pengukuran II
Pengukuran III
Rata-rata
320x50
10.8806
10.9064
11.1004
10.9625
320x40
10.4414
10.1314
10.3236
10.2988
320x30
9.4131
9.6661
9.6361
9.5718
Pengujian Luas Region of Interest terhadap Kecepatan Pengolahan Citra pada Kondisi Ramai Lancar 11.5 11 10.5
kecepatan (ms)
10 9.5 9 8.5 320x30
320x40
320x50
luas region of interest (pixel) Gambar 4.7 Grafik Pengujian Luas Region of Interest Terhadap Kecepatan Pengolahan Citra pada kondisi jalan Ramai Lancar
Dari data di atas, dapat terlihat bahwa luas region of interest mempengaruhi kecepatan pengolahan citra. Semakin luas region of interest, semakin lama waktu yang dibutuhkan oleh sistem untuk bekerja. Dari hasil perhitungan pada grafik, rata-rata kenaikan kecepatan yang terjadi adalah 7.36%. Dengan kata lain rata-rata kenaikan kecepatan yang dibutuhkan sistem setiap bertambahnya luas region of interest sebesar 320 x 10 pixels adalah 7.36%.
4.4
Tingkat Akurasi Kebenaran Sistem Pengujian
akurasi
dari
sistem
diukur
berdasarkan
perbandingan
perhitungan manual dengan perhitungan yang dilakukan oleh sistem. Pengujian ini dilakukan dengan cara melakukan penghitungan terhadap 20 frame dari tiap video yang memiliki kriteria yang berbeda-beda. Penghitungan akurasi dilakukan dengan membandingkan jumlah kendaraan yang dideteksi oleh sistem dengan
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
40
jumlah kendaraan yang dihitung secara manual, yaitu dengan menggunakan mata manusia, lalu dibuat dalam bentuk persentase. Penghitungan akurasi dilakukan dengan mencari error terlebih dahulu, yaitu perbandingan antara selisih jumlah kendaraan yang dideteksi sistem dan yang dilihat oleh mata manusia dengan jumlah kendaraan yang dilihat dengan mata manusia dengan rumus: persentase error = selisih penghitungan manual dan sistem x 100%
(4.3)
penghitungan manual kemudian persentase akurasi penghitungan oleh sistem didapat dengan rumus: persentase akurasi = 100% - persentase error
(4.4)
Pengujian pertama dilakukan dengan membandingkan ketinggian kamera terhadap akurasi pengukuran yang dilakukan oleh sistem. Pengujian dilakukan dengan menggunakan 6 buah video yang memiliki ketinggian kamera yang berbeda-beda. Data hasil pengujian dapat dilihat pada tabel 4.6 dan Gambar 4.8.
Tabel 4.6 Pengujian Akurasi Sistem Terhadap Ketinggian Kamera Ketinggian kamera
Akurasi
Standar error
Video 1
17 m
79.51%
1.39
Video 2
23 m
80.56%
0.98
Video 3
29 m
79.69%
0.69
Video 4
35 m
82.76%
1
Video 5
41 m
85.37%
1.11
Video 6
47 m
88.34%
1.10
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
41
Pengujian Ketinggian Kamera Terhadap Akurasi Sistem 90% 88% 86% 84% persentase 82% akurasi 80% 78% 76% 74% 17 m
23 m
29 m
35 m
41 m
47 m
ketinggian Gambar 4.8 Grafik Pengujian Akurasi Sistem Terhadap Ketinggian Kamera
Dari data di atas dapat dilihat bahwa ketinggian berpengaruh terhadap akurasi dari sistem ini. Pada video 1, video 2, dan video 3 akurasi sistem terlihat tidak begitu berbeda. Namun pada video 4, video 5, dan video 6 terlihat pengaruh perbedaan ketinggian kamera terhadap akurasi dari sistem. Semakin tinggi letak kamera, semakin tinggi akurasi yang dihasilkan oleh sistem. Pengujian kedua dilakukan dengan membandingkan kondisi jalan terhadap akurasi pengukuran yang dilakukan oleh sistem. Pengujian dilakukan dengan memperhatikan kondisi jalan ketika lengang dan ketika ramai lancar pada satu video. Data hasil pengujian dapat dilihat pada tabel 4.7 dan Gambar 4.9.
Tabel 4.7 Pengujian Akurasi Terhadap Kondisi Jalan Akurasi Data
Kondisi
Standar
Kondisi Ramai
Standar
Lengang
error
Lancar
error
Video 1
79.69%
0.65
80.60%
0.82
Video 2
86.19%
0.94
82.78%
1.68
Video 3
91.76%
0.77
89.35%
1.42
Video 4
90.53%
0.59
93.75%
0.59
Video 5
87.20%
0.67
86.67%
1.81
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
42
Pengujian Akurasi Sistem Terhadap Kondisi Jalan 100% persentase 90% akurasi 80%
lengang ramai lancar
70% video 1 video 2 video 3 video 4 video 5 data
Gambar 4.9 Grafik Pengujian Akurasi Sistem Terhadap Kondisi Jalan
Dari data di atas, dapat dilihat tidak terdapat perbedaan yang cukup berarti pada akurasi sistem terhadap perbedaan kondisi jalan yang dipantau. Rata-rata perbedaan akurasi antara kedua kondisi tersebut hanya 1.68%. Dengan kata lain apapun kondisi jalan, sistem akan mendeteksi kendaraan sesuai dengan kondisi jalan yang ada.
4.5
Analisis Berdasarkan hasil pengujian, dibandingkan dengan penggunaan metode
Blob Contour, penggunaan algoritma Canny yang digunakan oleh sistem dapat membuat performa sistem yang lebih baik. Dari sisi kecepatan pengolahan citra, semakin padatnya kondisi lalu lintas berakibat semakin besarnya waktu yang dibutuhkan oleh sistem untuk melakukan pengolahan citra. Secara teori, hal ini wajar terjadi karena semakin padat kondisi lalu lintas berarti semakin banyak jumlah kendaraan yang ada di jalan sehingga semakin banyak citra yang diolah. Selain itu luas region of interest juga mempengaruhi kecepatan pengolahan citra. Hal ini terjadi karena semakin luas citra yang diolah mengakibatkan semakin banyaknya resources yang dibutuhkan sehingga waktu pengolahan semakin lama. Untuk akurasi dari sistem, dari hasil pengujian terlihat bahwa ketinggian kamera mempengaruhi hal tersebut. Hal ini dikarenakan karena semakin tinggi letak kamera maka kemungkinan suatu kendaraan menghalangi kendaraan lain akan semakin kecil. Namun hal ini terjadi pada saat ketinggian dimulai dari sekitar 29 m.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
43
Kondisi kamera yang cukup rendah memungkinan dua buah kendaraan atau lebih yang berada pada posisi berdekatan dianggap oleh sistem sebagai sebuah kendaraan yang lebih besar seperti yang terlihat pada Gambar 4.10. Hal ini mungkin saja terjadi karena pada kondisi tersebut jarak antara satu kendaraan dengan kendaraan yang lain tidak terlihat oleh kamera. Selain itu bagian samping dari kendaraan juga akan terdeteksi sehingga dapat menimbulkan kesalahan pendeteksian. Kesalahan pendeteksian tersebut diakibatkan perbedaan warna yang terjadi karena pencahayaan yang berbeda pada sisi samping dan sisi atas kendaraan sehingga kedua bagian tersebut dapat terdeteksi sebagai dua objek yang berbeda. Selain itu kontur ban, pintu, dan kaca kendaraan juga mengakibatkan kesalahan jumlah kontur edge yang terdeteksi sehingga mengakibatkan kesalahan pendeteksian kendaraan. Hal ini dapat dihindari dengan peletakan kamera pada posisi yang lebih tinggi. Posisi kamera yang lebih tinggi juga memberi keuntungan lain yaitu semakin luasnya daya tangkap yang bisa didapat. Semakin luasnya daya tangkap kamera dapat memberikan hasil yang lebih representatif karena kemungkinan kendaraan yang dapat terpantau menjadi lebih banyak. Semakin luasnya daya tangkap kamera juga dapat menghemat jumlah kamera yang diperlukan apabila kita ingin mengamati lalu lintas pada daerah yang cukup luas, misalnya mengamati dua buah lajur jalan berlawanan arah yang posisinya bersebelahan.
Gambar 4.10 Contoh Kemungkinan Berhimpitnya Posisi Kendaraan Karena Posisi Kamera yang Cukup Rendah
Dari hasil pengujian juga dapat disimpulkan bahwa kondisi jalan tidak mempengaruhi akurasi dari sistem. Hal ini berarti bagaimanapun kondisi jalan, sistem akan memberikan informasi sesuai dengan kondisi yang terlihat saat itu.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
BAB V KESIMPULAN
1. Sistem pemantau lalu lintas yang dirancang berhasil mendeteksi kendaraan dengan rata-rata akurasi yang berbeda pada tiap ketinggian kamera. 2. Selisih perbedaan akurasi pada penggunaan Blob Detection pada kondisi lengang lebih unggul daripada penggunaan algoritma Canny, namun keunggulan ini menurun ketika kondisi jalan semakin ramai sehingga penggunaan algoritma Canny dinilai lebih tepat digunakan pada sistem pendeteksi lalu lintas daripada metode Blob Detection. 3. Rata-rata kecepatan sistem pada ukuran citra 320 x 40 pixels pada kondisi Lengang – Ramai Lancar yaitu 9.8 ms. 4. Kecepatan sistem dipengaruhi oleh kondisi kepadatan jalan, semakin banyak kendaraan yang lewat maka waktu yang dibutuhkan oleh sistem untuk bekerja akan semakin lama. 5. Kecepatan sistem juga dipengaruhi oleh luas region of interest, semakin luas region of interest maka waktu yang dibutuhkan oleh sistem untuk bekerja akan semakin lama dengan rata-rata kenaikan waktu sebesar 7.36% dari kecepatan sebelumnya setiap penambahan tinggi 10 pixels pada region of interest. 6. Akurasi sistem dipengaruhi oleh ketinggian kamera, semakin tinggi letak kamera maka akurasi sistem akan semakin baik, hasil akurasi optimal dari sistem dimulai pada ketinggian kamera sekitar 29 m dengan tingkat akurasi sekitar 80% . 7. Perbedaan kondisi jalan antara lengang dan ramai lancar dapat membuat perbedaan akurasi sebesar 1.68%, sehingga relatif bisa dikatakan kondisi jalan tidak begitu mempengaruhi akurasi sistem.
44 Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
DAFTAR ACUAN
[1] Kamus Besar Bahasa Indonesia, Macet, 2012, [Online]. Available: http://kamusbahasaindonesia.org/macet [2] Yudiawan, Studi Kemacetan Lalu Lintas di Kota Bandung, 2008, [Online]. Available: http://repository.upi.edu/skripsiview.php?no_skripsi=5474 [3] Joshua Remi Aworemi et al., A Study of the Causes, Effects and Ameliorative Measures of Road Traffic Congestion in Lagos Metropolis, 2009. [4] Asad J. Khattak, Intelligent Transportation Systems, 2008. [5] Road Network Operations Handbook, World Road Association, 2003. [6] Qiang Ji, Introduction - Vision 3D, 2010. [7] Muhammad Adri, Computer Vision: Basic Concept of Computer Vision, 2009. [8] Willow
Garage,
Open
Computer
Vision,
[Online].
Available:
http://opencv.willowgarage.com/wiki/ [9] Y.
Senthil
Kumar,
Canny
Edge
Detection
Implementation
on
TMS320C64x/64x+ Using VLIB, 2009. [10] John Canny, A Computational Approach to Edge Detection, 1986. [11] Anne Kaspers, Blob Detection, 2011. [12] T. Lindeberg, Detecting Salient Blob-like Image Structures and Their Scales with A Scale-space Primal Sketch: A Method for Focus-of-attention, 1993. [13] S. Hinz, Fast and Subpixel Precise Blob Detection and Attribution, 2005. [14] A. Rosenfeld & C. Y. Sher, DetectingImage Primitives Using Feature Pyramids, 1998. [15] Q. Yang & B. Parvin, Chef: Convex Hull of Elliptic Fetures for 3D Blob Detection, 2002. [16] Centre
of
Studies
Technology,
in
Resources
Gaussian
Engineering,
Blur,
Indian
[Online].
Institue
of
Available:
http://www.csre.iitb.ac.in/~avikb/GNR401/Gaussian%20Blur.pdf [17] Wisnu Jatmiko et al., Sistem Pengaturan Lalu Lintas Terdistribusi. Depok: Universitas Indonesia. 2011. 45 Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
46
[18] Khan Muhammad Nafee Mostafa & Qudrat-E-Alahy Ratul, Traffic Jam Detection System, 2008. [19] Atkociounas, et al., Image Processing in Road Traffic Analysis, 2005. [20] Włodzimierz Kasprzak & Marcin Jankowski, The Implementation of A Vision Sensor for Traffic Surveillance. [21] Microsoft,
Microsoft
Visual
Studio,
[Online].
Available:
http://www.microsoft.com/visualstudio/en-us [22] Nokia,
Qt
Creator
IDE
and
Tools,
[Online].
Available:
http://qt.nokia.com/products/developer-tools [23] Microsoft Visual Studio 2010 University of Indonesia – Engineering Student License.
Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012
DAFTAR PUSTAKA
Gary Bradski & Adrian Kaehler, Learning OpenCV: Computer Vision with the OpenCV Library, O’Reilly, 2008. Robert Laganiere, OpenCV 2 Computer Vision Application Programming Cookbook, Packt Publishing, 2011.
47 Universitas Indonesia Rancang bangun..., Helmiriawan, FT UI, 2012