Go check the readme.md as it pretty much explains everything visually.
I’d like to share with the ODM community an open source DIY project we worked on with my dad for 3 years to help the botanists of the village get multispectral images on a very low budget. (you can read the story below if you’re interested).
It took me a while to discover ODM but I was very pleased to see the results & such a beautiful open source project . We use ODM as the multi-spectral stitching post-processing engine with the infamous
--skip-band-alignmentoption as everything is already done in IRdrone.
Quickly introducing myself: I’m Balthazar Neveu from France, an image processing engineer with about 11 years of experience in the field of computation photography (DxO , GoPro , Xiaomi now) .
End of 2019, it all started when my dad ask me if we could remove the IR filter from a camera to help the botanists in his village take Infrared pictures with a drone…
I thought this was going to be a sort of easy project but nearly 3 years later, we have a full DIY hardware+software solution to capture visible + NIR images
- from a DJI drone
- an action camera SJCAM with removed optical filter.
The concept is simple: why adding a dedicated visible camera when you could simply be using the gimbal + the DJI camera? it brings the opportunity for incredible visible images… you just need an additional NIR camera and it saves some weight!
- Everything is shot in raw/dng to access linear data, aligned geometrically with an image registration engine. RawTherapee is used to perform the bayer to rgb processing.
- Every fly has to be shot in timelapse. Synchronization has been painful but we managed to get a software solution + a dedicated synchronization procedure using aruco detection (spin the drone or spin the aruco).
- Software was made “easy” for the botanists to use (.bat files under windows with file selection) but there’s also a docker version and CLI interfaces.
- Choose paired images (with minimal delay)
- Raw processing is a wrapper for RawTherapee
- Analyze exif to retrieve gimbal angles & provide a coarse estimation of the pitch/yaw camera misalignments
- Align images using global rigid estimation (distorsions and lens shading corrections included), refined local alignment.
- Outputs 4 linear tifs (R, G, B , NIR) and copy the original metadata exifs back to the output images. Ready to be processed by ODM multispectral.
- Synchronize two timelapses from the 2 cameras . You can fly the drone above a Aruco chart and make the drone spin around.
- Because spinning the drone around requires a bit of attention and the drone pilot may be focused elsewhere, my dad made a spinning table where the aruco is rotating so you can keep the drone in stationary fly.
If anyone is interested, I’ll be more than happy to share more information.
Again, thank you so much for ODM ! It made the last piece of the problem much easier, I didn’t have to develop orthophoto mapping back from scratch .