Testing WebODM installed as part of a POSM install on an Intel NUC Skull Canyon running Ubuntu 18.04
https://github.com/posm/posm-build/pull/114
Ran this dataset (2.2 GB, 434 images taken with a DJI Mavic Pro): https://arcimagery.s3.amazonaws.com/drone_amcross/20170514-palanog.zip
and got the following error:
An orthophoto could not be generated. To generate one, make sure GPS information is embedded in the EXIF tags of your images, or use a Ground Control Points (GCP) file.
Full processing log.
I have processed the dataset successfully before. Mid 2017 I think with a native install of ODM on an Intel NUC Skull Canyon.
I think could possibly be the same issue with some of the GPS altitude for the images being off as described here: Mapir Survey3 - Orthophoto can not be generated
The non-georeferenced image looks good.
The log has this line:
[DEBUG] Loaded 20170514_M100_DJI_0177.JPG | camera: dji fc220 | dimensions: 2048 x 1536 | focal: 4.73 | ccd: 6.17 | lat: None | lon: None | alt: None
But oddly the file looks like it has the GPS data:
âžś 20170514-palanog exiftool 20170514_M100_DJI_0177.JPG
ExifTool Version Number : 10.80
File Name : 20170514_M100_DJI_0177.JPG
Directory : .
File Size : 4.8 MB
File Modification Date/Time : 2017:05:13 19:46:48-04:00
File Access Date/Time : 2018:09:07 08:33:13-04:00
File Inode Change Date/Time : 2018:09:07 08:33:06-04:00
File Permissions : rwxrwxrwx
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
Exif Byte Order : Little-endian (Intel, II)
Image Description : DCIM\100MEDIA\DJI_0177.JPG
Camera Model Name : FC220
Orientation : Horizontal (normal)
X Resolution : 72
Y Resolution : 72
Resolution Unit : inches
Software : v02.06.484
Modify Date : 2017:05:14 07:46:47
Y Cb Cr Positioning : Centered
Exposure Time : 1/754
F Number : 2.2
Exposure Program : Program AE
ISO : 100
Exif Version : 0230
Date/Time Original : 2017:05:14 07:46:47
Create Date : 2017:05:14 07:46:47
Components Configuration : -, Cr, Cb, Y
Compressed Bits Per Pixel : 3.140672667
Shutter Speed Value : 1/753
Aperture Value : 2.2
Exposure Compensation : 0
Max Aperture Value : 2.2
Subject Distance : 0 m
Metering Mode : Spot
Light Source : Unknown
Flash : No flash function
Focal Length : 4.7 mm
Warning : [minor] Possibly incorrect maker notes offsets (fix by 1415?)
Make : DJI
Speed X : -6.00
Speed Y : -3.90
Speed Z : +0.00
Pitch : -8.70
Yaw : -147.10
Roll : +1.80
Camera Pitch : -89.90
Camera Yaw : -146.70
Camera Roll : +0.00
Flashpix Version : 0010
Color Space : sRGB
Exif Image Width : 4000
Exif Image Height : 3000
Interoperability Index : R98 - DCF basic file (sRGB)
Interoperability Version : 0100
Exposure Index : undef
File Source : Digital Camera
Scene Type : Directly photographed
Custom Rendered : Normal
Exposure Mode : Auto
White Balance : Manual
Digital Zoom Ratio : undef
Focal Length In 35mm Format : 26 mm
Scene Capture Type : Standard
Gain Control : None
Contrast : Normal
Saturation : Normal
Sharpness : Hard
Device Setting Description : (Binary data 4 bytes, use -b option to extract)
Subject Distance Range : Unknown
GPS Version ID : 2.3.0.0
GPS Latitude Ref : North
GPS Longitude Ref : East
GPS Altitude Ref : Above Sea Level
XP Comment : 0.9.142
XP Keywords : N
Compression : JPEG (old-style)
Thumbnail Offset : 41984
Thumbnail Length : 9328
About : DJI Meta Data
Format : image/jpg
Absolute Altitude : +140.36
Relative Altitude : +80.00
Gimbal Roll Degree : +0.00
Gimbal Yaw Degree : -146.70
Gimbal Pitch Degree : -89.90
Flight Roll Degree : +1.80
Flight Yaw Degree : -147.10
Flight Pitch Degree : -8.70
Version : 7.0
Has Settings : False
Has Crop : False
Already Applied : False
MPF Version : 0010
Number Of Images : 2
MP Image Flags : Dependent child image
MP Image Format : JPEG
MP Image Type : Large Thumbnail (VGA equivalent)
MP Image Length : 262684
MP Image Start : 4770657
Dependent Image 1 Entry Number : 0
Dependent Image 2 Entry Number : 0
Image UID List : (Binary data 66 bytes, use -b option to extract)
Total Frames : 1
Image Width : 4000
Image Height : 3000
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:2 (2 1)
Aperture : 2.2
GPS Altitude : 140.3 m Above Sea Level
GPS Latitude : 11 deg 15' 12.30" N
GPS Longitude : 124 deg 57' 11.50" E
GPS Position : 11 deg 15' 12.30" N, 124 deg 57' 11.50" E
Image Size : 4000x3000
Preview Image : (Binary data 262684 bytes, use -b option to extract)
Megapixels : 12.0
Scale Factor To 35 mm Equivalent: 5.5
Shutter Speed : 1/754
Thumbnail Image : (Binary data 9328 bytes, use -b option to extract)
Circle Of Confusion : 0.005 mm
Field Of View : 69.4 deg
Focal Length : 4.7 mm (35 mm equivalent: 26.0 mm)
Hyperfocal Distance : 1.86 m
Light Value : 11.8
Seems like the EXIF tags are not being properly read. Will need to investigate.
This seems to be caused by WebODM’s image resize functionality. A workaround currently is to set the Image Resize option to “Skip” instead of “Yes” when creating a task.
Seems to only affect 20170514_M100_DJI_0177.JPG
.
Could you open an issue on GitHub to track this problem? Thank you.
This is pyexiv2
’s fault ODM/types.py at master · OpenDroneMap/ODM · GitHub probably because it’s linked to the older version of exiv2. It’s probably related to the issue we’ve encountered with libexiv2-dev needs to be updated · Issue #880 · OpenDroneMap/ODM · GitHub
exiftool
has no problem reading WebODM’s resized image:
exiftool resized.jpg
GPS Altitude : 140.3 m Above Sea Level
GPS Latitude : 11 deg 15' 12.30" N
GPS Longitude : 124 deg 57' 11.50" E
GPS Position : 11 deg 15' 12.30" N, 124 deg 57' 11.50" E