next up previous
Next: Boundary Enhancement Using Edges Up: ASSET 2 Previous: Flow Segmentation

Cluster Tracking and Filtering

 

Newly found clusters are now matched with the clusters in the filtered list, using time-symmetric matching [29]; both elements of a potential matched pair must prefer their proposed partner more than any other in the partner's list for the matched pair to be valid. The attributes used for matching are the cluster's motion model and the shape of the cluster. The reverse matching check is applied as before, except that the best backwards match (within a maximum search space and within a maximum allowed difference in matching attributes) is chosen to be the oldest cluster. This is so that a cluster will be consistently tracked over many frames even if it is occasionally incorrectly split into two clusters at the segmentation stage.

Each cluster's motion model (including modelling of acceleration of the whole cluster if appropriate) is updated in the same way that individual features' models are updated. To update the shape of each cluster requires more complicated processing, as it is clearly not possible to take an ``average'' of two shapes which are defined by lists of two dimensional points. The method used is based around a radial map shape representation. This is an array of distances from the centroid of the cluster to the ``boundary'', calculated at equal angle increments; each radius is initially set to the smallest value which just includes all of the features found between the neighbouring radial divisions -- see Figure 6. The map is then forced to be convex, a heuristic which is appropriate for most applications and which is desirable given the sparse nature of the feature-based optic flow field. The radial map clearly does allow for non-convexities, and these may develop when image edges are used to aid boundary estimation.

  
Figure 6: Converting a list of image points into a convex radial map.

Notice that the radial map approximation to the convex hull gets worse at vertices as the number of radii is decreased. Typically, 32 radii are used, which is easily enough to match the accuracy of the rest of the system.

The radial map representation is not very different in its temporally consistent actions and scene reactions from some applications of active contours (that is, ``snakes'' [17], [6]). In particular, the boundary enhancement described later has similar properties to the edge finding functionals used by Kass et al.\ [17]; the effect is similar, but in ASSET-2 the solution is found by allowing image forces to act directly rather than finding local minima in functionals (that is, potentials, in the ``physical forces'' analogy).

The radial map is now a useful representation of cluster shape. It allows two shapes to be combined very easily, using for each updated radial estimate a similar method to that described for the cluster centroid and motion, i.e., a simplified Kalman filter, taking the previous best estimate and the new estimate as input.

This overall approach to shape tracking seems much more flexible and integrated than that described by Meyer and Bouthemy [20] and discussed in Section 2.

Apart from cluster tracking and filtering, this stage of ASSET-2 also performs a two-stage test for cluster occlusion; the first stage tests for occlusion of each tracked moving object by any other tracked moving object, and the second stage estimates when a tracked moving object has become occluded by a part of the world (i.e., the ``background'').

The first part of the test is simply for two dimensional overlap calculated using the bounding boxes of the clusters. If overlap is found, the cluster which will be occluded is predicted using the safe assumption that this cluster will have a higher image position for its lowest point than will the other cluster. This will hold for a ground-based situation, and could be replaced by more detailed analysis of cluster shape change in a more general situation. Once a cluster has been identified as being occluded its shape is kept constant as it moves behind the object in front of it. If it is at all visible then the part which can be seen is used to update the position and velocity of the cluster; if the object is completely hidden, estimates of its position are made. Once the object appears from behind the object in front then it is tracked as before.

The second part of the occlusion test tries to estimate when a tracked cluster is moving behind a staticgif part of the scene. There are several ways that this could be done, including detailed shape-change analysis, flow-boundary analysis and consistency between the motion of the centre-of-gravity and the integrated mean optic flow of the cluster. However, the simplest, most robust and most well-conditioned method is as follows. The number of features within a cluster would normally be expected to vary smoothly and slowly. By comparing the current number of features within a cluster with a heavily filtered version of this number, any rapid change in feature number can be found. Typically, the filter will have an update fraction of , and the ratio of the current number of features within a cluster to the filtered number is compared with to determine whether or not the number of features is rapidly decreasing. When this type of occlusion is predicted, a cluster is marked as occluded and processed in exactly the same way as it is if occlusion by another moving object occurs. Thus the cluster's shape is frozen, and its motion model is updated using as much available information as possible. If the cluster becomes unoccluded (tested for using the same criteria) then normal tracking is resumed.

The filtered list of clusters can be passed to a higher level stage for scene interpretation. Not all clusters in the filtered list are output as reliable objects. All the clusters found in each image are passed to the filtered list, and until they can be discarded as being spurious they remain in the list. Therefore only clusters which have been seen for longer than a minimum lifetime and which have been seen for more than a minimum percentage of this lifetime are counted as reliable objects. Also, in order to reject spurious objects which have some kind of consistency but which are physically untenable (for example, on the ground immediately in front of the camera), the change in position of the centre of gravity of each cluster over some time interval is compared with an integrated measure of its velocity. This determines whether the object is self-consistent. Examples of the graphical output are given in Section 9.



next up previous
Next: Boundary Enhancement Using Edges Up: ASSET 2 Previous: Flow Segmentation



LaTeX2HTML conversion by Steve Smith (steve@fmrib.ox.ac.uk)