Is the meanError returned by pcfitplane() "mean error" or "mean square error"?
1 回表示 (過去 30 日間)
古いコメントを表示
On the help page of pcfitplane(), the returned meanError is explained as "mean square error (MSE)". In my test, the returned meanError is 0.0042. If it is MSE, the RMSE (root mean square error) is 0.065 (meters). This is unreasonable because the maxDistance is set to 0.05 (meters). The RMSE shouldn't be larger than the maxDistance (the max distance from an inlier point to the plane). If the returned meanError is interpreted as "mean error" (0.0042 meters), it seems to be more consistent to the plot. My code and data are attached for reference.
0 件のコメント
回答 (2 件)
Monisha Nalluru
2020 年 7 月 10 日
It’s true that the documentation of pcfitplane clearly states that the function returns mean error as one of output argument.
But from BestFitPlane.m, it looks like you are trying to calculate the root mean squared error from mean error by applying square root operation. This may not be a proper way to calculate root mean squared error.
Daniel Huber
2022 年 2 月 4 日
Looking at the implementation, it looks like what is returned is the mean absolute error.
Here we see that it is a mean (and not mean squared or RMS):
meanError = mean(distances(distances < ransacParams.maxDistance));
In the evalPlane function, we can see that distance (dis) is the absolute distance (not signed):
dis = abs(points * model(1:3)' + model(4));
0 件のコメント
参考
カテゴリ
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!