y,) and (0,0) are
o the straight line;
'eprojection errors,
oints to the closest
Q)
e pose parameters,
nates that are to be
PX,
max
edge
stance and its
stimation using the
to find the three-
jections belong to
points lying on the
rays coming from
nd finding their
at pose parameters
s represented by a
id 3D coordinates
era (or observer)
. The angles of
‚and x. The
ith homogeneous
cording to
3)
(4)
(5)
PO -W[2 0
= —-H/2 0
p.192 / (6)
0. 0 z, Je, 2.) -z,2, Je, - z.)
0 0 -1 0
where V — view matrix
P = projection matrix
f= focal distance in pixels
W, H = width and height of the image
z, , z, = coordinates of the near and far clipping
planes.
The 3x3 rotation matrix R in (5) is fully specified by three
angles, and depends on the system of angles used. Since the
screen coordinates of any 3D point can be computed
analytically using formulas (3)-(6), it becomes possible to
obtain the expressions for partial derivatives of pixel
coordinates with respect to pose parameters:
ox Hou war
m, tV Om, 1 6m,
(7)
Oy (2 y =
Om, t Om,
em, A
where m, is the i-th component of m. Partial derivatives of the
signed distance are given by
Od Bx Oy
——— cos 0 4
0
sinQ . (8)
om, om, m,
2.3 Iterative minimization of contour-based distance
In order to find the six unknown parameters that minimize the
function (2) we use Levenberg-Marquardt method. Assuming
that an initial guess m" exists, on every iteration the residual
r -d(m') and the Jacobian matrix J(m') are computed and
used to update the estimate according to
à,--U'J-Adig(J 3) Jr, — (9)
m" -m'«ó, (10)
The scalar parameter 40 is changed dynamically over the
course of the iterations. The second term in (9) allows taking
into account the non-uniform curvature of the misfit function.
At the first iteration F(m^), r(m^) and J(m^) are computed.
Using the initial value of À =107 a trial solution m is found
according to (9) and (10). If at iteration i the condition
F(M)< F(m'") is true, then m'=m, À = 1/10. In this case
the Jacobian is recomputed, along with the new value of the
residual r(m'), and a new iteration starts. Otherwise,
À :-104 ; the computation of the trial solution m is performed
until either the misfit function decreases, or any other
termination condition is satisfied.
False edges are frequent in images. Such edges may have a
higher absolute value of the directional derivative than true
image edges. It is therefore necessary for each inspected
contour point (x;, y,) to take into account a// the local maxima
of the image derivative along direction 6, that are within the R-
neighborhood of it. This can be done by using a modified misfit
function:
F(m)=3"p(d,) (11)
where N. is the number of pixels lying on the projected
contour, and the function p(x) penalizes outliers, i.e. points
located at a distance that exceeds some threshold (Vacchetti, L.,
2004). In our work we used the Tukey function
= (1-2) EET
Pru (X) 71 6 C (12)
c^[6 otherwise.
The minimization of (11) may be reinterpreted as a least
squares minimization with reweighting (Lepetit, V., Fua, P.,
2005). Weights are chosen according to the formula
wm J^ (d,) (13)
i d.
i
The misfit function then becomes
F(m)- | wa]. (14)
where W = diag(w) is a matrix of weights, w= Whores Wi, l. The
Levenberg-Marquardt step (9) is rewritten as
à,2-(WJeAdiagQ7W^J) J7W'r. — (15)
2.4 Contour-based algorithm and Kalman filter
Contour-based algorithm for estimation of exterior orientation
elements of ISS based on appropriate contour templates is very
time-consuming. It doesn't manage to process each video frame
in real time. Therefore parallel algorithm of processing and
tracking on the basis of widely known Kalman filter was
realized. The algorithm under consideration uses the results of
contour based one as input data.
l. Atreceipt of the frame with number n on the basis of the
previous data of estimation algorithm Kalman filter is
initialized.
2. Kalman filter predicts data at the moment of n+1.
3. These data move to contour algorithm as new position
estimation.
4. As contour algorithm works the values for n+1, n+2, ...,
n+k are defined by Kalman filter as a forecast in the mode of
absence new input data.
5. At the moment of time of n+k new data are arrived from
contour algorithm from the moment number n.
6. According to these data Kalman filter corrects values of
parameters for time n, and then data for n+k in are recalculated
in the mode of absence new input data.
7. Step 2 is repeated.
This technique including fusion of contour-based algorithm and
Kalman filter was tested on modelling and real data/