Solution for ICP

Feel free to ask any question here
Post Reply
Laurent_B
Posts: 7
Joined: Fri Feb 10, 2017 9:37 am
Location: Strasbourg, France

Solution for ICP

Post by Laurent_B »

Hello,

I'm working on a project which consist in reassembling Fractured Object (blocks of stone).
To do this, I have points cloud in data that I first consolid then and then I merge.
After that I create a mesh with the poisson surface reconstruction in CloudCompare.
Once I have these point cloud meshes, I take two meshes which correspond to two Blocks that were stuck before the break.
I pick equivalent point pair on the analogue surface and I run the ICP. To improve the matching of these meshes, I segment the meshes with the approximative surface overlap I take the transformation that I apply to my whole blocks .
But the main problem is that in the reality my blocks of stone can't intersect themselves but the point cloud meshes given that are virtual can intersect themselves.
I have already searched for methods to improve the ICP for my project , maybe using a asbolute value in ICP to ban the negative distance and so ban the intersection of surface ? May be using normals in the ICP algorithme ?

I'm writing to you in case you have some advices or solutions to my problems

Thank you in advance
Laurent
Laurent Bitard
daniel
Site Admin
Posts: 7721
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Solution for ICP

Post by daniel »

Sorry, I have never heard of such modification of the ICP algorithm. And this kind of iterative optimization algorithm don't like discontinuities very much (such as the ones that would be induced by these virtual boundaries).
Daniel, CloudCompare admin
Laurent_B
Posts: 7
Joined: Fri Feb 10, 2017 9:37 am
Location: Strasbourg, France

Re: Solution for ICP

Post by Laurent_B »

Thank you for your fast answer !

They are a lot of article which mention a modification of the ICP algorithme such as :

http://jacoposerafin.com/wp-content/upl ... 15iros.pdf
http://www.pcl-users.org/file/n4037867/ ... of_ICP.pdf
https://hal-lirmm.ccsd.cnrs.fr/lirmm-00106684
https://hal.archives-ouvertes.fr/hal-00576904
etc..

So, I think that the algorithm is editable for example with normals (in the first links there is a library in C++ open source but I don't know how to run it). May be it will be more efficace for my topic. But I don't really know if it possible to create these methods in CloudCompare. It seems very difficult for me because I have no experience in programming.

But may be have you any solution than ICP for matching my blocks in CloudCompare ?

Thank you for your answer
Laurent Bitard
daniel
Site Admin
Posts: 7721
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Solution for ICP

Post by daniel »

Oh, I know about modified versions of ICP. But as far as I know they are not preventing the clouds from intersecting each other...
Daniel, CloudCompare admin
Laurent_B
Posts: 7
Joined: Fri Feb 10, 2017 9:37 am
Location: Strasbourg, France

Re: Solution for ICP

Post by Laurent_B »

Ok I see, Thank you ! But don't you know if it is possible to use any variant ICP in CloudCompare (using normals for example) ?
Laurent Bitard
daniel
Site Admin
Posts: 7721
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Solution for ICP

Post by daniel »

Not in CC at least... Maybe Meshlab?
Daniel, CloudCompare admin
Laurent_B
Posts: 7
Joined: Fri Feb 10, 2017 9:37 am
Location: Strasbourg, France

Re: Solution for ICP

Post by Laurent_B »

Ok ! So i will search in Meshlab !
In any case , thank You very much for your reactivity and your answers !
Laurent Bitard
Post Reply