0

I am testing OpenCV pose estimation with solvePnPRansac. The method uses a parameter reprojectionError which distinguishes inliers/outliers for RANSAC. Assuming that a pose estimation returning T=T(R,t), is it possible to find the maximal estimation error $$\DeltaT_max$$ given a value of reprojectionError?

I've done some tests by formulating this question as a constraint optimization problem and see that this estimation is rather sensitive. In the sense that, with a small reprojectionEror tolerance e.g. .1, .01..., maximal error in translation can reach hundreds of millimeters, and almost all possible angle rotation. From this view point, is it reliable to use such an estimation where some small errors can be easily found e.g. round-up of pixel location of the reference point?

Edit 1: I've found some massive tests from "Absolute Pose Estimation from Line Correspondences using Direct Linear Transformation"

It looks like to have a good estimation, better to enforce the reprojection error to be rather small e.g. <1e-6 or <1e-7 and number of matches should be near to 10 in order to have a sound estimation in position and orientation (say angle < 1 Deg and position < 1 meter which is still huge). So, regards to the reprojectionError earlier I mentioned i.e. .1, .01 is very far from accurate. With this being relate to solvePnPRansac, the default value for this reprojectionEror is ... 8 pixel! isn't this almost irrelevant? if a point is inlier, the required reprojection error should be very very small

Also, if the graph and my understanding it is right, it also can be interpreted like...to have position error <.01 meter, number of matching lines/points should reach >2000 and rotation error <.1 Deg, this number is up to > 100 to 500. These numbers of matching are very huge for cases

enter image description here enter image description here enter image description here

TSL_
  • 2,049
  • 3
  • 34
  • 55
  • 1
    Very dependant on the scene. You can reproject the 3d points into image space and compare with the original found image coords. But eg. a small (or distant) planar object normal to the camera can move a long way in 'z' without much change in pixel position – Martin Beckett Sep 23 '18 at 17:07
  • This is a good example. Then, it's very often to see articles saying pose estimation with rotation angle, translation error very small. How's that possible? – TSL_ Sep 23 '18 at 17:12
  • 1
    Rotation can be good if you have enough features. But consider an object 1m from the camera, solve for 'T' to an accuracy of 1% (so camera intrinsic calibration is correct to <1% and perfect image coords) and you still have a distance uncertainty of 1cm ! – Martin Beckett Sep 23 '18 at 17:15

0 Answers0