Module #1: A Basic Surveillance System
Week #1: Setup, Data, and Basic
Explore the datasets available and select a couple of videos to use as the starting point for processing, testing, and debugging the surveillance system to be created as part of this learning module.
Meanwhile, check out this review of three simple background modeling methods. You are not advised to use the code provided when implementing the same in future activities. There are more efficient ways to do the same without resorting to as many for loops, plus the implementation needs to be packaged up for use by the overall system. Plus, the activities below utilize existing Matlab libraries to the extent possible or desirable.
As a first step, obtain the surveillance system class stub and also the main execution script. Modify the main loop code stub so it loads a video you've chosen, loops through the frames, displays the image associated the each frame, and quits when that's done. Naturally this code won't do any surveillance, but it will setup the system to do so.
As a second step, implement the basic background modeling detection step. Matlab has implementation of the mixtures of Gaussians adaptive background estimation algorithm. Just perform the estimation part and retrieve the binary foreground image. Modify the displayState
function to display this output. When run, the system should display the source video, plus a binary image sequence associated to the detected objects.
Explore & Deliverables: How well is the background modeled? You can identify how well it works by examining the quality of the binary image sequence. Does it capture the target objects only? Are there more false positives or false negatives than you like? What did you do to get the best result possible (to what parameters)? You should turn in at least one image pair showing the input frame, plus the output frame after foreground detection (or with the mask as noted in the code stub).