Registering scans from the Great Hall in Edinburgh Castle has been a great opportunity for clarifying certain aspects of the registration process in Cyclone: mainly, the effect of cleaning scans for cloud alignment and registration.
Some laser scanning manuals and practice guides advise that cleaning scans prior to registration can have a positive effect when cloud alignment is used as a registration method. That means removing “bad data”, such as speckle noise or moving objects (cars, people, trees). In the Great Hall project, the effect of cleaning scans was apparent in the cloud-to-cloud alignment statistics (mainly looking at RMS values). The improvement could also be verified visually: registered clean scans present “crisp” surfaces, in contrast with the noisy, “fuzzy” result from the original scans.
It must be noted that manually cleaning scans can be very time-consuming depending on the number of scans, amount of noise and geometry of spaces/objects. Using features like the limit box or various sections/slices through the point cloud can help to identify, isolate, and remove bad data. Cleaning scans is more important when the main registration method is cloud-to-cloud, as the results depend entirely on the effectiveness of the ICP algorithm and overlap between scans.
Deciding when to clean is also important: immediately after importing scans (before any kind of registration) or half-way through (e.g. after putting scans together with minimum number of cloud constraints, but before auto-adding extra constraints)? In some cases, it was very useful to first quickly register the scans without cleaning. This will not produce the best registration result, but was good enough for identifying data voids or other problems. This initial registration can be done before the data acquisition phase is over and even on site: additional scans can be done without having to return to the site later. After this initial registration phase, the scans can be properly cleaned and the registration updated to work with the clean point clouds.
This process has been followed for the Great Hall registration as well as other projects and has shown good results. The initial registration was in some cases performed using the auto-alignment option in Cyclone, for which the software calculates the relative positions of the scans automatically on import. The results are never perfect: usually, auto-alignment creates several distinct groups of aligned scans that then have to be registered together. That’s usually the best case scenario – although in some cases Cyclone has been able to successfully auto-align smaller projects (small number of scans, very good overlap). In other cases, however, the auto-alignment is just plain wrong: the software fails to match the correct surfaces together, resulting in a jumble of unrelated scans. For this reason, the constraints created by the auto-alignment process should be checked manually. Note that looking at the statistics of the cloud alignment algorithm is not always enough: sometimes constraints with RMS value <<10mm are actually completely wrong when checked visually. Still, the auto-alignment feature has proven extremely useful especially in larger projects, because it can save considerable amounts of processing time. In some cases, however, (perhaps when overlap between scans was rather low) it made more sense to completely disregard the results of the cloud-alignment and start fresh, as trying to fix the constraints would take more time than creating them from scratch.
The correct procedure for cleaning scans before registration in Cyclone is not as straightforward as one might imagine. This is mostly due to the complicated structure of Cyclone databases; one needs to understand the hierarchy and relationships among ControlSpace, ModelSpace, ScanWorld and Scans. After much experimentation and communication with Leica support, it has been determined that in the latest version of Cyclone (9.1.3), the cloud alignment algorithm works with the point cloud inside the ScanWorld’s ControlSpace, not with the ModelSpace or Default Clouds. However, in the registered ScanWorld, it is the Default Clouds that appear for each individual ScanWorld. Which can be useful in some cases, but also very confusing. Do you clean in the ModelSpace or ControlSpace? And if in the ControlSpace, which ControlSpace?*
*Cyclone creates a “child” ControlSpace for every time the ScanWorld appears in a registration within the database.
As it stands at the moment, the process for cleaning scans is as follows:
- In the tree view, go to each ScanWorld’s ModelSpace and clean unwanted objects.
- Select the clean point cloud and make it the ScanWorld’s Default Cloud.
- Delete point clouds from the ControlSpace(s).
- Go back to the clean ModelSpace, select clean cloud and Copy to ControlSpace(s).
This process will ensure that (a) the cloud alignment algorithm will use the clean clouds (from the ControlSpace), therefore improving registration results and (b) any new ModelSpaces created, as well as the registered ScanWorld ModelSpace, will contain only the clean clouds (Default Clouds).