pcdenoise: some questions
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Tom Repetti am 8 Nov. 2021
Kommentiert: Tom Repetti am 8 Dez. 2021
Man, for such a simple heuristic, pcdenoise does have some questions:
1) Are self-distances included in the k nearest neighbor distances?
2) Can the threshold parameter be negative or zero? As described in the reference, it seems that the threshold parameter shouldn't really be allowed to be negative or zero, but Matlab doesn't seem to mind - it only wants a scalar.
3) Even for a positive threshold, is the filtering really happening as described in Rusu's paper?
If I take my point cloud and calculate d50 (the distances to the 50 nearest neighbors), then find the global mean and std of that distribution, I do not get the same number of inliers and outliers that pcdenoise returns, for a threshold value of 0.1. I realize the threshold is actually a multiplier on the global_std, which then yields a number that is added to and subtracted from the global_mean in order to yield a range of dknn values; the inliers are those points whose dknn values are within that dknn range, and vice-versa for the outliers.
Thanks for any help
Vineet Joshi am 8 Dez. 2021
As please refer to the reference section of pcdenoise for Question 1 and Question 3.
For Question 2, please find the explanation below.
The threshold is parameter is defined as follows as given in the documentation:
A point is considered to be an outlier if the average distance to its k-nearest neighbors is above the specified threshold.
Clearly if you put a negative threshold, no point will satify the above criteria and you will get an empty set.
This can be seen by running the code given in the function documentation and keeping the threshold as negative.
Hope this helps.
Find more on Data Distribution Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!