Object tracking project

Required functionalities

Each group should implement a system with the following functionality:

  1. Tracking of objects in a simple sequence
  2. Management of object identity (solve the assignment problem for detections over time)
  3. Evaluation of results, relative to ground truth. See details here.

In addition to the above, implement functionality that can deal with two of the following:

  1. occlusions, using one (or several) of the following:
    • foreground modelling (i.e. region descriptors)
    • prediction (e.g. using a Kalman filter)
    • ground plane modeling (camera hand over)
    • KLT tracking or optical flow
  2. shadows / specular reflections(bright spots)
  3. spurious motions using a multi-modal background model

For groups with only three members, one of the above is sufficient. For groups with five members all three are required.

Data sets

There are several data sets for motion analysis available on the internet, but we recommend that you use the following

These are 720p and 1fps videos of people sitting at desks. Illumination changes slowly, but foreground motion can be very fast due to the low framerate.

The IVSS dataset was produced in the IVSS project at CVL. It is available only in our local file system, e.g., if you are in the student computer halls at ISY. These sequences contain signficant amount of shadows, both in terms of the moving objects that cast shadows on the background and features of the background that cast shadows onto the moving objects. The path to the sequences is:

The sequences in the ivss/ folder are:

Shadows appear and disappear. People fetching parked trucks.

See the computer lesson material for alternative ways to read these images into python. Filename strings may be built using string formatting, e.g. file_name = ‘dataRenova_20080420_083025_Cam10_0000_{:05d}.jpg’.format(frame_number)

Code

For functionalities that you are meant to implement yourseleves, the use of software packages that solve them is explicitly forbidden. If you are unsure about a particlular piece of software, ask your guide.

Deliverables

In order to pass, each project group should do the following:

  1. Make a design plan, and get it approved by the guide.

    The design plan should contain the following:

    • A list of the tasks/functionalities that will be implemented
    • A group member list, with responsibilities for each person (e.g. what task)
    • A flow-chart of the system components
    • A brief description of the components
  2. Deliver a good presentation at the seminar
  3. Hand in a written report to the project guide.

The report should contain the following:

We recommend that you use the CVPR LaTeX template when writing the report.

References

Other pointers to related stuff: