Difference between revisions of "CISC849 S2011 HW1"

From class_wiki
Jump to: navigation, search
(Created page with "For this assignment, due on Tuesday March 8, you will attempt to implement a simplified version of the [http://www.nature.com/nmeth/journal/v6/n6/full/nmeth.1328.html Caltech...")
 
(No difference)

Latest revision as of 10:38, 18 January 2017

For this assignment, due on Tuesday March 8, you will attempt to implement a simplified version of the Caltech ctrax fly tracker discussed in class.

OpenCV-based C++ framework code and a sample video are provided for you here (75 MB). The code currently does the following:

  • Computes median, MAD intensity at each pixel over entire sequence
  • Uses this to calculate difference and threshold it to obtain a foreground pixel mask

You must minimally add these features to it:

  • Clean up noise and count fly blobs accurately for each foreground mask
  • Fit an ellipse or oriented rectangle to each fly blob
  • Match blobs to trajectories of blobs from previous frames (i.e., tracking). Try this first independently for each blob or trajectory, then look into doing it jointly
  • Draw appropriate graphical overlays showing fitted shapes and trajectories, color-coded to differentiate
  • Test your code on other fruit fly arena videos such as these

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 blob counts
  • Make algorithm online instead of batch by only calculating statistics over a rolling window of the last N frames
  • Try it on videos of other animals and make code changes to improve performance on them