University of Birmingham crestUniversity of Birmingham

 

Electronic, Electrical & Computer Engineering

 


Home

Biography

Research

Teaching

Links

Student Projects

 


 

 

Dr Michael Spann

HOME - -STUDENT PROJECTS

 


Final Year Projects 2004/2005

Event  detection in video (B.Eng)

Event detection in video is a relatively new area of research and is aimed at detecting significant events in a video sequence. These events have a wide definition and can cover such things as a person entering a doorway, a car changing lanes on a motorway or a person getting into a car and driving away. Clearly the definition of the event will generally determine the type of image processing required to detect that event. However, all are similar in the sense that real-time (or near real-time) detection is required because the detection normally triggers some action such as an alarm being sounded. Also, they generally involve an element of object tracking prior to the actual event. This adds to the robustness of the system as object identification (such as identifying a person) is more reliable if it can be tracked over a number of frames.

This project is aimed at detecting one particular type of event – that of ‘tailgating’ through a car park barrier. Normally, a single vehicle enters a parking area and the barrier then closes. However, a second vehicle following quickly behind the first can enter whilst the barrier is still up. This situation is relatively similar to the normal situation of a single vehicle entering and so it represents a challenging scenario for detection. It is envisaged that any system produced would be ‘bolted on’ to an existing CCTV system with relatively low quality greylevel video. For the purposes of this project, we will capture our own footage and develop a detection system that triggers an alarm if the event is detected.

This project was carried out by George Diamantopoulos.

Check out the web-site http://www.everwicked.com/tailgating/  for more details.

Colour  quantization (B.Eng)

A full colour representation is typically 24 bits for an RGB display. Normally, visually similar results can be obtained by displaying the data to a resolution of 8bits or 256 distinct colours. This is obtained by quantizing (or clustering) the colour space using clustering algorithms. This project is aimed at producing an image processing system which is able to evaluate different colour quantization algorithms including simple K-means-type clustering algorithms and neural networks. It is envisaged that the system will use the Java based ImageJ toolkit.

This project was carried out by Sashah Eftekhari. He has implemented a range of colour quantization algorithms as ImageJ plugins. You can download both the Java class and source files along with some example colour test images from Colour Quantize.zip.

Tracking faces in video sequences (M.Eng)

With the increase in use of intelligent video surveillance systems, face tracking in image sequences is important for applications such as face recognition, people counting and face masking because of legal or privacy issues.. This is a fairly open ended project  where the student is expected to research existing methods and develop a robust algorithm, running at close to real-time, using the JAVA Media Framework (JMF) API for processing video sequences. Issues which will be important include a suitable contour model for representing the outline of the face, the extraction of colour features which enable faces to be robustly extracted from images, how the system is to be trained and how the faces are to be tracked (eg. use of a Kalman filter or a simpler heuristic method).

This project was carried out by Ed Stewart. He has implemented a simple face tracking system using JMF which is based on a combined edge contour and colour histogram approach.

Final Year Projects 2005/2006

Ultra high compression of face images (M.Eng)

With increasing use of smart credit/debit cards it is possible to include encoding a picture of the card owner within the magnetic strip of the card. The image will be a full colour head/shoulders frontal picture. The amount of available space on a magnetic strip is of the order of a few hundred bytes so this would entail massive compression of the image, far greater than compression rates intended for JPEG or even JPEG2000. Also, relatively simple decompression techniques would be required as these would need to be run at retail outlets with limited computing facilties. Clearly the resulting image quality will be poor but the main requirement is ensuring that the card owner is the same as the picture extracted from the magnetic strip so high quality is not required.

The project will be aimed at researching possible compression  techniques. The approach suggested is to use a training set and features from this training set based on a steerable image pyramid which is a multi-scale multi-orientation set of features based on band pass filtering and sub-sampling. For each patch in the image to be compressed, the feature set database will be serached and either the nearest matching patch indexed or a weighted combination of best fitting patches computed and the weighting coefficients encoded. This should lead to high compression for reasonable reconstruction quality

Real-time moving edge detection in video sequences (B.Eng)

Moving edge detection is an important basic image processing technqiue whereby edges of moving objects are highlighted. Defining efficient operators for this is crucial in the design of systems for motion tracking, object-based video compression and content-based video summarisation/indexing.

The project will investigate the analysis and evaluation of moving edge detectors using the Java Media Framework (JMF). Initially a couple of existing approaches will be implemented, for example, a spatio-temporal filter and a simple technique based on detecting edges in the frame-difference image. It will be important that within the software tools developed, a method of quantitative evaluation be considered. The student will also be given the opportunity of developing their own ideas in collaboration with the project supervisor for bench-marking against established methods. This could include some combination of edge linking and edge tracking for moving object segmentation/tracking applications.

It is hoped that a complete Java-based software framework is developed along with a demonstration applet.

Embedded coding of object shape (B.Eng/M.Sc)

Encoding an object shape is crucial in MPEG4 object based video for encoding the alpha channel which represents the individual video objects in the scene. There are many representations of an object shape but typically either the contour representing the object boundary or the binary partition of the 2D plane are used as inputs to the coder.

This project will focus on the first representation and will look at encoding the boundary contour of the object by employing an embedded wavelet coder to the x and y coordinate functions. This approach will have the significant advantage of resulting in an embedded bit stream whereby any coarse representation of the object shape can be obtained simply by truncating the bit stream.

The project hopefully will result in a Java based demonstration of a full embedded bit stream shape coder and a comparison with existing approaches.

Region masking in video (M.Eng)

Because of privacy laws as well as security considerations, it is often necessary to mask out specific regions in a video sequence. Examples include masking out the number plates in a moving vehicle, masking out a persons face or even masking out street or road signs to hide the location othat the video was taken. Typically, masking involves either pixellizing out or blurring the area so it is unrecognizable.

In the past, region masking has been done manually by an operator working on each video frame individually. Clearly this is hugely expensive task in terms of man hours. Recent systems have automated this process by getting the operator to mask out the region in the first and last frame of the sequence and then simply fill in intermediate frames using linear interpolation. Obviously for linearly translating objects, this would normally be adequate.

The aim of this project is to develop an intelligent video masking system. It should comprise a front end with normal video controls as well as a set of masking 'filters' appropriate to the type of region and region motion. For example, if the user wants to mask the face of a person, then the filter would use knowledge about the skin colour components so it could more accurately locate the face region in intermediate frames. Also, for regions translating with non-uniform velocity, the simple linear interpolation will not work and more sophisticated region tracking will be required.

It is expected that this project will be implemented in C++ using the DirectX/DirectShow libraries in order to maximize performance.
 

Real-time video surveillance of crowded scenes and people tracking (B.Eng)

This is a group project for B.Eng students during the first semester where each of them implements a simple real-time moving edge filter as a plug-in dll to a DirectShow application. The second stage of the project involves individual students projects making use of the filter for video surveillance of crowded scenes. The following are some suggested projects.

1. People counting
Determine the number of people entering a shop in a given time period. The surveillance camera may be mounted either inside or outside of the shop. Difficult cases are people moving closely together or people who stop moving to look at something an d then move off again. In this latter case, a new trackable person object should not be created once the previously tracked person starts moving again.

2. People event monitor
Determine simple actions of shop passers by using the people tracker. A typical event scenario might be counting the number of people who stop to view a window display and then enter the shop. A second scenrio is a person stopping to deposit an item on the floor or in a wastepaper bin and then move on. Clearly this would be useful for security monitoring. A key component of this system will be interactively defining a region of interest onto each video frame.

3.  Tracked face masking
In many situations, it is necessary to ensure anonymity of the tracked person as, for example, they may be a passer-by in a crime scene. In this case, it is necessary to mask out their face, usually by using pixelization or blurring. Thus a system is to be developed which determines a small region corresponding to the face of the tracked person. This can be done using the approximate position and size with respect to the tracked person’s torso or by detecting a significant region of skin colour.

4. Occlusion and dis-occlusion detection
The case of  two tracked persons passing each other can confuse people counting software as the merged blob can be interpreted as a single person with no significant motion. Detecting this case, where one tracked person occludes another  and then disoccludes the person can be difficult. This can be done on the size of the tracked blob. Also, in order to continue tracking the 2 persons before they merged, the colour content of the persons must be used. Typically this may be the colour histogram or a relate measure. 

5. Crowd analysis
In video footage of crowd motion, for example monitoring football crowds, it is often useful to obtain information about the crowd behaviour. For example, the crowd might be moving smoothly and without any impediment. So, even though locally the motion  might be haphazard, on a global scale  the motion is fairly uniform. If there is a disturbance, for example an  obstacle appears in the path of the crowd, motion might get much more random even at a larger scale or the motion may be different locally as the people move to avoid the the obstacle . It is important for intelligent video surveillance systems to be able to detect this in order to prevent incidents such as panic and stampedes.

6. Open hand tracker
A simple real-time hand tracker would be useful in a  human-computer interface system for controlling the motion of a mouse. Initially simple movements - left, right up and down must be recognized but these could be extended to other more complex motions to indicate others more sophisticated actions such as mouse button presses and releases.



Project Resources

Technical support page. All you need to know!





Home | Biography | Research | Teaching | Links | Student Projects