Introduction
Following up with my last post on NCH being roto-translation invariant, the idea of this one is to cover what I consider the most important gaps left by the original brief paper. My expectation is that doing this will help understand better why NCH works, and hopefully gain some insight into how to improve it.
Equivalence of formulations
Equation (4) in the paper says:
However, the definition used in (2) is slightly different. Where does (2) come from? from expanding inner products in the second term of the sum:
Thus, when you replace in the original definition:
Which is exactly what we wanted
Fantastic ρᵢs and where to find them
In equation (3), the author says what the value of should be. He later defines as the largest value of such that . If you actually write it out:
And thus
If you gather the constraints for all s together, then you have that
And we further need that in the case the supporting set actually ends up being just the linear half space (as should happen when fitting planes, for example).
ρs and θs
One interesting thing to notice out of the estimation of is that (in non-standard notation, but good enough for understanding):
Where denotes the cosine similarity between the two vectors; i.e. the angle between them. The following plots show the component in the maximum above for a given and (notice is NOT included in the plot, for obvious reasons), as well as the cosine similarity. You can tune the parameters:
Results are as you would expect: towards the outside of the surface (i.e. in the inverse direction as the normal) we get negative values, and towards the inside we get positive. However, contribution of a point to the maximum decreases really fast as you move away from the center point, because the cosine similarity is bounded between and , while the distance it is divided by can be arbitrarily large.
This may be an interesting way to construct an heuristic to speed up NCH: process only the points that are closest when computing the rho.