Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which...

15
Vis Comput DOI 10.1007/s00371-017-1420-7 ORIGINAL ARTICLE Stroke-based splatting: an efficient multi-resolution point cloud visualization technique Rafael Kuffner dos Anjos 1,2 · Claudia Sofia Ribeiro 1 · Daniel Simões Lopes 2 · João Madeiras Pereira 2 © The Author(s) 2017. This article is an open access publication Abstract Current state-of-the-art point cloud visualization techniques have shortcomings when dealing with sparse and less accurate data or close-up interactions. In this paper, we present a visualization technique called stroke-based splat- ting, which applies concepts of stroke-based rendering to surface-aligned splatting, allowing for better shape percep- tion at lower resolutions and close-ups. We create a painterly depiction of the data with an impressionistic aesthetic, which is a metaphor the user is culturally trained to recognize, thus attributing higher quality to the visualization. This is achieved by shaping each object-aligned splat as a brush stroke, and orienting it according to globally coherent tangent vectors from the Householder formula, creating a painterly depiction of the scanned cloud. Each splat is sized according to a color-based clustering analysis of the data, ensuring the consistency of brush strokes within neighborhood areas. By controlling brush shape generation parameters and blend- This work was supported by the European Research Council under the project (Ref. 336200). Also partially supported by national funds through FCT with reference UID/CEC/50021/2013 and IT-MEDEX PTDC/EEI-SII/6038/2014. We gratefully acknowledge the support of NVIDIA Corporation. B Rafael Kuffner dos Anjos [email protected] Claudia Sofia Ribeiro [email protected] Daniel Simões Lopes [email protected] João Madeiras Pereira [email protected] 1 FCSH, Universidade Nova de Lisboa, Av. de Berna 26 C, 1069-061 Lisbon, Portugal 2 INESC-ID Lisboa, Rua Alves Redol 9, 1000-029 Lisbon, Portugal ing factors between neighboring splats, the user is able to simulate different painting styles in real time. We have tested our method with data sets captured by commodity laser scanners as well as publicly available high-resolution point clouds, both having highly interactive frame rates in all cases. In addition, a user study was conducted compar- ing our approach to state-of-the-art point cloud visualization techniques. Users considered stroke-based splatting a valu- able technique as it provides a higher or similar visual quality to current approaches. Keywords Point cloud visualization · Non-photorealistic rendering · Splatting · Householder formula 1 Introduction The relevance of point cloud data has recently increased with the introduction of cheaper and ubiquitous depth sensing solutions (e.g., Microsoft Kinect, Asus Xtion or PMD Cam- Board) or user applications (e.g., Autodesk 123D Catch and Google’s Project Tango). Creating a three-dimensional vir- tual representation of the real world is as accessible as ever, although at lower resolutions compared to expensive com- mercial solutions that produce high-resolution scans. Novel interaction paradigms [8, 11] also increased the requirements for visualization of such data, where current rendering tech- niques were not suitable. Point cloud visualization is a challenging field due to the unstructured nature of the data and its sparsity. Typ- ical mesh reconstructions can be a time-consuming task. Splats have shown to have a comparable visual appearance to closed surfaces for visualization uses [4, 31]. However, this is not verified when visualizing a high-resolution scan at a given distance, where the size of each splat is bigger than 123

Transcript of Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which...

Page 1: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

Vis ComputDOI 10.1007/s00371-017-1420-7

ORIGINAL ARTICLE

Stroke-based splatting: an efficient multi-resolution point cloudvisualization technique

Rafael Kuffner dos Anjos1,2 · Claudia Sofia Ribeiro1 · Daniel Simões Lopes2 ·João Madeiras Pereira2

© The Author(s) 2017. This article is an open access publication

Abstract Current state-of-the-art point cloud visualizationtechniques have shortcomings when dealing with sparse andless accurate data or close-up interactions. In this paper, wepresent a visualization technique called stroke-based splat-ting, which applies concepts of stroke-based rendering tosurface-aligned splatting, allowing for better shape percep-tion at lower resolutions and close-ups. We create a painterlydepiction of the data with an impressionistic aesthetic, whichis a metaphor the user is culturally trained to recognize,thus attributing higher quality to the visualization. This isachieved by shaping each object-aligned splat as a brushstroke, and orienting it according to globally coherent tangentvectors from the Householder formula, creating a painterlydepiction of the scanned cloud. Each splat is sized accordingto a color-based clustering analysis of the data, ensuring theconsistency of brush strokes within neighborhood areas. Bycontrolling brush shape generation parameters and blend-

This work was supported by the European Research Council under theproject (Ref. 336200). Also partially supported by national fundsthrough FCT with reference UID/CEC/50021/2013 and IT-MEDEXPTDC/EEI-SII/6038/2014. We gratefully acknowledge the support ofNVIDIA Corporation.

B Rafael Kuffner dos [email protected]

Claudia Sofia [email protected]

Daniel Simões [email protected]

João Madeiras [email protected]

1 FCSH, Universidade Nova de Lisboa, Av. de Berna 26 C,1069-061 Lisbon, Portugal

2 INESC-ID Lisboa, Rua Alves Redol 9, 1000-029 Lisbon,Portugal

ing factors between neighboring splats, the user is ableto simulate different painting styles in real time. We havetested our method with data sets captured by commoditylaser scanners as well as publicly available high-resolutionpoint clouds, both having highly interactive frame rates inall cases. In addition, a user study was conducted compar-ing our approach to state-of-the-art point cloud visualizationtechniques. Users considered stroke-based splatting a valu-able technique as it provides a higher or similar visual qualityto current approaches.

Keywords Point cloud visualization · Non-photorealisticrendering · Splatting · Householder formula

1 Introduction

The relevance of point cloud data has recently increased withthe introduction of cheaper and ubiquitous depth sensingsolutions (e.g., Microsoft Kinect, Asus Xtion or PMD Cam-Board) or user applications (e.g., Autodesk 123D Catch andGoogle’s Project Tango). Creating a three-dimensional vir-tual representation of the real world is as accessible as ever,although at lower resolutions compared to expensive com-mercial solutions that produce high-resolution scans. Novelinteraction paradigms [8,11] also increased the requirementsfor visualization of such data, where current rendering tech-niques were not suitable.

Point cloud visualization is a challenging field due tothe unstructured nature of the data and its sparsity. Typ-ical mesh reconstructions can be a time-consuming task.Splats have shown to have a comparable visual appearance toclosed surfaces for visualization uses [4,31]. However, thisis not verified when visualizing a high-resolution scan at agiven distance, where the size of each splat is bigger than

123

Page 2: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

R. K. dos Anjos et al.

a small region of pixels. This is a common and undesiredfeature when using low-resolution scans or when close-upsare part of the interaction. The shape and colors of eachindividual splat closely resemble pixelized artifacts from alow-resolution image.

This paper presents stroke-based splatting, an alterna-tive visualization technique which applies concepts fromstroke-based rendering to surface-aligned splatting (SAS).We explore an analogy between art, namely the fin de siécleImpressionist movement, and interactive visualization tech-nology. Since users are culturally trained to interpret thispainting metaphor, a higher quality is attributed to pointclouds rendered in this painterly fashion, than to a splat-ted volume, or a blurred mesh on a close-up. We conducteda user study that corroborates this claim and also verifiesthat our approach is perceived as owning a higher qualitythan state-of-the-art surface-aligned elliptical splats [3,28]in all scenarios. A similar approach, the image-space non-photorealistic rendering (ISNPR), has been successfully usedin the past to visualize scanned volumes [39] on an architec-tural context. However, this class of techniques will sufferfrom aspects inherent to a more flexible 3D interaction ornoisier data, as seen in Sect. 5.1.

When compared to state-of-the-art point cloud visualiza-tion techniques (e.g., surface-aligned elliptical splats), ourwork contributes to: (1) application of splats using a real-world metaphor which allows for richer visualizations; (2)splat shape in the form of brush strokes that allow a clearerperception of the curvature of the object, generated in realtime by a novel lightweight technique; (3) orient each splatmore accurately, through the application of the Householderformula, informing the user on the underlying shape of theobject; (4) implement an alternative optical splat blendingtechnique which creates smooth surfaces without compro-mising the interactivity of the system; (5) visualize differentsize laser-scannedpoints datasetswith less noise; and (6) esti-mate efficiently tangent vectors leading to higher interactiveframe rates.

2 Related work

Surface reconstruction has been the standard approach tovisualize point cloud data [10]. Several authors have devel-oped successful techniques that estimate the original surfacesfrom point sets [13,19], which are capable of estimatingmissing data from a faulty reconstruction [6] or success-fully dealing with noisy input [21]. However, the quality ofthe reconstruction still lingers on the resolution of the inputcloud. Detail on a surface can still be wrongfully interpretedas noise in order to create a smooth output. Given the factthat point clouds naturally require less storage informationthan triangular meshes, it is still more efficient to use pointsfor visualization purposes.

Several point-based rendering techniques were proposedthat vary according to the primitive chosen to rendera point sample as reported by Rusu and Cousins [34].Rendering point clouds with point primitives has severaldrawbacks when compared to other techniques (e.g., back-ground/foreground confusion, loss of definition on close-ups), when confronting a low-resolution scenario [1]. Katzet al. [17] solved the problem of background foreground con-fusion by estimating the direct visibility of sets of points. Asimilar goal was shared by Awano et al. [2] for organizedpoint clouds.

Screen-aligned splats [38] have been proposed as a moreefficient alternative to polygonal mesh rendering [31]. Morerecent solutions combined both approaches [18] to achieve amore efficient rendering of three-dimensional models keep-ing the quality compromise. Other techniques will alignsplats to an estimated surface of the object [3,28,43], whichcreates a better approximation of the surface. Blendingbetween neighboring patches has been implemented throughGaussian blur [28], alpha normalization [27], and weightedaverages between neighboring patches [29].

Nevertheless, the same visual fidelity edges of each indi-vidual splat are clearly visible in a close-up interaction, andcompromise the quality of the visualized data. Regardingthe content or shape of the rendered splats it has not beenthoroughly explored in order to improve user experience onclose-ups.

Non-photorealistic rendering (NPR) techniques are nor-mally applied as post processing effects on a two-dimensionalimage space, applying brush strokes at a pixel level [12,26].A wide variety of expressive styles [7,16,25] have been suc-cessfully applied to convert images in artistic styles such asImpressionism or Pointillism [41]. The typical NPR scenarioaims to process a 2D image to create a stylized output. Severalimage aspects are analyzed in order to create more adequatebrush strokes or textures applied to each part of the image.Using this class ofNPRas a tool for point cloud, visualizationhas been explored by Xu et al. [39,40]. Authors also claimthat a stylized visualization is sometimes preferred by archi-tects when visualizing buildings, which is also achieved bytheir NPR technique. Normal vectors and other point infor-mation are used to detect feature points instead of imagefeatures in a first step, and then brush strokes are appliedin the rendered 2D image space according to the found 3Dfeatures. While this approach might be appropriate to cre-ate stylized renderings of images, it has shortcomings whenapplied to point cloud visualization (Sect. 5.1).

A different paradigm, which is closer to splat render-ing and our proposed approach, consists of applying brushstrokes or other rendering primitives in a 3D space. Previouswork fromRunions et al. render point sets as semi-connectedribbons [30], which is a non-photorealistic representationthat can be viable in some scenarios. The best application

123

Page 3: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

Stroke-based splatting: an efficient multi-resolution point cloud visualization technique

Fig. 1 Overview of the rendering step

of this concept comes from an interactive authoring systemwhere the user manually applies brush strokes to a three-dimensional surface, called Overcoat [35]. It enforces theidea that using a 3D brush stroke-based technique to renderautomatically volumes is a viable and promising alternativevisualization providing visually attractive representations ofobjects. This is the goal of our proposed approach.

3 Stroke-based splatting on point clouds

3.1 Overview

With laser-scanned data, it can be assumed that the pointswithin a close vicinity are equally spaced up to an error valueε. By calculating local surface-aligned splats sized r + ε, rbeing the estimated local resolution of points,we canuse eachsplat as a small canvas for our stroke-based technique. Theseare created according to the estimated normal [32] togetherwith associated tangent and bitangent vectors [23]. Here, werender brush strokes with different properties according toeach estimated splat, and apply one of two different blend-ing processes. The resulting “cloud of brush strokes” createsa painting-like visualization of the data. Ultimately, our goalis to provide high visual acuity of every element of the pointcloud at a low cost. However, through manipulating the ren-dering parameters, the user is able to make different aestheticchoices in order to better fit the application in hand, or sim-ulate a certain painting style.

Our process is divided into two stages: a preprocessingstep where parameters are extracted from the input pointcloud, and the multi-pass rendering step where the stroke-based splatting technique will be applied (Fig. 1).

Our technique was implemented using OpenGL andGLSL, version 4.5, on an interactive system that allowsfor free visualization around the captured point cloud. Forthe preprocessing stage, most of the point cloud manipula-tion was performed using the publicly available Point CloudLibrary [33].

3.2 Preprocessing

A short offline preprocessing step is required to estimate sur-face parameters that will be used in the rendering step. We

aim to maintain brush coherence within each section of thepainting, as it is customary in oil painting. This is achievedby taking into account local aspects of the data when definingsplat size, orientation, and brush texture.

3.2.1 Clustering

We use a color-based region-growing clustering algorithmas described by Zhan et al. [42] to group points with posi-tional and color similarities. Clustering parameters can befine-tuned to have a more fine-grained segmentation or not.Figure 2a shows different clustering settings applied to a real-world scanned input. Each splat is sized r + ε where r is thelocal resolution estimated by the average distance in the Knearest neighbors of a given point. The error value ε canbe estimated by the standard deviation of this distance, orchosen by the user to control the brush size according tothe shape of that cluster. Consequentially, denser regions usesmaller brushes, while background data make use of largerbrushes. Figure 2c shows an example of two different sec-tions of a scan with different resolutions, and the calculatedsplats according to the necessary size.

The size of the detected cluster is also used to define brushstroke parameters. Small clusters that represent a detailedcolor region apply a two-layered brush stroke. Although noextra points are added to the dataset, the obtained result givesthe impression of a higher resolution as seen in Fig. 2b. Otheraspects such as the different proportions on each axis ofthe cluster or the median color can be used to apply dif-ferent brush stroke generation parameters to each one of theclusters, in order to have a more faithful representation of achosen painting style, or simply better suited brush strokesto the data in hand.

3.2.2 Normal estimation

Also in the preprocessing step, normal vectors are estimatedby taking the point neighborhood so splats can be aligned tothe object at each point. The problem of estimating normalscan be solved byfinding the least squarefitting plane to a localsurface S [32,36]. We apply this method as implemented byRusu and Cousins in the Point Cloud Library [33] to each

123

Page 4: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

R. K. dos Anjos et al.

Fig. 2 Clustering approach and two different application scenarios. a Two different clustering settings, and the original model. b Small cluster ona group of fruits with two-layered painting. c Section of a monastery scan with clear distinction between floor and wall resolutions. Splat sizes arecorrectly estimated

one of the extracted clusters, searching on an area of radius3r , with r being the estimated cluster resolution.

3.3 Rendering

This section describes the tasks performed during the render-ing step. Tangential vectors estimation through the House-holder formula, brush stroke generation and blending werenot calculated in preprocessing time due to the lower impactin the performance when compared to storing the results ofan offline calculation.

3.3.1 Tangential vectors calculated with the Householderformula

Similarly to surface-aligned splats, we require the determina-tion of an orthogonal reference system composed by normal,tangent and bitangent vectors. Once the normal vector iscomputed during preprocessing, there are several techniquesto find orthogonal vectors to the given normal. We choseto use the Householder formula (HH) (Algorithm 1 after[23]), which only requires the three components of the nor-mal vector to compute the tangent and bitangent vectors toset the splat orientation. Since this formula is deduced fromcollinearity and orthogonality conditions between the givennormal vector and the column vectors of the Householdermatrix, the resulting tangent vector formulas are, in mostof its domain, continuous and smooth functions that onlydepend on the normal vector components.

We compared this approach to three other vector orthog-onalization techniques in order to explore how well doestheir brush orientation emulate a natural painting flow fea-tures, such as local coherence between brush strokes: (1) theapproach described in [9] where an orthonormal set is com-puted based on the cross-product between the given vectorand the column of the identity matrix (EB); (2) the tech-nique presented in [24] where a set of non-collinear vectors is

Algorithm 1 Pseudo-code for Householder unit vectororthogonalization (after [23])1. Evaluate the sign of the first component, i.e., sign(nx );2. Determine the tangent vector with the following expression:if nx ≥ 0 then

t =[−ny 1 − ny2

nx+1 − nynznx+1

]T

else if nx < 0 then

t =[ny 1 + ny2

nx−1 − nynznx−1

]T

end if3. Determine the binormal vector with the following expression:if nx ≥ 0 then

b =[−nz − nynz

nx+1 1 − nz2

nx+1

]T

else if nx < 0 then

b =[nz

nynznx−1 1 + nz2

nx−1

]T

end if

obtained based on the analogywith a square platemechanism(SQP) and (3) the covariance matrix (CM) technique, whichhas been the standard approach in surface-aligned splattingworks [3]. Note that HH, EB and SQP only require the threeelements of the normal vector at each point to compute thetangent and bitangent vectors (to better access the analytic-ity of these techniques, refer to Tables A.1, A.2, and A.3 inAppendix of [23]), whereas CM takes the neighboring pointsas input to define splat orientation. Consequently, the geo-metric properties of the tangent vectors expressed by HH,EB and SQP are non-shape aware (i.e., do not depend onpoint coordinates) and extrinsic (i.e., depend on the embed-ding Euclidean space) as an isometric transformation suchas rotation applied to the point cloud affects the stroke direc-tion. On the other hand, tangents vectors generated by CMproduce shape-aware directionswhich are rotationally invari-ant. Therefore, in contrast to CM, the HH technique leads tostroke directions not determined by the shape of the pointcloud, but by its embedding in space; thus, a rotated ver-sion of the point cloud would display differently directed

123

Page 5: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

Stroke-based splatting: an efficient multi-resolution point cloud visualization technique

Fig. 3 Visual effect of tangential vector computation. The imagesreveal the differences between brush point cloud rendering using differ-ent tangent vector computation techniques. Left column shows directionof splats, and right column the final visual effect. a Eberly. b SquarePlate. c Covariance matrix. d Householder

strokes. Nevertheless, this feature can be easily surpassed bycomputing the HH tangent vectors before rotating the vec-tor field according to the targeted orientation for the pointcloud.

Figure 3 shows the results for each one of the techniqueswith the top image indicating the value for the tangent vec-tor, and the corresponding result at the bottom. The resultsfor EB (Fig. 3a) show that harsh variations in tangent direc-

tions are found in close neighborhoods where similar normalvalues are to be expected, causing neighboring brush strokesto not follow the expected painting flow. SQP created morecontinuous tangents (Fig. 3b), but having a globally similardiagonal direction. These are expected results since EB andSQP do not provide a direct mathematical formula for thedesired vector base. Such techniques rather consist of geo-metric processes involving testing for potential singularitiesand malformed vectors. Given its analytical nature, the HHformula generates tangential vectors that explicitly dependon the surface normal, thus providing the continuity controlnecessary to represent locally and globally consistent splatorientations.

Both the CM approach and the HH formula generate richtangent maps, as illustrated in Fig. 3c, d. The disadvantage ofusing the CM in this scenario is that tangent vectors are notconsistent in a close neighborhood, where slight normal vec-tor variations present a larger effect in the calculated tangents.Although mathematically correct, it does not simulate thepainting flow we aimed to achieve with this step. We foundthat the HH formula provided an excellent approximation tothis method, while having a higher local continuity. Assum-ing that the normal vectors are already estimated, EB, SQP,and outstandingly CM are computationally more expensivethan the HH technique.

The HH formula calculations are performed on the geom-etry shader, since it is more effective to calculate tangents inreal time than to store three extra vertices for each point inthe dataset. Such calculations are not computational heavy,and on large datasets the impact of extra storage would befar more noticeable.

3.3.2 Brush stroke generation

Previous stroke-based rendering (SBR) techniques in ISNPRtypically resort on the modification of a base brush textureaccording to image features or user input [14,15,22,37] orfitting to an estimated spline [16]. Putting together imageanalysis with this approach fits to ISNPR, but not to our splat-ting algorithm as will be discussed in Sect. 5.1. Also, imagefeatures are computationally heavy to estimate in real time,and using the same texture for every brush stroke becomes aproblem in a close-up inspection (see Sect. 5.2)

We define the shape of the brush texture according to amathematical model based on a combination of Gaussianfunctions. We generate brush stroke textures with trans-parency which are applied to each surface-aligned splat. Theuser can configure a set of parameters which are commonlyused in SBR techniques, in order to define the base style ofbrush strokes to be used. Each Gaussian function is repre-sented by the following equation where the resulting z is theaplha value in the RGBA color space:

123

Page 6: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

R. K. dos Anjos et al.

z = Ae− 1

2

(greenxθ −x0

σx

e− 1

2

(greenyθ −y0

σx

where,

xθ = cos θ(u − x0) − sin θ(v − y0) + x0

yθ = sin θ(u − x0) + cos θ(v − y0) + y0 (1)

and P = (u, v) is the texture coordinates of the fragmentbeing evaluated are the free variables on this equation; Ais the amplitude of the Gaussian function, which can beused to control the overall opacity of the resulting texture;P0 = (x0, y0) is the center of the Gaussian function on thetexture space coordinates; σx and σy are the Gaussian func-tion decay according to the x and y axis; λ is the Gaussianshape exponent which controls the roundness of the func-tion; and θ is the orientation of the function in texture spacecoordinates.

These values (except θ ) are controlled by the user andapplied globally to the point cloud, but as mentioned inSect. 3.2.1, these are modified by fixed parameters accordingto the shape of the detected cluster. An example is adjustingσx , σy to make longer brushes on longer clusters, or lower γ

and similar σ values for rounder brushes.Variation between neighboring patches is introduced

through a noise function with the point coordinates and nor-mals n parameters, applied to the θ value and bounded byuser defined values. Figure 4 shows an example of how this

Fig. 4 Examples of brush strokes generated automatically using nineGaussian functions as seen in a. b A = 8, dev = 0.03, λ = 3, σx = 0.114and σy = 0.0989, c A = 1, dev = 0.38, λ = 2.7, σx = 0.142 and σy = 0.071and d with 6 gaussians.A = 2.27, dev = 0.3, λ = 2.4, σx = 0.0989999and σy = 0.1259

variation is introduced. From left to right each column ofGaussians share the same θ value, and subsequent columnshave a θ that may not differ more than a fixed value from theprevious column, in order not to create an unnatural strokingdirection.

Multiple Gaussian functions allow us to correctly simu-late different effects of a paint brush such as curvature inthe painting direction, brush filaments, and uneven concen-tration of paint. The number and disposition of Gaussianfunctions is a user chosen parameter. The Gaussians are typ-ically placed in a grid-like disposition, and the user indirectlydefines the various P0 values by controlling the variabledev, which defines the separation between centers.We foundthat we are already able to simulate widely different brushstyles using between 6 to 9 Gaussians on a 3×3 grid, withless having limited expressiveness, and more having dimin-ishing contributions on our scenario. We are also able tosimulate two layers of painting by doubling these numbersand generating two overlapped textures with slightly alteredcolor parameters. This was found to have no impact in theperformance.

Similarly to splat orientation estimation, this process isperformed in real time andwas implemented using the geom-etry and fragment shaders. Brush parameters are calculatedwhen processing each point in the geometry shader, andpassed to the fragment shader, where the user defined val-ues are also taken into account to paint the current splat withthe chosen brush shape, and store information for blending.

3.3.3 Blending

Regardless of the user wanting to simulate a certain artisticstyle or not, blending of neighboring patches was imple-mented in our system to remove undesired high-frequencynoise on the rendered images, located on boundaries ofpatches. These visual artifacts can be seen on ordinary splat-ting techniques, where the edge of each patch can be easilynoticed. This is something that is not as apparent in thereal world, which is evidently continuous. Previously, Phongshading, [3], global alpha normalization [27] and local aver-aging [29]were proposed to perform this step. Phong shadingwill be discussed ahead in Sect. 5.2. The other two proposedtechniques use the alpha component to perform blending,but do not fit our proposed aesthetic, since averaging willnot allow us to perceive the shape of individual splats, thusnot revealing the curvature of the objects that is displayedthrough the individual splats.

As stated on the work from Hertzmann [16], controllingGaussian blur allows one to eliminate undesired high-frequencynoise. Thedownside of this approachwhen appliedto our stroke-based rendering technique, is that blurring haslittle effect where each individual brush occupies a biggergroup of pixels (low-resolution or close-up, Fig. 5b), which

123

Page 7: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

Stroke-based splatting: an efficient multi-resolution point cloud visualization technique

Fig. 5 Three different blending techniques experimented. A-bufferbetter simulated the painterly effect, while creating a smooth surface.a Shading. b Gaussian blur. c A-Buffer. d Shading 2. e Gaussian blur2. f A-Buffer 2

is the scenario where we want to improve visualization qual-ity. Although, when applied to a moving object, or duringcamera navigation, this technique fills its purpose. A two-pass weighted Gaussian blur was implemented in our systemfor these two situations.

We implemented an alternative blending technique whichrelies on the transparency component of the generated brushstrokes. This is controlled by adjusting the amplitude, σxand σy values of the Gaussians. High-frequency noise isremoved even with high amplitude values and low sigmavalues (opaque brush), since the falloff is not instantaneousdue to the continuity of the Gaussian function. By applyingcommon alpha blending on the rendered patches (strongerinfluence for the topmost patches), we are able to closely sim-ulate the process of tint blending. Figure 5 shows an exampleof a boundary region between two colors, and the differenttechniques applied.

Alpha blending was implemented through the A-Bufferalgorithm by using texturememory on the graphics card. Dueto the high complexity of this process which would com-promise the interactive aspect of the system, we opted foran incremental implementation of the bubble-sort algorithm,where its execution is divided across frames. We chose thisspecific sorting technique since each iteration of this tech-nique orders one new fragment. Each new sorted fragmentis used to calculate the alpha blended color and stored in thelast position of the fragment array, simplifying the color cal-culation operation to a simple mixing of two colors in eachsubsequent frame. Algorithm 2 describes the technique in ahigh-level pseudo-code.

The sorted data are only used after a preset amount ofiterations, ensuring a minimum amount of fragments to cal-culate a blended color of neighboring patches. Gaussian blurblending with Z-buffer occlusion is performed in the mean-time. Each iteration of bubble-sort operation will enhance

Algorithm 2 Pseudo-code for A-buffering techniquefor all pixuv doif all frags sorted thencres = aBuffer[n]

elsensorted= bubbleSortStep(ntotal , nsorted Prev)c = alphaBlendStep(ntotal , nsortedRes , nsorted )aBuffer[nsortedRes − 1] = ccres = c

end ifend for

the quality of our visualized data, with low impact to theinteractivity of the system.

4 User study

In order to compare our approach with other existingapproaches, a user study was conducted with the aim ofunderstanding if stroke-based splatting had better quality interms of resolution, surface and shape representation whencompared to its alternatives. With this aim in mind, elevendifferent datasets were used to generate the images repre-sentative of each rendering approaches, specifically, meshreconstruction, surface-aligned splats and our approach. Foreach technique, different datasets were rendered with differ-ent resolutions, shape complexity and color richness.

The study consisted of an online questionnaire composedby eleven 6-point Likert scale questions. Each question hadtwo images, one for either mesh reconstruction or splat-ting and the other for our approach. The position of eachimage in each question was randomized in order not to influ-ence/guide the participant in an aesthetic choice. Thirty-oneparticipants filled out the questionnaire anonymously, com-pleting the required questions.We asked each participant “tolook closely at each image and comparatively analyze whichdo you think has better quality in terms of resolution, surfaceand shape representation.”

A summary of the obtained results including descriptiveas well as inferential statistics is presented in Table 1. Sinceour sample did not followanormal distribution, theWilcoxonsigned-rank test was used to assess the statistical significancewhen comparing the results between approaches. A thoroughanalysis of the results and their implications of the derivedconclusions of this work are presented in Sect. 5.3.

5 Results and discussion

Our algorithm was tested on a Intel i7-6700MQ at 3.40GHzdesktop computer with 16,0GB and an NVIDIA Tesla K40cpairedwith aNVIDIAGeForceGTX980Ti graphics adapter.The datasets were captured by using the Microsoft Kinect

123

Page 8: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

R. K. dos Anjos et al.

Table 1 User tests results:Median (Interquartile Range)

Dataset SBR Mesh SBR (%) Mesh (%) Equal (%)

Giraffe 3 (2,5) 3 (1) 45 55 3

Yoda 4 (2,5) 4 (2) 48 39 13

Shirt 4 (2) 3 (1) 61 29 10

Man∗ 5 (2) 5 (1) 13 39 42

SBR Splats SBR (%) Splats (%) Equal (%)

Frog 4 (1) 4 (2) 68 32 0

Girl∗ 5 (1,5) 3 (2) 90 3 6

Monastery∗ 5 (1,5) 4 (3) 71 23 6

Skull∗ 4(1,5) 4 (2) 65 29 6

Veggies∗ 5 (1) 3 (2) 77 16 6

Blonde 4 (2) 4 (1) 52 26 19

Guitar∗ 4 (2) 3 (3) 45 16 39

∗ Indicates statistical significance. Also, percentage of user preference for each rendering technique

Fig. 6 Twodifferent resolutions for theMonastery dataset under differ-ent rendering techniques: 580.062 (top), and 40.363 (bottom). Leftmostpictures contain pure point rendering with a fixed size to show the den-

sity of the dataset. a Point rendering 580k. b Image-space NPR 580k.c Our approach 580k. d Point rendering 40k. e Image-space NPR 40k.f Our approach 40k

One device [5], with the exception of some publicly availablepoint clouds for benchmarking purposes. Although our mainobjective was to test the viability of our technique on lowerresolution point clouds,we tested its scalability on very densedatasets regarding visualization and performance.

5.1 Comparison with image-space NPR

Wecompared our approachwith an ISNPRalgorithm appliedto our Monastery dataset at two different resolutions as seenin the top row of Fig. 6. The most relevant works which use

this approach for point cloud visualization are the ones fromXu et al. [39,40].

In a high-resolution dataset viewed at a distance, our ren-dered result is close to reality green (Fig. 6c), with justslight differences from the point-based rendering. ISNPRwill always create a stylized result (Fig. 6b), regardless ofthe distance of visualization, which may not be desired in acommon point cloud visualization scenario.

When applied to a low-resolution dataset (Fig. 6d), whichcan be considered the equivalent to zooming into a certainpoint cloud, point rendering leaves sparse holes, which the

123

Page 9: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

Stroke-based splatting: an efficient multi-resolution point cloud visualization technique

big brushes applied by ISNPR techniques are not capable ofcovering (Fig. 6e). Our approach creates a closed surface,with only at this lowered resolution (10% of the original),showing a more stylized visual representation, while main-taining coherence in a close-up interaction.

For the goal of point cloud visualization and solving theproblems of background/foreground resolution and fillingholes, our approach is superior to ISNPR, which can only beapplied in high-resolutiondatasets, upuntil a certain distance.For the goal of creating stylized results using point cloudsas input, ISNPR has greater range of created effects due tothe higher flexibility in the applied brush strokes, but still hasthe mentioned interaction limitations. Figure 6f shows thatour approach can create a stylized result similar to an ISNPRapproach with only 10% of the points, and no restrictions tothe interaction.

5.2 Comparison with elliptical surface-aligned splats

When comparing our approach to the state-of-the-art visual-ization technique for point clouds (i.e., SAS), we acknowl-edge three main improvements when dealing with laser-scanned point clouds. Firstly, the change between ellipticalsplats to brush strokes. Not only can the impressionisticaesthetic be achieved, which aggregates a higher perceivedquality to our results, but curvature can be more clearly per-ceived than when using elliptical splats. Figure 7c, d showsthe same dataset with different splat shapes oriented in thesame direction. Even from a moderate distance, strokes canbe easily perceived, providing better shape perception.

Secondly, color blending through alpha values was moreadequate to laser-scanned data. This has been previously usedthrough global [27] and local averaging techniques [29], withpositive results. These techniques, however, aimed to alwayscreate the illusion of a single surface, not revealing the shapeand orientation of each single splat, which was one of ourgoals. Our blending through the A-buffer is not meant to beseen as a replacement to these techniques, but it is a better fitto our painting metaphor.

Current state-of-the-art splatting techniques based onshading [3,28] aremore suitable to a scenariowhere someonewants to replace his mesh rendering pipeline by a splattingtechnique for an efficiency and quality trade-off. When amesh is the expected input, one shall have strictly definedmaterials for each segmented component, and Phong shadingcan be applied to create high-quality representations. With alaser scanner input only color values representing the real-world lighting conditions are available. The absence of welldefined materials leads to an inadequate aspect for the ren-dered results, as seen in Fig. 7a, b.

Finally, splat orientation. CM is considered the standardmethod to estimate tangent vectors for splat orientation.However, we found that the HH formula presents sev-

Fig. 7 In depth comparison between our technique and Surface-Aligned Splats. a SAS with Phong shading [3]. b Our approach.c Elliptical splats. d Brush strokes

eral advantages when applied to our specific scenario. Forinstance, HH tangential vectors provide an interesting visualeffect where “virtual paint brush strokes” flow smoothly andcontinuously throughout the point cloud domain,without anyunpleasant rendering artifacts. Even though each point is notlocally approximated by a quadric surface, the HH tangentvectors do carry first-order differential information of theestimated surface normal plane. This contributes to both localand global coherence of the splat orientations.

Despite the richness of geometric attributes associatedwith the CM technique (i.e., it provides a full referenceframe composed by normal, tangent and bitangent vectorsoriented along the local and anisotropic density of points),solving the eigenvalue and eigenvector problems is compu-tationally costly as it demands the calculation of the Jacobianmatrix and to solve the characteristic polynomial. The num-ber of FLOPS of the HH formula to compute both tangent

123

Page 10: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

R. K. dos Anjos et al.

and bitangent vectors, given a unit vector, sums up to: 1order operation, 3 summations/subtractions, 10–12 multipli-cations, and 1 division. This is much less demanding thansolving the eigenvalue problem for a 3×3 matrix. Hence,the HH technique allows for real-time tangent computation.Note that this advantage holds under the assumption that thenormal vectors have been estimated by a more efficient tech-nique than the CMmethod. For this purpose, there are severalapproaches to estimate surface normals for point data [20],which must be chosen according to the best graph structurethat represents the neighboring points.

Moreover, the HH formula holds for a wider diversity ofinput data types, namely depth maps, analytical representa-tions such as implicit surfaces, and meshes or point cloudswith high or low quality, while CM is only suitable for goodquality meshes and point clouds.

Contrary to the CM techniques which aligns splats alongthe local and anisotropic density of points, the HH formulauses an isotropic radius as it does not consider point density,only the direction and sense of the local normal vector areused for tangent calculation. This can be seen as advantagewhenever the point cloud is locally noisy, under sampled or inthe presence of holes, which is the “scenario par excellence”of our work. As illustrated in Fig. 3c, with the covariancematrix technique, the tangent orientation is less locally coher-ent than the HH formula, as seen in Fig. 3d.

5.3 Visual perception of point clouds: user test results.

We compared our rendering technique to Meshes andSurface-Aligned Splats [3,28], the two most popular visual-ization techniques to represent three-dimensional data. Ourresults were validated through the presented user study (seeTable 1).

Figure 8a, b and c shows three different datasets compar-ing our approach to a mesh. From a distance, similar to splatsor point rendering, our technique was perceived as equal toa mesh. This was confirmed for our technique in the dataset“Man” on our user study,where both techniques had the samemedian value, and the majority (42%) of the test subjectsgraded both techniques equally. Datasets Giraffe and Yoda(Fig. 8b, c) which are slightly closer to the captured objectsshowed no significant difference between approaches. Bothmedian values and percentage of preference are similar, indi-cating a similar performance from SBR to meshes.

Although no statistical significance was found on thezoomed in “Shirt” dataset results (Table 1; Fig. 8a), ourapproach has a higher median value and user preference,with double the amount of users grading SBR higher thana closed in mesh. We believe that these results still indicatethe adequacy of SBR on closed in datasets. Meshes displayblurred textures due to the loss of resolution when closingup. Our technique does not display blurred data, but individ-

ual brush strokes that resemble those in an artistic painting.This can also be noted in Fig. 8d–f. A full point cloud, andits 41.3 and 9.9% reduction have comparable visual results.As the number of points decreases, we simply approximateourselves to a more impressionistic depiction of the renderedmodel, which is not necessarily perceived as a lower qualityone.

Another relevant point comes from the fact that surfacereconstruction techniques [1,19] lose details on lower reso-lution point clouds in order to obtain a smooth surface. Weargue that in this scenario, our visualization offers a viablealternative to the rendering of a reconstructed surface.

When compared directly to splats, our technique was per-ceived to have higher quality by themajority of users in everydisplayed dataset, including the oneswith similarmedian val-ues. Figure 9 shows comparisons between surface-alignedsplats [28] and our technique on the best performing scenar-ios.

Although less noticeable than in the screen-aligned splatsapproach, they still distort themore delicate shapes of objects(Fig. 9c, top).On this examplewhere a familiar shape (humanface) is displayed, our approach had the biggest edge oversplats, with a difference of 2 in the median quality value, anda 90% preference by the users.

Figure 9e shows a highly detailed Monastery entrancewhere SBR allows for clear perception of individual archesand structures through the orientation of brushes, while cir-cular splats (Fig. 9a) do not. Figure 9b, d shows a zoomed outdata set where although no artifacts can be visibly noticed,SBR still was perceived to have a statistically significantadvantage over splats. Users consistently identified and ref-erenced our results as paintings in the user study comments,which we argue to be the reason that they were rated withhigher quality.

Dataset “Skull” had similar median value results betweenboth techniques. This is due to the fact that most of the modelwas white, and neither individual splats or brushes couldbe clearly perceived. Similar claims could be made about“Frog” and “Blonde”, which have large uniformly coloredsurfaces. Although similar grades were given, over doublethe users graded our approach higher than splats in thesethree scenarios.

5.4 Performance

We performed tests using publicly available models fromthe Stanford scanning repository: Dragon (437.645 points),a dataset with three Buddha models combined (1.630.572points) and Lucy (14.027.872 points). Due to the fact thatthese models do not have color information, which is neces-sary for patch size estimation in our technique, we includeda laser scan of a Monastery with a similar dimension to theDragon model. Interaction was always performed on highly

123

Page 11: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

Stroke-based splatting: an efficient multi-resolution point cloud visualization technique

Fig. 8 Visual perception results.a–c: comparison between a unlitmeshrendering (top), and our technique (bottom). SBR has comparable qual-ity to meshes, with a different type of resolution artifacts.While meshesblur details, SBR shows individual strokes. d–f: Same point cloud with

different number of points. On a 10 times smaller cloud, rendering iscloser to an artistic depiction, but still allows for accurate visual per-ception of shapes. a Shirt: 229.779 points. b Giraffe: 109.606 points. cYoda: 34.878 points. d 12.295 points. e 50.799 points. f 12.221 points

interactive frame rates in a 1920×1080 window. Table 2shows the performance results for each dataset. Medianframes per second, first and third quartiles.

The complexity of the rendering activity is directlyimpacted by the used blending method. When blur is beingused, our technique is comparable to pure point cloud ren-dering. The extra operations performed by our algorithm aredue to the calculations of the Householder formula applied toeach point to create the local patch, and the combined Gaus-sian function for the brush strokes at each rendered fragment.All of the necessary operations for these formulas are atomicon the graphics card where they are executed. Due to theuse of clustering to determine the size of each brush stroke,the effect of triangle operations such as cutting and z buffer-ing can be considered negligible since we aim for the least

amount of overlap between neighboring patches. Blurringwas found to have a negligible effect on the frame rate sincethe two-pass implementation is very efficient in the graph-ics card, minimizing the amount of texture look-ups throughlinear filtering.

Alpha blending operations scale with the size of the out-put screen times the number of layers on the A-buffer (orthe limit of operations placed on the bubble-sort algorithmfor each frame), and the size and shape of the chosen brushstrokes. The transparency, shape and size chosen by the userdetermine the number of fragments at each pixel array dur-ing blending. Although these operations have a harsh effecton frame rates, seen by the higher difference between thefirst and third quartiles, they are only being applied whenthere is no interaction taking place, and for a short period of

123

Page 12: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

R. K. dos Anjos et al.

Fig. 9 Comparison between our approach (bottom row) and most recent surface oriented splats [28]. Biggest improvements noticed specially whenfine features should be recognizable, such as a, c

Table 2 Median Frames per second (first: third quartile). Similarmedian values between both techniques, but higher Interquartile Rangeon A-buffer

Model (points) G.Blur (fps) A-Buffer (fps)

Dragon (566.098) 418 (368:506) 444 (302:642)

3 Buddhas (1.630.572) 254 (247:270) 257 (130:373)

Monastery (580.062) 420 (396:486) 352 (285:505)

Lucy (14.027.872) 67 (63:71) 62 (56:267)

time (first steps of the bubble-sort algorithm), hence the loweffect on the median frame rates (Table 2). We found thatalthough rendering is process intensive according to the var-ied mentioned factors, it does not interfere on the system’sinteractivity.

Given the fact that the visual acuity of a lower resolutionpoint cloud is comparable to a denser one while using ourtechnique, we argue that we can use largely simplified ver-sions of such point clouds without compromising the qualityof the interaction. Moreover, this allows for rendering andvisualizing of larger but sparser data sets, offering a richerinteractive experience.

Although the preprocessing step has computational heavyoperations such as normal estimation and color-based clus-tering, which are bound by the KNN algorithm complexitywhich is (O(ndk+1logn)), our goal was not to optimize itsexecution time. This is justified by the fact that these oper-ations can be performed only once and then stored on ahard disk. Preprocessing times were found to be short on

these datasets, with 10s for Dragon, 36 s for three buddhas,one minute for Lucy, and 2min 29s for Monastery, due tothe higher number of clusters generated. All low-resolutiondatasets had negligible preprocessing times.

5.5 Other results

We found that the quality and shape of the brush stroke tex-tures greatly affected the perceived quality of the renderedresult. The achievedvisual aspect can closely resemble differ-ent painting styles through manipulation of the brush stroketextures blending and scale factors.Although our initial focuswas not on stylizing, the artistic results achieved, especiallyon lower resolution data sets, open new possibilities for non-photorealistic rendering techniques (examples in the attachedvideo for this publication). Additionally, the wide variety ofbrush textures we are able to generate through the combina-tion of Gaussians can be applied in two-dimensional NPR,image processing-related fields or rendering and terrainmod-eling.

We also applied this technique on time-sequenced pointcloud data sets (see video), where we discovered the brushattribution process to be consistent enough to prevent toomuch visual disturbance. Due to the fact that the vary-ing parameters of the brush generation technique take intoaccount the x and y coordinates of the point in question, thepainting seems still on its non-animated components.

123

Page 13: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

Stroke-based splatting: an efficient multi-resolution point cloud visualization technique

5.6 Limitations

One current limitation to our technique relates to the size ofthe A-buffer which needs to be allocated for proper blending.On more complex datasets, a lot of memory is inefficientlyused to the limit where it might exceedwhat is available. Out-of-core techniques need to be considered on future work.

Secondly, fragments are sorted for each pixel, not for itsoriginal patch. If big brushes are being used, neighboringpatches can intersect each other in an unnatural way. To staytruthful to our paintingmetaphor, a different ordering criteriashould be applied, which ensures consistency in the order ofapplication of each brush stroke.

Our system is currently targeted at scanned colored pointclouds. Non-colored clouds do not work well with our seg-mentation algorithm, leading to patches with inadequatesizes, as noticed on the Dragon and Buddha models (as seenin the attached video for this publication). This forces us intousing bigger patches in the whole model in order to haveclosed surfaces, but unnecessarily complicating the A-buffersorting operation.

6 Conclusions and future work

We presented a rendering technique that is better suited tonowadays typical point cloud capture and visualization sce-narios. We are able to have equal or better visual qualityto the alternatives when rendering point clouds with lowerpoint resolution, while allowing a less restrictive interaction.Stroke-based splattingwas shown to have comparable resultswhen using sub-sampled versions of the point clouds, whichindicates its viability for visualizing large data sets.

Compared to splat rendering, our technique was alwaysperceived as having a higher visual quality. We improved thedirection, content, and color of each individual splat, whileaddressing specific problems of point clouds scanned withcommodity depth sensors. When compared to meshes, weprovide a stylized rendering at lower resolutions and close-ups instead of the blurred visualization typical to meshes,while maintaining visual quality at a higher point count.

A technical contribution of the paper consists of applyingHouseholder formula to calculate both locally and globallycoherent tangential vectors that are used to orient brushstrokes in space. Also, a simple brush stroke generationformula was presented, allowing for generation of widelyvarying textures that can be used on non-photorealisticrendering techniques, image editing applications, terrainmodeling, and others.

On the field of NPR, our technique is a better alternative togenerating stylized visualizations in an interactive scenario,while still being capable of simulating a wide array of styles,adjusted in real time.

Future work goes through optimizing the normal estima-tion and clustering in order to perform real-time renderingsin scenarios using a single Microsoft Kinect sensor, hence,enabling a whole new array of point cloud-based applica-tions. Another future development will be extracting moreinformation out of the detected clusters such as point cloudsaliency values and features in order to generate better brushstrokes, relying less on fine tuning by the user, and allow-ing us to create not only better visualizations but also morestylized results.

Open Access This article is distributed under the terms of the CreativeCommons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution,and reproduction in any medium, provided you give appropriate creditto the original author(s) and the source, provide a link to the CreativeCommons license, and indicate if changes were made.

References

1. Alexa, M., Behr, J., Cohen-Or, D., Fleishman, S., Levin, D., Silva,C.T.: Computing and rendering point set surfaces. IEEE Trans.Vis. Comput. Graph. 9(1), 3–15 (2003). doi:10.1109/TVCG.2003.1175093

2. Awano, N., Nishio, K., Kobori, K.i.: Interactive stipple renderingfor point clouds. WSCG 2010: Communication Papers Proceed-ings: 18th International Conference inCentral Europe onComputerGraphics, Visualization and Computer Vision in co-operation withEUROGRAPHICS pp. 193–198 (2010)

3. Botsch, M., Hornung, A., Zwicker, M., Kobbelt, L.: High-QualitySurface Splatting on Today’s GPUs. In:M.Alexa, S. Rusinkiewicz,M. Pauly, M. Zwicker (eds.) Eurographics Symposium on Point-Based Graphics (2005). The Eurographics Association (2005).doi:10.2312/SPBG/SPBG05/017-024

4. Botsch,M.,Wiratanaya, A., Kobbelt, L.: Efficient high quality ren-dering of point sampled geometry. In: Proceedings of the 13thEurographics Workshop on Rendering, EGRW ’02, pp. 53–64.Eurographics Association, Aire-la-Ville, Switzerland, Switzerland(2002)

5. Camplani, M., Mantecon, T., Salgado, L.: Depth-color fusion strat-egy for 3-d scenemodelingwith kinect. IEEETrans. Cybern. 43(6),1560–1571 (2013). doi:10.1109/TCYB.2013.2271112

6. Carr, J.C., Beatson, R.K., Cherrie, J.B.,Mitchell, T.J., Fright,W.R.,McCallum, B.C., Evans, T.R.: Reconstruction and representationof 3d objects with radial basis functions. In: Proceedings of the28th Annual Conference on Computer Graphics and InteractiveTechniques, SIGGRAPH ’01, pp. 67–76. ACM, New York, NY,USA (2001). doi:10.1145/383259.383266

7. Curtis, C.J., Anderson, S.E., Seims, J.E., Fleischer, K.W., Salesin,D.H.: Computer-generated watercolor. In: Proceedings of the24th Annual Conference on Computer Graphics and InteractiveTechniques, SIGGRAPH ’97, pp. 421–430. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA (1997). doi:10.1145/258734.258896

8. Dos Anjos, R.K., Pereira, J.M., Oliveira, J.F.: Collision detectionon point clouds using a 2.5+ d image-based approach. J. WSCG(2012)

9. Eberly, D.: Computing orthonormal sets in 2d, 3d, and 4d. Geo-metric Tools. LLC (2016)

123

Page 14: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

R. K. dos Anjos et al.

10. Fabio, R., et al.: From point cloud to surface: the modeling andvisualization problem. Int. Arch. Photogramm. Remote Sens. Spat.Inf. Sci. 34(5), W10–w10 (2003)

11. Goesele, M., Ackermann, J., Fuhrmann, S., Haubold, C., Klowsky,R., Steedly, D., Szeliski, R.: Ambient point clouds for view inter-polation. ACM Trans. Graph. 29(4), 95–95 (2010). doi:10.1145/1778765.1778832

12. Gooch, B., Coombe, G., Shirley, P.: Artistic vision: painterly ren-dering using computer vision techniques. In: Proceedings of the2nd international symposium on Non-photorealistic animation andrendering, pp. 83–ff. ACM (2002). doi:10.1145/508543.508545

13. Gopi, M., Krishnan, S., Silva, C.T.: Surface reconstruction basedon lower dimensional localized delaunay triangulation. Comput.Gr. Forum 19, 467–478 (2000). doi:10.1111/1467-8659.00439

14. Haeberli, P.: Paint by numbers: abstract image representations.SIGGRAPHComput. Graph. 24(4), 207–214 (1990). doi:10.1145/97880.97902

15. Healey, C.G., Tateosian, L., Enns, J.T., Remple, M.: Perceptu-ally based brush strokes for nonphotorealistic visualization. ACMTrans. Graph. 23(1), 64–96 (2004). doi:10.1145/966131.966135

16. Hertzmann, A.: Painterly rendering with curved brush strokes ofmultiple sizes. In: Proceedings of the 25th Annual Conference onComputer Graphics and Interactive Techniques, SIGGRAPH ’98,pp. 453–460. ACM, New York, NY, USA (1998). doi:10.1145/280814.280951

17. Katz, S., Tal, A., Basri, R.: Direct visibility of point sets. ACMTrans. Graph. 26(3) (2007). doi:10.1145/1276377.1276407

18. Kawata, H., Gouaillard, A., Kanai, T.: Interactive point-basedpainterly rendering. In: Proceedings of the 2004 International Con-ference on Cyberworlds, CW ’04, pp. 293–299. IEEE ComputerSociety, Washington, DC, USA (2004). doi:10.1109/CW.2004.42

19. Kazhdan, M., Bolitho, M., Hoppe, H.: Poisson surface reconstruc-tion. In: Proceedings of the Fourth Eurographics Symposium onGeometry Processing, SGP ’06, pp. 61–70. Eurographics Associ-ation, Aire-la-Ville, Switzerland, Switzerland (2006)

20. Klasing, K., Althoff, D., Wollherr, D., Buss, M.: Comparison ofsurface normal estimation methods for range sensing applications.In: Robotics and Automation, 2009. ICRA ’09. IEEE InternationalConference on, pp. 3206–3211 (2009). doi:10.1109/ROBOT.2009.5152493

21. Kolluri, R., Shewchuk, J.R., O’Brien, J.F.: Spectral surface recon-struction from noisy point clouds. In: Proceedings of the 2004Eurographics/ACM SIGGRAPH Symposium on Geometry Pro-cessing, SGP ’04, pp. 11–21. ACM, New York, NY, USA (2004).doi:10.1145/1057432.1057434

22. Litwinowicz, P.: Processing images and video for an impressionisteffect. In: Proceedings of the 24thAnnual Conference onComputerGraphics and Interactive Techniques, SIGGRAPH ’97, pp. 407–414. ACM Press/Addison-Wesley Publishing Co., New York, NY,USA (1997). doi:10.1145/258734.258893

23. Lopes, D.S., Silva, M.T., AmbróSio, J.A.: Tangent vectors to a 3-dsurface normal: a geometric tool to findorthogonal vectors based onthe householder transformation. Comput. Aided Des. 45(3), 683–694 (2013). doi:10.1016/j.cad.2012.11.003

24. Lopes, D.S., Silva, M.T., Ambrósio, J.A., Flores, P.: A mathe-matical framework for rigid contact detection between quadricand superquadric surfaces. Multibody Syst. Dyn. 24(3), 255–280(2010). doi:10.1007/s11044-010-9220-0

25. Majumder, A., Gopi, M.: Hardware accelerated real time char-coal rendering. In: Proceedings of the 2nd international symposiumon Non-photorealistic animation and rendering, pp. 59–66. ACM(2002). doi:10.1145/508539.508541

26. Meier, B.J.: Painterly rendering for animation. In: Proceedings ofthe 23rdAnnual Conference on Computer Graphics and InteractiveTechniques, SIGGRAPH ’96, pp. 477–484. ACM, New York, NY,USA (1996). doi:10.1145/237170.237288

27. Pajarola, R., Sainz, M., Guidotti, P.: Confetti: object-space pointblending and splatting. IEEE Trans. Vis. Comput. Graph. 10(5),598–608 (2004). doi:10.1109/TVCG.2004.19

28. Preiner, R., Jeschke, S., Wimmer, M.: Auto splats: Dynamic pointcloud visualization on the gpu. In: EGPGV, pp. 139–148 (2012)

29. Ren, L., Pfister, H., Zwicker, M.: Object space ewa surfacesplatting: a hardware accelerated approach to high quality pointrendering. Comput. Graph. Forum 21(3), 461–470 (2002). doi:10.1111/1467-8659.00606

30. Runions, A., Samavati, F., Prusinkiewicz, P.: Ribbons. Vis. Com-put. 23(9), 945–954 (2007). doi:10.1007/s00371-007-0153-4

31. Rusinkiewicz, S., Levoy, M.: Qsplat: A multiresolution point ren-dering system for large meshes. In: Proceedings of the 27th AnnualConference on Computer Graphics and Interactive Techniques,SIGGRAPH ’00, pp. 343–352. ACM Press/Addison-Wesley Pub-lishing Co., New York, NY, USA (2000). doi:10.1145/344779.344940

32. Rusu, R.B.: Semantic 3d object maps for everyday manipulationin human living environments. Ph.D. thesis, Computer Sciencedepartment, Technische Universitaet Muenchen, Germany (2009)

33. Rusu, R.B., Cousins, S.: 3d is here: Point cloud library (pcl).In: IEEE International Conference on Robotics and Automation(ICRA). Shanghai, China (2011)

34. Sainz,M., Pajarola, R.: Point-based rendering techniques. Comput.Graph. 28(6), 869–879 (2004). doi:10.1016/j.cag.2004.08.014

35. Schmid, J., Senn, M.S., Gross, M., Sumner, R.W.: Overcoat: Animplicit canvas for 3d painting. In: ACMSIGGRAPH 2011 Papers,SIGGRAPH ’11, pp. 28:1–28:10. ACM, New York, NY, USA(2011). doi:10.1145/1964921.1964923

36. Shakarji, C.: Least squares fitting algorithms of the nist algorithmtesting system. J. Res. Natl. Inst. Stand. Technol. 103(6), 633–641(1998). doi:10.6028/jres.103.043

37. Shiraishi, M., Yamaguchi, Y.: An algorithm for automatic painterlyrendering based on local source image approximation. In: Pro-ceedings of the 1st International Symposium onNon-photorealisticAnimation andRendering,NPAR ’00, pp. 53–58.ACM,NewYork,NY, USA (2000). doi:10.1145/340916.340923

38. Westover, L.A.: Splatting: a parallel, feed-forward volume render-ing algorithm. Ph.D. thesis, University of North Carolina at ChapelHill (1991)

39. Xu, H., Chen, B.: Stylized rendering of 3d scanned real worldenvironments. In: Proceedings of the 3rd International Symposiumon Non-photorealistic Animation and Rendering, NPAR ’04, pp.25–34. ACM, New York, NY, USA (2004). doi:10.1145/987657.987662

40. Xu, H., Gossett, N., Chen, B.: Pointworks: Abstraction and ren-dering of sparsely scanned outdoor environments. In: A. Keller,H.W. Jensen (eds.) Eurographics Workshop on Rendering. TheEurographics Association (2004). doi:10.2312/EGWR/EGSR04/045-052

41. Yang, C.K., Yang, H.L.: Realization of seurat’s pointillism vianon-photorealistic rendering. Vis. Comput. 24(5), 303–322 (2008).doi:10.1007/s00371-007-0183-y

42. Zhan, Q., Liang, Y., Xiao., Y.: Color-based segmentation of point-clouds. Laserscanning ’09 38(Part 3/W8), 248–252 (2009)

43. Zwicker, M., Räsänen, J., Botsch, M., Dachsbacher, C., Pauly, M.:Perspective accurate splatting (2004)

123

Page 15: Stroke-based splatting: an efficient multi-resolution ... · tive visualization technique which applies concepts from stroke-based rendering to surface-aligned splatting (SAS). We

Stroke-based splatting: an efficient multi-resolution point cloud visualization technique

Rafael Kuffner dos Anjos isa Computer Science and Engi-neering Ph.D. student at Téc-nico, Universidade de Lisboa.His doctoral studies focusmostlyon Video-based Rendering. Asmember of the BlackBox project(sponsored by the EuropeanResearch Council), he developsresearch on document perfor-mance composition by propos-ing new approaches on informa-tion representation of human per-formers. Other interests include3D reconstruction techniques,

data capture, and image-based collision detection. He was also aresearch member of the Global Lab at the National Institute of Infor-matics in Tokyo, being a part of the iCO2 project.

Claudia Sofia Ribeiro receivedher BsCS, MsC and Ph.D.in Information Systems andComputer Engineering from theTechnical University of Lisbon(Instituto Superior Técnico -IST/UTL), Portugal. Currently,she is a postdoc researcher inthe CLUNL Group at FCSHLisboa, working in the ERCproject “BlackBox -A collabora-tive platform to document perfor-mance composition: from con-ceptual structures in the back-stage to customizable visualiza-

tions in the front-end”, where she carries research and development inseveral topics, namely serious games, computer graphics, data captureand computer vision.

Daniel Simões Lopes has adegree in biomedical engineer-ing from theUniversity of Lisbonand graduated in computationalengineeringunder the frameworkof the UT Austin|Portugal Pro-gram. Currently, he is a postdocresearcher and Head of Biomed-ical Research at the Visualiza-tion and Intelligent MultimodalInterfaces Group at INESC-ID Lisboa, where he carriesresearch and development in sev-eral topics, namely computa-tional geometry, contact detec-

tion, interactive computer graphics, image-based anatomical modeling,and interactive visualization of 3D medical images.

JoãoMadeiras Pereira is Asso-ciate Professor at the Com-puter Science Department ofthe University of Lisbon (Insti-tuto Superior Técnico - IST/UL)where he teaches ComputerGraphics. João Pereira holdsa Ph.D. (1996), M.Sc. anda BsEE degrees in Electri-cal and Computers Engineering.He coordinates the Visualizationand Simulation action line ofthe Visualization and IntelligentMultimodal Interfaces (VIMMI)research group at INESC-ID

(Computer Systems Engineering Institute). His main research fieldsare Real-Time Rendering, High-Performance Graphics, Serious Gamesand Augmented Reality. He has been involved with several European(RESOLV, IMPROVE, RTP11.13, MAXIMUS, SATIN, INTUTION,TARGET, GALA) and National projects. He is author or co-author ofmore than 100 peer-reviewed scientific papers presented at national andinternational events and journals. Professor Pereira is SeniorMember ofthe IEEE, member of ACM and member of Eurographics Association.

123