Dalauney vs Poisson

Feel free to ask any question here
Post Reply
Linzoid3000
Posts: 12
Joined: Fri Mar 03, 2017 4:19 pm

Dalauney vs Poisson

Post by Linzoid3000 »

Hi Daniel,

I am comparing C2M with M3C2.
I have read on both, and there are papers out there comparing them, which is great.
I think I understand their strengths and weaknesses.

Now, I ran C2M twice. Once using Delauney meshing, and one with Poisson meshing.
I understand Poisson is meant for closed 3D surfaces, and Delauney is better suited for planar surfaces.
My Delauney mesh based C2M results have triangular artifacts in areas of the highest change.
(I made another post here about that).
I redid the C2M with poisson reconstruction mesh, and these artifacts are gone. However as my target is not a closed surface, I interested to understand poisson's effect on my data. I expect it smoothed things a bit.
The mean change in both is similar, just the Delauney one has a wide range (extremes from the artifacts).

The study target is a natural feature that could be describes as a small landslide scar (~150m). The highest change areas are the retreating headwall area, and the growing piles of debris below that retreating headwall (erosion/deposition).
It makes sense to me that Delauney would have problems with vertical areas (headwall) as they are not planar.

I want to discuss these intricacies in my paper with more concrete explanations that as I described above. This particular target is not well suited for either meshing algorithm. It's not closed, and it's not fully planar. Imagine a high resolution DEM of a ~5degree slope, with a ~150 landslide scar with a horseshoe shaped headwall upslope.

I've read some of the paper references you provide on both algorithms (thanks by the way, that's helpful that they're sitting there!), but they are too technical for me. I don't need to understand the proofs. And I don't expect the authors to explore the type of comparison I'm illuding to.
I've tried to find some literature discussing them both, but I'm finding overlap in terminology in terms of traingulation, poisson, poisson surfaces, delauney and poisson together....
I have it in my head that they are both meshing algorithms, but maybe that's not exactly the case?
I may have a vocabulary problem that is anplifying my confusion.

I've actually compared the change detection results via DoD (DEM differencing), C2M and M3C2, on 8 different data epochs, all compared to one gorgeous UAV reference cloud. All are optic based SfM reconstruction, UAV reference included.
I've plotted the raw results (clouds) as boxplots, and they are all pretty similar, which is encouraging.
The most deviated is M3C2, to my surprise. It estimates change as more than the other methods (DoD, C2M delauney, C2M poisson) when the time since UAV reference is large.
When there is little change (when there has only been a few days since UAV reference epoch), the mean change is most different relative to the other change detection methods.
I've read that M3C2 performs better when change from reference is large, but not as well when change from reference is small, relatively.
Do you agree with that? That might explain these results....
I let CC estimate the scale of N and D, so if the small change (only a couple of days from reference) is close in scale to the chosen N and D, then I might expect M3C2 to be confused a bit more than if the Change to N/D scale ratio was larger (not close to 1).
Am I insane? Does this make sense to you?

I'm really just wanting to better understand, and have references to point at in my paper.
Somewhere between understanding the proofs (too much), and understanding Delauney is good for planes, poisson is good for 3D closed surfaces (too little).
Do you have a recommendation of any change detection papers along these lines? Algorithm math is a bit cryptic for me....!!
Sorry to ask for spoon feeding!

Thanks as always for you time and patience.
You will be getting a big shoutout in my MSc Thesis.
I couldn't do this without you!!

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

Re: Dalauney vs Poisson

Post by daniel »

Hi,

That was a long message ;)

I'll try to answer as best as I can (however I'm not an M3C2 guru like Dimitri ;).

First, to simplify the discussion, I would say that Delaunay can't be used for comparison in most of the cases. It's way to sensitive to noise and creates too many artifacts. Apart if you have a very clean point cloud, you shouldn't use it.

And Poisson does smooth the data a little bit (you can increase the reconstruction 'depth' to reduce this effect). But it's actually good for the noise. You can also use Poisson on non-closed shapes, but you have to remove the triangles that are too far from the original points then (with the 'density' scalar field). The biggest challenge of Poisson is to have good normals. Otherwise you'll also see artifacts (bubbles, etc.) in the reconstruction, especially in areas where data is missing and the slope is changing fast.

Admitting that one way or another you managed to create a good mesh (which is hard), then C2M is your friend. It may be too simple though, as it only looks for the 'nearest point', without any a priori knowledge on the displacement.

This is why C2C and M3C2 were designed, to avoid the hassle and artefacts of mesh creation. M3C2 is way more evolved than C2C so it's the good choice when you only have point clouds.

I won't say that M3C2 is weak when the displacement is small. It's more that you need a high density cloud if you want M3C2 to work properly in this case. And also it depends on the shape of your cloud and the kind of displacement you are monitoring. if it's a big solid planar area that you are monitoring, then M3C2 will work perfectly and very accurately. If it's crumbled pieces of rock, then it's probably not the good option (but I'm not sure any of the methods are good in this case ;). And once again it depends on the 'scale' of the monitored elements.

Anyway, you'll need once again good normals for M3C2 (and this is where high density helps you). Because M3C2 will use them to look for the 'nearest neighbors' and deduce the displacement in this particular direction. Make sure the normals are clean, and all properly oriented.

And sadly, if you want to use M3C2 seriously, you'll need to set the N and D parameters yourself. N can be skipped if you have already computed the normals beforehand. But D really depends on what you are looking at and what kind of displacement you are "tracking".

Last but not least, don't miss the fact that M3C2 outputs a confidence scalar field. You shouldn't take into account the displacement values corresponding to low confidence points. You can remove these points (the points that are not 'significant change') with the 'Edit > SF > Filter by value' method.

Don't hesitate to send me (or Dimitri?) datasets if you need some additional help or advice.
Daniel, CloudCompare admin
Linzoid3000
Posts: 12
Joined: Fri Mar 03, 2017 4:19 pm

Re: Dalauney vs Poisson

Post by Linzoid3000 »

Thanks for your time and thoughts Daniel,
I appreciate it greatly!
I'll try for no more novels to you for at least a while ;P

Lindsay
Post Reply