Troubles with PNG

I have a dataset of 271 images taken with a Mavic 2 Zoom. ODM compiles the JPGs fine. I used Lightroom to convert the images to PNG, ODM complains that the images do not contain GPS info although when I view the EXIF data, I can see the GPS data is included. ODM also complains that the images do not contain camera info although I can see it when reading the EXIF data.

When I initially converted to PNG, I did so using the sRGB profile and ODM complained about that too so I exported the PNGs with the Adobe RGB profile which ODM accepted. These images were exported as 8 bit PNGs.

Additionally, the quality of the PNG map appears to be less than that of the JPG version.

The PNG dataset can be viewed HERE.

Any ideas would be greatly appreciated.

Why are you trying to feed PNGs derived from JPEGs into ODM?

1 Like

I should have clarified, the PNGs are derived from raw DNGs.

1 Like

Makes much more sense.

Using your workflow but to TIFFs, do you experience the same issues?

No, the project will hang and never complete when using TIFFs. With TIFF, I have tried various settings including Default and hangs with Exit Code 1.

How much RAM do you have? That sounds like it is an underlying issue.

64GB with 40GB allocated to ODM via Docker.

What bearing would RAM have regarding ODM reporting no GPS or camera info in the images?

It wouldn’t, but it explains the Code 1.

Just a bump to keep it active. Hope someone can provide some insight…

It would appear that your process has stripped the resulting PNGs of all EXIF metadata:
image

image

image

image

image

Almost all of your information is in the XMP tags (with very little in IPTC):
image

Try re-creating them, but making sure you are storing the metadata as EXIF, not XMP/IPTC.

As for the image quality issue, without any EXIF metadata to help with alignment, matching, etc. the reconstruction is going to be naive, and will likely not be as good as one with proper metadata. Scaling, rotation, translation, skew, etc. are all possible error factors that can be increased due to this missing information.

However, at the end of the day, the whole reason you’re trying to go to PNG is because you’re hitting a memory limit… Try allocating more RAM and SWAP to your docker instance, and/or see about possibly increasing system RAM (if possible).

I doubt even with fully-formed EXIF that you’re going to process to completion with PNG without hitting a Code 1 since it seems that this dataset is just a bit too heavy for your 40GB.

1 Like

To clarify, the reason I was attempting to use PNG was because I was under the impression ODM didn’t support TIFF. That said, I’ll assume you’re likely correct about the memory limit. But, I’d still like to try:

The issue with the EXIF data seems to be the Adobe software. I’ve tried Adobe Lightroom and Bridge. BOTH programs remove the EXIF data even though I have selected the option to retain all metadata. This is only with PNGs. The programs leave the EXIF data when exporting TIFFs or JPEGs.

Can you recommend a program that will convert the DNGs to PNGs but leave the EXIF data intact?

ODM does support TIFF. There are a few flavors with exotic band/bitdepth combinations that it is getting improved support for, but I doubt you’ll have trouble with a standard 3/4 band TIFF.

I’m not familiar with Adobe’s products post Premiere 6.5, so I won’t be of much help on Lightroom/Bridge/CS.

What platform are you on?

I’m using a MacBook Pro with 64gb RAM.

I just tried ODM with a 40 image TIFF dataset. I used EXIFToolGUI on Windows to verify the EXIF data was intact after exporting from Lightroom and the EXIF was intact. However…

ODM again complained that the files did not contain GPS data. ODM completed this TIFF project but the resulting map was extremely pixelated. I dunno, I’m about to give up hope…

ODM usually just works, so if it’s still throwing exif tags, those are still getting bombed somehow. TBF: exif and all its sibling image metadata formats are a minefield.

Your best bet is probably to:

  • Convert DNG to PNG
  • Use exiftool or any similar Python utility to ferry the exif data from the DNGs to the PNGs.

Then run it through OpenDroneMap.

Don’t give up hope: we’ll get you there.

1 Like

Thanks for taking the time…

Converting to PNG seems to be the issue. I need a means of converting to PNG from DNG without messing with the EXIF. Can you recommend a program for doing so?

Odd thing is, as I mentioned previously, I was able to export as TIFF with the EXIF data intact as verified with EXIFTool yet ODM still reported the GPS data was missing?

Yes, naive reconstruction will likely be pixelated since it doesn’t how what the GSD of the images should be and is just reconstructing things at arbitrary scale. You’ll see a vast improvement in quality once we get your workflow such that it isn’t dropping all the necessary tags.

Can you please provide those files as well to help us debug. Same goes for your original DNGs

Yup, it’s likely what @Saijin indicates in this issue:

But what I said above applies:

  • Process to PNG
  • Copy over your metadata via exiftool. I think will look something like this (though I haven’t tried it yet myself, so you may need to research exiftool a bit):

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

2 Likes