03 tls-training data registration v1.0!30!01-2012
DESCRIPTION
Registration Point Cloud RieglTRANSCRIPT
-
1
Module 3 Data Registration www.riegl.com
RIEGL Laser Measurement Systems GmbH
3580 Horn, AUSTRIA
Training Material for RIEGL VZ-XX PRELIMINARY VERSION
Module 3
Data Registration
-
2
Module 3 Data Registration
Coordinate Systems and Transformations
Registration Methodes
Registration by Use of Reflectors (Control Points)
Coarse Registration
Backsighting Orientation
Multistation Adjustment (MSA)
Practical Examples
POSE Estimation (GPS, Inclination sensors and Integrated Compass)
Combination Coarse Registration & MSA
Combination Reflectors & MSA (Chain, Ring)
Table of Contents
www.riegl.com
-
3 Back to Overview
Module 3 Data Registration
COORDINATE SYSTEMS
AND TRANSFORMATIONS
www.riegl.com
-
4 Back to Overview
Module 3 Data Registration
SOCS (Scanners Own Coordinate System)
PRCS (Project Coordinate System)
GLCS (Global Coordinate System)
Coordinate Systems
www.riegl.com
-
6 Back to Overview
Module 3 Data Registration
XPRCS YPRCS
ZPRCS
YGLCS XGLCS
ZGLCS GLCS
GLobal Coordinate System
SOCS
Scanners Own Coordinate System
PRCS
Project Coordinate System
MSOP
... Scanners orientation and position in PRCS
MPOP
... Project coordinate systems orientation and position in GLCS
Coordinate Systems
www.riegl.com
-
8 Back to Overview
Module 3 Data Registration
REGISTRATION METHODES
www.riegl.com
-
9 Back to Overview
Module 3 Data Registration
Registration by Use of Reflectors (Control Points)
Coarse Registration
Backsighting Orientation
Multistation Adjustment (MSA)
Registration Methods
www.riegl.com
-
10 Back to Overview
Module 3 Data Registration
REGISTRATION BY USE OF REFLECTORS (CONTROL POINTS)
Registration method
www.riegl.com
-
11 Back to Overview
Module 3 Data Registration
The standard registration process in RiSCAN PRO is based on corresponding tiepoints (finescanned reflectors).
Reflectors Overview
www.riegl.com
-
12 Back to Overview
Module 3 Data Registration
Registration by Use of Reflectors
www.riegl.com
-
13 Back to Overview
Module 3 Data Registration www.riegl.com
-
Back to Overview 14
Module 3 Data Registration
Find Corresponding Points
www.riegl.com
-
Back to Overview 15
Module 3 Data Registration
Find Corresponding Points
www.riegl.com
MODE:
by Link
the SOP will be calculated without changing the corresponding points (links)
by Name
retrieve the corresponding points by comparing their names (the SOP will be recalculated)
Minimize Error (Default) - Recommended
the point-pairs will be detected automatically (the SOP will be recalculated)
-
Back to Overview 16
Module 3 Data Registration
Find Corresponding Points
PARAMETERS:
Tolerance
defines the search radius (the maximum distance between two corresponding points in order to recognize them as corresponding).
Default settings: Tolerance = 0.1m
Minimum N
defines the minimum number of point-pairs.
Please note: Minimum 3 corresponding points are needed for a unambiguous solution
(If you set this value too high, you might get bad results because points might be linked together that are not related.)
www.riegl.com
-
Back to Overview 17
Module 3 Data Registration
Find Corresponding Points
OPTIONS:
Close gaps in chained or ringed scan positions
Activate this option if your scan positions are organized as a ring or a chain.
Rename tiepoints
Selecting this option will rename the tiepoints with the corresponding name of the linked tiepoint.
Use existing link
If this option is activated, RiSCAN PRO will use existing links to tiepoints/controlpoints to speed up the process. You may also use this option if RiSCAN PRO doesn't find the correct solution automatically due to many reflectors.
www.riegl.com
-
Back to Overview 18
Module 3 Data Registration
Find Corresponding Points
Please note: Minimum 3
corresponding points.
www.riegl.com
-
Back to Overview 19
Module 3 Data Registration
Find Corresponding Points
www.riegl.com
-
20 Back to Overview
Module 3 Data Registration
COARSE REGISTRATION
Registration methode
www.riegl.com
-
Back to Overview 21
Module 3 Data Registration
Coarse Registration Overview
Like the registration based on corresponding tiepoints you can also do a coarse registration by temporarily defining some (at least 4) corresponding points. (2D-/3D mode)
Corresponding points can be:
well known features like corners,
edges,
points with high reflectivity
between a dataset (a point cloud or a mesh) of a registered scanposition (or the PRCS) and a dataset of the scanposition to be registered.
www.riegl.com
-
Back to Overview 22
Module 3 Data Registration www.riegl.com
-
Back to Overview 23
Module 3 Data Registration
Coarse Registration
View A: reference data (already registered)
View B: scanposition to be registered
www.riegl.com
-
Back to Overview 24
Module 3 Data Registration
Define corresponding points in view A and view B. To do so, hold down the SHIFT key and left-click on a point in view A. Proceed the same way with the corres-ponding point in view B.
A small sphere with a label showing the point number represents the clicked point.
When the point pair is well defined confirm the settings by clicking the "+" button.
www.riegl.com
-
Back to Overview 25
Module 3 Data Registration
Coarse Registration
If at least 4 point pairs are defined you can click the button "Register". Now the proper SOP matrix is calculated and written to the scanposition. The object(s) of view B are automatically added to view A.
The field "Standard deviation" shows the quality of the registration
www.riegl.com
-
Back to Overview 26
Module 3 Data Registration
Coarse Registration
Calculate origin of scan position only:
If the orientation is already defined by the internal inclination-sensors and the internal compass, only the origion of the scan position is calculated, when activating this option. In this case only one point-pair is necessary.
www.riegl.com
-
Back to Overview 27
Module 3 Data Registration
Registration Coarse Registration (Result)
www.riegl.com
-
28 Back to Overview
Module 3 Data Registration
BACKSIGHTING ORIENTATION
Registration methode
www.riegl.com
-
29 Back to Overview
Module 3 Data Registration
You can use this tool to register the scan position using the well known coordinates of a certain point (precisely surveyed point on the ground, or exact coordinate from mounted external GPS) and the coordinates of a remote object.
The scanner must be either leveled manually or with the optionally built-in inclination sensors.
Backsighting Orientation Overview
www.riegl.com
-
Back to Overview 30
Module 3 Data Registration
6-Degrees of Freedom:
3 Degrees of Freedom Translation (e.g. GNSS)
2 Degrees of Freedom Inclination Sensors
1 Degree of Freedom Backsighting / Heading
Overview 6-Degrees of Freedom
www.riegl.com
-
31 Back to Overview
Module 3 Data Registration
Backsighting Orientation
Start wizard "Backsighting orientation: Open the wizard "Backsighting orientation" by right-clicking the SOP matrix of the scan position and selecting "Backsighting orientation...".
A wizard pops up requiring the input of the scanners position coordinates
www.riegl.com
-
32 Back to Overview
Module 3 Data Registration
Backsighting Orientation
Own GPS position: On the first page enter the scanner's own position in global coordinates. The scanner's own position can be either: global (e.g.: WGS84) or local (e.g.: Mining System, with Projection)
ones.
"Instrument height": Insert the vertical offset between the well known ground point and the center of SOCS, indicated at the scanner head.
www.riegl.com
-
33 Back to Overview
Module 3 Data Registration
Backsighting Orientation
Own GPS position:
Read from file: If you are using a GPS mounted on the scanner you can import the coordinates by using a *.uda file (Format: "Name,X,Y,Z"). Open the *.uda file and select one entry (=position) from the list.
Read from scan : Read out the GPS position which has been acquired with the internal GPS receiver (L1).
Use GLCS tiepoint: Known coordinates, measured with total station or DGPS, of each position can be used which have already been imported by user before running Backsighting orientation.
Click on Next, when finished.
www.riegl.com
-
34 Back to Overview
Module 3 Data Registration
Import local grid coordinates (measured with external device, e.g. Totalstation, DGPS), which are normally common with the targets that have been fine-scanned.
Your grid coordinates can be in various text-file formats, with or without header.
The format is normally: Point_ID, E, N, H or Point_ID, X, Y, Z.
Importing ASCII Grid Coordinates
www.riegl.com
-
35 Back to Overview
Module 3 Data Registration
Importing ASCII Grid Coordinates
www.riegl.com Module 3 - Data registration
-
36 Back to Overview
Module 3 Data Registration
Importing ASCII Grid Coordinates
www.riegl.com
Skip lines: This causes the import function to ignore the first n lines of the file (e.g. header)
Column separator: is used to the correct character in order to recognize the data columns from the file.
Column association: Just drag the column from the list-box showing all columns and drop it on the corresponding column of the preview.
-
37 Back to Overview
Module 3 Data Registration
Backsighting Orientation
Alignment via remote object
Enter the coordinates of a remote object in global coordinates (the GPS import via *.uda-file is also available)
against north The scanner should be aligned towards north (switch to following page).
www.riegl.com
Click on Next, when finished.
-
38 Back to Overview
Module 3 Data Registration
Backsighting Orientation
Alignment - Angle
Use northing angle [deg]: Based on measurements of the magnetic field and detailed information of the internal GPS receiver, the scanner calculates accurate northing angle.
Use tiepoint (finescanned): By using a finescanned reflector target, the northing angle is automatically calculated from the reflector position gained by the scanner.
Use inclination sensors OFFLINE Activate, if you want to read the inclination angles from an already acquired scan file.
Click on Next, when finished.
www.riegl.com
-
39 Back to Overview
Module 3 Data Registration
Backsighting Orientation
Summary
Summary You can see a summary of the given data and the used methods. In this step you can still go back to one of the previous pages in order to correct wrong settings.
Matrix
On the fourth page you can see a summary of the given data and the calculated matrix. In this step you can still go back to one of the previous pages in order to correct wrong settings.
Click on Set SOP, when finished.
www.riegl.com
-
40 Back to Overview
Module 3 Data Registration
MULTI STATION ADJUSTMENT
(MSA)
Registration methode
www.riegl.com
-
41 Back to Overview
Module 3 Data Registration
Multistation Adjustment (MSA) is a RiSCAN PRO tool, designed to improve other registration methods such as Backsighting Orientation or Coarse Registration.
Flat surface patches are detected within the pointcloud. These patches are represented as a point, indicating the center of gravity of the plane patch, and a normal vector on this point, representing the orientation of the plane patch. The following alignment is based on a modified ICP algorithm (iterative closest point algorithm).
To make use of this procedure, data must be pre-adjusted (using a prior orientation method).
MSA Overview
www.riegl.com
-
42 Back to Overview
Module 3 Data Registration
To extract the plane patches from the scan the option Prepare data is used.
Registration > MSA > Prepare data...".
This opens the filter dialog.
MSA Prepare Data
www.riegl.com Module 3 - Data registration
-
Back to Overview 43
Module 3 Data Registration
MSA Prepare Data (Plane patch filter)
www.riegl.com
-
Back to Overview 44
Module 3 Data Registration
MSA Prepare Data (Plane patch filter)
Plane patch filter: Maximum plane error [m]:
This parameter is used to decide whether a couple of points represent, a plane patch or not. It defines the threshold for the standard deviation of residuals. 0.003 0.01 m for architectural applications 0.02 0.03 m for mining applications
Minimum number of poitns per plane: A plane is calculated from at least this number of
points. Minimum search cube size [m]: Defines the threshold of the calculated
www.riegl.com
-
Back to Overview 47
Module 3 Data Registration
MSA Prepare Data (View)
www.riegl.com
Activate the point normals to view the normal vector.
-
Back to Overview 48
Module 3 Data Registration
MSA Prepare Data (View)
www.riegl.com
-
Back to Overview 49
Module 3 Data Registration
MSA Start Adjustment (Shortcut F4)
To start the Multi Station Adjustment select the menu item
Registration > MSA > Start adjustment..."
The MSA adjustment tool will appear.
www.riegl.com
-
Back to Overview 50
Module 3 Data Registration www.riegl.com
-
Back to Overview 51
Module 3 Data Registration www.riegl.com
MSA Start Adjustment The adjustment iteratively modifies the position and orientation of each scan position until the error is below a user defined threshold.
If no control points are available you should lock the position and orientation of at least one scan position (e.g. the scan position that defines your PRCS).
You can also lock any of the 6 parameters separately with the checkboxes in front of the parameters.
Identify and fix reference scan position; other positions will be oriented to this position.
-
Back to Overview 52
Module 3 Data Registration
MSA Start Adjustment
www.riegl.com
There are several options to align scan positions: Use tiepoints:
uses common tiepoints from the tiepoint list (tiepoints must be linked between the scan positions)
Use tieobjects: manually created planes, stored within the tie object list (TOL) of each scan position and linked between the scan positions
Use polydata objects: uses common planar surfaces created during the data preparation (Plane patch filter)
Use measured scan positions: can be used to tie the position to measured coordinates (e.g. measured by GPS or totalstation). Limits adjustment of position by use of measurement uncertainty (see sop-matrix)
-
Back to Overview 53
Module 3 Data Registration
MSA Parameters
www.riegl.com
Nearest point search:
Mode: All nearest points (recommended) is a set of points containing the nearest points of each remaining dataset. One nearest point (fast) searches for the nearest point in all datasets.
Search radius [m]: defines the distance within the algorithm is searching for corresponding plane patches
Max. tilt angle [deg]: Max. tilt angle is used to remove incorrect point-pairs. Each point represents a plane whereas each plane has a surface normal. If the angle between the surface normals of two planes is smaller than the maximum tilt angle then the two planes are considered to correspond.
-
Back to Overview 54
Module 3 Data Registration
MSA Parameters
www.riegl.com
Adjustment: Min. change of error 1 [m]:
If the improvement of the alignment between two following iterations is less than the given value the algorithm is stopping and searching for new cor- responding planes. Then the alignment starts again.
Min. change of error 2 [m]:
The iterative alignment is running till the improvement between two following iterations is less than Min. change of error 2. In that case the final alignment is reached.
Outlier threshold:
When Min. change of error 2 has been reached, optionally outliers can be removed and a final iteration for the alignment is calculated. The error histogram should show a symmetric distribution (bell curve) around zero. An outlier threshold of one, defines that all corresponding planes outside the one sigma value of the error histogram are removed.
-
Back to Overview 55
Module 3 Data Registration
MSA Parameters
www.riegl.com
Adjustment: Calculation mode:
Least square fitting (recommended): Using the square distance (of the point-pairs) is taken, which means that outliers will have a greater influence to the overall result. Robust fitting: Using the absolute distance, because this mode is more stable. It may take more time because of smaller steps between the iterations. Once the data is aligned, there is not difference between calculation modes.
Update display: You can watch the progress of the updates in a 3D view. Available steps: never, seldom and often. (Recommended: never)
-
56 Back to Overview
Module 3 Data Registration
After defining all parameters, click on Analyse.
The Analyse function will show a histogram and a polar plot of the corresponding planes.
Histogram: shows the error distribution of the corresponding planes
Polar plot: Each plane is shown as a point, the positon of a point is set by the normal vector of a plane which gives you the orientation of all the used planes.
The wider the distribution of planes within the polar plot the more robust the final alignment will be (minimum should be 3 clusters of plane-orientation to cover the 6 parameters of freedom).
MSA Analyse
www.riegl.com
Plane surface filter
Max. plane error [m]: This parameter is used to decide whether a couple of points represent a plane surface patch or not. The points need a lower standard deviation from the estimated plane to define a valid plane.
Max. edge length [m]: For better visualization and edge detection the remaining points are triangulated. Use this parameter to remove too large triangles.
Min. rane [m]: Points closer than this value will be ignored.
-
57 Back to Overview
Module 3 Data Registration
Error (StDev) is around 1m, with around 500 planes.
MSA Analyse
www.riegl.com
-
58 Back to Overview
Module 3 Data Registration
Recommended workflow:
Double the value of the Error (StdDev) and set it as Search radius.
e.g.: 1m 2m
Min change of error 1: approx. 10cm
Min change of error 2: approx. 1cm
MSA Calculation
www.riegl.com
-
59 Back to Overview
Module 3 Data Registration
Start the calculation! Take a look at the Error (StdDev) Polydata Objects If the values of the planes increase, it means that the alignment become better and better.
MSA Calculation
www.riegl.com
-
60 Back to Overview
Module 3 Data Registration
1st run has finished:
The MSA found much more planes: 15.000 polydata.
The distribution of points is even throughout the polar plot and the histogram displays a steep bell curve.
Overall Error: 0.0066 m
MSA Calculation
www.riegl.com
-
61 Back to Overview
Module 3 Data Registration
For 2nd run:
Repeat the same steps as descirbed before.
Now using a much smaller search radius, we also have to decrease the values of the two errors.
Calculate
MSA Calculation
www.riegl.com
-
62 Back to Overview
Module 3 Data Registration
The 2nd run has finished:
The MSA found even more planes: 22.000 polydata.
The distribution of points is even throughout the polar plot and the histogram displays a steep bell curve.
Overall Error: 0.0023 m
MSA Calculation
www.riegl.com
-
63 Back to Overview
Module 3 Data Registration
MSA Final Result (View)
www.riegl.com
Mark points in the point-cloud and click on the information button.
-
64 Back to Overview
Module 3 Data Registration
PRACTICAL EXAMPLES
POSE Estimation
Combination Coarse Registration & MSA
Combination Reflectors & MSA (Chain, Ring)
www.riegl.com
-
65 Back to Overview
Module 3 Data Registration
POSE ESTIMATION BY USE OF GPS, INCLINATION SENSORS AND INTEGRATED COMPASS
Practical Example
www.riegl.com
-
66 Back to Overview
Module 3 Data Registration
This practical example shows the use of:
GPS
Internal measured GPS position. (quality of L1 receiver)
Inclination sensors
Levelling by use of inclination values
Integrated compass
Alignment of Scanners Own Coordinate System to true north
POSE Estimation Practical Example
www.riegl.com
-
67 Back to Overview
Module 3 Data Registration
POSE Estimation (Preparation)
www.riegl.com
-
68 Back to Overview
Module 3 Data Registration
POSE Estimation (Indoor Measurement)
Special case:
For indoor measurements, the GPS position has to be fixed either with an
manual input or
GPS position from
previous position measured outdoor
www.riegl.com
-
69 Back to Overview
Module 3 Data Registration
POSE Estimation (Preparation)
www.riegl.com
-
70 Back to Overview
Module 3 Data Registration
POSE Estimation (Preparation)
Scans are automatically registered
Read out the Information for Roll / Pitch / Yaw
www.riegl.com
-
71 Back to Overview
Module 3 Data Registration
POSE Estimation (Situation before)
www.riegl.com
Results from POSE Estimation: Gaps between the scans are caused by inaccuracies of internal sensors (mainly GPS and compass)
-
72 Back to Overview
Module 3 Data Registration
After importing the scans
directly use MSA
POSE Estimation
1st step: Prepare data
2nd step: Start adjustment
www.riegl.com
-
73 Back to Overview
Module 3 Data Registration
POSE Estimation MSA 1st step
www.riegl.com
-
74 Back to Overview
Module 3 Data Registration
POSE Estimation MSA 2nd / 3rd step
www.riegl.com
-
75 Back to Overview
Module 3 Data Registration
POSE Estimation (Results after Running MSA)
www.riegl.com
Please note: Accuracy of compass: typically 1 deg
(one sigma value for vertical scanner setup position)
-
76 Back to Overview
Module 3 Data Registration
POSE Estimation MSA Calculation
MSA calculation after 2nd run: Error (StdDev): 0.0023
www.riegl.com
-
77 Back to Overview
Module 3 Data Registration
POSE Estimation SOP
SOP ScanPos01:
SOP ScanPos02:
SOP ScanPos03:
www.riegl.com
-
78 Back to Overview
Module 3 Data Registration
Analyse your MSA-calculation by checking the results with the information tool.
POSE Estimation Checking Results - show plane info
www.riegl.com
Please note: StdDev. of
residuals to estimated plane
-
79 Back to Overview
Module 3 Data Registration
COMBINATION
COARSE REGISTRATION & MSA
Practical Example
www.riegl.com
-
Back to Overview 80
Module 3 Data Registration
Combination Coarse Registration & MSA
www.riegl.com
-
Back to Overview 81
Module 3 Data Registration
Combination Coarse Registration & MSA
After using registration mode: Coarse registration
directly use MSA
1. Prepare data
2. Run MSA
www.riegl.com
-
Back to Overview 82
Module 3 Data Registration
Combination Coarse Registration & MSA
www.riegl.com
Situation before:
By analysing a large number of points (~5.500), we get to a result of
StdDev: 0.078 m
-
Back to Overview 83
Module 3 Data Registration
Analyse:
After preperation of the dataset, run the Analyse-tool in the MSA.
The MSA found around
43.000 polydata objects.
Error (StdDev): 0.0130 m
Combination Coarse Registration & MSA
www.riegl.com
-
Back to Overview 84
Module 3 Data Registration
Final result:
One run is enough to fit all pointclouds together.
The MSA found around
17.000 polydata objects.
Error (StdDev): 0.002 m
Combination Coarse Registration & MSA
www.riegl.com
-
Back to Overview 85
Module 3 Data Registration
Combination Coarse Registration & MSA
www.riegl.com
Situation after:
By analysing a large number of points (~5.500), we get to a result of
StdDev: 0.003 m
-
Back to Overview 86
Module 3 Data Registration
COMBINATION
REFLECTORS & MSA
Practical Examples
www.riegl.com
-
Back to Overview 87
Module 3 Data Registration
1st step: Register SP1 and SP6 by using controlpoints.
2nd step: Register SP2 onto SP1 & SP5 onto SP6
Register SP3 onto SP2 & SP4 onto SP5
3rd step: Link SP3 and SP4 together.
The deviations between SP3 & SP4 will be higher than within the other scan positions.
To do so run "Find corresponding points" for SP4 again, select only SP3 and activate "Close gaps in chained or ringed scan positions".
Chain of Scan Positions
www.riegl.com
Please note: Only links between the tiepoints
of SP4 and SP3 are created. The SOP-matrix is not affected!
-
Back to Overview 88
Module 3 Data Registration
Ring of Scan Positions
1st step: Controlpoints are available at scan position SP1.
2nd step: Register SP2 onto SP1 & SP3 onto SP2
Register SP4 onto SP3 & SP5 onto SP4
There will by a higher deviation between SP5 and SP1.
3rd step: Run "Find corresponding points" for SP5 again, select SP1 and activate "Close gaps in chained or ringed scan positions".
www.riegl.com
Please note: Only links between the tiepoints
of SP4 and SP3 are created. The SOP-matrix is not affected!
-
Back to Overview 89
Module 3 Data Registration
After using registration mode:
Find corresponding points by use of Close gaps in chained or ringed scan position
Follow the steps described on slide 86. Thereafter directly run MSA and use only teipoints as input data.
Chain Practical Example
www.riegl.com
-
Back to Overview 90
Module 3 Data Registration www.riegl.com
Adjust ScanPos:
- Lock ScanPos001
- Lock ScanPos009
-
Back to Overview 91
Module 3 Data Registration
Analyse:
After adjusting the scanpositions, run the analyse-tool in the MSA.
Error (StdDev): 0.0103 m
by using 42 tiepoints
Chain Practical Example
www.riegl.com
-
Back to Overview 92
Module 3 Data Registration
Calculation:
In this case MSA is doing a bundle adjustment on the whole chain or ring of scan positions.
Error (StdDev): 0.0040 m
by using 38 tiepoints
Chain Practical Example
www.riegl.com
-
93 Back to Overview
Module 3 Data Registration
RIEGL Laser Measurement Systems GmbH
3580 Horn, AUSTRIA
Training Material for RIEGL VZ-XX PRELIMINARY VERSION
End of Module 3
Data Registration
www.riegl.com