26.07.2013 Views

Efficient Change Detection in 3D Environment for Autonomous ...

Efficient Change Detection in 3D Environment for Autonomous ...

Efficient Change Detection in 3D Environment for Autonomous ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Efficient</strong> <strong>Change</strong> <strong>Detection</strong> <strong>in</strong> <strong>3D</strong> <strong>Environment</strong> <strong>for</strong> <strong>Autonomous</strong><br />

Surveillance Robots based on Implicit Volume<br />

Antonio W. Vieira Paulo L. J. Drews Jr. Mario F. M. Campos<br />

Abstract— The ability to detect changes <strong>in</strong> the environment<br />

is an essential trait <strong>for</strong> robots commissioned to work <strong>in</strong> several<br />

applications. In surveillance, <strong>for</strong> <strong>in</strong>stance, a robot needs to<br />

detect mean<strong>in</strong>gful changes <strong>in</strong> the environment which is achieved<br />

by compar<strong>in</strong>g current sensory data with previously acquired<br />

<strong>in</strong><strong>for</strong>mation from the environment. The large amount of sensory<br />

data, which are often complex and very noisy, expla<strong>in</strong>s the<br />

<strong>in</strong>herent difficulty of this task. As an attempt to tackle this<br />

hard problem, we present an efficient method to automatically<br />

segment <strong>3D</strong> data, corrupted with noise and outliers, <strong>in</strong>to an<br />

implicit volume bounded by a surface. The method makes it<br />

possible to efficiently apply Boolean operations to <strong>3D</strong> data<br />

<strong>in</strong> order to detect changes and to update exist<strong>in</strong>g maps.<br />

We show that our approach is powerful, albeit simple, with<br />

l<strong>in</strong>ear time complexity. The method has been validated through<br />

several trials us<strong>in</strong>g mobile robots operat<strong>in</strong>g <strong>in</strong> real environments<br />

and their per<strong>for</strong>mance was compared to another state-of-art<br />

algorithm. Experimental results demonstrate the per<strong>for</strong>mance<br />

of the proposed method, both <strong>in</strong> accuracy and computational<br />

cost.<br />

I. INTRODUCTION<br />

Build<strong>in</strong>g truly autonomous robots, which are capable to<br />

explore and navigate <strong>in</strong> an unknown and dynamic environment,<br />

rema<strong>in</strong>s a challeng<strong>in</strong>g task. Such robots need to<br />

determ<strong>in</strong>e their pose and simultaneously build maps based<br />

on their perception abilities (SLAM [10]).<br />

After an <strong>in</strong>itial environment reconnaissance, the robot<br />

should be able to detect and to respond to changes <strong>in</strong> its surround<strong>in</strong>gs.<br />

This ability is central to robotic surveillance and<br />

security systems [3], where changes could imply potential<br />

threats. In dangerous environments (e.g. abandoned m<strong>in</strong>es<br />

[11]), a robot should be able identify hazardous situations<br />

based on changes that are detected along its motion path<br />

with respect to a previously known map. There<strong>for</strong>e, change<br />

detection arises as an important capability to enable a robot<br />

to adapt itself to new situations and to ma<strong>in</strong>ta<strong>in</strong> correct<br />

operation.<br />

The basic idea beh<strong>in</strong>d most change detection approaches<br />

is to match current sensor read<strong>in</strong>gs with previously gathered<br />

<strong>in</strong><strong>for</strong>mation about the environment, which could be a previously<br />

obta<strong>in</strong>ed map or some other abstract representation,<br />

e.g. CAD (Computer Aided Design). The success of this<br />

process, as described <strong>in</strong> [6], is generally conditioned on<br />

(1) the existence of accurate sensors capable of obta<strong>in</strong><strong>in</strong>g<br />

The authors are affiliated with the Computer Vision and Robotic Laboratory<br />

(VeRLab), Computer Science Department, Universidade Federal<br />

de M<strong>in</strong>as Gerais, MG, Brazil. Antonio W. Vieira is also affiliated with<br />

CCET, UNIMONTES, MG, Brazil. Paulo L. J. Drews Jr is also affiliated<br />

with C3, FURG, RS, Brazil. This work has been supported by grants<br />

from CNPq, CAPES, FAURG and FAPEMIG. E-mails: {awilson,<br />

paulol, mario}@dcc.ufmg.br<br />

raw <strong>in</strong><strong>for</strong>mation from the environment, (2) the availability<br />

of fast and reliable algorithms capable of extract<strong>in</strong>g highlevel<br />

representations from a large set of noisy and uncerta<strong>in</strong><br />

data, and (3) the existence of an accurate method capable<br />

to detect possible changes accord<strong>in</strong>g to the representations<br />

used.<br />

In order to fulfill the first condition, that is, to perceive the<br />

environment, <strong>3D</strong> range sensors or vision-based systems are<br />

typically used. On one hand, vision based feature extraction<br />

suffers from illum<strong>in</strong>ation changes and often require heavier<br />

CPU usage due to the complexity of the algorithms [6]. On<br />

the other hand, there are laser range sensors, which directly<br />

acquire <strong>3D</strong> data, and are becom<strong>in</strong>g more accurate and less<br />

expensive <strong>in</strong> recent years. Nowadays, it is possible to acquire<br />

<strong>3D</strong> po<strong>in</strong>t clouds both <strong>in</strong> <strong>in</strong>door environments (e.g. us<strong>in</strong>g<br />

K<strong>in</strong>ect sensor) and outdoor us<strong>in</strong>g <strong>3D</strong> laser scanners. These<br />

sensors provide good quality po<strong>in</strong>t clouds <strong>in</strong> real time, with<br />

a modest amount of noise.<br />

Tackl<strong>in</strong>g the second issue demands the mapp<strong>in</strong>g of the<br />

po<strong>in</strong>t cloud data <strong>in</strong>to higher semantic level models where<br />

po<strong>in</strong>t cluster<strong>in</strong>g methods are largely used. Cluster<strong>in</strong>g methods,<br />

such as Gaussian Mixture Model<strong>in</strong>g (GMM) [7], provide<br />

an abstraction of po<strong>in</strong>t data even <strong>in</strong> the presence of noise and<br />

outliers. However, besides the high computational cost of<br />

cluster<strong>in</strong>g methods <strong>for</strong> po<strong>in</strong>t clouds, the possible shapes are<br />

limited to some implicit primitives that scantly fit the data.<br />

When data is represented as a smooth density function over<br />

a <strong>3D</strong> bound<strong>in</strong>g box, an implicit volume def<strong>in</strong>ed by a density<br />

<strong>in</strong>terval can be used to cluster po<strong>in</strong>ts. The advantage of such<br />

cluster<strong>in</strong>g based on implicit surfaces is that the shape of<br />

implicit objects are not limited to any specific primitive, but<br />

are rather flexible to describe a fairly broad range of objects<br />

with respect to their geometry and topology. [9] presents a<br />

hierarchical cluster<strong>in</strong>g method based on implicit surfaces that<br />

are suited <strong>for</strong> visualization of large datasets.<br />

F<strong>in</strong>ally, concern<strong>in</strong>g the third issue, several metrics have<br />

been proposed to detect changes us<strong>in</strong>g data acquired by<br />

the sensors. Differently from <strong>in</strong>tensity or range images, <strong>for</strong><br />

which data has a matrix-like structure and there<strong>for</strong>e comparisons<br />

are simple matrix difference operations, compar<strong>in</strong>g two<br />

po<strong>in</strong>t clouds still rema<strong>in</strong>s a sizeable challenge. One of the<br />

reasons is that neighborhood <strong>in</strong><strong>for</strong>mation is unavailable and,<br />

due to noise and outliers <strong>in</strong> the data, even if two po<strong>in</strong>t clouds<br />

were well aligned, consecutive samples from the same scene,<br />

they could share no common po<strong>in</strong>ts. Furthermore, po<strong>in</strong>t<br />

clouds have no matrix-like structure, which would allow<br />

<strong>for</strong> direct difference operation. Hence, a quadratic pairwise<br />

comparison should be employed <strong>for</strong> detect<strong>in</strong>g those pairs of


po<strong>in</strong>ts whose distance is less than a given threshold.<br />

In order to reduce the computational cost of this process,<br />

more complex metrics have been used, which <strong>in</strong>clude<br />

statistical <strong>in</strong><strong>for</strong>mation associated to the underly<strong>in</strong>g po<strong>in</strong>t<br />

distributions. The ma<strong>in</strong> disadvantage of this k<strong>in</strong>d of approach<br />

is its strong dependence on the number of distributions<br />

associated with the map.<br />

In this work, we propose to use po<strong>in</strong>t clouds to build<br />

a density function over a <strong>3D</strong> bound<strong>in</strong>g box by fitt<strong>in</strong>g a<br />

local density function to each po<strong>in</strong>t and summ<strong>in</strong>g these<br />

functions <strong>in</strong>to an accumulated global density function. This<br />

global density function is used to directly extract a boundary<br />

surface that summarizes the data with<strong>in</strong> a density <strong>in</strong>terval.<br />

This leads to a cluster<strong>in</strong>g strategy that has several important<br />

advantages: (1) It is robust to noise and outliers, (2) provides<br />

a high semantic level model which allows <strong>for</strong> Boolean set<br />

operations over different po<strong>in</strong>t clouds, and (3) it is efficient<br />

as far as time complexity is concerned. Fig. 1 illustrates<br />

the proposed approach, where the red dashed boxes, on the<br />

left, represent a prior data; the acquired data is shown <strong>in</strong><br />

cont<strong>in</strong>uous blue boxes, <strong>in</strong> the middle; and the <strong>in</strong>put-output<br />

is shown <strong>in</strong> black boxes, on the right.<br />

Fig. 1. Problem statement: Given <strong>3D</strong> data acquired by a robot and a<br />

known map on the environment, the robot detects and segments changes <strong>in</strong><br />

the scene us<strong>in</strong>g implicit clusters and Boolean operations.<br />

The rema<strong>in</strong>der of the paper is organized as follows: Sec. II<br />

briefly reviews related works. Sec. III describes our change<br />

detection approach. Experimental results are shown <strong>in</strong> Sec.<br />

IV and, f<strong>in</strong>ally, Sec. V presents the conclusions and future<br />

work directions.<br />

II. RELATED WORK<br />

In the last decade, the behavior of an autonomous mobile<br />

robot work<strong>in</strong>g <strong>in</strong> dynamic environments has been <strong>in</strong>tensively<br />

studied. In order to tame the complexity of the problem,<br />

several approaches have typically used as the ma<strong>in</strong> strategy<br />

to ignore dynamic objects from the model<strong>in</strong>g process <strong>in</strong> order<br />

to improve navigation and localization tasks [10]. However,<br />

these changes <strong>in</strong> the robot’s surround<strong>in</strong>gs may actually be<br />

relevant depend<strong>in</strong>g on the application. Follow<strong>in</strong>g this idea,<br />

Andreasson et al. [1] presented a system <strong>for</strong> autonomous<br />

change detection with a security patrol robot us<strong>in</strong>g <strong>3D</strong> laser<br />

range data and, unlike our approach, they also used images<br />

from a color camera.<br />

<strong>Change</strong> detection, <strong>in</strong> the context of surveillance robots,<br />

was also addressed <strong>in</strong> the work of Vieira Neto and Nehmzow<br />

[12], where they compare the use of self-organiz<strong>in</strong>g maps<br />

with <strong>in</strong>cremental PCA <strong>in</strong> order to model the world and<br />

identify changes there<strong>in</strong>. Differently from the work that we<br />

present <strong>in</strong> this paper, they applied their method to visual<br />

colored data, where visual attention was employed based on<br />

salience maps.<br />

Kaestner et al. [4] presented a method based on “difference<br />

image” where a probabilistic approach is used <strong>for</strong> alignment<br />

and change detection us<strong>in</strong>g range sensor data. Their alignment<br />

method provides a non-rigid po<strong>in</strong>t cloud registration to<br />

deal with estimation errors and changes between datasets are<br />

detected us<strong>in</strong>g a probabilistic threshold to recognize changes.<br />

However, robustness and per<strong>for</strong>mance are not discussed.<br />

A comb<strong>in</strong>ation of Gaussian Mixture Model (GMM) and<br />

the Earth Mover’s Distance(EMD) algorithms was proposed<br />

by Drews et al. [3] <strong>in</strong> order to detect changes <strong>in</strong> raw <strong>3D</strong> po<strong>in</strong>t<br />

clouds. Furthermore, they retrieved superquadric shapes from<br />

changes, <strong>in</strong> order to classify the encountered changes. In spite<br />

of the impressive results atta<strong>in</strong>ed, the computation time of the<br />

proposed techniques were not suitable <strong>for</strong> large datasets. This<br />

was ma<strong>in</strong>ly due to the use of the Expectation Maximization<br />

algorithm to retrieve GMMs. That work was extended <strong>in</strong><br />

Núñez et al. [6], where the structural match<strong>in</strong>g algorithm<br />

was used <strong>in</strong>stead of EMD to determ<strong>in</strong>e changes <strong>in</strong> GMM<br />

space. In spite of the limited number of tests they conducted,<br />

the results showed that the new approach represented an<br />

improvement <strong>in</strong> terms of computational cost and sensitivity<br />

to the number of Gaussians needed <strong>for</strong> the representation.<br />

The ma<strong>in</strong> limitation of us<strong>in</strong>g <strong>3D</strong> raw po<strong>in</strong>t clouds to<br />

detect changes is related to the cluster<strong>in</strong>g of data without<br />

the knowledge of surface normals and neighborhood <strong>in</strong><strong>for</strong>mation.<br />

The notion of neighborhood of a po<strong>in</strong>t <strong>in</strong> a po<strong>in</strong>t<br />

cloud subjectively suggests the idea of connectivity.<br />

In this work, we <strong>in</strong>troduce a method based on implicit<br />

functions [2] to extract a boundary surface that clusters the<br />

po<strong>in</strong>t cloud, allow<strong>in</strong>g efficient change detection, Boolean<br />

operations and segmentation. Differently from [13], where<br />

a signed distance field is used to obta<strong>in</strong> an implicit surface<br />

fitt<strong>in</strong>g the data po<strong>in</strong>ts at zero level, our goal is to def<strong>in</strong>e a<br />

level surface to cluster data po<strong>in</strong>ts.<br />

III. METHODOLOGY<br />

In this section, we detail how to build our global density<br />

function from a po<strong>in</strong>t cloud set and how to use the implicit<br />

function theorem to def<strong>in</strong>e a surface that clusters po<strong>in</strong>ts accord<strong>in</strong>g<br />

to spatial density values. F<strong>in</strong>ally, Boolean operations<br />

over two po<strong>in</strong>t clouds is presented us<strong>in</strong>g its correspond<strong>in</strong>g<br />

density functions.<br />

A. Density Function from Po<strong>in</strong>t Cloud<br />

The ma<strong>in</strong> idea of our method is to estimate an unknown<br />

global density function G : R 3 → R from a given po<strong>in</strong>t cloud<br />

P = {(xi, yi, zi) , 1 ≤ i ≤ n} such that larger values occurs<br />

<strong>in</strong> po<strong>in</strong>ts close to the surface where P was sampled. This<br />

global density function should def<strong>in</strong>e a cont<strong>in</strong>uous smooth


scalar field over which an isovalue density threshold h can<br />

be used to cluster po<strong>in</strong>ts <strong>in</strong> the implicit volume def<strong>in</strong>ed by<br />

the set S = {p ∈ R 3 ; G (p) ≥ h}.<br />

Given a po<strong>in</strong>t cloud set P with n po<strong>in</strong>ts, we def<strong>in</strong>e, <strong>for</strong><br />

each po<strong>in</strong>t pi ∈ P , a simple local density gi : R 3 → R which<br />

is a kernel function chosen to be a Gaussian:<br />

<br />

gi (p) = exp<br />

.<br />

− pi−p2<br />

2σ 2<br />

The parameter σ smooths the <strong>in</strong>fluence of pi over its<br />

neighborhood. We set σ with the value of the maximum<br />

Euclidean distance from two po<strong>in</strong>ts pi, pj ∈ P to be<br />

considered neighbors. Hence, if pi and pj are neighbors,<br />

which means pi − pj ≤ σ, the density contribution δ<br />

between pi and pj is given by<br />

δ = gi (pj) = e − pi−pj 2<br />

2σ2 1 − ≥ e 2 .<br />

In order to def<strong>in</strong>e the global density function G, we<br />

accumulate the local density functions gi contributed by all<br />

po<strong>in</strong>ts pi, 1 ≤ i ≤ n,<br />

n<br />

G (p) = gi (p).<br />

i=1<br />

S<strong>in</strong>ce the local density function gi (pi) = 1 <strong>for</strong> all pi ∈ P ,<br />

if pi has k neighbors, then G (pi) ≥ 1 + kδ. Our method<br />

clusters only po<strong>in</strong>ts with k or more neighbors by sett<strong>in</strong>g a<br />

threshold value h = 1 + kδ. Fig. 2 and 3 illustrates this<br />

cluster<strong>in</strong>g strategy <strong>for</strong> 1D and 2D po<strong>in</strong>t cloud, respectively.<br />

Fig. 2. Example of the po<strong>in</strong>t cluster<strong>in</strong>g <strong>in</strong> 1D. Local density functions are<br />

accumulated to def<strong>in</strong>e a global density function. Notice that accumulated<br />

density <strong>for</strong> p5 is <strong>in</strong>sufficient to cluster it, given the threshold.<br />

(a) (b) (c)<br />

Fig. 3. Example of the po<strong>in</strong>t cluster<strong>in</strong>g <strong>in</strong> 2D. Increas<strong>in</strong>g values of<br />

smooth<strong>in</strong>g parameter σ, lead to <strong>in</strong>creas<strong>in</strong>g cluster volume and more po<strong>in</strong>ts<br />

are clustered. In (a), two po<strong>in</strong>ts are considered outliers, <strong>in</strong> (b) only one po<strong>in</strong>t<br />

is considered outliers and, <strong>in</strong> (c), no outliers is considered.<br />

In order to speed up computation, we obta<strong>in</strong> a discrete<br />

sampl<strong>in</strong>g <strong>for</strong> the global density function by comput<strong>in</strong>g its<br />

values <strong>for</strong> a <strong>3D</strong> grid def<strong>in</strong>ed <strong>for</strong> the bound<strong>in</strong>g box of the<br />

po<strong>in</strong>t cloud P . For each po<strong>in</strong>t pi ∈ P , its local density<br />

contribution is calculated and summed only <strong>for</strong> a constant<br />

number of grid po<strong>in</strong>ts on its neighborhood accord<strong>in</strong>g to the<br />

kernel mask size s. So, the global density function G is<br />

sampled, <strong>for</strong> all po<strong>in</strong>ts on the grid, <strong>in</strong> time O (n) <strong>for</strong> a po<strong>in</strong>t<br />

cloud with n po<strong>in</strong>ts. The grid values is used as a discrete<br />

approximation <strong>for</strong> G.<br />

B. Cluster<strong>in</strong>g by Implicit Surface<br />

From the theorem of implicit functions, we have that if<br />

f : R 3 → R is smooth and h ∈ R is a regular value, that is,<br />

∇f (p) = 0 <strong>for</strong> all p ∈ f −1 (h), then f −1 (h) is a surface<br />

that partitions the doma<strong>in</strong> R 3 <strong>in</strong>to three sets:<br />

S1 = {p ∈ R 3 ; f(p) < h},<br />

S2 = {p ∈ R 3 ; f(p) = h},<br />

S3 = {p ∈ R 3 ; f(p) > h}.<br />

The global density function G constructed as described<br />

<strong>in</strong> the previous section is a smooth scalar function <strong>in</strong> R 3<br />

and sett<strong>in</strong>g a constant threshold h > 1, we def<strong>in</strong>e a surface<br />

S2 ⊂ R 3 as the boundary of a cont<strong>in</strong>uous volume region<br />

that clusters the po<strong>in</strong>t set P . Sett<strong>in</strong>g h = 1 + kδ we def<strong>in</strong>e<br />

a set to cluster po<strong>in</strong>ts that have at least k neighbors whose<br />

distance is less or equal than σ. This set is implicitly def<strong>in</strong>ed<br />

as S = {p ∈ R 3 ; G (p) > h}.<br />

In order represent and visualize the set S, we extract<br />

a piecewise l<strong>in</strong>ear boundary surface <strong>for</strong> this cluster us<strong>in</strong>g<br />

the algorithm March<strong>in</strong>g Cubes [5]. The method March<strong>in</strong>g<br />

Cubes produces a mesh of triangles approximat<strong>in</strong>g the preimage<br />

G −1 (h) from a grid of cubes where the values of the<br />

function G are known at its vertices. Each cube vertex on the<br />

grid is classified either as positive or as negative, accord<strong>in</strong>g<br />

to its relative position with respect to the set S. The result<strong>in</strong>g<br />

mesh represents a boundary surface that clusters the raw<br />

po<strong>in</strong>t cloud. Different level sets can be extracted <strong>for</strong> the same<br />

po<strong>in</strong>t cloud as long as we use a different isovalue h.<br />

Figure 4-a shows an example of a po<strong>in</strong>t cloud with some<br />

outliers; its level set surface extracted <strong>for</strong> a global density<br />

value h = 1 + 2δ is depicted <strong>in</strong> Figure 4-b, and another<br />

level set surface extracted <strong>for</strong> density level h = 1 + 3δ is<br />

shown <strong>in</strong> Figure 4-c. Notice that multiple components are<br />

well clustered. Notice, also, that <strong>in</strong> Figure 4-c the higher<br />

density level cluster<strong>in</strong>g leads to a disconnected component<br />

(a) (b) (c)<br />

Fig. 4. Example of the po<strong>in</strong>t cloud cluster<strong>in</strong>g <strong>in</strong> <strong>3D</strong>. Raw po<strong>in</strong>t cloud (a),<br />

the cluster<strong>in</strong>g set <strong>for</strong> density level h = 1 + 2δ (b) and the cluster<strong>in</strong>g set <strong>for</strong><br />

density level h = 1 + 3δ (c).


<strong>for</strong> the person’s head and that <strong>in</strong> the lower members, a hole<br />

appeared separat<strong>in</strong>g the two legs.<br />

Given a threshold h, we will consider a normalized global<br />

density function G(p) = h − G(p), where zero value def<strong>in</strong>es<br />

the boundary surface, negative and positive values def<strong>in</strong>e<br />

<strong>in</strong>terior and exterior regions of the cluster, respectively. The<br />

use of G allows, without loss of generality, <strong>for</strong> the efficient<br />

use of Boolean operations on implicit volumes.<br />

C. Boolean Operations<br />

Let two po<strong>in</strong>t clouds P1 and P2 represent current and<br />

reference data, respectively. It is hard to per<strong>for</strong>m Boolean<br />

operations such as P1 ∩ P2 or P1 − P2. However, us<strong>in</strong>g<br />

their associated normalized global density functions, given<br />

by G1, G2 : R 3 → R, each Boolean operation constructs a<br />

new normalized global density function G3 <strong>in</strong> a simple step,<br />

as shown <strong>in</strong> [8], us<strong>in</strong>g the follow<strong>in</strong>g operations:<br />

P1 ∪ P2 ⇒ G3 (p) = m<strong>in</strong> (G1 (p) , G2 (p))<br />

P1 ∩ P2 ⇒ G3 (p) = max (G1 (p) , G2 (p))<br />

P1 − P2 ⇒ G3 (p) = max (G1 (p) , −G2 (p))<br />

The above Boolean operation is def<strong>in</strong>ed <strong>for</strong> implicit data<br />

only. In order to take advantage of this procedure to compute<br />

changes from our discrete po<strong>in</strong>t clouds, we obta<strong>in</strong><br />

G3 (p) = max (G1 (p) , −G2 (p)), which is a new density<br />

function whose negative values def<strong>in</strong>e a volume where po<strong>in</strong>ts<br />

belong<strong>in</strong>g to the portion where there is a change should lie.<br />

F<strong>in</strong>ally, po<strong>in</strong>ts p ∈ P1 are detected as a change if G3(p) < 0,<br />

which is computed <strong>in</strong> l<strong>in</strong>ear time. Figure 1 shows an example<br />

of an operation of difference between two po<strong>in</strong>t clouds.<br />

Algorithm 1 details our method.<br />

Algorithm 1 <strong>Change</strong>Detect( P1, P2, h )<br />

1: Compute G1 from P1<br />

2: Compute G2 from P2<br />

3: Compute G3 = max(G1, −G2)<br />

4: D = ∅<br />

5: <strong>for</strong> each p ∈ P1 do<br />

6: if G3(p) < 0 then<br />

7: D = D ∪ {p}<br />

8: end if<br />

9: end <strong>for</strong><br />

10: return D<br />

Notice that, as it is, Algorithm 1 computes change po<strong>in</strong>ts<br />

that shows up. Disappear<strong>in</strong>g change po<strong>in</strong>ts can be computed<br />

as well by swapp<strong>in</strong>g P1 and P2 <strong>in</strong> the <strong>in</strong>put.<br />

IV. EXPERIMENTAL RESULTS<br />

In order to obta<strong>in</strong> statistical quantitative assessment of<br />

the proposal method, we use the methodology proposed by<br />

Vieira Neto and Nehmzow [12] to evaluate change detection.<br />

They propose the use of cont<strong>in</strong>gency tables to relate the<br />

system response with ground truth <strong>in</strong><strong>for</strong>mation to obta<strong>in</strong><br />

three different statistical <strong>in</strong>dicators based on χ 2 analysis. In<br />

our work, the ground truth data was manually segmented by<br />

the authors.<br />

Vieira Neto and Nehmzow propose the use of three<br />

metrics: Cramer’s V , uncerta<strong>in</strong>ty coefficient U(0 ≤ V, U ≤<br />

1) and κ <strong>in</strong>dex of agreement. Those methods were used<br />

to quantify the strength of data association, where small<br />

values <strong>in</strong>dicate weaker associations and values closer to one<br />

represent stronger associations. The <strong>in</strong>dex κ varies between<br />

[−1; 1], where values smaller than 0.1 <strong>in</strong>dicate no agreement,<br />

values between 0.1 and 0.4 <strong>in</strong>dicate a weak agreement,<br />

values between 0.4 and 0.6 <strong>in</strong>dicate a clear agreement and<br />

values larger than 0.6 <strong>in</strong>dicate a strong agreement.<br />

Due to the similarity between these metrics, we show only<br />

the κ <strong>in</strong>dex of agreement <strong>in</strong> order to show the accuracy of<br />

our method. The κ <strong>in</strong>dex can be computed us<strong>in</strong>g Equation<br />

1, where A represents <strong>in</strong>liers, B represents detection failure,<br />

C represents outliers, and D represents correct detection of<br />

the absence of change. More details on these metrics can be<br />

found <strong>in</strong> [12].<br />

κ =<br />

2(AD − BC)<br />

(A + C)(C + D) + (A + B)(B + D)<br />

A. Evaluation of robustness and parameters sensitivity<br />

The experiments to evaluate robustness of our method used<br />

a <strong>3D</strong> dataset acquired <strong>in</strong> an office environment as reference<br />

map and 10 different datasets of the same environment<br />

modified with objects of different sizes and shapes. A Pioneer<br />

2-AT Robot equipped with a Microsoft K<strong>in</strong>ect sensor was<br />

used to obta<strong>in</strong> the data, and each data set has about 76k<br />

po<strong>in</strong>ts. The environment and 10 different changes are shown<br />

<strong>in</strong> Fig. 5-a and 5-b. The tests were executed on a PC with a<br />

Core 2 Duo CPU runn<strong>in</strong>g at 2.0 GHz and with 2 GB RAM.<br />

Our algorithm obta<strong>in</strong>s a discrete sampl<strong>in</strong>g <strong>for</strong> the global<br />

density function by comput<strong>in</strong>g its values <strong>for</strong> a <strong>3D</strong> grid<br />

def<strong>in</strong>ed <strong>for</strong> the bound<strong>in</strong>g box of the po<strong>in</strong>t clouds. Larger grid<br />

size leads to dense sampl<strong>in</strong>g, which improves robustness but<br />

decreases per<strong>for</strong>mance, as shown <strong>in</strong> Fig. 6. Firstly, Fig. 6-a<br />

depicts the statistical results us<strong>in</strong>g the κ <strong>in</strong>dex with mean and<br />

standard deviation (error bar). These results were generated<br />

on a grid 40 × 40 × 40 to 320 × 320 × 320, with a step<br />

of 40. The result shows that high accuracy is obta<strong>in</strong>ed from<br />

grid size 120 × 120 × 120 and that this accuracy is stable <strong>for</strong><br />

higher values. Consider<strong>in</strong>g values greater than 0.6 as good<br />

(a) (b)<br />

Fig. 5. Experimental Setup 1: (a) <strong>Environment</strong> and experimental setup<br />

composed of a Pioneer Robot equipped with a K<strong>in</strong>ect sensor used to acquire<br />

<strong>3D</strong> data. (b) Ten different changes <strong>in</strong>serted <strong>in</strong> the office environment, with<br />

varies size, pose and shape.<br />

(1)


TABLE I<br />

COMPARATIVE STUDY OF DIFFERENT CHANGE DETECTION ALGORITHMS.<br />

Number of Po<strong>in</strong>ts Build Ref. Map Build Cur. Map <strong>Detection</strong><br />

Dataset Ref. Map Cur. Map Nuñez et al. Our Nuñez et al. Our Nuñez et al. Our<br />

Real Data - Test Area 1 79171 79633 177.21 1.12 164.56 1.07 0.014 0.146<br />

Real Data - Test Area 2 79171 81134 177.36 1.16 110.86 1.05 0.014 0.149<br />

Real Data - Test Area 3 79171 80112 167.88 1.14 109.22 1.06 0.028 0.166<br />

detection, we are able to detect changes even <strong>for</strong> small sized<br />

changes (see Figure 5-b).<br />

Figure 6-b, shows the process<strong>in</strong>g time of the proposed<br />

algorithm. The process<strong>in</strong>g time is obta<strong>in</strong>ed consider<strong>in</strong>g the<br />

total time <strong>for</strong> each of the three steps: (1) build<strong>in</strong>g implicit<br />

volume <strong>for</strong> reference po<strong>in</strong>t cloud, (2) build<strong>in</strong>g implicit volume<br />

<strong>for</strong> the po<strong>in</strong>t cloud with changes and, (3) per<strong>for</strong>m<strong>in</strong>g<br />

the Boolean operation (change detection). The results are<br />

shown with mean time and standard deviation. This graph<br />

shows that <strong>in</strong>creas<strong>in</strong>g grid size, <strong>in</strong>creases computational time<br />

without any ga<strong>in</strong> <strong>in</strong> accuracy <strong>for</strong> grid sizes greater than<br />

80 × 80 × 80, <strong>for</strong> which high accuracy is obta<strong>in</strong>ed <strong>in</strong> less<br />

than half a second.<br />

(a)<br />

(b)<br />

Fig. 6. Results obta<strong>in</strong>ed us<strong>in</strong>g different datasets acquired with the K<strong>in</strong>ect<br />

device, with objects of different sizes and shapes and <strong>for</strong> different poses.<br />

a) The statistical assessment κ <strong>in</strong>dex of agreement <strong>for</strong> grid size changes. b)<br />

Process<strong>in</strong>g time <strong>for</strong> each dataset change <strong>in</strong> the grid size.<br />

In order to experimentally show the l<strong>in</strong>ear time complexity<br />

of our method, we computed changes <strong>for</strong> po<strong>in</strong>t clouds with<br />

different sizes. For this experiment, n<strong>in</strong>e sets were used <strong>for</strong><br />

which the number of po<strong>in</strong>ts varyed from 17k to 144k. For<br />

each dataset, five different acquisitions were processed to<br />

Fig. 7. Computation time <strong>for</strong> different po<strong>in</strong>t cloud sizes. N<strong>in</strong>e sets<br />

with different sizes from 17k to 144k were used to show the l<strong>in</strong>ear time<br />

complexity <strong>in</strong> the number of po<strong>in</strong>ts.<br />

present the mean and standard deviation of the process<strong>in</strong>g<br />

time as shown <strong>in</strong> Figure 7.<br />

B. Comparison with a state-of-art approach<br />

We use compare our method with the one presented <strong>in</strong> [6]<br />

on their dataset. That dataset was acquired <strong>in</strong> the hallways<br />

of a build<strong>in</strong>g of the M<strong>in</strong>as Gerais Federal University us<strong>in</strong>g<br />

a Pioneer 2-AT Robot equipped with two SICK LMS-200<br />

mounted orthogonally, <strong>in</strong> order to localize and acquire <strong>3D</strong><br />

maps. For the experiments, three different novelties were<br />

<strong>in</strong>cluded <strong>in</strong> the robot’s workspace: An identification cyl<strong>in</strong>der,<br />

a person and a pr<strong>in</strong>ter box. The environment and the objects<br />

used are shown <strong>in</strong> Fig. 8-a and 8-b.<br />

Consider<strong>in</strong>g the results shown <strong>in</strong> [6], we are able to<br />

compare only the process<strong>in</strong>g time. The accuracy of the<br />

method is not available because different metrics were used<br />

<strong>in</strong> the evaluation processes of each method. As <strong>in</strong> [6], we<br />

are also capable to detect changes <strong>in</strong> all three scenarios,<br />

(a) (b)<br />

Fig. 8. Experimental Setup 2: (a) <strong>Environment</strong> and experimental setup composed<br />

of a Pioneer 2-AT Robot equipped with two orthogonally mounted<br />

laser scanners acquir<strong>in</strong>g <strong>3D</strong> data. (b) Three different changes were <strong>in</strong>serted<br />

<strong>in</strong> the robot’s environment.


albeit faster. Table I uses the best times obta<strong>in</strong>ed <strong>in</strong> the<br />

work of Nuñez et al. [6]. Both methods are divided <strong>in</strong>to two<br />

steps, where the first step builds a “special” representation<br />

and the second step compares this representation (called<br />

<strong>Detection</strong>). In the case of [6], the representation is built us<strong>in</strong>g<br />

a simplification method and GMM estimation. In our method,<br />

the representation tailored to build<strong>in</strong>g implicit volumes. The<br />

change detection is achieved us<strong>in</strong>g structural match<strong>in</strong>g <strong>in</strong> [6],<br />

and Boolean operation <strong>in</strong> our approach.<br />

Notice that, <strong>for</strong> all datasets, our method is substantially<br />

faster to build the required representation. The ma<strong>in</strong> limitation<br />

of the method proposed by Nuñez et al. [6] is related<br />

to the Gaussian Mixture Models us<strong>in</strong>g the Expectation-<br />

Maximization algorithm, which has lower computational per<strong>for</strong>mance<br />

and is quite sensitive to the number of Gaussians,<br />

which is one of the parameters of the EM algorithm.<br />

Besides the improvement <strong>in</strong> computational time process<strong>in</strong>g,<br />

we empirically observe, from other results as shown<br />

<strong>in</strong> the Figure 9, that our method per<strong>for</strong>ms quite robustly <strong>in</strong><br />

the presence of parallax and highly complex geometry. In<br />

the work of [6], the datasets obta<strong>in</strong>ed by the robot show<br />

the walls and some objects, but the roof was also acquired,<br />

where pipes and other objects are present <strong>in</strong> the ceil<strong>in</strong>g, as<br />

shown <strong>in</strong> Figure 8-a. However, this data are not considered<br />

<strong>in</strong> their experiment, because of to the high data complexity<br />

due parallax and absence of mean<strong>in</strong>gful changes. In another<br />

experiment, we used the “complete” <strong>in</strong><strong>for</strong>mation available<br />

from this dataset to describe the data <strong>in</strong>clud<strong>in</strong>g all the po<strong>in</strong>ts.<br />

Figure 9-a shows one example of “complete” po<strong>in</strong>t cloud<br />

obta<strong>in</strong>ed us<strong>in</strong>g the Pioneer robot (see Fig. 8-a) where one<br />

person produce the change (see Fig. 8-b). The blue dots<br />

represent the po<strong>in</strong>ts detected as not change, and the red po<strong>in</strong>ts<br />

as change po<strong>in</strong>ts detected by our algorithm. Some red po<strong>in</strong>ts<br />

are <strong>in</strong> the ceil<strong>in</strong>g, and this is due to the parallax effect <strong>in</strong><br />

the acquisition and misalignment between reference dataset<br />

(without change) and the present dataset (with change).<br />

Figure 9-b shows the clustered volume obta<strong>in</strong>ed with our<br />

implicit approach <strong>for</strong> the complete dataset. The po<strong>in</strong>t cloud<br />

is approximately twice as large as the partial volume, i.e. it<br />

has approximately 150k po<strong>in</strong>ts. We were able to correctly<br />

detect changes <strong>for</strong> this dataset <strong>in</strong> less than one second.<br />

V. CONCLUSIONS AND FUTURE WORK<br />

This paper described a novel method to detect changes <strong>in</strong><br />

a <strong>3D</strong> real environment <strong>for</strong> robot navigation. Results obta<strong>in</strong>ed<br />

with two different experimental plat<strong>for</strong>ms are shown. A new<br />

approach to detect changes based on implicit volumes allow<br />

us to detect changes us<strong>in</strong>g Boolean operation. It enables us to<br />

localize the existence of novelties <strong>in</strong> the scene, i.e. segment<br />

them. Results of the proposed algorithm demonstrate the<br />

reliability and efficiency of the approach. The algorithm<br />

was compared with a state-of-art approach and obta<strong>in</strong>ed<br />

substantially better results <strong>in</strong> terms of computational cost<br />

and similar as far as detection and accuracy are concerned.<br />

Future <strong>in</strong>vestigation will focus on the extension of the<br />

method to work iteratively, with the data be<strong>in</strong>g captured<br />

onl<strong>in</strong>e by the robot. Another important improvement is to<br />

(a) (b)<br />

Fig. 9. <strong>Change</strong> detection algorithm comparison: a) example of po<strong>in</strong>t cloud<br />

obta<strong>in</strong>ed us<strong>in</strong>g Pioneer robot (see Fig. 8-a) with one person as change (see<br />

Fig. 8-b). <strong>Change</strong>s detected by the algorithm is <strong>in</strong>dicated by red po<strong>in</strong>ts,<br />

where is possible to see some outliers <strong>in</strong> the roof. b) Implicit volumes<br />

obta<strong>in</strong>ed from po<strong>in</strong>t cloud <strong>in</strong> a) generated by our approach.<br />

per<strong>for</strong>m the registration between clouds concurrently with<br />

Boolean operation. This will ultimately allow us to correlate<br />

and align similar po<strong>in</strong>ts and obta<strong>in</strong> good registration even<br />

<strong>for</strong> significant changes <strong>in</strong> environmental and acquisition<br />

conditions.<br />

REFERENCES<br />

[1] Henrik Andreasson, Mart<strong>in</strong> Magnusson, and Achim J. Lilienthal. Has<br />

someth<strong>in</strong>g changed here? autonomous difference detection <strong>for</strong> security<br />

patrol robots. In Proc. IROS, pages 3429–3435, San Diego, USA,<br />

2007.<br />

[2] Jules Bloomenthal and Brian Wyvill, editors. Introduction to Implicit<br />

Surfaces. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA,<br />

1997.<br />

[3] Paulo Drews Jr, P. Núñez, R. Rocha, M. Campos, and J. Dias. Novelty<br />

detection and 3d shape retrieval us<strong>in</strong>g superquadrics and multi-scale<br />

sampl<strong>in</strong>g <strong>for</strong> autonomous mobile robots. In Proc. ICRA, pages 3635–<br />

3640, may 2010.<br />

[4] Ralf Kaestner, Sebastian Thrun, Michael Montemerlo, and Matt Whalley.<br />

A non-rigid approach to scan alignment and change detection<br />

us<strong>in</strong>g range sensor data. In FSR, pages 179–194, 2005.<br />

[5] Thomas Lew<strong>in</strong>er, Hélio Lopes, Antônio Wilson Vieira, and Geovan<br />

Tavares. <strong>Efficient</strong> implementation of march<strong>in</strong>g cubes cases with<br />

topological guarantees. JGT, 8(2):1–15, december 2003.<br />

[6] P. Núñez, P. Drews, A. Bandera, R. Rocha, M. Campos, and J. Dias.<br />

<strong>Change</strong> detection <strong>in</strong> 3d environments based on gaussian mixture model<br />

and robust structural match<strong>in</strong>g <strong>for</strong> autonomous robotic applications. In<br />

Proc. IROS, pages 2633 –2638, oct. 2010.<br />

[7] P. Núñez, P. Drews, R. Rocha, M. Campos, and J. Dias. Novelty<br />

detection and 3d shape retrieval based on gaussian mixture models<br />

<strong>for</strong> autonomous surveillance robotics. In Proc. IROS, pages 4724–<br />

4730, Piscataway, NJ, USA, 2009. IEEE Press.<br />

[8] A. Ricci. A constructive geometry <strong>for</strong> computer graphics. The<br />

Computer Jornal, 16(2):157–160, 1973.<br />

[9] T. C. Sprenger, R. Brunella, and M. H. Gross. H-blob: a hierarchical<br />

visual cluster<strong>in</strong>g method us<strong>in</strong>g implicit surfaces. In In Proc. VIS, pages<br />

61–68, Los Alamitos, CA, USA, 2000. IEEE Computer Society Press.<br />

[10] Sebastian Thrun, Wolfram Burgard, and Dieter Fox. Probabilistic<br />

Robotics. The MIT Press, 2005.<br />

[11] Sebastian Thrun, Dirk Hahnel, David Ferguson, Michael Montemerlo,<br />

Rudolph Triebel, Wolfram Burgard, Christopher Baker, Zachary Omohundro,<br />

Scott Thayer, and William Whittaker. A system <strong>for</strong> volumetric<br />

robotic mapp<strong>in</strong>g of abandoned m<strong>in</strong>es. In Proc. ICRA, pages 4270–<br />

4275, 2003.<br />

[12] Hugo Vieira Neto and Ulrich Nehmzow. Visual novelty detection <strong>for</strong><br />

autonomous <strong>in</strong>spection robots. In Yoshihiko Takahashi, editor, Service<br />

Robot Applications, pages 309–330. I-Tech Education and Publish<strong>in</strong>g,<br />

Vienna, Austria, 2008.<br />

[13] Weihong Wang Xujia Q<strong>in</strong> and Qu Li. Practical boolean operations on<br />

po<strong>in</strong>t-sampled models. In Proc. ICCSA, 3980:393–401, 2006.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!