Cyclone软件培训资料Registration
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Registration
Introduction Registration is the process of integrating a project’s ScanWorlds into
a single coordinate system as a registered ScanWorld. This
integration is derived by a system of constraints, which are pairs of
equivalent tie-points or overlapping point clouds that exist in two
ScanWorlds. The Registration process computes the optimal overall
alignment transformations for each component ScanWorld in the
Registration such that the constraints are matched as closely as
possible.
Objectives The objective of this module is to introduce you to a general workflow for registering several ScanWorlds to a common coordinate system.
This module is organized as such to cover several registration related
topics, which may or may not reflect the order of operations for your
specific projects.
Table of Contents
Chapter Page
1 Getting Started 3
1.1 Load the Database 3
1.2 Field Notes 4
1.3 Scan Log 5
2 Create a Registration 6
2.1 Registration Object 6
2.2 Registration Window Layout 7
3 ScanWorlds 9
3.1 Add ScanWorlds 9
4 Constraints 11
4.1 ControlSpaces (Theory) 11
4.2 Six Degrees of Freedom 13
4.3 Add (Tie-Point) Constraints 14
5 Register 15
5.1 Register Locally with Tie-Point Constraints 15
5.2 Import the Survey Control 16
5.3 Set the Home ScanWorld 21
5.4 Global Registration 23
6 Cloud Constraints 25
6.1 Adding Cloud Constraints using Initial Alignment Picks 26
6.2 Adding Cloud Constraints to Improve an Existing Registration 35
6.3 Auto-Add Cloud Constraints 40
6.4 Cloud Constraint Results and Parameters 42
7 Create ScanWorld and Freeze Registration 45
8 Create a Registered ModelSpace 46
1 Getting Started 1.1 Load the Database
Locate the database named ImolaBridge.imp and configure it to the Cyclone Navigator:
1. Launch Cyclone.
2. In the Navigator, click Configure | Databases.
3. In the Configure Databases dialog, click Add…
4. In the Add Database dialog, click the browse button to be able to
browse to the database file. The file will have an extension “.imp”
and will usually exist in a folder with the same name. It will also be accompanied by an event log folder and recovery folder. (see Figure_1)
Figure_1
5. Click Open.
6. Click OK.
7. Click Close.
The database is loaded into the Cyclone Navigator under the server.
Figure_2
1.2 Field Notes
Field Notes Field notes are created to document a rough plan of the area being scanned, scanner placement, target placement, and any other
information that will be useful for reference to how the project was
carried out. The information that is documented in field notes is an
invaluable reference for all involved in a scan project.
Field notes should include, at a minimum, a plan sketch with a rough
blocking of buildings/structures, scan positions, and target locations.
Figure_3 shows the field notes for the project we will be working on in
this module.
Figure_3
1.3 Scan Log
ScanWorlds 1-4 each contain at least four targets. We will use these
first in the registration to one another, then to the survey control. Note that ScanWorld 5 has only two targets acquired. We will register this ScanWorld to the whole by manually creating a cloud constraint. The cloud constraint and two targets will be sufficient to properly register this ScanWorld.
2 Create a Registration
2.1 Registration Object
The first step in the registration process is to create a registration
object for the project that you want to register.
The registration object does not need to be created in the same
project folder as the participating ScanWorlds, but must be in the
same database.
1. Select the database named ImolaBridge.
2. Click Create | Project.
3. Name the new project folder My Registration.
4. Select the project folder named My Registration.
5. Click Create | Registration.
6. Name the new registration object My Registration. Registration
Object
Figure_4
2.2 Registration Window Layout
1. Open the registration object named My Registration by double-
clicking on it in the Navigator.
Registration
Window
Figure_5
Registration Window Tab Descriptions A. The ScanWorld s’ Constraints tab displays each ScanWorld in
the registration. Beneath each ScanWorld, a pairing with every other ScanWorld in the Registration is displayed. After constraints have been added, constraints between each ScanWorld pair are displayed. From the ScanWorlds’ Constraints tab, you can:
select and view constraints; delete constraints of a pair of
ScanWorlds; and set the Home ScanWorld.
Registration Window Tab Descriptions
B. The Constraints List tab lists each constraint in the registration
and displays current information about each constraint. Constraint information is organized into columns. Each column can be
sorted. From the Constraints List tab, you can: select and view constraints; enable, disable, and delete constraints; adjust the
weight of individual constraints; and view information for each
constraint.
C. The ModelSpaces tab displays each component ScanWorld’s
ModelSpace(s) and ControlSpace. The main applications of the ModelSpaces tab are viewing ModelSpaces and ControlSpaces and adding constraints. This tab can also be used to create a new ModelSpace using the objects from existing ModelSpaces after the registration has been frozen. (See Section 8)
D. The Constraint Viewer panes are used to view constraints. The
constraints are selected and centered in each pane by double-
clicking the listed constraint. The Constraint Viewer panes are also used to create initial alignment hints when creating a cloud constraint.
2. Also open and inspect the registration object under the
Completed Registration project folder (see Figure_6). Your
registration will look similar to this finished registration when
through with this module.
Figure_6
3 ScanWorlds
3.1 Add ScanWorlds
After opening the registration object named My Registration, we will select participating (component) ScanWorlds via the Add ScanWorld command.
1. From the Navigator, open the registration named My Registration
by double-clicking it.
2. In the registration window, click ScanWorld | Add ScanWorld…
Figure_7
+ 3. In the Select ScanWorlds for Registration dialog, expand the
Individual ScanWorlds project folder.
4. Pressing the Ctrl button to multi-select, click on ScanWorld 1,
ScanWorld 2, ScanWorld 3, and ScanWorld 4.
Figure_8
5. Click the arrow button in the middle of the Select ScanWorlds for
Registration dialog to move the selected ScanWorlds to the right pane.
Figure_9
6. Click OK. The ScanWorlds are added to My Registration.
Added
ScanWorlds
Figure_10
Depending on the source of the data in a ScanWorld, the ScanWorld
may be considered to be "leveled". That is, the data is known to be in
a coordinate system where "vertical" is "true vertical" and "up" is in
the positive direction of elevation. A ScanWorld known to be "leveled"
is registered such that its "up" vector remains the same. Each
ScanWorld in this project was “leveled”.
The ScanWorld “leveled” status should only be toggled on if the
compensator was activated and monitored at the time of scanning. If
you are not sure if a scanner was leveled at the time of the scanning,
uncheck “leveled” to allow for 6 degrees of freedom in the registration
of that ScanWorld. To do this, click ScanWorld | Toggle ScanWorld
Leveled.
4 Constraints
4.1 ControlSpaces (Theory)
A ControlSpace is similar to a ModelSpace View. It is used as a container for all objects attached to its parent ScanWorld that are designated as “constraint” objects or possible constraint objects for a registration. Open the parent ControlSpace for each ScanWorld listed under the project folder named Individual ScanWorlds.
Note that ScanWorld 1, ScanWorld 2, ScanWorld 3, and ScanWorld 4 each have tie-points as noted in the Scan Log in section 1.3 as well as point clouds visible.
Note that ScanWorld 5 have only two tie-points and a point cloud in its ControlSpace. We will use the point clouds to learn point cloud registration later in this module.
∙The ControlSpace is used to organize possible constraints for registrations.
∙Objects in the ControlSpace cannot be moved or resized.
∙Every ScanWorld by default has its own unique ControlSpace.
∙ControlSpaces cannot be moved, copied, or deleted.
∙When a ScanWorld is added to a Registration, a ControlSpace linked to that specific Registration is created beneath the default ControlSpace. In this manner, a ScanWorld may contain a
separate ControlSpace for each Registration that involves that
ScanWorld.
For example, a ControlSpace has already been created for each ScanWorld as they were registered in the Completed Registration.
A ControlSpace for My Registration has been added to
ScanWorld 1, ScanWorld 2, ScanWorld3, and ScanWorld 4, since those ScanWorlds were added to that registration in section 3.
Figure_11
Objects are generally added to a ControlSpace in one of four ways: ∙When HDS/BW Targets are acquired via the Scan Control window.
∙When a registration label is added to an object in a ModelSpace under the ControlSpace’s ScanWorld.
∙When the HDS/BW Target commands are used to manually fit a HDS Target to a cloud.
∙When an object is copied to the ControlSpace directly from a ModelSpace using the Copy to ControlSpace command. The
object in the ControlSpace is generally independent of the object in the ModelSpace from which it originated.
To activate/deactivate a constraint object from within a ControlSpace, toggle the object’s visibility. This can be done by placing the object in a layer and turning the layer’s visibility OFF. Only visible objects in the
ControlSpace are used in a Registration.
4.2 Six Degrees of Freedom
As we have seen, constraints exist in ScanWorlds’ ControlSpaces.
Alignment transformations of a ScanWorld in a registration are as
accurate as its constraints describe.
The key to successfully registering a ScanWorld is to constrain it in all
six degrees of freedom (movement in X, Y, and Z and rotation around
the X, Y, and Z axis.
Six Degrees
of Freedom
Figure _12
∙The minimum number of common tie-points it takes to register two ScanWorlds is 3 (assuming no cloud constraints are used).
∙It is also possible to register ScanWorlds together using only a
cloud constraint, ONLY if the overlapping area scanned is
sufficient to lock the ScanWorld in all six degrees of freedom.
∙As we will see later, cloud constraints can be combined with tie-
point constraints to sufficiently register a ScanWorld.
4.3 Add (Tie-Point) Constraints
We will first add constraints to My Registration using the command
Auto-Add Constraints. During the Auto-Add Constraints process,
Cyclone will search all ScanWo rlds’ ControlSpaces for geometrically
consistent objects.
When two ScanWorlds’ ControlSpaces contain objects with the same
Registration label, a constraint is automatically created, relating each
of these object pairs. In most cases, constraints that result from
Registration labels come from HDS Targets that have been placed in
overlapping areas of scans for the specific purpose of using them for
Registration.
Tie-points 1, 2, 3, 4, 5, and 6 were strategically placed in the scene
and acquired from each scan position if it was in the line of site of the
scanner. Refer to the Scan Log in section 1.3 for the list of targets
included in each ScanWorld. By clicking Auto-Add Constraints, every
possible combination of pairs will be found and listed.
1. In My Registration, click Constraint | Auto-Add Constraints.
2. View the constraints in the Constraints List tab.
Constraints
List
Figure_13
∙The Constraint List tab lists every constraint found after using the Auto-Add Constraints command.
∙The columns can be sorted by clicking on the column header.
5 Register
5.1 Register Locally with Tie-Point Constraints
1. Click Registration | Register.
∙At this point all of the ScanWorlds contents are transformed to the coordinate system of ScanWorld 1, since it was first loaded and is considered the “Home Scanworld”. More information on the Home ScanWorld in section 5.3.
∙The Error column shows the error distance of each constraint pair.
∙The Error Vector column shows the direction of the error.
∙You may click R egistration | Show Diagnostics…to see a more detailed description of the current registration. The registration
diagnostics include: the mean absolute error, included
ScanWorlds, constraint relationships and descriptions, constraint errors and error vectors, and ScanWorld transformation details.
The contents of the diagnostics can be saved, printed, or copied and pasted into a text editor.
At this point, the registration is current, yet can still be modified. In the following sections we will further modify My Registration by adding a survey control ScanWorld, adding the remaining ScanWorld, and creating cloud constraints.
5.2 Import the Survey Control
We will register all ScanWorlds to the local coordinate system of the
Imola Street Bridge. HDS Targets were set up over known points 1,
2, 3, 4, 5, and 6. The heights of the targets were also noted. This
information is found in the file ImolaBridge_Control_Meters.TXT. This
file can be viewed with any text editor, such as Notepad.
Control File
Figure_14
∙As indicated in the name, the units are in meters.
∙As shown in the heading, each known point is described by: X, Y, Z, TargetID, TargetHt.
We will import the control into the database as a ScanWorld, which
we will then use in our registration.
1. In the Navigator, select the project folder named Individual
ScanWorlds.
Figure_15
2. Click File | Import…
3. Browse to the control file located in the database folder, named
ImolaBridge_Control_Meters.TXT.
Figure_16
4. Click Open.
5. In the Import: ASCII File Format dialog, specify that the file is
comma delimited.
This particular control file’s contents are delimited, or formatted with commas. (X, Y, Z, TargetID, TargetHt) The Import: ASCII File Format dialog supports other methods of formatting such as tab, space, semicolon, or other. Depending on the source of the file, you may need to adjust how the contents are delimited.
6. In the Import: ASCII File Format dialog, specify the # of columns
as 5.
We specify 5 columns because there are five delimited items to
import in the file (X, Y, Z, TargetID, TargetHt).
7. In the Import: ASCII File Format dialog, specify the # of Rows to
skip as 1 (to skip the headings).
8. In the Import: ASCII File Format dialog, specify the Unit of
Measure as Meters.
Ensure that the correct Unit of Measure is specified (meters), to
ensure the proper scale factor is applied to the coordinates.
9. In the Import: ASCII File Format dialog, use the dropdown list to
choose what each column in the ASCII file represents (see
Figure_17).
The format method for importing a control file can be saved for future
control file imports.
Specify
Control File
Formatting
Figure_17
The Import: ASCII File Format dialog should look like Figure_18 when
finished
Figure_18
The Auto Preview checkbox is checked by default, to display how the contents of the control file will be imported. Columns can be resized as needed, and the dialog box can be widened as necessary to view
additional columns.
The target id numbers need to be imported as TargetID, otherwise
the targets cannot be used in the registration
10. Click Import.
The Import process is complete, and a ScanWorld containing the
imported control is added to the Navigator (see Figure_19. Each
coordinate is imported as a vertex into the created ModelSpace. The
newly created vertices are also placed automatically into the new
ScanWorld's ControlSpace. Using this method, any ASCII format can
be imported into Cyclone.
Control
ScanWorld
Figure_19
5.3 Set the Home ScanWorld
The home ScanWorld defines the reference coordinate system for the ScanWorld created from a successful registration. By default, the first ScanWorld added to the Registration is set as the home ScanWorld, as displayed in bold face. However, the home ScanWorld can be re-selected using the Set Home ScanWorld command. For this registration, My Registration, we want all data to be registered to the imported control. So, set the home ScanWorld to be ImolaBridge_Control_Meters.
1. In the registration window, click ScanWorld | Add ScanWorld.
2. Add the ImolaBridge_Control_Meters ScanWorld to the
registration by moving it to the right pane as previously done with the other ScanWorlds.
Figure_20
3. Click OK.
4. In the registration window for My Registration, in the ScanWorlds’
Constraints tab, select the ScanWorld named
ImolaBridge_Control_Meters.
5. Click ScanWorld | Set Home ScanWorld. The ScanWorld is now
bold, indicating it is the Home ScanWorld.
ScanWorld
Figure_21
5.4 Global Registration
With the addition of the control ScanWorld, there will be new pairs of constraints. Update the constraints list using Auto-Add Constraints.
1. Click Constraint | Auto-Add Constraints.
Figure_22
After the constraints have been added, the next step is to register the ScanWorlds using the Register command in the Registration menu. The Registration command computes the optimal alignment transformations for each ScanWorld in the Registration so that all constrained objects are aligned as closely as possible.
2. In My Registration, click Registration | Register.
3. Sort the errors from highest error to lowest by clicking on the Error
header.
Figure_23
∙The listed errors are the distance between the tie points between the two listed ScanWorlds after global registration is performed.
Look for errors to be less than 6mm. In general, for ScanStation data, errors are desired to be 6mm or less, considering that the spot size is 6mm and that these are the errors of the constraints after the global computation.
∙Statistics for the successful Registration can be viewed by clicking Registration | Show Diagnostics…
∙As we will see in the following sections, cloud constraints can be added to improve the results.
6 Cloud Constraints
A cloud constraint is a user-defined constraint between two ScanWorlds, which indicates that the point clouds in the ControlSpace of the first ScanWorld overlap with the point clouds in the ControlSpace of the second ScanWorld. Just as a vertex-vertex constraint tells the registration to align the objects, a cloud constraint tells the registration to align the overlapping areas of the point clouds. It is possible to register two ScanWorlds together with only a cloud constraint if the overlapping points constrains the registration in all six degrees of freedom (three translation directions and three rotation angles); for example, if the overlap is in a corner. However, two scans may only overlap in a single plane, in which case, the cloud constraint behaves much like a planar constraint, with the unconstrained degrees of freedom along the face of the plane and around the axis
of the normal of the plane. In such a case, more constraints would be needed.
In this exercise we will be able to register ScanWorld 5 into My Registration using a cloud constraint and two targets. We will also further tighten ScanWorlds 1, 2, 3, and 4 with the addition of cloud constraints.
6.1 Adding Cloud Constraints using Initial Alignment
Picks
In this section we will add ScanWorlds 5 to My Registration. We will explore how it can be registered to the existing registration starting with creating a cloud constraint using initial alignment picks.
We will create a cloud constraint using initial alignment picks between ScanWorld 5 and ScanWorld 2, since there is plenty of point cloud overlap between the two. Also, the geometry of the overlapping points is sufficient to constrain ScanWorld 5 to ScanWorld 2 in all six degrees of freedom.
Further, we will also use the tie-points 1 and 2 contained in ScanWorld 5 to assist in the global registration.
1. In My Registration, click ScanWorld | Add ScanWorld…
2. In the Select ScanWorlds for Registration dialog, move
ScanWorld 5 to the right pane.
Figure_24
3. Click OK. ScanWorld 5 is added to My Registration.
Figure_25
Now we will use the Cloud Constraints Wizard to guide us through the process of creating cloud constraints. The Cloud Constraints Wizard is a useful tool to use to visualize cloud constraint relationships among ScanWorlds in a registration. For this step, though, we will create one cloud constraint between ScanWorld 5 and ScanWorld 2.
4. Click Cloud Constraint | Cloud Constraints Wizard.
Figure_26
The first wizard page appears, displaying a matrix of all ScanWorlds that have been added to the registration. Next, we are to select the check boxes in the matrix to indicate that a cloud constraint should be created between the two ScanWorlds, ScanWorld 5 and ScanWorld 2.
5. Click the check box to indicate a cloud constraint exists between
ScanWorld 5 and ScanWorld 2.
There are in fact other cloud constraints which exist in this registration, but we will use a different method in the next section to find those.
Figure_27
6. Click Update. The Cloud Constraints Wizard initiates the cloud
constraint construction sequence for the selected ScanWorld pair.
The ControlSpaces for the first selected ScanWorld pair are
displayed in the Constraint viewers.
Figure_28
We will use the constraint viewers to make initial alignment hints for the cloud constraint between ScanWorld 5 and 2. The initial alignment hints should be as accurate as possible to produce faster and more reliable Optimize Cloud Alignment results. The Optimize Cloud Alignment command can fail if the picked points do not provide good correspondences. Typically three corresponding picks on the point cloud is sufficient as long as they are within the max. search distance, as defined in the preferences. For an initial alignment, in this case, it may be necessary to pick four or five initial alignment picks due to the density of the point cloud.
For this process it is generally best practices to:
∙Pick points that are easily identified. Good choices include: corners, intensity markings (such as a painted sign on a wall), the top of a pole, and where a pole enters the ground. Bad choices include: the middle of a flat wall, and a smoothly curving surface without an identifiable feature.
∙Pick points that match the pick points in the other ScanWorld as closely as possible. We recommend that your pick points in one cloud match their corresponding pick points in the other cloud
within 0.1m, which is the default Cloud Reg Max Search Distance.
You may increase this setting (see the Registration tab of the
Preferences entry in the Commands chapter), but doing so may decrease the speed and reliability of the Optimize Cloud
Alignment command.
Avoid geometrically symmetric picks. The three points should not form a symmetric shape (such as a line, equilateral triangle, or isosceles triangle). In these cases, the initial alignment may rotate and still match the three points, producing unexpected results. In this case, add a geometrically suitable fourth point to eliminate the symmetry.
The order of the picks in each viewer does not matter, as long as there are at least three asymmetric picks.
7. Manipulate both constraint viewers such that both viewers display
the same overlapping area. To start, view where the base legs
meet the roadway slab (see Figure_29).
Figure_29
8. In Multi-pick mode, pick a couple of points where the leg meets
the roadway slab in both viewers (for a total of four picks).
Using Multi-pick mode ensures previous picks are not erased. If a point is picked by mistake, pick on it again to unselect it. Also, pressing the spacebar will deselect all.
Initial Alignment
Picks
Figure_30
9. Rotate the viewpoint around 180 degrees so that the intersection
of the roadway slab and the wall is visible.
10. Again in Multi-pick mode as not to erase previously made picks,
pick two more picks at the intersection of the roadway slab and the wall (see Figure_31).
Figure_31
11. With these four initial alignment picks made in each constraint
viewer pane, click Constrain in the Cloud Constraints Wizard.
Depending on how accurate you were in making the initial alignment picks you will either see a new cloud constraint added to the constraint list, or you may see a dialog that says Matched fewer than 2 points. Please try again. If you get this dialog, add more corresponding picks or deselect previous picks one at a time in multi-pick mode. To start over, press the spacebar to deselect all of the
picks.
Figure_32
12. If successful in creating the constraint, you will see it listed in the
constraints list marked as “not aligned”. Select it in the constraints list, and then click Cloud Constraint | Optimize Cloud
Alignment.
The Optimize Cloud Alignment Results will display. Take note of the RMS which may be around 6mm and the Aligned status.
Figure_33
13. Click Registration | Register to update the global registration
errors.
In this section we used the Cloud Constraint Wizard to create a cloud constraint between ScanWorld 2 and ScanWorld 5. The Cloud Constraint Wizard guided us through the process of manually picking initial alignment picks in the overlapping point clouds between the two ScanWorlds. After optimizing the cloud constraint, we updated the global registration.
6.2 Adding Cloud Constraints to Improve an Existing
Registration
If you have pre-aligned ScanWorlds (ScanWorlds that are already in the same coordinate system through registration using tie-points), you can add cloud constraints and re-register the ScanWorlds to optimize the registration results. Since the ScanWorlds have already been pre-aligned or registered, each cloud constraint added uses the existing registration to derive its initial alignment. This does not require you to open each ModelSpace to specify the initial alignment hints via pick points (as we will see in the next section).
1. In the ScanWorlds’ Constraints tab of My Registration, press Ctrl
and select both ScanWorld 3 and ScanWorld 4.
Figure_34
2. Click Cloud Constraint | Add Cloud Constraint.
3. In the Add Cloud Constraint dialog, choose the option to Use
Current Registration.
4. Click OK.
Figure_35
∙Compute Automatically will attempt to find the ideal
transformations for the initial alignment between the two
ScanWorlds. This method may take longer than the other two.
∙Use ScanWorld Coordinates will use the default coordinate system of both ScanWorlds for the initial alignment between the two ScanWorlds.
∙Use Current Registration will use the current global registration transformations for each ScanWorld for an initial alignment.
5. In the Constraint List tab, find the newly listed Cloud/Mesh
constraint and select it.
Note that the errors are now in parenthesis and the message at the bottom status bar states that the registration is out of date with the addition of the new cloud constraint. This means the constraint object has been added, but no adjustment including them has been calculated yet.。