Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I am very interested in your project. However, I have a question about it: for the external parameter calibration using three spheres, do they need to be shaken like a single sphere, or can they be moved to any position? #1

Open
UselessHua opened this issue Dec 12, 2023 · 3 comments

Comments

@UselessHua
Copy link

No description provided.

@chenxinfeng4
Copy link
Owner

Calibration using three spheres is similar as one sphere mostly. While doing the bundle adjustment, the three spheres will be threated one by one without structure information, just triple the single sphere data. After that, the structure of three spheres is used to restore the world axis length (correct the t vector, not K, dist nor R).

@UselessHua
Copy link
Author

Thank you for your reply! I would like to ask, when recovering scale information, is it necessary to hang the three spheres in the same manner as using a single sphere? Can I recover scale information by arbitrarily moving the three spheres in an overlapping field of view?

@chenxinfeng4
Copy link
Owner

To recover the scale information, you can simply just move one sphere to two distanced positions (that is DISTANCE_A). In compare, you calculate the distance in camera 3D space (DISTANCE_B). The scale s = DISTANCE_A/DISTANCE_B, and let the camera param t=t*s.

Now, redo the calculation in camera space (DISTANCE_B2). You will get DISTANCE_B2==DISTANCE_A.

The "three spheres method" is to define the DISTANCE_B as the manner above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants