Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Interpreting the Reprojection Error from camera calibration

I'm kind of confused about the Reprojection Error during camera calibration. I understood that the Reprojection Error describes the differences between the detected point and the world point. I even found out that a value <1 is "good".

But what does it tell? I mean e.g. the Reprojection Error is 2: That means the distance is 2px, so far so good. But what does it mean in reference to the calibration? Is a calibration required? or will this value get adjusted by the calibration process to 0?

To be more general: What does the value causes/tells us?

like image 888
flor1an Avatar asked May 09 '17 19:05

flor1an


People also ask

What is a good reprojection error for camera calibration?

With a good test setup, projection error should be low - approximately on the same order as the calibration score, or typically in the 0.02-0.05 range. Slightly higher errors are generally not an indication of a problem although errors of approximately 0.1 or above may indicate issues.

How is reprojection error calculated?

It is important to understand that reprojection error is not a final answer. Overall_error^2 = reprojection_error^2 + estimation_error^2. The latter is the distance between estimation reprojected and true point on the model.

What causes reprojection error?

This error depends on the quality of the camera calibration (position and orientation), as well as on the quality of the marked point on the images (position and zoom level at which the point is marked). The distance between the marked and the reprojected point on one image is the reprojection error.

How do you evaluate a camera calibration?

Once you calibrate a camera, there are several ways to evaluate the accuracy of the estimated parameters: Plot the relative locations of the camera and the calibration pattern. Calculate the reprojection errors. Calculate the parameter estimation errors.


1 Answers

From Mathworks:

Reprojection errors provide a qualitative measure of accuracy. A reprojection error is the distance between a pattern keypoint detected in a calibration image, and a corresponding world point projected into the same image. The showReprojectionErrors function provides a useful visualization of the average reprojection error in each calibration image. If the overall mean reprojection error is too high, consider excluding the images with the highest error and recalibrating.

Think about it like this. Let's say you're calibrating a face. Your model assumes each of the keypoints of your face to be a certain proportion apart. Of course, each photo will have slightly different different proportional differences than your model. And your model takes like 100 of them, and averages them out to determine the "average" proportions of the face. But what if 10 of those pictures were at weird angles, or were distorted somehow. They are outliers, and they might be throwing off your model. Perhaps it's better to exclude them from your model calculation so you can get a more normalized model of what a normal face looks like. You can tell what is whacked out by looking at the reprojection errors.

like image 135
user3685285 Avatar answered Sep 19 '22 19:09

user3685285