rancang bangun dan analisis sistem pemantau...
TRANSCRIPT
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
vii Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
viii 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.
Rancang bangun..., Helmiriawan, FT UI, 2012
ix 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
Rancang bangun..., Helmiriawan, FT UI, 2012
x 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
Rancang bangun..., Helmiriawan, FT UI, 2012
xi 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
Rancang bangun..., Helmiriawan, FT UI, 2012
xii 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
Rancang bangun..., Helmiriawan, FT UI, 2012
1
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. Kota-
kota 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 kota-
kota 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.
Rancang bangun..., Helmiriawan, FT UI, 2012
2
Universitas Indonesia
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, informasi-
informasi 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.
Rancang bangun..., Helmiriawan, FT UI, 2012
3
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
4
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
5
Universitas Indonesia
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
Rancang bangun..., Helmiriawan, FT UI, 2012
6
Universitas Indonesia
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. Tiap-
tiap 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-to-
noise-ratio = s/n). Sinyal-sinyal tersebut adalah informasi yang akan
Rancang bangun..., Helmiriawan, FT UI, 2012
7
Universitas Indonesia
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
Rancang bangun..., Helmiriawan, FT UI, 2012
8
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
9
Universitas Indonesia
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]:
Rancang bangun..., Helmiriawan, FT UI, 2012
10
Universitas Indonesia
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)
Rancang bangun..., Helmiriawan, FT UI, 2012
11
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
12
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
13
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
14
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
15
Universitas Indonesia
(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]
Rancang bangun..., Helmiriawan, FT UI, 2012
16
Universitas Indonesia
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
Rancang bangun..., Helmiriawan, FT UI, 2012
17
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
18
Universitas Indonesia
Tabel 2.1 Rata-rata waktu pengolahan pada 3 modul pemantauan [20]
Module Analysis time (for 1000 frames) MFlops required (for 25
frames/sec)
Queue length 1.77 sec 15.3 MFlops
Car counting 0.37 sec 3.2 MFlops
License plate 14.6 sec 126 MFlops
Gambar 2.6 Contoh Tampilan Sistem Dengan Menggunakan Metode OMNI [20]
Rancang bangun..., Helmiriawan, FT UI, 2012
19
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
20
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
21
Universitas Indonesia
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,
Rancang bangun..., Helmiriawan, FT UI, 2012
22
Universitas Indonesia
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
Rancang bangun..., Helmiriawan, FT UI, 2012
23
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
24
Universitas Indonesia
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
Rancang bangun..., Helmiriawan, FT UI, 2012
25
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
26
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
27
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
28
Universitas Indonesia
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
Rancang bangun..., Helmiriawan, FT UI, 2012
29
Universitas Indonesia
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%
Rancang bangun..., Helmiriawan, FT UI, 2012
30
Universitas Indonesia
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
Rancang bangun..., Helmiriawan, FT UI, 2012
31
Universitas Indonesia
Gambar 3.10 Pseudocode Sistem Pemantau Lalu Lintas yang Dirancang
// Inisiasi inisiasi nomor frame; inisiasi rata-rata jumlah kendaraan; inisiasi jumlah kontur yang terdeteksi; inisiasi 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;
Rancang bangun..., Helmiriawan, FT UI, 2012
32
Universitas Indonesia
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
Rancang bangun..., Helmiriawan, FT UI, 2012
33
Universitas Indonesia
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
Rancang bangun..., Helmiriawan, FT UI, 2012
34
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
35
Universitas Indonesia
Tabel 4.1 Perbandingan Metode Blob Contour dan Algoritma Canny
Kondisi Canny Standar
error
Blob
Detection
Standar
Error
Video 1 Lengang 79.69% 0.69 92.31% 0.46
Video 2 Lengang 82.76% 1 93.08% 0.59
Video 3 Ramai
lancar 85.37% 1.11 83.48% 1.3
Video 4 Ramai
lancar 88.34% 1.10 83.09% 1.68
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.
70%
80%
90%
100%
lengang lengang ramai lancar ramai lancar
persentase akurasi
kondisi jalan
Perbandingan Akurasi Antara Metode Blobs Detection dan Canny
canny
blob contour
Rancang bangun..., Helmiriawan, FT UI, 2012
36
Universitas Indonesia
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
Rancang bangun..., Helmiriawan, FT UI, 2012
37
Universitas Indonesia
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
8.50
9.00
9.50
10.00
10.50
lengang lengang-ramai lancar
ramai lancar
kecepatan pengolahan
citra (fps)
kondisi jalan
Pengujian Kecepatan Pengolahan Citra Terhadap Kondisi Jalan
Rancang bangun..., Helmiriawan, FT UI, 2012
38
Universitas Indonesia
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
Gambar 4.6 Grafik Pengujian Kecepatan Pengolahan Citra Terhadap Luas Region of Interest pada
kondisi jalan Lengang-Ramai Lancar
8
8.5
9
9.5
10
10.5
320x30 320x40 320x50
kecepatan (ms)
luas region of interest (pixel)
Pengujian Luas Region of Interest terhadap Kecepatan Pengolahan Citra pada Kondisi Lengang
8
8.5
9
9.5
10
10.5
11
320x30 320x40 320x50
kecepatan (ms)
luas region of interest (pixel)
Pengujian Luas Region of Interest terhadap Kecepatan Pengolahan Citra pada Kondisi Lengang-
Ramai Lancar
Rancang bangun..., Helmiriawan, FT UI, 2012
39
Universitas Indonesia
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
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
8.5
9
9.5
10
10.5
11
11.5
320x30 320x40 320x50
kecepatan (ms)
luas region of interest (pixel)
Pengujian Luas Region of Interest terhadap Kecepatan Pengolahan Citra pada Kondisi Ramai Lancar
Rancang bangun..., Helmiriawan, FT UI, 2012
40
Universitas Indonesia
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
Rancang bangun..., Helmiriawan, FT UI, 2012
41
Universitas Indonesia
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
Data
Akurasi
Kondisi
Lengang
Standar
error
Kondisi Ramai
Lancar
Standar
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
74%
76%
78%
80%
82%
84%
86%
88%
90%
17 m 23 m 29 m 35 m 41 m 47 m
persentase akurasi
ketinggian
Pengujian Ketinggian Kamera Terhadap Akurasi Sistem
Rancang bangun..., Helmiriawan, FT UI, 2012
42
Universitas Indonesia
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.
70%
80%
90%
100%
video 1 video 2 video 3 video 4 video 5
persentase akurasi
data
Pengujian Akurasi Sistem Terhadap Kondisi Jalan
lengang
ramai lancar
Rancang bangun..., Helmiriawan, FT UI, 2012
43
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
44
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012
45
Universitas Indonesia
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 in Resources Engineering, Indian Institue of
Technology, Gaussian Blur, [Online]. 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.
Rancang bangun..., Helmiriawan, FT UI, 2012
46
Universitas Indonesia
[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.
Rancang bangun..., Helmiriawan, FT UI, 2012
47
Universitas Indonesia
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.
Rancang bangun..., Helmiriawan, FT UI, 2012