CPU-Based Real-Time Surface and Solid ... - Semantic Scholar

35 downloads 6960 Views 1MB Size Report
Aug 27, 2014 - Interdisciplinary Centre for Security, Reliability and Trust, University of ... Real-Time Surface and Solid Voxelization for Incomplete Point Cloud ...
CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud Frederic Garcia, Björn Ottersten Interdisciplinary Centre for Security, Reliability and Trust, University of Luxembourg [email protected], [email protected] August 27, 2014

This work was supported by the National Research Fund, Luxembourg, under the CORE project C11/BM/1204105/FAVE/Ottersten.

22nd International Conference on Pattern Recognition (ICPR’14) 24-28 August 2014 Stockholm, Sweden

Outline  Introduction  Motivation: Human Pose Estimation/Gesture Recognition  Intermediate step to extend 2D curve-skeletons techniques to point sets

 Proposed approach  Bounding 3D grid of voxels  Surface voxelization  Solid voxelization

 Experimental evaluation  Concluding remarks

2

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Introduction  Voxelization: models geometric scenes into their equivalent discrete voxel-based representations  Complex scenes with thousands of polygons are approximated to a discrete 3-D voxel grid  This voxelization process known as surface voxelization results from setting those voxels describing the object surface within the 3D grid  Implemented by spatial decomposition techniques such as kd-trees or octrees[2,3,4]  More complex geometric processing needs to consider not only those voxels representing the external object surface but also those voxels considered to be interior to the object, i.e., solid voxelization

3

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Motivation: Human Pose Estimation  Voxelization: intermediate step to extend 2D curve-skeleton techniques[1] to human-scanned point clouds

Frontal view

4

Body silhouette

Distance Transform

Laplace operator

Threshold operator

Human pose

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Motivation: Human Pose Estimation  Voxelization: intermediate step to extend 2D curve-skeleton techniques[1] to human-scanned point clouds

Body-scanned Point Cloud

5

Surface & Solid Voxelization

Curve-Skeleton

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Proposed approach  Bounding 3D grid of voxels V ≡ v(i, j, k)  Big enough to fit the entire point set P ≡ p(x, y, z)  But no bigger to avoid inefficiency (real-time processing)  Defined by max & min 3D point set coordinates  Voxel size λ defines the resolution & accuracy of the discrete voxel representation

Bounding 3D grid of voxels 6

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Proposed approach  Surface Voxelization:  We map each 3D point pi = (px, py, pz) to its closest voxel vi = (vi, vj, vk)  Solify a shell representing the external object surface by approximating all pi to the geometric center of their respective voxel vi, i.e., 1 if p i ∈ [v i , v i + λ ] vi =  otherwise. 0

Scanned points pi

Surface voxelization

Selected voxel-slice from V 7

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Proposed approach  Solid Voxelization is generally addressed using polygonal meshes [4,5,6] :  Sensitive to shell holes & time consuming  We propose a high-performance 2-step solid voxelization approach:  Step 1, complete shell:  Solidify the shell of surface voxels representing the object surface  Sort set voxels according to their relative distances  Set those voxels intersected by the segment that connect two near voxels

Selected voxel-slice from J and K axes V 8

Surface voxelization

Complete shell

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Proposed approach  Step 2, shell filling:  Set interior voxels within the complete shell  Iterate row-by-row each voxel-slice propagating the voxel state (scan line algorithm)

Selected voxel-slice from J and K axes V

9

Complete shell

Filled shell

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Proposed approach  Shell filling might fail in some situations:

Selected voxel-slice from J and K axes V

10

Complete shell

Wrong shell filling

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Proposed approach  Therefore, individual filled shells are combined to generate a unique volumetric grid

Scanned points

11

Surface voxelization

Solid voxelization

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Experimental evaluation  Incomplete human-scanned point clouds V-Rep setup

Poin cloud Volumetric Surface Solid grid voxelization voxelization

12

Poin cloud Volumetric Surface Solid grid voxelization voxelization

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Experimental evaluation  Stanford 3D Scanning Repository

Poin cloud

13

Volumetric grid

Surface voxelization

Solid voxelization

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Experimental evaluation  Running time (units are in ms)

14

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Experimental evaluation  Running time (units are in ms)

15

CPU-Based Real-Time Surface and Solid Voxelization for Incomplete Point Cloud

Conclusions  A new scheme to compute surface & solid voxelization of incomplete point cloud datasets has been described  Our main contribution is in using an axis-aligned 3D grid of voxels to which we approximate the given point cloud set  From the voxelization process, we reduce the amount of data to be treated, registration inaccuracies & noise within depth measurements  The combination of filled shells results in an accurate surface & solid voxelization of the given point set, independently of its complexity.  Experimental evaluation shows a high-performance, making the approach practical for further geometric processing, e.g., computation of volumetric distance fields

16

A New Multi-lateral Filter for Real-Time Depth Enhancement

Thank you! Frederic Garcia, Björn Ottersten Interdisciplinary Centre for Security, Reliability and Trust, University of Luxembourg [email protected], [email protected]

[1] [2] [3] [4] [5] [6]

Meng Li, Tao Yang, Runping Xi, and Zenggang Lin, “Silhouette-based 2d human pose estimation,” in International Conference on Image and Graphics (ICIG), September 2009, pp. 143–148. R. B. Rusu, “Semantic 3d object maps for everyday manipulation in human living environments,” Ph.D. dissertation, Tecnische Universitatet Muenchen, 2009. C. Crassin and S. Green, “Octree-based sparse voxelization using the gpu hardware rasterizer,” in OpenGL Insights. CRC Press, Patrick Cozzi and Christophe Riccio, 2012. X. Wu, W. Liu, and T. Wang, “A new method on converting polygonal meshes to volumetric datasets,” in IEEE International Conference on Robotics, Intelligent Systems and Signal Processing, vol. 1, 2003, pp. 116–120. D. Haumont and N. Warze, “Complete polygonal scene voxelization,” Journal of Graphics Tools, vol. 7, no. 3, pp. 27–41, 2002. M. Schwarz and H.-P. Seidel, “Fast parallel surface and solid voxelization on gpus,” ACM Trans. Graph., vol. 29, no. 6, pp. 1–10, 2010.

22nd International Conference on Pattern Recognition (ICPR’14) 24-28 August 2014 Stockholm, Sweden

Suggest Documents