is 1.5 average error on stereo camera calibration bad? using opencvOpenCV Face detect in stereo camerasImage Processing: Algorithm Improvement for 'Coca-Cola Can' Recognitionopencv stereo calibration -> warp camera image A into camera image BOpenCV Stereo Calibration and triangulation in a user defined coordinate systemOpenCV Stereo Camera Calibration/Image RectificationOpenCV C++ Stereo Calib ExampleIs reprojection error enough in stereo calibration?opencv stereo camera calibration3D world Coordinate estimation using stereo cameraHow can I improve a stereo calibration using openCV, python and bundle adjustment?
How must one send away the mother bird?
How does the reference system of the Majjhima Nikaya work?
Why did the HMS Bounty go back to a time when whales are already rare?
Can a significant change in incentives void an employment contract?
Translation of Scottish 16th century church stained glass
Is it possible to use .desktop files to open local pdf files on specific pages with a browser?
Did US corporations pay demonstrators in the German demonstrations against article 13?
How much character growth crosses the line into breaking the character
Is there a conventional notation or name for the slip angle?
How can "mimic phobia" be cured or prevented?
Do Legal Documents Require Signing In Standard Pen Colors?
Can I use my Chinese passport to enter China after I acquired another citizenship?
Proving a function is onto where f(x)=|x|.
Difference between -| and |- in TikZ
What linear sensor for a keyboard?
Can not upgrade Kali,not enough space in /var/cache/apt/archives
Two-sided logarithm inequality
What major Native American tribes were around Santa Fe during the late 1850s?
Have I saved too much for retirement so far?
Find last 3 digits of this monster number
What is the grammatical term for “‑ed” words like these?
If a character with the Alert feat rolls a crit fail on their Perception check, are they surprised?
Transformation of random variables and joint distributions
Can I sign legal documents with a smiley face?
is 1.5 average error on stereo camera calibration bad? using opencv
OpenCV Face detect in stereo camerasImage Processing: Algorithm Improvement for 'Coca-Cola Can' Recognitionopencv stereo calibration -> warp camera image A into camera image BOpenCV Stereo Calibration and triangulation in a user defined coordinate systemOpenCV Stereo Camera Calibration/Image RectificationOpenCV C++ Stereo Calib ExampleIs reprojection error enough in stereo calibration?opencv stereo camera calibration3D world Coordinate estimation using stereo cameraHow can I improve a stereo calibration using openCV, python and bundle adjustment?
i used the opencv sample code for stereo camera calibration to get the intrinsics and extrinsics of my stereo camera. I used 149 image pairs and the program detected 114 image pairs
Result of my Calibration:
..... 114 pairs have been successfully detected.
Running stereo calibration ...
done with RMS error = 1.60208
average epipolar error = 1.15512
i know the error should be below 1 but i only get below 1 of error in small number of image pairs. so im not sure if my result is good or bad.
opencv
add a comment |
i used the opencv sample code for stereo camera calibration to get the intrinsics and extrinsics of my stereo camera. I used 149 image pairs and the program detected 114 image pairs
Result of my Calibration:
..... 114 pairs have been successfully detected.
Running stereo calibration ...
done with RMS error = 1.60208
average epipolar error = 1.15512
i know the error should be below 1 but i only get below 1 of error in small number of image pairs. so im not sure if my result is good or bad.
opencv
The error in calibration normally is the reprojection error, which projects the 3D Points using the intrinsic and extrinsic parameters calculated and then calculates the difference between the points projected and the 2D points detected. If you have some of the 2D points badly detected, even if you have the parameters perfectly calculated the error will be higher. So, it could be that either some points have high noise, or the parameters are not correct.
– api55
Mar 7 at 11:57
The error should be below 1 to get accurate calibration and rectification parameters. Instead of 149 images, just choose about 50 and perform the calibration.
– Gopiraj
Mar 8 at 9:18
@api55 what is the difference of points projected and 2D points detected?
– Chester Ligutan
2 days ago
@Gopiraj will i still get good calibration even if i do less image pairs?
– Chester Ligutan
2 days ago
add a comment |
i used the opencv sample code for stereo camera calibration to get the intrinsics and extrinsics of my stereo camera. I used 149 image pairs and the program detected 114 image pairs
Result of my Calibration:
..... 114 pairs have been successfully detected.
Running stereo calibration ...
done with RMS error = 1.60208
average epipolar error = 1.15512
i know the error should be below 1 but i only get below 1 of error in small number of image pairs. so im not sure if my result is good or bad.
opencv
i used the opencv sample code for stereo camera calibration to get the intrinsics and extrinsics of my stereo camera. I used 149 image pairs and the program detected 114 image pairs
Result of my Calibration:
..... 114 pairs have been successfully detected.
Running stereo calibration ...
done with RMS error = 1.60208
average epipolar error = 1.15512
i know the error should be below 1 but i only get below 1 of error in small number of image pairs. so im not sure if my result is good or bad.
opencv
opencv
asked Mar 7 at 8:59
Chester LigutanChester Ligutan
83
83
The error in calibration normally is the reprojection error, which projects the 3D Points using the intrinsic and extrinsic parameters calculated and then calculates the difference between the points projected and the 2D points detected. If you have some of the 2D points badly detected, even if you have the parameters perfectly calculated the error will be higher. So, it could be that either some points have high noise, or the parameters are not correct.
– api55
Mar 7 at 11:57
The error should be below 1 to get accurate calibration and rectification parameters. Instead of 149 images, just choose about 50 and perform the calibration.
– Gopiraj
Mar 8 at 9:18
@api55 what is the difference of points projected and 2D points detected?
– Chester Ligutan
2 days ago
@Gopiraj will i still get good calibration even if i do less image pairs?
– Chester Ligutan
2 days ago
add a comment |
The error in calibration normally is the reprojection error, which projects the 3D Points using the intrinsic and extrinsic parameters calculated and then calculates the difference between the points projected and the 2D points detected. If you have some of the 2D points badly detected, even if you have the parameters perfectly calculated the error will be higher. So, it could be that either some points have high noise, or the parameters are not correct.
– api55
Mar 7 at 11:57
The error should be below 1 to get accurate calibration and rectification parameters. Instead of 149 images, just choose about 50 and perform the calibration.
– Gopiraj
Mar 8 at 9:18
@api55 what is the difference of points projected and 2D points detected?
– Chester Ligutan
2 days ago
@Gopiraj will i still get good calibration even if i do less image pairs?
– Chester Ligutan
2 days ago
The error in calibration normally is the reprojection error, which projects the 3D Points using the intrinsic and extrinsic parameters calculated and then calculates the difference between the points projected and the 2D points detected. If you have some of the 2D points badly detected, even if you have the parameters perfectly calculated the error will be higher. So, it could be that either some points have high noise, or the parameters are not correct.
– api55
Mar 7 at 11:57
The error in calibration normally is the reprojection error, which projects the 3D Points using the intrinsic and extrinsic parameters calculated and then calculates the difference between the points projected and the 2D points detected. If you have some of the 2D points badly detected, even if you have the parameters perfectly calculated the error will be higher. So, it could be that either some points have high noise, or the parameters are not correct.
– api55
Mar 7 at 11:57
The error should be below 1 to get accurate calibration and rectification parameters. Instead of 149 images, just choose about 50 and perform the calibration.
– Gopiraj
Mar 8 at 9:18
The error should be below 1 to get accurate calibration and rectification parameters. Instead of 149 images, just choose about 50 and perform the calibration.
– Gopiraj
Mar 8 at 9:18
@api55 what is the difference of points projected and 2D points detected?
– Chester Ligutan
2 days ago
@api55 what is the difference of points projected and 2D points detected?
– Chester Ligutan
2 days ago
@Gopiraj will i still get good calibration even if i do less image pairs?
– Chester Ligutan
2 days ago
@Gopiraj will i still get good calibration even if i do less image pairs?
– Chester Ligutan
2 days ago
add a comment |
1 Answer
1
active
oldest
votes
You should be able to get an error below 1, but it's not so bad. I also do the calibration with around 100 of images. I often got a few images to discard in which the detection was not reliable.
If you decreased the number of images down to 10 images, then the calibration might overfit for these cases. The error would then not be reliable.
In the calibration process, the problems I faced came from the calibration setup. My recommendations are the following:
Check that your calibration pattern is perfectly flat. In my case I printed on adhesive paper and glued it on a piece of glass.
Check that your calibration pattern is not symmetrical in rotation, otherwise the pose estimation could be wrong.
Check the intermediate pattern points detection. There are some examples in opencv to show the corners or circles centers detected points.
The error can be also displayed for each frame. This can help you to understand for which images you have a problem. If you see that these images actually have a detection problem, you can discard them.
If you acquire videos and not images, both cameras should be synchronized with a hardware connection. In my case I cannot have such a link, therefore I built some kind of holder for the calibration target to keep it still, and I acquired only images, not videos.
This won't reduce your calibration error, but use very different pattern positions to cover the maximum of the field of view.
If your depth of field is small and you have blurry images before/after the focus because of that, change from the chessboard pattern to a circles pattern (functions also available in opencv).
If you don't have a strong distortion in your images (e.g. a photo with an iphone doesn't really show a strong fisheye-like distortion), consider forcing K3=0.
In my case, I fixed the "principal point" in the middle of the image, because the algorithm always found crazy values for these parameters, like for K3.
Hope this helps a bit. Good luck!
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55039731%2fis-1-5-average-error-on-stereo-camera-calibration-bad-using-opencv%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You should be able to get an error below 1, but it's not so bad. I also do the calibration with around 100 of images. I often got a few images to discard in which the detection was not reliable.
If you decreased the number of images down to 10 images, then the calibration might overfit for these cases. The error would then not be reliable.
In the calibration process, the problems I faced came from the calibration setup. My recommendations are the following:
Check that your calibration pattern is perfectly flat. In my case I printed on adhesive paper and glued it on a piece of glass.
Check that your calibration pattern is not symmetrical in rotation, otherwise the pose estimation could be wrong.
Check the intermediate pattern points detection. There are some examples in opencv to show the corners or circles centers detected points.
The error can be also displayed for each frame. This can help you to understand for which images you have a problem. If you see that these images actually have a detection problem, you can discard them.
If you acquire videos and not images, both cameras should be synchronized with a hardware connection. In my case I cannot have such a link, therefore I built some kind of holder for the calibration target to keep it still, and I acquired only images, not videos.
This won't reduce your calibration error, but use very different pattern positions to cover the maximum of the field of view.
If your depth of field is small and you have blurry images before/after the focus because of that, change from the chessboard pattern to a circles pattern (functions also available in opencv).
If you don't have a strong distortion in your images (e.g. a photo with an iphone doesn't really show a strong fisheye-like distortion), consider forcing K3=0.
In my case, I fixed the "principal point" in the middle of the image, because the algorithm always found crazy values for these parameters, like for K3.
Hope this helps a bit. Good luck!
add a comment |
You should be able to get an error below 1, but it's not so bad. I also do the calibration with around 100 of images. I often got a few images to discard in which the detection was not reliable.
If you decreased the number of images down to 10 images, then the calibration might overfit for these cases. The error would then not be reliable.
In the calibration process, the problems I faced came from the calibration setup. My recommendations are the following:
Check that your calibration pattern is perfectly flat. In my case I printed on adhesive paper and glued it on a piece of glass.
Check that your calibration pattern is not symmetrical in rotation, otherwise the pose estimation could be wrong.
Check the intermediate pattern points detection. There are some examples in opencv to show the corners or circles centers detected points.
The error can be also displayed for each frame. This can help you to understand for which images you have a problem. If you see that these images actually have a detection problem, you can discard them.
If you acquire videos and not images, both cameras should be synchronized with a hardware connection. In my case I cannot have such a link, therefore I built some kind of holder for the calibration target to keep it still, and I acquired only images, not videos.
This won't reduce your calibration error, but use very different pattern positions to cover the maximum of the field of view.
If your depth of field is small and you have blurry images before/after the focus because of that, change from the chessboard pattern to a circles pattern (functions also available in opencv).
If you don't have a strong distortion in your images (e.g. a photo with an iphone doesn't really show a strong fisheye-like distortion), consider forcing K3=0.
In my case, I fixed the "principal point" in the middle of the image, because the algorithm always found crazy values for these parameters, like for K3.
Hope this helps a bit. Good luck!
add a comment |
You should be able to get an error below 1, but it's not so bad. I also do the calibration with around 100 of images. I often got a few images to discard in which the detection was not reliable.
If you decreased the number of images down to 10 images, then the calibration might overfit for these cases. The error would then not be reliable.
In the calibration process, the problems I faced came from the calibration setup. My recommendations are the following:
Check that your calibration pattern is perfectly flat. In my case I printed on adhesive paper and glued it on a piece of glass.
Check that your calibration pattern is not symmetrical in rotation, otherwise the pose estimation could be wrong.
Check the intermediate pattern points detection. There are some examples in opencv to show the corners or circles centers detected points.
The error can be also displayed for each frame. This can help you to understand for which images you have a problem. If you see that these images actually have a detection problem, you can discard them.
If you acquire videos and not images, both cameras should be synchronized with a hardware connection. In my case I cannot have such a link, therefore I built some kind of holder for the calibration target to keep it still, and I acquired only images, not videos.
This won't reduce your calibration error, but use very different pattern positions to cover the maximum of the field of view.
If your depth of field is small and you have blurry images before/after the focus because of that, change from the chessboard pattern to a circles pattern (functions also available in opencv).
If you don't have a strong distortion in your images (e.g. a photo with an iphone doesn't really show a strong fisheye-like distortion), consider forcing K3=0.
In my case, I fixed the "principal point" in the middle of the image, because the algorithm always found crazy values for these parameters, like for K3.
Hope this helps a bit. Good luck!
You should be able to get an error below 1, but it's not so bad. I also do the calibration with around 100 of images. I often got a few images to discard in which the detection was not reliable.
If you decreased the number of images down to 10 images, then the calibration might overfit for these cases. The error would then not be reliable.
In the calibration process, the problems I faced came from the calibration setup. My recommendations are the following:
Check that your calibration pattern is perfectly flat. In my case I printed on adhesive paper and glued it on a piece of glass.
Check that your calibration pattern is not symmetrical in rotation, otherwise the pose estimation could be wrong.
Check the intermediate pattern points detection. There are some examples in opencv to show the corners or circles centers detected points.
The error can be also displayed for each frame. This can help you to understand for which images you have a problem. If you see that these images actually have a detection problem, you can discard them.
If you acquire videos and not images, both cameras should be synchronized with a hardware connection. In my case I cannot have such a link, therefore I built some kind of holder for the calibration target to keep it still, and I acquired only images, not videos.
This won't reduce your calibration error, but use very different pattern positions to cover the maximum of the field of view.
If your depth of field is small and you have blurry images before/after the focus because of that, change from the chessboard pattern to a circles pattern (functions also available in opencv).
If you don't have a strong distortion in your images (e.g. a photo with an iphone doesn't really show a strong fisheye-like distortion), consider forcing K3=0.
In my case, I fixed the "principal point" in the middle of the image, because the algorithm always found crazy values for these parameters, like for K3.
Hope this helps a bit. Good luck!
answered Mar 12 at 10:31
87VN087VN0
863
863
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55039731%2fis-1-5-average-error-on-stereo-camera-calibration-bad-using-opencv%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
The error in calibration normally is the reprojection error, which projects the 3D Points using the intrinsic and extrinsic parameters calculated and then calculates the difference between the points projected and the 2D points detected. If you have some of the 2D points badly detected, even if you have the parameters perfectly calculated the error will be higher. So, it could be that either some points have high noise, or the parameters are not correct.
– api55
Mar 7 at 11:57
The error should be below 1 to get accurate calibration and rectification parameters. Instead of 149 images, just choose about 50 and perform the calibration.
– Gopiraj
Mar 8 at 9:18
@api55 what is the difference of points projected and 2D points detected?
– Chester Ligutan
2 days ago
@Gopiraj will i still get good calibration even if i do less image pairs?
– Chester Ligutan
2 days ago