simpleICP icon indicating copy to clipboard operation
simpleICP copied to clipboard

[Python] Exception performing ICP

Open AndriiTsok opened this issue 2 years ago • 1 comments

In some cases the algorithm is crashing peforming ICP for two similar meshes. The same two point clouds (set of vertices) can converge to a result and sometimes can crash when the mesh have another set of world transforms.

Error: Python: Traceback (most recent call last):
  File "/Users/__USER__/model.blend/Text", line 163, in <module>
  File "/Applications/Blender.app/Contents/Resources/3.2/python/lib/python3.10/site-packages/simpleicp/simpleicp.py", line 211, in run
    distance_residuals_new = optim.estimate_parameters()
  File "/Applications/Blender.app/Contents/Resources/3.2/python/lib/python3.10/site-packages/simpleicp/optimization.py", line 120, in estimate_parameters
    weighted_distance_residuals = self._optim_results.residual[
TypeError: 'float' object is not subscriptable

AndriiTsok avatar Jun 25 '22 20:06 AndriiTsok

simpleICP is (currently) for the fine alignment of the point clouds only, i.e. the point clouds must be roughly aligned in its initial state. If that's not the case, the algorithm might crash due to missing correspondences.

Obviously simpleICP currently crashes without proper error handling. Could you send me the two point clouds so that I can debug it?

pglira avatar Jun 27 '22 05:06 pglira