menpo / menpo3d

Tools for manipulating 3D meshes within the Menpo project.
http://www.menpo.org
Other
164 stars 55 forks source link

non-rigid icp computing the wrong edge triangles? #55

Open HaoyangWang opened 6 years ago

HaoyangWang commented 6 years ago

https://github.com/menpo/menpo3d/blob/f29324b12a147f5b716ae5c3048d2c6b7a298752/menpo3d/correspond/nicp.py#L239

Although the edge constraint is disabled in the code, the edge triangles should be computed on the target mesh instead of the source.

Mad-Thanos commented 4 years ago

I guess the following line is also incorrect: https://github.com/menpo/menpo3d/blob/f29324b12a147f5b716ae5c3048d2c6b7a298752/menpo3d/correspond/nicp.py#L369 the tri_indices contains triangle indices into the facet array of the target mesh, but the edge_tris is an array of boolean values. The np.in1d() does not work that way, right?

So actually at runtime, the w_i_e array is always all True.

Mad-Thanos commented 4 years ago

May I ask, why was the edge constraint disabled?