Hey Mark,
Thanks for the writeup, this is great. I’ve run into an issue and I’m hoping you have some input. I’ve found that Cv2.ConvexHullIndices will return different counts for different faces, varying between 23 and 21 indices. When I plot the Hull points onto the faces, it looks like the difference in the count is in the eyebrows. Some brows have 3 points, some have 2, which would account for the difference in indices.
As a result, the app fails during Utility.GetWarps method, which assumes that the source and destination hull counts and the destination triangles count are all equal. When they are not, VS throws an ArgumentOutOfRangeException when it iterates through triangle indices and tries to access elements that are missing in sourceList or destList.
Have you run into this issue?