Skip to content

Processing DJI imagery in RAW / DNG format does not work via ODM? #777

@spwoodcock

Description

@spwoodcock

Preamble

First off, I'm pretty sure @ivangayton & @zestyping have successfully processed done DJI Mini 5 Pro imagery via ODM, right?

First question: during the successful process, what image format were you using?
Options:

  1. JPEG
  2. DNG (RAW)
  3. JPEG + DNG: saves both together, but the JPEG is a conversion from the raw DNG on disk.

Issues with JPEG + DNG on Mini 5 Pro

DJI Mini 4 Pro EXIF

$ exiftool -a -u -g1 DJI_20251001132703_0390_D.JPG
---- ExifTool ----
ExifTool Version Number         : 13.30
Warning                         : [minor] Possibly incorrect maker notes offsets (fix by -456?)
Warning                         : [minor] Unknown APP8 'PADDING' segment
---- System ----
File Name                       : DJI_20251001132703_0390_D.JPG
Directory                       : .
File Size                       : 13 MB
File Modification Date/Time     : 2026:04:08 20:28:38+00:00
File Access Date/Time           : 2026:04:08 20:29:16+00:00
File Inode Change Date/Time     : 2026:04:08 20:29:04+00:00
File Permissions                : -rwxr-xr-x
---- File ----
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
Exif Byte Order                 : Little-endian (Intel, II)
Image Width                     : 4032
Image Height                    : 3024
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
---- IFD0 ----
Image Description               : default
Make                            : DJI
Camera Model Name               : FC8482
Orientation                     : Horizontal (normal)
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Software                        : 10.08.08.24
Modify Date                     : 2025:10:01 13:27:03
Y Cb Cr Positioning             : Co-sited
XP Comment                      : 0.9.142
XP Keywords                     : single
---- ExifIFD ----
Exposure Time                   : 1/2500
F Number                        : 1.7
Exposure Program                : Program AE
ISO                             : 100
Sensitivity Type                : Recommended Exposure Index
Exif Version                    : 0230
Date/Time Original              : 2025:10:01 13:27:03
Create Date                     : 2025:10:01 13:27:03
Components Configuration        : Y, Cb, Cr, -
Shutter Speed Value             : 1/2500
Aperture Value                  : 1.7
Exposure Compensation           : 0
Max Aperture Value              : 1.7
Subject Distance                : 0 m
Metering Mode                   : Average
Light Source                    : Daylight
Flash                           : No Flash
Focal Length                    : 6.7 mm
Flashpix Version                : 0100
Color Space                     : sRGB
Exif Image Width                : 4032
Exif Image Height               : 3024
File Source                     : Digital Camera
Scene Type                      : Directly photographed
Custom Rendered                 : Normal
Exposure Mode                   : Auto
White Balance                   : Auto
Digital Zoom Ratio              : 1
Focal Length In 35mm Format     : 24 mm
Scene Capture Type              : Standard
Gain Control                    : None
Contrast                        : Normal
Saturation                      : Normal
Sharpness                       : Normal
Device Setting Description      : (Binary data 4 bytes, use -b option to extract)
Serial Number                   : 6TVFMA90M2X7XG
Lens Info                       : 24mm f/1.7
Unique Camera Model             : DJI FC8482
---- DJI ----
DJI 0x1002                      : .<-.5.=..EY.M!.U..e�.m�.u"z.still0[...]
AE Debug Info                   : (Binary data 10240 bytes, use -b option to extract)
AE Histogram Info               : (Binary data 1024 bytes, use -b option to extract)
AE Local Histogram              : (Binary data 2048 bytes, use -b option to extract)
AE Live View Histogram Info     : (Binary data 2048 bytes, use -b option to extract)
AE Live View Local Histogram    : (Binary data 10000 bytes, use -b option to extract)
Awb Dbg Data V2                 : (Binary data 5120 bytes, use -b option to extract)
AF Debug Info                   : (Binary data 1024 bytes, use -b option to extract)
Histogram                       : (Binary data 1024 bytes, use -b option to extract)
ADJ Debug Info                  : (Binary data 4096 bytes, use -b option to extract)
Sensor ID                       : 6TVFMA90M2X7XG
Hyperlaps Debug Info            : (Binary data 8 bytes, use -b option to extract)
Scap Info                       : (Binary data 8192 bytes, use -b option to extract)
Sisr Info                       : (Binary data 4096 bytes, use -b option to extract)
---- InteropIFD ----
Interoperability Index          : R98 - DCF basic file (sRGB)
Interoperability Version        : 0100
---- GPS ----
GPS Version ID                  : 2.3.0.0
GPS Latitude Ref                : South
GPS Latitude                    : 8 deg 17' 42.56"
GPS Longitude Ref               : East
GPS Longitude                   : 115 deg 29' 14.67"
GPS Altitude Ref                : Above Sea Level
GPS Altitude                    : 1054.447 m
GPS Status                      : Measurement Active
GPS Map Datum                   : WGS-84
---- IFD1 ----
Compression                     : JPEG
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Thumbnail Offset                : 7700
Thumbnail Length                : 22209
Thumbnail Image                 : (Binary data 22209 bytes, use -b option to extract)
---- XMP-rdf ----
About                           : DJI Meta Data
---- XMP-xmp ----
Modify Date                     : 2025:10:01 13:27:03+08:00
Create Date                     : 2025:10:01 13:27:03+08:00
---- XMP-tiff ----
Make                            : DJI
Camera Model Name               : FC8482
---- XMP-dc ----
Format                          : image/jpeg
---- XMP-drone-dji ----
Version                         : 1.6
Gps Status                      : Normal
Altitude Type                   : GpsFusionAlt
GPS Latitude                    : 8 deg 17' 42.56" S
GPS Longitude                   : 115 deg 29' 14.67" E
Absolute Altitude               : +1054.447
Relative Altitude               : +127.100
Gimbal Roll Degree              : +0.00
Gimbal Yaw Degree               : +101.90
Gimbal Pitch Degree             : -80.00
Flight Roll Degree              : -7.40
Flight Yaw Degree               : +92.00
Flight Pitch Degree             : -26.00
Flight X Speed                  : -0.2
Flight Y Speed                  : 7.6
Flight Z Speed                  : -0.7
Cam Reverse                     : 0
Gimbal Reverse                  : 0
Sensor Temperature              : 34.0
Product Name                    : Mini4 Pro
Self Data                       :
Surveying Mode                  : 0
Shutter Type                    : Electronic
Camera Serial Number            : 6TVFMA90M2X7XG
White Balance CCT               : 4897
Sensor FPS                      : 29.97
---- XMP-crs ----
Version                         : 7.0
Has Settings                    : False
Has Crop                        : False
Already Applied                 : False
---- MPF0 ----
MPF Version                     : 0100
Number Of Images                : 2
Image UID List                  : (Binary data 66 bytes, use -b option to extract)
Total Frames                    : 1
---- MPImage1 ----
MP Image Flags                  : Representative image, Dependent parent image
MP Image Format                 : JPEG
MP Image Type                   : Baseline MP Primary Image
MP Image Length                 : 12099582
MP Image Start                  : 0
Dependent Image 1 Entry Number  : 0
Dependent Image 2 Entry Number  : 2
---- MPImage2 ----
MP Image Flags                  : Dependent child image
MP Image Format                 : JPEG
MP Image Type                   : Large Thumbnail (VGA equivalent)
MP Image Length                 : 1039041
MP Image Start                  : 12099584
Dependent Image 1 Entry Number  : 0
Dependent Image 2 Entry Number  : 0
Preview Image                   : (Binary data 1039041 bytes, use -b option to extract)
---- JFIF ----
JFIF Version                    : 1.02
Resolution Unit                 : None
X Resolution                    : 1
Y Resolution                    : 1
---- Composite ----
Aperture                        : 1.7
Image Size                      : 4032x3024
Megapixels                      : 12.2
Scale Factor To 35 mm Equivalent: 3.6
Shutter Speed                   : 1/2500
GPS Altitude                    : 1054.4 m Above Sea Level
GPS Latitude                    : 8 deg 17' 42.56" S
GPS Longitude                   : 115 deg 29' 14.67" E
Circle Of Confusion             : 0.008 mm
Field Of View                   : 73.7 deg
Focal Length                    : 6.7 mm (35 mm equivalent: 24.0 mm)
GPS Position                    : 8 deg 17' 42.56" S, 115 deg 29' 14.67" E
Hyperfocal Distance             : 3.16 m
Light Value                     : 12.8

DJI Mini 5 Pro EXIF

$ exiftool -a -u -g1 0a0fb67e_DJI_20260326110520_0012_D.jpg
---- ExifTool ----
ExifTool Version Number         : 13.30
---- System ----
File Name                       : 0a0fb67e_DJI_20260326110520_0012_D.jpg
Directory                       : .
File Size                       : 25 MB
File Modification Date/Time     : 2026:04:08 19:44:55+00:00
File Access Date/Time           : 2026:04:08 19:45:12+00:00
File Inode Change Date/Time     : 2026:04:08 19:44:55+00:00
File Permissions                : -rwxr-xr-x
---- File ----
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
Image Width                     : 8192
Image Height                    : 6144
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:4:4 (1 1)
---- JFIF ----
JFIF Version                    : 1.01
Resolution Unit                 : None
X Resolution                    : 1
Y Resolution                    : 1
---- XMP-rdf ----
About                           : DJI Meta Data
---- XMP-xmp ----
Modify Date                     : 2026:03:26 11:05:20+03:00
Create Date                     : 2026:03:26 11:05:20+03:00
---- XMP-tiff ----
Make                            : DJI
Camera Model Name               : FC9313
---- XMP-dc ----
Format                          : image/dng
---- XMP-drone-dji ----
Version                         : 1.6
Gps Status                      : Normal
Altitude Type                   : GpsFusionAlt
GPS Latitude                    : 1 deg 15' 9.45" S
GPS Longitude                   : 36 deg 52' 44.83" E
Absolute Altitude               : +1743.001
Relative Altitude               : +106.100
Gimbal Roll Degree              : +0.00
Gimbal Yaw Degree               : -95.00
Gimbal Pitch Degree             : -80.00
Flight Roll Degree              : -1.90
Flight Yaw Degree               : +179.80
Flight Pitch Degree             : -15.30
Flight X Speed                  : -11.6
Flight Y Speed                  : 0.0
Flight Z Speed                  : -0.2
Cam Reverse                     : 0
Gimbal Reverse                  : 0
Sensor Temperature              : 32.0
Product Name                    : Mini5Pro
Self Data                       :
Surveying Mode                  : 0
Shutter Type                    : Electronic
Camera Serial Number            : 98JFN4G5S03JAV
White Balance CCT               : 5600
Sensor FPS                      : 29.97
Lens Position                   : 136
Lens Infinite Position          : 137
Lens Temperature                : 32.900000
Select Angle                    :
---- XMP-crs ----
Version                         : 7.0
Has Settings                    : False
Has Crop                        : False
Already Applied                 : False
---- Composite ----
Image Size                      : 8192x6144
Megapixels                      : 50.3
GPS Position                    : 1 deg 15' 9.45" S, 36 deg 52' 44.83" E

Findings

  • The structure of the EXIF is significantly different between the two.
  • Mini 5 Pro DNG-to-JPEG export pipeline doesn't write standard EXIF GPS IFD. The Mini 4 Pro does.
  • Instead the Mini 5 Pro DNG-to-JPEG export pipeline saves the GPS data only as XMP, located under XMP-drone-dji (the Mini 4 Pro saves both formats).

Important

Perhaps this is also an issue on the DJI Mini 4 Pro DNG-to-JPEG setting too, but I haven't got any of that imagery to test.

Note

We actually extract this XMP data without issues in DroneTMs imagery processing pipeline, so the geolocation of each image is saved and displayed on the map. We are using pyexiftool.

What we should do

  1. Raise a PR to ODM: OpenSfM in ODM 3.5.6 apparently doesn't fall back to XMP GPS when the standard EXIF GPS IFD is missing, when it probably should! This will affect all Mini 5 Pro users (and likely future DJI models that follow the same pattern).
  2. We should advise all users of the Mini 5 Pro (and maybe the Mini 4 Pro too - all DJI drones in general?) to use standard JPEG output instead. The _D.jpg suffix on file shows when we are using DNG --> JPEG on the drone.

Metadata

Metadata

Labels

docsImprovements or additions to documentationpriority:criticalBlocking current tasks or user workflowrepo:drone-tm

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions