Location: Reading University > School of Systems Engineering > Computational Vision Group > ADVISOR

 

Please note: This page is no longer maintained.

 

People Tracking for Visual Surveillance

1 Introduction

Here at the University of Reading, research is done on People Tracking in camera images for automatic visual surveillance systems. The research is being carried out within the European Framework V project ADVISOR in which we are developing an integrated visual surveillance and behaviour analysis system. The People Tracker used for the project is based on the Leeds People Tracker which was developed by Adam Baumberg.

Contents of this page

1 Introduction

2 Main Results

3 Tracking Algorithm

 3.1 Overview of the 4 Detection / Tracking Modules

 3.2 Details of the Tracking Algorithm

 3.3 Example Image of Tracked People

4 Software Engineering Aspects

5 Special Features of our System

6 Relevant Publications

 6.1 Image Processing Aspects

 6.2 Software Engineering Aspects

 6.3 NEW: System Integration and Testing

7 Acknowledgements

8 Source Code of the Reading People Tracker


2 Main Results

Tracked people The main research results are the following:


3 Tracking Algorithm

Tracking Algorithm

3.1 Overview of the 4 Detection / Tracking Modules

Motion Detector 1. A Motion Detector detects moving pixels in the image. It models the background as an image with no people in it. Simply subtracting it pixelwise from of the current video image and thresholding the result yields the binary Motion Image. Regions (bounding boxes) with detected moving blobs are then extracted and written out as the output from this module.
Main features:
  • simple background image subtraction
  • image filtering (spatial median filter, dilation) depending on available CPU time
  • temporal inclusion of static objects into the background
  • background modelling using a speed-optimised median filter
  • static regions incorporated into background (multi-layer background).

 

Original image - Reference (background) image = Difference image Arrow Thresholded Motion image

 

Region Tracker 2. A Region Tracker tracks these moving regions (i.e. bounding boxes) over time. This includes region splitting and merging using predictions from the previous frame.
Main features:
  • region splitting and merging using predictions
  • adjust bounding box from Active Shape Tracker results
  • identify static regions for background integration.

 

Region splitting and merging

 

Head Detector 3. A Head Detector makes rapid guesses of head positions in all detected moving regions.
Main features:
  • works in binary motion image
  • looks for peaks in detected moving regions
  • vertical pixel histogram with low-pass filter
  • optimised for speed not accuracy

 

Motion image Arrow Detected heads in video image

 

Active Shape Tracker 4. An Active Shape Tracker uses a deformable model for the 2D outline shape of a walking pedestrian to detect and track people. The initialisation of contour shapes (called profiles) is done from the output by the Region Tracker and the Head Detector.
Main features:
  • local edge search for shape fitting
  • initialisation of shapes from Region Tracker, Head Detector and own predictions
  • occlusion reasoning

 

Motion image Arrow Detected heads in video image
The left image shows how the output from the Region Tracker (purple, green and white boxes) and estimated head positions detected in them from the Head Detector (drawn in red/pink) are used to provide initial hypotheses for profiles (outline shapes, drawn in white) to be tracked by the Active Shape Tracker. Each such hypothesis, as well as the Active Shape Tracker's own predictions from the previous frame, is then examined by the Active Shape Tracker using image measurements. The right image details how a local search for edges around the contour is used in an iterative optimisation loop for shape fitting.

 

The main goal of using more than one tracking module is to make up for deficiencies in the individual modules, thus achieving a better overall tracking performance than each single module could provide. Of course, when combining the information from different models it is important to be aware of the main sources of error for the different modules. If two modules are subject to the same type of error then there is little benefit in combining the outputs. The new People Tracker has been designed keeping this aspect in mind, and using the redundancy introduced by the multiplicity of modules in an optimal manner.
These are the main features of the system:

3.2 Details of the Tracking Algorithm

The complete people tracking algorithm is given below.
Complete Tracking Algorithm

 

3.3 Example Image of Tracked People

The following image shows the output from the People Tracker after hypothesis refinement. Tracked regions (bounding boxes) and profiles (outline shapes) are shown in the image.
Tracked people

 


4 Software Engineering Aspects

The People Tracker was completely re-engineered, yielding a new design. Now, the software is highly maintainable and portable, and a software process for all maintenence work is well defined and documented. Extensibility and scalability were kept in mind while designing the new tracker.

The source code adheres to the ISO/IEC 9899:1999(E) C++ standard, as well as IEEE POSIX 1003.1c-1995 extensions for multi-threading, making it easily portable. While the code is being maintained under GNU/Linux, it also compiles under Windows 2000.

Together with members of our department's Applied Software Engineering group we have examined the software processes in our own work on the People Tracker and the way these have influenced the maintainability of the code (see JSME paper below). The re-engineering phase was more closely examined in a case study (see ICSM 2002 paper below).


5 Special Features of our System


6 Relevant Publications (refereed)

Please note: The files available here are provided for personal use in order to achieve timely dissemination of research results. You are kindly requested to check and observe the copyright of each file before using it. Re-publication of the files provided here requires the explicit permission of the author.

6.1 Image Processing Aspects

6.2 Software Engineering Aspects

6.3 System Integration and Testing


7 Acknowledgements


8 Source Code of the Reading People Tracker

The Reading People Tracker that was developed within the ADVISOR project is available for download. Please have a look at the software page to download the final version.


9 Project Homepage

Project Homepage: http://www-sop.inria.fr/orion/ADVISOR/ (external link)


Last Modified on Wed Feb 23 2005.