OctoMap and PCL Question

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

OctoMap and PCL Question

Hugo
Hi,

I came across a paper, "Hierarchies of Octrees for Efficient 3D Mapping"... it uses octrees to map the environment. I'm interested in this particular subject, and i'm exploring pcl::octrees in a application i'm developing. Is pcl::octrees based on Octomap library or is it another completly different type of implementation?

The reason i'm asking this, is because on my implementation i've converted an *.stl file in pointcloud, passed it through an octree with a rather small leaf size (0.02). The objective is to get a voxelized object. After i get the computed OccupiedVoxelCenters (implemented in pcl/octree/octree_pointcloud.hpp) i managed to see them on the visualizer, mainly through VTK. My problem is, since i don't have enough points in the pointcloud (for the intended lead size) i get a lot of holes in the voxelized object, voxel centers where not computed because they didn't had points inside the voxel. I'm currently trying to find a way to add the voxelcenters that were missed. (strangly all holes were closed only with a leaf size of 0.6)
Is Octomap better on this kind of perfomance?

Sorry to refer to Ocmap here, but on the paper the name of Radu Rusu came up.

Cheers
Reply | Threaded
Open this post in threaded view
|

Re: OctoMap and PCL Question

Radu B. Rusu
Administrator
Octrees are general purpose data containers/structures which have certain properties (eight octant subdivision in this
case). As trees, they can be used for many applications, some involving visualization, compression, data reduction,
change detection, and so on.

Octomap is a code library that implements a 3D occupancy grid using octrees for mapping. This means that an octree
structure is used for a particular application (mapping) in this case, and thus most likely tailored with respect to the
specifics of that application.

PCL is a collection of libraries (think as "Boost 3D" being our final goal). One of the PCL libraries is called Octree
(libpcl_octree), and has a collection of different types of octrees. These octrees can be used for many different
applications like compression, change detection, mapping, etc.

More recently, the PCL community has been working on an out-of-core octree implementation (libpcl_outofcore) for large
scale mapping, i.e. the datasets/maps do not fit in memory and you have to store parts of them on disk. The goal is to
easily stream and use datasets of billions of points without any problems. We are collaborating with a lot of commercial
companies on this open source effort. See http://www.pointclouds.org/blog for more details.

You should figure out exactly what your application needs, then dig into our documentation to see which _type of octree_
is most suitable for you. There is not a single library or type of octree that can fulfill the requirements of many
different applications, so you need to pick what works best.

In terms of efficiency, PCL would be happy to optimize any piece of code that our users might find inefficient.

Cheers,
Radu.
--
http://pointclouds.org

On 03/22/2012 03:27 PM, Zhao wrote:

> Hi,
>
> I came across a paper, "Hierarchies of Octrees for Efficient 3D Mapping"...
> it uses octrees to map the environment. I'm interested in this particular
> subject, and i'm exploring pcl::octrees in a application i'm developing. Is
> pcl::octrees based on Octomap library or is it another completly different
> type of implementation?
>
> The reason i'm asking this, is because on my implementation i've converted
> an *.stl file in pointcloud, passed it through an octree with a rather small
> leaf size (0.02). The objective is to get a voxelized object. After i get
> the computed OccupiedVoxelCenters (implemented in
> pcl/octree/octree_pointcloud.hpp) i managed to see them on the visualizer,
> mainly through VTK. My problem is, since i don't have enough points in the
> pointcloud (for the intended lead size) i get a lot of holes in the
> voxelized object, voxel centers where not computed because they didn't had
> points inside the voxel. I'm currently trying to find a way to add the
> voxelcenters that were missed. (strangly all holes were closed only with a
> leaf size of 0.6)
> Is Octomap better on this kind of perfomance?
>
> Sorry to refer to Ocmap here, but on the paper the name of Radu Rusu came
> up.
>
> Cheers
>
> --
> View this message in context: http://www.pcl-users.org/OctoMap-and-PCL-Question-tp3850053p3850053.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: OctoMap and PCL Question

Chris Volpe
Radu-
  If one is already using PCL in one's application, is there a use case in which it makes sense to also incorporate OctoMap? Or would that be superfluous? Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: OctoMap and PCL Question

Radu B. Rusu
Administrator
Chris,

PCL is a collection of generic C++ libraries for 3D processing. I’m not familiar with OctoMap’s recent developments, but I would guess it serves both the purpose of a library and a technology demonstrator. I see no reason why you couldn’t use both in your application.

Best,
Radu.

On Jul 22, 2014, at 3:29 PM, Chris Volpe <[hidden email]> wrote:

> Radu-
>  If one is already using PCL in one's application, is there a use case in
> which it makes sense to also incorporate OctoMap? Or would that be
> superfluous? Thanks.
>
>
>
> --
> View this message in context: http://www.pcl-users.org/OctoMap-and-PCL-Question-tp3850053p4034898.html
> Sent from the Point Cloud Library (PCL) Users mailing list mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: OctoMap and PCL Question

Chris Volpe
Thanks, Radu. I had little doubt that I *could* use both in an application. My question is really whether one would *need* to. My understanding is that OctoMap basically does one thing: provide an efficient implementation of an octree-based data representation. PCL does a Whole Lot More, with its own octree module comprising only a small part of the overall library. So I'm basically wondering if any PCL users here have found a gap in PCL's octree module functionality (or performance) that was filled by leveraging OctoMap.

Thanks,
Chris

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Radu B. Rusu
Sent: Tuesday, July 22, 2014 6:47 PM
To: Point Cloud Library (PCL) users
Subject: Re: [PCL-users] OctoMap and PCL Question

Chris,

PCL is a collection of generic C++ libraries for 3D processing. I'm not familiar with OctoMap's recent developments, but I would guess it serves both the purpose of a library and a technology demonstrator. I see no reason why you couldn't use both in your application.

Best,
Radu.

On Jul 22, 2014, at 3:29 PM, Chris Volpe <[hidden email]> wrote:

> Radu-
>  If one is already using PCL in one's application, is there a use case
> in which it makes sense to also incorporate OctoMap? Or would that be
> superfluous? Thanks.
>
>
>
> --
> View this message in context:
> http://www.pcl-users.org/OctoMap-and-PCL-Question-tp3850053p4034898.ht
> ml Sent from the Point Cloud Library (PCL) Users mailing list mailing
> list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org 
> http://pointclouds.org/mailman/listinfo/pcl-users

_______________________________________________
[hidden email] / http://pointclouds.org http://pointclouds.org/mailman/listinfo/pcl-users
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users