CS 332

Assignment 5 Part 1

Due: Thursday, November 7

The first part of this assignment contains an open-ended problem in which you will design and implement a stategy for tracking the moving cars in a video of an aerial view of a traffic scene, and visualizing the results. You are encouraged to work with a partner on this problem.

Problem 1: Tracking Moving Objects

The /home/cs332/download/tracking folder contains a video file named sequence.mpg that was obtained from a static camera mounted on a building high above an intersection. The first image frame of the video is shown below:

The code file named getVideo.m contains a script that reads the video file into MATLAB, shows the movie in a figure window, extracts two images from the file (the first and fourth image frames), displays these two images using imtool, and then shows a simple movie of the two frames in alternation. We will go over the getVideo.m file in lab, which uses the concept of a MATLAB structure and the built-in functions VideoReader, struct, read, and movie.

Most of the visual scene is static, but there are a few moving cars and pedestrians, and a changing clock. You can focus your analysis on the moving cars. You do not need to process all 50 frames of the video. You could, for example, just process every third frame, and start with just a few image frames. Your task is to detect the moving cars and track their motion over multiple frames.

Your choice of strategy to solve this problem is open-ended. You could, for example, modify the region-based strategy used for fingerprint identification and stereo correspondence, to measure the movement of image patches from one frame to the next. To reduce processing time, think about ways to reduce the amount of computation performed, for example, by limiting the motion measurement computations to regions of the image that are changing over time, and using current information about the direction and speed of movement of a region to predict where a car will appear in the next frame. To help guide the choice of parameters used in your motion measurement strategy, take advantage of imtool to examine the true positions, sizes, and movements of the cars.

Think carefully about how to represent and store the results of the motion measurement computation, and how to visualize the results. In lab, we'll show how the built-in functions plot, scatter, and quiver can be used to display 2D graphics superimposed on an image.

Submission details: Hand in a hardcopy of all of your code files, and a summary of your approach to this problem. Drop off an electronic copy of your code files by logging into the CS file server, connecting to your tracking folder and executing the following command:

submit cs332 tracking *.*