In this section we present initial results on synthetic and real image sequences to check the consistency and robustness of the proposed method.
In order to check the robustness of the method, we ran a series of tests on synthetic optical flows. The flows were produced by the rigid motion of two planar surfaces, and corrupted by varying amounts of noise. Figure 1 shows an example of ideal and noisy optical flow, respectively.
Figure 1:
An ideal (left) and noise-corrupted (right) optical flow produced by two
planar surfaces (see text). The dots identify the epipole estimated by
the proposed method.
In each experiment we generated randomly a the 3-D motion, location and
orientation of the two planar surfaces. In order to simulate
ecologically plausible motions, the parameters were obtained by drawing
and
from the interval [-0.5,0.5] cm/frame,
from [-2,2] cm/frame, and
,
, and
from [-1,1] degree/frame. One plane formed an angle of 45
with the image plane lying at a distance of 200 cm from the origin; the
other plane was parallel to the image plane and lying at a distance of
150 cm. These orientations were perturbed by noise to obtain the
orientations actually used in the tests.
We added increasing amounts of noise to each of the two components of
the motion field at a certain fraction of the image locations, selected
at random. At each randomly selected location, and given a maximum
percentage of noise, say
k
%, the motion field components
were perturbed by an additive, random amount in the intervals
and
, respectively. In the experiments reported here we perturbed 10%, 30%,
and 50% of the image locations with uniform noise of maximum percentages
5%, 10% and 20%. The number of flow estimates used varied between 6 to
16384. Notice that simply adding Gaussian or other noise to
all
synthetic flow vectors does not seem a plausible simulation of the flows
generated by reliable algorithms on real sequences; for instance, flow
vectors at adjacent locations are generally not independent; practically
correct estimates can be expected at many locations, but significantly
wrong estimates are normally obtained at others. It seemed therefore
reasonable to apply noise to varying fractions of flow vectors only.
Table 1 summarizes the results of our tests on the accuracy of epipole localization. Every test consisted of ten different trials. It can be seen that the method performs rather accurately and tolerates noise very well. As can be seen from the rightmost column of Table 1 , even better results can be obtained by discarding flow estimates at which the residual is larger than a fixed threshold.
We also applied the proposed method to real images. Since no exact
ground truth was available in these experiments, we concentrated on
verifying the consistency and reliability of the method in terms of
stability of the estimated epipole's location, in sequences where the
instantaneous epipole was approximately stationary. An example is given
in Figure
2
, which shows four frames of a sequence of 30 images (
) taken by a camera mounted on a vehicle. Figure
3
shows two of the optical flows computed through a block-matching
algorithm with subpixel precision. No flow estimates were generated at
locations where the residual of the block-matching was not sufficiently
different from its minimum value in a neighborhood of the minimum. The
large dots denote the estimated location of the epipole. In this
sequence the vehicle (and also the vehicles traveling in the opposite
direction) was turning on a turn of approximately constant curvature;
therefore the epipole can be expected to be roughly in the same location
throughout the entire sequence. Consistently, the standard deviation of
the epipole location estimated by our algorithm was less than 3 pixels.
Very similar results (not reported here) have been obtained on two other
real image sequences.
Figure 2:
Four frames of a long image sequence (from upper left to lower right).
Figure 3:
Optical flows relative to the sequence of Figure
2
computed by a block-matching technique.
Adrian F Clark