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 Pembahasan Desain sistem dan implementasi Alur Kerja Pengujian 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 media komputasi 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 Board Computer 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. Page 10
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. Page 11
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. Page 12
ALUR KERJA :: PERANCANGAN PERANGKAT LUNAK :: REKONSTRUKSI CITRA LATAR [CONT] Frame 1 Frame 2 Frame n 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. Page 13
ALUR KERJA :: PERANCANGAN PERANGKAT LUNAK :: METODE PENDETEKSIAN KENDARAAN Proses pendeteksian kendaraan dibagi beberapa tahapan: Background Subtraction. Segmentation. Deteksi Kendaraan. Page 14
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. Page 15
ALUR KERJA :: PERANCANGAN PERANGKAT LUNAK :: METODE PENDETEKSIAN KENDARAAN :: SEGMENTATION Thresholding dengan menggunakan Otsu Threshold OTSU Threshold Metode Otsu Threshold menentukan secara otomatis nilai ambang batas (Threshold) berdasarkan nilai Intensitas histogram citra masukan. Page 16
ALUR KERJA :: PERANCANGAN PERANGKAT LUNAK :: METODE PENDETEKSIAN KENDARAAN :: SEGMENTATION [CONT] Erosi & Dilasi Erosi + Dilasi Erosi dilakukan untuk menghilangakan noise pada citra. Dilasi dilakukan untuk menutupi daerah piksel yang berlubang sehingga berbentuk pejal. Page 17
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 Page 18
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. Page 19
ALUR KERJA :: PERANCANGAN STRUKTUR DATA Gambar 6. Struktur data a. Tipe simpangan. b. ID persimpangan. c. ID posisi kamera. d. Kondisi kendaraan. Gambar 7. Contoh data yang dikirim Page 20
ALUR KERJA :: PERANCANGAN APLIKASI WEB Gambar 3. Tampilan halaman web untuk konfigurasi program. Page 21
ALUR KERJA :: PERANCANGAN APLIKASI WEB Gambar 4. Tampilan halaman web untuk konfigurasi alamat jaringan. Page 22
ALUR KERJA :: PERANCANGAN APLIKASI WEB Gambar 5. Tampilan halaman web untuk pengaturan ROI. Page 23
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. Page 24
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 yang digunakan. 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). Page 25
PENGUJIAN DAN ANALISA :: PENGUJIAN BACKGROUND RECONSTRUCTION Pengujian Ke Frame 50 100 200 300 1 3 6 12 19 2 3 7 12 19 3 3 6 12 19 Tabel 1. Pengujian Background reconstruction. Nilai dalam satuan detik. Page 26
PENGUJIAN DAN ANALISA :: PENGUJIAN BACKGROUND RECONSTRUCTION [CONT] Gambar 8. Citra menggunakan 50 frame Gambar 9. Citra menggunakan 100 frame Page 27
PENGUJIAN DAN ANALISA :: PENGUJIAN BACKGROUND RECONSTRUCTION [CONT] Gambar 10. Citra menggunakan 200 frame Gambar 11. Citra menggunakan 300 frame Page 28
PENGUJIAN DAN ANALISA :: PENGUJIAN BACKGROUND RECONSTRUCTION :: ANALISA DATA Semakin banyak frame yang akan diproses sebagai masukan pada Background 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 pada proses segmentasi kendaraan. Page 29
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 masingmasing citra latar yang telah dihasilkan sebelumnya. Page 30
PENGUJIAN DAN ANALISA :: PENGUJIAN CITRA LATAR [CONT] Gambar 12. Segmentasi menggunakan 50 frame Gambar 13. Segmentasi menggunakan 100 frame Page 31
PENGUJIAN DAN ANALISA :: PENGUJIAN CITRA LATAR [CONT] Gambar 14. Segmentasi menggunakan 200 frame Gambar 15. Segmentasi menggunakan 300 frame Page 32
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. Page 33
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 rate Page 34
PENGUJIAN DAN ANALISA :: PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI :: PENGUJIAN BEDA FPS Tabel 2. Hasil perhitungan manual Tabel 3. Hasil deteksi kendaraan menggunakan program Page 35
PENGUJIAN DAN ANALISA :: PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI :: PENGUJIAN BEDA FPS Grafik 1. Grafik galat siang hari Grafik 2. Grafik galat malam hari Page 36
PENGUJIAN DAN ANALISA :: PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI :: PENGUJIAN BEDA FPS ANALISA DATA Perbedaan FPS menyebabkan kesalahan deteksi apabila ketika frame(t) terdeteksi kendaraan dan frame (t+1) juga terdeteksi kendaraan, 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. Page 40
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 Page 41
PENGUJIAN DAN ANALISA :: PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI :: PENGUJIAN BEDA RESOLUSI Grafik 3. Grafik galat untuk perbedaan resolusi Page 42
PENGUJIAN DAN ANALISA :: PENGUJIAN AKURASI PENGHITUNGAN PROGRAM MENGGUNAKAN VIDEO UJI :: PENGUJIAN BEDA RESOLUSI :: ANALISA DATA Segmentasi kendaraan pada resolusi 1280 x 1024 menghasilkan segmentasi yang lebih baik namun tidak menghasilkan kendaraan yang pejal. Resolusi 320 x 240 Resolusi 1280 x 1024 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. Resolusi 640 x 512 Page 43
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. Page 44
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. Page 45
PENGUJIAN DAN ANALISA :: PENGUJIAN AKURASI PROGRAM SECARA REAL-TIME [CONT] Pengujian pada jalan Urip Sumoharjo 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 Akurasi 70% 71.05% 80% 80.95% 90% 61.90% Tabel 14. Persentase Akurasi Sensivitas deteksi Lane 1 Lane 2 Lane 3 Lane 4 80% 12 7 2 2 90% 13 9 7 2 Tabel 15. Galat Absolut Siang Hari 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 Sensivitas deteksi Akurasi 80% 68.92% 90% 59.74% Tabel 17. Persentase Akurasi Less count Over count Page 48
PENGUJIAN DAN ANALISA :: PENGUJIAN AKURASI PROGRAM SECARA REAL-TIME [CONT] Pengujian pada jalan Urip Sumoharjo 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 Page 49
PENGUJIAN DAN ANALISA :: PENGUJIAN AKURASI PROGRAM SECARA REAL-TIME [CONT] Pengujian pada jalan Basuki Rahmat Sensivitas deteksi Lane 1 Lane 2 Lane 3 Lane 4 80% 9 4 3 2 90% 12 8 14 3 Tabel 25. Galat Absolut Siang Hari 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 80% 32.14% 21.05% 10.00% 8.33% 90% 34.29% 36.36% 50.00% 20.00% Sensivitas deteksi Tabel 26. Persentase Galat Siang Hari 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 Akurasi 80% 82.18% 90% 63.00% Tabel 27. Persentase Akurasi Sensivitas deteksi Akurasi 70% 88.30% 80% 87.50% 90% 68.35% Tabel 30. Persentase Akurasi Page 51
PENGUJIAN DAN ANALISA :: PENGUJIAN AKURASI PROGRAM SECARA REAL-TIME :: ANALISA DATA 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. Page 52
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. Page 53
PENGUJIAN DAN ANALISA :: PENGUJIAN APLIKASI WEB[CONT] Hasil pengujian Nama Pengujian Save Configuration Load Configuration Save Network Setting Save ROI Position Hasil Pengujian Berhasil Berhasil Berhasil Berhasil Tabel 31. Hasil pengujian pada aplikasi web Page 54
PENGUJIAN DAN ANALISA :: PENGUJIAN APLIKASI WEB :: SAVE CONFIGURATION Page 55
PENGUJIAN DAN ANALISA :: PENGUJIAN APLIKASI WEB :: LOAD CONFIGURATION Page 56
PENGUJIAN DAN ANALISA :: PENGUJIAN APLIKASI WEB :: SAVE NETWORK SETTING Page 57
PENGUJIAN DAN ANALISA :: PENGUJIAN APLIKASI WEB :: SAVE ROI POSITION Page 58
PENGUJIAN DAN ANALISA :: PENGUJIAN APLIKASI WEB :: ANALISA DATA Masing-masing fungsi pada masing-masing halaman web telah berjalan dengan baik. Aplikasi web sudah dapat digunakan untuk mempermudah konfigurasi pada perangkat lunak SBC. Page 59
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. Page 60
TERIMA KASIH Page 61