Mengenal Object Tracking Putu Yuwono Kusmawan 2015.11.28 putuyuwono@yahoo.com
Ringkasan Pengertian Penerapan Tipe/Jenis Tantangan Contoh Implementasi Arah Perkembangan
Apa itu Object Tracking? Proses pelacakan lokasi objek (target) dari gambar satu ke gambar lainnya. Data yang dibutuhkan: Minimal 2 gambar Deskripsi target Gambar 1 target Gambar 2 target
Penerapan Object Tracking Bidang Keamanan Bidang Lalu-lintas Bidang Robotik Bidang Kesehatan Bidang Pemasaran/Periklanan
Penerapan: Bidang Keamanan Automatic Pan-Tilt-Zoom Camera Kamera secara otomatis bergerak mengikuti gerakan target. Video: https://www.youtube.com/watch?v=9D6DdbwpTNo
Penerapan : Bidang Lalu-lintas Melacak kendaraan & mendeteksi kemacetan. Video: https://www.youtube.com/watch?v=z1Cvn3_4yGo
Penerapan : Bidang Robotik Sistem navigasi robot. Video: https://www.youtube.com/watch?v=3BJFxnap0AI
Penerapan: Bidang Kesehatan Mendeteksi & melacak sel tumor/kanker. Video: https://www.youtube.com/watch?v=qILkFdnzWEA
Bidang Pemasaran/Periklanan Melacak jumlah pengunjung. Video: https://www.youtube.com/watch?v=OWab2_ete7s
Jenis Object Tracking Karakteristik Kamera Karakteristik Target Jumlah: satu vs banyak kamera. Posisi: kamera statis vs dinamis. Karakteristik Target Jumlah: satu vs banyak target. Bentuk: target rigid vs non-rigid
Contoh: Satu vs Banyak Kamera Satu Kamera Banyak Kamera Satu Lokasi. Sudut pandang cukup luas. Satu lokasi atau lebih. Sudut pandang yang berbeda antara kamera satu dgn lainnya. Ruangan Kamera 1 Kamera 2 Ruangan Kamera Ruangan 1 Ruangan 2 Kamera 1 Kamera 2 Dibutuhkan kalibrasi kamera apabila sudut pandang saling beririsan.
Contoh: Kamera Statis vs Dinamis Kamera Dinamis Posisi kamera tidak berubah. Lebih mudah untuk membedakan foreground dgn background. Implementasi lebih mudah. Posisi kamera dapat berubah-ubah. Subtraksi background lebih rumit. Diperlukan deskripsi target yang baik untuk membedakan foreground dgn background.
Contoh: Satu vs Banyak Target Satu Target Banyak Target Target telah ditentukan sebelumnya. Contoh: warna, bentuk. Registrasi target hanya dilakukan diawal. Target tidak ditentukan. Registrasi target baru dapat dilakukan sewaktu-waktu. Mulai Registrasi Target Lacak Berhenti? Selesai ya tidak Baru? Deteksi Mulai Registrasi Target Lacak Berhenti? Selesai ya tidak
Contoh: Target Rigid vs Non-rigid Target Non-rigid Tidak berubah bentuk. Berubah ukuran. Berubah bentuk. Berubah ukuran.
Representasi Target Ada beberapa macam: Titik: satu atau lebih. Bentuk primitif: kotak, elips, dll. Siluet dan kontur: Kontur adalah representasi dari tepian objek. Siluet adalah daerah di dalam kontur. Artikulasi beberapa bentuk primitif. Model skeleton.
Illustrasi Representasi Target Satu Titik Beberapa Titik Bentuk Kotak Bentuk Elips Kontur Siluet Artikulasi Elips Skeleton
Tantangan Object Tracking Perubahan penampilan. Occlusion. Pencahayaan dan noise. Kompleksitas bentuk target (rigid/non-rigid). Kompleksitas gerakan target. Kebutuhan real-time processing.
Perubahan Penampilan Kenampakan target selama beraktifitas tidak selalu sama. Gambar 1: Tampilan awal target. Gambar 2: Tampilan target di frame selanjutnya.
Occlusion Sebagian/seluruh bagian dari target terhalang oleh objek lain. Gambar 1: Target nampak 100%. Gambar 2: Sebagian tubuh target terhalang objek lain.
Perubahan Pencahayaan Perubahan faktor pencahayan dari lingkungan sekitar target. Cahaya di luar ruangan yang sangat bervariasi. Sumber: https://gilscvblog.files.wordpress.com/2015/01/image5-leuven.png
Contoh Implementasi Metode: Perangkat: Object tracking based on motion detection. Perangkat: CCTV dome camera 360⁰ view angle. OpenCV (http://opencv.org/). Bahasa Pemrograman C++ . Dome Camera
Contoh Gambar Hasil tangkapan CCTV dome camera 360⁰
Langkah-langkah Ekstraksi foreground Eliminasi noise dan bayangan Deteksi target Lacak target
Ekstraksi Foreground Tujuan: Metode: Menghasilkan gambar sederhana Objek bergerak (foreground mask): pixel=1 Objek diam (background mask): pixel=0. Metode: Improved Adaptive Gaussian Mixture Model karya Zivkovic.Z OpenCV: BackgroundSubtractorMOG2 Mampu mendeteksi bayangan objek yang bergerak Sumber: http://docs.opencv.org/master/d1/dc5/tutorial_background_subtraction.html#gsc.tab=0
Hasil Ekstraksi Foreground Input: Hasil tangkapan asli dari CCTV. Output: Hasil ekstraksi foreground.
Eliminasi Noise & Bayangan Tujuan: Menghilangkan bayangan dan noise pada gambar. Metode: Noise removal: Smoothing: Gaussian Blur Shadow removal: Threshold to Zero: jika pixel[i,j] < threshold, pixel[i,j] = 0. Sumber: http://docs.opencv.org/2.4/doc/tutorials/imgproc/threshold/threshold.html http://docs.opencv.org/2.4/doc/tutorials/imgproc/gausian_median_blur_bilateral_filter/gausian_median_blur_bilateral_filter.html
Hasil Eliminasi Bayangan & Noise Input: Hasil ekstraksi foreground (awal). Output: Hasil eliminasi bayangan & noise.
Contoh: Hasil olahan cvBlob. Deteksi Target Definisi target: Semua objek yang bergerak. Bentuk target dapat bervariasi. Metode: CvBlob (https://code.google.com/p/cvblob) Contoh: Hasil olahan cvBlob.
Hasil Deteksi Target Input: Hasil eliminasi bayangan & noise. Output: Hasil deteksi target.
Lacak Target Metode: CvTrack (termasuk dalam CvBlob) Mengacu pada hasil riset Senior. A, et.al. “Appearance model for occlusion handling”
Hasil Pelacakan Target Input: Hasil dektsi target Output: Hasil pelacakan target
Demonstrasi Keseluruhan
Kelebihan dan Kekurangan Cocok untuk melacak target yg selalu bergerak. Mampu melacak target yang non-rigid. Mampu melacak gerakan target yang menentu. Dapat dilakukan secara real-time. Kekurangan: Sangat bergantung pada proses ekstraksi foreground. Kurang cocok untuk melacak target yg tidak bergerak. Kurang mampu menangani collision antar-target.
Arah Perkembangan Object Tracking Perbaikan metode yang sudah ada: Peningkatan akurasi Kemampuan untuk menangani kasus yg lebih rumit. Penggunaan beragam kamera: Kamera Infra-red Kamera 3D (RGB-D) Penerapan diberbagai bidang baru: Robotics, UAV (drone) Smart Entertainment System (auto-caster)
Quote “There is no such tracking algorithm that can successfully handle all scenarios”
Referensi Yilmaz. A, et.al, “Object Tracking: A Survey,” ACM Computing Surveys. Zivkovic. Z, et.al, “Improved Adaptive Gaussian Mixture Model for Background Subtraction,” ICPR, 2004. Senior. A, et.al, “Appearance Models for Occlusion Handling,” Image and Vision Computing, 2006. Kalal. Z, et.al, “Tracking-Learning-Detection,” IEEE Trans on Pattern Analysis and Machine Intl., 2012.
Kontak Diskusi Bagi yang ingin sharing dan diskusi lebih lanjut, silakan hubungi: Twitter: @SocaResearch Email: soca.research@gmail.com Bagi yang ingin bergabung dengan mailing list kami (SOCA-research@googlegroups.com), silakan hubungi admin kami di: soca.research@gmail.com Dengan Subject Email ”[Permohonan Subscribe Milis]“
Seeing is believing. Listening is understanding. Sharing is inspiring. © 2015 Seeing is believing. Listening is understanding. Sharing is inspiring.