I am investigating how a particular statistical outlier removal algorithm of 3D data works, but I am not able to properly figure out what they are doing.
The purpose of this algorithm, is to removal outlier points (in 3D space), and this algorithm is parameterized by k
, which is the number of neighbors each points considers, and an std_threshold
which seems to be a threshold on some standard deviation.
This explanation seems to be especially obtuse, where they claim it works by:
Our sparse outlier removal is based on the computation of the distribution of point to neighbors distances in the input dataset. For each point, we compute the mean distance from it to all its neighbors. By assuming that the resulted distribution is Gaussian with a mean and a standard deviation, all points whose mean distances are outside an interval defined by the global distances mean and standard deviation can be considered as outliers and trimmed from the dataset.
This explanation on the other hand claims that this algorithm works by:
Filtering points based on their local point densities, by removing points that are sparse relative to the mean point density of the whole cloud.
I am trying to attain a somewhat formalized explanation of this technique. I understand the intuition behind it, but I cannot seem to reconcile exactly what they are doing. Any help is appreciated. Thanks!