Tuesday, March 13, 2007
Effect of uneven spacing on PLSD correspondences
When the spacing of points varies around the two contours, the PLSD can be a bad approximation for local shape dissimilarity.


Given the blue and red contours above, here is the COPAP solution (blue to red) using the original PLSD, with spacing penalty lambda = 0, where we compute neighborhoods simply by taking k points directly from the contour (without attempting to correct for uneven spacing):

As we can see, this matching is quite bad--two corners of the blue shape are matched to sides on the red shape. We must crank lambda up to 2 in order to correct for this poor match:

The story for matching from the red shape to the blue shape is even worse--for lambda = 0 we get the following mess:

It is only when we crank up lambda to 6 that the correspondences look reasonable:

True, with the higher spacing penalties good correspondences can seemingly be found; however, this may be an artifact of the particular example chosen, and it seems very unsatisfactory to have to rely on the spacing penalty to achieve a solution which is even close to being reasonable. The spacing penalty's place is to avoid bunching up correspondences along long, flat portions of the contours, not to make a reasonable over-all match possible.
To remedy this situation, we change the PLSD as follows.


(blue to red, red to blue)
Now when lambda is cranked up, the effect is only to even out the bunched up spacings along, and does not change the overall structure of the matching:




Given the blue and red contours above, here is the COPAP solution (blue to red) using the original PLSD, with spacing penalty lambda = 0, where we compute neighborhoods simply by taking k points directly from the contour (without attempting to correct for uneven spacing):

As we can see, this matching is quite bad--two corners of the blue shape are matched to sides on the red shape. We must crank lambda up to 2 in order to correct for this poor match:

The story for matching from the red shape to the blue shape is even worse--for lambda = 0 we get the following mess:

It is only when we crank up lambda to 6 that the correspondences look reasonable:

True, with the higher spacing penalties good correspondences can seemingly be found; however, this may be an artifact of the particular example chosen, and it seems very unsatisfactory to have to rely on the spacing penalty to achieve a solution which is even close to being reasonable. The spacing penalty's place is to avoid bunching up correspondences along long, flat portions of the contours, not to make a reasonable over-all match possible.
To remedy this situation, we change the PLSD as follows.
- Instead of forming neighborhoods of size k by grabbing k nearby contour points (which may or may not be spaced evenly from one contour to the next), we instead take k evenly-spaced points along the nearby contour boundary (interpolating between vertices as necessary) up to some maximum neighborhood distance, d.


(blue to red, red to blue)
Now when lambda is cranked up, the effect is only to even out the bunched up spacings along, and does not change the overall structure of the matching:

