What is good meshification algorithm?

  • Processes unorganized point cloud
  • Real-time processing
  • Provides compression
  • Incremental update
  • Ideal for robotics applications including
    • Visualization for effective human-robot interaction
    • SLAM
    • Grasping
    • Traversability assessment
Voxel Planes, Ryde et al., IROS 2013.

Existing work

Marching Cubes
  • Requires scalar field
  • Generates pair of surfaces
Greedy Projection (Marton et al. 2009)
- No compression
Poisson (Kazhdan et al. 2006)
- Closed water tight surfaces
Voxel Planes, Ryde et al., IROS 2013.

Voxel planes

Rapid meshification and compression of point clouds

Voxel Planes, Ryde et al., IROS 2013.

Occupancy grids

Voxel Planes, Ryde et al., IROS 2013.

Occupancy grids

  • Processes unorganized point cloud
  • Real-time processing
  • Provides compression
  • Incremental update
  • Ideal for robotics applications including
    • Visualization for effective human-robot interaction
    • SLAM
    • ?? Grasping
    • ?? Traversability assessment

Voxel Planes, Ryde et al., IROS 2013.

Voxel planes algorithm (simplified)

Voxel Planes, Ryde et al., IROS 2013.

Result

Voxel Planes, Ryde et al., IROS 2013.

Sliding window approach

pca img

afterslidingwindow img afterslidingwindow2 img afiterslidingwindow3 img

Without sliding window
With sliding window

Voxel Planes, Ryde et al., IROS 2013.

Voxel planes with sliding windows

Voxel Planes, Ryde et al., IROS 2013.

Gaussians incremental update

\[ \renewcommand{\v}[1]{\mathbf{#1}} % format for vectors \DeclareMathOperator{\cov}{cov} \] \[ p_i = \frac{N_i}{\sum_i N_i} \]

\begin{equation} \bar{X} = \sum_i p_i \bar{X_i} \label{eq:mog_mean} \end{equation} \begin{equation} \cov X = \sum_i p_i \left( \cov X_i + \bar{X_i} \bar{X_i}^\top - \bar{X} \bar{X}^\top \right) \label{eq:mog_cov} \end{equation}

Voxel Planes, Ryde et al., IROS 2013.

Blockwise data structure

Voxel Planes, Ryde et al., IROS 2013.

Experiments

Comparison with Greedy Projection and Marching cubes

Voxel Planes, Ryde et al., IROS 2013.

Qualitative comparison

Voxel Planes, Ryde et al., IROS 2013.

Runtime comparison

Voxel Planes, Ryde et al., IROS 2013.

Compression efficiency

memory
requirement

Voxel Planes, Ryde et al., IROS 2013.

Thermogauss dataset (Borrmann et al. 2009)

thermogauss dataset

Voxel Planes, Ryde et al., IROS 2013.

Thermogauss results

runtime memory

Voxel Planes, Ryde et al., IROS 2013.

Conclusion

  • Meshification for robotics
  • Processes unorganized point cloud
  • Supports incremental update
  • Faster than marching cubes
  • Provides better compression than marching cubes and greedy projection
Voxel Planes, Ryde et al., IROS 2013.

Coloring surfaces by normals

  • Requirements

    • Same colors for opposing normals
    • Continous colorspace
  • Flipping normals

  • Creates discontinuity around the flipping plane
  • Stretch the hemisphere to enclose the sphere
\begin{align*} [R, G, B] &= \frac{1}{2} \left[ \sin2\theta\cos\phi + 1, \sin2\theta\sin\phi + 1, \cos2\theta + 1 \right] \end{align*}
Voxel Planes, Ryde et al., IROS 2013.

Questions?

Thank You for listening !

Acknowledgements

This material is based upon work partially supported by the Federal Highway Administration under Cooperative Agreement No. DTFH61-07-H-00023. Any opinions, findings, conclusions or recommendations are those of the authors and do not necessarily reflect the views of the FHWA.