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

A problem about the camera scale xyz #87

Open
xinfeixiang1 opened this issue Nov 29, 2024 · 3 comments
Open

A problem about the camera scale xyz #87

xinfeixiang1 opened this issue Nov 29, 2024 · 3 comments

Comments

@xinfeixiang1
Copy link

Thanks for your great work.

However, in our practical tests (where the input is a video), we found that the camera's position in space was normalized to a range with a diameter of 6, regardless of whether the camera was moving closer to or longer in space. This does not align with the actual scale of the camera's position. Could you please advise on how to resolve this issue?

Thank you very much.

@jytime
Copy link
Contributor

jytime commented Nov 30, 2024

Hi @xinfeixiang1 ,

Are you aiming to reconstruct the scene at a real-world scale? Unfortunately, this isn’t feasible with structure from motion (SfM), as it inherently produces scale-agnostic reconstruction. If accurate scale is crucial, you could introduce additional references, such as known size of an object, to calibrate the SfM output to real-world dimensions.

Regarding camera motion, it can only be understood relatively through SfM. For example, you can determine that one camera position is 10% closer to an object compared to another, but you won’t be able to quantify the exact distance in meters.

@xinfeixiang1
Copy link
Author

Hi @jytime
Thank you for your response so quick. I understand that SfM can only provide relative scale without additional references. My current issue is about recovering the camera motion from a video, specifically using the extrinsics_opencv parameter in vggsfm/runners/runner.py. However, I have noticed that regardless of whether the video's movement is fast or slow, the radius of the camera's external motion obtained through extrinsics_opencv remains approximately the same. Could you kindly advise on how to address this issue? Thank you.

@jytime
Copy link
Contributor

jytime commented Dec 3, 2024

I am still confused by what you may want.. But if you hope to stop the normalization of the cameras, just skip this:

reconstruction.normalize(5.0, 0.1, 0.9, True)

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