4.2 The Iterative Solution
Define
¯
τ
τ
τ(k) to be the accumulated shifts from initial
step until the kth step
¯
τ
τ
τ(k) =
k
∑
i=0
τ
τ
τ(i) (16)
Starting with an initial value
¯
τ
τ
τ(0) = 0, the linear equa-
tion (13) and its solution (15) can be used in an itera-
tive manner as follows
¯
τ
τ
τ(0) = 0
e(0) =
¯
I(
¯
τ
τ
τ(0))
τ
τ
τ(1) = G(
¯
τ
τ
τ(0))e(0)
= G(
¯
τ
τ
τ(0))
¯
I(
¯
τ
τ
τ(0))
e(1) =
¯
I(
¯
τ
τ
τ(1)) − H(
¯
τ
τ
τ(1))[τ
τ
τ(0) + τ
τ
τ(1)]
=
¯
I(
¯
τ
τ
τ(1)) − H(
¯
τ
τ
τ(1))
¯
τ
τ
τ(1)
τ
τ
τ(2) = G(
¯
τ
τ
τ(1))e(1)
= G(
¯
τ
τ
τ(1))[
¯
I(
¯
τ
τ
τ(1)) − H(
¯
τ
τ
τ(1))
¯
τ
τ
τ(1)]
.
.
.
(17)
In general
τ
τ
τ(k+ 1) = G(
¯
τ
τ
τ(k))[
¯
I(
¯
τ
τ
τ(k)) − H(
¯
τ
τ
τ(k))
¯
τ
τ
τ(k)] (18)
Substituting
¯
I(
¯
τ
τ
τ(k)) from equation (14) into equation
(18) yields the formula for the iterative numerical so-
lution as
τ
τ
τ(k+ 1) = G(
¯
τ
τ
τ(k))
I
2
− u
T
(
¯
τ
1
(k))Au(
¯
τ
2
(k))
(19)
When τ
τ
τ(k + 1) in the iterative equation (21) con-
verges to zero (or a small enough number near zero)
we get
¯
τ
τ
τ(k+ 1) such that
I
2
≃ u
T
(
¯
τ
1
(k+ 1))Au(
¯
τ
2
(k+ 1)) (20)
which is the solution to both problems of motion esti-
mation and inverse polynomial interpolation. Finally,
algebraic manipulation of (19) and using (16) sim-
plify the solution into the iterative formula given by
¯
τ
τ
τ(k+ 1) =
¯
τ
τ
τ(k) +
I
2
− u
T
(
¯
τ
1
(k))Au(
¯
τ
2
(k))
H(
¯
τ
τ
τ(k))H(
¯
τ
τ
τ(k))
T
H(
¯
τ
τ
τ(k))
T
(21)
Our solution in (21) is closely related to the al-
gorithm proposed by (Biemond et al., 1987). The
major difference is that in (Biemond et al., 1987) a
bilinear interpolation was used to calculate the dis-
placement frame difference, and the spatial gradients
were obtained by rounding off the displacement es-
timates; whereas in we use polynomial interpolation
which provides better interpolation and simplifies cal-
culating the gradients. Also, (Biemond et al., 1987)
used observations from a block of pixels.
Motion estimation results can be improved signif-
icantly by testing multiple initial values. Figure 1
Figure 1: The circled pixel positions are the chosen initial
positions for the 5× 5 neighborhood.
shows the chosen initial positions for the 5× 5 neigh-
borhood (i.e. p = 2). For the (2p + 1) × (2p + 1)
neighborhood, the number of initial values
¯
τ
τ
τ(0) is p
2
.
The different initial values are sorted and tried accord-
ing to their distance from the mean shift obtained for
the previously processed adjacent pixels in I
2
, starting
with the closest. This also establishes dependency be-
tween the motions of the image pixels. For an initial
value, if the iterative equation (21) converges to a so-
lution before reaching a specified maximum number
of iterations, the result is recorded and there would be
no need to try the other initial values. Otherwise, the
next initial value is tried.
5 RESULTS
We tested our method using gray-scaled images. For
comparison, motion in the same frames was estimated
by the elastic image registration method by (Peri-
aswamy and Farid, 2003) and the widely-used optical
flow method by (Lucas and Kanade, 1981). The Mat-
lab code for Periaswamy and Farid’s method is avail-
able on the internet (Web, 1). Examples show that our
method provides better performance.
In the first example (Figure 2) two images are
extracted from an echocardiography video (Web, 2).
The images are of size 430× 550 pixels. The second
example (Figure 3) shows two images extracted from
a video recorded during a robotic-assisted repair of a
pulmonary artery (Web, 3). The images are of size
240× 352 pixels. For both examples we chose p = 7,
a convergence threshold of 0.001 and the maximum
number of iterations to be 20.
For each example, we computed the peak signal-
to-noise ratio (PSNR) for the displaced frame differ-
ence. The PSNR equation is defined by (22) and the
results are listed in Table 1.
PSRN = 10log
10
255
2
RC
R
∑
r=1
C
∑
c=1
(I
2
(r, c) − I
s
(r, c))
2
(22)
BIOSIGNALS 2008 - International Conference on Bio-inspired Systems and Signal Processing
214