OpenDroneMap / ODM

A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷
https://opendronemap.org
GNU Affero General Public License v3.0
4.92k stars 1.11k forks source link

DJI Mini 3 pro has two rolling shutter times depending on shooting mode #1500

Closed ejrobinson closed 2 years ago

ejrobinson commented 2 years ago

How did you install ODM? (Docker, installer, natively, ...)?

Windows Native Installer

What is the problem?

DJI Mini 3 Pro has two vastly different rolling shutter readout times in 12MP vs 48MP modes, but the 'camera model' is the same so WebODM currently has no way to differentiate

12 MP is apporx 26 ms, 48 MP is approx 60 ms, Images attached 12MP 48MP

What should be the expected behavior? If this is a feature request, please describe in detail the changes you think should be made to the code, citing files and lines where changes should be made, if possible.

Apply two different corrections depending on the shooting resolution. I can't see anything else in the EXIF to check against that would work for this but I do think users should be either given a warning, or a choice when rolling shutter correction is enabled and the EXIF shows the images are from a Mini 3 Pro as the difference is significant.

How can we reproduce this? What steps did you do to trigger the problem? If this is an issue with processing a dataset, YOU MUST include a copy of your dataset uploaded on Google Drive or Dropbox (otherwise we cannot reproduce this).

Take photo in 12 MP and compare to photo taken at 48 MP

Saijin-Naib commented 2 years ago

Quad-bayer sensors, the gift that keep on giving -_-

Thank you for surfacing this! Something we need to look out for on all the other quad-bayer sUAS now.

pierotofy commented 2 years ago

Mm, this is tricky, we can't even look at image size because the images could be resized (e.g. by WebODM).

pierotofy commented 2 years ago

There's a Megapixels tag that keeps the megapixels information:

Megapixels                      : 48.8
Megapixels                      : 12.2

Maybe some threshold based on megapixels to choose one value or the other might do.

pierotofy commented 2 years ago

So long as the width/height in the EXIF tags is left unaltered we can derive a megapixels estimate, from there #1511 addresses this with dynamic lookup values based on a function expression.