researcharticle 3d maps representation using gng · 2016-05-05 · researcharticle 3d maps...

12
Research Article 3D Maps Representation Using GNG Vicente Morell, Miguel Cazorla, Sergio Orts-Escolano, and Jose Garcia-Rodriguez University Institute for Computing Research, University of Alicante, P.O. Box 99, 03080 Alicante, Spain Correspondence should be addressed to Miguel Cazorla; [email protected] Received 6 March 2014; Accepted 24 July 2014; Published 27 August 2014 Academic Editor: Yi Chen Copyright © 2014 Vicente Morell et al. is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Current RGB-D sensors provide a big amount of valuable information for mobile robotics tasks like 3D map reconstruction, but the storage and processing of the incremental data provided by the different sensors through time quickly become unmanageable. In this work, we focus on 3D maps representation and propose the use of the Growing Neural Gas (GNG) network as a model to represent 3D input data. GNG method is able to represent the input data with a desired amount of neurons or resolution while preserving the topology of the input space. Experiments show how GNG method yields a better input space adaptation than other state-of-the-art 3D map representation methods. 1. Introduction A 3D point is comprised of (, , and ) values representing the spatial coordinates. Moreover, if color information (R, G, and B) is available for each point, it is referred to as RGB-D data. RGB-D cameras provide this kind of data and have become very popular due to their low cost, like the Kinect sensor. is sensor could provide more than 300,000 3D points per capture. at feature is very useful to carry out a fundamental task in mobile robotics: mapping [1]. Mapping is a task that builds a map from the observations and movements of the robot. Each time the robot moves, an observation is linked to that movement. en, using different methods, for example, registration, the map can be built, transforming each observation with respect to a common coordinates frame. is map is useful to develop subsequent tasks, like localization, navigation, and recognition. e use of RGB-D data as observations is referred to as RGB-D mapping and RGB-D maps. e amount of data in RGB-D maps is huge since the number of poses is high. In a typical map with 10,000 poses, the data could consist of more than 3 billion of 3D points, which are unaffordable for representation and other tasks. Furthermore, as acquisitions frame rate is high, for a common area, a huge amount of redundant points is used to represent the input space. Due to the huge quantity of data, several methods have been proposed to reduce the number of points in the map while preserving the main features of the data, as it would be used in further tasks. Elevation maps were a commonly used structure in the past [2]. ese elevation maps are represented using a regular 2D cell grid where each cell value represents the elevation or height of the surface of that space. is compact model allows a simple representation of large areas but with low level of detail. Triebel et al. [3] presented an extension of the height maps to represent different surfaces at different heights. is multilevel surface map (MLS map) allows the representation of vertical structures and different surfaces in a 2D cell-based structure like the ones used in the traditional height maps. is approach focuses on the representation of planar surfaces to help mobile robotics tasks like robotics navigation. Following this idea of 3D space representation, some other structures have been proposed like occupancy grids or Octrees. Occupancy grids represent the entire space as 3D cell grids. e cell information could consist of a single value Hindawi Publishing Corporation Mathematical Problems in Engineering Volume 2014, Article ID 972304, 11 pages http://dx.doi.org/10.1155/2014/972304

Upload: others

Post on 20-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

Research Article3D Maps Representation Using GNG

Vicente Morell Miguel Cazorla Sergio Orts-Escolano and Jose Garcia-Rodriguez

University Institute for Computing Research University of Alicante PO Box 99 03080 Alicante Spain

Correspondence should be addressed to Miguel Cazorla miguelcazorlauaes

Received 6 March 2014 Accepted 24 July 2014 Published 27 August 2014

Academic Editor Yi Chen

Copyright copy 2014 Vicente Morell et al This is an open access article distributed under the Creative Commons Attribution Licensewhich permits unrestricted use distribution and reproduction in any medium provided the original work is properly cited

Current RGB-D sensors provide a big amount of valuable information for mobile robotics tasks like 3D map reconstruction butthe storage and processing of the incremental data provided by the different sensors through time quickly become unmanageableIn this work we focus on 3D maps representation and propose the use of the Growing Neural Gas (GNG) network as a model torepresent 3D input data GNG method is able to represent the input data with a desired amount of neurons or resolution whilepreserving the topology of the input space Experiments show how GNGmethod yields a better input space adaptation than otherstate-of-the-art 3D map representation methods

1 Introduction

A 3D point is comprised of (119883 119884 and119885) values representingthe spatial coordinates Moreover if color information (RG and B) is available for each point it is referred to asRGB-D data RGB-D cameras provide this kind of data andhave become very popular due to their low cost like theKinect sensor This sensor could provide more than 3000003D points per capture That feature is very useful to carryout a fundamental task in mobile robotics mapping [1]Mapping is a task that builds a map from the observationsand movements of the robot Each time the robot moves anobservation is linked to that movementThen using differentmethods for example registration the map can be builttransforming each observation with respect to a commoncoordinates frame This map is useful to develop subsequenttasks like localization navigation and recognition The useof RGB-D data as observations is referred to as RGB-Dmapping and RGB-D maps

The amount of data in RGB-D maps is huge since thenumber of poses is high In a typical map with 10000 posesthe data could consist of more than 3 billion of 3D pointswhich are unaffordable for representation and other tasks

Furthermore as acquisitions frame rate is high for a commonarea a huge amount of redundant points is used to representthe input space Due to the huge quantity of data severalmethods have been proposed to reduce the number of pointsin the map while preserving the main features of the data asit would be used in further tasks

Elevation maps were a commonly used structure in thepast [2]These elevationmaps are represented using a regular2D cell grid where each cell value represents the elevationor height of the surface of that space This compact modelallows a simple representation of large areas but with lowlevel of detail Triebel et al [3] presented an extension ofthe height maps to represent different surfaces at differentheights This multilevel surface map (MLS map) allows therepresentation of vertical structures and different surfaces ina 2D cell-based structure like the ones used in the traditionalheight maps This approach focuses on the representation ofplanar surfaces to help mobile robotics tasks like roboticsnavigation

Following this idea of 3D space representation someother structures have been proposed like occupancy grids orOctrees Occupancy grids represent the entire space as 3Dcell grids The cell information could consist of a single value

Hindawi Publishing CorporationMathematical Problems in EngineeringVolume 2014 Article ID 972304 11 pageshttpdxdoiorg1011552014972304

2 Mathematical Problems in Engineering

of occupancy or contain more complex information as theprobability of occupancy Several works in mobile roboticshave used this structure as a base for their applications [4ndash6]Another common structure is the Octree [7] The Octree is atree structure in which each internal node has eight childrenEach node of the tree is recursively subdivided into eightnew nodes until a certain condition is fulfilled like the sizeof the area represented by a node This structure representsboth occupied and empty space in the area representedby the Octree It also allows some optimized operationslike closest point searching or occupancy checking In [8]an Octree based framework called OctoMap is presentedIt uses probabilistic occupancy estimation where areas ofthe space are represented as occupied empty or uncertainAnother commonly used structure is the voxel grid (VG)The VG downsampling technique is based on the input spacesampling using a grid of 3D voxels This technique has beentraditionally employed in the area of computer graphics tosubdivide the input space and reduce the number of points[7 9]

Wang et al [10] presented a feature based 3D pointcloud simplification method They detect the points withmore information (big curvature) and subsample the restof the points using a uniform spherical sampling methodTherefore they preserve the keypoints and subsample thosepoints with less curvature informationThismethod is able tosubsample 3D point clouds obtained from object surfaces Itdoes not work on scene maps since the spherical samplingand the feature selection process is usually harder andproblem dependent

Other approaches use self-organizing maps in order toreduce the input space Viejo et al [11] used a GrowingNeural Gas (GNG) algorithm to filter and reduce singlefrontal point clouds In this paper we propose the extensionof that work to manage complete maps The GNG adapts itsstructure to the complete map reducing its size preservingthe input space topology and providing better adjustmentthan existing methods To validate our method we presentseveral experiments comparing our method with map sizereduction state-of-the-art methods

The rest of this work is organized as follows First inSection 2 we introduce and describe the proposed GNGapplication and the Octree and voxel grid methods thatwe will use in the experimentation Next in Section 3 thevalidation of our method is carried out comparing it with thetwo previous mentioned methods Finally conclusions andfuture works are drawn

2 3D Representation Methods

One way of selecting points of interest in 3D point clouds isthe use of a topographic mapping where a low-dimensionalmap is fitted to the high dimensional manifold of the modelwhilst preserving the topographic structure of the data

In this section we review some typical methods torepresent and compress 3D data First we propose the use ofa Growing Neural Gas algorithm to reduce and represent 3D

point cloud maps Then we briefly describe two well-knowndata structures in order to compare them with our method

21 GNGMethod A commonway to achieve data dimensionreduction is by using self-organising neural networks whereinput patterns are projected onto a network of neural unitssuch that similar patterns are projected onto units adjacentin the network and vice versa As a result of this projectiona representation of the input patterns is achieved whichin postprocessing stages allows exploiting the similarityrelations of the input patterns

However most common approaches do not providegood neighborhood and topology preservation if the logicalstructure of the input pattern is not known a priori Infact the most common approaches specify in advance thenumber of neurons in the network and a graph that representstopological relationships between them for example a two-dimensional grid and seek the best match to the given inputpattern manifold When this is not the case the networksfail to provide good topology preservation as in the case ofKohonenrsquos algorithm [12]

The approach presented in this paper is based on self-organising networks trained using the Growing Neural Gaslearningmethod [13] an incremental training algorithmThelinks between the neurons in the network are establishedthrough competitive Hebbian learning [14] As a result thealgorithm is suitable in cases where the topological structureof the input pattern is not known a priori and yields topologypreserving maps of feature manifold [15]

In GNG the nodes of the network compete to determinethe ones with the highest similarity to the input distributionIn our case the input distribution is a finite set of 3Dpoints extracted from different types of sensors The highestsimilarity reflects which node together with its topologicalneighbors is the closest one to the input sample point whichis the pattern generated by the network The 119899-dimensionalinput signals are randomly generated from a finite inputdistribution

The nodes move towards the input distribution byadapting their position to the input data geometry Duringthe learning process local error measures are gathered todeterminewhere to insert new nodes New nodes are insertednear the node with the highest accumulated error At eachadaptation step a connection between the winner and itstopological neighbors is created as dictated by the compet-itive Hebbian learning method This is continued until anending condition is fulfilled for example the evaluation ofthe optimal network topology a predefined network size or adeadline

The network is specified as follows

(i) It is a set 119873 of nodes (neurons) Each neuron 119888 isin119873 has its associated reference vector 119908

119888isin 119877119889 The

reference vectors can be regarded as positions in theinput space of their corresponding neurons

Mathematical Problems in Engineering 3

(ii) It is a set of edges (connections) between pairs ofneurons These connections are not weighted and itspurpose is to define the topological structure Theedges are determined using the competitive Hebbianlearning algorithm An edge-aging scheme is used toremove connections that are invalid due to the activa-tion of the neuron during the adaptation process

The GNG learning algorithm is as follows

(1) Start with two neurons 119886 and 119887 at random positions119908119886and 119908

119887in 119877119889

(2) Generate a random input signal 120585 according to adensity function 119875(120585)

(3) Find the nearest neuron (winner neuron) 1199041and the

second nearest 1199042

(4) Increase the age of all the edges emanating from 1199041

(5) Add the squared distance between the input signaland the winner neuron to a counter error of 119904

1

Δerror (1199041) =

100381710038171003817100381710038171199081199041

minus 12058510038171003817100381710038171003817

2

(1)

(6) Move the winner neuron 1199041and its topological neigh-

bours (neurons connected to 1199041) towards 120585 by learning

steps 120576119908and 120576119899 respectively of the total distance

Δ1199081199041

= 120576119908(120585 minus 119908

1199041

)

Δ119908119904119899

= 120576119899(120585 minus 119908

119904119899

)

(2)

(7) If 1199041and 1199042are connected by an edge set the age of

this edge to 0 If it does not exist create it

(8) Remove the edges larger than 119886max If this results inisolated neurons (without emanating edges) removethem as well

(9) With every certain number 120582 of input signals gener-ated insert a new neuron as follows

(i) Determine the neuron 119902 with the maximumaccumulated error

(ii) Insert a new neuron 119903 between 119902 and its furtherneighbor119891

119908119903= 05 (119908

119902+ 119908119891) (3)

(iii) Insert new edges connecting the neuron 119903 withneurons 119902 and119891 removing the old edge between119902 and 119891

(iv) Decrease the error variables of neurons 119902 and119891multiplying them with a constant 120572 Initializethe error variable of 119903 with the new value of theerror variable of 119902 and 119891

(10) Decrease all error variables by multiplying them witha constant 120573

(11) If the stopping criterion is not yet achieved go to step2

In summary the adaptation of the network to the inputspace takes place in step 6The insertion of connections (step7) between the two closest neurons to the input patternsestablishes an induced Delaunay triangulation in the inputspace The elimination of connections (step 8) eliminates theedges that no longer comprise the triangulationThis is madeby eliminating the connections between neurons that are nolonger activated or isolated Finally the accumulated error(step 5) allows the identification of those areas in the inputspace where it is necessary to increase the number of neuronsto improve the mapping

Using a Growing Neural Gas model to represent 3D datahas some advantages over the traditionally usedmethods likevoxel grid or Octrees For example we specify the numberof neurons (representative points of the map) while othermethods like the voxel grid or Octree get different number ofoccupied cells depending on the distribution and resolutionof the cells (voxels on voxel grid and leaves on Octree basedmethods)

22 Octree Based Method Most 3D point cloud mappingalgorithms typically use the spatial organization of the pointsto encode them in a structure like an Octree to reduce theamount of information An Octree is a tree data structurein which their internal nodes have exactly eight childrenOctrees make a partition of the three-dimensional space byrecursively subdividing it into eight octants It starts froma user specified volume space or it computes the boundingbox of the input set Then each node or cell is subdividedinto 8 children nodes until a certain condition is reachedThese conditions vary depending on the problem or theOctree implementation A commonly used condition is tostop producing new children nodes when the volume or sizeof the corresponding cell node reaches the desired precision

One of the main features of the Octree representationis that nodes not containing input space points are notsubdivided and therefore those leaf nodes represent anempty volume of the space This feature is useful for somemobile applications as robot navigation There exist differentapproaches to select the representative point of the occupiednodes A simple one is to get the center of the node cell butusing the mean or centroid of the cell inner points improvesthe preservation of the topology This approach offers betterresults but it has a higher computational and memory cost

23 Voxel Grid Method The VG downsampling technique isbased on the input space sampling using a grid of 3D voxels[16] VG algorithm defines a voxel grid in the 3D space andfor each voxel a point is chosen as the representative of allpoints that lie on that voxel It is necessary to define the size ofthe voxels as this size establishes the resolution of the filteredpoint cloud and therefore the number of points that formthe new point cloud The representative of each cell couldbe chosen by using one of the approaches described in the

4 Mathematical Problems in Engineering

Figure 1 Partial point cloud example

previous sectionThus a subset of the input space is obtainedthat roughly represents the underlying surface

The VG method as the Octree based methods presentsthe same problems compared to other subsampling tech-niques it is not possible to define the final number of pointswhich represents the surface geometric information loss dueto the reduction of the points within a voxel and sensitivity tonoisy input spaces

24 Discussion In this subsection we briefly describe themain differences of the above-described methods Figures 23 and 4 show several examples of using the three describedmethods The GNG representation provides a set of neu-rons and their neighbors These representatives and theirconnections can be used in some algorithms like 3D meshreconstruction or feature extraction

Both voxel grid and Octree methods should providesimilar results due to their final representation of the pointsIn a point cloud reduction application the Octree gets theirrepresentatives of the leaf nodes and if we use the sameresolution as the voxel grid method we get a similar divisionof the space in cubes or cells of the same dimensionThe voxelgrid method is the most simple and fastest reduction methodbut it does not have any of the advantages of the Octreestructure or GNG model like neighbor searching facilities

Figure 5 shows a 2D description of the representativepoints of the described methods We observe that the GNGmethod assigns more neurons on high density input areas(bottom left area) than the voxel grid and Octree methodsWe also observe how the GNG is able to eliminate somenoisy values like the point near the center in contrast withthe representatives used in the VG and Octree methods

(a) (b)

(c)

Figure 2 GNG representation example of the partial point cloudshown in Figure 1 Front side and top views are shown from (a) to(c) respectively

3 Experimentation

In this section we test the quality of adaptation of the threedescribed methods We first describe the data used in theexperiments and then we analyze the results of the testedmethods both quantitatively and qualitatively

31 Experimentation Setup To test the implemented scenemapping systems on room map scenarios we used theTUM RGB-D dataset [17] This dataset provides RGB-Dand ground-truth data with the goal of evaluating visualodometry and visual SLAM systems The dataset containsthe color and depth images obtained using a MicrosoftKinect sensor along the ground-truth trajectory of the sensorIt provides images at full frame rate (30Hz) and sensorresolution (640 times 480) The ground-truth trajectory wasobtained from a high-accuracy motion-capture system witheight high-speed tracking cameras (100Hz)

This dataset contains 39 sequences recorded in twodifferent scenariosThe fr1 datasets were recorded in a typicaloffice environment (first scenario) and the fr2 datasets were

Mathematical Problems in Engineering 5

(a) (b) (c)

Figure 3 Octree representation example of the partial point cloud shown in Figure 1 Front side and top views are shown from (a) to (c)respectively

(a) (b) (c)

Figure 4 Voxel grid representation example of the partial point cloud shown in Figure 1 Front side and top views are shown from (a) to(c) respectively

Table 1 Number of points of each ground-truth map dataset

Dataset Number of input pointsfr1 xyz 1049739fr1 desk 1952544fr1 360 2357039fr1 desk2 2751402fr2 xyz 3492032fr2 desk 5841800fr3 long 1636623

recorded in a large industrial hall (second scenario) Figures 6and 7 show the ground-truth reconstruction maps of the ldquofr1360rdquo and ldquofr2 deskrdquo respectively

Table 1 shows the number of points of the inputmaps usedin the experimentation We can observe that the number ofinput points ranges from one million (ldquofr1 119909119910119911rdquo) to 6 million(ldquofr2 deskrdquo)

32 Quality Adaptation Experiment As we previously men-tioned we are going to compare the proposed GNG adapta-tion with two commonly used data structures in the state-of-the-art Octree and voxel grid The implementation of bothmethods is included in the Point Cloud Library (PCL) (thePoint Cloud Library (or PCL) is a large scale open project[18] for 2D3D image and point cloud processing)TheOctreeimplementation uses the center of the leaf nodes as rep-resentative points However the voxel grid implementationuses the centroid of the points of each nonempty voxel Bothimplementations use a resolution parameter that representsthe size of the voxel in the VG method and the side of the

6 Mathematical Problems in Engineering

00

10

10

20

20

30

30

40

40

Voxel grid

Input pointsVoxel centroid

Voxel centerVoxel

(a)

Octree

0

10

20

30

40

0 10 20 30 40

Input pointsLeaf centerLeaf node

(b)

GNG

GNG

0

10

20

30

40

0 10 20 30 40

Input points

(c)

Figure 5 Two-dimensional examples of the three tested methods

Figure 6 Example of the ldquofr1 360rdquo ground-truth point cloud map

Mathematical Problems in Engineering 7

Figure 7 Example of the ldquofr3 longrdquo ground-truth point cloud map

leaf cell of the Octree implementation The GNG results areobtained using 10000120582 input patterns

We extensively tested the implemented methods usingdifferent number of representatives Since the three testedmethods reduce the amount of noise in the generated mapit is needed to know the real distance from the selectedrepresentatives to the original input space The followingmeasure specifies how close the representations are from theoriginal model

A quantitative measure of the input space adaptationof the generated map is obtained by computing the meanerror (ME) of the reducedmap against sampled points (inputspace)

ME = 1

|119881|sum

119901isin119881

min119902isin119860

1003817100381710038171003817119901 minus 1199021003817100381710038171003817 (4)

where 119881 is the input space 119901 is a point that belongs tothe input space and 119902 is the representative point with theminimum distance to 119901 Euclidean distances to closest pointsare averaged over the entire input space

Figure 8 shows the RMS errors of the three methodson the six different tested maps We observe that the threemethods have similar behavior on the different datasets TheOctree method gets the worse results probably due to theselection of its cell-node center as representative The voxelgrid gets lower errors than Octree due to the use of thecentroid of the inner points instead of using the center of thevoxel or cell

It is important to point out again that the representativeselectionmethod used in this comparison is given by the usedimplementations But Octree and voxel grid methods can usea representative selection strategy GNG adaption shows thebest results on all datasets It is noticeable that the GNG getslower errors with different number of representatives but asthe number of representatives increases the three differentmethods converge to the same error

33 Qualitative Results In this subsection we qualitativelyanalyze the results obtained with the three different methodsFigure 9 shows the original map and the three tested repre-sentations of the ldquofr1 360rdquo scene Part (a) shows the point

Table 2 Runtimes and speed-up of GPU versus CPU implementa-tion for different GNG versions

Neurons Patterns CPU runtime(s)

GPUspeed-up

GPU runtime(s)

5000 250 63 3times 2112000 350 526 5times 105218000 500 1448 6times 24133

cloud that we are trying to represent and reduce Parts (b) and(c) are respectively the Octree and voxel grid representationand part (d) is the GNG representation of the scene TheOctree representation using the centers of the leaf nodes getsa strongly structured point representation This representa-tion gets a more uniform distribution of the representativesbut the adaption error is worse as we saw in Figure 5 andthe mean error graphs The voxel grid representation getssimilar results compared to the Octree where the points areuniformly distributed as it can be observed in the pointsthat represent the floor However it gets better results onthe boundaries compared with the Octree method BothVG and Octree place representatives in isolated and noisypoints However the GNGneurons are uniformly distributedover the input space and the impact of the noisy points andundefined borders on the obtained representation is reducedWe also observe the inherent triangulation of the space thatthe GNG algorithm gets using the neurons neighborhood

Figure 10 shows two more experiments with GNG repre-sentation In these experiments we have selected two mapswith holes GNG is able to adapt to these holes and it doesnot insert neurons in them

34 Execution Time With respect to computational cost ourmethod is feasible to be included in a modern system usinggeneral purpose computing platforms However we designedin a previous work [17] a GPU-based implementation of theGNG algorithm that speeds up the sequential version severaltimes The speedup is increased as the number of neuronsused for the representation grows

In Table 2 some results can be appreciated with differentnumber of neurons and input patterns with CPU and GPUruntimes and speedup obtained with GPU version withrespect to the CPU ones The GPU used was a GTX 480NVIDIA graphic card with 480 cores a global memory of15MB and a bandwidth memory of 1774GBsec

35 GNG Maps Applications The experiments showed howthe GNG is able to adapt their topology to represent theinput map space In [19] we showed many applications of theGNG structure in order to improve 3D data representationand computer vision methods We proved that the GNGrepresentation partially discards most of the noisy valuesprovided by these RGB-D sensors In addition we performedsome experiments to show the improvement obtained using

8 Mathematical Problems in Engineering

0002004006008

01012014016018

02

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 10000 20000 30000 40000 6000050000Number of representative points

fr1 360

Voxel gridOctreeGNG

Voxel gridOctreeGNG

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr2 xyz

fr1 xyz

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

0002

004006

00801

012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr1 desk

fr1 desk2

Voxel gridOctreeGNG

fr2 desk

Figure 8 Closest neighbor distance mean errors of the different datasets

the GNG representation on normal estimation using pointneighborhood and keypoint detection and description

Normal estimation methods are based on the analysisof the eigenvectors and eigenvalues of a covariance matrixcreated from the nearest neighbours and are very sensitiveto noisy data Therefore we computed normals on raw andfiltered point clouds in order to demonstrate how a simple3D processing step like normal or curvature estimation isaffected by the presence of noise

Figure 11 shows how more stable normals are estimatedusing filtered point clouds produced by the GNG methodNormals are considered more stable as their distributionis smooth and also they have less abrupt changes in theirdirections Moreover a flat wall with some small changesin its surface was selected to appreciate changes in normaldirectionsWe employed 20000 neurons and 1000120582 patternsas configuration parameters for the GNG method in thenormal estimation experiment Figure 11(b)

Mathematical Problems in Engineering 9

(a) (b)

(c) (d)

Figure 9 (a) Original point cloud map (b) Octree reduction (c) Voxel grid reduction (d) GNG representation

Figure 10 Other examples of GNG representation with two additional maps Left part is a zoomed detail

(a) (b)

Figure 11 Normal estimation comparison (a) Normal estimation on raw point cloud (b) Normal estimation on filtered point cloud producedby the GNG method

10 Mathematical Problems in Engineering

Table 3 RMS deviation error (meters) is obtained using different detector-descriptor combinations Combinations are computed on theoriginal point cloud (raw) and different filtered point clouds using voxel grid and the proposed GNG method Keypoint detector searchradius is equal to 005 meters Feature extractor search radius is equal to 002 meters

GNG VG Raw5000119901 10000119901 20000119901 5000119901 10000119901 20000119901 All points

SIFT3D

FPFH 0168 0092 0231 0239 0073 0139 0103CSHOT 0052 0037 0019 0063 007 0037 0039PFH 0185 0367 0255 054 0171 0375 0082

PFHRGB 0106 0029 0057 008 005 0027 0041

Harris3D

FPFH 0151 0114 0079 0404 0088 018 0128CSHOT 0085 0046 0052 0038 0033 0069 0066PFH 0109 0177 0153 0305 0097 0469 0144

PFHRGB 0054 0047 0042 0033 0058 0043 0093

Tomasi3D

FPFH 0049 0054 027 0383 0127 0148 0659CSHOT 0043 0023 0063 0022 0047 0046 0049PFH 0189 0308 0319 0067 0258 0123 0765

PFHRGB 0112 0121 0066 0066 0049 0078 0062

Noble3D

FPFH 0143 0186 0199 0387 0188 0289 0114CSHOT 0098 0052 0063 0085 0059 0048 006PFH 0273 0127 0239 0073 0244 0188 0099

PFHRGB 0188 0117 0064 0096 0082 0079 0077

Lowe3D

FPFH 0143 0117 0076 0387 0188 0093 0203CSHOT 0065 0052 0062 004 0059 0107 0067PFH 0273 012 0239 0073 0244 0167 024

PFHRGB 0188 0135 0016 0077 0082 0076 0027

Curvature3D

FPFH 0099 0228 0113 0228 0103 0093 mdashCSHOT 0048 0032 0022 0033 0042 005 mdashPFH 0262 0151 0123 0244 0101 0057 mdash

PFHRGB 0139 0071 0053 0068 0083 0023 mdash

In order to test the keypoint detectordescriptor improve-ment we performed a transformation estimation algorithmand we compared the GNG results against the voxel gridrepresentation and against the entire source point cloud Weused the available descriptors [18 20 21] and detectors [22]provided by the Point Cloud Library [23] The minimummedian mean and maximum of RMS transformation error(with respect to different keypoint detectors) are presentedin Table 3 These results show how filtered point cloudsusing the GNG method generally improved the precisionof the estimated transformation Moreover the worst esti-mated transformations (maximum errors) were also slightlyimproved using the GNG compared to the other techniques

4 Conclusions

3D maps obtained from RGB-D data are useful for roboticstasks like robot navigation But this kind of maps containsa huge amount of data which must be reduced to properlyprocess the map In this paper we have presented a methodto represent and reduce 3D maps Our method is based on aGNG neural network which is adapted to the 3D input spaceThe experiments carried out demonstrated the validity of our

method as it provided better adaptation than two of themostused methods for these tasks voxel grid and Octree

As future works we propose to extend our method toprovide a useful map for robot navigation We also planto provide the GNG with a way to revert the reduction orcompression of the points storing information in the neuronsneighborhood (color point distribution etc)

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was partially funded by the Spanish GovernmentDPI2013-40534-R grant Experiments were made possiblewith a generous donation of hardware from NVDIA

Mathematical Problems in Engineering 11

References

[1] D Fox S Thrun and W Burgard Probabilistic Robotics TheMIT Press Cambridge Mass USA 2005

[2] M Herbert C Caillas E Krotkov I S Kweon and T KanadeldquoTerrain mapping for a roving planetary explorerrdquo in Pro-ceedings of the IEEE International Conference on Robotics andAutomation vol 2 pp 997ndash1002 1989

[3] R Triebel P Pfaff and W Burgard ldquoMulti-level surface mapsfor outdoor terrain mapping and loop closingrdquo in Proceedingsof the IEEERSJ International Conference on Intelligent Robotsand Systems (IROS rsquo06) pp 2276ndash2282 October 2006

[4] A Elfes ldquoUsing occupancy grids for mobile robot perceptionand navigationrdquo Computer vol 22 no 6 pp 46ndash57 1989

[5] P Stepan M Kulich and L Preucil ldquoRobust data fusionwith occupancy gridrdquo IEEE Transactions on Systems Man andCybernetics C vol 35 no 1 pp 106ndash115 2005

[6] B Schiele and J L Crowley ldquoA comparison of positionestimation techniques using occupancy gridsrdquo Robotics andAutonomous Systems vol 12 no 3-4 pp 163ndash171 1994

[7] C I Connolly ldquoCumulative generation of octree models fromrange datardquo in Proceedings of the 1st International Conference onRobotics and Automation vol 1 pp 25ndash32 March 1984

[8] K M Wurm A Hornung M Bennewitz C Stachniss andW Burgard ldquoOctoMap a probabilistic flexible and compact3D map representation for robotic systemsrdquo in Proceedings ofthe IEEE International Conference on Robotics and Automation(ICRA rsquo10) 2010

[9] L Kobbelt and M Botsch ldquoA survey of point-based techniquesin computer graphicsrdquo Computers and Graphics vol 28 no 6pp 801ndash814 2004

[10] L Wang J Chen and B Yuan ldquoSimplified representationfor 3D point cloud datardquo in Proceedings of the IEEE 10thInternational Conference on Signal Processing (ICSP rsquo10) pp1271ndash1274 October 2010

[11] D Viejo J Garcia M Cazorla D Gil and M Johnsson ldquoUsingGNG to improve 3D feature extraction application to 6DoFegomotionrdquo Neural Networks vol 32 pp 138ndash146 2012

[12] T Kohonen Self-Organizing Maps vol 30 of Springer Series inInformation Sciences Springer Berlin Germany 1995

[13] B Fritzke ldquoA growing neural gas network learns topologiesrdquo inAdvances in Neural Information Processing Systems vol 7 pp625ndash632 MIT Press 1995

[14] T Martinetz ldquoCompetitive hebbian learning rule forms per-fectly topology preserving mapsrdquo in Proceedings of the Interna-tional Conference onArtificial NeuralNetworks (ICANN rsquo93) pp427ndash434 1993

[15] T Martinetz and K Schulten ldquoTopology representing net-worksrdquo Neural Networks vol 7 no 3 pp 507ndash522 1994

[16] G Xu B Mourrain R Duvigneau and A Galligo ldquoAnalysis-suitable volume parameterization ofmulti-block computationaldomain in isogeometric applicationsrdquo Computer-Aided Designvol 45 no 2 pp 395ndash404 2013

[17] SOrts J Garcia-RodriguezDViejoMCazorla andVMorellldquoGPGPU implementation of growing neural gas Applicationto 3D scene reconstructionrdquo Journal of Parallel and DistributedComputing vol 72 no 10 pp 1361ndash1372 2012

[18] F Tombari S Salti and L Di Stefano ldquoA combined texture-shape descriptor for enhanced 3D feature matchingrdquo in Pro-ceedings of the 18th IEEE International Conference on ImageProcessing (ICIP rsquo11) pp 809ndash812 September 2011

[19] S Orts-Escolano A Three-Dimensional Representation Methodfor Noisy Point Clouds Based on Growing Self-Organizing MapsAccelerated on GPUs University of Alicante 2014

[20] R B Rusu N Blodow Z C Marton and M Beetz ldquoAligningpoint cloud views using persistent feature histogramsrdquo in Pro-ceedings of the IEEERSJ International Conference on IntelligentRobots and Systems (IROS 08) pp 3384ndash3391 Nice FranceSeptember 2008

[21] R B Rusu N Blodow and M Beetz ldquoFast point featurehistograms (FPFH) for 3D registrationrdquo in Proceedings of theIEEE International Conference on Robotics and Automation(ICRA rsquo09) pp 3212ndash3217 Kobe Japan May 2009

[22] I Sipiran and B Bustos ldquoHarris 3D a robust extension of theHarris operator for interest point detection on 3D meshesrdquoVisual Computer vol 27 no 11 pp 963ndash976 2011

[23] R B Rusu and S Cousins ldquo3D is here Point Cloud Library(PCL)rdquo in Proceeding of the IEEE International Conference onRobotics and Automation (ICRA 11) pp 1ndash4 Shanghai ChinaMay 2011

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Page 2: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

2 Mathematical Problems in Engineering

of occupancy or contain more complex information as theprobability of occupancy Several works in mobile roboticshave used this structure as a base for their applications [4ndash6]Another common structure is the Octree [7] The Octree is atree structure in which each internal node has eight childrenEach node of the tree is recursively subdivided into eightnew nodes until a certain condition is fulfilled like the sizeof the area represented by a node This structure representsboth occupied and empty space in the area representedby the Octree It also allows some optimized operationslike closest point searching or occupancy checking In [8]an Octree based framework called OctoMap is presentedIt uses probabilistic occupancy estimation where areas ofthe space are represented as occupied empty or uncertainAnother commonly used structure is the voxel grid (VG)The VG downsampling technique is based on the input spacesampling using a grid of 3D voxels This technique has beentraditionally employed in the area of computer graphics tosubdivide the input space and reduce the number of points[7 9]

Wang et al [10] presented a feature based 3D pointcloud simplification method They detect the points withmore information (big curvature) and subsample the restof the points using a uniform spherical sampling methodTherefore they preserve the keypoints and subsample thosepoints with less curvature informationThismethod is able tosubsample 3D point clouds obtained from object surfaces Itdoes not work on scene maps since the spherical samplingand the feature selection process is usually harder andproblem dependent

Other approaches use self-organizing maps in order toreduce the input space Viejo et al [11] used a GrowingNeural Gas (GNG) algorithm to filter and reduce singlefrontal point clouds In this paper we propose the extensionof that work to manage complete maps The GNG adapts itsstructure to the complete map reducing its size preservingthe input space topology and providing better adjustmentthan existing methods To validate our method we presentseveral experiments comparing our method with map sizereduction state-of-the-art methods

The rest of this work is organized as follows First inSection 2 we introduce and describe the proposed GNGapplication and the Octree and voxel grid methods thatwe will use in the experimentation Next in Section 3 thevalidation of our method is carried out comparing it with thetwo previous mentioned methods Finally conclusions andfuture works are drawn

2 3D Representation Methods

One way of selecting points of interest in 3D point clouds isthe use of a topographic mapping where a low-dimensionalmap is fitted to the high dimensional manifold of the modelwhilst preserving the topographic structure of the data

In this section we review some typical methods torepresent and compress 3D data First we propose the use ofa Growing Neural Gas algorithm to reduce and represent 3D

point cloud maps Then we briefly describe two well-knowndata structures in order to compare them with our method

21 GNGMethod A commonway to achieve data dimensionreduction is by using self-organising neural networks whereinput patterns are projected onto a network of neural unitssuch that similar patterns are projected onto units adjacentin the network and vice versa As a result of this projectiona representation of the input patterns is achieved whichin postprocessing stages allows exploiting the similarityrelations of the input patterns

However most common approaches do not providegood neighborhood and topology preservation if the logicalstructure of the input pattern is not known a priori Infact the most common approaches specify in advance thenumber of neurons in the network and a graph that representstopological relationships between them for example a two-dimensional grid and seek the best match to the given inputpattern manifold When this is not the case the networksfail to provide good topology preservation as in the case ofKohonenrsquos algorithm [12]

The approach presented in this paper is based on self-organising networks trained using the Growing Neural Gaslearningmethod [13] an incremental training algorithmThelinks between the neurons in the network are establishedthrough competitive Hebbian learning [14] As a result thealgorithm is suitable in cases where the topological structureof the input pattern is not known a priori and yields topologypreserving maps of feature manifold [15]

In GNG the nodes of the network compete to determinethe ones with the highest similarity to the input distributionIn our case the input distribution is a finite set of 3Dpoints extracted from different types of sensors The highestsimilarity reflects which node together with its topologicalneighbors is the closest one to the input sample point whichis the pattern generated by the network The 119899-dimensionalinput signals are randomly generated from a finite inputdistribution

The nodes move towards the input distribution byadapting their position to the input data geometry Duringthe learning process local error measures are gathered todeterminewhere to insert new nodes New nodes are insertednear the node with the highest accumulated error At eachadaptation step a connection between the winner and itstopological neighbors is created as dictated by the compet-itive Hebbian learning method This is continued until anending condition is fulfilled for example the evaluation ofthe optimal network topology a predefined network size or adeadline

The network is specified as follows

(i) It is a set 119873 of nodes (neurons) Each neuron 119888 isin119873 has its associated reference vector 119908

119888isin 119877119889 The

reference vectors can be regarded as positions in theinput space of their corresponding neurons

Mathematical Problems in Engineering 3

(ii) It is a set of edges (connections) between pairs ofneurons These connections are not weighted and itspurpose is to define the topological structure Theedges are determined using the competitive Hebbianlearning algorithm An edge-aging scheme is used toremove connections that are invalid due to the activa-tion of the neuron during the adaptation process

The GNG learning algorithm is as follows

(1) Start with two neurons 119886 and 119887 at random positions119908119886and 119908

119887in 119877119889

(2) Generate a random input signal 120585 according to adensity function 119875(120585)

(3) Find the nearest neuron (winner neuron) 1199041and the

second nearest 1199042

(4) Increase the age of all the edges emanating from 1199041

(5) Add the squared distance between the input signaland the winner neuron to a counter error of 119904

1

Δerror (1199041) =

100381710038171003817100381710038171199081199041

minus 12058510038171003817100381710038171003817

2

(1)

(6) Move the winner neuron 1199041and its topological neigh-

bours (neurons connected to 1199041) towards 120585 by learning

steps 120576119908and 120576119899 respectively of the total distance

Δ1199081199041

= 120576119908(120585 minus 119908

1199041

)

Δ119908119904119899

= 120576119899(120585 minus 119908

119904119899

)

(2)

(7) If 1199041and 1199042are connected by an edge set the age of

this edge to 0 If it does not exist create it

(8) Remove the edges larger than 119886max If this results inisolated neurons (without emanating edges) removethem as well

(9) With every certain number 120582 of input signals gener-ated insert a new neuron as follows

(i) Determine the neuron 119902 with the maximumaccumulated error

(ii) Insert a new neuron 119903 between 119902 and its furtherneighbor119891

119908119903= 05 (119908

119902+ 119908119891) (3)

(iii) Insert new edges connecting the neuron 119903 withneurons 119902 and119891 removing the old edge between119902 and 119891

(iv) Decrease the error variables of neurons 119902 and119891multiplying them with a constant 120572 Initializethe error variable of 119903 with the new value of theerror variable of 119902 and 119891

(10) Decrease all error variables by multiplying them witha constant 120573

(11) If the stopping criterion is not yet achieved go to step2

In summary the adaptation of the network to the inputspace takes place in step 6The insertion of connections (step7) between the two closest neurons to the input patternsestablishes an induced Delaunay triangulation in the inputspace The elimination of connections (step 8) eliminates theedges that no longer comprise the triangulationThis is madeby eliminating the connections between neurons that are nolonger activated or isolated Finally the accumulated error(step 5) allows the identification of those areas in the inputspace where it is necessary to increase the number of neuronsto improve the mapping

Using a Growing Neural Gas model to represent 3D datahas some advantages over the traditionally usedmethods likevoxel grid or Octrees For example we specify the numberof neurons (representative points of the map) while othermethods like the voxel grid or Octree get different number ofoccupied cells depending on the distribution and resolutionof the cells (voxels on voxel grid and leaves on Octree basedmethods)

22 Octree Based Method Most 3D point cloud mappingalgorithms typically use the spatial organization of the pointsto encode them in a structure like an Octree to reduce theamount of information An Octree is a tree data structurein which their internal nodes have exactly eight childrenOctrees make a partition of the three-dimensional space byrecursively subdividing it into eight octants It starts froma user specified volume space or it computes the boundingbox of the input set Then each node or cell is subdividedinto 8 children nodes until a certain condition is reachedThese conditions vary depending on the problem or theOctree implementation A commonly used condition is tostop producing new children nodes when the volume or sizeof the corresponding cell node reaches the desired precision

One of the main features of the Octree representationis that nodes not containing input space points are notsubdivided and therefore those leaf nodes represent anempty volume of the space This feature is useful for somemobile applications as robot navigation There exist differentapproaches to select the representative point of the occupiednodes A simple one is to get the center of the node cell butusing the mean or centroid of the cell inner points improvesthe preservation of the topology This approach offers betterresults but it has a higher computational and memory cost

23 Voxel Grid Method The VG downsampling technique isbased on the input space sampling using a grid of 3D voxels[16] VG algorithm defines a voxel grid in the 3D space andfor each voxel a point is chosen as the representative of allpoints that lie on that voxel It is necessary to define the size ofthe voxels as this size establishes the resolution of the filteredpoint cloud and therefore the number of points that formthe new point cloud The representative of each cell couldbe chosen by using one of the approaches described in the

4 Mathematical Problems in Engineering

Figure 1 Partial point cloud example

previous sectionThus a subset of the input space is obtainedthat roughly represents the underlying surface

The VG method as the Octree based methods presentsthe same problems compared to other subsampling tech-niques it is not possible to define the final number of pointswhich represents the surface geometric information loss dueto the reduction of the points within a voxel and sensitivity tonoisy input spaces

24 Discussion In this subsection we briefly describe themain differences of the above-described methods Figures 23 and 4 show several examples of using the three describedmethods The GNG representation provides a set of neu-rons and their neighbors These representatives and theirconnections can be used in some algorithms like 3D meshreconstruction or feature extraction

Both voxel grid and Octree methods should providesimilar results due to their final representation of the pointsIn a point cloud reduction application the Octree gets theirrepresentatives of the leaf nodes and if we use the sameresolution as the voxel grid method we get a similar divisionof the space in cubes or cells of the same dimensionThe voxelgrid method is the most simple and fastest reduction methodbut it does not have any of the advantages of the Octreestructure or GNG model like neighbor searching facilities

Figure 5 shows a 2D description of the representativepoints of the described methods We observe that the GNGmethod assigns more neurons on high density input areas(bottom left area) than the voxel grid and Octree methodsWe also observe how the GNG is able to eliminate somenoisy values like the point near the center in contrast withthe representatives used in the VG and Octree methods

(a) (b)

(c)

Figure 2 GNG representation example of the partial point cloudshown in Figure 1 Front side and top views are shown from (a) to(c) respectively

3 Experimentation

In this section we test the quality of adaptation of the threedescribed methods We first describe the data used in theexperiments and then we analyze the results of the testedmethods both quantitatively and qualitatively

31 Experimentation Setup To test the implemented scenemapping systems on room map scenarios we used theTUM RGB-D dataset [17] This dataset provides RGB-Dand ground-truth data with the goal of evaluating visualodometry and visual SLAM systems The dataset containsthe color and depth images obtained using a MicrosoftKinect sensor along the ground-truth trajectory of the sensorIt provides images at full frame rate (30Hz) and sensorresolution (640 times 480) The ground-truth trajectory wasobtained from a high-accuracy motion-capture system witheight high-speed tracking cameras (100Hz)

This dataset contains 39 sequences recorded in twodifferent scenariosThe fr1 datasets were recorded in a typicaloffice environment (first scenario) and the fr2 datasets were

Mathematical Problems in Engineering 5

(a) (b) (c)

Figure 3 Octree representation example of the partial point cloud shown in Figure 1 Front side and top views are shown from (a) to (c)respectively

(a) (b) (c)

Figure 4 Voxel grid representation example of the partial point cloud shown in Figure 1 Front side and top views are shown from (a) to(c) respectively

Table 1 Number of points of each ground-truth map dataset

Dataset Number of input pointsfr1 xyz 1049739fr1 desk 1952544fr1 360 2357039fr1 desk2 2751402fr2 xyz 3492032fr2 desk 5841800fr3 long 1636623

recorded in a large industrial hall (second scenario) Figures 6and 7 show the ground-truth reconstruction maps of the ldquofr1360rdquo and ldquofr2 deskrdquo respectively

Table 1 shows the number of points of the inputmaps usedin the experimentation We can observe that the number ofinput points ranges from one million (ldquofr1 119909119910119911rdquo) to 6 million(ldquofr2 deskrdquo)

32 Quality Adaptation Experiment As we previously men-tioned we are going to compare the proposed GNG adapta-tion with two commonly used data structures in the state-of-the-art Octree and voxel grid The implementation of bothmethods is included in the Point Cloud Library (PCL) (thePoint Cloud Library (or PCL) is a large scale open project[18] for 2D3D image and point cloud processing)TheOctreeimplementation uses the center of the leaf nodes as rep-resentative points However the voxel grid implementationuses the centroid of the points of each nonempty voxel Bothimplementations use a resolution parameter that representsthe size of the voxel in the VG method and the side of the

6 Mathematical Problems in Engineering

00

10

10

20

20

30

30

40

40

Voxel grid

Input pointsVoxel centroid

Voxel centerVoxel

(a)

Octree

0

10

20

30

40

0 10 20 30 40

Input pointsLeaf centerLeaf node

(b)

GNG

GNG

0

10

20

30

40

0 10 20 30 40

Input points

(c)

Figure 5 Two-dimensional examples of the three tested methods

Figure 6 Example of the ldquofr1 360rdquo ground-truth point cloud map

Mathematical Problems in Engineering 7

Figure 7 Example of the ldquofr3 longrdquo ground-truth point cloud map

leaf cell of the Octree implementation The GNG results areobtained using 10000120582 input patterns

We extensively tested the implemented methods usingdifferent number of representatives Since the three testedmethods reduce the amount of noise in the generated mapit is needed to know the real distance from the selectedrepresentatives to the original input space The followingmeasure specifies how close the representations are from theoriginal model

A quantitative measure of the input space adaptationof the generated map is obtained by computing the meanerror (ME) of the reducedmap against sampled points (inputspace)

ME = 1

|119881|sum

119901isin119881

min119902isin119860

1003817100381710038171003817119901 minus 1199021003817100381710038171003817 (4)

where 119881 is the input space 119901 is a point that belongs tothe input space and 119902 is the representative point with theminimum distance to 119901 Euclidean distances to closest pointsare averaged over the entire input space

Figure 8 shows the RMS errors of the three methodson the six different tested maps We observe that the threemethods have similar behavior on the different datasets TheOctree method gets the worse results probably due to theselection of its cell-node center as representative The voxelgrid gets lower errors than Octree due to the use of thecentroid of the inner points instead of using the center of thevoxel or cell

It is important to point out again that the representativeselectionmethod used in this comparison is given by the usedimplementations But Octree and voxel grid methods can usea representative selection strategy GNG adaption shows thebest results on all datasets It is noticeable that the GNG getslower errors with different number of representatives but asthe number of representatives increases the three differentmethods converge to the same error

33 Qualitative Results In this subsection we qualitativelyanalyze the results obtained with the three different methodsFigure 9 shows the original map and the three tested repre-sentations of the ldquofr1 360rdquo scene Part (a) shows the point

Table 2 Runtimes and speed-up of GPU versus CPU implementa-tion for different GNG versions

Neurons Patterns CPU runtime(s)

GPUspeed-up

GPU runtime(s)

5000 250 63 3times 2112000 350 526 5times 105218000 500 1448 6times 24133

cloud that we are trying to represent and reduce Parts (b) and(c) are respectively the Octree and voxel grid representationand part (d) is the GNG representation of the scene TheOctree representation using the centers of the leaf nodes getsa strongly structured point representation This representa-tion gets a more uniform distribution of the representativesbut the adaption error is worse as we saw in Figure 5 andthe mean error graphs The voxel grid representation getssimilar results compared to the Octree where the points areuniformly distributed as it can be observed in the pointsthat represent the floor However it gets better results onthe boundaries compared with the Octree method BothVG and Octree place representatives in isolated and noisypoints However the GNGneurons are uniformly distributedover the input space and the impact of the noisy points andundefined borders on the obtained representation is reducedWe also observe the inherent triangulation of the space thatthe GNG algorithm gets using the neurons neighborhood

Figure 10 shows two more experiments with GNG repre-sentation In these experiments we have selected two mapswith holes GNG is able to adapt to these holes and it doesnot insert neurons in them

34 Execution Time With respect to computational cost ourmethod is feasible to be included in a modern system usinggeneral purpose computing platforms However we designedin a previous work [17] a GPU-based implementation of theGNG algorithm that speeds up the sequential version severaltimes The speedup is increased as the number of neuronsused for the representation grows

In Table 2 some results can be appreciated with differentnumber of neurons and input patterns with CPU and GPUruntimes and speedup obtained with GPU version withrespect to the CPU ones The GPU used was a GTX 480NVIDIA graphic card with 480 cores a global memory of15MB and a bandwidth memory of 1774GBsec

35 GNG Maps Applications The experiments showed howthe GNG is able to adapt their topology to represent theinput map space In [19] we showed many applications of theGNG structure in order to improve 3D data representationand computer vision methods We proved that the GNGrepresentation partially discards most of the noisy valuesprovided by these RGB-D sensors In addition we performedsome experiments to show the improvement obtained using

8 Mathematical Problems in Engineering

0002004006008

01012014016018

02

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 10000 20000 30000 40000 6000050000Number of representative points

fr1 360

Voxel gridOctreeGNG

Voxel gridOctreeGNG

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr2 xyz

fr1 xyz

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

0002

004006

00801

012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr1 desk

fr1 desk2

Voxel gridOctreeGNG

fr2 desk

Figure 8 Closest neighbor distance mean errors of the different datasets

the GNG representation on normal estimation using pointneighborhood and keypoint detection and description

Normal estimation methods are based on the analysisof the eigenvectors and eigenvalues of a covariance matrixcreated from the nearest neighbours and are very sensitiveto noisy data Therefore we computed normals on raw andfiltered point clouds in order to demonstrate how a simple3D processing step like normal or curvature estimation isaffected by the presence of noise

Figure 11 shows how more stable normals are estimatedusing filtered point clouds produced by the GNG methodNormals are considered more stable as their distributionis smooth and also they have less abrupt changes in theirdirections Moreover a flat wall with some small changesin its surface was selected to appreciate changes in normaldirectionsWe employed 20000 neurons and 1000120582 patternsas configuration parameters for the GNG method in thenormal estimation experiment Figure 11(b)

Mathematical Problems in Engineering 9

(a) (b)

(c) (d)

Figure 9 (a) Original point cloud map (b) Octree reduction (c) Voxel grid reduction (d) GNG representation

Figure 10 Other examples of GNG representation with two additional maps Left part is a zoomed detail

(a) (b)

Figure 11 Normal estimation comparison (a) Normal estimation on raw point cloud (b) Normal estimation on filtered point cloud producedby the GNG method

10 Mathematical Problems in Engineering

Table 3 RMS deviation error (meters) is obtained using different detector-descriptor combinations Combinations are computed on theoriginal point cloud (raw) and different filtered point clouds using voxel grid and the proposed GNG method Keypoint detector searchradius is equal to 005 meters Feature extractor search radius is equal to 002 meters

GNG VG Raw5000119901 10000119901 20000119901 5000119901 10000119901 20000119901 All points

SIFT3D

FPFH 0168 0092 0231 0239 0073 0139 0103CSHOT 0052 0037 0019 0063 007 0037 0039PFH 0185 0367 0255 054 0171 0375 0082

PFHRGB 0106 0029 0057 008 005 0027 0041

Harris3D

FPFH 0151 0114 0079 0404 0088 018 0128CSHOT 0085 0046 0052 0038 0033 0069 0066PFH 0109 0177 0153 0305 0097 0469 0144

PFHRGB 0054 0047 0042 0033 0058 0043 0093

Tomasi3D

FPFH 0049 0054 027 0383 0127 0148 0659CSHOT 0043 0023 0063 0022 0047 0046 0049PFH 0189 0308 0319 0067 0258 0123 0765

PFHRGB 0112 0121 0066 0066 0049 0078 0062

Noble3D

FPFH 0143 0186 0199 0387 0188 0289 0114CSHOT 0098 0052 0063 0085 0059 0048 006PFH 0273 0127 0239 0073 0244 0188 0099

PFHRGB 0188 0117 0064 0096 0082 0079 0077

Lowe3D

FPFH 0143 0117 0076 0387 0188 0093 0203CSHOT 0065 0052 0062 004 0059 0107 0067PFH 0273 012 0239 0073 0244 0167 024

PFHRGB 0188 0135 0016 0077 0082 0076 0027

Curvature3D

FPFH 0099 0228 0113 0228 0103 0093 mdashCSHOT 0048 0032 0022 0033 0042 005 mdashPFH 0262 0151 0123 0244 0101 0057 mdash

PFHRGB 0139 0071 0053 0068 0083 0023 mdash

In order to test the keypoint detectordescriptor improve-ment we performed a transformation estimation algorithmand we compared the GNG results against the voxel gridrepresentation and against the entire source point cloud Weused the available descriptors [18 20 21] and detectors [22]provided by the Point Cloud Library [23] The minimummedian mean and maximum of RMS transformation error(with respect to different keypoint detectors) are presentedin Table 3 These results show how filtered point cloudsusing the GNG method generally improved the precisionof the estimated transformation Moreover the worst esti-mated transformations (maximum errors) were also slightlyimproved using the GNG compared to the other techniques

4 Conclusions

3D maps obtained from RGB-D data are useful for roboticstasks like robot navigation But this kind of maps containsa huge amount of data which must be reduced to properlyprocess the map In this paper we have presented a methodto represent and reduce 3D maps Our method is based on aGNG neural network which is adapted to the 3D input spaceThe experiments carried out demonstrated the validity of our

method as it provided better adaptation than two of themostused methods for these tasks voxel grid and Octree

As future works we propose to extend our method toprovide a useful map for robot navigation We also planto provide the GNG with a way to revert the reduction orcompression of the points storing information in the neuronsneighborhood (color point distribution etc)

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was partially funded by the Spanish GovernmentDPI2013-40534-R grant Experiments were made possiblewith a generous donation of hardware from NVDIA

Mathematical Problems in Engineering 11

References

[1] D Fox S Thrun and W Burgard Probabilistic Robotics TheMIT Press Cambridge Mass USA 2005

[2] M Herbert C Caillas E Krotkov I S Kweon and T KanadeldquoTerrain mapping for a roving planetary explorerrdquo in Pro-ceedings of the IEEE International Conference on Robotics andAutomation vol 2 pp 997ndash1002 1989

[3] R Triebel P Pfaff and W Burgard ldquoMulti-level surface mapsfor outdoor terrain mapping and loop closingrdquo in Proceedingsof the IEEERSJ International Conference on Intelligent Robotsand Systems (IROS rsquo06) pp 2276ndash2282 October 2006

[4] A Elfes ldquoUsing occupancy grids for mobile robot perceptionand navigationrdquo Computer vol 22 no 6 pp 46ndash57 1989

[5] P Stepan M Kulich and L Preucil ldquoRobust data fusionwith occupancy gridrdquo IEEE Transactions on Systems Man andCybernetics C vol 35 no 1 pp 106ndash115 2005

[6] B Schiele and J L Crowley ldquoA comparison of positionestimation techniques using occupancy gridsrdquo Robotics andAutonomous Systems vol 12 no 3-4 pp 163ndash171 1994

[7] C I Connolly ldquoCumulative generation of octree models fromrange datardquo in Proceedings of the 1st International Conference onRobotics and Automation vol 1 pp 25ndash32 March 1984

[8] K M Wurm A Hornung M Bennewitz C Stachniss andW Burgard ldquoOctoMap a probabilistic flexible and compact3D map representation for robotic systemsrdquo in Proceedings ofthe IEEE International Conference on Robotics and Automation(ICRA rsquo10) 2010

[9] L Kobbelt and M Botsch ldquoA survey of point-based techniquesin computer graphicsrdquo Computers and Graphics vol 28 no 6pp 801ndash814 2004

[10] L Wang J Chen and B Yuan ldquoSimplified representationfor 3D point cloud datardquo in Proceedings of the IEEE 10thInternational Conference on Signal Processing (ICSP rsquo10) pp1271ndash1274 October 2010

[11] D Viejo J Garcia M Cazorla D Gil and M Johnsson ldquoUsingGNG to improve 3D feature extraction application to 6DoFegomotionrdquo Neural Networks vol 32 pp 138ndash146 2012

[12] T Kohonen Self-Organizing Maps vol 30 of Springer Series inInformation Sciences Springer Berlin Germany 1995

[13] B Fritzke ldquoA growing neural gas network learns topologiesrdquo inAdvances in Neural Information Processing Systems vol 7 pp625ndash632 MIT Press 1995

[14] T Martinetz ldquoCompetitive hebbian learning rule forms per-fectly topology preserving mapsrdquo in Proceedings of the Interna-tional Conference onArtificial NeuralNetworks (ICANN rsquo93) pp427ndash434 1993

[15] T Martinetz and K Schulten ldquoTopology representing net-worksrdquo Neural Networks vol 7 no 3 pp 507ndash522 1994

[16] G Xu B Mourrain R Duvigneau and A Galligo ldquoAnalysis-suitable volume parameterization ofmulti-block computationaldomain in isogeometric applicationsrdquo Computer-Aided Designvol 45 no 2 pp 395ndash404 2013

[17] SOrts J Garcia-RodriguezDViejoMCazorla andVMorellldquoGPGPU implementation of growing neural gas Applicationto 3D scene reconstructionrdquo Journal of Parallel and DistributedComputing vol 72 no 10 pp 1361ndash1372 2012

[18] F Tombari S Salti and L Di Stefano ldquoA combined texture-shape descriptor for enhanced 3D feature matchingrdquo in Pro-ceedings of the 18th IEEE International Conference on ImageProcessing (ICIP rsquo11) pp 809ndash812 September 2011

[19] S Orts-Escolano A Three-Dimensional Representation Methodfor Noisy Point Clouds Based on Growing Self-Organizing MapsAccelerated on GPUs University of Alicante 2014

[20] R B Rusu N Blodow Z C Marton and M Beetz ldquoAligningpoint cloud views using persistent feature histogramsrdquo in Pro-ceedings of the IEEERSJ International Conference on IntelligentRobots and Systems (IROS 08) pp 3384ndash3391 Nice FranceSeptember 2008

[21] R B Rusu N Blodow and M Beetz ldquoFast point featurehistograms (FPFH) for 3D registrationrdquo in Proceedings of theIEEE International Conference on Robotics and Automation(ICRA rsquo09) pp 3212ndash3217 Kobe Japan May 2009

[22] I Sipiran and B Bustos ldquoHarris 3D a robust extension of theHarris operator for interest point detection on 3D meshesrdquoVisual Computer vol 27 no 11 pp 963ndash976 2011

[23] R B Rusu and S Cousins ldquo3D is here Point Cloud Library(PCL)rdquo in Proceeding of the IEEE International Conference onRobotics and Automation (ICRA 11) pp 1ndash4 Shanghai ChinaMay 2011

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Page 3: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

Mathematical Problems in Engineering 3

(ii) It is a set of edges (connections) between pairs ofneurons These connections are not weighted and itspurpose is to define the topological structure Theedges are determined using the competitive Hebbianlearning algorithm An edge-aging scheme is used toremove connections that are invalid due to the activa-tion of the neuron during the adaptation process

The GNG learning algorithm is as follows

(1) Start with two neurons 119886 and 119887 at random positions119908119886and 119908

119887in 119877119889

(2) Generate a random input signal 120585 according to adensity function 119875(120585)

(3) Find the nearest neuron (winner neuron) 1199041and the

second nearest 1199042

(4) Increase the age of all the edges emanating from 1199041

(5) Add the squared distance between the input signaland the winner neuron to a counter error of 119904

1

Δerror (1199041) =

100381710038171003817100381710038171199081199041

minus 12058510038171003817100381710038171003817

2

(1)

(6) Move the winner neuron 1199041and its topological neigh-

bours (neurons connected to 1199041) towards 120585 by learning

steps 120576119908and 120576119899 respectively of the total distance

Δ1199081199041

= 120576119908(120585 minus 119908

1199041

)

Δ119908119904119899

= 120576119899(120585 minus 119908

119904119899

)

(2)

(7) If 1199041and 1199042are connected by an edge set the age of

this edge to 0 If it does not exist create it

(8) Remove the edges larger than 119886max If this results inisolated neurons (without emanating edges) removethem as well

(9) With every certain number 120582 of input signals gener-ated insert a new neuron as follows

(i) Determine the neuron 119902 with the maximumaccumulated error

(ii) Insert a new neuron 119903 between 119902 and its furtherneighbor119891

119908119903= 05 (119908

119902+ 119908119891) (3)

(iii) Insert new edges connecting the neuron 119903 withneurons 119902 and119891 removing the old edge between119902 and 119891

(iv) Decrease the error variables of neurons 119902 and119891multiplying them with a constant 120572 Initializethe error variable of 119903 with the new value of theerror variable of 119902 and 119891

(10) Decrease all error variables by multiplying them witha constant 120573

(11) If the stopping criterion is not yet achieved go to step2

In summary the adaptation of the network to the inputspace takes place in step 6The insertion of connections (step7) between the two closest neurons to the input patternsestablishes an induced Delaunay triangulation in the inputspace The elimination of connections (step 8) eliminates theedges that no longer comprise the triangulationThis is madeby eliminating the connections between neurons that are nolonger activated or isolated Finally the accumulated error(step 5) allows the identification of those areas in the inputspace where it is necessary to increase the number of neuronsto improve the mapping

Using a Growing Neural Gas model to represent 3D datahas some advantages over the traditionally usedmethods likevoxel grid or Octrees For example we specify the numberof neurons (representative points of the map) while othermethods like the voxel grid or Octree get different number ofoccupied cells depending on the distribution and resolutionof the cells (voxels on voxel grid and leaves on Octree basedmethods)

22 Octree Based Method Most 3D point cloud mappingalgorithms typically use the spatial organization of the pointsto encode them in a structure like an Octree to reduce theamount of information An Octree is a tree data structurein which their internal nodes have exactly eight childrenOctrees make a partition of the three-dimensional space byrecursively subdividing it into eight octants It starts froma user specified volume space or it computes the boundingbox of the input set Then each node or cell is subdividedinto 8 children nodes until a certain condition is reachedThese conditions vary depending on the problem or theOctree implementation A commonly used condition is tostop producing new children nodes when the volume or sizeof the corresponding cell node reaches the desired precision

One of the main features of the Octree representationis that nodes not containing input space points are notsubdivided and therefore those leaf nodes represent anempty volume of the space This feature is useful for somemobile applications as robot navigation There exist differentapproaches to select the representative point of the occupiednodes A simple one is to get the center of the node cell butusing the mean or centroid of the cell inner points improvesthe preservation of the topology This approach offers betterresults but it has a higher computational and memory cost

23 Voxel Grid Method The VG downsampling technique isbased on the input space sampling using a grid of 3D voxels[16] VG algorithm defines a voxel grid in the 3D space andfor each voxel a point is chosen as the representative of allpoints that lie on that voxel It is necessary to define the size ofthe voxels as this size establishes the resolution of the filteredpoint cloud and therefore the number of points that formthe new point cloud The representative of each cell couldbe chosen by using one of the approaches described in the

4 Mathematical Problems in Engineering

Figure 1 Partial point cloud example

previous sectionThus a subset of the input space is obtainedthat roughly represents the underlying surface

The VG method as the Octree based methods presentsthe same problems compared to other subsampling tech-niques it is not possible to define the final number of pointswhich represents the surface geometric information loss dueto the reduction of the points within a voxel and sensitivity tonoisy input spaces

24 Discussion In this subsection we briefly describe themain differences of the above-described methods Figures 23 and 4 show several examples of using the three describedmethods The GNG representation provides a set of neu-rons and their neighbors These representatives and theirconnections can be used in some algorithms like 3D meshreconstruction or feature extraction

Both voxel grid and Octree methods should providesimilar results due to their final representation of the pointsIn a point cloud reduction application the Octree gets theirrepresentatives of the leaf nodes and if we use the sameresolution as the voxel grid method we get a similar divisionof the space in cubes or cells of the same dimensionThe voxelgrid method is the most simple and fastest reduction methodbut it does not have any of the advantages of the Octreestructure or GNG model like neighbor searching facilities

Figure 5 shows a 2D description of the representativepoints of the described methods We observe that the GNGmethod assigns more neurons on high density input areas(bottom left area) than the voxel grid and Octree methodsWe also observe how the GNG is able to eliminate somenoisy values like the point near the center in contrast withthe representatives used in the VG and Octree methods

(a) (b)

(c)

Figure 2 GNG representation example of the partial point cloudshown in Figure 1 Front side and top views are shown from (a) to(c) respectively

3 Experimentation

In this section we test the quality of adaptation of the threedescribed methods We first describe the data used in theexperiments and then we analyze the results of the testedmethods both quantitatively and qualitatively

31 Experimentation Setup To test the implemented scenemapping systems on room map scenarios we used theTUM RGB-D dataset [17] This dataset provides RGB-Dand ground-truth data with the goal of evaluating visualodometry and visual SLAM systems The dataset containsthe color and depth images obtained using a MicrosoftKinect sensor along the ground-truth trajectory of the sensorIt provides images at full frame rate (30Hz) and sensorresolution (640 times 480) The ground-truth trajectory wasobtained from a high-accuracy motion-capture system witheight high-speed tracking cameras (100Hz)

This dataset contains 39 sequences recorded in twodifferent scenariosThe fr1 datasets were recorded in a typicaloffice environment (first scenario) and the fr2 datasets were

Mathematical Problems in Engineering 5

(a) (b) (c)

Figure 3 Octree representation example of the partial point cloud shown in Figure 1 Front side and top views are shown from (a) to (c)respectively

(a) (b) (c)

Figure 4 Voxel grid representation example of the partial point cloud shown in Figure 1 Front side and top views are shown from (a) to(c) respectively

Table 1 Number of points of each ground-truth map dataset

Dataset Number of input pointsfr1 xyz 1049739fr1 desk 1952544fr1 360 2357039fr1 desk2 2751402fr2 xyz 3492032fr2 desk 5841800fr3 long 1636623

recorded in a large industrial hall (second scenario) Figures 6and 7 show the ground-truth reconstruction maps of the ldquofr1360rdquo and ldquofr2 deskrdquo respectively

Table 1 shows the number of points of the inputmaps usedin the experimentation We can observe that the number ofinput points ranges from one million (ldquofr1 119909119910119911rdquo) to 6 million(ldquofr2 deskrdquo)

32 Quality Adaptation Experiment As we previously men-tioned we are going to compare the proposed GNG adapta-tion with two commonly used data structures in the state-of-the-art Octree and voxel grid The implementation of bothmethods is included in the Point Cloud Library (PCL) (thePoint Cloud Library (or PCL) is a large scale open project[18] for 2D3D image and point cloud processing)TheOctreeimplementation uses the center of the leaf nodes as rep-resentative points However the voxel grid implementationuses the centroid of the points of each nonempty voxel Bothimplementations use a resolution parameter that representsthe size of the voxel in the VG method and the side of the

6 Mathematical Problems in Engineering

00

10

10

20

20

30

30

40

40

Voxel grid

Input pointsVoxel centroid

Voxel centerVoxel

(a)

Octree

0

10

20

30

40

0 10 20 30 40

Input pointsLeaf centerLeaf node

(b)

GNG

GNG

0

10

20

30

40

0 10 20 30 40

Input points

(c)

Figure 5 Two-dimensional examples of the three tested methods

Figure 6 Example of the ldquofr1 360rdquo ground-truth point cloud map

Mathematical Problems in Engineering 7

Figure 7 Example of the ldquofr3 longrdquo ground-truth point cloud map

leaf cell of the Octree implementation The GNG results areobtained using 10000120582 input patterns

We extensively tested the implemented methods usingdifferent number of representatives Since the three testedmethods reduce the amount of noise in the generated mapit is needed to know the real distance from the selectedrepresentatives to the original input space The followingmeasure specifies how close the representations are from theoriginal model

A quantitative measure of the input space adaptationof the generated map is obtained by computing the meanerror (ME) of the reducedmap against sampled points (inputspace)

ME = 1

|119881|sum

119901isin119881

min119902isin119860

1003817100381710038171003817119901 minus 1199021003817100381710038171003817 (4)

where 119881 is the input space 119901 is a point that belongs tothe input space and 119902 is the representative point with theminimum distance to 119901 Euclidean distances to closest pointsare averaged over the entire input space

Figure 8 shows the RMS errors of the three methodson the six different tested maps We observe that the threemethods have similar behavior on the different datasets TheOctree method gets the worse results probably due to theselection of its cell-node center as representative The voxelgrid gets lower errors than Octree due to the use of thecentroid of the inner points instead of using the center of thevoxel or cell

It is important to point out again that the representativeselectionmethod used in this comparison is given by the usedimplementations But Octree and voxel grid methods can usea representative selection strategy GNG adaption shows thebest results on all datasets It is noticeable that the GNG getslower errors with different number of representatives but asthe number of representatives increases the three differentmethods converge to the same error

33 Qualitative Results In this subsection we qualitativelyanalyze the results obtained with the three different methodsFigure 9 shows the original map and the three tested repre-sentations of the ldquofr1 360rdquo scene Part (a) shows the point

Table 2 Runtimes and speed-up of GPU versus CPU implementa-tion for different GNG versions

Neurons Patterns CPU runtime(s)

GPUspeed-up

GPU runtime(s)

5000 250 63 3times 2112000 350 526 5times 105218000 500 1448 6times 24133

cloud that we are trying to represent and reduce Parts (b) and(c) are respectively the Octree and voxel grid representationand part (d) is the GNG representation of the scene TheOctree representation using the centers of the leaf nodes getsa strongly structured point representation This representa-tion gets a more uniform distribution of the representativesbut the adaption error is worse as we saw in Figure 5 andthe mean error graphs The voxel grid representation getssimilar results compared to the Octree where the points areuniformly distributed as it can be observed in the pointsthat represent the floor However it gets better results onthe boundaries compared with the Octree method BothVG and Octree place representatives in isolated and noisypoints However the GNGneurons are uniformly distributedover the input space and the impact of the noisy points andundefined borders on the obtained representation is reducedWe also observe the inherent triangulation of the space thatthe GNG algorithm gets using the neurons neighborhood

Figure 10 shows two more experiments with GNG repre-sentation In these experiments we have selected two mapswith holes GNG is able to adapt to these holes and it doesnot insert neurons in them

34 Execution Time With respect to computational cost ourmethod is feasible to be included in a modern system usinggeneral purpose computing platforms However we designedin a previous work [17] a GPU-based implementation of theGNG algorithm that speeds up the sequential version severaltimes The speedup is increased as the number of neuronsused for the representation grows

In Table 2 some results can be appreciated with differentnumber of neurons and input patterns with CPU and GPUruntimes and speedup obtained with GPU version withrespect to the CPU ones The GPU used was a GTX 480NVIDIA graphic card with 480 cores a global memory of15MB and a bandwidth memory of 1774GBsec

35 GNG Maps Applications The experiments showed howthe GNG is able to adapt their topology to represent theinput map space In [19] we showed many applications of theGNG structure in order to improve 3D data representationand computer vision methods We proved that the GNGrepresentation partially discards most of the noisy valuesprovided by these RGB-D sensors In addition we performedsome experiments to show the improvement obtained using

8 Mathematical Problems in Engineering

0002004006008

01012014016018

02

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 10000 20000 30000 40000 6000050000Number of representative points

fr1 360

Voxel gridOctreeGNG

Voxel gridOctreeGNG

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr2 xyz

fr1 xyz

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

0002

004006

00801

012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr1 desk

fr1 desk2

Voxel gridOctreeGNG

fr2 desk

Figure 8 Closest neighbor distance mean errors of the different datasets

the GNG representation on normal estimation using pointneighborhood and keypoint detection and description

Normal estimation methods are based on the analysisof the eigenvectors and eigenvalues of a covariance matrixcreated from the nearest neighbours and are very sensitiveto noisy data Therefore we computed normals on raw andfiltered point clouds in order to demonstrate how a simple3D processing step like normal or curvature estimation isaffected by the presence of noise

Figure 11 shows how more stable normals are estimatedusing filtered point clouds produced by the GNG methodNormals are considered more stable as their distributionis smooth and also they have less abrupt changes in theirdirections Moreover a flat wall with some small changesin its surface was selected to appreciate changes in normaldirectionsWe employed 20000 neurons and 1000120582 patternsas configuration parameters for the GNG method in thenormal estimation experiment Figure 11(b)

Mathematical Problems in Engineering 9

(a) (b)

(c) (d)

Figure 9 (a) Original point cloud map (b) Octree reduction (c) Voxel grid reduction (d) GNG representation

Figure 10 Other examples of GNG representation with two additional maps Left part is a zoomed detail

(a) (b)

Figure 11 Normal estimation comparison (a) Normal estimation on raw point cloud (b) Normal estimation on filtered point cloud producedby the GNG method

10 Mathematical Problems in Engineering

Table 3 RMS deviation error (meters) is obtained using different detector-descriptor combinations Combinations are computed on theoriginal point cloud (raw) and different filtered point clouds using voxel grid and the proposed GNG method Keypoint detector searchradius is equal to 005 meters Feature extractor search radius is equal to 002 meters

GNG VG Raw5000119901 10000119901 20000119901 5000119901 10000119901 20000119901 All points

SIFT3D

FPFH 0168 0092 0231 0239 0073 0139 0103CSHOT 0052 0037 0019 0063 007 0037 0039PFH 0185 0367 0255 054 0171 0375 0082

PFHRGB 0106 0029 0057 008 005 0027 0041

Harris3D

FPFH 0151 0114 0079 0404 0088 018 0128CSHOT 0085 0046 0052 0038 0033 0069 0066PFH 0109 0177 0153 0305 0097 0469 0144

PFHRGB 0054 0047 0042 0033 0058 0043 0093

Tomasi3D

FPFH 0049 0054 027 0383 0127 0148 0659CSHOT 0043 0023 0063 0022 0047 0046 0049PFH 0189 0308 0319 0067 0258 0123 0765

PFHRGB 0112 0121 0066 0066 0049 0078 0062

Noble3D

FPFH 0143 0186 0199 0387 0188 0289 0114CSHOT 0098 0052 0063 0085 0059 0048 006PFH 0273 0127 0239 0073 0244 0188 0099

PFHRGB 0188 0117 0064 0096 0082 0079 0077

Lowe3D

FPFH 0143 0117 0076 0387 0188 0093 0203CSHOT 0065 0052 0062 004 0059 0107 0067PFH 0273 012 0239 0073 0244 0167 024

PFHRGB 0188 0135 0016 0077 0082 0076 0027

Curvature3D

FPFH 0099 0228 0113 0228 0103 0093 mdashCSHOT 0048 0032 0022 0033 0042 005 mdashPFH 0262 0151 0123 0244 0101 0057 mdash

PFHRGB 0139 0071 0053 0068 0083 0023 mdash

In order to test the keypoint detectordescriptor improve-ment we performed a transformation estimation algorithmand we compared the GNG results against the voxel gridrepresentation and against the entire source point cloud Weused the available descriptors [18 20 21] and detectors [22]provided by the Point Cloud Library [23] The minimummedian mean and maximum of RMS transformation error(with respect to different keypoint detectors) are presentedin Table 3 These results show how filtered point cloudsusing the GNG method generally improved the precisionof the estimated transformation Moreover the worst esti-mated transformations (maximum errors) were also slightlyimproved using the GNG compared to the other techniques

4 Conclusions

3D maps obtained from RGB-D data are useful for roboticstasks like robot navigation But this kind of maps containsa huge amount of data which must be reduced to properlyprocess the map In this paper we have presented a methodto represent and reduce 3D maps Our method is based on aGNG neural network which is adapted to the 3D input spaceThe experiments carried out demonstrated the validity of our

method as it provided better adaptation than two of themostused methods for these tasks voxel grid and Octree

As future works we propose to extend our method toprovide a useful map for robot navigation We also planto provide the GNG with a way to revert the reduction orcompression of the points storing information in the neuronsneighborhood (color point distribution etc)

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was partially funded by the Spanish GovernmentDPI2013-40534-R grant Experiments were made possiblewith a generous donation of hardware from NVDIA

Mathematical Problems in Engineering 11

References

[1] D Fox S Thrun and W Burgard Probabilistic Robotics TheMIT Press Cambridge Mass USA 2005

[2] M Herbert C Caillas E Krotkov I S Kweon and T KanadeldquoTerrain mapping for a roving planetary explorerrdquo in Pro-ceedings of the IEEE International Conference on Robotics andAutomation vol 2 pp 997ndash1002 1989

[3] R Triebel P Pfaff and W Burgard ldquoMulti-level surface mapsfor outdoor terrain mapping and loop closingrdquo in Proceedingsof the IEEERSJ International Conference on Intelligent Robotsand Systems (IROS rsquo06) pp 2276ndash2282 October 2006

[4] A Elfes ldquoUsing occupancy grids for mobile robot perceptionand navigationrdquo Computer vol 22 no 6 pp 46ndash57 1989

[5] P Stepan M Kulich and L Preucil ldquoRobust data fusionwith occupancy gridrdquo IEEE Transactions on Systems Man andCybernetics C vol 35 no 1 pp 106ndash115 2005

[6] B Schiele and J L Crowley ldquoA comparison of positionestimation techniques using occupancy gridsrdquo Robotics andAutonomous Systems vol 12 no 3-4 pp 163ndash171 1994

[7] C I Connolly ldquoCumulative generation of octree models fromrange datardquo in Proceedings of the 1st International Conference onRobotics and Automation vol 1 pp 25ndash32 March 1984

[8] K M Wurm A Hornung M Bennewitz C Stachniss andW Burgard ldquoOctoMap a probabilistic flexible and compact3D map representation for robotic systemsrdquo in Proceedings ofthe IEEE International Conference on Robotics and Automation(ICRA rsquo10) 2010

[9] L Kobbelt and M Botsch ldquoA survey of point-based techniquesin computer graphicsrdquo Computers and Graphics vol 28 no 6pp 801ndash814 2004

[10] L Wang J Chen and B Yuan ldquoSimplified representationfor 3D point cloud datardquo in Proceedings of the IEEE 10thInternational Conference on Signal Processing (ICSP rsquo10) pp1271ndash1274 October 2010

[11] D Viejo J Garcia M Cazorla D Gil and M Johnsson ldquoUsingGNG to improve 3D feature extraction application to 6DoFegomotionrdquo Neural Networks vol 32 pp 138ndash146 2012

[12] T Kohonen Self-Organizing Maps vol 30 of Springer Series inInformation Sciences Springer Berlin Germany 1995

[13] B Fritzke ldquoA growing neural gas network learns topologiesrdquo inAdvances in Neural Information Processing Systems vol 7 pp625ndash632 MIT Press 1995

[14] T Martinetz ldquoCompetitive hebbian learning rule forms per-fectly topology preserving mapsrdquo in Proceedings of the Interna-tional Conference onArtificial NeuralNetworks (ICANN rsquo93) pp427ndash434 1993

[15] T Martinetz and K Schulten ldquoTopology representing net-worksrdquo Neural Networks vol 7 no 3 pp 507ndash522 1994

[16] G Xu B Mourrain R Duvigneau and A Galligo ldquoAnalysis-suitable volume parameterization ofmulti-block computationaldomain in isogeometric applicationsrdquo Computer-Aided Designvol 45 no 2 pp 395ndash404 2013

[17] SOrts J Garcia-RodriguezDViejoMCazorla andVMorellldquoGPGPU implementation of growing neural gas Applicationto 3D scene reconstructionrdquo Journal of Parallel and DistributedComputing vol 72 no 10 pp 1361ndash1372 2012

[18] F Tombari S Salti and L Di Stefano ldquoA combined texture-shape descriptor for enhanced 3D feature matchingrdquo in Pro-ceedings of the 18th IEEE International Conference on ImageProcessing (ICIP rsquo11) pp 809ndash812 September 2011

[19] S Orts-Escolano A Three-Dimensional Representation Methodfor Noisy Point Clouds Based on Growing Self-Organizing MapsAccelerated on GPUs University of Alicante 2014

[20] R B Rusu N Blodow Z C Marton and M Beetz ldquoAligningpoint cloud views using persistent feature histogramsrdquo in Pro-ceedings of the IEEERSJ International Conference on IntelligentRobots and Systems (IROS 08) pp 3384ndash3391 Nice FranceSeptember 2008

[21] R B Rusu N Blodow and M Beetz ldquoFast point featurehistograms (FPFH) for 3D registrationrdquo in Proceedings of theIEEE International Conference on Robotics and Automation(ICRA rsquo09) pp 3212ndash3217 Kobe Japan May 2009

[22] I Sipiran and B Bustos ldquoHarris 3D a robust extension of theHarris operator for interest point detection on 3D meshesrdquoVisual Computer vol 27 no 11 pp 963ndash976 2011

[23] R B Rusu and S Cousins ldquo3D is here Point Cloud Library(PCL)rdquo in Proceeding of the IEEE International Conference onRobotics and Automation (ICRA 11) pp 1ndash4 Shanghai ChinaMay 2011

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Page 4: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

4 Mathematical Problems in Engineering

Figure 1 Partial point cloud example

previous sectionThus a subset of the input space is obtainedthat roughly represents the underlying surface

The VG method as the Octree based methods presentsthe same problems compared to other subsampling tech-niques it is not possible to define the final number of pointswhich represents the surface geometric information loss dueto the reduction of the points within a voxel and sensitivity tonoisy input spaces

24 Discussion In this subsection we briefly describe themain differences of the above-described methods Figures 23 and 4 show several examples of using the three describedmethods The GNG representation provides a set of neu-rons and their neighbors These representatives and theirconnections can be used in some algorithms like 3D meshreconstruction or feature extraction

Both voxel grid and Octree methods should providesimilar results due to their final representation of the pointsIn a point cloud reduction application the Octree gets theirrepresentatives of the leaf nodes and if we use the sameresolution as the voxel grid method we get a similar divisionof the space in cubes or cells of the same dimensionThe voxelgrid method is the most simple and fastest reduction methodbut it does not have any of the advantages of the Octreestructure or GNG model like neighbor searching facilities

Figure 5 shows a 2D description of the representativepoints of the described methods We observe that the GNGmethod assigns more neurons on high density input areas(bottom left area) than the voxel grid and Octree methodsWe also observe how the GNG is able to eliminate somenoisy values like the point near the center in contrast withthe representatives used in the VG and Octree methods

(a) (b)

(c)

Figure 2 GNG representation example of the partial point cloudshown in Figure 1 Front side and top views are shown from (a) to(c) respectively

3 Experimentation

In this section we test the quality of adaptation of the threedescribed methods We first describe the data used in theexperiments and then we analyze the results of the testedmethods both quantitatively and qualitatively

31 Experimentation Setup To test the implemented scenemapping systems on room map scenarios we used theTUM RGB-D dataset [17] This dataset provides RGB-Dand ground-truth data with the goal of evaluating visualodometry and visual SLAM systems The dataset containsthe color and depth images obtained using a MicrosoftKinect sensor along the ground-truth trajectory of the sensorIt provides images at full frame rate (30Hz) and sensorresolution (640 times 480) The ground-truth trajectory wasobtained from a high-accuracy motion-capture system witheight high-speed tracking cameras (100Hz)

This dataset contains 39 sequences recorded in twodifferent scenariosThe fr1 datasets were recorded in a typicaloffice environment (first scenario) and the fr2 datasets were

Mathematical Problems in Engineering 5

(a) (b) (c)

Figure 3 Octree representation example of the partial point cloud shown in Figure 1 Front side and top views are shown from (a) to (c)respectively

(a) (b) (c)

Figure 4 Voxel grid representation example of the partial point cloud shown in Figure 1 Front side and top views are shown from (a) to(c) respectively

Table 1 Number of points of each ground-truth map dataset

Dataset Number of input pointsfr1 xyz 1049739fr1 desk 1952544fr1 360 2357039fr1 desk2 2751402fr2 xyz 3492032fr2 desk 5841800fr3 long 1636623

recorded in a large industrial hall (second scenario) Figures 6and 7 show the ground-truth reconstruction maps of the ldquofr1360rdquo and ldquofr2 deskrdquo respectively

Table 1 shows the number of points of the inputmaps usedin the experimentation We can observe that the number ofinput points ranges from one million (ldquofr1 119909119910119911rdquo) to 6 million(ldquofr2 deskrdquo)

32 Quality Adaptation Experiment As we previously men-tioned we are going to compare the proposed GNG adapta-tion with two commonly used data structures in the state-of-the-art Octree and voxel grid The implementation of bothmethods is included in the Point Cloud Library (PCL) (thePoint Cloud Library (or PCL) is a large scale open project[18] for 2D3D image and point cloud processing)TheOctreeimplementation uses the center of the leaf nodes as rep-resentative points However the voxel grid implementationuses the centroid of the points of each nonempty voxel Bothimplementations use a resolution parameter that representsthe size of the voxel in the VG method and the side of the

6 Mathematical Problems in Engineering

00

10

10

20

20

30

30

40

40

Voxel grid

Input pointsVoxel centroid

Voxel centerVoxel

(a)

Octree

0

10

20

30

40

0 10 20 30 40

Input pointsLeaf centerLeaf node

(b)

GNG

GNG

0

10

20

30

40

0 10 20 30 40

Input points

(c)

Figure 5 Two-dimensional examples of the three tested methods

Figure 6 Example of the ldquofr1 360rdquo ground-truth point cloud map

Mathematical Problems in Engineering 7

Figure 7 Example of the ldquofr3 longrdquo ground-truth point cloud map

leaf cell of the Octree implementation The GNG results areobtained using 10000120582 input patterns

We extensively tested the implemented methods usingdifferent number of representatives Since the three testedmethods reduce the amount of noise in the generated mapit is needed to know the real distance from the selectedrepresentatives to the original input space The followingmeasure specifies how close the representations are from theoriginal model

A quantitative measure of the input space adaptationof the generated map is obtained by computing the meanerror (ME) of the reducedmap against sampled points (inputspace)

ME = 1

|119881|sum

119901isin119881

min119902isin119860

1003817100381710038171003817119901 minus 1199021003817100381710038171003817 (4)

where 119881 is the input space 119901 is a point that belongs tothe input space and 119902 is the representative point with theminimum distance to 119901 Euclidean distances to closest pointsare averaged over the entire input space

Figure 8 shows the RMS errors of the three methodson the six different tested maps We observe that the threemethods have similar behavior on the different datasets TheOctree method gets the worse results probably due to theselection of its cell-node center as representative The voxelgrid gets lower errors than Octree due to the use of thecentroid of the inner points instead of using the center of thevoxel or cell

It is important to point out again that the representativeselectionmethod used in this comparison is given by the usedimplementations But Octree and voxel grid methods can usea representative selection strategy GNG adaption shows thebest results on all datasets It is noticeable that the GNG getslower errors with different number of representatives but asthe number of representatives increases the three differentmethods converge to the same error

33 Qualitative Results In this subsection we qualitativelyanalyze the results obtained with the three different methodsFigure 9 shows the original map and the three tested repre-sentations of the ldquofr1 360rdquo scene Part (a) shows the point

Table 2 Runtimes and speed-up of GPU versus CPU implementa-tion for different GNG versions

Neurons Patterns CPU runtime(s)

GPUspeed-up

GPU runtime(s)

5000 250 63 3times 2112000 350 526 5times 105218000 500 1448 6times 24133

cloud that we are trying to represent and reduce Parts (b) and(c) are respectively the Octree and voxel grid representationand part (d) is the GNG representation of the scene TheOctree representation using the centers of the leaf nodes getsa strongly structured point representation This representa-tion gets a more uniform distribution of the representativesbut the adaption error is worse as we saw in Figure 5 andthe mean error graphs The voxel grid representation getssimilar results compared to the Octree where the points areuniformly distributed as it can be observed in the pointsthat represent the floor However it gets better results onthe boundaries compared with the Octree method BothVG and Octree place representatives in isolated and noisypoints However the GNGneurons are uniformly distributedover the input space and the impact of the noisy points andundefined borders on the obtained representation is reducedWe also observe the inherent triangulation of the space thatthe GNG algorithm gets using the neurons neighborhood

Figure 10 shows two more experiments with GNG repre-sentation In these experiments we have selected two mapswith holes GNG is able to adapt to these holes and it doesnot insert neurons in them

34 Execution Time With respect to computational cost ourmethod is feasible to be included in a modern system usinggeneral purpose computing platforms However we designedin a previous work [17] a GPU-based implementation of theGNG algorithm that speeds up the sequential version severaltimes The speedup is increased as the number of neuronsused for the representation grows

In Table 2 some results can be appreciated with differentnumber of neurons and input patterns with CPU and GPUruntimes and speedup obtained with GPU version withrespect to the CPU ones The GPU used was a GTX 480NVIDIA graphic card with 480 cores a global memory of15MB and a bandwidth memory of 1774GBsec

35 GNG Maps Applications The experiments showed howthe GNG is able to adapt their topology to represent theinput map space In [19] we showed many applications of theGNG structure in order to improve 3D data representationand computer vision methods We proved that the GNGrepresentation partially discards most of the noisy valuesprovided by these RGB-D sensors In addition we performedsome experiments to show the improvement obtained using

8 Mathematical Problems in Engineering

0002004006008

01012014016018

02

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 10000 20000 30000 40000 6000050000Number of representative points

fr1 360

Voxel gridOctreeGNG

Voxel gridOctreeGNG

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr2 xyz

fr1 xyz

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

0002

004006

00801

012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr1 desk

fr1 desk2

Voxel gridOctreeGNG

fr2 desk

Figure 8 Closest neighbor distance mean errors of the different datasets

the GNG representation on normal estimation using pointneighborhood and keypoint detection and description

Normal estimation methods are based on the analysisof the eigenvectors and eigenvalues of a covariance matrixcreated from the nearest neighbours and are very sensitiveto noisy data Therefore we computed normals on raw andfiltered point clouds in order to demonstrate how a simple3D processing step like normal or curvature estimation isaffected by the presence of noise

Figure 11 shows how more stable normals are estimatedusing filtered point clouds produced by the GNG methodNormals are considered more stable as their distributionis smooth and also they have less abrupt changes in theirdirections Moreover a flat wall with some small changesin its surface was selected to appreciate changes in normaldirectionsWe employed 20000 neurons and 1000120582 patternsas configuration parameters for the GNG method in thenormal estimation experiment Figure 11(b)

Mathematical Problems in Engineering 9

(a) (b)

(c) (d)

Figure 9 (a) Original point cloud map (b) Octree reduction (c) Voxel grid reduction (d) GNG representation

Figure 10 Other examples of GNG representation with two additional maps Left part is a zoomed detail

(a) (b)

Figure 11 Normal estimation comparison (a) Normal estimation on raw point cloud (b) Normal estimation on filtered point cloud producedby the GNG method

10 Mathematical Problems in Engineering

Table 3 RMS deviation error (meters) is obtained using different detector-descriptor combinations Combinations are computed on theoriginal point cloud (raw) and different filtered point clouds using voxel grid and the proposed GNG method Keypoint detector searchradius is equal to 005 meters Feature extractor search radius is equal to 002 meters

GNG VG Raw5000119901 10000119901 20000119901 5000119901 10000119901 20000119901 All points

SIFT3D

FPFH 0168 0092 0231 0239 0073 0139 0103CSHOT 0052 0037 0019 0063 007 0037 0039PFH 0185 0367 0255 054 0171 0375 0082

PFHRGB 0106 0029 0057 008 005 0027 0041

Harris3D

FPFH 0151 0114 0079 0404 0088 018 0128CSHOT 0085 0046 0052 0038 0033 0069 0066PFH 0109 0177 0153 0305 0097 0469 0144

PFHRGB 0054 0047 0042 0033 0058 0043 0093

Tomasi3D

FPFH 0049 0054 027 0383 0127 0148 0659CSHOT 0043 0023 0063 0022 0047 0046 0049PFH 0189 0308 0319 0067 0258 0123 0765

PFHRGB 0112 0121 0066 0066 0049 0078 0062

Noble3D

FPFH 0143 0186 0199 0387 0188 0289 0114CSHOT 0098 0052 0063 0085 0059 0048 006PFH 0273 0127 0239 0073 0244 0188 0099

PFHRGB 0188 0117 0064 0096 0082 0079 0077

Lowe3D

FPFH 0143 0117 0076 0387 0188 0093 0203CSHOT 0065 0052 0062 004 0059 0107 0067PFH 0273 012 0239 0073 0244 0167 024

PFHRGB 0188 0135 0016 0077 0082 0076 0027

Curvature3D

FPFH 0099 0228 0113 0228 0103 0093 mdashCSHOT 0048 0032 0022 0033 0042 005 mdashPFH 0262 0151 0123 0244 0101 0057 mdash

PFHRGB 0139 0071 0053 0068 0083 0023 mdash

In order to test the keypoint detectordescriptor improve-ment we performed a transformation estimation algorithmand we compared the GNG results against the voxel gridrepresentation and against the entire source point cloud Weused the available descriptors [18 20 21] and detectors [22]provided by the Point Cloud Library [23] The minimummedian mean and maximum of RMS transformation error(with respect to different keypoint detectors) are presentedin Table 3 These results show how filtered point cloudsusing the GNG method generally improved the precisionof the estimated transformation Moreover the worst esti-mated transformations (maximum errors) were also slightlyimproved using the GNG compared to the other techniques

4 Conclusions

3D maps obtained from RGB-D data are useful for roboticstasks like robot navigation But this kind of maps containsa huge amount of data which must be reduced to properlyprocess the map In this paper we have presented a methodto represent and reduce 3D maps Our method is based on aGNG neural network which is adapted to the 3D input spaceThe experiments carried out demonstrated the validity of our

method as it provided better adaptation than two of themostused methods for these tasks voxel grid and Octree

As future works we propose to extend our method toprovide a useful map for robot navigation We also planto provide the GNG with a way to revert the reduction orcompression of the points storing information in the neuronsneighborhood (color point distribution etc)

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was partially funded by the Spanish GovernmentDPI2013-40534-R grant Experiments were made possiblewith a generous donation of hardware from NVDIA

Mathematical Problems in Engineering 11

References

[1] D Fox S Thrun and W Burgard Probabilistic Robotics TheMIT Press Cambridge Mass USA 2005

[2] M Herbert C Caillas E Krotkov I S Kweon and T KanadeldquoTerrain mapping for a roving planetary explorerrdquo in Pro-ceedings of the IEEE International Conference on Robotics andAutomation vol 2 pp 997ndash1002 1989

[3] R Triebel P Pfaff and W Burgard ldquoMulti-level surface mapsfor outdoor terrain mapping and loop closingrdquo in Proceedingsof the IEEERSJ International Conference on Intelligent Robotsand Systems (IROS rsquo06) pp 2276ndash2282 October 2006

[4] A Elfes ldquoUsing occupancy grids for mobile robot perceptionand navigationrdquo Computer vol 22 no 6 pp 46ndash57 1989

[5] P Stepan M Kulich and L Preucil ldquoRobust data fusionwith occupancy gridrdquo IEEE Transactions on Systems Man andCybernetics C vol 35 no 1 pp 106ndash115 2005

[6] B Schiele and J L Crowley ldquoA comparison of positionestimation techniques using occupancy gridsrdquo Robotics andAutonomous Systems vol 12 no 3-4 pp 163ndash171 1994

[7] C I Connolly ldquoCumulative generation of octree models fromrange datardquo in Proceedings of the 1st International Conference onRobotics and Automation vol 1 pp 25ndash32 March 1984

[8] K M Wurm A Hornung M Bennewitz C Stachniss andW Burgard ldquoOctoMap a probabilistic flexible and compact3D map representation for robotic systemsrdquo in Proceedings ofthe IEEE International Conference on Robotics and Automation(ICRA rsquo10) 2010

[9] L Kobbelt and M Botsch ldquoA survey of point-based techniquesin computer graphicsrdquo Computers and Graphics vol 28 no 6pp 801ndash814 2004

[10] L Wang J Chen and B Yuan ldquoSimplified representationfor 3D point cloud datardquo in Proceedings of the IEEE 10thInternational Conference on Signal Processing (ICSP rsquo10) pp1271ndash1274 October 2010

[11] D Viejo J Garcia M Cazorla D Gil and M Johnsson ldquoUsingGNG to improve 3D feature extraction application to 6DoFegomotionrdquo Neural Networks vol 32 pp 138ndash146 2012

[12] T Kohonen Self-Organizing Maps vol 30 of Springer Series inInformation Sciences Springer Berlin Germany 1995

[13] B Fritzke ldquoA growing neural gas network learns topologiesrdquo inAdvances in Neural Information Processing Systems vol 7 pp625ndash632 MIT Press 1995

[14] T Martinetz ldquoCompetitive hebbian learning rule forms per-fectly topology preserving mapsrdquo in Proceedings of the Interna-tional Conference onArtificial NeuralNetworks (ICANN rsquo93) pp427ndash434 1993

[15] T Martinetz and K Schulten ldquoTopology representing net-worksrdquo Neural Networks vol 7 no 3 pp 507ndash522 1994

[16] G Xu B Mourrain R Duvigneau and A Galligo ldquoAnalysis-suitable volume parameterization ofmulti-block computationaldomain in isogeometric applicationsrdquo Computer-Aided Designvol 45 no 2 pp 395ndash404 2013

[17] SOrts J Garcia-RodriguezDViejoMCazorla andVMorellldquoGPGPU implementation of growing neural gas Applicationto 3D scene reconstructionrdquo Journal of Parallel and DistributedComputing vol 72 no 10 pp 1361ndash1372 2012

[18] F Tombari S Salti and L Di Stefano ldquoA combined texture-shape descriptor for enhanced 3D feature matchingrdquo in Pro-ceedings of the 18th IEEE International Conference on ImageProcessing (ICIP rsquo11) pp 809ndash812 September 2011

[19] S Orts-Escolano A Three-Dimensional Representation Methodfor Noisy Point Clouds Based on Growing Self-Organizing MapsAccelerated on GPUs University of Alicante 2014

[20] R B Rusu N Blodow Z C Marton and M Beetz ldquoAligningpoint cloud views using persistent feature histogramsrdquo in Pro-ceedings of the IEEERSJ International Conference on IntelligentRobots and Systems (IROS 08) pp 3384ndash3391 Nice FranceSeptember 2008

[21] R B Rusu N Blodow and M Beetz ldquoFast point featurehistograms (FPFH) for 3D registrationrdquo in Proceedings of theIEEE International Conference on Robotics and Automation(ICRA rsquo09) pp 3212ndash3217 Kobe Japan May 2009

[22] I Sipiran and B Bustos ldquoHarris 3D a robust extension of theHarris operator for interest point detection on 3D meshesrdquoVisual Computer vol 27 no 11 pp 963ndash976 2011

[23] R B Rusu and S Cousins ldquo3D is here Point Cloud Library(PCL)rdquo in Proceeding of the IEEE International Conference onRobotics and Automation (ICRA 11) pp 1ndash4 Shanghai ChinaMay 2011

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Page 5: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

Mathematical Problems in Engineering 5

(a) (b) (c)

Figure 3 Octree representation example of the partial point cloud shown in Figure 1 Front side and top views are shown from (a) to (c)respectively

(a) (b) (c)

Figure 4 Voxel grid representation example of the partial point cloud shown in Figure 1 Front side and top views are shown from (a) to(c) respectively

Table 1 Number of points of each ground-truth map dataset

Dataset Number of input pointsfr1 xyz 1049739fr1 desk 1952544fr1 360 2357039fr1 desk2 2751402fr2 xyz 3492032fr2 desk 5841800fr3 long 1636623

recorded in a large industrial hall (second scenario) Figures 6and 7 show the ground-truth reconstruction maps of the ldquofr1360rdquo and ldquofr2 deskrdquo respectively

Table 1 shows the number of points of the inputmaps usedin the experimentation We can observe that the number ofinput points ranges from one million (ldquofr1 119909119910119911rdquo) to 6 million(ldquofr2 deskrdquo)

32 Quality Adaptation Experiment As we previously men-tioned we are going to compare the proposed GNG adapta-tion with two commonly used data structures in the state-of-the-art Octree and voxel grid The implementation of bothmethods is included in the Point Cloud Library (PCL) (thePoint Cloud Library (or PCL) is a large scale open project[18] for 2D3D image and point cloud processing)TheOctreeimplementation uses the center of the leaf nodes as rep-resentative points However the voxel grid implementationuses the centroid of the points of each nonempty voxel Bothimplementations use a resolution parameter that representsthe size of the voxel in the VG method and the side of the

6 Mathematical Problems in Engineering

00

10

10

20

20

30

30

40

40

Voxel grid

Input pointsVoxel centroid

Voxel centerVoxel

(a)

Octree

0

10

20

30

40

0 10 20 30 40

Input pointsLeaf centerLeaf node

(b)

GNG

GNG

0

10

20

30

40

0 10 20 30 40

Input points

(c)

Figure 5 Two-dimensional examples of the three tested methods

Figure 6 Example of the ldquofr1 360rdquo ground-truth point cloud map

Mathematical Problems in Engineering 7

Figure 7 Example of the ldquofr3 longrdquo ground-truth point cloud map

leaf cell of the Octree implementation The GNG results areobtained using 10000120582 input patterns

We extensively tested the implemented methods usingdifferent number of representatives Since the three testedmethods reduce the amount of noise in the generated mapit is needed to know the real distance from the selectedrepresentatives to the original input space The followingmeasure specifies how close the representations are from theoriginal model

A quantitative measure of the input space adaptationof the generated map is obtained by computing the meanerror (ME) of the reducedmap against sampled points (inputspace)

ME = 1

|119881|sum

119901isin119881

min119902isin119860

1003817100381710038171003817119901 minus 1199021003817100381710038171003817 (4)

where 119881 is the input space 119901 is a point that belongs tothe input space and 119902 is the representative point with theminimum distance to 119901 Euclidean distances to closest pointsare averaged over the entire input space

Figure 8 shows the RMS errors of the three methodson the six different tested maps We observe that the threemethods have similar behavior on the different datasets TheOctree method gets the worse results probably due to theselection of its cell-node center as representative The voxelgrid gets lower errors than Octree due to the use of thecentroid of the inner points instead of using the center of thevoxel or cell

It is important to point out again that the representativeselectionmethod used in this comparison is given by the usedimplementations But Octree and voxel grid methods can usea representative selection strategy GNG adaption shows thebest results on all datasets It is noticeable that the GNG getslower errors with different number of representatives but asthe number of representatives increases the three differentmethods converge to the same error

33 Qualitative Results In this subsection we qualitativelyanalyze the results obtained with the three different methodsFigure 9 shows the original map and the three tested repre-sentations of the ldquofr1 360rdquo scene Part (a) shows the point

Table 2 Runtimes and speed-up of GPU versus CPU implementa-tion for different GNG versions

Neurons Patterns CPU runtime(s)

GPUspeed-up

GPU runtime(s)

5000 250 63 3times 2112000 350 526 5times 105218000 500 1448 6times 24133

cloud that we are trying to represent and reduce Parts (b) and(c) are respectively the Octree and voxel grid representationand part (d) is the GNG representation of the scene TheOctree representation using the centers of the leaf nodes getsa strongly structured point representation This representa-tion gets a more uniform distribution of the representativesbut the adaption error is worse as we saw in Figure 5 andthe mean error graphs The voxel grid representation getssimilar results compared to the Octree where the points areuniformly distributed as it can be observed in the pointsthat represent the floor However it gets better results onthe boundaries compared with the Octree method BothVG and Octree place representatives in isolated and noisypoints However the GNGneurons are uniformly distributedover the input space and the impact of the noisy points andundefined borders on the obtained representation is reducedWe also observe the inherent triangulation of the space thatthe GNG algorithm gets using the neurons neighborhood

Figure 10 shows two more experiments with GNG repre-sentation In these experiments we have selected two mapswith holes GNG is able to adapt to these holes and it doesnot insert neurons in them

34 Execution Time With respect to computational cost ourmethod is feasible to be included in a modern system usinggeneral purpose computing platforms However we designedin a previous work [17] a GPU-based implementation of theGNG algorithm that speeds up the sequential version severaltimes The speedup is increased as the number of neuronsused for the representation grows

In Table 2 some results can be appreciated with differentnumber of neurons and input patterns with CPU and GPUruntimes and speedup obtained with GPU version withrespect to the CPU ones The GPU used was a GTX 480NVIDIA graphic card with 480 cores a global memory of15MB and a bandwidth memory of 1774GBsec

35 GNG Maps Applications The experiments showed howthe GNG is able to adapt their topology to represent theinput map space In [19] we showed many applications of theGNG structure in order to improve 3D data representationand computer vision methods We proved that the GNGrepresentation partially discards most of the noisy valuesprovided by these RGB-D sensors In addition we performedsome experiments to show the improvement obtained using

8 Mathematical Problems in Engineering

0002004006008

01012014016018

02

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 10000 20000 30000 40000 6000050000Number of representative points

fr1 360

Voxel gridOctreeGNG

Voxel gridOctreeGNG

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr2 xyz

fr1 xyz

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

0002

004006

00801

012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr1 desk

fr1 desk2

Voxel gridOctreeGNG

fr2 desk

Figure 8 Closest neighbor distance mean errors of the different datasets

the GNG representation on normal estimation using pointneighborhood and keypoint detection and description

Normal estimation methods are based on the analysisof the eigenvectors and eigenvalues of a covariance matrixcreated from the nearest neighbours and are very sensitiveto noisy data Therefore we computed normals on raw andfiltered point clouds in order to demonstrate how a simple3D processing step like normal or curvature estimation isaffected by the presence of noise

Figure 11 shows how more stable normals are estimatedusing filtered point clouds produced by the GNG methodNormals are considered more stable as their distributionis smooth and also they have less abrupt changes in theirdirections Moreover a flat wall with some small changesin its surface was selected to appreciate changes in normaldirectionsWe employed 20000 neurons and 1000120582 patternsas configuration parameters for the GNG method in thenormal estimation experiment Figure 11(b)

Mathematical Problems in Engineering 9

(a) (b)

(c) (d)

Figure 9 (a) Original point cloud map (b) Octree reduction (c) Voxel grid reduction (d) GNG representation

Figure 10 Other examples of GNG representation with two additional maps Left part is a zoomed detail

(a) (b)

Figure 11 Normal estimation comparison (a) Normal estimation on raw point cloud (b) Normal estimation on filtered point cloud producedby the GNG method

10 Mathematical Problems in Engineering

Table 3 RMS deviation error (meters) is obtained using different detector-descriptor combinations Combinations are computed on theoriginal point cloud (raw) and different filtered point clouds using voxel grid and the proposed GNG method Keypoint detector searchradius is equal to 005 meters Feature extractor search radius is equal to 002 meters

GNG VG Raw5000119901 10000119901 20000119901 5000119901 10000119901 20000119901 All points

SIFT3D

FPFH 0168 0092 0231 0239 0073 0139 0103CSHOT 0052 0037 0019 0063 007 0037 0039PFH 0185 0367 0255 054 0171 0375 0082

PFHRGB 0106 0029 0057 008 005 0027 0041

Harris3D

FPFH 0151 0114 0079 0404 0088 018 0128CSHOT 0085 0046 0052 0038 0033 0069 0066PFH 0109 0177 0153 0305 0097 0469 0144

PFHRGB 0054 0047 0042 0033 0058 0043 0093

Tomasi3D

FPFH 0049 0054 027 0383 0127 0148 0659CSHOT 0043 0023 0063 0022 0047 0046 0049PFH 0189 0308 0319 0067 0258 0123 0765

PFHRGB 0112 0121 0066 0066 0049 0078 0062

Noble3D

FPFH 0143 0186 0199 0387 0188 0289 0114CSHOT 0098 0052 0063 0085 0059 0048 006PFH 0273 0127 0239 0073 0244 0188 0099

PFHRGB 0188 0117 0064 0096 0082 0079 0077

Lowe3D

FPFH 0143 0117 0076 0387 0188 0093 0203CSHOT 0065 0052 0062 004 0059 0107 0067PFH 0273 012 0239 0073 0244 0167 024

PFHRGB 0188 0135 0016 0077 0082 0076 0027

Curvature3D

FPFH 0099 0228 0113 0228 0103 0093 mdashCSHOT 0048 0032 0022 0033 0042 005 mdashPFH 0262 0151 0123 0244 0101 0057 mdash

PFHRGB 0139 0071 0053 0068 0083 0023 mdash

In order to test the keypoint detectordescriptor improve-ment we performed a transformation estimation algorithmand we compared the GNG results against the voxel gridrepresentation and against the entire source point cloud Weused the available descriptors [18 20 21] and detectors [22]provided by the Point Cloud Library [23] The minimummedian mean and maximum of RMS transformation error(with respect to different keypoint detectors) are presentedin Table 3 These results show how filtered point cloudsusing the GNG method generally improved the precisionof the estimated transformation Moreover the worst esti-mated transformations (maximum errors) were also slightlyimproved using the GNG compared to the other techniques

4 Conclusions

3D maps obtained from RGB-D data are useful for roboticstasks like robot navigation But this kind of maps containsa huge amount of data which must be reduced to properlyprocess the map In this paper we have presented a methodto represent and reduce 3D maps Our method is based on aGNG neural network which is adapted to the 3D input spaceThe experiments carried out demonstrated the validity of our

method as it provided better adaptation than two of themostused methods for these tasks voxel grid and Octree

As future works we propose to extend our method toprovide a useful map for robot navigation We also planto provide the GNG with a way to revert the reduction orcompression of the points storing information in the neuronsneighborhood (color point distribution etc)

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was partially funded by the Spanish GovernmentDPI2013-40534-R grant Experiments were made possiblewith a generous donation of hardware from NVDIA

Mathematical Problems in Engineering 11

References

[1] D Fox S Thrun and W Burgard Probabilistic Robotics TheMIT Press Cambridge Mass USA 2005

[2] M Herbert C Caillas E Krotkov I S Kweon and T KanadeldquoTerrain mapping for a roving planetary explorerrdquo in Pro-ceedings of the IEEE International Conference on Robotics andAutomation vol 2 pp 997ndash1002 1989

[3] R Triebel P Pfaff and W Burgard ldquoMulti-level surface mapsfor outdoor terrain mapping and loop closingrdquo in Proceedingsof the IEEERSJ International Conference on Intelligent Robotsand Systems (IROS rsquo06) pp 2276ndash2282 October 2006

[4] A Elfes ldquoUsing occupancy grids for mobile robot perceptionand navigationrdquo Computer vol 22 no 6 pp 46ndash57 1989

[5] P Stepan M Kulich and L Preucil ldquoRobust data fusionwith occupancy gridrdquo IEEE Transactions on Systems Man andCybernetics C vol 35 no 1 pp 106ndash115 2005

[6] B Schiele and J L Crowley ldquoA comparison of positionestimation techniques using occupancy gridsrdquo Robotics andAutonomous Systems vol 12 no 3-4 pp 163ndash171 1994

[7] C I Connolly ldquoCumulative generation of octree models fromrange datardquo in Proceedings of the 1st International Conference onRobotics and Automation vol 1 pp 25ndash32 March 1984

[8] K M Wurm A Hornung M Bennewitz C Stachniss andW Burgard ldquoOctoMap a probabilistic flexible and compact3D map representation for robotic systemsrdquo in Proceedings ofthe IEEE International Conference on Robotics and Automation(ICRA rsquo10) 2010

[9] L Kobbelt and M Botsch ldquoA survey of point-based techniquesin computer graphicsrdquo Computers and Graphics vol 28 no 6pp 801ndash814 2004

[10] L Wang J Chen and B Yuan ldquoSimplified representationfor 3D point cloud datardquo in Proceedings of the IEEE 10thInternational Conference on Signal Processing (ICSP rsquo10) pp1271ndash1274 October 2010

[11] D Viejo J Garcia M Cazorla D Gil and M Johnsson ldquoUsingGNG to improve 3D feature extraction application to 6DoFegomotionrdquo Neural Networks vol 32 pp 138ndash146 2012

[12] T Kohonen Self-Organizing Maps vol 30 of Springer Series inInformation Sciences Springer Berlin Germany 1995

[13] B Fritzke ldquoA growing neural gas network learns topologiesrdquo inAdvances in Neural Information Processing Systems vol 7 pp625ndash632 MIT Press 1995

[14] T Martinetz ldquoCompetitive hebbian learning rule forms per-fectly topology preserving mapsrdquo in Proceedings of the Interna-tional Conference onArtificial NeuralNetworks (ICANN rsquo93) pp427ndash434 1993

[15] T Martinetz and K Schulten ldquoTopology representing net-worksrdquo Neural Networks vol 7 no 3 pp 507ndash522 1994

[16] G Xu B Mourrain R Duvigneau and A Galligo ldquoAnalysis-suitable volume parameterization ofmulti-block computationaldomain in isogeometric applicationsrdquo Computer-Aided Designvol 45 no 2 pp 395ndash404 2013

[17] SOrts J Garcia-RodriguezDViejoMCazorla andVMorellldquoGPGPU implementation of growing neural gas Applicationto 3D scene reconstructionrdquo Journal of Parallel and DistributedComputing vol 72 no 10 pp 1361ndash1372 2012

[18] F Tombari S Salti and L Di Stefano ldquoA combined texture-shape descriptor for enhanced 3D feature matchingrdquo in Pro-ceedings of the 18th IEEE International Conference on ImageProcessing (ICIP rsquo11) pp 809ndash812 September 2011

[19] S Orts-Escolano A Three-Dimensional Representation Methodfor Noisy Point Clouds Based on Growing Self-Organizing MapsAccelerated on GPUs University of Alicante 2014

[20] R B Rusu N Blodow Z C Marton and M Beetz ldquoAligningpoint cloud views using persistent feature histogramsrdquo in Pro-ceedings of the IEEERSJ International Conference on IntelligentRobots and Systems (IROS 08) pp 3384ndash3391 Nice FranceSeptember 2008

[21] R B Rusu N Blodow and M Beetz ldquoFast point featurehistograms (FPFH) for 3D registrationrdquo in Proceedings of theIEEE International Conference on Robotics and Automation(ICRA rsquo09) pp 3212ndash3217 Kobe Japan May 2009

[22] I Sipiran and B Bustos ldquoHarris 3D a robust extension of theHarris operator for interest point detection on 3D meshesrdquoVisual Computer vol 27 no 11 pp 963ndash976 2011

[23] R B Rusu and S Cousins ldquo3D is here Point Cloud Library(PCL)rdquo in Proceeding of the IEEE International Conference onRobotics and Automation (ICRA 11) pp 1ndash4 Shanghai ChinaMay 2011

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Page 6: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

6 Mathematical Problems in Engineering

00

10

10

20

20

30

30

40

40

Voxel grid

Input pointsVoxel centroid

Voxel centerVoxel

(a)

Octree

0

10

20

30

40

0 10 20 30 40

Input pointsLeaf centerLeaf node

(b)

GNG

GNG

0

10

20

30

40

0 10 20 30 40

Input points

(c)

Figure 5 Two-dimensional examples of the three tested methods

Figure 6 Example of the ldquofr1 360rdquo ground-truth point cloud map

Mathematical Problems in Engineering 7

Figure 7 Example of the ldquofr3 longrdquo ground-truth point cloud map

leaf cell of the Octree implementation The GNG results areobtained using 10000120582 input patterns

We extensively tested the implemented methods usingdifferent number of representatives Since the three testedmethods reduce the amount of noise in the generated mapit is needed to know the real distance from the selectedrepresentatives to the original input space The followingmeasure specifies how close the representations are from theoriginal model

A quantitative measure of the input space adaptationof the generated map is obtained by computing the meanerror (ME) of the reducedmap against sampled points (inputspace)

ME = 1

|119881|sum

119901isin119881

min119902isin119860

1003817100381710038171003817119901 minus 1199021003817100381710038171003817 (4)

where 119881 is the input space 119901 is a point that belongs tothe input space and 119902 is the representative point with theminimum distance to 119901 Euclidean distances to closest pointsare averaged over the entire input space

Figure 8 shows the RMS errors of the three methodson the six different tested maps We observe that the threemethods have similar behavior on the different datasets TheOctree method gets the worse results probably due to theselection of its cell-node center as representative The voxelgrid gets lower errors than Octree due to the use of thecentroid of the inner points instead of using the center of thevoxel or cell

It is important to point out again that the representativeselectionmethod used in this comparison is given by the usedimplementations But Octree and voxel grid methods can usea representative selection strategy GNG adaption shows thebest results on all datasets It is noticeable that the GNG getslower errors with different number of representatives but asthe number of representatives increases the three differentmethods converge to the same error

33 Qualitative Results In this subsection we qualitativelyanalyze the results obtained with the three different methodsFigure 9 shows the original map and the three tested repre-sentations of the ldquofr1 360rdquo scene Part (a) shows the point

Table 2 Runtimes and speed-up of GPU versus CPU implementa-tion for different GNG versions

Neurons Patterns CPU runtime(s)

GPUspeed-up

GPU runtime(s)

5000 250 63 3times 2112000 350 526 5times 105218000 500 1448 6times 24133

cloud that we are trying to represent and reduce Parts (b) and(c) are respectively the Octree and voxel grid representationand part (d) is the GNG representation of the scene TheOctree representation using the centers of the leaf nodes getsa strongly structured point representation This representa-tion gets a more uniform distribution of the representativesbut the adaption error is worse as we saw in Figure 5 andthe mean error graphs The voxel grid representation getssimilar results compared to the Octree where the points areuniformly distributed as it can be observed in the pointsthat represent the floor However it gets better results onthe boundaries compared with the Octree method BothVG and Octree place representatives in isolated and noisypoints However the GNGneurons are uniformly distributedover the input space and the impact of the noisy points andundefined borders on the obtained representation is reducedWe also observe the inherent triangulation of the space thatthe GNG algorithm gets using the neurons neighborhood

Figure 10 shows two more experiments with GNG repre-sentation In these experiments we have selected two mapswith holes GNG is able to adapt to these holes and it doesnot insert neurons in them

34 Execution Time With respect to computational cost ourmethod is feasible to be included in a modern system usinggeneral purpose computing platforms However we designedin a previous work [17] a GPU-based implementation of theGNG algorithm that speeds up the sequential version severaltimes The speedup is increased as the number of neuronsused for the representation grows

In Table 2 some results can be appreciated with differentnumber of neurons and input patterns with CPU and GPUruntimes and speedup obtained with GPU version withrespect to the CPU ones The GPU used was a GTX 480NVIDIA graphic card with 480 cores a global memory of15MB and a bandwidth memory of 1774GBsec

35 GNG Maps Applications The experiments showed howthe GNG is able to adapt their topology to represent theinput map space In [19] we showed many applications of theGNG structure in order to improve 3D data representationand computer vision methods We proved that the GNGrepresentation partially discards most of the noisy valuesprovided by these RGB-D sensors In addition we performedsome experiments to show the improvement obtained using

8 Mathematical Problems in Engineering

0002004006008

01012014016018

02

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 10000 20000 30000 40000 6000050000Number of representative points

fr1 360

Voxel gridOctreeGNG

Voxel gridOctreeGNG

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr2 xyz

fr1 xyz

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

0002

004006

00801

012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr1 desk

fr1 desk2

Voxel gridOctreeGNG

fr2 desk

Figure 8 Closest neighbor distance mean errors of the different datasets

the GNG representation on normal estimation using pointneighborhood and keypoint detection and description

Normal estimation methods are based on the analysisof the eigenvectors and eigenvalues of a covariance matrixcreated from the nearest neighbours and are very sensitiveto noisy data Therefore we computed normals on raw andfiltered point clouds in order to demonstrate how a simple3D processing step like normal or curvature estimation isaffected by the presence of noise

Figure 11 shows how more stable normals are estimatedusing filtered point clouds produced by the GNG methodNormals are considered more stable as their distributionis smooth and also they have less abrupt changes in theirdirections Moreover a flat wall with some small changesin its surface was selected to appreciate changes in normaldirectionsWe employed 20000 neurons and 1000120582 patternsas configuration parameters for the GNG method in thenormal estimation experiment Figure 11(b)

Mathematical Problems in Engineering 9

(a) (b)

(c) (d)

Figure 9 (a) Original point cloud map (b) Octree reduction (c) Voxel grid reduction (d) GNG representation

Figure 10 Other examples of GNG representation with two additional maps Left part is a zoomed detail

(a) (b)

Figure 11 Normal estimation comparison (a) Normal estimation on raw point cloud (b) Normal estimation on filtered point cloud producedby the GNG method

10 Mathematical Problems in Engineering

Table 3 RMS deviation error (meters) is obtained using different detector-descriptor combinations Combinations are computed on theoriginal point cloud (raw) and different filtered point clouds using voxel grid and the proposed GNG method Keypoint detector searchradius is equal to 005 meters Feature extractor search radius is equal to 002 meters

GNG VG Raw5000119901 10000119901 20000119901 5000119901 10000119901 20000119901 All points

SIFT3D

FPFH 0168 0092 0231 0239 0073 0139 0103CSHOT 0052 0037 0019 0063 007 0037 0039PFH 0185 0367 0255 054 0171 0375 0082

PFHRGB 0106 0029 0057 008 005 0027 0041

Harris3D

FPFH 0151 0114 0079 0404 0088 018 0128CSHOT 0085 0046 0052 0038 0033 0069 0066PFH 0109 0177 0153 0305 0097 0469 0144

PFHRGB 0054 0047 0042 0033 0058 0043 0093

Tomasi3D

FPFH 0049 0054 027 0383 0127 0148 0659CSHOT 0043 0023 0063 0022 0047 0046 0049PFH 0189 0308 0319 0067 0258 0123 0765

PFHRGB 0112 0121 0066 0066 0049 0078 0062

Noble3D

FPFH 0143 0186 0199 0387 0188 0289 0114CSHOT 0098 0052 0063 0085 0059 0048 006PFH 0273 0127 0239 0073 0244 0188 0099

PFHRGB 0188 0117 0064 0096 0082 0079 0077

Lowe3D

FPFH 0143 0117 0076 0387 0188 0093 0203CSHOT 0065 0052 0062 004 0059 0107 0067PFH 0273 012 0239 0073 0244 0167 024

PFHRGB 0188 0135 0016 0077 0082 0076 0027

Curvature3D

FPFH 0099 0228 0113 0228 0103 0093 mdashCSHOT 0048 0032 0022 0033 0042 005 mdashPFH 0262 0151 0123 0244 0101 0057 mdash

PFHRGB 0139 0071 0053 0068 0083 0023 mdash

In order to test the keypoint detectordescriptor improve-ment we performed a transformation estimation algorithmand we compared the GNG results against the voxel gridrepresentation and against the entire source point cloud Weused the available descriptors [18 20 21] and detectors [22]provided by the Point Cloud Library [23] The minimummedian mean and maximum of RMS transformation error(with respect to different keypoint detectors) are presentedin Table 3 These results show how filtered point cloudsusing the GNG method generally improved the precisionof the estimated transformation Moreover the worst esti-mated transformations (maximum errors) were also slightlyimproved using the GNG compared to the other techniques

4 Conclusions

3D maps obtained from RGB-D data are useful for roboticstasks like robot navigation But this kind of maps containsa huge amount of data which must be reduced to properlyprocess the map In this paper we have presented a methodto represent and reduce 3D maps Our method is based on aGNG neural network which is adapted to the 3D input spaceThe experiments carried out demonstrated the validity of our

method as it provided better adaptation than two of themostused methods for these tasks voxel grid and Octree

As future works we propose to extend our method toprovide a useful map for robot navigation We also planto provide the GNG with a way to revert the reduction orcompression of the points storing information in the neuronsneighborhood (color point distribution etc)

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was partially funded by the Spanish GovernmentDPI2013-40534-R grant Experiments were made possiblewith a generous donation of hardware from NVDIA

Mathematical Problems in Engineering 11

References

[1] D Fox S Thrun and W Burgard Probabilistic Robotics TheMIT Press Cambridge Mass USA 2005

[2] M Herbert C Caillas E Krotkov I S Kweon and T KanadeldquoTerrain mapping for a roving planetary explorerrdquo in Pro-ceedings of the IEEE International Conference on Robotics andAutomation vol 2 pp 997ndash1002 1989

[3] R Triebel P Pfaff and W Burgard ldquoMulti-level surface mapsfor outdoor terrain mapping and loop closingrdquo in Proceedingsof the IEEERSJ International Conference on Intelligent Robotsand Systems (IROS rsquo06) pp 2276ndash2282 October 2006

[4] A Elfes ldquoUsing occupancy grids for mobile robot perceptionand navigationrdquo Computer vol 22 no 6 pp 46ndash57 1989

[5] P Stepan M Kulich and L Preucil ldquoRobust data fusionwith occupancy gridrdquo IEEE Transactions on Systems Man andCybernetics C vol 35 no 1 pp 106ndash115 2005

[6] B Schiele and J L Crowley ldquoA comparison of positionestimation techniques using occupancy gridsrdquo Robotics andAutonomous Systems vol 12 no 3-4 pp 163ndash171 1994

[7] C I Connolly ldquoCumulative generation of octree models fromrange datardquo in Proceedings of the 1st International Conference onRobotics and Automation vol 1 pp 25ndash32 March 1984

[8] K M Wurm A Hornung M Bennewitz C Stachniss andW Burgard ldquoOctoMap a probabilistic flexible and compact3D map representation for robotic systemsrdquo in Proceedings ofthe IEEE International Conference on Robotics and Automation(ICRA rsquo10) 2010

[9] L Kobbelt and M Botsch ldquoA survey of point-based techniquesin computer graphicsrdquo Computers and Graphics vol 28 no 6pp 801ndash814 2004

[10] L Wang J Chen and B Yuan ldquoSimplified representationfor 3D point cloud datardquo in Proceedings of the IEEE 10thInternational Conference on Signal Processing (ICSP rsquo10) pp1271ndash1274 October 2010

[11] D Viejo J Garcia M Cazorla D Gil and M Johnsson ldquoUsingGNG to improve 3D feature extraction application to 6DoFegomotionrdquo Neural Networks vol 32 pp 138ndash146 2012

[12] T Kohonen Self-Organizing Maps vol 30 of Springer Series inInformation Sciences Springer Berlin Germany 1995

[13] B Fritzke ldquoA growing neural gas network learns topologiesrdquo inAdvances in Neural Information Processing Systems vol 7 pp625ndash632 MIT Press 1995

[14] T Martinetz ldquoCompetitive hebbian learning rule forms per-fectly topology preserving mapsrdquo in Proceedings of the Interna-tional Conference onArtificial NeuralNetworks (ICANN rsquo93) pp427ndash434 1993

[15] T Martinetz and K Schulten ldquoTopology representing net-worksrdquo Neural Networks vol 7 no 3 pp 507ndash522 1994

[16] G Xu B Mourrain R Duvigneau and A Galligo ldquoAnalysis-suitable volume parameterization ofmulti-block computationaldomain in isogeometric applicationsrdquo Computer-Aided Designvol 45 no 2 pp 395ndash404 2013

[17] SOrts J Garcia-RodriguezDViejoMCazorla andVMorellldquoGPGPU implementation of growing neural gas Applicationto 3D scene reconstructionrdquo Journal of Parallel and DistributedComputing vol 72 no 10 pp 1361ndash1372 2012

[18] F Tombari S Salti and L Di Stefano ldquoA combined texture-shape descriptor for enhanced 3D feature matchingrdquo in Pro-ceedings of the 18th IEEE International Conference on ImageProcessing (ICIP rsquo11) pp 809ndash812 September 2011

[19] S Orts-Escolano A Three-Dimensional Representation Methodfor Noisy Point Clouds Based on Growing Self-Organizing MapsAccelerated on GPUs University of Alicante 2014

[20] R B Rusu N Blodow Z C Marton and M Beetz ldquoAligningpoint cloud views using persistent feature histogramsrdquo in Pro-ceedings of the IEEERSJ International Conference on IntelligentRobots and Systems (IROS 08) pp 3384ndash3391 Nice FranceSeptember 2008

[21] R B Rusu N Blodow and M Beetz ldquoFast point featurehistograms (FPFH) for 3D registrationrdquo in Proceedings of theIEEE International Conference on Robotics and Automation(ICRA rsquo09) pp 3212ndash3217 Kobe Japan May 2009

[22] I Sipiran and B Bustos ldquoHarris 3D a robust extension of theHarris operator for interest point detection on 3D meshesrdquoVisual Computer vol 27 no 11 pp 963ndash976 2011

[23] R B Rusu and S Cousins ldquo3D is here Point Cloud Library(PCL)rdquo in Proceeding of the IEEE International Conference onRobotics and Automation (ICRA 11) pp 1ndash4 Shanghai ChinaMay 2011

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Page 7: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

Mathematical Problems in Engineering 7

Figure 7 Example of the ldquofr3 longrdquo ground-truth point cloud map

leaf cell of the Octree implementation The GNG results areobtained using 10000120582 input patterns

We extensively tested the implemented methods usingdifferent number of representatives Since the three testedmethods reduce the amount of noise in the generated mapit is needed to know the real distance from the selectedrepresentatives to the original input space The followingmeasure specifies how close the representations are from theoriginal model

A quantitative measure of the input space adaptationof the generated map is obtained by computing the meanerror (ME) of the reducedmap against sampled points (inputspace)

ME = 1

|119881|sum

119901isin119881

min119902isin119860

1003817100381710038171003817119901 minus 1199021003817100381710038171003817 (4)

where 119881 is the input space 119901 is a point that belongs tothe input space and 119902 is the representative point with theminimum distance to 119901 Euclidean distances to closest pointsare averaged over the entire input space

Figure 8 shows the RMS errors of the three methodson the six different tested maps We observe that the threemethods have similar behavior on the different datasets TheOctree method gets the worse results probably due to theselection of its cell-node center as representative The voxelgrid gets lower errors than Octree due to the use of thecentroid of the inner points instead of using the center of thevoxel or cell

It is important to point out again that the representativeselectionmethod used in this comparison is given by the usedimplementations But Octree and voxel grid methods can usea representative selection strategy GNG adaption shows thebest results on all datasets It is noticeable that the GNG getslower errors with different number of representatives but asthe number of representatives increases the three differentmethods converge to the same error

33 Qualitative Results In this subsection we qualitativelyanalyze the results obtained with the three different methodsFigure 9 shows the original map and the three tested repre-sentations of the ldquofr1 360rdquo scene Part (a) shows the point

Table 2 Runtimes and speed-up of GPU versus CPU implementa-tion for different GNG versions

Neurons Patterns CPU runtime(s)

GPUspeed-up

GPU runtime(s)

5000 250 63 3times 2112000 350 526 5times 105218000 500 1448 6times 24133

cloud that we are trying to represent and reduce Parts (b) and(c) are respectively the Octree and voxel grid representationand part (d) is the GNG representation of the scene TheOctree representation using the centers of the leaf nodes getsa strongly structured point representation This representa-tion gets a more uniform distribution of the representativesbut the adaption error is worse as we saw in Figure 5 andthe mean error graphs The voxel grid representation getssimilar results compared to the Octree where the points areuniformly distributed as it can be observed in the pointsthat represent the floor However it gets better results onthe boundaries compared with the Octree method BothVG and Octree place representatives in isolated and noisypoints However the GNGneurons are uniformly distributedover the input space and the impact of the noisy points andundefined borders on the obtained representation is reducedWe also observe the inherent triangulation of the space thatthe GNG algorithm gets using the neurons neighborhood

Figure 10 shows two more experiments with GNG repre-sentation In these experiments we have selected two mapswith holes GNG is able to adapt to these holes and it doesnot insert neurons in them

34 Execution Time With respect to computational cost ourmethod is feasible to be included in a modern system usinggeneral purpose computing platforms However we designedin a previous work [17] a GPU-based implementation of theGNG algorithm that speeds up the sequential version severaltimes The speedup is increased as the number of neuronsused for the representation grows

In Table 2 some results can be appreciated with differentnumber of neurons and input patterns with CPU and GPUruntimes and speedup obtained with GPU version withrespect to the CPU ones The GPU used was a GTX 480NVIDIA graphic card with 480 cores a global memory of15MB and a bandwidth memory of 1774GBsec

35 GNG Maps Applications The experiments showed howthe GNG is able to adapt their topology to represent theinput map space In [19] we showed many applications of theGNG structure in order to improve 3D data representationand computer vision methods We proved that the GNGrepresentation partially discards most of the noisy valuesprovided by these RGB-D sensors In addition we performedsome experiments to show the improvement obtained using

8 Mathematical Problems in Engineering

0002004006008

01012014016018

02

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 10000 20000 30000 40000 6000050000Number of representative points

fr1 360

Voxel gridOctreeGNG

Voxel gridOctreeGNG

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr2 xyz

fr1 xyz

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

0002

004006

00801

012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr1 desk

fr1 desk2

Voxel gridOctreeGNG

fr2 desk

Figure 8 Closest neighbor distance mean errors of the different datasets

the GNG representation on normal estimation using pointneighborhood and keypoint detection and description

Normal estimation methods are based on the analysisof the eigenvectors and eigenvalues of a covariance matrixcreated from the nearest neighbours and are very sensitiveto noisy data Therefore we computed normals on raw andfiltered point clouds in order to demonstrate how a simple3D processing step like normal or curvature estimation isaffected by the presence of noise

Figure 11 shows how more stable normals are estimatedusing filtered point clouds produced by the GNG methodNormals are considered more stable as their distributionis smooth and also they have less abrupt changes in theirdirections Moreover a flat wall with some small changesin its surface was selected to appreciate changes in normaldirectionsWe employed 20000 neurons and 1000120582 patternsas configuration parameters for the GNG method in thenormal estimation experiment Figure 11(b)

Mathematical Problems in Engineering 9

(a) (b)

(c) (d)

Figure 9 (a) Original point cloud map (b) Octree reduction (c) Voxel grid reduction (d) GNG representation

Figure 10 Other examples of GNG representation with two additional maps Left part is a zoomed detail

(a) (b)

Figure 11 Normal estimation comparison (a) Normal estimation on raw point cloud (b) Normal estimation on filtered point cloud producedby the GNG method

10 Mathematical Problems in Engineering

Table 3 RMS deviation error (meters) is obtained using different detector-descriptor combinations Combinations are computed on theoriginal point cloud (raw) and different filtered point clouds using voxel grid and the proposed GNG method Keypoint detector searchradius is equal to 005 meters Feature extractor search radius is equal to 002 meters

GNG VG Raw5000119901 10000119901 20000119901 5000119901 10000119901 20000119901 All points

SIFT3D

FPFH 0168 0092 0231 0239 0073 0139 0103CSHOT 0052 0037 0019 0063 007 0037 0039PFH 0185 0367 0255 054 0171 0375 0082

PFHRGB 0106 0029 0057 008 005 0027 0041

Harris3D

FPFH 0151 0114 0079 0404 0088 018 0128CSHOT 0085 0046 0052 0038 0033 0069 0066PFH 0109 0177 0153 0305 0097 0469 0144

PFHRGB 0054 0047 0042 0033 0058 0043 0093

Tomasi3D

FPFH 0049 0054 027 0383 0127 0148 0659CSHOT 0043 0023 0063 0022 0047 0046 0049PFH 0189 0308 0319 0067 0258 0123 0765

PFHRGB 0112 0121 0066 0066 0049 0078 0062

Noble3D

FPFH 0143 0186 0199 0387 0188 0289 0114CSHOT 0098 0052 0063 0085 0059 0048 006PFH 0273 0127 0239 0073 0244 0188 0099

PFHRGB 0188 0117 0064 0096 0082 0079 0077

Lowe3D

FPFH 0143 0117 0076 0387 0188 0093 0203CSHOT 0065 0052 0062 004 0059 0107 0067PFH 0273 012 0239 0073 0244 0167 024

PFHRGB 0188 0135 0016 0077 0082 0076 0027

Curvature3D

FPFH 0099 0228 0113 0228 0103 0093 mdashCSHOT 0048 0032 0022 0033 0042 005 mdashPFH 0262 0151 0123 0244 0101 0057 mdash

PFHRGB 0139 0071 0053 0068 0083 0023 mdash

In order to test the keypoint detectordescriptor improve-ment we performed a transformation estimation algorithmand we compared the GNG results against the voxel gridrepresentation and against the entire source point cloud Weused the available descriptors [18 20 21] and detectors [22]provided by the Point Cloud Library [23] The minimummedian mean and maximum of RMS transformation error(with respect to different keypoint detectors) are presentedin Table 3 These results show how filtered point cloudsusing the GNG method generally improved the precisionof the estimated transformation Moreover the worst esti-mated transformations (maximum errors) were also slightlyimproved using the GNG compared to the other techniques

4 Conclusions

3D maps obtained from RGB-D data are useful for roboticstasks like robot navigation But this kind of maps containsa huge amount of data which must be reduced to properlyprocess the map In this paper we have presented a methodto represent and reduce 3D maps Our method is based on aGNG neural network which is adapted to the 3D input spaceThe experiments carried out demonstrated the validity of our

method as it provided better adaptation than two of themostused methods for these tasks voxel grid and Octree

As future works we propose to extend our method toprovide a useful map for robot navigation We also planto provide the GNG with a way to revert the reduction orcompression of the points storing information in the neuronsneighborhood (color point distribution etc)

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was partially funded by the Spanish GovernmentDPI2013-40534-R grant Experiments were made possiblewith a generous donation of hardware from NVDIA

Mathematical Problems in Engineering 11

References

[1] D Fox S Thrun and W Burgard Probabilistic Robotics TheMIT Press Cambridge Mass USA 2005

[2] M Herbert C Caillas E Krotkov I S Kweon and T KanadeldquoTerrain mapping for a roving planetary explorerrdquo in Pro-ceedings of the IEEE International Conference on Robotics andAutomation vol 2 pp 997ndash1002 1989

[3] R Triebel P Pfaff and W Burgard ldquoMulti-level surface mapsfor outdoor terrain mapping and loop closingrdquo in Proceedingsof the IEEERSJ International Conference on Intelligent Robotsand Systems (IROS rsquo06) pp 2276ndash2282 October 2006

[4] A Elfes ldquoUsing occupancy grids for mobile robot perceptionand navigationrdquo Computer vol 22 no 6 pp 46ndash57 1989

[5] P Stepan M Kulich and L Preucil ldquoRobust data fusionwith occupancy gridrdquo IEEE Transactions on Systems Man andCybernetics C vol 35 no 1 pp 106ndash115 2005

[6] B Schiele and J L Crowley ldquoA comparison of positionestimation techniques using occupancy gridsrdquo Robotics andAutonomous Systems vol 12 no 3-4 pp 163ndash171 1994

[7] C I Connolly ldquoCumulative generation of octree models fromrange datardquo in Proceedings of the 1st International Conference onRobotics and Automation vol 1 pp 25ndash32 March 1984

[8] K M Wurm A Hornung M Bennewitz C Stachniss andW Burgard ldquoOctoMap a probabilistic flexible and compact3D map representation for robotic systemsrdquo in Proceedings ofthe IEEE International Conference on Robotics and Automation(ICRA rsquo10) 2010

[9] L Kobbelt and M Botsch ldquoA survey of point-based techniquesin computer graphicsrdquo Computers and Graphics vol 28 no 6pp 801ndash814 2004

[10] L Wang J Chen and B Yuan ldquoSimplified representationfor 3D point cloud datardquo in Proceedings of the IEEE 10thInternational Conference on Signal Processing (ICSP rsquo10) pp1271ndash1274 October 2010

[11] D Viejo J Garcia M Cazorla D Gil and M Johnsson ldquoUsingGNG to improve 3D feature extraction application to 6DoFegomotionrdquo Neural Networks vol 32 pp 138ndash146 2012

[12] T Kohonen Self-Organizing Maps vol 30 of Springer Series inInformation Sciences Springer Berlin Germany 1995

[13] B Fritzke ldquoA growing neural gas network learns topologiesrdquo inAdvances in Neural Information Processing Systems vol 7 pp625ndash632 MIT Press 1995

[14] T Martinetz ldquoCompetitive hebbian learning rule forms per-fectly topology preserving mapsrdquo in Proceedings of the Interna-tional Conference onArtificial NeuralNetworks (ICANN rsquo93) pp427ndash434 1993

[15] T Martinetz and K Schulten ldquoTopology representing net-worksrdquo Neural Networks vol 7 no 3 pp 507ndash522 1994

[16] G Xu B Mourrain R Duvigneau and A Galligo ldquoAnalysis-suitable volume parameterization ofmulti-block computationaldomain in isogeometric applicationsrdquo Computer-Aided Designvol 45 no 2 pp 395ndash404 2013

[17] SOrts J Garcia-RodriguezDViejoMCazorla andVMorellldquoGPGPU implementation of growing neural gas Applicationto 3D scene reconstructionrdquo Journal of Parallel and DistributedComputing vol 72 no 10 pp 1361ndash1372 2012

[18] F Tombari S Salti and L Di Stefano ldquoA combined texture-shape descriptor for enhanced 3D feature matchingrdquo in Pro-ceedings of the 18th IEEE International Conference on ImageProcessing (ICIP rsquo11) pp 809ndash812 September 2011

[19] S Orts-Escolano A Three-Dimensional Representation Methodfor Noisy Point Clouds Based on Growing Self-Organizing MapsAccelerated on GPUs University of Alicante 2014

[20] R B Rusu N Blodow Z C Marton and M Beetz ldquoAligningpoint cloud views using persistent feature histogramsrdquo in Pro-ceedings of the IEEERSJ International Conference on IntelligentRobots and Systems (IROS 08) pp 3384ndash3391 Nice FranceSeptember 2008

[21] R B Rusu N Blodow and M Beetz ldquoFast point featurehistograms (FPFH) for 3D registrationrdquo in Proceedings of theIEEE International Conference on Robotics and Automation(ICRA rsquo09) pp 3212ndash3217 Kobe Japan May 2009

[22] I Sipiran and B Bustos ldquoHarris 3D a robust extension of theHarris operator for interest point detection on 3D meshesrdquoVisual Computer vol 27 no 11 pp 963ndash976 2011

[23] R B Rusu and S Cousins ldquo3D is here Point Cloud Library(PCL)rdquo in Proceeding of the IEEE International Conference onRobotics and Automation (ICRA 11) pp 1ndash4 Shanghai ChinaMay 2011

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Page 8: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

8 Mathematical Problems in Engineering

0002004006008

01012014016018

02

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

0 10000 20000 30000 40000 6000050000Number of representative points

fr1 360

Voxel gridOctreeGNG

Voxel gridOctreeGNG

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr2 xyz

fr1 xyz

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

0002

004006

00801

012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0002004006008

01012014016018

02

Mea

n di

stan

ce er

ror (

m)

0 5000 10000 15000 20000 25000 30000 35000Number of representative points

Voxel gridOctreeGNG

fr1 desk

fr1 desk2

Voxel gridOctreeGNG

fr2 desk

Figure 8 Closest neighbor distance mean errors of the different datasets

the GNG representation on normal estimation using pointneighborhood and keypoint detection and description

Normal estimation methods are based on the analysisof the eigenvectors and eigenvalues of a covariance matrixcreated from the nearest neighbours and are very sensitiveto noisy data Therefore we computed normals on raw andfiltered point clouds in order to demonstrate how a simple3D processing step like normal or curvature estimation isaffected by the presence of noise

Figure 11 shows how more stable normals are estimatedusing filtered point clouds produced by the GNG methodNormals are considered more stable as their distributionis smooth and also they have less abrupt changes in theirdirections Moreover a flat wall with some small changesin its surface was selected to appreciate changes in normaldirectionsWe employed 20000 neurons and 1000120582 patternsas configuration parameters for the GNG method in thenormal estimation experiment Figure 11(b)

Mathematical Problems in Engineering 9

(a) (b)

(c) (d)

Figure 9 (a) Original point cloud map (b) Octree reduction (c) Voxel grid reduction (d) GNG representation

Figure 10 Other examples of GNG representation with two additional maps Left part is a zoomed detail

(a) (b)

Figure 11 Normal estimation comparison (a) Normal estimation on raw point cloud (b) Normal estimation on filtered point cloud producedby the GNG method

10 Mathematical Problems in Engineering

Table 3 RMS deviation error (meters) is obtained using different detector-descriptor combinations Combinations are computed on theoriginal point cloud (raw) and different filtered point clouds using voxel grid and the proposed GNG method Keypoint detector searchradius is equal to 005 meters Feature extractor search radius is equal to 002 meters

GNG VG Raw5000119901 10000119901 20000119901 5000119901 10000119901 20000119901 All points

SIFT3D

FPFH 0168 0092 0231 0239 0073 0139 0103CSHOT 0052 0037 0019 0063 007 0037 0039PFH 0185 0367 0255 054 0171 0375 0082

PFHRGB 0106 0029 0057 008 005 0027 0041

Harris3D

FPFH 0151 0114 0079 0404 0088 018 0128CSHOT 0085 0046 0052 0038 0033 0069 0066PFH 0109 0177 0153 0305 0097 0469 0144

PFHRGB 0054 0047 0042 0033 0058 0043 0093

Tomasi3D

FPFH 0049 0054 027 0383 0127 0148 0659CSHOT 0043 0023 0063 0022 0047 0046 0049PFH 0189 0308 0319 0067 0258 0123 0765

PFHRGB 0112 0121 0066 0066 0049 0078 0062

Noble3D

FPFH 0143 0186 0199 0387 0188 0289 0114CSHOT 0098 0052 0063 0085 0059 0048 006PFH 0273 0127 0239 0073 0244 0188 0099

PFHRGB 0188 0117 0064 0096 0082 0079 0077

Lowe3D

FPFH 0143 0117 0076 0387 0188 0093 0203CSHOT 0065 0052 0062 004 0059 0107 0067PFH 0273 012 0239 0073 0244 0167 024

PFHRGB 0188 0135 0016 0077 0082 0076 0027

Curvature3D

FPFH 0099 0228 0113 0228 0103 0093 mdashCSHOT 0048 0032 0022 0033 0042 005 mdashPFH 0262 0151 0123 0244 0101 0057 mdash

PFHRGB 0139 0071 0053 0068 0083 0023 mdash

In order to test the keypoint detectordescriptor improve-ment we performed a transformation estimation algorithmand we compared the GNG results against the voxel gridrepresentation and against the entire source point cloud Weused the available descriptors [18 20 21] and detectors [22]provided by the Point Cloud Library [23] The minimummedian mean and maximum of RMS transformation error(with respect to different keypoint detectors) are presentedin Table 3 These results show how filtered point cloudsusing the GNG method generally improved the precisionof the estimated transformation Moreover the worst esti-mated transformations (maximum errors) were also slightlyimproved using the GNG compared to the other techniques

4 Conclusions

3D maps obtained from RGB-D data are useful for roboticstasks like robot navigation But this kind of maps containsa huge amount of data which must be reduced to properlyprocess the map In this paper we have presented a methodto represent and reduce 3D maps Our method is based on aGNG neural network which is adapted to the 3D input spaceThe experiments carried out demonstrated the validity of our

method as it provided better adaptation than two of themostused methods for these tasks voxel grid and Octree

As future works we propose to extend our method toprovide a useful map for robot navigation We also planto provide the GNG with a way to revert the reduction orcompression of the points storing information in the neuronsneighborhood (color point distribution etc)

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was partially funded by the Spanish GovernmentDPI2013-40534-R grant Experiments were made possiblewith a generous donation of hardware from NVDIA

Mathematical Problems in Engineering 11

References

[1] D Fox S Thrun and W Burgard Probabilistic Robotics TheMIT Press Cambridge Mass USA 2005

[2] M Herbert C Caillas E Krotkov I S Kweon and T KanadeldquoTerrain mapping for a roving planetary explorerrdquo in Pro-ceedings of the IEEE International Conference on Robotics andAutomation vol 2 pp 997ndash1002 1989

[3] R Triebel P Pfaff and W Burgard ldquoMulti-level surface mapsfor outdoor terrain mapping and loop closingrdquo in Proceedingsof the IEEERSJ International Conference on Intelligent Robotsand Systems (IROS rsquo06) pp 2276ndash2282 October 2006

[4] A Elfes ldquoUsing occupancy grids for mobile robot perceptionand navigationrdquo Computer vol 22 no 6 pp 46ndash57 1989

[5] P Stepan M Kulich and L Preucil ldquoRobust data fusionwith occupancy gridrdquo IEEE Transactions on Systems Man andCybernetics C vol 35 no 1 pp 106ndash115 2005

[6] B Schiele and J L Crowley ldquoA comparison of positionestimation techniques using occupancy gridsrdquo Robotics andAutonomous Systems vol 12 no 3-4 pp 163ndash171 1994

[7] C I Connolly ldquoCumulative generation of octree models fromrange datardquo in Proceedings of the 1st International Conference onRobotics and Automation vol 1 pp 25ndash32 March 1984

[8] K M Wurm A Hornung M Bennewitz C Stachniss andW Burgard ldquoOctoMap a probabilistic flexible and compact3D map representation for robotic systemsrdquo in Proceedings ofthe IEEE International Conference on Robotics and Automation(ICRA rsquo10) 2010

[9] L Kobbelt and M Botsch ldquoA survey of point-based techniquesin computer graphicsrdquo Computers and Graphics vol 28 no 6pp 801ndash814 2004

[10] L Wang J Chen and B Yuan ldquoSimplified representationfor 3D point cloud datardquo in Proceedings of the IEEE 10thInternational Conference on Signal Processing (ICSP rsquo10) pp1271ndash1274 October 2010

[11] D Viejo J Garcia M Cazorla D Gil and M Johnsson ldquoUsingGNG to improve 3D feature extraction application to 6DoFegomotionrdquo Neural Networks vol 32 pp 138ndash146 2012

[12] T Kohonen Self-Organizing Maps vol 30 of Springer Series inInformation Sciences Springer Berlin Germany 1995

[13] B Fritzke ldquoA growing neural gas network learns topologiesrdquo inAdvances in Neural Information Processing Systems vol 7 pp625ndash632 MIT Press 1995

[14] T Martinetz ldquoCompetitive hebbian learning rule forms per-fectly topology preserving mapsrdquo in Proceedings of the Interna-tional Conference onArtificial NeuralNetworks (ICANN rsquo93) pp427ndash434 1993

[15] T Martinetz and K Schulten ldquoTopology representing net-worksrdquo Neural Networks vol 7 no 3 pp 507ndash522 1994

[16] G Xu B Mourrain R Duvigneau and A Galligo ldquoAnalysis-suitable volume parameterization ofmulti-block computationaldomain in isogeometric applicationsrdquo Computer-Aided Designvol 45 no 2 pp 395ndash404 2013

[17] SOrts J Garcia-RodriguezDViejoMCazorla andVMorellldquoGPGPU implementation of growing neural gas Applicationto 3D scene reconstructionrdquo Journal of Parallel and DistributedComputing vol 72 no 10 pp 1361ndash1372 2012

[18] F Tombari S Salti and L Di Stefano ldquoA combined texture-shape descriptor for enhanced 3D feature matchingrdquo in Pro-ceedings of the 18th IEEE International Conference on ImageProcessing (ICIP rsquo11) pp 809ndash812 September 2011

[19] S Orts-Escolano A Three-Dimensional Representation Methodfor Noisy Point Clouds Based on Growing Self-Organizing MapsAccelerated on GPUs University of Alicante 2014

[20] R B Rusu N Blodow Z C Marton and M Beetz ldquoAligningpoint cloud views using persistent feature histogramsrdquo in Pro-ceedings of the IEEERSJ International Conference on IntelligentRobots and Systems (IROS 08) pp 3384ndash3391 Nice FranceSeptember 2008

[21] R B Rusu N Blodow and M Beetz ldquoFast point featurehistograms (FPFH) for 3D registrationrdquo in Proceedings of theIEEE International Conference on Robotics and Automation(ICRA rsquo09) pp 3212ndash3217 Kobe Japan May 2009

[22] I Sipiran and B Bustos ldquoHarris 3D a robust extension of theHarris operator for interest point detection on 3D meshesrdquoVisual Computer vol 27 no 11 pp 963ndash976 2011

[23] R B Rusu and S Cousins ldquo3D is here Point Cloud Library(PCL)rdquo in Proceeding of the IEEE International Conference onRobotics and Automation (ICRA 11) pp 1ndash4 Shanghai ChinaMay 2011

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Page 9: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

Mathematical Problems in Engineering 9

(a) (b)

(c) (d)

Figure 9 (a) Original point cloud map (b) Octree reduction (c) Voxel grid reduction (d) GNG representation

Figure 10 Other examples of GNG representation with two additional maps Left part is a zoomed detail

(a) (b)

Figure 11 Normal estimation comparison (a) Normal estimation on raw point cloud (b) Normal estimation on filtered point cloud producedby the GNG method

10 Mathematical Problems in Engineering

Table 3 RMS deviation error (meters) is obtained using different detector-descriptor combinations Combinations are computed on theoriginal point cloud (raw) and different filtered point clouds using voxel grid and the proposed GNG method Keypoint detector searchradius is equal to 005 meters Feature extractor search radius is equal to 002 meters

GNG VG Raw5000119901 10000119901 20000119901 5000119901 10000119901 20000119901 All points

SIFT3D

FPFH 0168 0092 0231 0239 0073 0139 0103CSHOT 0052 0037 0019 0063 007 0037 0039PFH 0185 0367 0255 054 0171 0375 0082

PFHRGB 0106 0029 0057 008 005 0027 0041

Harris3D

FPFH 0151 0114 0079 0404 0088 018 0128CSHOT 0085 0046 0052 0038 0033 0069 0066PFH 0109 0177 0153 0305 0097 0469 0144

PFHRGB 0054 0047 0042 0033 0058 0043 0093

Tomasi3D

FPFH 0049 0054 027 0383 0127 0148 0659CSHOT 0043 0023 0063 0022 0047 0046 0049PFH 0189 0308 0319 0067 0258 0123 0765

PFHRGB 0112 0121 0066 0066 0049 0078 0062

Noble3D

FPFH 0143 0186 0199 0387 0188 0289 0114CSHOT 0098 0052 0063 0085 0059 0048 006PFH 0273 0127 0239 0073 0244 0188 0099

PFHRGB 0188 0117 0064 0096 0082 0079 0077

Lowe3D

FPFH 0143 0117 0076 0387 0188 0093 0203CSHOT 0065 0052 0062 004 0059 0107 0067PFH 0273 012 0239 0073 0244 0167 024

PFHRGB 0188 0135 0016 0077 0082 0076 0027

Curvature3D

FPFH 0099 0228 0113 0228 0103 0093 mdashCSHOT 0048 0032 0022 0033 0042 005 mdashPFH 0262 0151 0123 0244 0101 0057 mdash

PFHRGB 0139 0071 0053 0068 0083 0023 mdash

In order to test the keypoint detectordescriptor improve-ment we performed a transformation estimation algorithmand we compared the GNG results against the voxel gridrepresentation and against the entire source point cloud Weused the available descriptors [18 20 21] and detectors [22]provided by the Point Cloud Library [23] The minimummedian mean and maximum of RMS transformation error(with respect to different keypoint detectors) are presentedin Table 3 These results show how filtered point cloudsusing the GNG method generally improved the precisionof the estimated transformation Moreover the worst esti-mated transformations (maximum errors) were also slightlyimproved using the GNG compared to the other techniques

4 Conclusions

3D maps obtained from RGB-D data are useful for roboticstasks like robot navigation But this kind of maps containsa huge amount of data which must be reduced to properlyprocess the map In this paper we have presented a methodto represent and reduce 3D maps Our method is based on aGNG neural network which is adapted to the 3D input spaceThe experiments carried out demonstrated the validity of our

method as it provided better adaptation than two of themostused methods for these tasks voxel grid and Octree

As future works we propose to extend our method toprovide a useful map for robot navigation We also planto provide the GNG with a way to revert the reduction orcompression of the points storing information in the neuronsneighborhood (color point distribution etc)

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was partially funded by the Spanish GovernmentDPI2013-40534-R grant Experiments were made possiblewith a generous donation of hardware from NVDIA

Mathematical Problems in Engineering 11

References

[1] D Fox S Thrun and W Burgard Probabilistic Robotics TheMIT Press Cambridge Mass USA 2005

[2] M Herbert C Caillas E Krotkov I S Kweon and T KanadeldquoTerrain mapping for a roving planetary explorerrdquo in Pro-ceedings of the IEEE International Conference on Robotics andAutomation vol 2 pp 997ndash1002 1989

[3] R Triebel P Pfaff and W Burgard ldquoMulti-level surface mapsfor outdoor terrain mapping and loop closingrdquo in Proceedingsof the IEEERSJ International Conference on Intelligent Robotsand Systems (IROS rsquo06) pp 2276ndash2282 October 2006

[4] A Elfes ldquoUsing occupancy grids for mobile robot perceptionand navigationrdquo Computer vol 22 no 6 pp 46ndash57 1989

[5] P Stepan M Kulich and L Preucil ldquoRobust data fusionwith occupancy gridrdquo IEEE Transactions on Systems Man andCybernetics C vol 35 no 1 pp 106ndash115 2005

[6] B Schiele and J L Crowley ldquoA comparison of positionestimation techniques using occupancy gridsrdquo Robotics andAutonomous Systems vol 12 no 3-4 pp 163ndash171 1994

[7] C I Connolly ldquoCumulative generation of octree models fromrange datardquo in Proceedings of the 1st International Conference onRobotics and Automation vol 1 pp 25ndash32 March 1984

[8] K M Wurm A Hornung M Bennewitz C Stachniss andW Burgard ldquoOctoMap a probabilistic flexible and compact3D map representation for robotic systemsrdquo in Proceedings ofthe IEEE International Conference on Robotics and Automation(ICRA rsquo10) 2010

[9] L Kobbelt and M Botsch ldquoA survey of point-based techniquesin computer graphicsrdquo Computers and Graphics vol 28 no 6pp 801ndash814 2004

[10] L Wang J Chen and B Yuan ldquoSimplified representationfor 3D point cloud datardquo in Proceedings of the IEEE 10thInternational Conference on Signal Processing (ICSP rsquo10) pp1271ndash1274 October 2010

[11] D Viejo J Garcia M Cazorla D Gil and M Johnsson ldquoUsingGNG to improve 3D feature extraction application to 6DoFegomotionrdquo Neural Networks vol 32 pp 138ndash146 2012

[12] T Kohonen Self-Organizing Maps vol 30 of Springer Series inInformation Sciences Springer Berlin Germany 1995

[13] B Fritzke ldquoA growing neural gas network learns topologiesrdquo inAdvances in Neural Information Processing Systems vol 7 pp625ndash632 MIT Press 1995

[14] T Martinetz ldquoCompetitive hebbian learning rule forms per-fectly topology preserving mapsrdquo in Proceedings of the Interna-tional Conference onArtificial NeuralNetworks (ICANN rsquo93) pp427ndash434 1993

[15] T Martinetz and K Schulten ldquoTopology representing net-worksrdquo Neural Networks vol 7 no 3 pp 507ndash522 1994

[16] G Xu B Mourrain R Duvigneau and A Galligo ldquoAnalysis-suitable volume parameterization ofmulti-block computationaldomain in isogeometric applicationsrdquo Computer-Aided Designvol 45 no 2 pp 395ndash404 2013

[17] SOrts J Garcia-RodriguezDViejoMCazorla andVMorellldquoGPGPU implementation of growing neural gas Applicationto 3D scene reconstructionrdquo Journal of Parallel and DistributedComputing vol 72 no 10 pp 1361ndash1372 2012

[18] F Tombari S Salti and L Di Stefano ldquoA combined texture-shape descriptor for enhanced 3D feature matchingrdquo in Pro-ceedings of the 18th IEEE International Conference on ImageProcessing (ICIP rsquo11) pp 809ndash812 September 2011

[19] S Orts-Escolano A Three-Dimensional Representation Methodfor Noisy Point Clouds Based on Growing Self-Organizing MapsAccelerated on GPUs University of Alicante 2014

[20] R B Rusu N Blodow Z C Marton and M Beetz ldquoAligningpoint cloud views using persistent feature histogramsrdquo in Pro-ceedings of the IEEERSJ International Conference on IntelligentRobots and Systems (IROS 08) pp 3384ndash3391 Nice FranceSeptember 2008

[21] R B Rusu N Blodow and M Beetz ldquoFast point featurehistograms (FPFH) for 3D registrationrdquo in Proceedings of theIEEE International Conference on Robotics and Automation(ICRA rsquo09) pp 3212ndash3217 Kobe Japan May 2009

[22] I Sipiran and B Bustos ldquoHarris 3D a robust extension of theHarris operator for interest point detection on 3D meshesrdquoVisual Computer vol 27 no 11 pp 963ndash976 2011

[23] R B Rusu and S Cousins ldquo3D is here Point Cloud Library(PCL)rdquo in Proceeding of the IEEE International Conference onRobotics and Automation (ICRA 11) pp 1ndash4 Shanghai ChinaMay 2011

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Page 10: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

10 Mathematical Problems in Engineering

Table 3 RMS deviation error (meters) is obtained using different detector-descriptor combinations Combinations are computed on theoriginal point cloud (raw) and different filtered point clouds using voxel grid and the proposed GNG method Keypoint detector searchradius is equal to 005 meters Feature extractor search radius is equal to 002 meters

GNG VG Raw5000119901 10000119901 20000119901 5000119901 10000119901 20000119901 All points

SIFT3D

FPFH 0168 0092 0231 0239 0073 0139 0103CSHOT 0052 0037 0019 0063 007 0037 0039PFH 0185 0367 0255 054 0171 0375 0082

PFHRGB 0106 0029 0057 008 005 0027 0041

Harris3D

FPFH 0151 0114 0079 0404 0088 018 0128CSHOT 0085 0046 0052 0038 0033 0069 0066PFH 0109 0177 0153 0305 0097 0469 0144

PFHRGB 0054 0047 0042 0033 0058 0043 0093

Tomasi3D

FPFH 0049 0054 027 0383 0127 0148 0659CSHOT 0043 0023 0063 0022 0047 0046 0049PFH 0189 0308 0319 0067 0258 0123 0765

PFHRGB 0112 0121 0066 0066 0049 0078 0062

Noble3D

FPFH 0143 0186 0199 0387 0188 0289 0114CSHOT 0098 0052 0063 0085 0059 0048 006PFH 0273 0127 0239 0073 0244 0188 0099

PFHRGB 0188 0117 0064 0096 0082 0079 0077

Lowe3D

FPFH 0143 0117 0076 0387 0188 0093 0203CSHOT 0065 0052 0062 004 0059 0107 0067PFH 0273 012 0239 0073 0244 0167 024

PFHRGB 0188 0135 0016 0077 0082 0076 0027

Curvature3D

FPFH 0099 0228 0113 0228 0103 0093 mdashCSHOT 0048 0032 0022 0033 0042 005 mdashPFH 0262 0151 0123 0244 0101 0057 mdash

PFHRGB 0139 0071 0053 0068 0083 0023 mdash

In order to test the keypoint detectordescriptor improve-ment we performed a transformation estimation algorithmand we compared the GNG results against the voxel gridrepresentation and against the entire source point cloud Weused the available descriptors [18 20 21] and detectors [22]provided by the Point Cloud Library [23] The minimummedian mean and maximum of RMS transformation error(with respect to different keypoint detectors) are presentedin Table 3 These results show how filtered point cloudsusing the GNG method generally improved the precisionof the estimated transformation Moreover the worst esti-mated transformations (maximum errors) were also slightlyimproved using the GNG compared to the other techniques

4 Conclusions

3D maps obtained from RGB-D data are useful for roboticstasks like robot navigation But this kind of maps containsa huge amount of data which must be reduced to properlyprocess the map In this paper we have presented a methodto represent and reduce 3D maps Our method is based on aGNG neural network which is adapted to the 3D input spaceThe experiments carried out demonstrated the validity of our

method as it provided better adaptation than two of themostused methods for these tasks voxel grid and Octree

As future works we propose to extend our method toprovide a useful map for robot navigation We also planto provide the GNG with a way to revert the reduction orcompression of the points storing information in the neuronsneighborhood (color point distribution etc)

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This work was partially funded by the Spanish GovernmentDPI2013-40534-R grant Experiments were made possiblewith a generous donation of hardware from NVDIA

Mathematical Problems in Engineering 11

References

[1] D Fox S Thrun and W Burgard Probabilistic Robotics TheMIT Press Cambridge Mass USA 2005

[2] M Herbert C Caillas E Krotkov I S Kweon and T KanadeldquoTerrain mapping for a roving planetary explorerrdquo in Pro-ceedings of the IEEE International Conference on Robotics andAutomation vol 2 pp 997ndash1002 1989

[3] R Triebel P Pfaff and W Burgard ldquoMulti-level surface mapsfor outdoor terrain mapping and loop closingrdquo in Proceedingsof the IEEERSJ International Conference on Intelligent Robotsand Systems (IROS rsquo06) pp 2276ndash2282 October 2006

[4] A Elfes ldquoUsing occupancy grids for mobile robot perceptionand navigationrdquo Computer vol 22 no 6 pp 46ndash57 1989

[5] P Stepan M Kulich and L Preucil ldquoRobust data fusionwith occupancy gridrdquo IEEE Transactions on Systems Man andCybernetics C vol 35 no 1 pp 106ndash115 2005

[6] B Schiele and J L Crowley ldquoA comparison of positionestimation techniques using occupancy gridsrdquo Robotics andAutonomous Systems vol 12 no 3-4 pp 163ndash171 1994

[7] C I Connolly ldquoCumulative generation of octree models fromrange datardquo in Proceedings of the 1st International Conference onRobotics and Automation vol 1 pp 25ndash32 March 1984

[8] K M Wurm A Hornung M Bennewitz C Stachniss andW Burgard ldquoOctoMap a probabilistic flexible and compact3D map representation for robotic systemsrdquo in Proceedings ofthe IEEE International Conference on Robotics and Automation(ICRA rsquo10) 2010

[9] L Kobbelt and M Botsch ldquoA survey of point-based techniquesin computer graphicsrdquo Computers and Graphics vol 28 no 6pp 801ndash814 2004

[10] L Wang J Chen and B Yuan ldquoSimplified representationfor 3D point cloud datardquo in Proceedings of the IEEE 10thInternational Conference on Signal Processing (ICSP rsquo10) pp1271ndash1274 October 2010

[11] D Viejo J Garcia M Cazorla D Gil and M Johnsson ldquoUsingGNG to improve 3D feature extraction application to 6DoFegomotionrdquo Neural Networks vol 32 pp 138ndash146 2012

[12] T Kohonen Self-Organizing Maps vol 30 of Springer Series inInformation Sciences Springer Berlin Germany 1995

[13] B Fritzke ldquoA growing neural gas network learns topologiesrdquo inAdvances in Neural Information Processing Systems vol 7 pp625ndash632 MIT Press 1995

[14] T Martinetz ldquoCompetitive hebbian learning rule forms per-fectly topology preserving mapsrdquo in Proceedings of the Interna-tional Conference onArtificial NeuralNetworks (ICANN rsquo93) pp427ndash434 1993

[15] T Martinetz and K Schulten ldquoTopology representing net-worksrdquo Neural Networks vol 7 no 3 pp 507ndash522 1994

[16] G Xu B Mourrain R Duvigneau and A Galligo ldquoAnalysis-suitable volume parameterization ofmulti-block computationaldomain in isogeometric applicationsrdquo Computer-Aided Designvol 45 no 2 pp 395ndash404 2013

[17] SOrts J Garcia-RodriguezDViejoMCazorla andVMorellldquoGPGPU implementation of growing neural gas Applicationto 3D scene reconstructionrdquo Journal of Parallel and DistributedComputing vol 72 no 10 pp 1361ndash1372 2012

[18] F Tombari S Salti and L Di Stefano ldquoA combined texture-shape descriptor for enhanced 3D feature matchingrdquo in Pro-ceedings of the 18th IEEE International Conference on ImageProcessing (ICIP rsquo11) pp 809ndash812 September 2011

[19] S Orts-Escolano A Three-Dimensional Representation Methodfor Noisy Point Clouds Based on Growing Self-Organizing MapsAccelerated on GPUs University of Alicante 2014

[20] R B Rusu N Blodow Z C Marton and M Beetz ldquoAligningpoint cloud views using persistent feature histogramsrdquo in Pro-ceedings of the IEEERSJ International Conference on IntelligentRobots and Systems (IROS 08) pp 3384ndash3391 Nice FranceSeptember 2008

[21] R B Rusu N Blodow and M Beetz ldquoFast point featurehistograms (FPFH) for 3D registrationrdquo in Proceedings of theIEEE International Conference on Robotics and Automation(ICRA rsquo09) pp 3212ndash3217 Kobe Japan May 2009

[22] I Sipiran and B Bustos ldquoHarris 3D a robust extension of theHarris operator for interest point detection on 3D meshesrdquoVisual Computer vol 27 no 11 pp 963ndash976 2011

[23] R B Rusu and S Cousins ldquo3D is here Point Cloud Library(PCL)rdquo in Proceeding of the IEEE International Conference onRobotics and Automation (ICRA 11) pp 1ndash4 Shanghai ChinaMay 2011

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Page 11: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

Mathematical Problems in Engineering 11

References

[1] D Fox S Thrun and W Burgard Probabilistic Robotics TheMIT Press Cambridge Mass USA 2005

[2] M Herbert C Caillas E Krotkov I S Kweon and T KanadeldquoTerrain mapping for a roving planetary explorerrdquo in Pro-ceedings of the IEEE International Conference on Robotics andAutomation vol 2 pp 997ndash1002 1989

[3] R Triebel P Pfaff and W Burgard ldquoMulti-level surface mapsfor outdoor terrain mapping and loop closingrdquo in Proceedingsof the IEEERSJ International Conference on Intelligent Robotsand Systems (IROS rsquo06) pp 2276ndash2282 October 2006

[4] A Elfes ldquoUsing occupancy grids for mobile robot perceptionand navigationrdquo Computer vol 22 no 6 pp 46ndash57 1989

[5] P Stepan M Kulich and L Preucil ldquoRobust data fusionwith occupancy gridrdquo IEEE Transactions on Systems Man andCybernetics C vol 35 no 1 pp 106ndash115 2005

[6] B Schiele and J L Crowley ldquoA comparison of positionestimation techniques using occupancy gridsrdquo Robotics andAutonomous Systems vol 12 no 3-4 pp 163ndash171 1994

[7] C I Connolly ldquoCumulative generation of octree models fromrange datardquo in Proceedings of the 1st International Conference onRobotics and Automation vol 1 pp 25ndash32 March 1984

[8] K M Wurm A Hornung M Bennewitz C Stachniss andW Burgard ldquoOctoMap a probabilistic flexible and compact3D map representation for robotic systemsrdquo in Proceedings ofthe IEEE International Conference on Robotics and Automation(ICRA rsquo10) 2010

[9] L Kobbelt and M Botsch ldquoA survey of point-based techniquesin computer graphicsrdquo Computers and Graphics vol 28 no 6pp 801ndash814 2004

[10] L Wang J Chen and B Yuan ldquoSimplified representationfor 3D point cloud datardquo in Proceedings of the IEEE 10thInternational Conference on Signal Processing (ICSP rsquo10) pp1271ndash1274 October 2010

[11] D Viejo J Garcia M Cazorla D Gil and M Johnsson ldquoUsingGNG to improve 3D feature extraction application to 6DoFegomotionrdquo Neural Networks vol 32 pp 138ndash146 2012

[12] T Kohonen Self-Organizing Maps vol 30 of Springer Series inInformation Sciences Springer Berlin Germany 1995

[13] B Fritzke ldquoA growing neural gas network learns topologiesrdquo inAdvances in Neural Information Processing Systems vol 7 pp625ndash632 MIT Press 1995

[14] T Martinetz ldquoCompetitive hebbian learning rule forms per-fectly topology preserving mapsrdquo in Proceedings of the Interna-tional Conference onArtificial NeuralNetworks (ICANN rsquo93) pp427ndash434 1993

[15] T Martinetz and K Schulten ldquoTopology representing net-worksrdquo Neural Networks vol 7 no 3 pp 507ndash522 1994

[16] G Xu B Mourrain R Duvigneau and A Galligo ldquoAnalysis-suitable volume parameterization ofmulti-block computationaldomain in isogeometric applicationsrdquo Computer-Aided Designvol 45 no 2 pp 395ndash404 2013

[17] SOrts J Garcia-RodriguezDViejoMCazorla andVMorellldquoGPGPU implementation of growing neural gas Applicationto 3D scene reconstructionrdquo Journal of Parallel and DistributedComputing vol 72 no 10 pp 1361ndash1372 2012

[18] F Tombari S Salti and L Di Stefano ldquoA combined texture-shape descriptor for enhanced 3D feature matchingrdquo in Pro-ceedings of the 18th IEEE International Conference on ImageProcessing (ICIP rsquo11) pp 809ndash812 September 2011

[19] S Orts-Escolano A Three-Dimensional Representation Methodfor Noisy Point Clouds Based on Growing Self-Organizing MapsAccelerated on GPUs University of Alicante 2014

[20] R B Rusu N Blodow Z C Marton and M Beetz ldquoAligningpoint cloud views using persistent feature histogramsrdquo in Pro-ceedings of the IEEERSJ International Conference on IntelligentRobots and Systems (IROS 08) pp 3384ndash3391 Nice FranceSeptember 2008

[21] R B Rusu N Blodow and M Beetz ldquoFast point featurehistograms (FPFH) for 3D registrationrdquo in Proceedings of theIEEE International Conference on Robotics and Automation(ICRA rsquo09) pp 3212ndash3217 Kobe Japan May 2009

[22] I Sipiran and B Bustos ldquoHarris 3D a robust extension of theHarris operator for interest point detection on 3D meshesrdquoVisual Computer vol 27 no 11 pp 963ndash976 2011

[23] R B Rusu and S Cousins ldquo3D is here Point Cloud Library(PCL)rdquo in Proceeding of the IEEE International Conference onRobotics and Automation (ICRA 11) pp 1ndash4 Shanghai ChinaMay 2011

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Page 12: ResearchArticle 3D Maps Representation Using GNG · 2016-05-05 · ResearchArticle 3D Maps Representation Using GNG VicenteMorell,MiguelCazorla,SergioOrts-Escolano,andJoseGarcia-Rodriguez

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of