matched with image observed feature points
ˆ
p
j
. This
is performed by employing a nearest neighbour search
whereas we query for each model feature points
ˆ
m
i
and find the Euclidean distance for given image ob-
served feature points
ˆ
p
j
using a uniform grid search
subspace. The image observed feature points are pro-
duced from the contour and edges of the model, as per
method described in (Baltzakis and Argyros, 2009)
and further extended in (Pateraki et al., 2013).
Object pose estimation can be performed via point
correspondences C between P = {
ˆ
p
j
} and M =
{
ˆ
m
i
} using a fast nearest neighbour search (Muja
and Lowe, 2009) within an Iterative Closest Point
(ICP) estimation algorithm. However, in the pres-
ence of noise and artifacts resulting, for example,
from a cluttered background, the ICP process can
rapidly deteriorate. This is not the case when using
the Least Trimmed Squares estimator in ICP (TrICP;
(Chetverikov et al., 2005)), since it allows for the two
point sets to contain unequal number of points (i 6= j)
and a percentage of points is offered in a ‘trimming’
operation. The best possible alignment between data /
model sets is found by ‘sifting’ (e.g. sorting) through
nearest-neighbour combinations and ‘trimming’ (e.g.
discarding) the less significant pairs. This is in an at-
tempt to find the subset with lowest sum of individual
Mahalanobis distances, defined as
d
2
i j
= (
ˆ
m
i
−
ˆ
p
j
)
T
(S
m
i
+ S
p
j
)
−1
(
ˆ
m
i
−
ˆ
p
j
) (1)
where S
m
i
is the covariance, thus the uncertainty, on
the position of point feature
ˆ
m
i
; and respectively for
S
p
j
of
ˆ
p
j
, which depends on ‘outliers’ and thus the
feature space.
In practice the (robust) Least Trimmed Squares es-
timator and the ‘trimming operation’ does not elim-
inate presence of outliers. Thus, we apply a non-
linear refinement after the TrICP step to ensure that
the influence of outliers is further reduced; similarly
to (Koller et al., 1993; Fitzgibbon, 2003; Chliveros
et al., 2013).
The minimisation is performed on an objective
function formulated as a sum of squares of a large
number of nonlinear real-valued factors:
ˆ
s
t
= argmin
s
n
∑
i=1
||p
i
− f (s,m
i
)||
2
(2)
where f (·) is the function that projects the 3D
model points to the image plane, according to the
parametrised pose s, at translational terms (r
x
,r
y
,r
z
),
and rotational terms (α
x
,α
y
,α
z
).
2.2 Model-based Hypotheses Space
The non-linear minimisation problem of Equation 2
can be solved via the Levenberg-Marquardt (LM) al-
gorithm. The Jacobians required by LM (Lourakis,
2010) can be formulated analytically by performing
symbolic differentiation of the objective function.
However, to maintain a good solution search space
for matching the reprojected models, we generate
hypotheses over rotations (α
x
+ δα
x
,α
y
+ δα
y
,α
z
+
δα
z
). The term δα can be assigned as dictated by
a number of increment steps (N) over the full rota-
tion range (0,π) of the corresponding axis. We gen-
erate said hypotheses only when the error of the LM
minimisation step (Equation 2) exceeds a predefined
threshold.
3 DISTRIBUTIONAL CLAUSES
PARTICLE FILTERING - DCPF
3.1 A probabilistic Relational Language
for Tracking
From a set of objects that are of a known type and
geometry (e.g. mug, bowl, glass), the procedure de-
scribed in Section 2 can provide the pose, colour and
type of the objects that are visible, thus tracked within
the camera field of view. However, object tracking is
hard if the object is occluded for a long period, e.g.,
when it is inside a box, hidden, or outside the sensor
range. Indeed, if the hidden object reappears in a to-
tally different position, data association will probably
fail. We defined a model that solves this problem us-
ing a relational probabilistic language; i.e. Distribu-
tional Clauses (Gutmann et al., 2011) and its dynamic
extension (Nitti et al., 2013)).
This language is based on logic programming. We
now introduce the key notions. A clause is a first-
order formula with a head and a body. The head is an
atomic formula, whereas the body is a list of atomic
formulas or their negation.
For example, the clause
inside(A,B) ← inside(A,C),inside(C,B)
states that for all A, B and C, A is inside B if A is inside
C and C is inside B (transitivity property). A,B and C
are logical variables.
A ground atomic formula is a predicate applied
to a list of terms that represents objects. For exam-
ple, inside(1,2) is a ground atomic formula, where
inside is a predicate, sometimes called relation, and
1,2 are symbols that refer to objects.
A literal is an atomic formula or a negated atomic
formula. A clause usually contains non-ground lit-
erals, that is, literals with logical variables (e.g.
inside(A,B)). A substitution θ, applied to a clause
or a formula, replaces the variables with other terms.
ApplicationofDynamicDistributionalClausesforMulti-hypothesisInitializationinModel-basedObjectTracking
257