Processing DJI M300 P1 raw images loses pose data

I do large aerial UAV photogrammetry and have been using rawtherapee to process pictures. However I have noticed that the pose data for these pictures is lost when processing. The position is still present but pose is lost.

Hi Robert. Does the data show up in the metadata tab in the editor? If it does, is the metadata copy mode either in copy unchanged, or apply modifications with the pose data checked?

I couldn’t see it in the meta data browser. The screenshot is from the raw metadata seen in Affinity Photo. The pose data appears to be stored in custom drone-dji tags - marked in red. You can see below the GPS data is repeated in the exif tags marked in blue.

Another thing might be to try the exiv2 testing branches (I don’t think they have been merged yet? I have not been paying attention lately due to a variety of external factors…)

If that doesn’t work some sample raws would be needed to dig into this.

Andy,

Thank you though to be honest that sounds like it might be a little beyond me without help.

I’d be happy to provide some example raw files.

Robert

May be a problem with programs only collecting metadata they understand?

All the drone-specific data is in its own namespace, which is not one of the usual ones for photo metadata.
So the issue may not be with EXIV2 (whcih might be able to retrieve the tags with no problems), but with rawtherapee (or any other program) which simply doesn’t ask for those data, as it has no idea what it represents.
And an application isn’t obliged to carry along metadata it doesn’t understand (as long as it leaves those data in the source files).

@rklaschka A sample raw file would be helpful. If you want to try the Exiv2 version mentioned by Andy, it’s available in the development version. The downloads for Windows and Linux are here. @HIRAM has macOS builds. I think this is the link.

3 Likes

Thank you for the pointer. I have tried this and the pose data in the drone tag isn’t visible.

What is the best way to get you some data? The files are big-ish 100MB each. If it would be useful I can provide raw data from 3 different drones. The M300, the Phantom 4 and the Mavic pro 3. The later two are smaller because they have 20MP cameras where the M300/P1 combo is 45MP.

If the metadata tags are the same across all drones, then a sample from one is sufficient. The image content is not important. If you can control the exposure, I would take an image that is completely overexposed, white across the entire frame. The image file should compress well with e.g. ZIP. You can use https://filebin.net/ to upload it and share the link here. Alternatively, you can open a feature request on GitHub and upload it there.

My approach would be to transfer all metadata from the source to the target files with exiftool. It should pick up the <drone-dji:.... tags, too. On the commandline:

exiftool -TagsFromFile srcimage.jpg "-all:all>all:all" targetimage.jpg

There is something similar I can do in ContextCapture which I use for reconstructions where I could import the raws and then export the pose data, then process the raws and re-import the pose data on the processed images. That would probably work.

Understood, I’ll review the metadata and then send you a link to a zipped file(s).

The individual images are not sensitive.