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?

+3


source to share


1 answer


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.

+1


source







All Articles