IEEE Robotics & Automation Magazine - June 2011 - 27

In our approach, we detect the objects by simultaneously
collecting the information provided by all the parts in
the scene.
Our object recognition process is composed of three
main steps: 1) a set of hypotheses is generated, which indicate possible locations for objects in the point cloud, 2)
a selection of the best hypotheses is done following a set of
criteria, and 3) model fitting and verification is applied.
Hypotheses Generation
Given an initial partition P ¼ fS1 , . . . , SM g of a 3-D point
cloud representing an indoor environment, we first obtain
the corresponding feature vector fi for each part Si . Each
feature vector is then matched to a subset of words A & C
from the learned vocabulary (activation), which constitute
possible interpretations of the part S . Each element of an
activated word casts a vote for a possible object location.
This scheme is known as probabilistic Hough voting [16],
and an example is shown in Figure 4. In this case, a part in
the scene activates a word representing backs of chairs.
Each element in A casts a vote for the center of the chair
inside the point cloud.
Formally and following [16], given a feature vector f
representing a part S located at position l in a 3-D point
cloud, the probability of finding an object of class o at position x is
X
p(o, xjAi , f , l)p(Ai j f , l):
(2)
p(o, xj f , l) ¼
i

The term p(o, xjAi , f , l) represents the probability of finding the object o at the location x , given that feature f at
position l activated the word Ai . The term p(Ai j f , l) indicates the probability that the feature vector f matches the
word Ai .
On the basis of [16], we make two further assumptions.
First, the probability of finding an object given an activated
word Ai is independent of the feature vector f . Second, the
activation of a word Ai by feature vector f is independent
of the location of the corresponding part S. Thus,
p(o, xj f , l) ¼

X

p(o, xjAi , l)p(Ai j f ):

(3)

i

It remains to describe each term in (3). The term p(Ai jf )
represents the activation of Ai by f . Following [16], we do
not activate just one vocabulary word, but several of them.
Each activation is assigned a probability indicating how
well the feature vector f matches the code book entry Ai as
w( f , Ai )
,
p(Ai jf ) ¼ P
w( f , Aj )

Figure 4. Example word activation and corresponding 2-D
voting space.

The term p(o, xjAi , l) represents the probability of finding object o at position x, given the activated word Ai at
location l. Once a word is activated, each of its elements a
d. Here l is the posicasts a vote to the position xv ¼ l þ ~
tion of the part S found in the point cloud, and ~
d is the relation vector of the element's shape model (see the
"Hypotheses Selection" section). Finally, we define the
probability p(o, xjAi , l) as

p(o, xjAi , l) ¼

1
#(Ai , o),

0:0,

if x ¼ xv ,
otherwise,

(5)

where #(Ai , o) indicates the number of elements a in word
Ai that pertain to object o.
Hypotheses Selection
The final score V(o, x) of a hypothesis representing an
object and its position can be obtained by accumulating
evidence of all parts found in the scene
V(o, x) ¼

X

p(o, xjfk , lk )p(fk jlk ):

(6)

k

The first term in this expression is calculated as in (3), and
the second term p(fk jlk ) is assumed to be a uniform
distribution.
Following the approach in [16], the different object
hypotheses are found as local maxima in the voting space
using a search window whose size corresponds to the width
of the particular object class we are looking for. We project
the votes onto the (x,y)-plane in order to simplify this search
(see Figure 4). After obtaining the local maxima, we apply a
threshold to select the best hypotheses. Moreover the
hypotheses are checked for inconsistencies in the space. In
our case, two hypotheses for the same type of object at two
different locations xi and xj are inconsistent if the 2-D convex hulls of the objects centered at xi and xj overlap. This
condition assumes that all objects are lying on the floor.

(4)

j

where w(f , Ai ) is a distance function proportional to the
inverse of the Euclidean distance between vector f and the
mean vector of cluster Ai .

Model Fitting and Verification
Having detected positions where a certain object type is
likely to be found, we verify the detection and select the
best model for the object along with its pose. To be able to
do this, we first need to retrieve the most important parts
JUNE 2011

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

27



Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - June 2011

IEEE Robotics & Automation Magazine - June 2011 - Cover1
IEEE Robotics & Automation Magazine - June 2011 - Cover2
IEEE Robotics & Automation Magazine - June 2011 - 1
IEEE Robotics & Automation Magazine - June 2011 - 2
IEEE Robotics & Automation Magazine - June 2011 - 3
IEEE Robotics & Automation Magazine - June 2011 - 4
IEEE Robotics & Automation Magazine - June 2011 - 5
IEEE Robotics & Automation Magazine - June 2011 - 6
IEEE Robotics & Automation Magazine - June 2011 - 7
IEEE Robotics & Automation Magazine - June 2011 - 8
IEEE Robotics & Automation Magazine - June 2011 - 9
IEEE Robotics & Automation Magazine - June 2011 - 10
IEEE Robotics & Automation Magazine - June 2011 - 11
IEEE Robotics & Automation Magazine - June 2011 - 12
IEEE Robotics & Automation Magazine - June 2011 - 13
IEEE Robotics & Automation Magazine - June 2011 - 14
IEEE Robotics & Automation Magazine - June 2011 - 15
IEEE Robotics & Automation Magazine - June 2011 - 16
IEEE Robotics & Automation Magazine - June 2011 - 17
IEEE Robotics & Automation Magazine - June 2011 - 18
IEEE Robotics & Automation Magazine - June 2011 - 19
IEEE Robotics & Automation Magazine - June 2011 - 20
IEEE Robotics & Automation Magazine - June 2011 - 21
IEEE Robotics & Automation Magazine - June 2011 - 22
IEEE Robotics & Automation Magazine - June 2011 - 23
IEEE Robotics & Automation Magazine - June 2011 - 24
IEEE Robotics & Automation Magazine - June 2011 - 25
IEEE Robotics & Automation Magazine - June 2011 - 26
IEEE Robotics & Automation Magazine - June 2011 - 27
IEEE Robotics & Automation Magazine - June 2011 - 28
IEEE Robotics & Automation Magazine - June 2011 - 29
IEEE Robotics & Automation Magazine - June 2011 - 30
IEEE Robotics & Automation Magazine - June 2011 - 31
IEEE Robotics & Automation Magazine - June 2011 - 32
IEEE Robotics & Automation Magazine - June 2011 - 33
IEEE Robotics & Automation Magazine - June 2011 - 34
IEEE Robotics & Automation Magazine - June 2011 - 35
IEEE Robotics & Automation Magazine - June 2011 - 36
IEEE Robotics & Automation Magazine - June 2011 - 37
IEEE Robotics & Automation Magazine - June 2011 - 38
IEEE Robotics & Automation Magazine - June 2011 - 39
IEEE Robotics & Automation Magazine - June 2011 - 40
IEEE Robotics & Automation Magazine - June 2011 - 41
IEEE Robotics & Automation Magazine - June 2011 - 42
IEEE Robotics & Automation Magazine - June 2011 - 43
IEEE Robotics & Automation Magazine - June 2011 - 44
IEEE Robotics & Automation Magazine - June 2011 - 45
IEEE Robotics & Automation Magazine - June 2011 - 46
IEEE Robotics & Automation Magazine - June 2011 - 47
IEEE Robotics & Automation Magazine - June 2011 - 48
IEEE Robotics & Automation Magazine - June 2011 - 49
IEEE Robotics & Automation Magazine - June 2011 - 50
IEEE Robotics & Automation Magazine - June 2011 - 51
IEEE Robotics & Automation Magazine - June 2011 - 52
IEEE Robotics & Automation Magazine - June 2011 - 53
IEEE Robotics & Automation Magazine - June 2011 - 54
IEEE Robotics & Automation Magazine - June 2011 - 55
IEEE Robotics & Automation Magazine - June 2011 - 56
IEEE Robotics & Automation Magazine - June 2011 - 57
IEEE Robotics & Automation Magazine - June 2011 - 58
IEEE Robotics & Automation Magazine - June 2011 - 59
IEEE Robotics & Automation Magazine - June 2011 - 60
IEEE Robotics & Automation Magazine - June 2011 - 61
IEEE Robotics & Automation Magazine - June 2011 - 62
IEEE Robotics & Automation Magazine - June 2011 - 63
IEEE Robotics & Automation Magazine - June 2011 - 64
IEEE Robotics & Automation Magazine - June 2011 - 65
IEEE Robotics & Automation Magazine - June 2011 - 66
IEEE Robotics & Automation Magazine - June 2011 - 67
IEEE Robotics & Automation Magazine - June 2011 - 68
IEEE Robotics & Automation Magazine - June 2011 - 69
IEEE Robotics & Automation Magazine - June 2011 - 70
IEEE Robotics & Automation Magazine - June 2011 - 71
IEEE Robotics & Automation Magazine - June 2011 - 72
IEEE Robotics & Automation Magazine - June 2011 - 73
IEEE Robotics & Automation Magazine - June 2011 - 74
IEEE Robotics & Automation Magazine - June 2011 - 75
IEEE Robotics & Automation Magazine - June 2011 - 76
IEEE Robotics & Automation Magazine - June 2011 - 77
IEEE Robotics & Automation Magazine - June 2011 - 78
IEEE Robotics & Automation Magazine - June 2011 - 79
IEEE Robotics & Automation Magazine - June 2011 - 80
IEEE Robotics & Automation Magazine - June 2011 - 81
IEEE Robotics & Automation Magazine - June 2011 - 82
IEEE Robotics & Automation Magazine - June 2011 - 83
IEEE Robotics & Automation Magazine - June 2011 - 84
IEEE Robotics & Automation Magazine - June 2011 - 85
IEEE Robotics & Automation Magazine - June 2011 - 86
IEEE Robotics & Automation Magazine - June 2011 - 87
IEEE Robotics & Automation Magazine - June 2011 - 88
IEEE Robotics & Automation Magazine - June 2011 - 89
IEEE Robotics & Automation Magazine - June 2011 - 90
IEEE Robotics & Automation Magazine - June 2011 - 91
IEEE Robotics & Automation Magazine - June 2011 - 92
IEEE Robotics & Automation Magazine - June 2011 - 93
IEEE Robotics & Automation Magazine - June 2011 - 94
IEEE Robotics & Automation Magazine - June 2011 - 95
IEEE Robotics & Automation Magazine - June 2011 - 96
IEEE Robotics & Automation Magazine - June 2011 - 97
IEEE Robotics & Automation Magazine - June 2011 - 98
IEEE Robotics & Automation Magazine - June 2011 - 99
IEEE Robotics & Automation Magazine - June 2011 - 100
IEEE Robotics & Automation Magazine - June 2011 - 101
IEEE Robotics & Automation Magazine - June 2011 - 102
IEEE Robotics & Automation Magazine - June 2011 - 103
IEEE Robotics & Automation Magazine - June 2011 - 104
IEEE Robotics & Automation Magazine - June 2011 - 105
IEEE Robotics & Automation Magazine - June 2011 - 106
IEEE Robotics & Automation Magazine - June 2011 - 107
IEEE Robotics & Automation Magazine - June 2011 - 108
IEEE Robotics & Automation Magazine - June 2011 - 109
IEEE Robotics & Automation Magazine - June 2011 - 110
IEEE Robotics & Automation Magazine - June 2011 - 111
IEEE Robotics & Automation Magazine - June 2011 - 112
IEEE Robotics & Automation Magazine - June 2011 - 113
IEEE Robotics & Automation Magazine - June 2011 - 114
IEEE Robotics & Automation Magazine - June 2011 - 115
IEEE Robotics & Automation Magazine - June 2011 - 116
IEEE Robotics & Automation Magazine - June 2011 - 117
IEEE Robotics & Automation Magazine - June 2011 - 118
IEEE Robotics & Automation Magazine - June 2011 - 119
IEEE Robotics & Automation Magazine - June 2011 - 120
IEEE Robotics & Automation Magazine - June 2011 - 121
IEEE Robotics & Automation Magazine - June 2011 - 122
IEEE Robotics & Automation Magazine - June 2011 - 123
IEEE Robotics & Automation Magazine - June 2011 - 124
IEEE Robotics & Automation Magazine - June 2011 - 125
IEEE Robotics & Automation Magazine - June 2011 - 126
IEEE Robotics & Automation Magazine - June 2011 - 127
IEEE Robotics & Automation Magazine - June 2011 - 128
IEEE Robotics & Automation Magazine - June 2011 - Cover3
IEEE Robotics & Automation Magazine - June 2011 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com