Cloud to Cloud Compare Workflow

Feel free to ask any question here
Post Reply
eliscio
Posts: 10
Joined: Tue Nov 22, 2011 12:37 am

Cloud to Cloud Compare Workflow

Post by eliscio »

Hello All,

This is my first post and I tried a couple of projects with CC. I am quite impressed with how I am making out with this software so far.

I wanted to go over my workflow so that I wasn't missing anything here with respect to some features or other items. What I want to do is highlight the change between two point clouds that have minor differences over time. Right now it's just a test set of clouds, but what I have done is imported both as ply files and have then done the Cloud Registration. I simply hit the default values and it seems to have worked. I don't know if there is anything I can do here to improve the result since it all seems quite automated. Is the Error for the cloud to cloud registration given in the point cloud units? There are two values that are iterating and one is in square brackets...what is the difference between the two?

Following this I want to note the surface changes so I am using the cloud to cloud distance. I choose my reference and compared point clouds, but I am not clear on some of the distances and how they are displayed. For example, what happens when a part of the reference point cloud exists, but there are no points in the compared point cloud? I saw I had some high errors and am thinking that these were possibly from parts that had no overlap?

I will probably come up with more questions, but hopefully I'll answer most of them on my own.
CC-Sandprints1-Web.jpg
CC-Sandprints1-Web.jpg (180.05 KiB) Viewed 17793 times
Cheers,

Eugene
daniel
Site Admin
Posts: 7710
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Cloud to Cloud Compare Workflow

Post by daniel »

Hello,

[About registration]
  • Regarding your clouds and the fact that there are few differences between them (i.e. the clouds are already almost registered and the overlap is good) the ICP algorithm should work fine as it is.
  • The parameter "Error difference" (which is the only one you should change in everyday usage) is simply a convergence criteria (if the registration error decrease between two iterations is lower than this value, the algorithm will stop). This is not the resulting error.
  • The numbers which appear in the progress bar are: Registration Error [Error decrease for current iteration] (so the algorithm stops when the one in brackets falls below the "Error difference" parameter)
[About distance computation]
  • By default the distances between two clouds are computed the following way: we assign to each point of the "compared" cloud the distance to its nearest neighbor in the "reference" cloud. This works well when you have a high density cloud as a reference (which is rather common with scanner lasers) and a good overlap. The error that remains is only due to sampling and is bounded (there are formulas in my PhD manuscript - which is sadly only in french). If the sampling is not sufficient, you can use a "local modelling strategy" (CloudCompare fits a small model - plane, triangulation or quadric - on the nearest point and its neighbors in the reference cloud to get a better distance evaluation). However this is only a local strategy.
  • If the point is far from any other point in the "reference" cloud because of a lack of data in this area, you'll indeed get big distance values that is clearly an outlier. The first thing in this case is to remove points that are not in overlapping zones (you can use the graphical segmentation tool - the scissors - to do that). This is clearly what we see on the borders of your dataset. Therefore, If possible one should always get a reference cloud as wide as possible, or at least a little larger than the compared zone (=safety border). Also, if you know approximately the typical differences span, then you can also "hide" the points with distances above a certain limit (with the color scale sliders). It will at least graphically remove the worst outliers. And of course, if you can produce a triangulated version of the whole compared cloud, you should definitely use it.
  • Eventually, there's also a set of methods to take into account the scanner point of view at each scan epoch, and work on the corresponding depth maps (the point clouds as seen by the scanner) instead of the 3D clouds. This is very efficient to deals with occluded zones, etc. However, for this you'll have to extract several information from your scanner output (the angular steps, the internal rotation/translation relatively to its optical center, etc.) and the methods are so rarely used that they are very badly documented (i.e. worst than the rest!). Of course, I anyone is interested in these, we could/should make things clearer.
I hope I've been clear enough.

Don't hesitate to ask other questions,

Daniel
eliscio
Posts: 10
Joined: Tue Nov 22, 2011 12:37 am

Re: Cloud to Cloud Compare Workflow

Post by eliscio »

Daniel,

Thanks for the detailed reply. This is really great information. I have some more plans to use CC in the near future and I will post more of my results.

Cheers for the holidays!

Eugene
Diggler
Posts: 5
Joined: Tue Jan 17, 2012 1:58 pm

Re: Cloud to Cloud Compare Workflow

Post by Diggler »

Dear Daniel,

I´m really interested in this tool. However, it is not working. If I´m hitting the compute button the programm always crashes. Seeing the screenshot above shows me that it should work, particullary on Windows, but it doesnt.

Sometimes it is just a windows report, sometimes I see something about a runtime error.

Any idea?

I already tried a lot of different imports (from Ascii), registration and so on. But I only can see the pre-computation.

Kind regards,
Dirk
Attachments
Pre-computation Screenshot
Pre-computation Screenshot
pre_prob.png (109.6 KiB) Viewed 17687 times
daniel
Site Admin
Posts: 7710
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Cloud to Cloud Compare Workflow

Post by daniel »

Hi,

what is the Windows version you are working with (Xp or 7, 32 or 64 bits ? + maybe the amount of available memory).

And maybe you can send me your dataset and I'll try it on my side (it's generally the best way to find bugs). Also, have you tried an older version of CC (there's always one at the bottom of the download page).

I'm waiting for your feedback,

EDIT: i've tested the last version of CC on several configurations, and I reproduced the issue on Windows 7 (but not on XP). I'll try to figure out the problem ASAP and I'll post a new version.
Daniel, CloudCompare admin
Diggler
Posts: 5
Joined: Tue Jan 17, 2012 1:58 pm

Re: Cloud to Cloud Compare Workflow

Post by Diggler »

Dear Daniel,

yes it is Windows 7 Enterprise 64bit. Running on XP it works.
On the old XP machine it is also really fast and the results look logical.

However, about the workflow:
What are the necessary steps to achieve good results?
How can I display the legend like in the example of eliscio on the right side?
Can I export the picture on the screen for further editing?

Kind regards,
Dirk
Diggler
Posts: 5
Joined: Tue Jan 17, 2012 1:58 pm

Re: Cloud to Cloud Compare Workflow

Post by Diggler »

Ok..using another Local model then "NONE" leads to the runtime error also on the XP machine.
Attachments
bug.png
bug.png (5.02 KiB) Viewed 17679 times
daniel
Site Admin
Posts: 7710
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Cloud to Cloud Compare Workflow

Post by daniel »

Ok, the issue has been fixed with the last released version (v2.3_01_18_2012 - see download page).

It was due to the fact that the progress bar was not thread-safe.

Thanks for the feedback.

Daniel
daniel
Site Admin
Posts: 7710
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Cloud to Cloud Compare Workflow

Post by daniel »

Diggler wrote:Dear Daniel,

yes it is Windows 7 Enterprise 64bit. Running on XP it works.
On the old XP machine it is also really fast and the results look logical.

However, about the workflow:
What are the necessary steps to achieve good results?
How can I display the legend like in the example of eliscio on the right side?
Can I export the picture on the screen for further editing?

Kind regards,
Dirk
So, to answer your questions:
- to get the best results, you must have a reference cloud as dense as possible and a good overlap between both clouds. The local model based refinement is here to help you in the other case (the best local model is "Height grid", but it is also the slowest). This gives more accurate results in a global point of view (i.e. statistically) but it can also give locally strange results (as the local model is a very simple and narrow approximation computed only on few neighbors points).
- to display the color bar, you have to select the point cloud, go down its "properties" and check the "display scale" checkbox (you can only show one scale bar at a time). There's several options regarding the scale bar that are directly accessible in the same "properties" list. And there's more general parameters in the "Display settings" (the wrench icon or "Display > Display Settings")
- to export the window, you can either use the built-in method ("Display > Render to file") or use the "Alt" + "Print screen" buttons and paste the captured window in your favorite image editing tool.
Daniel, CloudCompare admin
Post Reply