Professional Documents
Culture Documents
Figure 1: Visualization of a dynamic point cloud scene with 1 Million points. The raw point position data is streamed onto
the GPU, where our algorithm performs an instant surface reconstruction that produces surface-aligned splats for illuminated
rendering. The complete frame is computed in 94 ms at a resolution of of 1700 × 900 pixels.
Abstract
Capturing real-world objects with laser-scanning technology has become an everyday task. Recently, the acquisi-
tion of dynamic scenes at interactive frame rates has become feasible. A high-quality visualization of the resulting
point cloud stream would require a per-frame reconstruction of object surfaces. Unfortunately, reconstruction
computations are still too time-consuming to be applied interactively. In this paper we present a local surface
reconstruction and visualization technique that provides interactive feedback for reasonably sized point clouds,
while achieving high image quality. Our method is performed entirely on the GPU and in screen space, exploit-
ing the efficiency of the common rasterization pipeline. The approach is very general, as no assumption is made
about point connectivity or sampling density. This naturally allows combining the outputs of multiple scanners in
a single visualization, which is useful for many virtual and augmented reality applications.
Categories and Subject Descriptors (according to ACM CCS): I.3.3 [Computer Graphics]: Picture/Image
Generation—Display algorithms I.4.1 [Image Processing an Computer Vision]: Digitization and Image Capture—
Imaging geometry
c The Eurographics Association 2012.
DOI: 10.2312/EGPGV/EGPGV12/139-148
140 R. Preiner & S. Jeschke & M. Wimmer / Auto Splats
approach is to visualize point clouds directly. A continuous considering large scanned data sets. A standard approach
surface can be obtained by drawing a splat for each point. A for per-point splat estimation is to compute each point’s
splat is a circular or elliptical surface element that is aligned k nearest neighbors and fit a surface in this neighboring
with the surface tangent and covers an area according to the point set [HDD∗ 92]. For these methods, the performance-
local point density. This method requires knowledge of the critical part is the computation of the K-neighborhood for
local surface tangents and point densities, which again im- a large number of points, which mostly requires spatial ac-
plies lengthy preprocessing. celeration data structures like grids or trees. Various tech-
niques have been developed to perform KNN-Search in-
In this paper, we propose a technique to interactively es-
teractively, mostly by utilizing modern graphics hardware
timate the above splat parameters for every output frame on
[ZHWG08, PLM10, QMN09, LTdF∗ 09, GDB08, JGBZ10].
the GPU. No prior knowledge is required about the incom-
While these approaches are able to reach fast peak perfor-
ing points, except for their 3D positions (and optional col-
mances, their efficiency mostly depends on carefully chosen
ors). We introduce a new screen-space algorithm to com-
parameters, which only perform well up to a certain data size
pute the k nearest neighbors (KNNs) of each point for local
due to hardware limitations (number of threads per block,
surface fitting. One main idea of our approach is to work
shared memory occupancy, etc).
directly in screen space, utilizing the features of the com-
mon graphics pipeline to process many points in parallel. Aiming at a surface reconstruction for point cloud visu-
Most importantly, working in screen space reduces the re- alization, it is not efficient to reconstruct the surface on the
construction workload to the required minimum, i.e., the vis- complete data set, most of which might not even be visible.
ible points. Using a KNN search naturally accounts for sam- Our approach thus tries to limit the necessary reconstruction
pling problems that arise from noisy data or spatially varying computations to the set of visible points. We compare our
point density, for example, if point data coming from dif- method to the work of Zhou et al. [ZHWG08], who perform
ferent sources are processed simultaneously. Furthermore, a surface reconstruction on a deforming point model with a
outliers are identified and excluded in order to maintain a constant number of points by building a kd-tree on the com-
high reconstruction quality. Our on-the-fly splat generation plete point set and searching for the point’s KNNs on the
for large, dynamic point data enables high-quality visualiza- GPU in each frame. While fast performance can be achieved,
tions using state-of-the-art splatting techniques without any the user needs to choose an initial search radius to provide
preprocessing. an efficient reconstruction. Also, the KNN search efficiency
strongly depends on parameters that were chosen for the dif-
ferent stages in the tree build-up phase. As our technique per-
2. Related Work forms the KNN search after projecting the points in screen
A huge amount of work has been done in the field of point space, we do not rely on user-defined input parameters for
rendering, and we refer the interested reader to an excel- KNN search acceleration. Furthermore, in our approach the
lent book [GP07] and surveys on this topic [Gro09, KB04]. size of the rendered point set is not restricted by GPU mem-
Almost all existing techniques assume per-point normals as ory as for an object-space based approach. Computations are
input (and optionally splat sizes), with a few exceptions that only bounded by scene complexity in image space.
will be discussed below. In contrast, the main goal of this pa- Several point rendering methods apply a screen-space ren-
per is to interactively compute normals and splat radii on the dering approach as we do [MKC07, RL08, DRL10], but as-
fly for the visible part of a given point set, to further apply sume precomputed per-point normals as input. Some meth-
any appropriate point-rendering technique for visualization. ods lift this restriction by also performing reconstruction in
screen-space: Diankov and Bajcsy [DB07] applied erosion
Numerous offline algorithms have been presented for
and dilation operations to fill holes, but the resulting image
surface reconstruction for both static (e.g., Mullen et
quality is not very high. Kawata et al. [HK04] base their re-
al. [MDGD∗ 10]) and dynamic scenes [WJH∗ 07, SAL∗ 08,
construction on a downscaled image, which is not applicable
LAGP09]. Mitra et al. [MNG04] gives a broad discussion
to input with varying point densities due to a user-provided,
on normal estimation in noisy point cloud data and analyzes
fixed grid size.
the influence of the noise factor, error bounds and similar
factors. A further related problem is the consistent propa-
gation of normal orientations in point clouds. König and 3. Overview
Gumhold [KG09] proposed an offline algorithm.
Our system allows for instant high-quality visualization of
In contrast to the above methods, we want to perform dynamic point sets from raw position data by performing a
the reconstruction online. Zhou et al. [ZGHG11] sample the per-frame computation of surface aligned splats. The input
points into an octree structure and extract an implicit sur- to the algorithm is a set of n 3D points S = {xi , yi , zi |i = 1..n}
face. To obtain high resolution and thus high reconstruction containing only the point positions of the current frame. In
quality, the octree should tightly enclose the scene. For many addition, a parameter k defines the number of neighbors to
real-world applications, this is not easily possible, especially take into account for splat normal and radius estimation.
c The Eurographics Association 2012.
R. Preiner & S. Jeschke & M. Wimmer / Auto Splats 141
This parameter defines a tradeoff between feature preserva- Gathering If P needs to gather information from its
tion and noise reduction. neighbors (an operation that is used multiple times in our
approach), we perform a distribution pass so that all neigh-
The complete computation pipeline consists of three main bors write their information into the pixel of P. Note that for
phases, as depicted in Figure 2. First, each point is projected this task, since it is carried out for all points in parallel, the
to its 2D pixel position in the current output image, where its radius of the sphere that defines the screen splat for a point Q
3D position information is stored. Then, the occupied output has to be the distance to the furthest point P that has Q as its
pixels are read back to a pixel position buffer that is used neighbor. We call this distance the feedback radius r f . Con-
to address the points in the screen in the following steps trary to the distribution pass, for each point P covered by the
without having to reproject the whole point cloud again. In splat of Q we test whether Q lies within the neighborhood
the next step, each screen point finds its k nearest neigh- sphere of P. If so, Q is a neighbor to P and we can perform
bors (Section 5). Based on the KNN, we perform surface a feedback write at the pixel coordinates of P. To compute
fitting by computing a normal and a radius for each point r f for the neighbors of P, we perform a distribution pass that
(Section 6). Finally, we render the according splats to create writes the world-space distance |Q − P| to the splat pixel of
the output image (Section 7). Note that all above compu- each neighbor Q. Using MAX-Blending, each point ends up
tations are performed directly in screen space, utilizing the with the distance r f to the furthest point for which it serves
common graphics pipeline and programmable shaders to ef- as neighbor.
ficiently process points in parallel. In particular, the KNN
Using distribution and gathering, we can accumulate in-
search and normal and radius computation use a new paral-
formation from each point’s neighbors in parallel. Note that
lel algorithm for communication between different screen-
by the above definition, each point P is its own neighbor.
space splats which we describe in Section 4.
However, we can always choose whether to operate on the
entire neighbor point set or only on the neighbors Q 6= P, by
4. Parallel Splat Communication discarding a pixel at Q in the fragment program if it equals
This section describes how neighboring points can ex- the position of the distributing point P.
change information through screen-space rendering opera- To minimize the number of fragment threads required for
tions, which is a central building block for the KNN compu- splat communication, we take advantage of the hardware’s
tation and surface estimation. Van Kooten et al. [vKvdBT07] Early-Z culling ability that is implemented in most mod-
use screen space splats in a particle system to distribute in- ern GPUs. We only need the GPU to start a fragment thread
formation from a point to all its neighbors within a given for the “non-empty” pixels within a neighborhood box, i.e.,
c The Eurographics Association 2012.
142 R. Preiner & S. Jeschke & M. Wimmer / Auto Splats
r
We define the k-neighborhood of a point P by the k-radius rk The initial world-space estimator r̃0 of a point can then be
that encloses the k nearest neighbors of P. Once this radius derived by unprojecting rscreen based on the point’s view-
is found, we are able to perform operations on the KNNs in space depth. If the points in the cell describe one single
parallel by using it as communication radius threshold for unwrapped surface, this estimator roughly pinpoints the ex-
the distribute and gather mechanisms in our system. The k- pected KNN radii. On the other hand, if several depth layers
radius rk is found by an iterative range search in the non- are projected to the screen (e.g., the front- and the backfac-
continuous, monotonically increasing neighbor-count func- ing part of a closed object), the number of cell points will
tion σ(r) over the radii r. Starting with an initial estimator r̃0 , be too high. This is acceptable, however, since in the worst
in each iteration, the number of points in the current range is case, this estimator causes the initial screen splat defined by
determined and used to update the search range until a range r̃0 to be smaller than intended, and it will be expanded in the
r̃i is found that counts σ(r̃i ) = k points. next step.
c The Eurographics Association 2012.
R. Preiner & S. Jeschke & M. Wimmer / Auto Splats 143
q
k
α= σi .
c The Eurographics Association 2012.
144 R. Preiner & S. Jeschke & M. Wimmer / Auto Splats
c The Eurographics Association 2012.
R. Preiner & S. Jeschke & M. Wimmer / Auto Splats 145
c The Eurographics Association 2012.
146 R. Preiner & S. Jeschke & M. Wimmer / Auto Splats
c The Eurographics Association 2012.
R. Preiner & S. Jeschke & M. Wimmer / Auto Splats 147
Figure 12: A dynamic object scanned by three scanners. Our design choice to locally reconstruct surfaces based on
the points sampled in screen has many advantages. For ex-
ample, there are practically no parameters that influence the
reconstruction quality (except for k for the KNN search),
query for a point), Autosplats provide a speedup over GPU making the system readily useful for many applications. On
kd-trees. Furthermore, the GPU kd-tree algorithm was not the other hand, because each pixel only stores the front-most
able to handle larger scenes like the Cathedral scene at all. point, a number of points get lost. Generally, this is inten-
tional, especially in large or dense point clouds with high
pixel overdraw where we only want to perform computation
8.3. Applications
on the the potentially small fraction of visible points in the
Real-Time Scan Visualization One application where front. However, not storing a point can become a problem if
our technique is especially useful is the setup of real-world either its splat would still contribute to the final rendering, or
scanning sessions of static and dynamic content, possibly it would contribute to the normal direction of a visible splat
using multiple scanners. We simulated such a setup, as de- in its neighborhood. This can happen for example at object
picted in Figure 12. A dynamic object is scanned by up to silhouettes where spatially neighboring points can get raster-
four scanners, each providing a registered 3D point cloud ized to the same image pixel, leading to misaligned splats.
(assuming mutual scanner registration). The scanners simu-
Another limitation is that we currently do not account
late varying amounts of Gaussian noise. The auto-splatting
for splat orientation, as this would require computing a
technique allows us to display the scanned surfaces with
minimum spanning tree in the weighted K-neighborhood
high quality in real time. This enables positioning the scan-
graph [HDD∗ 92], which seems too costly for a real-time
ners for optimizing surface coverage and minimizing occlu-
setup. This sometimes leads to wrongly illuminated splats,
sions in a scene during a film sequence, for example. In addi-
mostly at silhouettes. We are currently investigating meth-
tion, we can apply helpful visualization techniques, like the
ods to reduce these artifacts.
size of the K-neighborhood as depicted in Figure 12, where
the red spectrum suggests too sparse sampling. Note that for
such scenarios, we can turn off the outlier removal of our 9. Conclusions and Future Work
system to not distort the result. We believe that in the near fu-
We have presented an algorithm for producing interactive
ture, more real-time scanning devices will be available (like
high-quality visualizations from dynamic point clouds by
Microsoft Kinect), making a fast but high-quality preview
performing a surface reconstruction of the point clouds on
particularly important for many film, VR and AR applica-
the fly. Our algorithm uses the frame buffer as search data
tions.
structure for nearest-neighbor computation. This comes with
Normal and Curvature Estimation Preview Offline the advantage that we obtain a reduced subset of the possibly
algorithms performing normal or curvature estimation on huge amount of points in the scene for reconstruction. The
massive point datasets can require up to several hours of pro- main strength of our algorithm is that it can be used to in-
cessing time. However, the reconstruction quality of the hole teractively render reconstructions for point clouds from any
dataset is not known in advance and errors in the choice of source, including dynamic point clouds from real-time scan-
the parameters that could require a recomputation are often ners, or point data from an out-of-core rendering system.
only recognized after the processing is finished. Our algo-
We have shown that our method outperforms a GPU-
rithm can be used to provide an instant preview of the re-
based kd-tree approach for KNN search in each of our tests,
construction of different parts of a data set by an interactive
even if the parameters required for the kd-tree are chosen
walk-through. A user might wish to test different parame-
favorably. Our method, on the other hand, does not require
ters for the k neighborhood to find a smooth but still feature-
manual parameter tuning, and also works for larger scenes.
preserving optimum, or wants to analyze whether a certain
In the future, we want to investigate ways to reduce the re-
parameter choice leads to uneven quality among the points.
maining small artifacts that can appear at object silhouettes,
See for example Figure 9 for an instant visualization of cur-
where information for fitting is lost. Also, we will investigate
vatures.
methods to choose k adaptively in order to further increase
Modeling Applications Applications that allow the visual quality.
c The Eurographics Association 2012.
148 R. Preiner & S. Jeschke & M. Wimmer / Auto Splats
10. Acknowledgements [LTdF∗ 09] L EITE P., T EIXEIRA J., DE FARIAS T., T EICHRIEB
V., K ELNER J.: Massively parallel nearest neighbor queries for
This work was funded by the Austrian Research Promotion dynamic point clouds on the gpu. In Computer Architecture and
Agency (FFG) through the FIT-IT project “Terapoints” and High Performance Computing, 2009. SBAC-PAD ’09. 21st Inter-
the Austrian Science Fund (FWF) project P20768-N13. The national Symposium on (oct. 2009), pp. 19 –25. 2
Imperia Statue was provided by the University of Konstanz. [MDGD∗ 10] M ULLEN P., D E G OES F., D ESBRUN M., C OHEN -
The horse animation was made available by Robert Sumner S TEINER D., A LLIEZ P.: Signing the unsigned: Robust surface
reconstruction from raw pointsets. Computer Graphics Forum
and Jovan Popovic from the Computer Graphics Group at 29, 5 (2010), 1733–1741. 2
MIT.
[MKC07] M ARROQUIM R., K RAUS M., C AVALCANTI P. R.:
Efficient point-based rendering using image reconstruction. In
References SPBG (2007), Botsch M., Pajarola R., Chen B., Zwicker M.,
(Eds.), Eurographics Association, pp. 101–108. 2
[BHZK05] B OTSCH M., H ORNUNG A., Z WICKER M.,
[MNG04] M ITRA N. J., N GUYEN A., G UIBAS L.: Estimating
KOBBELT L.: High-quality surface splatting on today’s gpus.
surface normals in noisy point cloud data. In special issue of
In Point-Based Graphics, 2005. Eurographics/IEEE VGTC
International Journal of Computational Geometry and Applica-
Symposium Proceedings (june 2005), pp. 17 – 141. 7
tions (2004), vol. 14, pp. 261–276. 2
[DB07] D IANKOV R., BAJCSY R.: Real-time adaptive point
[Paj03] PAJAROLA R.: Efficient level-of-details for point based
splatting for noisy point clouds. In GRAPP (GM/R) (2007),
rendering. In Computer Graphics and Imaging (2003), pp. 141–
pp. 228–234. 2
146. 6
[DRL10] D OBREV P., ROSENTHAL P., L INSEN L.: Interactive
[PLM10] PAN J., L AUTERBACH C., M ANOCHA D.: Efficient
image-space point cloud rendering with transparency and shad-
nearest-neighbor computation for gpu-based motion planning. In
ows. In Communication Papers Proceedings of WSCG, The 18th
Intelligent Robots and Systems (IROS), 2010 IEEE/RSJ Interna-
International Conference on Computer Graphics, Visualization
tional Conference on (oct. 2010), pp. 2243 –2248. 2
and Computer Vision (Plzen, Czech Republic, 2 2010), Skala V.,
(Ed.), UNION Agency – Science Press, pp. 101–108. 2 [QMN09] Q IU D., M AY S., N ÜCHTER A.: Gpu-accelerated
nearest neighbor search for 3d registration. In Proceedings of
[Ebe11] E BERLY D.: Eigensystems for 3x3 symmetric ma-
the 7th International Conference on Computer Vision Systems:
trices (revisited). http://www.geometrictools.com/
Computer Vision Systems (Berlin, Heidelberg, 2009), ICVS ’09,
Documentation/EigenSymmetric3x3.pdf, 2011. [On-
Springer-Verlag, pp. 194–203. 2
line; accessed 29-Sept-2011]. 6
[RL08] ROSENTHAL P., L INSEN L.: Image-space point cloud
[GDB08] G ARCIA V., D EBREUVE E., BARLAUD M.: Fast k
rendering. In Proceedings of Computer Graphics International
nearest neighbor search using gpu. In Computer Vision and Pat-
(2008), pp. 136–143. 2
tern Recognition Workshops, 2008. CVPRW ’08. IEEE Computer
Society Conference on (june 2008), pp. 1 –6. 2 [SAL∗ 08] S HARF A., A LCANTARA D. A., L EWINER T., G REIF
C., S HEFFER A., A MENTA N., C OHEN -O R D.: Space-time
[GP07] G ROSS M., P FISTER H.: Point-Based Graphics (The
surface reconstruction using incompressible flow. ACM Trans.
Morgan Kaufmann Series in Computer Graphics). Morgan Kauf-
Graph. 27 (December 2008), 110:1–110:10. 2
mann Publishers Inc., San Francisco, CA, USA, 2007. 2
[vKvdBT07] VAN KOOTEN K., VAN DEN B ERGEN G., T ELEA
[Gro09] G ROSS M.: Point based graphics: state of the art and
A.: Point-based visualization of metaballs on a gpu. GPU Gems,
recent advances. In ACM SIGGRAPH 2009 Courses (New York,
3 (2007). 3
NY, USA, 2009), SIGGRAPH ’09, ACM, pp. 18:1–18:68. 2
[WAO∗ 09] WAND M., A DAMS B., OVSJANIKOV M., B ERNER
[HDD∗ 92] H OPPE H., D E ROSE T., D UCHAMP T., M C D ONALD
A., B OKELOH M., J ENKE P., G UIBAS L., S EIDEL H.-P.,
J., S TUETZLE W.: Surface reconstruction from unorganized
S CHILLING A.: Efficient reconstruction of nonrigid shape and
points. In Proceedings of the 19th annual conference on Com-
motion from real-time 3d scanner data. ACM Trans. Graph. 28
puter graphics and interactive techniques (New York, NY, USA,
(May 2009), 15:1–15:15. 1
1992), SIGGRAPH ’92, ACM, pp. 71–78. 2, 6, 9
[WJH∗ 07] WAND M., J ENKE P., H UANG Q., B OKELOH M.,
[HK04] H IROAKI K AWATA A LEXANDRE G OUAILLARD T. K.:
G UIBAS L., S CHILLING A.: Reconstruction of deforming ge-
Interactive point-based painterly rendering. In Proc. Interna-
ometry from time-varying point clouds. In Proceedings of the
tional Conference on Cyberworlds 2004 (CW2004) (Nov. 2004),
fifth Eurographics symposium on Geometry processing (Aire-la-
pp. 293–299. 2
Ville, Switzerland, Switzerland, 2007), Eurographics Associa-
[JGBZ10] J IE T., G ANGSHAN W., B O X., Z HONGLIANG G.: tion, pp. 49–58. 2
Interective point clouds fairing on many-core system. In Pro-
[WLG07] W EISE T., L EIBE B., G OOL L. V.: Fast 3d scan-
ceedings of the International Symposium on Parallel and Dis-
ning with automatic motion compensation. In IEEE Conference
tributed Processing with Applications (Washington, DC, USA,
on Computer Vision and Pattern Recognition (CVPR’07) (June
2010), ISPA ’10, IEEE Computer Society, pp. 557–562. 2
2007). 1
[KB04] KOBBELT L., B OTSCH M.: A survey of point-based tech-
[ZGHG11] Z HOU K., G ONG M., H UANG X., G UO B.: Data-
niques in computer graphics. Comput. Graph. 28 (December
parallel octrees for surface reconstruction. IEEE Transactions on
2004), 801–814. 2
Visualization and Computer Graphics 17 (2011), 669–681. 2
[KG09] K ÖNIG S., G UMHOLD S.: Consistent propagation of nor-
[ZHWG08] Z HOU K., H OU Q., WANG R., G UO B.: Real-time
mal orientations in point clouds. In VMV (2009), pp. 83–92. 2
kd-tree construction on graphics hardware. In ACM SIGGRAPH
[LAGP09] L I H., A DAMS B., G UIBAS L. J., PAULY M.: Robust Asia 2008 papers (New York, NY, USA, 2008), SIGGRAPH Asia
single-view geometry and motion reconstruction. ACM Trans. ’08, ACM, pp. 126:1–126:11. 2, 4, 5, 8
Graph. 28 (December 2009), 175:1–175:10. 2
c The Eurographics Association 2012.