Cloud Compare Tutorial slides PDF

Title Cloud Compare Tutorial slides
Course Geomatics
Institution Sapienza - Università di Roma
Pages 15
File Size 1.4 MB
File Type PDF
Total Downloads 21
Total Views 141

Summary

Yc6tcgycgy...


Description

CloudCompare

Generalities

Tutorial Daniel Girardeau-Montaut

www.cloudcompare.org @CloudCompareGPL

[email protected]

Graphical user interface

Point cloud display

menus + toolbars

database

3D view(s)

“3D view” tools

Raw cloud

Normals (slow )

RGB

EDL (fast )

highlighted entity properties

Console

File formats 

Level 1

Mainly point clouds…



Basic manipulations



Interactive transformation



Interactive segmentation



Sub-sampling



Other standards tools:

(ASC/PTS, LAS/LAZ, E57, PTX, PCD, Faro, DP, Riegl, etc.) 

… and triangular meshes (PLY, OBJ, STL, OFF, FBX)



A dedicated format: BIN (to save « projects »)



Other formats:     

SfM (Bundler .OUT) Photoscan (work in progress) CAO (Autocad DXF, Aveva PDMS) SIG (shapefile SHP) Polylines (SALOME hydro, SinusX, etc.)

  

1 - load file

colors and normals edition scaling, cloning and merging cross section 2 – L1 manipulations

Level 1.5

Level 2



Scalar fields



Registration



Operations on scalar fields



Distances computation



Color scales



Other tools

4 – registration

5 – distances

3 – scalar fields

6 – other tools

Present and Share

Present and share your results





Display 

labels



Multi 3D views support, full-screen mode, etc.



Viewports can be saved (Display > Save viewport)

Export 3D views to image with optional super resolution (X2, X3, X4, etc. – Display > Render to file)



Save ‘projects’ in BIN format (can contain several entities, of all types)

ccViewer Other

Light client, to load and visualize various file types

SfM data 

Sensors

Bundler (.OUT) file loading support   



import keypoints import calibrated pictures (+ sensor) ortho-rectification

‘Sensor’ entities  



Operations:   

+ Photoscan project files (PSX, etc.) loading support under development

Misc



Compute distances or angles between particular points Fit planes or spheres on point clouds Meshing (Delaunay 2.5D or Poisson) Command line Plugins etc.



Wiki: http://www.cloudcompare.org/doc/wiki

    

7 – plugins

TLS (Terrestrial Laser Sensor) = GBL (Ground Based Lidar) Projective cameras

Set the virtual (OpenGL) camera to match the sensor point of view Filter points based on their visibility Compute distance to sensor, scattering angle, etc.

Loading a file (ASCII) 

Loading an ASCII file

Loading a file (ASCII) 

Assigning a role to each column

File > Open file: Mazda5_Scan.pts

Loading a file (ASCII)

3D camera interactions 

Basic manipulations

Interactions with the 3D view 

camera rotation :



camera translation (panning) :

• Left mouse button

• Right mouse button 

zooming: • Mouse wheel • or +/= keys



changing the size of points • interactor in the upper-left corner of 3D views • ‘Point size’ property (per cloud)

Example: change the color source

Database 

Interactions with the database 

Highlight / select an entity: • Left clik on its entry in the database • Or left clik on the entity in the 3D view



Toggling the visibility • Checkbox next to the entity entry: (de)activate the entity and all its children in the database tree • ‘Visible’ option: only the entity is hidden (not its children)



Create a new group, displace entities inside



Renaming an entity • F2 or double-click with the mouse

Interactive transformation 

Choose the « front » view

X = red Y = green Z = blue

 Note that the road is not horizontal 

Select the cloud and start the tool

(Edit > Segment)

Interactive transformation 

Same conventions as with the 3D camera … but now only the highlighted entities move



Options to constrain the rotation about a given axis or the translation along one or several axes



Warning: the bounding-box is sometimes measleding (prefer the window borders for visual alignment)



The tool can be paused anytime (to move the camera instead of the highlighted entities). The « 3D views » toolbar remains accessible.

Interactive segmentation

Other possibilities 

Tools > Level 



Highlight one (or more) entities



Start the tool



Draw a polyline

Click on three points to define a plane (XY)

 



Other solution (indirect but more general) :   

Segment out some points on the road Fit a plane over them (Tools > Fit > Plane) Use this plane to make the cloud horizontal (see the Console for directions)

Subsampling 

To reduce the size of a cloud or achieve a regular density



Higlight one or more entities and start the tool



Choose the subsampling mode:   

Left click: new vertex Right click: close the polyline



Chosse to keep points inside



Notes:    

or outside

you can choose a polygonal or rectangular contour the tool can be paused (to rotate the camera) then restarted the polyline can be exported or imported from the main DB the « 3D views » toolbar remains accessible

Subsampling

random space (spatial) octree (regular)



With ‘spatial’ mode, input the minimum distance between two points (e.g. 0.01 = 1 cm here)



The tool will select a subset of points and create a new cloud (points are not displaced)

Original cloud 1.3M points

Subsampled cloud (1 cm) 0.26M points

Note : density can be computed with Tools > Other > Density

Colors and Normals edition 

Edit > Colors    

Set a unique color, or « colorize » an entity Apply a color ramp RGB histogram manipulation Conversion to gray scale or to one or several scalar fields

Scaling, cloning and merging 

Edit > Multiply / Scale 



Edit > Clone 



Edit > Normals     

Compute normals Invert normals Orient normals Conversion to HSV Conversion to « Dip / Dip direction »

Duplicates an entity (manual undo ;)

Edit > Merge 



Scaling (isotropic or not)



Merge two or more entities (only works with clouds and meshes)

Sections 

Edit > Crop  



To segment a cloud or a mesh inside a box Mesh segmentation is clean (triangles are remshed on the border)

Tools > Segmentation > Cross Section  

interactive or systematic sections extraction contours extraction (polylines)

Scalar fields Scalar fields

Scalar fields 

Values can be:    

Statistics computation (histogram, average, std. dev.)



A cloud can be modified based on these values 





… any value (distance, intensity, density, roughness, confidance, curvature, temperature, time, etc.)



… can be (dynamicallly) colored

Scalar fields 

Dynamic and customizable coloration  

dedicated editor (see the properties of the highlighted entity) real-time update of the point colors

Segmentation inside a given range (Edit > SF > Filter by value) Subsampling

Values can be exported to an ASCII file (CSV) 

 Excel, Matlab, etc.

Color scales 

« Color Scale Editor »: to edit or create custom color scales



import/export to a dedicated XML file color ramps are also saved in BIN files



One value per point …

composed (+,-,/,x) and transformed (cos, log, etc.) filtered (smoothed, gradient, etc.) imported from point coordinates (X, Y ou Z) or the opposite way converted to RGB (or merged with existing colors)









Unlimited number of scalar fields per cloud

Load two clouds Registration

Lidar_ensenada.laz GoPro_ensenada.laz

Loading a LAS/LAZ file 

LAZ = compressed LAS



Standad LAS fields 

Loading a LAS/LAZ file 

Large coordinates management

All fields can be loaded as scalar fields (but the RGB colors)



Keep the default options



Click on « Apply all » Be sure to use the same local coordinate system for both clouds!

CC and OpenGL don’t handle large numbers (> 105)  Work in a local coordinate system (click on « Yes »)  Original coordinates will be restored at export time

Shifted clouds

Point-pair based alignment 

Highlight two clouds and start the tool ( Tools > Registration > Align (point pair picking) )



Choose the LIDAR cloud as reference



Select (left click) 4 or 5 points on the top cloud (GoPro) Pick uniquely identifiable points Sample them all over the cloud (if possible)  Zoom in for a more accurate selection





Options to align the clouds:   

Interactive transformation (inaccurate, painfull) Point-pair based alignment Automatic registration (ICP)  the two clouds must already be roughly aligned





Hide the ‘to align’ cloud ( same points on the other cloud

) and select the

Automatic registration (ICP)

Point-pair based alignment 



Click on « Align » to preview the result

Highlight two clouds and start the tool ( Tools > Registration > Fine registration (ICP) )



Choose the LIDAR cloud as referene (use the « swap » button)



Select an "overlap" of 50%

Lidar



Check the error contribution of each pair (you can add more pairs and / or remove some if necessary)



Notes:  

GoPro

Option to rescale the aligned cloud Reference points (GCPs) can be input manually (no need to use a reference cloud)

Alignment tips

Alignment tips If entities have "structural" differences 

Small or medium local differences :

If one entity is a mesh 

Almost the same process



It can be useful to

• ICP (+ option ‘Enable farthest points removal’ or use a small ‘Overlap’) 

• Sample a lot of points on the Mesh (Edit > Mesh > Sample points) and use it in place of the mesh • Then apply the resulting transformation matrix to the original mesh (Edit > Apply Transformation)

Different scales: • option ‘adjust scale’ (both tools)



Major differences: • Prefer the point pair based alignment



Pay attention to holes / missing data!



For fine registration (ICP), the mesh should always be the reference entity (the one that doesn’t move).  it’s generally less noisier and don’t have holes

Cloud-cloud distances Distances computation

Distances computation 

By default, distances are computed between each point of the compared cloud and its nearest neighbor (point or triangle) in the reference entity

compared





Highlight two clouds and start the tool (Tools > Distances > Cloud/Cloud dist.)



Choose the LIDAR cloud as reference



Define a maximum distance of 10 m. (acceleration)

C2C distances computation 

Main idea: if the reference cloud is dense enough, then the distance to the nearest neighbor is (almost) as precise as the true distance à to the real-world surface represented by the cloud



Theory: TLS cloud sampling follows a Poisson distribution  error is bounded  error depends only on the cloud density



Always use the most dense cloud as reference (if possible)



Extents of the reference cloud should be at least as wide as the compared cloud (avoid non-overlapping areas)

reference

The process is not symmetrical!

Poor or irregular density?

N.N. distances in a random Poisson process

Statistics

Local modelling strategies 

Highlight the GoPro cloud and start the tool (Edit > Scalar fields > Show histogram)



Histogram is polluted by far / red points (> 10 m.)



Use the tool



Highlight the resulting cloud



measured distance real distance

Local modelling (2 to 5X slower)

(Edit > Scalar fields > Filter by value) and keep points inside [0 9.99]



display the histogram



Display the associated color ramp (section ‘Color Scale’ / option ‘Visible’)



rename the scalar fied (Edit > Scalar fields > Rename)



+ other manipulations

Cloud-to-mesh distances 

Advanced C2C: the M3C2 plugin

Tools > Distances > Cloud/Mesh dist.

Lague, D., Brodu, N. and Leroux, J., Accurate 3D comparison of complex topography with terrestrial laser scanner : application to the Rangitikei canyon (N-Z), 2013, ISPRS journal of Photogrammmetry and Remote Sensing

Cleaning Other tools

Several methods available: 

Interactive segmentation



Connected components extraction (Tools > Segmentation > Label Connected Comp.)



Noise removal: Tools > Clean > SOR filter Tools > Clean > Noise filter

 



Profile extraction 

Tools > Segmentation > Extract sections

Raster and contour plot

Other option: thresholding based on a scalar field values (roughness, etc.)

Unrolling 

Cylindrical or conical unrolling (Tools > Projection > Unroll)



Profile based unrolling (Section Extraction tool – version 2.6.3+)

Volume estimation (2.5D) 

Estimation of volume differences between two clouds projected along X, Y or Z (Tools > Volume > Compute 2.5D volume)

Robust C2C distances: M3C2

Plugins

Lague, D., Brodu, N. and Leroux, J., Accurate 3D comparison of complex topography with terrestrial laser scanner : application to the Rangitikei canyon (N-Z), 2013, ISPRS journal of Photogrammmetry and Remote Sensing

CANUPO

Classification with CANUPO https://geosciences.univ-rennes1.fr/spip.php?article1284



Create your own classifiers (easily)



Apply any classifier to any data (with the right scale / units)



Get classification result as a scalar field (each point is associated to a class number + confidence value)

Brodu, N. and Lague, D., 3D Terrestrial LiDAR data classification of complex natural scenes using a multi-scale dimensionality criterion : applications in geomorphology, ISPRS journal of Photogrammmetry and Remote Sensing, 2012

RANSAC Shape Detection 

Automatically detects planes, spheres, cylinders, etc.

Facets  



Generally detects a lot of them ;)



Fast and simple … but exploiting the result can be challenging

  

Automatic extraction of fracture planes (facets) Classification per orientation families Stereogram plot Segmentation based on the orientation Export to CSV or SHP files

Facets 

Two algorithms for facet extraction  





Kd-tree Fast-Marching (seems better)

Non unique result (depends on the cloud density, on parameters and the order in which points are processed, etc.) But the result is statistically valid (if you have enough points / facets)

PCV 

Facets exercise 

Use Fast-Marching to extract facets



Classify the resulting facets



Export to QGis



Try the orientation based segmentation

Other interesting plugins

Global illumination / ambient occlusion

Surface of Revolution Analysis

Poisson Surface Reconstruction

Animation Hidden Points Removal...


Similar Free PDFs