IP TRAFFIC CAMERA PADA PERSIMPANGAN JALAN RAYA
MENGGUNAKAN METODE LUASAN PIKSEL
OLEH : ANDI MUHAMMAD ALI MAHDI AKBAR
Pembimbing 1:
Arief Kurniawan, ST., MT
Pembimbing 2:
Ahmad Zaini, ST., M.Sc.
Page 1
OUTLINE
• Latar Belakang
• Rumusan
Permasalahan
• Tujuan & Manfaat
• Batasan Masalah
Pendahuluan
• Desain sistem dan implementasi
• Alur Kerja
• Pengujian
Pembahasan
• Kesimpulan
Penutupan
Page 2
PENDAHULUAN
::
LATAR BELAKANG
• Kemacetan
• Lampu lalu lintas
• Lantas dengan Fixed Time Control
• Sistem Smart Traffic Light
• Menggunakan Sensor Kamera
Page 3
PENDAHULUAN
::
RUMUSAN PERMASALAHAN
•
Pada penelitian sebelumnya [1] masih menggunakan PC sebagai mediakomputasi citra. Masukan citra yang digunakan juga masih menggunakan citra yang berasal dari rekaman video sehingga sistem masih belum dapat
dikatakan Real-Time.
[1] Ahmad Zaini, Ocky Harliansyah, I Ketut Eddy Purnama, Mochamad Hariadi. “IMPLEMENTASI SENSOR KAMERA PADA PENGATURAN SISTEM ADAPTABLE TRAFFIC LIGHTS” 2008.
Page 4
PENDAHULUAN
::
TUJUAN & MANFAAT
•
Tujuan tugas akhir ini dapat menghasilkan sebuah IP Traffic Camera dengan menggabungkan sensor optic berupa IP Camera dengan Single BoardComputer yang dapat digunakan untuk menentukan kondisi kepadatan di persimpangan jalan raya.
•
Keluaran dari IP Traffic Camera berupa kondisi kepadatan jalan, diharapkan dapat digunakan sebagai masukan pada Smart Traffic Light.Page 5
PENDAHULUAN
::
BATASAN MASALAH
Batasan masalah untuk tugas akhir ini:
•
IP Traffic Camera menggunakan IP Camera sebagai sumber citra masukan.•
Penggunaan Single Board Computer sebagai media komputasi.•
Pengujian sistem dilakukan pada kondisi cuaca normal (Tidak hujan).•
Waktu pengujian sistem dilakukan pada waktu pagi cerah dan malam cerah.Page 6
DESAIN SISTEM DAN IMPLEMENTASI
IP cam bertugas untuk menangkap citra
yang dapat diambil oleh SBC melalui RTSP (Real-Time Streaming Protocol)
SBC Client bertindak sebagai pengolah citra masukan untuk
mendeteksi kendaraan dan kemudian
mengirimkan hasil deteksi menuju SBC Server
SBC Server bertindak sebagai penghitung kendaraan
berdasarkan data yang diterima dari SBC Client
Page 7
DESAIN SISTEM DAN IMPLEMENTASI
[LANJUTAN]Gambar 1. Diagram alir sistem pada SBC Client Page 8
ALUR KERJA TUGAS AKHIR
Pengambilan Data Uji.
Perancangan Perangkat Lunak Car
Counter.
Perancangan Struktur
Data.
Perancangan Aplikasi
Web.
Page 9
ALUR KERJA
::
PENGAMBILAN VIDEO UJI
Pengambilan video uji dilakukan di Jalan Urip Sumoharjo,
Surabaya.
Pengambilan video uji dilakukan pada waktu pagi hari pukul
10:00 dan malam hari pukul 20:00.
Sumber: Dokumen pribadi.
ALUR KERJA
::
PERANCANGAN PERANGKAT LUNAK
•
Pembuatan perangkat lunak memiliki beberapa proses:• Pembuatan metode rekonstruksi citra latar.
• Pembuatan metode pendeteksi kendaraan.
Gambar 2. Diagram alir perangkat lunak.
ALUR KERJA
::
PERANCANGAN PERANGKAT LUNAK::
REKONSTRUKSI CITRA LATAR
•
Rekonstruksi citra latar atau Background Reconstruction merupakan proses pencarian/pembentukan citra latar dari suatu rekaman/streaming video.•
Citra latar nantinya akan digunakan pada proses Background Subtraction atau Foreground Detection yang selanjutnya digunakan untuk mendeteksi kendaraan.ALUR KERJA
::
PERANCANGAN PERANGKAT LUNAK::
REKONSTRUKSI CITRA LATAR
[CONT]Fungsi cv::accumulateWeighted
melakukan kalkulasi jumlah bobot piksel dari citra input dan akumulator sehingga citra output menjadi nilai rata-rata dari citra input.
Nilai alpha berfungsi sebagai parameter penentu seberapa cepat piksel “melupakan” nilai piksel sebelumnya.
Frame 1
Frame n Frame 2
ALUR KERJA
::
PERANCANGAN PERANGKAT LUNAK::
METODE PENDETEKSIAN KENDARAAN
•
Proses pendeteksian kendaraan dibagi beberapa tahapan:• Background Subtraction.
• Segmentation.
• Deteksi Kendaraan.
ALUR KERJA
::
PERANCANGAN PERANGKAT LUNAK::
METODE PENDETEKSIAN KENDARAAN::
BACKGROUND SUBSTRACTION
Background Substraction
Digunakan cv::absdiff untuk mendapatkan perbedaan absolut antara citra masukan dan model citra latar.
ALUR KERJA
::
PERANCANGAN PERANGKAT LUNAK::
METODE PENDETEKSIAN KENDARAAN::
SEGMENTATION
Thresholding dengan menggunakan Otsu Threshold
Metode Otsu Threshold menentukan secara otomatis nilai ambang batas (Threshold) berdasarkan nilai Intensitas histogram citra masukan.
OTSU Threshold
ALUR KERJA
::
PERANCANGAN PERANGKAT LUNAK::
METODE PENDETEKSIAN KENDARAAN::
SEGMENTATION
[CONT]• Erosi dilakukan untuk menghilangakan noise pada citra.
• Dilasi dilakukan untuk menutupi daerah piksel yang “berlubang” sehingga berbentuk pejal.
Erosi & Dilasi
Erosi + Dilasi
ALUR KERJA
::
PERANCANGAN PERANGKAT LUNAK::
METODE PENDETEKSIAN KENDARAAN::
DETEKSI KENDARAAN
• N didapatkan dari menghitung jumlah piksel bernilai 255 pada ROI / Daerah deteksi.
• Nilai Threshold kendaraan didapatkan dari persentase luas ROI / Daerah deteksi.
• Flag digunakan untuk mengetahui ada tidaknya kendaraan yang melintas.
Gambar 3. Algoritma luasan piksel
ALUR KERJA
::
PERANCANGAN PERANGKAT LUNAK::
METODE PENDETEKSIAN KENDARAAN::
DETEKSI KENDARAAN
[CONT]• Nilai N didapatkan dari hasil pengecekan piksel yang bernilai 255 pada ROI.
• Nilai Threshold kendaraan ditentunkan berdasarkan nilai sensivitas deteksi yang digunakan.
• Sensivitas Deteksi merupakan parameter yang digunakan untuk menentukan nilai Threshold berdasarkan persentase dari total luas ROI.
• Contoh:
• Luas ROI yang digunakan sebesar 800x800 piksel.
• Sensivitas deteksi yang digunakan 80%
• Threshold = 800 * 800 * 80 / 100 = 512000 piksel.
• Sehingga apabila nilai N > Threshold => dianggap ada Kendaraan yang melintas.
ALUR KERJA
::
PERANCANGAN STRUKTUR DATA
Gambar 7. Contoh data yang dikirim a. Tipe simpangan.
b. ID persimpangan.
c. ID posisi kamera.
d. Kondisi kendaraan.
Gambar 6. Struktur data
ALUR KERJA
::
PERANCANGAN APLIKASI WEB
Gambar 3. Tampilan halaman web untuk konfigurasi program.
ALUR KERJA
::
PERANCANGAN APLIKASI WEB
Gambar 4. Tampilan halaman web untuk konfigurasi alamat jaringan.
ALUR KERJA
::
PERANCANGAN APLIKASI WEB
Gambar 5. Tampilan halaman web untuk pengaturan
PENGUJIAN DAN ANALISA
•
Pengujian akan dilakukan dalam beberapa bagian:• Pengujian Background Reconstruction
• Pengujian Citra Latar.
• Pengujian ketepatan program menggunakan Video Uji
• Pengujian ketepatan program secara real-time.
• Pengujian aplikasi web.
PENGUJIAN DAN ANALISA
::
PENGUJIAN BACKGROUND RECONSTRUCTION
•
Tujuan pengujian ini untuk mengetahui waktu yang dibutuhkan proses Background Reconstruction untuk menciptakan sebuah citra latar dengan jumlah frame masukan yang berbeda serta menunjukkan perbedaan hasil pada beda frame yangdigunakan.
•
Pengujian dilakukan dengan melakukan proses Background Reconstruction, kemudian dilakukan perhitungan terhadap waktu yang dibutuhkan proses.•
Proses perhitungan waktu dilakukan oleh sistem sehingga ketepatan waktu dapat diandalkan.•
Pengujian dilakukan secara real-time (streaming).PENGUJIAN DAN ANALISA
::
PENGUJIAN BACKGROUND RECONSTRUCTION
Tabel 1. Pengujian Background reconstruction. Nilai dalam satuan detik.
Pengujian Ke
Frame
50 100 200 300
1 3 6 12 19
2 3 7 12 19
3 3 6 12 19
PENGUJIAN DAN ANALISA
::
PENGUJIAN BACKGROUND RECONSTRUCTION
[CONT]
Gambar 8. Citra menggunakan 50 frame Gambar 9. Citra menggunakan 100 frame
PENGUJIAN DAN ANALISA
::
PENGUJIAN BACKGROUND RECONSTRUCTION
[CONT]
Gambar 10. Citra menggunakan 200 frame Gambar 11. Citra menggunakan 300 frame
PENGUJIAN DAN ANALISA
::
PENGUJIAN BACKGROUND RECONSTRUCTION:: ANALISA DATA
•
Semakin banyak frame yang akan diproses sebagai masukan padaBackground Reconstruction, maka akan semakin besar waktu yang dibutuhkan dalam proses pembuatan citra latar.
•
Penggunaan Frame yang terlalu sedikit (100 frame kebawah) akan membuat citra latar gelap sehingga kemungkinan besar membuat kesalahan padaproses segmentasi kendaraan.
PENGUJIAN DAN ANALISA
::
PENGUJIAN CITRA LATAR
•
Tujuan pengujian ini adalah untuk menguji citra latar hasil proses Background Reconstruction pada proses Segmentation apakah baik digunakan sebagai citra latar atau tidak.•
Pengujian dilakukan dengan melakukan proses Segmentation pada masing- masing citra latar yang telah dihasilkan sebelumnya.PENGUJIAN DAN ANALISA
::
PENGUJIAN CITRA LATAR
[CONT]Gambar 12. Segmentasi menggunakan 50 frame Gambar 13. Segmentasi menggunakan 100 frame
PENGUJIAN DAN ANALISA
::
PENGUJIAN CITRA LATAR
[CONT]Gambar 14. Segmentasi menggunakan 200 frame Gambar 15. Segmentasi menggunakan 300 frame
PENGUJIAN DAN ANALISA
::
PENGUJIAN CITRA LATAR::
ANALISA DATA
•
Hasil segmentasi pada citra latar 50 frame dan 100 frame dikatakan masih kurang baik.•
Berdasarkan hipotesa pada analisa sebelumnya, penggunaan citra latar 50 frame dan 100 frame menyebabkan kesalahan pada proses segmentasi.•
Hal tersebut dikarenakan tingkat kecerahan citra masih belum sempurna.PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI
•
Tujuan dari pengujian ini adalah untuk mengetahui pengaruh Resolusi dan FPS (Frame per Second) terhadap hasil perhitungan program.•
Hasil deteksi kendaraan oleh program nantinya akan dibandingkan dengan hasil perhitungan manual.•
Menggunakan video uji agar mempermudah dalam mengubah resolusi dan frame ratePENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI::
PENGUJIAN BEDA FPS
Tabel 3. Hasil deteksi kendaraan menggunakan program Tabel 2. Hasil
perhitungan manual
Grafik 1. Grafik galat siang hari Grafik 2. Grafik galat malam hari
PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI::
PENGUJIAN BEDA FPS
PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI::
PENGUJIAN BEDA FPSANALISA DATA
•
Perbedaan FPS menyebabkan kesalahan deteksi apabila ketika frame(t) terdeteksi kendaraan dan frame (t+1) juga terdeteksikendaraan, padahal pada saat frame (t+1) kendaraan yang terdeteksi bukanlah kendaraan yang terdeteksi pada saat frame(t).
•
Galat yang terjadi juga disebabkan oleh kecepatan kendaraan yang tinggi ketika melintas daerah deteksi.PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI::
PENGUJIAN BEDA RESOLUSI
Tabel 4. Hasil
perhitungan manual
Tabel 5. hasil deteksi kendaraan menggunakan luasan piksel
PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI::
PENGUJIAN BEDA RESOLUSI
Grafik 3. Grafik galat untuk perbedaan resolusi
PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI::
PENGUJIAN BEDA RESOLUSI::
ANALISA DATA
Resolusi 320 x 240
Resolusi 640 x 512
Resolusi 1280 x 1024
• Segmentasi kendaraan pada resolusi 1280 x 1024 menghasilkan segmentasi yang lebih baik namun tidak menghasilkan kendaraan yang pejal.
• Pada resolusi 320 x 240 kendaraan lebih pejal namun memungkinkan terjadi
kesalahan dalam proses deteksi terutama pada kendaran beroda 2.
• Dapat dilihat pada grafik galat, bahwa penurunan Resolusi meningkatkan galat.
PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PROGRAM SECARA REAL-TIME
•
Tujuan dari pengujian ini untuk menguji sistem pada kondisi real-time.•
Pengujian dilakukan di jembatan pejalan kaki.•
Pengujian dilakukan di dua tempat, di Jalan Urip Sumoharjo dan di Jalan Basuki Rahmat, Surabaya.•
Pengujian dilakukan pada berbeda tingkat sensivitas.PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PROGRAM SECARA REAL-TIME
[CONT]
•
IP Camera dihubungkan SBC, kemudian sistem pendeteksian dijalankan.•
Hasil pendeteksian dikirim menuju Dummy Server.•
Dummy Server berperan sebagai penerima data sekaligus penghitung kendaraan yang melintas.•
Di saat yang sama kamera 2 merekam kondisi jalan raya untuk nantinya dibandingkan dengan hasil perhitungan sistem.PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PROGRAM SECARA REAL-TIME
[CONT]
Sensivitas
deteksi Lane 1 Lane 2 Lane 3 Lane 4
70% 4 1 6 0
80% 5 2 1 0
90% 1 12 3 0
Tabel 12. Galat Absolut Pagi Hari
Sensivitas
deteksi Lane 1 Lane 2 Lane 3 Lane 4 70% 25.00% 6.67% 100.00% 0.00%
80% 35.71% 10.00% 14.29% 0.00%
90% 8.33% 52.17% 50.00% 0.00%
Tabel 13.Persentase Galat Pagi Hari
Sensivitas
deteksi Lane 1 Lane 2 Lane 3 Lane 4
80% 12 7 2 2
90% 13 9 7 2
Sensivitas
deteksi Lane 1 Lane 2 Lane 3 Lane 4 80% 44.44% 25.93% 12.50% 50.00%
90% 44.83% 32.14% 41.18% 66.67%
Tabel 16. Persentase Galat Siang Hari Tabel 15. Galat Absolut Siang Hari
Sensivitas
deteksi Akurasi 70% 71.05%
80% 80.95%
90% 61.90%
Sensivitas
deteksi Akurasi 80% 68.92%
90% 59.74%
Tabel 14. Persentase Akurasi
Tabel 17. Persentase Akurasi Pengujian pada jalan Urip Sumoharjo
Less count Over count
PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PROGRAM SECARA REAL-TIME
[CONT]
Sensivitas
deteksi Lane 1 Lane 2 Lane 3 Lane 4
70% 2 3 11 2
80% 0 6 9 0
90% 10 2 1 0
Tabel 18. Galat Absolut Malam Hari
Sensivitas
deteksi Lane 1 Lane 2 Lane 3 Lane 4 70% 7.14% 11.54% 84.62% 100.00%
80% 0.00% 14.63% 90.00% 0.00%
90% 50.00% 8.00% 10.00% 0.00%
Tabel 19. Persentase Galat Malam Hari
Sensivitas
deteksi Akurasi 70% 73.91%
80% 82.14%
90% 78.33%
Tabel 20. Persentase Akurasi Pengujian pada jalan Urip Sumoharjo
PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PROGRAM SECARA REAL-TIME
[CONT]
Sensivitas
deteksi Lane 1 Lane 2 Lane 3 Lane 4
70% 2 7 0 2
80% 2 3 2 3
90% 2 5 9 9
Tabel 28. Galat Absolut Malam Hari
Sensivitas
deteksi Lane 1 Lane 2 Lane 3 Lane 4 70% 7.69% 23.33% 0.00% 12.50%
80% 9.09% 12.50% 8.70% 27.27%
90% 10.00% 33.33% 32.14% 56.25%
Tabel 29. Persentase Galat Malam Hari
Sensivitas
deteksi Lane 1 Lane 2 Lane 3 Lane 4
80% 9 4 3 2
90% 12 8 14 3
Sensivitas
deteksi Lane 1 Lane 2 Lane 3 Lane 4 80% 32.14% 21.05% 10.00% 8.33%
90% 34.29% 36.36% 50.00% 20.00%
Tabel 26. Persentase Galat Siang Hari Tabel 25. Galat Absolut Siang Hari
Sensivitas
deteksi Akurasi 70% 88.30%
80% 87.50%
90% 68.35%
Sensivitas
deteksi Akurasi 80% 82.18%
90% 63.00%
Tabel 30. Persentase Akurasi Tabel 27. Persentase Akurasi Pengujian pada jalan Basuki Rahmat
•
Peningkatan sensivitas deteksi dapat mengurangi galat pada pendeteksian kendaraan beroda 2, namun juga menyebabkan kendaraan beroda 4 sulit terdeteksi.•
Pedeteksian kendaraan pada saat cahaya matahari tegak lurus dengan jalan, dapat menyebabkan galat pada pendeteksian kendaraan, terutama pada kendaraan yang berwarna gelap (hitam).•
Penggunaan sensivitas 80% dinilai sudah cukup baik untuk digunakan sebagai nilai Threshold kendaraan.PENGUJIAN DAN ANALISA
::
PENGUJIAN AKURASI PROGRAM SECARA REAL-TIME::
ANALISA DATA
PENGUJIAN DAN ANALISA
::
PENGUJIAN APLIKASI WEB
•
Tujuan pengujian ini untuk menguji kemampuan dari aplikasi web yang telah dirancang.•
Masing-masing halaman web akan diuji berdasarkan masing-masing fungsi yang dimiliki.•
Ada empat tahapan pengujian yang dilakukan pada aplikasi web: Save Configuration, Load Configuration, Save Network Setting, Save ROI Position.PENGUJIAN DAN ANALISA
::
PENGUJIAN APLIKASI WEB
[CONT]Nama Pengujian Hasil Pengujian Save Configuration Berhasil Load Configuration Berhasil Save Network Setting Berhasil Save ROI Position Berhasil
Hasil pengujian
Tabel 31. Hasil pengujian pada aplikasi web
PENGUJIAN DAN ANALISA
::
PENGUJIAN APLIKASI WEB::
SAVE CONFIGURATION
PENGUJIAN DAN ANALISA
::
PENGUJIAN APLIKASI WEB::
LOAD CONFIGURATION
PENGUJIAN DAN ANALISA
::
PENGUJIAN APLIKASI WEB::
SAVE NETWORK SETTING
PENGUJIAN DAN ANALISA
::
PENGUJIAN APLIKASI WEB::
SAVE ROI POSITION
•
Masing-masing fungsi pada masing-masing halaman web telah berjalan dengan baik.•
Aplikasi web sudah dapat digunakan untuk mempermudah konfigurasi pada perangkat lunak SBC.PENGUJIAN DAN ANALISA
::
PENGUJIAN APLIKASI WEB::
ANALISA DATA
PENUTUPAN
::
KESIMPULAN
• Meningkatkan penggunaan frame yang diproses pada Background Reconstruction, maka akan meningkatkan waktu yang dibutuhkan dalam proses Background Reconstruction.
• Citra latar hasil Background Reconstruction pada 200 frame menghasilkan citra latar yang dapat dikatakan baik dilihat pada hasil pengujian segmentasi kendaraan.
• Penurunan nilai FPS memungkinkan peningkatan galat pada kondisi jalan yang kurang ramai, akibat kecepatan kendaraan yang lebih cepat daripada kecepatan tangkap kamera.
• Penurunan Resolusi memungkinkan peningkatan galat pada saat pendeteksian kendaraan.
• Peningkatan sensivitas deteksi dapat mengurangi galat pada pendeteksian kendaraan beroda 2, namun juga menyebabkan kendaraan beroda 4 sulit terdeteksi.
• Penggunaan sensivitas 80% dinilai sudah cukup baik untuk digunakan sebagai nilai Threshold kendaraan.
• Pedeteksian kendaraan pada saat cahaya matahari tegak lurus dengan jalan, dapat menyebabkan galat pada pendeteksian kendaraan, terutama pada kendaraan yang berwarna gelap (hitam).
• Aplikasi web dapat berjalan dengan baik, dan dapat digunakan untuk mempermudah pengaturan pada perangkat lunak SBC.