Is the meanError returned by pcfitplane() "mean error" or "mean square error"?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (2)
Monisha Nalluru
am 10 Jul. 2020
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
am 4 Feb. 2022
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 Kommentare
Siehe auch
Kategorien
Mehr zu Point Cloud Processing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!