Efficient Removal of Inconsistencies in Large Multi

Transcription

Efficient Removal of Inconsistencies in Large Multi
21st International Conference on Computer Graphics, Visualization and Computer Vision 2013
Efficient Removal of Inconsistencies in Large Multi-Scan
Point Clouds
Thomas Kanzok1
thomas.kanzok
Lars Linsen2
l.linsen
Falk Süß1
1
Paul Rosenthal1
paul.rosenthal
2
Chemnitz University of Technology
Department of Computer Science
Visual Computing Laboratory
Straße der Nationen 62
09111 Chemnitz, Germany
[e.mail]@informatik.tu-chemnitz.de
Jacobs University
School of Engineering & Science
Visualization and Computer Graphics Laboratory
Campus Ring 1
28759 Bremen, Germany
[e.mail]@jacobs-university.de
ABSTRACT
When large scale structures are to be digitized using laser scanning, usually multiple scans have to be registered
and merged to cover the whole scene. During the scanning process movement in the scene and equipment standing
around – which is not always avoidable – may induce artifacts. Since the scans often overlap considerably another
scan of the same area might be artifact-free. In this paper we describe an approach to find these "temporal"
artifacts (so-called, because they only appear during one single scan) based on shadow mapping, which makes it
implementable as a shader program and therefore very fast. The effectiveness of the approach is demonstrated with
the help of large-scale real-world data.
Keywords
Outlier Removal, Point Cloud Processing, Laser Scanning
1
INTRODUCTION
from the geometry by different terrestrial laser scanning
systems in a second scanning pass. This means that
moving objects – which we call "temporary" for the remainder of this paper, because they are not persistent in
the scene – introduce artifacts in the scan that compromise the rendering quality considerably (see Figure 1).
3D-scanning has gained increasing popularity in
a wide range of applications, including content
creation for games and movies [ARL+ 10], reverse engineering [IM09] and acquisition of geometric data for documentation of archaeological
sites [BGM+ 09, GSS08, LNCV10] and large-scale
structures [PV09, SZW09, WBB+ 08], where new
rendering approaches [KLR12, DRL10] have already
helped to reduce the postprocessing time for a dataset.
In these applications, usually several scans have to
be done and registered in order to capture a complete
site or building. During this process it is not always
possible to completely close the site – or street, in our
particular case – for traffic or visitors, or to ensure
that no people or equipment of the scanning team are
present in the scene.
A simple observation we made, was that the artifacts
induced by temporary geometry are in most cases only
present in one of the many merged scans. Since the
scans have to overlap significantly to allow robust registration, there is usually at least one scanner that can literally see through such artifacts. The question we have
to ask in order to decide whether a point can be considered an artifact is therefore: "Is this point invisible
for any other scanner that could potentially see it?" or
shorter "Can any other scanner see through this point?"
This leads to ghost geometry that is only captured by
one or few scanners and is sometimes not even consistently colored, since colors are acquired independently
The second formulation is equivalent to the question
whether this point casts a shadow in all other scans
that cover it. This suggests applying some variation of
shadow mapping to the problem.
Permission to make digital or hard copies of all or part of
this work for personal or classroom use is granted without
fee provided that copies are not made or distributed for profit
or commercial advantage and that copies bear this notice and
the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires
prior specific permission and/or a fee.
In this paper we present an implementation of a
shadow-mapping based algorithm for artifact removal
in preregistered point cloud datasets. Since all calculations can be done in a shader program on the GPU we
can show that the running time of the algorithm is only
bounded by the transfer speed of the storage device
that holds the data. To achieve this we have to sacrifice
some precision, because we can not hold all available
Communication papers proceedings
120
ISBN 978-80-86943-75-6
21st International Conference on Computer Graphics, Visualization and Computer Vision 2013
Figure 1: An example for typical temporal artifacts in a scene that was merged from multiple scans. The people
in the foreground and the car in the background were only present during one scan. Additionally, there are lots of
stripes induced by passing trucks. The scene was shaded to enhance geometry perception.
therefore be assumed to form lines or uncorrelated clusters [WBB+ 08]. Artifacts can then be found by analyzing the eigenvalues of a point’s covariance matrix.
Schall et al. [SBS05] use a kernel density estimation
scheme to identify outliers in the data as those points,
that have a lower local density than the rest of the data,
according to an appropriately chosen threshold.
information on the GPU. This is only critical in the
vicinity of edges, however, and can in most cases be
treated by detecting these edges in the image.
2
RELATED WORK
Artifacts or outliers are a problem every automated
scanning system has to deal with. There are basically
two causes for them to occur: inaccuracies in the scanning equipment itself and inconsistencies in the scene
that is scanned. Most published approaches do not differentiate between the two sources, so every kind of artifact is treated in the same way and is often characterized as diverging from a statistical distribution. This
way the local consistency of the data with a fitted model
can be evaluated to identify outliers.
Papadimitriou et al. [PKGF03] detect outliers by comparing the local sampling density of a point to the average local sampling density of its neighbors in a certain
radius. A similar approach is used by Sotoodeh [Sot06]
to define a local outlier factor that is based on the relative local size of the k-neighborhood of a point. Another algorithm based on local coherence was presented
by Weyrich et al. [WPK+ 04]. They define three criteria
for outlier classification: the divergence from a fitting
plane in the k-neighborhood, the distance of a point to
a ball fitted to its k-neighborhood (without the point itself), and the "nearest neighbor reciprocity", which represents the number of nearest neighbors of a point p that
do not have p as a nearest neighbor themselves.
Large scale architectural datasets are mostly comprised
of planar elements (walls, floors, etc.), outliers can
Communication papers proceedings
Directly on the scanned range image operates the
method of Rusinkiewicz et al. [RHHL02]. They
triangulate the range images acquired by the scanner,
reject triangles that have exceptionally long edges or
are facing away from the scanner and finally delete
single points that are not part of any triangle. Other
approaches do not remove outliers at all but try to
re-integrate them into the surface by some kind of
weighted smoothing scheme [MT09, PMG04].
However, these approaches do not take into account that
we actually have much more information than raw point
coordinates and possibly color. As already pointed out
by Köhler et al. [KNRS12] they therefore fail to recognize ghost geometry, because it is consistent with a
model – even though temporal – and tend to smooth
close outliers into the surface. Their alternative approach takes an additional camera in a structured-light
system for surface recognition and uses the light projector for correcting the measured positions.
In the following paper we show another property of real
world data that can be used to detect artifacts – the consistency of valid geometry over multiple partial scans
of a large scene.
121
ISBN 978-80-86943-75-6
21st International Conference on Computer Graphics, Visualization and Computer Vision 2013
3
GENERAL APPROACH
ϕ being the polar angle. From the time it takes the laser
signal to be reflected back to the scanner the spherical
distance r can be calculated, which gives the spherical
coordinates ps = (r, θ , ϕ) for the point. They then get
converted to Euclidean coordinates pe = (x, y, z), which
is the output of the scanner.
In this paper we make a clear distinction between "artifacts" and "outliers". While our definition of outliers
follows the conventional concept as being points that do
not belong to the model according to some local consistency criterion, we denote as artifacts points or larger
groups of points that are not part of the global model,
although they can be perfectly consistent for one single scan (meaning that they are not technically outliers
for this scan), since they may represent temporary geometry. Artifacts therefore include all outliers, but also
encompass all temporary geometry in the scene.
The property of merged point clouds we want to exploit
to identify these artifacts is illustrated in Figure 2. It is
based on the simple observation that "permanent" objects, i.e. objects that are not movable and should therefore appear at the same position in each scan, block the
laser beams from any scanner involved. This means,
if we compute a shadow map for each distinct scanner
using only its "own" points, permanent objects cast a
shadow in each of these maps. In contrast, "temporary"
objects, i.e. objects that moved during scans, only cast
a shadow in one or few scans. We can use this to decide
whether a point of the final scan is temporary by checking it against each of the computed shadow maps. If
the point is shadowed in all shadow maps, it is likely to
be permanent, otherwise, if it is not shadowed in one or
more shadow maps, it is most likely temporary. In the
following we describe in detail how we come from the
raw scanner output to a classification of each point and
show results and timings we achieved with the method.
A
Different scans in one scene then have to be registered
into one global system using strategically placed markers and/or local optimization methods, e.g. multiple
variants of the well-known ICP algorithm [CM92]. For
this work we assume that this registration has already
been done as exact as possible and will not go into further detail here.
In order to identify points that are transparent for at
least one scanner, we employ a map that facilitates occlusion lookups. Analogous to the original shadowmapping algorithm we allocate a texture for each scanner that stores the distances from the scanner to the surrounding geometry. Note that this only conveys useful
information if we generate the shadow map for each
scanner only on the data that was actually acquired by
this scanner.
Usually, the numbers of discrete steps taken for θ and
ϕ are fixed and independent, leading to a uniform sampling in θ and ϕ. To preserve this uniformity and to lose
as little information as possible to sampling errors, we
store all information for a scanner in one single texture
that is parameterized over θ and ϕ.
The scanner’s sampling rate of k steps in θ and l steps
in ϕ then gives us a very good estimate for the optimal resolution of a spherical shadow map. Using a map
with domain [0, k] × [0, l] would ensure that on average
each pixel is hit by exactly one laser beam. In practice,
this would also mean that we would have to store one
third of the size of the entire dataset on the GPU (one
float for the spherical radius r instead of three floats for
(x, y, z)), which is normally not possible. Additionally,
if the sampling grid is not given for the dataset, we have
to reconstruct θ and ϕ from the Euclidean coordinates,
which introduces considerable jitter leading to holes in
the map. Due to these limitations, the maximum resolution for the shadow map on the GPU should not exceed
l
k
2 × 2 to ensure closed surfaces and should probably be
even smaller ( kf × lf ; f ≥ 2, where f is chosen such that
the maps of every scanner fit in GPU memory).
B
q
p
Figure 2: A 2D illustration of the reasoning behind the
algorithm. The distance of p to B is larger or equal than
the respective depth buffer value stored for B, while the
distance of q (which was only seen by scanner A) to B is
smaller than the respective depth buffer value stored for
B. This means that q has not been seen when scanning
from B, while p has been seen (unless it is occluded
by a point that is even closer to B). Consequently, q
must have been a removable object, while p is a steady
object.
3.1
If the sampling grid of the scanner is not given in advance, each point pe of a single scan in Euclidean coordinates can be converted back to spherical coordinates
in a shader program and its r-component can be rendered into a shadow texture image S of size kf × lf :
Large scale laser scanning systems typically use one
laser beam that is reflected by a movable mirror into a
spherical direction θ , ϕ, with θ being the azimuthal and
Communication papers proceedings
Removing Inconsistencies with
Shadow Mapping
122
ISBN 978-80-86943-75-6
21st International Conference on Computer Graphics, Visualization and Computer Vision 2013
S(θ̂ , ϕ̂) = r
with θ̂ =
kθ
2fπ
and ϕ̂ =
Data:
attribute:
lϕ
;
fπ
• Euclidean point coordinates pe ;
uniform:
with r being the Euclidean distance of pe to the respective scanner origin and θ̂ , ϕ̂ being the mapping of polar
and azimuthal angle to texture coordinates of the render
target.
• an array of n shadow maps S;
• the positions s of the n scanners
Result:
• a boolean flag c that indicates, whether the point is
an artifact;
c = false;
forall the shadow maps Si do
calculate (θ̂ , ϕ̂) from pe ;
if distance(pe ,si ) + ε < Si (θ̂ , ϕ̂) then
c = true;
end
end
Algorithm 1: Shader pseudocode for naive artifact removal. The ε is a tolerance threshold that has to be
defined with respect to the data range. The result of this
approach can be seen in Figure 6a
Figure 3: The color texture for the spherical surrounding area of one example scan. The shadow map created
from this scan can be seen in Figure 7a.
Having computed a shadow map for each of the n scanners (see Figure 3 for an example of a scanned environment) the shadow maps are store in a layered 3D texture. Using this texture in connection with the original
scanner positions, the complete registered point cloud
is processed by a vertex shader program, that executes
Algorithm 1 and returns its result via transform feedback.
a point p in the same coordinate frame we can compute
the deviation d of the point as follows:
d =< n, p > −l
In practice we have to make several tweaks to the algorithm in order to account for different problems which
we describe in detail in the following chapters.
3.2
This solves the problems we experienced in areas with
a large but constant depth gradient, for example roads
or walls.
Handling Anisotropy
3.3
The first problem is caused by the fact that we will almost never have a spherical scene around a scanner.
On the contrary, since scanners usually stand on level
ground the angle between scanner and surface declines
rapidly with increasing ϕ. The same is true for long
walls, where the angle is a function of θ . Looking up
points in shadow map pixels under a very small angle
introduces a considerable sampling error, as illustrated
in Figure 4a. This could be handled by increasing the
threshold ε. However, a higher threshold also increases
the rate of false negatives and is therefore to be avoided.
Missing Data
Although we used a smaller size for the shadow map
than the original spherical scanner resolution it can still
happen that pixel-sized holes remain in the shadow
map. Since we are approximating planes over the
neighborhood of each pixel this does not pose a serious
problem. To make sure that the map is mostly filled, we
use a point size of two pixels during rendering of the
shadow maps.
The larger problem is how to cope with missing data
in the texture. There are three principal reasons for
not having any range data from the scanner for a given
(θ , ϕ):
To overcome this problem, we reconstruct the surface
equation during texture lookup by fitting a plane to the
7×7-neighborhood of the respective shadow map texel.
The distance from a point to this plane then gives a
much better estimate for the visibility of said point (see
Figure 4b).
1. The laser beam did not hit any geometry within the
maximum distance for the scanner. Consequently,
the beam is classified as background.
For a plane given by a normal n and a distance l from
the origin in the local coordinate frame of a scanner and
Communication papers proceedings
(1)
2. The beam did hit reflecting or scattering geometry,
seen at the bottom right of Figure 3, where the note-
123
ISBN 978-80-86943-75-6
21st International Conference on Computer Graphics, Visualization and Computer Vision 2013
A
B
discard any point in the final dataset that would correspond to this pixel (since obviously at least one scanner saw the background through this point). However,
since there are other possible causes for missing data
we chose to disregard such empty areas and to make no
assumptions on the visibility of any point that would be
mapped to there.
(a)
A
d
(b)
Figure 4: Illustration of the anisotropy problem in
spherical shadow maps. (a) The distance from scanner A in the region of densest sampling of scanner B
does not suffice to make a decision for the points of B
without increasing the threshold considerably. (b) Fitting planes to the neighborhood allows the computation
of the exact divergence for a given point p. Here the
blue points have been reconstructed from the shadow
map information and a plane (dashed) was fitted to the
neighborhood of the pixel to which p was projected.
Calculating the distance d to this plane gives a much
better estimate of the actual distance than the average
distance to the shadow map values (dotted line), especially under acute angles.
(a)
(b)
book screen and the reflective bands of the cone are
missing.
3. The data has already been processed in some way,
which was the case with our dataset, where some
– but by no means most – erroneous geometry has
been removed by hand.
(c)
If it was only for the background being hit, we could
treat such shadow map pixels as infinitely far away and
A
B
(d)
Figure 6: The different problems we encountered and
the solutions found by our algorithm: a) Actual distance minus map distance for a scan tested against its
own shadow map using Algorithm 1 and the same when
using fitting planes (b). Note that there are still misclassification at the corners, even though they are very
small. c) After applying the confidence map nearly all
misclassifications have been eliminated. d) The introduction of a second scan facilitates recognition of first
artifacts (color coded from blue to red is the respective
confidence value).
Figure 5: A 2D example for the sensibility of fitting
planes in the vicinity of edges. For every texel of the
shadow map of scanner A the best fitting plane to its
3-neighborhood is shown as a dashed line, indicated in
red are the areas that would have a positive distance to
their respective planes, putting them at risk to be classified as outlier.
Communication papers proceedings
124
ISBN 978-80-86943-75-6
21st International Conference on Computer Graphics, Visualization and Computer Vision 2013
3.4
Confidence Map
Result:
• a confidence value c that indicates, how likely the
point is an artifact;
One problem that remains, occurs in areas with diverging gradients, mainly edges and corners, where
there are still issues caused by the shadow map resolution. Usually the shadow map resolution is considerably smaller than the resolution of the original dataset,
which introduces large errors in the computation of the
osculating planes, leading to misclassifications in the
vicinity of corners and edges (see Figure 5).
c = 0;
j = 0;
forall the shadow maps Si do
calculate (θ̂ , ϕ̂) from pe ;
reconstruct set of Cartesian coordinates N over the
neighborhood of Si (θ̂ , ϕ̂);
fit a plane P to the points in N;
calculate d using (1);
calculate e using (2);
if d > 0 then
c = c + (e ∗ d);
j + +;
end
end
c = cj ;
Algorithm 2: Shader pseudocode for the refined classification algorithm. The input is the same as in Algorithm 1.
To facilitate more control over the classification we
abandon the binary classification of Algorithm 1 in favor of a real certainty value that indicates how likely a
given point is an artifact, with c = 1 meaning that the
point is an artifact for sure and c = 0 meaning that the
point surely belongs to the model. We can then sum up
the weighted distances over all shadow maps and apply
a threshold to the mean c to infer a binary classification.
The actual weighting of the classification is done using an additional confidence map for each shadow map,
which is 0 on edges between valid points and background and otherwise, in areas that are completely covered by the shadow map, is computed as 1 − σ̃ :
v
u
u 1 |N|
σ̃u,v = t
∑ (< n, pi > −l)2 ;
|N| i=1
points with each shadow map in the second run, which
yields a total runtime in the order of O(k ·n), with k n
being the number of scans. However, the shadow maps
lie in fast GPU memory and the lookups therein are
done using specialized hardware units, so the dominant
factor is clearly n. The following section gives detailed
timings and classification results for a real world dataset
with 138 million points.
with pi being a reconstructed point from the neighborhood N of a given texel at (u, v) and n, l being the parameters of the fitted plane, as in Equation 1. This is
nothing else than the root mean square error (RMSE) of
the fitted plane for a texel. The final confidence value e
for a texel is therefore:
eu,v = 1 −
σ̃u,v
1
⇔ valid
⇔ else
4
We tested our approach on a notebook using an Intel
i7 Quad-core processor with 2,3 GHz, and an Nvidia
GeForce GTX 485m graphics card, running a 64bit
Linux. We deliberately chose mobile hardware since
we wanted the software to be used under field conditions. The data stems from an architectural scan of a
bridge and consists of 138 million points distributed
over five scans.
(2)
A shadow map texel is considered valid, if the four 3 ×
3-corners of the pixel contain enough points to be able
to robustly fit a plane to them also (we only required the
corners to contain at least four points each themselves,
the planes are not actually reconstructed). Otherwise
we can assume that there is a large patch of background
in the neighborhood of the given texel and filter these
border areas out.
The timings we achieved (see Table 1) were very satisfying. In fact, the actual processing time carries little
weight compared to the I/O latency of the hard drive.
Although this could be alleviated to some extent by using for example an SSD it would still dominate the running time of the algorithm.
Since it can be computed together with the planes themselves, the confidence map does not have to be stored
explicitly. Here it is only it is given for convenient illustration (see Figure 7).
Classification quality depends highly on certain design
choices. We present a comparison of results with the
different optimization steps of Section 3 in Figure 6.
There the progression of the algorithm through Sections 3.1 to 3.4 is depicted on an example dataset (the
same dataset that was used to generate the example
shadow and confidence maps). One has to note that
After these optimizations we arrive at the refined Algorithm 2.
Overall the algorithm needs none of the usual preprocessing steps like constructing a space partitioning or
estimating normals. It simply works by streaming all
available data through the GPU twice, comparing the
Communication papers proceedings
RESULTS AND DISCUSSION
125
ISBN 978-80-86943-75-6
21st International Conference on Computer Graphics, Visualization and Computer Vision 2013
Figure 7: The spherical shadow map produced from the scan seen in Figure 3 (top) and the respective confidence
map (bottom). One can see that values taken from texels that constitute edges are assigned a lower weight due to
the confidence map and therefore do not compromise the artifact classification.
the confidence value introduced in Equation 2 was chosen for data on a centimeter-scale. That means that the
RMSE for different scales has to be adjusted to this,
since the deviations may have very small fractional values otherwise, making the confidence extremely high.
In our case the RMSE can be interpreted as deviation
from the plane in centimeters, implying that all planes
with a RMSE higher that 1 cm are rejected (confidence
0).
into aligning the positions exactly. If a new scan is being produced, however, this information should be easily accessible and can be exported into the data. An
additional prerequisite is an as-exact-as-possible registration of the data. Otherwise large portions of the
dataset may receive a positive c that has to be thresholded appropriately (see Figures 9a). Normally the relative scanning position for each scan is in the origin,
making the generation of the maps easy. The absolute
positions in the scene are then found during registration. This implies that in order to account for a maximum misregistration of x cm the minimum threshold
has to be at least x cm also.
Another issue that is obvious is that knowing the exact
scanner position for each scanner is crucial to the performance of the algorithm. If this information is lost
after registering the scans, one has to put some effort
Communication papers proceedings
126
ISBN 978-80-86943-75-6
21st International Conference on Computer Graphics, Visualization and Computer Vision 2013
Figure 8: The same view as Figure 1 after applying our artifact removal procedure. The people and the car
have been completely removed. However they may leave a shadow, if the lighting in two merged scans differed
considerably. Additionally, nearly all of the stripes and parts of the cones were removed.
Scan
0
1
2
3
4
# Points
23.0m
38.5m
23.5m
38.2m
15.2m
138.4m
∑
Total Time
Load
Init
Classify
5 699 ms 48 ms
1 852 ms
9 482 ms 82 ms
3 265 ms
6 414 ms 49 ms
1 943 ms
9 279 ms 82 ms
3 099 ms
3 766 ms 31 ms
1 318 ms
34 659
292
11 477
80 s (≈ 2 · Load + Init + Classify)
slightly move equipment that can for some reason not
be removed completely from the scene in between the
scans.
5
We have presented an approach for artifact classification in large point clouds comprised of multiple scans.
The algorithm can for the most part be implemented
on the GPU with linear asymptotic complexity. It results in a confidence value for each point that can easily be evaluated by the user using color coding. With
this information the user is able to choose a threshold via a slider to remove the found points. Thanks
to the edge-sensitivity it works very conservative, although that means that certain artifacts can remain in
the dataset, because no other scanner could confidently
reject them. However, since the classification can be
done within minutes, this can also be used to infer a
position for additional scans during a campaign. To improve the robustness of the approach, slight dislocations
of light equipment between scans can already have a
huge effect.
Table 1: Processing times for a 138 million point
dataset. The complete processing took approximately
80 seconds. In the table the times are divided in "Load",
i.e. the transfer of the data from the hard drive to the
GPU, "Init", i.e. the initialization and rendering of the
shadow-map and "Classify", i.e. the classification of
all points of the dataset according to the shadow-maps
of all scans using Algorithm 2. The classification has to
use all shadow maps, but since they are of equal size the
classification time per map equals to the total time ditime
vided by the number of scans, i.e. classification
in our
5
case. Note that in the total processing time the "Load"
component appears twice, since we streamed the data
from the hard drive again for classification.
6
A peculiar observation we made was that some of the
objects in the scene, in particular a traffic cone under
the bridge, have only been slightly moved in between
scans – probably by accident. This slight dislocation
allowed for a removal of one of the partial cones (Figure 9b). Knowing this, it might be beneficial to at least
Communication papers proceedings
CONCLUSION
ACKNOWLEDGMENTS
The authors would like to thank the enertec engineering AG (Winterthur, Switzerland) for providing us with
the data and for their close collaboration. This work
was partially funded by EUREKA Eurostars (Project
E!7001 "enercloud - Instantaneous Visual Inspection of
High-resolution Engineering Construction Scans").
127
ISBN 978-80-86943-75-6
21st International Conference on Computer Graphics, Visualization and Computer Vision 2013
7
REFERENCES
[ARL+ 10]
O. Alexander, M. Rogers, W. Lambeth,
J. Chiang, W. Ma, C. Wang, and P. Debevec. The
Digital Emily Project: Achieving a Photorealistic Digital Actor. IEEE Comput. Graph. Appl.,
30(4):20–31, July 2010.
[BGM+ 09] F. Bettio, E. Gobbetti, F. Marton, A. Tinti,
Emilio Merella, and Roberto Combet. A Pointbased System for Local and Remote Exploration
of Dense 3D Scanned Models. In Debattista et al.
[DPPS09], pages 25–32.
[CM92]
Y. Chen and G. Medioni. Object modelling
by registration of multiple range images. Image and
Vision Computing, 10(3):145 – 155, 1992.
[DPPS09] Kurt Debattista, Cinzia Perlingieri, Denis
Pitzalis, and Sandro Spina, editors. VAST09: The
10th International Symposium on Virtual Reality,
Archaeology and Intelligent Cultural Heritage, St.
Julians, Malta, 2009. Eurographics Association.
[DRL10] P. Dobrev, P. Rosenthal, and L. Linsen. Interactive Image-space Point Cloud Rendering with
Transparency and Shadows. In Vaclav Skala editor,
Communication Papers Proceedings of WSCG, The
18th International Conference on Computer Graphics, Visualization and Computer Vision, pages
101–108, Plzen, Czech Republic, 2 2010. UNION
Agency–Science Press.
[GPAR04] Markus Gross, Hanspeter Pfister, Marc
Alexa, and Szymon Rusinkiewicz, editors.
SPBG’04 Symposium on Point - Based Graphics,
Zürich, Switzerland, 2004. Eurographics Association.
[GSS08]
L. Grosman, O. Smikt, and U. Smilansky.
On the application of 3-D scanning technology for
the documentation and typology of lithic artifacts.
Journal of Archaeological Science, 35(12):3101–
3110, 2008.
[IM09]
L. Iuliano and P. Minetola. Enhancing moulds manufacturing by means of reverse
engineering. The International Journal of Advanced Manufacturing Technology, 43(5–6):551–
562, 2009.
[KLR12] T. Kanzok, L. Linsen, and P. Rosenthal.
On-the-fly Luminance Correction for Rendering of
Inconsistently Lit Point Clouds. Journal of WSCG,
20(2):161 – 169, 2012.
[KNRS12] J. Köhler, T. Nöll, G. Reis, and D. Stricker.
Robust Outlier Removal from Point Clouds Acquired with Structured Light. In Eurographics
2012-Short Papers, pages 21–24. The Eurographics
Association, 2012.
[LNCV10] J. L. Lerma, S. Navarro, M. Cabrelles, and
V. Villaverde. Terrestrial laser scanning and close
range photogrammetry for 3D archaeological doc-
Communication papers proceedings
umentation: the upper palaeolithic cave of parpalló
as a case study. Journal of Archaeological Science,
37(3):499–507, March 2010.
[MT09]
H. Masuda and I. Tanaka. Extraction of
Surface Primitives from Noisy Large-Scale PointClouds. Computer-Aided Design and Applications,
6(3):387–398, 2009.
[PKGF03] S. Papadimitriou, H. Kitagawa, P. B. Gibbons, and C. Faloutsos. Loci: Fast outlier detection
using the local correlation integral. In Data Engineering, 2003. Proceedings. 19th International
Conference on, pages 315–326, Los Alamitos, CA,
USA, 2003. IEEE Computer Society.
[PMG04] M. Pauly, N. J. Mitra, and L. J. Guibas.
Uncertainty and Variability in Point Cloud Surface
Data . In Gross et al. [GPAR04], pages 77–84.
[PV09]
S. Pu and G. Vosselman. Knowledge based
reconstruction of building models from terrestrial
laser scanning data. ISPRS Journal of Photogrammetry and Remote Sensing, 64(6):575–584, November 2009.
[RHHL02] S. Rusinkiewicz, O. Hall-Holt, and
M. Levoy. Real-time 3d model acquisition. In
Proceedings of the 29th annual conference on Computer graphics and interactive techniques, SIGGRAPH ’02, pages 438–446, New York, NY, USA,
2002. ACM.
[SBS05]
O. Schall, A. Belyaev, and H. Seidel. Robust filtering of noisy scattered point data. In Proceedings of the Second Eurographics / IEEE VGTC
conference on Point-Based Graphics, SPBG’05,
pages 71–77, Aire-la-Ville, Switzerland, Switzerland, 2005. Eurographics Association.
[Sot06]
S. Sotoodeh. Outlier detection in laser
scanner point clouds. In International Archives of
Photogrammetry, Remote Sensing and Spatial Information Sciences XXXVI-5, pages 297–302, 2006.
[SZW09] C. Scheiblauer, N. Zimmermann, and
M. Wimmer. Interactive Domitilla Catacomb Exploration. In Debattista et al. [DPPS09], pages
65–72.
[WBB+ 08] M. Wand, A. Berner, M. Bokeloh, P. Jenke,
A. Fleck, M. Hoffmann, B. Maier, D. Staneker,
A. Schilling, and H. Seidel. Processing and interactive editing of huge point clouds from 3D scanners.
Computers & Graphics, 32(2):204–220, 2008.
[WPK+ 04] T. Weyrich, M. Pauly, R. Keiser, S. Heinzle, S. Scandella, and M. Gross. Post-processing
of Scanned 3D Surface Data. In Gross et al.
[GPAR04], pages 85–94.
128
ISBN 978-80-86943-75-6
21st International Conference on Computer Graphics, Visualization and Computer Vision 2013
(a)
(b)
(c)
(d)
Figure 9: Some classifications inferred by our algorithm. For these images a threshold of 2 cm was used. The blue
area on the ceiling in (a) is due to inaccurate registration of the scans and has to be taken care of by choosing an
appropriate threshold. The cone in (b) was slightly displaced during scans, allowing at least the artifact from one
scan (left) to be completely recognized. c) The car was apparently completely removed for at least one scan, which
made it almost completely recognizable. Note the slight shadow of the tailgate, indicating that this car was slightly
displaced also present in a second scan. d) A group of people that was present at roughly the same place during
different scans. Note that parts of the group in the background could not be classified, since they were shadowed
by other people closer to the scanners (Shading was added to improve geometric structure perception).
Communication papers proceedings
129
ISBN 978-80-86943-75-6