Comparing 2 Point clouds ply file

Feel free to ask any question here
Ax_Ahmed
Posts: 18
Joined: Thu Jan 04, 2018 12:11 am

Comparing 2 Point clouds ply file

Post by Ax_Ahmed »

Hi,

I have 2 sets of data generated from 3D laser scanner in the field. The period between the data is around 8 months. I would like to compare the 2 (before and after), so I would like to see the differences in the surface (if there are any loss in the surface for example). I have saved the data as Ply then imported into CC. The 2 scans are on top of each other when I import the data into CC. However, the scans are slightly different (where one of them is bigger than the other. I could trim them to make them closer but they will not be exactly the same. I have used the command ''sample points on a mesh''. Then I have highlighted the 2 clouds and register them by ''align 2 clouds by picking''. I can find mutual points from the 2 scans, so I picked them as reference points. Then I have applied the ICP for fine registration (I used overlap as 80%, RMS left the same, no adjust scale, no enable farthest points removal and I have increased the random sampling points to 2000000 more than the data and model. after using ''align points pair picking''. The RMS get smaller which I assume the smaller RMS the better is the registration.
1/Which one to use to see the difference between the 2 scans? M3C2 or compute cloud to cloud distance (C2C)?
2/What is volume calculation will tell me? does it tell me the loss volume? how accurate is this if the 2 scans are not 100% the same size. Maybe the volume will increase because the second scan is slightly bigger? Empty cells, I usually use leave empty and leave the step as 1.000000 and cell height as average.
3/I'm not sure what to sue in the M3C2 distance settings like the main para..normals I normally leaving them as they are with ticking the box of the standard deviation and point density in the output.
4/ I want to able to present the 2 scans and say this what has changed
5/ The standards deviation of M3C2 and C2C are very similar but the means are different. I also want to look at the standard deviation for both scans separately. I do get STD_cloud1 and STD_cloud2. Are these the standard deviations for cloud1 (scan 1, reference) and (scan 2, registered). Do they represent the roughness? because there is another roughness in the toolbar under ''other'' but I'm not sure whether to leave the Kernel size the same or not as both clouds have a different value
6/If I use C2C there will blue colour with some yellow-red. Are these colour represent the difference from the first scan?
7/ I use Surfer software to get a nice contour map for surface visualization. I import the M3C2 file in ASCII format to surfer to look at the height differences between the 2 scans.

I also have another site where I scanned the same area but the scanner wasn't exactly at the same angle. See image 4. In this case is it possible to carry on with analysis?

Here are some pics! How can I upload CC file here? sorry for all these questions! I'm writing a conference paper and I need to put all these analyses.
Attachments
Capture4.PNG
Capture4.PNG (85.59 KiB) Viewed 8757 times
Capture1.PNG
Capture1.PNG (137.45 KiB) Viewed 8757 times
Capture2.PNG
Capture2.PNG (196.57 KiB) Viewed 8757 times
Ax_Ahmed
Posts: 18
Joined: Thu Jan 04, 2018 12:11 am

Re: Comparing 2 Point clouds ply file

Post by Ax_Ahmed »

Dear All,

Could someone help me with my post, please! thanks
daniel
Site Admin
Posts: 7721
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Comparing 2 Point clouds ply file

Post by daniel »

1) M3C2 is more robust and it can output signed distances
2) Loss or gain of volume yes. Only the common 'cells' will be compared. Non overlapping areas won't be taken into account in the computation
3) you can leave most parameters as they are. Apart from the two first tabs (it is important to set the scale correctly, as well as how normals should be computed --> in your case the best and simplest option is surely to use 'purely vertical' normals)
4) ok
5) C2C distances are unsigned. Therefore the mean is shifted (the Normal Distribution is 'folded'). This is why the mean is different. STD_cloudX is indeed the local standard deviation, and thus it can be considered as the local roughness. It's more or less the same computation as with the 'Tools > Other > Roughness' tool. In this case the kernel size is a default guess based on the bounding-box. It would be smarter to use the same value.
6) Yes. Use 'Ctrl+C' or check the 'Visible' checkbox in the 'Color scale' part of the cloud properties to see what the colors correspond to. You can also change the color scale, and create your own (see the wiki).


To share data, the best option is to host them on a cloud service (drop box, google drive, etc.) and then paste the link in your message (with the 'URL' decoration).
Daniel, CloudCompare admin
Ax_Ahmed
Posts: 18
Joined: Thu Jan 04, 2018 12:11 am

Re: Comparing 2 Point clouds ply file

Post by Ax_Ahmed »

Hi,

Thanks for your reply. I have some questions :)
1- Regarding the M3C2, the first two tabs (scales) normals, projection and depth.
A) How to set these values and according to what? by default normals and projection are the same values. For example in my case.
B) For the core points, does it matter if I use ''use cloud#1'' or subsample cloud # 1?
C) Normals. There is a tick option where it says ''use core points for normal calculation'' shall I click on it?
D) Output. Projection core points on Cloud #1 or Cloud#2? also, there is an option where it says ''use original cloud'' click on it?
E) What is the significant change? I will upload a pic. I have all red and they are red dots.
5- For the roughness tool. You mean is better to use the same kernel values for both clouds? and If I use the standard deviation as a measure of roughness is this enough and not to use the roughness tool?
6- In my case, if use ICP for the registration after using align points pair picking.
A) In order to get an accurate ICP registration, I should use the overlap as 80%? when should I go to a lower percentage?
B) RMS value, leave it the same?
C) Adjust scale, No or yes?
D) Random sampling points should be more than both clouds. let's say 2000,000.00?
7- The volume tool calculation.Ground/before and ceil/after (empty cells) what option should I use? leave empty or interpolate?
8- What is the difference between height ramp and scalar field in the colour option?

I assume there is no need to trim the sample to make them in the same size/shape if volume and M3C2 will take only the common points in both clouds?

I will share the data soon. I have emailed you last Thursday with my data when I was having a problem.

Many thanks
Attachments
Capture_sig change.PNG
Capture_sig change.PNG (53.8 KiB) Viewed 8713 times
Capture_sig change 2.PNG
Capture_sig change 2.PNG (35.44 KiB) Viewed 8713 times
daniel
Site Admin
Posts: 7721
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Comparing 2 Point clouds ply file

Post by daniel »

A) You can use the 'guess params' button if you don't know. But to set it accurately it would be better to try to understand how the algorithm works (by reading the article for instance). Using the same value for normal and projection seems reasonable. If you use 'purely vertical' normals, then you don't need the 'normal' radius anyway.

B) Using a subsample cloud reduces the computation time but it's slightly less accurate. Therefore it's good to test with a subsampled version, and then use the full cloud (or a less subsampled cloud) for the final result

C) If you already have (good) normals, then yes it' better to use them

D) It depends on what you want :D

E) You really need to read the documentation / article ;). It's a flag for each point to say if its M3C2 distance corresponds to a real / significant change, or if it's probably more due to measurement / registration noise

5) same answer as previously. I don't know what to add...

6-A) it depends on the actual overlap! You only can assess it (roughly). Of course you should use the highest possible value ... but not too big ;)

6-B) yes

6C) no! (it's only when you don't trust the original scale of your clouds, do you?)

6-D) if you really want to use all the points. But it's generally not necessary (considering some of your points are probably outliers, etc.).

7, 8) really?
Daniel, CloudCompare admin
Ax_Ahmed
Posts: 18
Joined: Thu Jan 04, 2018 12:11 am

Re: Comparing 2 Point clouds ply file

Post by Ax_Ahmed »

Thanks Daniel.
1- How to make the M3C2 plot as a contour map?
like the image below one is before and one is after but I want M3C2 in a contour map, so I can be able to present scan 1, scan 2 and the M3C2 distance.
What I normally do is save the M3C2 output in Excel then use another software and use M3C2 as my Z value and look at the height difference.
2- Should I use +Z as my preferred orientation?
3- Do you have a youtube channel where perhaps explaining all this issue and software settings? I know there is information on the wiki.

Merci!
Attachments
M3C2 distance.jpg
M3C2 distance.jpg (113.62 KiB) Viewed 8688 times
Site1_Mesh2.sampled.jpg
Site1_Mesh2.sampled.jpg (60.46 KiB) Viewed 8688 times
Site1_Mesh1.sampled.jpg
Site1_Mesh1.sampled.jpg (56.75 KiB) Viewed 8688 times
daniel
Site Admin
Posts: 7721
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Comparing 2 Point clouds ply file

Post by daniel »

1. You could try to use the Rasterize tool (it has a 'contour plot' option)
2. Probably (looking at your snapshots)
3. I'm not the author of this plugin... There's a youtube 'playlist' that regroups all tutorial videos (https://www.youtube.com/playlist?list=P ... rCjtqlXN4_) but I don't remember any video on M3C2
Daniel, CloudCompare admin
Ax_Ahmed
Posts: 18
Joined: Thu Jan 04, 2018 12:11 am

Re: Comparing 2 Point clouds ply file

Post by Ax_Ahmed »

Hi,

Thanks for your responce.

Regarding to the ICP
1- Why the volume calculations keep changing every time if I register the clouds many times. Like this ''Mesh 2.sampled.registered.registered.registered.''

2- I have tried 20%, 50%, 80% and 100% overlap and I keep getting different results + and -. I'm trying to work out which is the best in my case. The samples are almost overlapped when I do import them into CC.

100% overlap
Volume: -11.914
Surface: 12,354.000
----------------------
Added volume: (+)178.996
Removed volume: (-)190.910
----------------------
Matching cells: 97.4%
Non-matching cells:
ground = 2.4%
ceil = 0.2%
Average neighbors per cell: 7.9 / 8.0
Final RMS is 0.1

80% Overlap
Volume: 12.784
Surface: 12,354.000
----------------------
Added volume: (+)189.709
Removed volume: (-)176.925
----------------------
Matching cells: 97.4%
Non-matching cells:
ground = 2.4%
ceil = 0.2%
Average neighbors per cell: 7.9 / 8.0
RMS is 0.06

50% overlap
Volume: 8.778
Surface: 12,355.000
----------------------
Added volume: (+)187.719
Removed volume: (-)178.941
----------------------
Matching cells: 97.4%
Non-matching cells:
ground = 2.3%
ceil = 0.2%
Average neighbors per cell: 7.9 / 8.0
RMS is 0.04

20% overlap
Volume: 7.555
Surface: 12,355.000
----------------------
Added volume: (+)187.075
Removed volume: (-)179.519
----------------------
Matching cells: 97.4%
Non-matching cells:
ground = 2.3%
ceil = 0.2%
Average neighbors per cell: 7.9 / 8.0
RMS is 0.03

3- For the random sampling limit. The value must be more than the sum of the 2 clouds ? reference cloud is 853,871 and registered is 996,869 I add these and put a higher number in the random sampling limit?


4- The tool>fit>plane. I must select both clouds first at the same time and then use the plane fit and use the same matrix for transformation or do them separate.

Merci for being patient!
daniel
Site Admin
Posts: 7721
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Comparing 2 Point clouds ply file

Post by daniel »

1. Points are randomly picked (see 3), so yes it will vary a little bit each time... but only a little bit. You have to put this in perspective with the scanner noise, etc.

2. ICP is meant to register point clouds representing EXACTLY the same shape. Any difference will change the result, this is why you have to tell CC to avoid considering points too far/different. However it's almost impossible to a get a perfect result as there's also the issue of point clouds density. Once again, you have to put this inaccuracies in perspective with the scanner noise, etc.

3. If you want to avoid the random selection process at each iteration, then yes, you can use a number larger than the two clouds

4. No you have to use the same matrix for both clouds. So you only need to choose one cloud (or merge the two if it makes sense to you). Once again this is an approximate approach anyway...
Daniel, CloudCompare admin
Ax_Ahmed
Posts: 18
Joined: Thu Jan 04, 2018 12:11 am

Re: Comparing 2 Point clouds ply file

Post by Ax_Ahmed »

Bonjour,

1- Regarding point 2-
A- So you mean it's better to use ''Enable furthest point removal''?
B- Avoid 100% overlap because there are small changes in scans? By looking at my scans, which ''percentage'' do you think is better for overlapping, if I set the random sampling limit higher than both cloud? If it was you, which percentage would you use roughly?

2- I have used scalar field before and it was working fine where I had nice colourfull pictures, but now it comes all blue. Am I missing something? For the height ramp its fine. I have attached the Pictures and a description.

Merci!
Attachments
Scalar feild.PNG
Scalar feild.PNG (191.96 KiB) Viewed 8620 times
Scalar feild with no selecting the Dip direction-dip angle.PNG
Scalar feild with no selecting the Dip direction-dip angle.PNG (159.98 KiB) Viewed 8620 times
Height ramp.PNG
Height ramp.PNG (464.96 KiB) Viewed 8620 times
Post Reply