menghitung jumlah kendaraan dari file video (avi
TRANSCRIPT
MENGHITUNG JUMLAH KENDARAAN DARI FILE VIDEO (AVI)
Bagus Priambodo
Fakultas Ilmu Komputer, Universitas Mercu Buana, Indonesia
Email : [email protected]
Abstrak Dalam penelitian ini, dikembangkan aplikasi untuk menghitung kendaraan yang
melewati loket pembayaran jalan tol secara otomatis dari hasil rekaman video
(AVI). Pengembangan aplikasi ini menggunakan alat bantu software Visual C++
6.0. Dari hasil implementasi dan ujicoba, dapat disimpulkan bahwa aplikasi ini
dapat berfungsi sebagaimana mestinya. Hanya saja keberhasilan system
penghitungan ini sangat bergantung pada dua parameter yaitu pertama
parameter batas toleransi selisih nilai antara pixel frame dengan pixel frame
patokan dan kedua adalah parameter batas maximum jumlah pixel yang
melewati batas toleransi. Diharapkan aplikasi ini dapat menjadi pemicu
pengembangan aplikasi pencacah kendaraan secara real time dan cerdas,
artinya dapat menentukan parameter dengan otomatis
Kata kunci : C++, Pengenalan Pola, Pengolahan Citra, Video
I. PENDAHULUAN
PT. JASAMARGA (Persero) adalah BUMN yang bertugas mengelola jaringan
jalan tol di Indonesia dan memelihara seluruh ruas jalan tol agar selalu
berfungsi sebagaimana mestinya. Ada beberapa layanan yang diberikan
kepada publik yang berhubungan dengan jalan tol, diantaranya adalah:
a. layanan transaksi, seperti layanan berlangganan tol.
b. layanan lalu-lintas, seperti penderekan, ambulan dan patroli.
c. layanan pemeliharaan jalan tol.
Namun, selain layanan-layanan yang diberikan kepada publik, PT.
JASAMARGA sebagai suatu perusahaan juga tidak lepas dalam hal kegiatan
manajerial yang sifatnya internal. Ada masalah internal yang harus di kelola
salah satunya adalah penghitungan jumlah kendaraan yang melewati loket
pembayaran jalan tol. Pada dasarnya, bila prosedur dan pekerjaan dijalankan
sebagaimana mestinya, jumlah kendaraan yang melewati loket dapat tercatat
sebagaimana mestinya. Namun, seringkali di lapangan terjadi ketidaksesuaian
antara jumlah kendaraan yang lewat dengan yang tercatat di loket. Salah satu
usaha yang telah dilakukan oleh PT. JASAMARGA adalah merekam kendaraan
yang melewati loket pembayaran dengan menggunakan kamera yang
diletakkan pada fixed position (yang telah ditetapkan posisinya), dan
menghitung secara manual dengan melihat hasil rekaman kamera tersebut.
Namun, keterlibatan manusia dalam sistem penghitungan manual seperti ini
ternyata tidak memberikan hasil seperti yang diharapkan. Faktor human error,
itulah yang menyebabkan hasil penghitungan kendaraan lewat dengan yang
tercatat di loket pembayaran tidak sama.
Untuk itu pada penelitian ini, dikembangkan satu cara untuk mengatasi masalah
tersebut diatas dengan membuat sebuah program atau aplikasi menghitung
jumlah kendaraan lewat secara otomatis dari file video hasil rekaman di loket
pembayaran jalan tol.
II. METODE
Computer vision terdiri dari teknik-teknik untuk mengestimasi ciri-ciri obyek di
dalam citra, pengukuran ciri yang berkaitan dengan geometri obyek, dan
menginterpretasi informasi geometri tersebut. Persamaan berikut penting untuk
diingat dalam bidang computer vision.
Vision = Geometry + Measurement + Interpretation
Proses-proses di dalam computer vision dapat dibagi menjadi tiga aktivitas,
yaitu :
1. Memperoleh atau mengakuisisi citra digital.
2. Melakukan teknik komputasi untuk memproses atau memodifikasi
data citra (operasi-operasi pengolahan citra).
3. Menganalisis dan menginterpretasi citra dan menggunakan hasil
pemrosesan untuk tujuan tertentu, misalnya memandu robot,
mengontrol peralatan, memantau proses manufaktur, dan lain-lain.
Bitmap adalah array bit dua dimensi yang berisi data yang berhubungan
dengan pixel dari sebuah citra atau image (untuk selanjutnya citra akan disebut
image). Ketika gambar dari dunia nyata di tangkap dalam bentuk bitmap,
gambar tersebut akan di pecah menjadi grid dan pixel. Nilai dari masing-masing
pixel dalam bitmap menunjukan rata-rata warna dari gambar. Monochrome
bitmap memerlukan hanya satu bit per pixel, gray shade atau bitmap berwarna
membutuhkan perkalian bits per pixel.
Device independent bitmap (DIB) diperkenalkan di Windows 3.0 untuk
memberikan format berkas image yang sangat diperlukan dan cocok untuk
pertukaran. Sebagaimana diketahui, format berkas image lain seperti .GIF atau
.JPEG, lebih banyak dikenal dan digunakan. Ini dikarenakan format .GIF dan
.JPEG telah dikompresi sehingga berukuran kecil dan secara signifikan dapat
mengurangi waktu pengunduhan. Kebanyakan DIB selalu tak dikompresi. Ini
merupakan keuntungan yang besar. Tidak seperti berkas .GIF dan .JPEG, DIB
secara langsung didukung fungsi Windows API.
Model yang dirancang adalah mengolah masukan frame(DIB) dari AVI yang
telah dipecah, kemudian dilakukan visualisasi proses sistem, dan keluaran
ditampilkan ke user. Dalam menjelaskan sistem yang dirancang, diberikan alur
data sistem dalam bentuk diagram Flow chart dan diagram aliran data, yang
akan lebih dirinci ke dalam level diagram berikutnya.
Perancangan Sistem dengan Flow Chart
Gambar 2.1 Flow Chart Sistem Keseluruhan
Diagram Konteks Perancangan dimulai dengan pembuatan diagram konteks, berupa
penggambaran sistem dari penerapan algoritma penghitungan secara garis
besar.
isiArrayAwal() bKetemu = false
bAwal = true
If !stop
isiArrayNext() jmlPixelBeda = hitungSelisihPixel()
If jml Pixel Beda > = max pixel beda
bKetemu = true jmlMobil++
Tidak
If !bketemu
If bAwal
Ya bKetemu = false
Tidak
Ya
bKetemu = true bAwal = false
Ya
Tidak
Pengguna Sistem Penghitungan
AVI
Jumlah Kendaraan
Gambar 2.2 Diagram Konteks
Diagram Aliran Data Dari diagram Konteks diturunkan Diagram Aliran Data(DAD) Level 0 untuk
penjabaran sistem penghitungan kendaraan.
Gambar 3.4 Diagram Aliran Data Level 0
Gambar 2.3
Kamus Data
• AVI merupakan masukan untuk proses sistem adalah file Audio Video 24 bit.
• State A merupakan hasil perubahan bentuk masukkan dari AVI menjadi
bitmap
• State B merupakan hasil perubahan bentuk state setelah nilai RGB dari
pixel diambil ditaruh dalam tiga buah array awal dan tiga buah array Next.
• State C merupakan hasil penghitungan selisih antara tiga buah array next
dan tiga buah array awal di dapatkan Jumlah selisih warna.
• Angka (Jumlah kendaraan) merupakan hasil penghitungan berupa total
jumlah kendaraan yang berhasil dihitung oleh sistem.
Spesifikasi Proses Sistem menerapkan beberapa proses yang saling berhubungan sehingga akan
membentuk suatu sistem utuh yang diharapkan.
Pengguna
0.1 Fungsi Pecah
AVI
0.2 Fungsi Isi
Array
0.3 Fungsi Beda
0.4 Fungsi
Count Car
AVI
State A
State B
State C
Angka (Jumlah Kendaraan)
Proses pecah AVI menjadi frame-frame bitmap (DIB)
Nomor
Proses
0.1
Masukkan AVI
Keluaran state A
Logika File AVI dipecah menjadi Frame-frame
bitmap (DIB)
Proses isi Array dari nilai RGB bitmap
Nomor
Proses 0.2
Masukkan State A
Keluaran State B
Bitmap diambil Nilai RGB dari
Pixelnya Logika
Lalu nilai RGBnya di masukkan
dalam Array
Proses Fungsi Beda Pixel
Nomor
Proses 0.3
Masukkan State B
Keluaran State C
Masing-masing Nilai dari Array Awal (Patokan) – Array Next
Logika Lalu selisihnya dibandingkan apabila > toleransi maka stace
C (Jumlah Beda) ditambah 1
Proses hitung kendaraan (count car)
Nomor
Proses 0.4
Masukkan State C
Keluaran Angka (Jumlah Kendaraan)
Bandingkan Jumlah Beda frame sekarang dan frame
sebelumnya
Jika masih sama besar atau dalam batas toleransi maka
tidak ada
kendaraan yg lewat
Jika sebelumnya telah terjadi lonjakan nilai atau berada
diluar toleransi maka
perhatikan jika jml Beda mendekati 0 berarti kendaraan
telah lewat
Logika
Kemudian jumlah kendaraan ditambah 1
III. HASIL DAN PEMBAHASAN
Untuk meninjau kinerja atau keberhasilan program dalam menghitung
kendaraan, diambil beberapa potongan frame awal beserta nilai-nilainya.
Uji Kinerja Penghitungan Kendaraan
• Setelah area ditentukan dan penghitungan dimulai akan tampak tampilan
sebagai berikut:
Gambar 2.4 Frame pertama
Perhatikan maximum beda pixel yang dijadikan patokan adalah 600
artinya area awal dan area berikut akan dianggap berbeda jika nilai pixel
beda lebih dari 600. Terlihat semua nilai masih 0.
• Setelah beberapa kali menekan tombol > mulai terlihat ada kendaraan
mendekat pada Area II Berikut, Nilai Pixel Beda pun berubah
Gambar 2.5 Frame ke dua
Nilai Pixel Beda Area(II) berubah menjadi 516 namun masih di bawah
batas ambang toleransi, batas ambang atau Max BedaPixel adalah 600
(lihat pada Gambar 2.5 diatas).
Nilai Pixel Beda Area(I) terlihat masih 0, dan memang tidak terlihat
kendaraan disana.
• Kemudian menekan tombol > lagi, untuk menuju ke frame berikutnya,
perhatikan perubahan yang terjadi.
Gambar 2.6 Frame ke tiga
Pada Area I Berikut terlihat mulai ada kendaraan yang memasuki area, dan
nilai Pixel Beda Area (I) berubah menjadi 282, masih di bawah toleransi.
Jumlah mobil pada Area I masih terlihat 0.
Pada Area II Berikut terlihat kendaraan sudah memasuki area, nilai Pixel
Beda Area (II) melonjak menjadi 3131, artinya frame benar-benar berbeda
dan sudah jauh dari batas ambang (max beda pixel hanya 600).
Jumlah mobil pada area II masih terlihat 0
• Kemudian menekan tombol > kembali untuk menuju ke frame
berikutnya.
Gambar 2.7 Frame ke empat
Pada Area I Berikut terlihat mobil telah memasuki Area I dan nilai Pixel
Beda Area I berubah drastis menjadi 982. Artinya frame awal telah berbeda
dengan frame sekarang karena telah di atas batas toleransi (600). Jumlah
mobil pada Area I masih telihat 0.
Pada Area II Berikut terlihat mobil mulai menjauhi Area II dan nilai Pixel
Beda area II telah turun dari sebelumnya 3131 menjadi 473. Nilai sekarang
sudah berada di bawah toleransi, artinya frame awal dan sekarang dapat
dikatakan sama, sehingga Jumlah mobil Area II bertambah.
Jumlah mobil Area II berubah menjadi 1.
• Tekan tombol >, untuk menuju ke frame berikutnya.
Gambar 2.8 Frame ke lima
Pada Area I Berikut terlihat mobil telah memasuki Area I dan nilai Pixel
Beda Area I berubah drastis menjadi 982. Artinya frame awal telah berbeda
dengan frame sekarang karena telah di atas batas toleransi (600). Jumlah
mobil pada Area I masih telihat 0. Pada Area II Berikut terlihat mobil mulai
menjauhi Area II dan nilai Pixel Beda Area II telah turun dari sebelumnya
3131 menjadi 473. Nilai sekarang sudah berada di bawah toleransi, artinya
frame awal dan sekarang dapat dikatakan sama, sehingga Jumlah mobil
Area II bertambah. Jumlah mobil Area II berubah menjadi 1.
• Kemudian Tekan tombol > lagi untuk menuju ke frame berikutnya
Gambar 2.9 Frame ke enam
Pada Area I Berikut terlihat mobil telah menjauhi Area I dan nilai Pixel Beda
Area I turun menjadi 323. Artinya frame di bawah batas toleransi, sehingga
frame awal dapat dikatakan sama atau kembali ke awal sehingga Jumlah
mobil Area I bertambah. Terlihat jumlah mobil pada Area I sekarang adalah
1.
Pada Area II Berikut terlihat mobil sudah tidak ada dalam area dan nilai
Pixel Beda Area II telah turun kembali menjadi 0, frame sakarang sama
dengan frame awal
Jumlah mobil Area II sekarang adalah 1 (tidak berubah)
• Tekan tombol >, untuk menuju ke frame berikutnya
Gambar 2.10 Frame ke tujuh
Pada Area I Berikut terlihat mobil sudah tidak ada dalam area dan nilai Pixel
Beda Area I telah turun kembali menjadi 0, frame sakarang sama dengan
frame awal.
Jumlah mobil Area I sekarang adalah 1 (tidak berubah)
Pada Area II Berikut terlihat belum ada mobil yang mendekati area II dan
nilai Pixel Beda area II masih 0, frame sakarang sama dengan frame awal
Jumlah mobil Area II sekarang adalah 1 (tidak berubah)
Hasil Kinerja
Dari hasil uji coba beberapa frame, yaitu dari frame awal hingga ada
kendaraan memasuki area dan kendaraan menjauhi area. Terlihat bahwa
sistem mampu membedakan frame awal dan frame berikutnya. Sehingga dapat
dihitung jumlah kendaraan yang melewati area yang telah ditentukan. Namun
penempatan atau pengambilan area yang baik sangat menentukan keakuratan
dari sistem. Juga pemberian batas toleransi yang tepat sangat mempengaruhi
keakuratan dari sistem.
IV. KESIMPULAN Berdasarkan hasil penelitian, dapat disimpulkan bahwa:
1. Sistem dapat menghitung jumlah kendaraan yang melewati loket
pembayaran jalan tol. Berdasarkan hasil rekaman video yang diperoleh
melalui kamera yang telah ditetapkan posisinya, yaitu di atas loket
2. Sistem masih tergantung pada dua buah parameter untuk penghitungan
kendaraan, antara lain :
Parameter batas toleransi selisih nilai antara pixel frame dengan pixel
frame patokan.
Parameter batas maximum jumlah pixel yang melewati batas toleransi.
3. Secara umum sistem ini telah dapat menghitung jumlah kendaraan secara
otomatis.
Kedepan sebaiknya pengembangan sistem mampu menentukan parameter-
parameter toleransi secara otomatis.
V. DAFTAR PUSTAKA
1. Petzold, Charles (1998), Programming Windows, 5th Edition. Microsoft
Press; November 11, 1998; 1479 pages..
2. Darma Putra Sodikin (2010), Pengolahan Citra Digital, Andi Publisher