Project Suggestions by Chris Town

Here are my project suggestions for PartII or Diploma students in the academic year 2002/2003.

I may also consider supervising projects in other areas that I am familiar with such as video tracking, object recognition, machine learning and classification, and multimedia retrieval. Please get in touch if you have a project idea that falls into one of these categories and are looking for a supervisor.

Face detection in digital images and video (1 or 2 projects)

This project will investigate and implement methods for automatic face detection. At a basic level, this would involve some background reading followed by re-implementation and comparative evaluation of some existing algorithms on standard image sets. A more advanced approach could consider possible improvements to some of these methods, especially as regards their performance (error rates and efficiency) on real-world video sequences as opposed to still images. Greater emphasis will be placed on achieving robustness (acceptable rates of false detection and rejection over a wide range of images) than on speeding up a particular implementation.

The problem of automatically detecting human faces in images is of great importance for applications such as surveillance, video interpretation, and visually mediated human computer interaction. Many approaches to face recognition are only applicable to (static) images which are assumed to contain a single face in a particular part of the image, often with additional constraints on pose, lighting conditions, and facial expression. When confronted with a scene containing an unknown number of faces at unknown locations, they are prone to high false detection rates and computational inefficiency. However, real world images such as digital pictures and CCTV video sequences consist of large quantities of visual data corrupted by noise where objects of interest such as people may only appear at low resolution and with great variation in pose and lighting conditions. The problem of reliably and efficiently detecting human faces in digital images and video is an important precursor to further analysis such as face recognition and event analysis and is therefore attracting considerable academic and commercial interest.

Recent research has shown that fairly simple component-based classification methods applied to training data using machine learning techniques offer better performance than more elaborate models based on manually instantiated templates. By arranging such simple classifiers in a hierarchy one can achieve both good detection rates and high efficiency in cluttered scenes, since most candidates image pattern are rejected by the most basic classifiers which are applied initially.

Scope:

The project will primarily consider detection of full frontal views of faces of varying size (within reason) in the presence of background clutter but without explicitly addressing more difficult problems such as rotational invariance, partial occlusions, or feature tracking in video. It would also be possible to use this proposal as the basis of two projects with one concentrating on achieving high detection accuracy in static images and the other on getting a low false rejection rate (at the risk of incurring higher rates of false acceptance) for face detection in video by integrating colour and motion cues.

Feasibility:

I can provide help and suggested background reading on the relevant concepts and methods as well as pointers to freely available code and data. Diligent use of existing libraries and APIs will minimise the need for implementations of lower-level image processing and allow design and analysis of working face detection methods in reasonable time. The scope of the project is sufficiently flexible to accommodate students with different backgrounds as long as they satisfy the basic requirements below.

Requirements:

Apart from a general enthusiasm for the topic, some previous experience of image processing and machine learning would be useful. The project will require a reasonable grounding in continuous mathematics and proficiency with a high level programming language (Java or C++) under Unix/Linux or Windows.

Further information:

Please feel free to contact me if you are interested in this project proposal and would like to know more. For additional information on face detection in general and some current approaches, have a look at the following:

Tracking multiple coloured blobs in video sequences (1 project)

This project will implement and test methods which find and track coloured regions of interest, so-called "blobs", in digital video sequences. Blob tracking algorithms tend to be quite simple since they are often expected to run in (near) real-time to quickly identify moving regions which one would like to analyse further. Many video analysis tasks require methods to robustly and efficiently identify and track moving objects and object parts as a precursor to the recognition of faces, gestures, and motion events.

For the purposes of this project, a blob will be defined as a coherent grouping of pixels of sufficiently similar colour (detectable by means such as a connected components analysis) which is observed to undergo a (primarily translational) motion across several frames in a video. Tracking will initially be performed under assumptions of temporal coherence using a search window definable by means such as a 2D Gaussian probability distribution around the blob's centre of gravity. It is intended that the project will then implement some slightly more sophisticated techniques for tracking (such as the common Kalman filter approach or a particle filtering method) and representation of the blob itself (e.g. incorporating a colour histogram and simple shape model). This should then be extended to achieve some preliminary video analysis capabilities, e.g. for a surveillance task featuring a static camera and several independently moving objects. One would then require a way of maintaining and updating multiple blob tracking hypotheses, perhaps in combination with a simple background model capable of gradual adaptation to lighting changes.

Scope:

The project will implement and apply colour-based blob segmentation and tracking methods capable of tracking several blobs (regions of relatively homogeneous colour) across a video sequence. To facilitate additional stages of analysis, these will output some basic blob data such as centroid position and bounding box. Ideally the completed system would have some means of autonomously initialising and removing blob trackers on the basis of observed motion in the scene, but it would be acceptable if the system required some manual instantiation or a fixed (maximum) number of trackable blobs. It will not be necessary (though certainly possible) to consider more advanced aspects such as sophisticated occlusion reasoning (e.g. to deal with blobs moving behind one another), large scale appearance changes (such as sudden colour changes or deformations of blob shape), or motion models beyond those employed by (quasi-linear) Kalman trackers.

Feasibility:

I can provide help and suggested background reading on the relevant concepts and methods as well as pointers to freely available code and data. Most of the lower level video processing will be handled by an existing API to ensure that work can concentrate on the main aspects of the project. Effective code reuse will also be encouraged for standard components such as a Kalman filter and connected component analyser.

Requirements:

Apart from a general enthusiasm for the topic, some previous experience of image and video processing would be useful. The project will require a reasonable grounding in continuous mathematics and probability theory, as well as proficiency with a high level programming language. Depending on the student's background, the project could be attempted using either the Java Media Framework (JMF), the Intel Open Source Computer Vision Library (written in C++), or in Matlab.

Further information:

Please feel free to contact me if you are interested in this project proposal and would like to know more. For additional information on blob tracking and video analysis in general, have a look at the following:

Projects on Sentient Computing (several)

I am collaborating with the sentient computing project at the Laboratory for Communications Engineering (LCE). This system uses mobile ultrasonic sensor devices known as bats and a receiver infrastructure to gather high-resolution location information for tagged objects such as people and machines in order to maintain a sophisticated software model of an office environment. Applications can register with the system to receive notifications of relevant events to provide them with an awareness of the spatial context in which users interact with the system.

My own research will focus on utilising the sentient computing infrastructure for multi-modal fusion (video and ultrasound) and for the creation of annotated training data. However, there are some project ideas concerning other aspects of the sentient system which would be suitable for partII or Diploma projects. Possible applications include a system for providing navigational assistance in large buildings (such as the University Library), novel personalised human computer interfaces, and robotic control on the basis of ultrasonic localisation and tracking.

Further information:

If you are interested, please look at the sentient computing webpages and contact Rob Harle at the LCE or myself.


Chris Town, Copyright 2002