Mavic Air- Code 1 exception error when processing


#1

I am new to using WebODM, I am running it on my Mac through Docker and also trying to run it through a server running Docker Linux. I have a Mavic Air and did a survey on a 90 acre farm which is about 438 photos. I have only tried a small set but keep getting the same error every time. I have included the entire text code from the processing window. The Code 1 exception is at the bottom.

I am also including a link to dropbox with the 8 images that I am trying to process, any help would be greatly appreciated. There are 2 folders in the dropbox link. There is one with the original images where i was flying 79-80 meters above the ground. The other folder is with adjusted imagery to 408.8 meters above the ground to be the above sea level altitude. The ground altitude where i was flying was 328.8 meters.

To adjust the altitude in the images I tried using ExifTools and the ExifTools Gui that was made but didn’t have any luck with that so I edited the Exif data using lightroom 5 and reexported the photos with all meta data included.

Mavic Air photos Dropbox Link

[INFO] Initializing OpenDroneMap app - Wed Oct 31 02:01:10 2018
[INFO] Running ODM Load Dataset Cell
[DEBUG] Loading dataset from: /var/www/data/54e55939-1924-41d0-8cc2-fc33e2887e64/images
[DEBUG] /var/www/data/54e55939-1924-41d0-8cc2-fc33e2887e64/images
[WARNING] Could not find ccd_width in file. Use --force-ccd or edit the sensor_data.json file to manually input ccd width
[DEBUG] Loaded DJI_0162.jpg | camera: dji fc2103 | dimensions: 2000 x 1499 | focal: 4.5 | ccd: None | lat: 43.32322 | lon: -80.6572783333 | alt: 408.8
[WARNING] Could not find ccd_width in file. Use --force-ccd or edit the sensor_data.json file to manually input ccd width
[DEBUG] Loaded DJI_0167.jpg | camera: dji fc2103 | dimensions: 2000 x 1499 | focal: 4.5 | ccd: None | lat: 43.3234716667 | lon: -80.655695 | alt: 408.8
[WARNING] Could not find ccd_width in file. Use --force-ccd or edit the sensor_data.json file to manually input ccd width
[DEBUG] Loaded DJI_0168.jpg | camera: dji fc2103 | dimensions: 2000 x 1499 | focal: 4.5 | ccd: None | lat: 43.3235216667 | lon: -80.6553866667 | alt: 408.8
[WARNING] Could not find ccd_width in file. Use --force-ccd or edit the sensor_data.json file to manually input ccd width
[DEBUG] Loaded DJI_0161.jpg | camera: dji fc2103 | dimensions: 2000 x 1499 | focal: 4.5 | ccd: None | lat: 43.3231716667 | lon: -80.6576033333 | alt: 408.8
[WARNING] Could not find ccd_width in file. Use --force-ccd or edit the sensor_data.json file to manually input ccd width
[DEBUG] Loaded DJI_0163.jpg | camera: dji fc2103 | dimensions: 2000 x 1499 | focal: 4.5 | ccd: None | lat: 43.32327 | lon: -80.6569433333 | alt: 408.8
[WARNING] Could not find ccd_width in file. Use --force-ccd or edit the sensor_data.json file to manually input ccd width
[DEBUG] Loaded DJI_0164.jpg | camera: dji fc2103 | dimensions: 2000 x 1499 | focal: 4.5 | ccd: None | lat: 43.32332 | lon: -80.6566466667 | alt: 408.8
[WARNING] Could not find ccd_width in file. Use --force-ccd or edit the sensor_data.json file to manually input ccd width
[DEBUG] Loaded DJI_0166.jpg | camera: dji fc2103 | dimensions: 2000 x 1499 | focal: 4.5 | ccd: None | lat: 43.3234183333 | lon: -80.656035 | alt: 408.8
[WARNING] Could not find ccd_width in file. Use --force-ccd or edit the sensor_data.json file to manually input ccd width
[DEBUG] Loaded DJI_0165.jpg | camera: dji fc2103 | dimensions: 2000 x 1499 | focal: 4.5 | ccd: None | lat: 43.3233733333 | lon: -80.6563166667 | alt: 408.8
[INFO] Found 8 usable images
[DEBUG] running /code/build/bin/odm_extract_utm -imagesPath /var/www/data/54e55939-1924-41d0-8cc2-fc33e2887e64/images/ -imageListFile /var/www/data/54e55939-1924-41d0-8cc2-fc33e2887e64/img_list.txt -outputCoordFile /var/www/data/54e55939-1924-41d0-8cc2-fc33e2887e64/odm_georeferencing/coords.txt -logFile /var/www/data/54e55939-1924-41d0-8cc2-fc33e2887e64/odm_georeferencing/odm_georeferencing_utm_log.txt
Warning: Directory Photo has an unexpected next pointer; ignored.
Warning: Directory GPSInfo has an unexpected next pointer; ignored.
Warning: Directory Photo has an unexpected next pointer; ignored.
Warning: Directory GPSInfo has an unexpected next pointer; ignored.
Warning: Directory Photo has an unexpected next pointer; ignored.
Warning: Directory GPSInfo has an unexpected next pointer; ignored.
Warning: Directory Photo has an unexpected next pointer; ignored.
Warning: Directory GPSInfo has an unexpected next pointer; ignored.
Warning: Directory Photo has an unexpected next pointer; ignored.
Warning: Directory GPSInfo has an unexpected next pointer; ignored.
Warning: Directory Photo has an unexpected next pointer; ignored.
Warning: Directory GPSInfo has an unexpected next pointer; ignored.
Warning: Directory Photo has an unexpected next pointer; ignored.
Warning: Directory GPSInfo has an unexpected next pointer; ignored.
Warning: Directory Photo has an unexpected next pointer; ignored.
Warning: Directory GPSInfo has an unexpected next pointer; ignored.
[DEBUG] Line: WGS84 UTM 17N
[INFO] Running ODM Load Dataset Cell - Finished
[INFO] Running ODM OpenSfM Cell
[DEBUG] Altitude data detected, enabling it for GPS alignment
[DEBUG] [‘use_exif_size: no’, ‘feature_process_size: 2048’, ‘feature_min_frames: 20000’, ‘processes: 2’, ‘matching_gps_neighbors: 8’, ‘depthmap_method: PATCH_MATCH’, ‘depthmap_resolution: 640’, ‘depthmap_min_patch_sd: 1’, ‘depthmap_min_consistent_views: 3’, ‘optimize_camera_parameters: yes’, ‘use_altitude_tag: True’, ‘align_method: naive’]
[DEBUG] running PYTHONPATH=/code/SuperBuild/install/lib/python2.7/dist-packages /code/SuperBuild/src/opensfm/bin/opensfm extract_metadata /var/www/data/54e55939-1924-41d0-8cc2-fc33e2887e64/opensfm
2018-10-31 02:01:11,487 INFO: Loading existing EXIF for DJI_0162.jpg
2018-10-31 02:01:11,488 INFO: Loading existing EXIF for DJI_0167.jpg
2018-10-31 02:01:11,488 INFO: Loading existing EXIF for DJI_0168.jpg
2018-10-31 02:01:11,488 INFO: Loading existing EXIF for DJI_0161.jpg
2018-10-31 02:01:11,488 INFO: Loading existing EXIF for DJI_0163.jpg
2018-10-31 02:01:11,488 INFO: Loading existing EXIF for DJI_0164.jpg
2018-10-31 02:01:11,489 INFO: Loading existing EXIF for DJI_0166.jpg
2018-10-31 02:01:11,489 INFO: Loading existing EXIF for DJI_0165.jpg
[DEBUG] running PYTHONPATH=/code/SuperBuild/install/lib/python2.7/dist-packages /code/SuperBuild/src/opensfm/bin/opensfm detect_features /var/www/data/54e55939-1924-41d0-8cc2-fc33e2887e64/opensfm
2018-10-31 02:01:12,175 INFO: Extracting ROOT_HAHOG features for image DJI_0162.jpg
2018-10-31 02:01:12,418 INFO: Extracting ROOT_HAHOG features for image DJI_0168.jpg
2018-10-31 02:01:12,418 INFO: Extracting ROOT_HAHOG features for image DJI_0161.jpg
2018-10-31 02:01:12,419 INFO: Extracting ROOT_HAHOG features for image DJI_0163.jpg
2018-10-31 02:01:12,419 INFO: Extracting ROOT_HAHOG features for image DJI_0164.jpg
2018-10-31 02:01:12,421 INFO: Extracting ROOT_HAHOG features for image DJI_0166.jpg
2018-10-31 02:01:12,421 INFO: Extracting ROOT_HAHOG features for image DJI_0165.jpg
2018-10-31 02:01:12,421 INFO: Extracting ROOT_HAHOG features for image DJI_0167.jpg
[DEBUG] running PYTHONPATH=/code/SuperBuild/install/lib/python2.7/dist-packages /code/SuperBuild/src/opensfm/bin/opensfm match_features /var/www/data/54e55939-1924-41d0-8cc2-fc33e2887e64/opensfm
2018-10-31 02:01:12,819 INFO: Matching 25 image pairs
2018-10-31 02:01:13,168 INFO: Matching DJI_0167.jpg - 1 / 8
2018-10-31 02:01:13,427 INFO: Matching DJI_0165.jpg - 2 / 8
2018-10-31 02:01:15,341 DEBUG: DJI_0167.jpg - DJI_0168.jpg has 109 candidate matches
2018-10-31 02:01:15,342 DEBUG: Robust matching time : 0.000813961029053s
2018-10-31 02:01:15,342 DEBUG: Full matching 96 / 109, time: 2.17366909981s
2018-10-31 02:01:15,364 INFO: Matching DJI_0163.jpg - 3 / 8
2018-10-31 02:01:15,581 DEBUG: DJI_0165.jpg - DJI_0167.jpg has 10 candidate matches
2018-10-31 02:01:17,610 DEBUG: DJI_0163.jpg - DJI_0167.jpg has 6 candidate matches
2018-10-31 02:01:17,957 DEBUG: DJI_0165.jpg - DJI_0166.jpg has 180 candidate matches
2018-10-31 02:01:17,958 DEBUG: Robust matching time : 0.000601053237915s
2018-10-31 02:01:17,958 DEBUG: Full matching 179 / 180, time: 2.37632393837s
2018-10-31 02:01:19,794 DEBUG: DJI_0163.jpg - DJI_0165.jpg has 11 candidate matches
2018-10-31 02:01:20,098 DEBUG: DJI_0165.jpg - DJI_0168.jpg has 4 candidate matches
2018-10-31 02:01:20,130 INFO: Matching DJI_0161.jpg - 4 / 8
2018-10-31 02:01:21,817 DEBUG: DJI_0163.jpg - DJI_0164.jpg has 104 candidate matches
2018-10-31 02:01:21,818 DEBUG: Robust matching time : 0.000366926193237s
2018-10-31 02:01:21,818 DEBUG: Full matching 98 / 104, time: 2.02344202995s
2018-10-31 02:01:22,177 DEBUG: DJI_0161.jpg - DJI_0163.jpg has 10 candidate matches
2018-10-31 02:01:24,000 DEBUG: DJI_0163.jpg - DJI_0168.jpg has 3 candidate matches
2018-10-31 02:01:24,348 DEBUG: DJI_0161.jpg - DJI_0162.jpg has 108 candidate matches
2018-10-31 02:01:24,349 DEBUG: Robust matching time : 0.000394821166992s
2018-10-31 02:01:24,349 DEBUG: Full matching 99 / 108, time: 2.17136693001s
2018-10-31 02:01:26,094 DEBUG: DJI_0163.jpg - DJI_0166.jpg has 4 candidate matches
2018-10-31 02:01:26,099 INFO: Matching DJI_0168.jpg - 5 / 8
2018-10-31 02:01:26,100 INFO: Matching DJI_0166.jpg - 6 / 8
2018-10-31 02:01:26,502 DEBUG: DJI_0161.jpg - DJI_0164.jpg has 2 candidate matches
2018-10-31 02:01:28,287 DEBUG: DJI_0166.jpg - DJI_0167.jpg has 103 candidate matches
2018-10-31 02:01:28,288 DEBUG: Robust matching time : 0.000418901443481s
2018-10-31 02:01:28,288 DEBUG: Full matching 94 / 103, time: 2.18801999092s
2018-10-31 02:01:28,721 DEBUG: DJI_0161.jpg - DJI_0165.jpg has 5 candidate matches
2018-10-31 02:01:30,405 DEBUG: DJI_0166.jpg - DJI_0168.jpg has 11 candidate matches
2018-10-31 02:01:30,408 INFO: Matching DJI_0164.jpg - 7 / 8
2018-10-31 02:01:30,812 DEBUG: DJI_0161.jpg - DJI_0166.jpg has 1 candidate matches
2018-10-31 02:01:30,816 INFO: Matching DJI_0162.jpg - 8 / 8
2018-10-31 02:01:32,708 DEBUG: DJI_0164.jpg - DJI_0166.jpg has 17 candidate matches
2018-10-31 02:01:33,104 DEBUG: DJI_0162.jpg - DJI_0167.jpg has 4 candidate matches
2018-10-31 02:01:35,019 DEBUG: DJI_0164.jpg - DJI_0165.jpg has 120 candidate matches
2018-10-31 02:01:35,021 DEBUG: Robust matching time : 0.000623941421509s
2018-10-31 02:01:35,021 DEBUG: Full matching 110 / 120, time: 2.31263685226s
2018-10-31 02:01:35,503 DEBUG: DJI_0162.jpg - DJI_0164.jpg has 14 candidate matches
2018-10-31 02:01:37,500 DEBUG: DJI_0164.jpg - DJI_0168.jpg has 3 candidate matches
2018-10-31 02:01:37,719 DEBUG: DJI_0162.jpg - DJI_0165.jpg has 7 candidate matches
2018-10-31 02:01:39,894 DEBUG: DJI_0164.jpg - DJI_0167.jpg has 9 candidate matches
2018-10-31 02:01:39,951 DEBUG: DJI_0162.jpg - DJI_0163.jpg has 82 candidate matches
2018-10-31 02:01:39,952 DEBUG: Robust matching time : 0.000293970108032s
2018-10-31 02:01:39,952 DEBUG: Full matching 79 / 82, time: 2.23286819458s
2018-10-31 02:01:41,907 DEBUG: DJI_0162.jpg - DJI_0166.jpg has 8 candidate matches
[DEBUG] running PYTHONPATH=/code/SuperBuild/install/lib/python2.7/dist-packages /code/SuperBuild/src/opensfm/bin/opensfm create_tracks /var/www/data/54e55939-1924-41d0-8cc2-fc33e2887e64/opensfm
2018-10-31 02:01:42,357 INFO: reading features
2018-10-31 02:01:42,819 DEBUG: Merging features onto tracks
2018-10-31 02:01:42,823 DEBUG: Good tracks: 718
[DEBUG] running PYTHONPATH=/code/SuperBuild/install/lib/python2.7/dist-packages /code/SuperBuild/src/opensfm/bin/opensfm reconstruct /var/www/data/54e55939-1924-41d0-8cc2-fc33e2887e64/opensfm
2018-10-31 02:01:43,173 INFO: Starting incremental reconstruction
2018-10-31 02:01:43,750 INFO: 0 partial reconstructions in total.
Traceback (most recent call last):
File “/code/run.py”, line 47, in
plasm.execute(niter=1)
File “/code/scripts/run_opensfm.py”, line 141, in process
image_scale = gsd.image_scale_factor(args.orthophoto_resolution, tree.opensfm_reconstruction)
File “/code/opendm/gsd.py”, line 15, in image_scale_factor
gsd = opensfm_reconstruction_average_gsd(reconstruction_json)
File “/usr/local/lib/python2.7/dist-packages/repoze/lru/init.py”, line 348, in cached_wrapper
val = func(*args, **kwargs)
File “/code/opendm/gsd.py”, line 59, in opensfm_reconstruction_average_gsd
raise FileNotFoundError(reconstruction_json + " does not exist.")
NameError: global name ‘FileNotFoundError’ is not defined