Given K `affine patches' being tracked through a sequence, eqn (8) is used to obtain estimates of the instantaneous 3-D motion of the surface (or camera) and the 3-D position and surface normal associated with each patch. This is done using an extended Kalman filter [2, 1, 6]. The state vector consists of the 6 motion parameters, the inverse focal length and 3K structure parameters, ie
where
The product is used to reflect the dependence on focal
length of the sensitivity to motion along the optical axis
[1] and the structure parameters are
normalised by
(which will always be significantly greater than zero
for visible patches) to minimise the number of state variables by
eliminating the redundant degree of freedom. The measurement vector
contains the 6K affine parameters and hence the measurement
at time t is related to the state
by
where is zero mean with covariance R. The non-linear observation model
is defined by equation (8), ie for
where and
are evaluated at
.
The state dynamics for the filter are defined by the equation
where is zero mean with covariance Q and
is the state transition function. No prior
knowledge of the dynamics is assumed and hence an identity transition
for the motion and focal length is used, ie
for
. The motion states then define the evolution of the
normals and depths as derived by Murray and Shapiro
[6]. Details of this are not repeated here; it suffices
to note that it yields a non-linear state transition in the state
variables. Recursive estimation of the state then proceeds as for a
standard EKF [2], with updated estimates of the affine
motion for each patch as used in the tracking being obtained at each
stage using the measurement equation (15) and the
current state estimate. The main complications is the need to compute the
Jacobians of the measurement and state models, ie
and
, and to determine suitable values for the model
covariances Q and R. Although the former are somewhat involved,
they are readily obtained using a mathematical package such as
Maple. The resulting filter does not require excessive computation,
the main part being the inversion of a
matrix, and
hence, since the system is overdetermined for
, real-time
implementation is possible on a high-performance workstation. The
model covariances were arrived at through empirical means using
standard EKF design procedures [2].