PCL point function histograms - binning
The binning process that is part of the point histogram evaluation results in b^3
bins if only three angular functions (alpha, phi, theta) are used, where b is the number of bins.
Why is this b^3
, not b * 3
?
Let's say we consider alpha. The range of values ββof the function is subdivided into b intervals. You iterate over all neighboring query points and count the number of alpha values ββthat lie in one interval. So you have b bins for your alpha. When you repeat this for the other two functions, you get 3 * b
bins.
Where am I going wrong?
source to share
For simplicity, I will explain this in 2D first, i.e. with two angular functions. In this case, you will have b ^ 2 bins, not b * 2.
The function space is divided into a regular grid. Features are locked according to their location in 2D (or 3D) space, rather than independently of each other in each dimension. See the following example with two function parameters and b = 4, where this function is marked in the box marked #
:
^ phi
|
+-+-+-+-+
| | | | |
+-+-+-+-+
| | | | |
+-+-+-+-+
| | | |#|
+-+-+-+-+
| | | | |
+-+-+-+-+-> alpha
The function binds to a cell where alpha is in a given range AND phi is in a different range. The key difference from your understanding is that dimensions are not handled independently. Each cell defines an interval for all measurements, not just one. (This will work the same in 3D only if you have a different dimension for theta and 3D mesh instead of 2D.)
This binning method results in b ^ 2 bins for the 2D case, as each interval in the dimension is alpha
combined with ALL intervals in the dimension phi
, which results in a square of the number, not a doubling.Add another dimension and you end up with a cube instead of a triple as in your question.
source to share