CISC849 S2016 HW2

From class_wiki
Jump to: navigation, search

Due Thursday, March 24, midnight

Description

For this assignment you will implement a simple vision-based multi-object tracker.

To simplify the task, you will start with the OpenCV-based C++ background subtraction code from this tutorial. This will take a video or image sequence (such as 768x576.avi, which was shown in class) and classify each pixel as belonging to the foreground (moving objects), background, or possibly shadow.

Tasks

You must minimally add these features to the background subtraction program:

  • Clean up noise and count person/car objects accurately for each foreground mask [3 points]
  • Fit a bounding box rectangle or closed contour to each object [3 points]
  • Match objects to trajectories of objects from previous frames (i.e., tracking). Try this first independently for each object or trajectory, then look into doing it jointly [5 points]
  • Draw appropriate graphical overlays showing fitted shapes and trajectories, color-coded to differentiate [4 points]
  • Test your code on other tracking videos with a stationary camera

Optional extras to try (which will be counted as extra credit for grading):

  • Deal with ambiguities of "close encounters" via splitting of connected components and scoring of alternative object counts
  • Try to deal with an object stopping and thereby disappearing from the motion detector by "remembering" its appearance with a template image