Tutorial #A07/1 : External point cloud registration

External point cloud registration


Welcome to the 3DF Zephyr tutorial series.
In the following tutorial you will learn how to choose between the ICP and MULTI ICP algorithms available in Zephyr. This is the first part of three tutorial on the subject.
This is a tutorial for Zephyr 3.x and 4x – the old tutorial for Zephyr 2.x can still be found here


  • Intro

In this tutorial you will find a generic overview of registration and for each registration phases. Every section below will have a link to a specific tutorial that allows you to complete that phase.
For this tutorial we used following dataset :

download eptDownload Dataset – Mirandola (230MB)


  • Point cloud registration overview

A point cloud is defined as “unstructured” when it’s free to move in the workspace (basically, it’s not tied to any other workspace object such as cameras / photogrammetry generated elements, such as external point clouds that are brought into the workspace)
Point cloud registration can be done directly in Zephyr. Point cloud registration can be done :

  • between an external point cloud (e.g. laser scanner point cloud) and a photogrammetry (Zephyr generated) point cloud
  • between multiple (e.g. 2 or more than 2) external, unstructured point clouds (for example, multiple laser scans)

Please remember that:

  • the objects must be close to each other
  • You can use these tools to register multiple unstructured objects and structured ones
  • the adjustment and the minimization will be performed in a global way
  • if you need to register point sets with different scales, it is advisable to use the two view ICP dialog and enable scaling.

Both case scenario can be solved with a similar workflow, although there are some differences in the process : if needed roughly pre-align the point clouds (step 1), then execute the fine registration (step 2), and finally structure the point cloud (step 3).

When dealing with a photogrammetry point cloud and an external point cloud, you shall use the “Point Cloud Registration (ICP)” command from the “Tools” -> “Registration” Menu. This function considers translation, rotation and scale. Using this function you can then align a laser scanned point cloud which can then later, for example, be structured and colored with the photogrammetry obtained point cloud.
When dealing with multiple external, unstructured point clouds, you shall use the “Multiview point cloud bundle adjustment (Multi ICP)” command from the “Tools” -> “Registration” Menu. Use this function when dealing with many point clouds that are already in the correct scale system, for example multiple scans from a laser scanner device. This function does not apply any scale factor.


  • Preparation

Following this workflow allows you to merge photogrammetry and laser scan objects. Start opening .Zep file with dense point cloud then drag and drop laser scan file (.ply) (1) into the workspace.
Then select “Merge” (2) at window appeared. This allows you to load laser scan object into already opened photogrammetry workspace.
Please note that sometimes, the imported object can be positioned to very far coordinates: if you don’t immediately see the imported object, try to move the workspace camera until you see the subject.Or simply use the “use object centre” function.In order to do this, open the panel “Registration” (3) and click on “Match Object center” (4).
The “Match Object Center” (5) window will appear. Select the “Destination object” and the “Moving object” (in this example we chose as “moving object” the laser scan (6)) and then press “Ok” (7) to move forward.

  • Step 1a – Rough alignment – Gizmo

You can also use Gizmo to bring the objects to a rough alignment. You can enable the “Gizmo tool” from the top toolbar (8). This button will open the “Transform object” (9) window
When using the gizmo, it’s advisable to enable all the desired items with their appropriate checkbox, for better workspace browsing. You may pick which object has to be moved from the dropdown box “Object” (10).
When you are happy with your modification to remember to press “Apply” (11) before exiting Gizmo tool or before changing Object. Press “Ok” (12) button to move forward.

  • Step 1b – Rough alignment – Control Points

When dealing with very noise photogrammetry point cloud or excessively planar surfaces (building facades), you may want to use control points prior to the ICP alignment. In this case, the alignment via control point takes just a few clicks and can vastly improve the results.
A tutorial for this specific topic is available at the following link :

Tutorial : Rough alignment, Gizmo and control points.


  • Step 2a – Fine Registration: point cloud registration (ICP)

The ICP function (Iterative Closest Point) is an algorithm employed to minimize the difference between two point clouds. This is the preferred method when you are dealing with different scale factors.
You can find an in-depth tutorial for this scenario at the following link :

Tutorial : Point cloud Registration (ICP) 


  • Step 2b – Fine registration: multi view point cloud bundle adjustment (Multi ICP)

Laser scan registration in Zephyr 3.0 has been made extremely easy and extremely accurate thanks to our brand new multi ICP algorithm. The process is very similar to the one described above, except that the laser scan registration usually does not have a scale factor to consider. The process can be summarized in this very short video tutorial:

  • Step 3 – Structuring the point cloud

Simply select the desired dense point cloud from the “Project” Tab, right click it and then click “Make structured”. Select the options accordingly to your needs (such as compute normals and compute colors) and click OK. You’re done! (You may also unstructured any structured object at any time, by selecting “Make unstructured”).

The next tutorial will show how to generate contour lines and sections. Proceed to the next tutorial.