Metode ini menggunakan selisih latar dan SVM untuk mendeteksi kendaraan secara otomatis pada video pengawasan jalan raya. Selisih latar digunakan untuk mengidentifikasi contoh positif dan negatif kendaraan yang kemudian dilatihkan ke SVM untuk klasifikasi. Sliding window digunakan untuk mendeteksi kendaraan pada blob besar. Evaluasi pada tiga video menunjukkan akurasi deteksi antara 90-96%.
Robust Vehicle Detection Using Unsupervised Learning
1. Robust Vehicle Detection for Tracking in
Highway Surveillance Videos using
Unsupervised Learning
Birgi Tamersoy and J.K. Aggarwal
IEEE Advanced Video and Signal Based
Surveillance
2009
5. Pendahuluan
• Sistem pengawasan lalu lintas dipasang untuk
mendukung kualitas perjalanan jarak jauh
• Sudah banyak penelitian dalam sistem
monitoring jalan raya dan ITS
• Paper ini fokus pada deteksi kendaraan pada
video pengawasan jalan raya
– Bagian krusial dalam sistem monitoring lalu lintas
6. Penelitian Sebelumnya
• Koller et al: Algoritma pelacakan berbasis deformable contour
– Memperkenalkan langkah occlusion reasoning, yaitu penumpukan (oklusi)
parsial yang diselesaikan dengan informasi prediksi gerakan
– Dalam scene yang penuh dengan kendaraan, algoritma ini terkena banyak
error
• Coifman dan Beymer: Algoritma pelacakan berbasis fitur
– Mendeteksi fitur-fitur sudut dan mengelompokkan berdasarkan batasan-batasan
tertentu (common motion constraint)
• Jun et al: Gabungan segmentasi berbasis fitur dengan deteksi berbasis
selisih latar
– Memisahkan irregular blobs kemudian meng-cluster berdasarkan common
motion constraint dan fitur-fitur yang telah diambil
– Sangat bergantung pada akurasi dari deteksi fitur dan pencocokkan, terpapar
error pada video yang berresolusi rendah
7. Penelitian Sebelumnya
• Song dan Nevatia: Pendekatan deteksi berbasis
model 3D dengan selisih latar
– Menggunakan templat 2D dari model kendaraan 3D pada
foreground mask
– Menggunakan templat kontur, sehingga kinerjanya pada
scene yang penuh dan berresolusi rendah
• Papageorgiou dan Poggio: Menggunakan perspektif
pembelajaran mesin
– Sistem yang dapat dilatih dengan beberapa kelas objek
yang berbeda
– Membuat dataset untuk latihan sangat mahal
9. Metodologi
• Gambaran umum, terdiri dari dua fase,
training dan deteksi:
– Fase training:
• Contoh positif kendaraan diidentifikasi dari selisih latar
• Kemudian contoh negatif juga diambil
• Kedua set citra digunakan untuk melatih SVM
– Fase deteksi:
• Blob yang meragukan dikumpulkan
• Menggunakan binary classifier untuk mendeteksi blob
yang telah ditemukan
11. Orientasi Jalan dan Daerah Masuk
• Tahapan pre-processing
– Menggunakan deteksi tepi Canny dilanjutkan dengan
transformasi garis Hough untuk menemukan garis
dominan dari sebuah frame
– Daerah masuk ditentukan menggunakan orientasi jalan ini
dan sebuah batas atas
– Mengurangi biaya komputasi dan meningkatkan akurasi
deteksi pada saatnya nanti
12. Selisih Latar
• Digunakan versi peningkatan dari model adaptive
background mixture
– Menggunakan Mixture of Gaussian (MoG)
– Ditingkatkan dengan analisis komponen 3D (dengan waktu
menjadi dimensi ke-3)
• Menganalisis informasi spasial dan temporal
• Dapat menyesuaikan diri terhadap pencahayaan dan cuaca yang
berubah-ubah
13. SVM
• Terdiri dari dua langkah:
– Membentuk dataset positif dan negatif untuk
latihan
– Ekstraksi fitur
• Langkah yang pertama mungkin
membutuhkan pelabelan manual
– Menjadi operasi yang mahal
14. Membentuk Data Latih
• Foreground Mask pada gambar sebelumnya memiliki blob
beraneka ukuran
– Kendaraan cenderung memiliki ukuran yang sama (karena dilihat dari
kamera jauh)
– Daerah dengan blob berisi satu kendaraan akan berbeda dari yang
berisi dua kendaraan atau lebih
– Dari grafik, terlihat pemisahan antara blob untuk dataset dan bukan
(garis vertikal tidak digunakan)
15. Membentuk Data Latih
• Kemudian dari blob tersebut diambil data
positif dan negatifnya
– Diambil dengan exampling pada setiap blob
(selanjutnya disebut patch)
16. Ekstraksi Fitur
• Dari tahap sebelumnya, antara contoh positif dan negatif
warna dan bentuknya tidak begitu dapat dibedakan
– Namun memiliki orientasi dan distribusi garis yang berbeda
• Digunakan metoda histogram of oriented gradient (HOG)
untuk mengekstrak fitur dari patch yang sudah diambil
– Setiap patch dibagi ke dalam empat sel (2x2 grid)
• Untuk setiap sel, 8-bin HOG dihitung dan dinormalisasi berdasarkan
jumlah pixelnya
• Histogram tersebut dipotong dan dilatihkan ke dalam SVM
• Keuntungan metoda ini:
– Tidak membutuhkan resize
– Informasi spasial dapat diambil juga (dengan 2x2 grid)
17. Deteksi Kendaraan
• Dilakukan dalam dua langkah:
– Selisih latar (dijelaskan dalam bagian sebelumnya) dilakukan untuk
mendapatkan foreground mask
• Dihasilkan blob berukuran kecil dan besar, yang kecil dapat langsung
dideteksi, sedangkan yang besar dapat isi dua kendaraan atau lebih
– Pemrosesan untuk blob tersebut dilakukan dengan bantuan binary
classifier yang dibuat pada saat latihan
• Menggunakan pendekatan sliding windows untuk mendeteksi adanya
kendaraan pada blob berukuran besar tersebut (kendaraan yang
bertumpuk)
– Patch dibuat dari sliding windows yang dilewatkan pada blob, kemudian masing-masing
patch dilewatkan binary classifier
• Jarak antara pusat dari dua kendaraan tidak dapat melebihi threshold
jarak yang ditentukan
– Hal ini untuk mendeteksi false positive
18. Pelacakan Kendaraan
• Pada setiap frame, kendaraan dideteksi secara
terpisah (independen)
– Namun, posisi setiap kendaraan dapat diprediksi
pada frame selanjutnya dengan model percepatan
dinamis (p adalah posisi, v adalah kecepatan, dan
a adalah percepatan):
19. Pelacakan Kendaraan
• Setelah memprediksi posisi kendaraan pada frame
selanjutnya, deteksi akan menjadi lebih mudah
– Penumpukan tidak akan terlalu jauh berbeda antara satu
frame dengan frame setelahnya
– Tracking dilakukan dalam satu daerah tertentu
21. Eksperimen
• Eksperimen dilakukan pada tiga video pengawas lalu
lintas di Istanbul, Turki
– Elmali, video kualitas rendah dengan resolusi 384x288
– Halic, video kualitas menengah dengan resolusi 320x240
– Mecidiyekoy, video kualitas tinggi dengan resolusi
320x240
• Pada Halic dan Elmali, ROI (Region of Interests)
ditentukan secara otomatis, sedangkan pada
Mecidiyekoy, tidak ditentukan ROI, namun dibagi
menjadi dua daerah, yaitu atas dan bawah (top dan
bottom)
22. Eksperimen
• Selisih latar dilakukan dengan MATLAB
• Operasi SVM dilakukan dengan LIBSVM
– Untuk training, digunakan kernel linear
• Sisanya dibuat dengan C++ menggunakan
OpenCV
23. Training
• Training dilakukan pada video input sepanjang
satu menit, kecuali untuk Mecidiyekoy yang
menggunakan 600 frame saja (karena sudah
cukup)
– Hasil klasifikasi untuk latihan cukup baik, antara
87% hingga 98% untuk dataset Halic
24. Deteksi
• Untuk menghitung akurasi, 100 frame (dari 10
periode yang berbeda) dilihat, kemudian
dibandingkan dengan hasil deteksi otomatis
– Hasil deteksi memiliki sedikit false positives dan
false negatives, serta mencapai akurasi antara
90% hingga 96%
25. Hasil Deteksi
• Deteksi sangat baik,
kecuali untuk
kendaraan berukuran
besar
– Disebabkan kendaraan
besar sangat berbeda
dengan kendaraan biasa
– Ukuran detection
windows terlalu kecil
• Hasil deteksi yang baik
27. Diskusi
• Pada paper ini, telah ditunjukkan sebuah pendekatan
baru untuk deteksi kendaraan pada video
pengawasan lalu lintas jalan raya
– Terutama pada unsupervised learning framework
• Pekerjaan ini dapat dilanjutkan dengan:
– Diuji dan dievaluasi dalam kondisi yang berubah
(siang/malam, cuaca)
– Menggunakan pendekatan membagi video ke dalam
beberapa daerah/bagian untuk meningkatkan akurasi