Split merge, another failure

Revisiting my >9000 image subset of ~23500 again, I again tried split/merge, but once more it has failed to progress beyond subset0000, failing at just past 22 hours. Using build 47 still, as I’ve had no task complete with 49 or 51.

Options: auto-boundary: true, dem-resolution: 3, dsm: true, dtm: true, feature-type: orb, matcher-distance: 50, matcher-neighbors: 15, min-num-features: 11000, orthophoto-resolution: 3, pc-quality: high, pc-rectify: true, split: 3200, split-overlap: 100, texturing-data-term: area


Committed memory didn’t go over about 35GB of 238 available, ie ~15% of RAM (96GB) + Paging file, and was only about 10% when it failed, so I’m not running out of memory.
The 3D submodel 0000 looks fine in meshlab, but once again this may have something to do with the failure, which has happened every time I try a split/merge -
\dsm.euclideand.tif" -values -9999.0

End of the console below, where there seems to have been 2 failures.

[INFO] Generating E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm_r0.04645843596832187_x4_y4.tif (max, radius: 0.04645843596832187, resolution: 0.09291687193664375)
[INFO] running pdal pipeline -i “C:\Users\OTTDRO~1\AppData\Local\Temp\tmp8abgc4m3.json”
[INFO] running gdalbuildvrt -input_file_list “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\tiles_list.txt” “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\tiles.vrt”
0…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] running gdal_translate -co NUM_THREADS=16 -co BIGTIFF=IF_SAFER --config GDAL_CACHEMAX 44.95% “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\tiles.vrt” “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\tiles.tmp.tif”
Input file size is 24552, 12795
0…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] running gdal_translate -co NUM_THREADS=16 -co BIGTIFF=IF_SAFER --config GDAL_CACHEMAX 44.95% -outsize 10% 0 “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\tiles.tmp.tif” “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\tiles.small.tif”
100 - done.
0…10…20…30…40…50…60…70…80…90…Input file size is 24552, 12795
0…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] running gdalbuildvrt -resolution highest -r bilinear “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\merged.vrt” “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\tiles.small_filled.tif” “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\tiles.tmp.tif”
0…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] running gdal_translate -co NUM_THREADS=16 -co TILED=YES -co BIGTIFF=IF_SAFER -co COMPRESS=DEFLATE --config GDAL_CACHEMAX 44.95% “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\merged.vrt” “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\tiles.tif”
Input file size is 24552, 12795
0…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] Starting smoothing…
[INFO] Smoothing iteration 1
[INFO] Completed smoothing to create E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.tif in 0:01:19.666797
[INFO] Completed dsm.tif in 0:15:23.198902
[INFO] Cropping E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.tif
[INFO] running gdalwarp -cutline “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_georeferencing\odm_georeferenced_model.bounds.gpkg” -crop_to_cutline -co TILED=YES -co COMPRESS=DEFLATE -co BLOCKXSIZE=512 -co BLOCKYSIZE=512 -co BIGTIFF=IF_SAFER -co NUM_THREADS=16 “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.original.tif” “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.tif” --config GDAL_CACHEMAX 45.05%
Creating output file that is 24443P x 12730L.
Processing E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.original.tif [1/1] : 0Using internal nodata values (e.g. -9999) for image E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.original.tif.
Copying nodata values from source E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.original.tif to destination E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.tif.
…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] Cropping E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.unfilled.tif
[INFO] running gdalwarp -cutline “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_georeferencing\odm_georeferenced_model.bounds.gpkg” -crop_to_cutline -co TILED=YES -co COMPRESS=DEFLATE -co BLOCKXSIZE=512 -co BLOCKYSIZE=512 -co BIGTIFF=IF_SAFER -co NUM_THREADS=16 “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.unfilled.original.tif” “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.unfilled.tif” --config GDAL_CACHEMAX 45.0%
Creating output file that is 24443P x 12730L.
Processing E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.unfilled.original.tif [1/1] : 0Using internal nodata values (e.g. -9999) for image E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.unfilled.original.tif.
Copying nodata values from source E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.unfilled.original.tif to destination E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.unfilled.tif.
…10…20…30…40…50…60…70…80…90…100 - done.
[INFO] Computing euclidean distance: E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.euclideand.tif
[INFO] running gdal_proximity.py “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.unfilled.tif” “E:\WebODM\resources\app\apps\NodeODM\data\e4397085-d53d-428b-9ac3-0f467ff727c3\submodels\submodel_0000\odm_dem\dsm.euclideand.tif” -values -9999.0

===== Dumping Info for Geeks (developers need this to fix bugs) =====
Child returned 1
Traceback (most recent call last):
File “E:\WebODM\resources\app\apps\ODM\stages\odm_app.py”, line 94, in execute
self.first_stage.run()
File “E:\WebODM\resources\app\apps\ODM\opendm\types.py”, line 346, in run
self.next_stage.run(outputs)
File “E:\WebODM\resources\app\apps\ODM\opendm\types.py”, line 346, in run
self.next_stage.run(outputs)
File “E:\WebODM\resources\app\apps\ODM\opendm\types.py”, line 346, in run
self.next_stage.run(outputs)
[Previous line repeated 6 more times]
File “E:\WebODM\resources\app\apps\ODM\opendm\types.py”, line 327, in run
self.process(self.args, outputs)
File “E:\WebODM\resources\app\apps\ODM\stages\odm_dem.py”, line 125, in process
commands.compute_euclidean_map(unfilled_dem_path,
File “E:\WebODM\resources\app\apps\ODM\opendm\dem\commands.py”, line 293, in compute_euclidean_map
run(‘gdal_proximity.py “%s” “%s” -values %s’ % (geotiff_path, output_path, nodata))
File “E:\WebODM\resources\app\apps\ODM\opendm\system.py”, line 106, in run
raise SubprocessException(“Child returned {}”.format(retcode), retcode)
opendm.system.SubprocessException: Child returned 1

===== Done, human-readable information to follow… =====

[ERROR] Uh oh! Processing stopped because of strange values in the reconstruction. This is often a sign that the input data has some issues or the software cannot deal with it. Have you followed best practices for data acquisition? See Flying Tips — OpenDroneMap 3.1.7 documentation
100 - done.

===== Dumping Info for Geeks (developers need this to fix bugs) =====
Child returned 1
Traceback (most recent call last):
File “E:\WebODM\resources\app\apps\ODM\stages\odm_app.py”, line 94, in execute
self.first_stage.run()
File “E:\WebODM\resources\app\apps\ODM\opendm\types.py”, line 346, in run
self.next_stage.run(outputs)
File “E:\WebODM\resources\app\apps\ODM\opendm\types.py”, line 327, in run
self.process(self.args, outputs)
File “E:\WebODM\resources\app\apps\ODM\stages\splitmerge.py”, line 164, in process
system.run(" ".join(map(double_quote, map(str, argv))), env_vars=os.environ.copy())
File “E:\WebODM\resources\app\apps\ODM\opendm\system.py”, line 106, in run
raise SubprocessException(“Child returned {}”.format(retcode), retcode)
opendm.system.SubprocessException: Child returned 1

===== Done, human-readable information to follow… =====

[ERROR] Uh oh! Processing stopped because of strange values in the reconstruction…

1 Like

Yeah sometimes I also failed with similar error when I use split-merge. I dont know why this is happen. But maybe, increasing split size (ex : from 3200 to 5000) will works,

BTW you have huge memory, give a try not to split anything.

2 Likes

I’m not having much luck lately, I tried no split with 0.5X reduced images to use GPU (using build 51), but it failed after only 14 mins.
End of the console log -

2022-01-23 09:23:22,590 INFO: Reading data for image DJI_0811_4.JPG (queue-size=200
2022-01-23 09:23:22,590 INFO: Extracting ROOT_SIFT_GPU features for image DJI_0073_3.JPG
[INFO] running “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\bin\opensfm” match_features “E:\WebODM51\resources\app\apps\NodeODM\data\4058b2da-a84e-4027-9f02-e0b482541c3c\opensfm”
2022-01-23 09:23:47,120 INFO: Matching 98985 image pairs
2022-01-23 09:23:47,120 INFO: Computing pair matching with 16 processes
Traceback (most recent call last):
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\bin\opensfm_main.py”, line 25, in
commands.command_runner(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command_runner.py”, line 37, in command_runner
command.run(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command.py”, line 12, in run
2022-01-23 09:23:47,156 DEBUG: No segmentation for DJI_0320.JPG, no features masked.
self.run_impl(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\match_features.py”, line 11, in run_impl
match_features.run_dataset(dataset)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\actions\match_features.py”, line 14, in run_dataset
pairs_matches, preport = matching.match_images(data, {}, images, images)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\matching.py”, line 56, in match_images
match_images_with_pairs(data, config_override, exifs, pairs),
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\matching.py”, line 80, in match_images_with_pairs
matches = context.parallel_map(match_unwrap_args, args, processes, jobs_per_process)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\context.py”, line 56, in parallel_map
res = Parallel(batch_size=batch_size)(delayed(func)(arg) for arg in args)
File “E:\WebODM51\resources\app\apps\ODM\venv\lib\site-packages\joblib\parallel.py”, line 1061, in call
self.retrieve()
File “E:\WebODM51\resources\app\apps\ODM\venv\lib\site-packages\joblib\parallel.py”, line 940, in retrieve
self._output.extend(job.get(timeout=self.timeout))
File “multiprocessing\pool.py”, line 768, in get
File “multiprocessing\pool.py”, line 125, in worker
File “E:\WebODM51\resources\app\apps\ODM\venv\lib\site-packages\joblib_parallel_backends.py”, line 595, in call
return self.func(*args, **kwargs)
File “E:\WebODM51\resources\app\apps\ODM\venv\lib\site-packages\joblib\parallel.py”, line 262, in call
return [func(*args, **kwargs)
File “E:\WebODM51\resources\app\apps\ODM\venv\lib\site-packages\joblib\parallel.py”, line 262, in
return [func(*args, **kwargs)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\matching.py”, line 210, in match_unwrap_args
matches = match(im1, im2, camera1, camera2, data, config_override, pose)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\matching.py”, line 579, in match
p1, p2, matches, matcher_type = _match_descriptors_impl(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\matching.py”, line 353, in _match_descriptors_impl
features_data1 = feature_loader.instance.load_all_data(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\feature_loading.py”, line 109, in load_all_data
features_data = self._load_all_data_masked(data, image)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\feature_loading.py”, line 160, in _load_all_data_masked
features_data = self._load_all_data_unmasked(data, image)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\feature_loading.py”, line 154, in _load_all_data_unmasked
return self._load_features_nocache(data, image)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\feature_loading.py”, line 201, in _load_features_nocache
features_data = data.load_features(image)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\dataset.py”, line 313, in load_features
with self.io_handler.open(features_filepath, “rb”) as f:
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\io.py”, line 1439, in open
return open(*args, **kwargs)
FileNotFoundError: [Errno 2] No such file or directory: ‘E:\WebODM51\resources\app\apps\NodeODM\data\4058b2da-a84e-4027-9f02-e0b482541c3c\opensfm\features\DJI_0818_5.JPG.features.npz’
[INFO] running “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\bin\opensfm” create_tracks “E:\WebODM51\resources\app\apps\NodeODM\data\4058b2da-a84e-4027-9f02-e0b482541c3c\opensfm”
2022-01-23 09:23:48,271 INFO: reading features
Traceback (most recent call last):
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\bin\opensfm_main.py”, line 25, in
commands.command_runner(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command_runner.py”, line 37, in command_runner
command.run(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command.py”, line 12, in run
self.run_impl(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\create_tracks.py”, line 11, in run_impl
create_tracks.run_dataset(dataset)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\actions\create_tracks.py”, line 12, in run_dataset
features, colors, segmentations, instances = tracking.load_features(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\tracking.py”, line 28, in load_features
features_data = dataset.load_features(im)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\dataset.py”, line 313, in load_features
with self.io_handler.open(features_filepath, “rb”) as f:
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\io.py”, line 1439, in open
return open(*args, **kwargs)
FileNotFoundError: [Errno 2] No such file or directory: ‘E:\WebODM51\resources\app\apps\NodeODM\data\4058b2da-a84e-4027-9f02-e0b482541c3c\opensfm\features\DJI_0072_6.JPG.features.npz’
[INFO] running “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\bin\opensfm” reconstruct “E:\WebODM51\resources\app\apps\NodeODM\data\4058b2da-a84e-4027-9f02-e0b482541c3c\opensfm”
Traceback (most recent call last):
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\bin\opensfm_main.py”, line 25, in
commands.command_runner(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command_runner.py”, line 37, in command_runner
command.run(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command.py”, line 12, in run
self.run_impl(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\reconstruct.py”, line 11, in run_impl
reconstruct.run_dataset(dataset)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\actions\reconstruct.py”, line 9, in run_dataset
tracks_manager = data.load_tracks_manager()
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\dataset.py”, line 381, in load_tracks_manager
return pymap.TracksManager.instanciate_from_file(self._tracks_manager_file(filename))
RuntimeError: Can’t read tracks manager file
[ERROR] The program could not process this dataset using the current settings. Check that the images have enough overlap, that there are enough recognizable features and that the images are in focus. You could also try to increase the --min-num-features parameter.The program will now exit.

Options: auto-boundary: true, dem-resolution: 5.0, dsm: true, dtm: true, gps-accuracy: 8, matcher-neighbors: 10, mesh-size: 250000, min-num-features: 10000, optimize-disk-space: true, orthophoto-resolution: 5.0, pc-filter: 4, pc-quality: high, pc-rectify: true, texturing-data-term: area, use-3dmesh: true

1 Like

I wonder if this is what a race-condition looks like? I can’t understand the stack trace well enough, but it seems to be mostly in the joblib package…

1 Like

Yes it might be, I admit to not understanding much of the log, but got the impression it was trying to do things with files before they were created/available.

I know the images are good, I’ve seen the report from my client who used Agisoft Metashape to successfully create an ortho from the full set of >23500 images.

1 Like

Here is another similar failure after only 7m51s, although only 1320 images, so not using split/merge this time.
I know the images are fine, and have produced an ortho with them as part of a much larger dataset previously. I successfully ran a dataset of twice as many images earlier today which completed ok (also with 0.5X reduction using GPU), other than missing out one flight plan of the 7 plans.

Options: auto-boundary: true, dem-resolution: 5.0, dsm: true, dtm: true, gps-accuracy: 8, matcher-neighbors: 12, mesh-size: 250000, min-num-features: 12000, optimize-disk-space: true, orthophoto-resolution: 5.0, pc-quality: high, pc-rectify: true, texturing-data-term: area, use-3dmesh: true

2022-01-24 17:42:44,268 DEBUG: No segmentation for DJI_0042.JPG, no features masked.
2022-01-24 17:42:44,317 DEBUG: Matching DJI_0325.JPG and DJI_0324.JPG. Matcher: FLANN (symmetric) T-desc: 0.620 T-robust: 0.007 T-total: 0.631 Matches: 3979 Robust: 3972 Success: True
2022-01-24 17:42:44,321 DEBUG: No segmentation for DJI_0978.JPG, no features masked.
2022-01-24 17:42:44,335 DEBUG: Matching DJI_0081_2.JPG and DJI_0105_2.JPG. Matcher: FLANN (symmetric) T-desc: 0.648 T-robust: 0.001 T-total: 0.650 Matches: 199 Robust: 168 Success: True
Traceback (most recent call last):
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\bin\opensfm_main.py”, line 25, in
commands.command_runner(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command_runner.py”, line 37, in command_runner
command.run(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command.py”, line 12, in run
self.run_impl(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\match_features.py”, line 11, in run_impl
match_features.run_dataset(dataset)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\actions\match_features.py”, line 14, in run_dataset
2022-01-24 17:42:44,365 DEBUG: Matching DJI_0454.JPG and DJI_0428.JPG. Matcher: FLANN (symmetric) T-desc: 0.676 T-robust: 0.001 T-total: 0.678 Matches: 423 Robust: 398 Success: True
2022-01-24 17:42:44,366 DEBUG: No segmentation for DJI_0014.JPG, no features masked.
pairs_matches, preport = matching.match_images(data, {}, images, images)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\matching.py”, line 56, in match_images
2022-01-24 17:42:44,376 DEBUG: No segmentation for DJI_0034.JPG, no features masked.
2022-01-24 17:42:44,387 DEBUG: Matching DJI_0160.JPG and DJI_0228.JPG. Matcher: FLANN (symmetric) T-desc: 0.699 T-robust: 0.001 T-total: 0.700 Matches: 431 Robust: 411 Success: True
match_images_with_pairs(data, config_override, exifs, pairs),
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\matching.py”, line 80, in match_images_with_pairs
matches = context.parallel_map(match_unwrap_args, args, processes, jobs_per_process)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\context.py”, line 56, in parallel_map
2022-01-24 17:42:44,394 DEBUG: Matching DJI_0885.JPG and DJI_0887.JPG. Matcher: FLANN (symmetric) T-desc: 0.705 T-robust: 0.001 T-total: 0.707 Matches: 907 Robust: 892 Success: True
res = Parallel(batch_size=batch_size)(delayed(func)(arg) for arg in args)
File “E:\WebODM51\resources\app\apps\ODM\venv\lib\site-packages\joblib\parallel.py”, line 1061, in call
self.retrieve()
File “E:\WebODM51\resources\app\apps\ODM\venv\lib\site-packages\joblib\parallel.py”, line 940, in retrieve
self._output.extend(job.get(timeout=self.timeout))
File “multiprocessing\pool.py”, line 768, in get
File “multiprocessing\pool.py”, line 125, in worker
File “E:\WebODM51\resources\app\apps\ODM\venv\lib\site-packages\joblib_parallel_backends.py”, line 595, in call
2022-01-24 17:42:44,416 DEBUG: No segmentation for DJI_0873_2.JPG, no features masked.
2022-01-24 17:42:44,421 DEBUG: No segmentation for DJI_0010.JPG, no features masked.
2022-01-24 17:42:44,424 DEBUG: No segmentation for DJI_0563.JPG, no features masked.
return self.func(*args, **kwargs)
File “E:\WebODM51\resources\app\apps\ODM\venv\lib\site-packages\joblib\parallel.py”, line 262, in call
return [func(*args, **kwargs)
File “E:\WebODM51\resources\app\apps\ODM\venv\lib\site-packages\joblib\parallel.py”, line 262, in
return [func(*args, **kwargs)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\matching.py”, line 210, in match_unwrap_args
matches = match(im1, im2, camera1, camera2, data, config_override, pose)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\matching.py”, line 579, in match
p1, p2, matches, matcher_type = _match_descriptors_impl(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\matching.py”, line 353, in _match_descriptors_impl
features_data1 = feature_loader.instance.load_all_data(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\feature_loading.py”, line 109, in load_all_data
2022-01-24 17:42:44,432 DEBUG: No segmentation for DJI_0867.JPG, no features masked.
features_data = self._load_all_data_masked(data, image)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\feature_loading.py”, line 160, in _load_all_data_masked
features_data = self._load_all_data_unmasked(data, image)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\feature_loading.py”, line 154, in _load_all_data_unmasked
return self._load_features_nocache(data, image)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\feature_loading.py”, line 201, in _load_features_nocache
features_data = data.load_features(image)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\dataset.py”, line 313, in load_features
with self.io_handler.open(features_filepath, “rb”) as f:
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\io.py”, line 1439, in open
return open(*args, **kwargs)
FileNotFoundError: [Errno 2] No such file or directory: ‘E:\WebODM51\resources\app\apps\NodeODM\data\62891eff-444f-46b0-8c59-4c3aa8686f3b\opensfm\features\DJI_0534.JPG.features.npz’
[INFO] running “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\bin\opensfm” create_tracks “E:\WebODM51\resources\app\apps\NodeODM\data\62891eff-444f-46b0-8c59-4c3aa8686f3b\opensfm”
2022-01-24 17:42:45,443 INFO: reading features
Traceback (most recent call last):
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\bin\opensfm_main.py”, line 25, in
commands.command_runner(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command_runner.py”, line 37, in command_runner
command.run(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command.py”, line 12, in run
self.run_impl(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\create_tracks.py”, line 11, in run_impl
create_tracks.run_dataset(dataset)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\actions\create_tracks.py”, line 12, in run_dataset
features, colors, segmentations, instances = tracking.load_features(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\tracking.py”, line 28, in load_features
features_data = dataset.load_features(im)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\dataset.py”, line 313, in load_features
with self.io_handler.open(features_filepath, “rb”) as f:
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\io.py”, line 1439, in open
return open(*args, **kwargs)
FileNotFoundError: [Errno 2] No such file or directory: ‘E:\WebODM51\resources\app\apps\NodeODM\data\62891eff-444f-46b0-8c59-4c3aa8686f3b\opensfm\features\DJI_0186.JPG.features.npz’
[INFO] running “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\bin\opensfm” reconstruct “E:\WebODM51\resources\app\apps\NodeODM\data\62891eff-444f-46b0-8c59-4c3aa8686f3b\opensfm”
Traceback (most recent call last):
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\bin\opensfm_main.py”, line 25, in
commands.command_runner(
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command_runner.py”, line 37, in command_runner
command.run(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\command.py”, line 12, in run
self.run_impl(data, args)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\commands\reconstruct.py”, line 11, in run_impl
reconstruct.run_dataset(dataset)
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\actions\reconstruct.py”, line 9, in run_dataset
tracks_manager = data.load_tracks_manager()
File “E:\WebODM51\resources\app\apps\ODM\SuperBuild\install\bin\opensfm\opensfm\dataset.py”, line 381, in load_tracks_manager
return pymap.TracksManager.instanciate_from_file(self._tracks_manager_file(filename))
RuntimeError: Can’t read tracks manager file
[ERROR] The program could not process this dataset using the current settings. Check that the images have enough overlap, that there are enough recognizable features and that the images are in focus. You could also try to increase the --min-num-features parameter.The program will now exit.

1 Like

Check that the images have enough overlap, that there are enough recognizable features and that the images are in focus.

Maybe rearrange your dataset (check your overlaping images as it part of a much larger dataset, it has enough overlap)?

or try default settings to check it. I am afraid, you unintentionally set an option which ODM makes it error.

I’m hope my suggestion will help you

1 Like

Plenty of overlap, in focus, plenty of features, I have produced an ortho and 3D model from them previously with a different build, my client produced an ortho including these images, so whatever the problem is, I think it lies with build 51.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.