~~NOTOC~~ ====== Surveillance System with a Static Camera ====== This is a pretty classic computer vision problem that combines detection, tracking, filtering, recognition, and logical parsing together into one system whose objective is to make sense of the comings and goings of people or objects within a scene. It is one of the few of the modules that requires some nominal level of system integration to get running properly. Matlab has Simulink code that does this for the case of abandoned object detection, which is [[http://www.mathworks.com/help/vision/examples/abandoned-object-detection.html| documented online]], so you can see one expected outcome of a surveillance system. /* I also found this might be useful too: http://studentdavestutorials.weebly.com/particle-filter-with-matlab-code.html This website covers areas such as Bayes rule, Kalman filter and particle filter with short videos and Matlab implementation. The tracker parts(Kalman filter and particle filter) may be included to learning modules. */ - Background estimation and subtraction. - Target tracking - Target modeling - Target recognition ===== Learning Modules ===== ---------------------------- The sequence below introduces one aspect of surveillance systems at a time. They direct you to Matlab code that sometimes implements multiple steps at a time. It is recommended that you implement each one individually to get a sense for what role it plays in the entire system, rather than just copy/paste the whole system. Module Set #1: A Basic (Foreground Detection-Based) Surveillance System - [[ECE4580:Module_Surveillance:M1W1|Week #1]]: Setup, Data, and Basics - [[ECE4580:Module_Surveillance:M1W2|Week #2]]: Foreground Object Extraction - [[ECE4580:Module_Surveillance:M1W3|Week #3]]: Optimization-Based Data Association - [[ECE4580:Module_Surveillance:M1W4|Week #4]]: Adding Temporal Dynamics via a Kalman Filter Module Set #2: Target Modelling and Re-Identification - [[ECE4580:Module_Surveillance:M2W1|Week #1]]: Differentiating People - [[ECE4580:Module_Surveillance:M2W2|Week #2]]: Testing the Person Model - [[ECE4580:Module_Surveillance:M2W4|Week #3]]: Re-Identification in Action - [[ECE4580:Module_Surveillance:M2W3|Week #4]]: Enhancing Tracking Module #3: Merging and Splitting - TBD Module #4: Tracking vs Detection - TBD. ===== Additional Information ===== ---------------------------------- ==== External Videos ===== Sample videos from past teams: * Youtube Channel for [[https://www.youtube.com/channel/UCPZsWA-Bv8CjZ4gfrwZnExw | Team DT]] from ECE4580, Fall 2014. Presentations by researchers in computer vision * A good example of how to present your results. See the visuals that the [[https://www.youtube.com/watch?v=Z9X3IhHytrQ|Discrete-Continuous Optimization]] algorithm author uses. Plus this [[https://www.youtube.com/watch?v=Z9X3IhHytrQ|one]]. * Another [[https://www.youtube.com/watch?v=Z9X3IhHytrQ|example]]. * .. and another [[ https://www.youtube.com/watch?v=InqV34BcheM|example]]. Online talks * [[https://www.youtube.com/watch?v=f7PHLx3HoyQ|Oral defense of Guang Shu @ UCF]]. Advertisement Videos of companies that provide surveillance algorithms as a service: * [[https://www.youtube.com/watch?v=HWT5ZJG7CRg|LightHaus Logic]] ==== Extras ===== * Other peoples tips on parameter selection for [[https://www.mathworks.com/matlabcentral/answers/169092-how-to-choose-the-parameters-of-vision-foregrounddetector|MOG foreground detector]]. * Implement on a [[http://stackoverflow.com/questions/20607080/how-to-use-matlab-vision-foregrounddetector-with-webcam|live feed]]? Does it run fast enough, or is that not necessary? --------- ;#; [[ECE4580:Modules|ECE4580 Learning Modules]] ;#;