where σ
∇η
is ∇η standard deviation and k is a
tuning parameter. ℓ has the following proper-
ties: it is constant and equal to 1 on u
1
axis,
(i.e. ℓ(u
1
,0) = 1), and when evaluated on a ver-
tical line, (u
1
= const), it is a gaussian function
having standard deviation that depends on |u
1
|, i.e.
ℓ(u
1
,u
2
) = N(0,1+ k|u
1
|σ
∇η
)(u
2
).
We select this function as a prototype of the vote map,
given ∇I(x), the votes distributed in the parameter
space are the values of an opportunely translated and
scaled version of ℓ(u
1
,u
2
). The straight line of Figure
6, ℓ
x
(u), is therefore replaced by function ℓ rotated by
(
π
2
− θ) degrees and translated so that its origin is in
N(x) endpoint, i.e.
ℓ
x
(u) = R
(
π
2
−θ)
ℓ
(u− N(x)), (12)
where θ is ∇I(x) direction and R
(
π
2
−θ)
is the rotation
of (
π
2
− θ) degrees.
In such a way, we give a full vote to parameter pairs
which are exact solutions of (5) and we increase the
spread of votes as the distance from N(x) endpoint in-
creases.
Figure 7(a) shows how votes are distributed in pa-
rameter space for a vector N(x). Figure 7(b) shows
parameter space after having assigned all votes, the
arrow indicates the vector ˜v estimated.
(a)
˜v
(b)
Figure 7: (a) Neighborhood ℓ
x
(u) used to assign votes in
parameter space. Vector represent N(x). (b) Sum of votes
in parameters space, the vector drawn is ˜v.
5 EXPERIMENTAL RESULT
5.1 Algorithm Details
Given a window containing a blurred corner, we pro-
ceed as follows
• Define D
0
, the set of considered pixels as
D
0
= {x s.t. ||∇I(x)|| > T} , where T > 0 is a
fixed threshold. In such a way we exclude those
pixels where image y is constant but gradient is
non zero because of ξ and η.
• Estimate σ
η
using the linear filtering procedure
proposed in (Immerkær, 1996).
• Estimate ∆ as ∆ = |max(D
0
) − min(D
0
)| + 3∗ σ
η
.
• Voting: ∀x ∈ D
0
distribute votes in parameter
space computing ℓ
x
(u) and adding them to the
previous votes. The k parameter used in (11) is
chosen between [0.02, 0.04].
• The solution of (6), ˜v, is the vector having end-
point in the most voted coordinates pair. When-
ever several parameter pairs receive the maximum
vote, their center of mass is selected as ˜v endpoint.
• To speed up the algorithm, we eventually consider
gradient values only at even coordinate pairs.
5.2 The Experiments
In order to evaluate our approach we made several
experiments, both on synthetic and real images.
5.2.1 Synthetic Images
We generate synthetic images according to (1), us-
ing a binary corner (like that of Section 2.2) taking y
constantly equal to 0 at background and equal to 1 at
corner pixels and with η and ξ having gaussian dis-
tribution. Motion parameters have been estimated on
several images with values of the standard deviations
σ
η
∈ [0,0.02] and σ
ξ
∈ [0,0.08]. Blur was given by a
convolution with a PSF v having direction 10 degrees
and length 20 pixels in the first case and 70 degrees
and 30 pixels in the second case. Figure 8 and Fig-
ure 9 show some test images and Table 1 and Table 2
present algorithm performances in terms of distance,
in pixel unit, between the endpoints of the estimated,
˜v, and the true displacement vector v, expressed as a
percentage w.r.t psf length.
Comparing the first rows of Table 1 and Table 2, we
notice the correlation produced by the blur on ξ sam-
ples, as expressed in equation (9). In fact, as the blur
extent increases, the impact of ξ is reduced.
Table 1: Result on synthetic images: v has direction 10 de-
grees and length 20 pixels, σ
η
∈ [0,0.02] and σ
ξ
∈ [0,0.08].
σ
η
| σ
ξ
0 0.02 0.04 0.06 0.08
0 1.94% 2.37% 1.67% 3.26% 5.40%
0.01 6.54% 2.98% 1.67% 4.21% 1.68%
0.02 4.14% 7.57% 5.40% 3.97% 3.35%