Open Saijin-Naib opened 3 years ago
Hi @Saijin-Naib
I managed to get a nice reconstruction by tweaking the camera_models.json
focal_ratio
and set it to 0.36
instead of 0.16
. And using fisheye
obviously. The value of 0.16
that is red from the EXIF is correct, but there's a subtlety with this fisheye images.
This type of fisheye images introduce some global scale factor on the focal length that we're not going to support, so it would be better to support it through some calibration database values.
Yann
@YanNoun , thanks for taking a look at this! So as I suspected, these lenses are special/edge cases, right? But fundamentally, they are fisheye still? Quite interesting.
May I ask how you arrived at that scale factor? Is this something known, or is there a lot of maths/magic to derive this value?
@pierotofy , does this mean that any support we might want to add would have to be "downstream" from OpenSFM?
I've begun asking around for sample data from other Parrot cameras.
Bebop 1:
https://parrotpilots.com/threads/data-request-parrot-bebop-1-survey-imagery.4535/
Disco:
https://parrotpilots.com/threads/data-request-parrot-disco-survey-imagery.4536/
@YanNoun
According to this user (and my testing), we seem to be having a regression with reconstruction with the Parrot Bebop2 when using auto and fisheye. https://community.opendronemap.org/t/using-parrot-bebop-2-fisheye-lens-to-model/3824/9?u=saijin_naib
Do I need to put a sensor db entry for it to work with the exif.py override from #729 ?
Hi @Saijin-Naib ,
You can add it to the camera database here : https://github.com/mapillary/OpenSfM/commit/9268047c9763a58a4985b51a01b516c8823591db#diff-34d9ae480ee274b0f04757a8f293c760d7cc696d3da333608a92e7ce8cc976b6
Yann
These sensors are nominally 180deg vert x 180deg horiz and are as such, neither really fisheye nor spherical cameras.
Does OpenSFM have a lens model that can accommodate this type of data? Is it more appropriate to force spherical over fisheye for these images in the meantime?
Forcing brown, auto, spherical, fisheye all lead to really incorrect reconstruction.
Example dataset:
https://testhub1.dronedb.app/r/W6oody/bluebell_Feb_21_85m_with_gcp