3-D digital recursive filter algorithms based on the simple 3-D inductance-resistance networks are used to perform linear-trajectory filtering of constant-velocity objects in image sequences. Using the same 3-D networks, we have designed adaptive 3-D recursive filters, where the coefficients of the filter are adapted on a frame-by-frame basis to track objects that move on smooth, but nonlinear, trajectories. Such objects are assumed to move on piece-wise linear trajectories.
Below are some input and output images from a contrived tracking example.
We originally reported this work at ISCAS 1985 [C4] and in 1986 in this paper [J8].
At left is a single frame of a computer-generated input sequence. This sequence contains two objects that have intersecting helical trajectories. This is shown in the input MPEG sequence (16K, 100x100, 32 frames).
The job is to lock onto and track one of the above objects, and to exclude the other object. To add challenge to the exercise, we add flat-spectrum noise at 10 times the peak level of the objects. A single frame of the noisy sequence, corresponding to the frame in the above input sequence, is shown at left. Please play the noise-contaminated MPEG sequence (216K, 100x100, 32 frames), and you will be hard-pressed to locate either object.
Using an adaptive 3-D linear-trajectory filter, we are able to suppress the noise and to track and enhance the object of interest. As shown in the output MPEG sequence (21K, 100x100, 32 frames), the object of interest has clearly been recovered from the noise and is not affected by the object on the intersecting trajectory.
Below is a real-world application for the 3-D adaptive recursive filter used above. This work was reported at Asilomar 1995 [C12] and ICNN 1995 [C14] as part of a collaboration with Dr. Chiang Liu, then at Melbourne University. The research later produced this paper [J17].
Here, vehicles are tracked as they proceed through a downtown Sydney, Australia, intersection. The motion of each vehicle is classified after 50 frames via a Multi-Layer Perceptron (MLP) Neural Network that has been trained to identify four different vehicle trajectories.
Here is the system at work (220K, 256x192, 135 frames) identifying vehicles in real time. Once a vehicle's trajectory has been classified by the MLP, a number is "stamped" on the roof of the vehicle, as follows:
#0 - right-to-left through the intersection
#1 - left-to-right through the intersection
#2 - enters intersection from left, turning right
#3 - enters intersection from right, turning right