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

Need help debugging reconstruction failures #1203

Closed
abhishek-carbon3d opened this issue Jan 10, 2018 · 6 comments
Closed

Need help debugging reconstruction failures #1203

abhishek-carbon3d opened this issue Jan 10, 2018 · 6 comments

Comments

@abhishek-carbon3d
Copy link

I am trying to reconstruct a scene using ~20 photos from a recent iphone camera (not in the openMVG database), but the reconstruction fails with a cryptic message "Invalid input image graph for global SfM". I have high level familiarity with sfm pipelines and would like to look into it. Are there any log files that may have more information?

FWIW the same data sample works okay with other pipelines like MVE and colmap (I am trying to evaluate a few wrt robustness, accuracy etc for my application).

Any pointers will be appreciated. Also please let me know if this is not the right forum to ask for such help. I also sent a message to openmvg-team@googlegroups.com but havent heard anything.

Thanks

@pmoulon
Copy link
Member

pmoulon commented Jan 10, 2018

I think the first stage does not detect a valid focal length and so no matches are generated.

1- check that SfMInit_ImageListing is listing at list 1 intrinsic.
You can either add your IPhone model to the database or use the -f X option to specify an approximate focal length. X will be equal to 1.2*max(w,h).

2- check that you obtain a matches.f.txt or matches.e.txt. The name will depends of the pipeline your choose (f -> Sequential/Incremental SfM, e->global SfM).

3- If you check 1 and 2 everything will run smoothly.

You can also share your dataset, or help to update the database with your IPhone camera model info thanks to a PR on github ;-)

@abhishek-carbon3d
Copy link
Author

abhishek-carbon3d commented Jan 10, 2018 via email

@pmoulon
Copy link
Member

pmoulon commented Jan 12, 2018

Shouldn't X be 0.8*max(w,h)?

  • 1.2 is a generic rules. Depending of your camera fov you can use a value in [0.7;1.2].

The best way to handle this would be to add the IphoneX in the camera sensor database.
Do you can share here one of your image so this way I will be sure to have the right Camera Model and Maker name?
Additionally if you find the camera sensor size it would be great.

@abhishek-carbon3d
Copy link
Author

Here are the exif data for 1x and 2x zoom levels

https://drive.google.com/file/d/1esby1_iqeSB3kA_1ifoiZ5x210tq0czf/view?usp=sharing

https://drive.google.com/file/d/1TUh90meLFdVz7X5Q3EZZrUfgeYp8lid0/view?usp=sharing

Unfortunately I could not find reliable info on sensor size in this data or the wen in general.

@abhishek-carbon3d
Copy link
Author

Would it make sense to default (with a warning log) the focal length to just max(w,h) in case the intrinsics are missing from the database?

@pmoulon
Copy link
Member

pmoulon commented Jan 15, 2018

I think the sensor size is 1/3" so 4.80 mm must be the sensor width.

According your metadata, it gives Fpix = std::max ( width, height ) * focalmm / ccdw = 3291 = 4032 * 4 / 4.9

Internet seems confused and cannot decide if the sensor size is 1/2.8" or 1/3"
https://forums.macrumors.com/threads/8-8-x-has-the-same-sensor-size-1-3-as-6-6-where-is-the-promoted-improvement.2071530/page-4
https://www.gsmarena.com/apple_iphone_x-8858.php

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