Problem with camera metadata

We have captured different data with the Micasense Altum camera and transformed the images to JPG color:
https://drive.google.com/drive/folders/1DMe74VDL51Yu27g6s_zWTtyPoUm9DG7i?usp=sharing

In this transformation we have preserved the original metadata.

When processing these images we see that the results are very bad.

So we decided to study the content of the image metadata.

This image contains fields that are specific to the PIX4D software and Micasense camera.
Example of metadata image: https://drive.google.com/file/d/1CO72T0EekRJ67jJuplPOsgt2pPhd6Zgb/view?usp=sharing

Any way to treat metadata to make it valid in ODM?

Information about the environment:
Installation: docker
Execution: docker run -it --rm -v /geo:/code/odm_georeferencing -v /images:/code/images -v /orto:/code/odm_orthophoto odm_image

Result:
image

Welcome @DCB. @pierotofy is interested in sample images from different sensors. Is it possible to share the raw images in addition to the JPG?

https://drive.google.com/drive/folders/1iicGesqgXusTuPMSPHPQjUuQbM19C3Ji?usp=sharing
@smathermather-cm @pierotofy
This is the link with the original images

2 Likes

HI, I’m working with @DCB on that… we saw that focal is not present (nor camera model) in the exif of the image but only inside XMP metadata tagged with pix4d!

  1. workaround is to setup manually the focal lenght and check if it’s enough
  2. add code in ODM to manage XMPs depending on camera model => some registry/plugin architecture to add dynamically support to different sensors (or simply a DB of models)
    About XMPI found the best way to manage is through GDAL just because they are managed in elegant way, instead of direct XML parsing.
    any opinion?

Hey @ginetto :hand: thanks for the info!

I think the best way would be to add support for it in OpenSfM (see https://github.com/mapillary/OpenSfM/blob/master/opensfm/exif.py#L182). We already do parsing of proprietary XMP tags for DJI drones (see https://github.com/mapillary/OpenSfM/blob/master/opensfm/exif.py#L242) so I think a PR would be welcome that adds support for focal lengths (and/or camera make/model).

great suggestion @pierotofy tnx to point directly to the code to modify

2 Likes