pcdenoise: some questions
13 次查看(过去 30 天)
显示 更早的评论
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.
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
回答(1 个)
Vineet Joshi
2021-12-8
Hi
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.
Thanks
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Point Cloud Processing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!