Thermal mapping support for FLIR, DJI and other manufacturers

Hi there!

Recently I tried to stitch photos from my DJI M2EA drone into ODM to analyze one of my solar stations.
Creating orthophotos only worked when I was processing stations without radiometric calibration and the pictures were seen as normal JPEGs instead of RJPEG, so I decided to improve ODM a bit)
Link to PR to master branch of ODM here

BUT!
To add support for DJI Zenmuse XT S and DJI Zenmuse H20 Series and FLIR sensors, I need to discuss two problems I encountered during my work.

  1. The cameras from FLIR manufacturers store metadata inside the EXIF of the photo in binary form. The thermal_base library reads them using ExifTool, but ODM uses exifread instead of ExifTool which does not support such a tag.
  2. In order to read data from other DJI sensors - you need to add their thermal SDK (MIT license in parts) to call and pull metadata from DJI thermal photos (already covered by thermal_base), but for ODM there is a more rational way, and I need a little help on the right way to implement this feature.

Result of processing with radiometric calibration

Same plant without radiometric extraction:

3 Likes

Incredible stuff! Thanks so much for working on this!

2 Likes

This is fantastic! I have a non-FLIR thermal and if you need any data to help you test, let me know what you want.

2 Likes

Would you be willing to host sample data from it on GitHub or something so we can get at it easily in the future?

I don’t know much about GitHub but if it’s not overly complicated, I’m sure I could.

Just need to know what you want.
How many photos?
What height?
RTK/PPK enabled?
Wouldn’t think you would want/need gcp but I can set that up if needed.
Any preferred color scheme?

2 Likes

Hi!
I will share some data using dronedb.app hub later.
I think that diverse variants of data are preferable!
10-20 photos,
20, 40, 60 and 80 meters
Some datasets with RTK and some not
1 dataset with GCP and other not.
One default BW, and can use any thermal color scheme which you want.

Hmm… Maybe 20 photos per dataset?

GSD of around 3cm/px? 85%/85% overlap/sidelap.

Could you do with and without RTK/PPK?

As for color scheme, what does your sensor offer?

1 Like

About question of stitching thermal photos from DJI (question (2)):

I decided to write a custom script that will convert DJI RJPEG into TIFF with thermal data. If tests for that will be successful - I will share it as file in contrib/ folder and mention it on README.

2 Likes

Hi,would you like to share the dataset with me?I want to test it with ODM.
thanks!!

1 Like

That is fantastic! Let me know if you need any H20T data. I can share for sure.
Zee

2 Likes