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:

4 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

I really hope creating radiometric thermal maps becomes a reality in WebODM. Thermal mapping is a growing activity, market and is just plain useful.Using QGIS to read a thermal map with the values plugin makes for great information gathering and analysis.

I am attaching a screen of a QGIS window with a small map of a commercial building with a galvanized steel roof. I had Pix4DCloud make the map. To test the values tool, I chose the same spot in Flir Tools (43.2)and compared to the same spot in QGIS (Values is 42.9)t was about a degree difference. See the temp value in Values of QGIS window vs Flir Tools spot 1. Camera Zenmuse XT Radiometric 640

1 Like

Can you share the dataset you captured? Looks very nice! :pray: It would certainly help future development efforts.

2 Likes

This should get you access: WebODM - Google Drive

4 Likes

@syazoo would you mind if I copied your photo set and made it available on the ODMData collection? (with credit to you)

2 Likes

Is there a way to process H20T Radiometric images yet? If I can be of any help with image sets I have a couple of sets from thermal inspections that were processed in Dronedeploy.

1 Like

Might work with the “Field” preset or forcing the planar reconstruction pipeline alongside other options, but I have not tested H20T data against ODM since a number of versions.

I try those settings. If it is helpful I can submit some sets as well for testing or others to try.

1 Like

If you can do it, we always welcome data in our ODMData repo, especially for more specialized sensors/datatypes:

Hi,

Thanks to all of you, spending time building this amazing work.
I’m sorry but my acknowledgement on programming is a bit short, so, i’ve payed for the windows installer to support you.

Question: I’ve downloaded the last version of WebODM. I’ve a Mavic 2 Enterprise Avanced. Do I need to “add” the DJI SDK to anywhere? how?

I work on Solar Farms, If you need some data to work please, feel free to ask.

Thanks Again

2 Likes

Nope, you’re not programming anything to interface with the sUAS itself, so you don’t need to worry about the DJI SDK.

1 Like