Empty initial point-cloud when using a gcp file

I tried to use one ground control point( the document recommends 5 gcps at least but I just want to see if one gcp can improve the results). I run the project on docker and it gave me the error: empty initial point-cloud.

The images and gcp file can be found here: ODM_project - Google Drive

I simply use the following two commands in docker on Windows10:
docker run -ti --rm -v /my/project:/datasets/code opendronemap/odm --project-path /datasets
docker run -ti --rm -v /my/project:/datasets/code opendronemap/odm --project-path /datasets --force-gps

Both will give the same error.

The output is:
[INFO] Initializing ODM - Fri Apr 09 23:06:33 2021
[INFO] ==============
[INFO] build_overviews: False
[INFO] camera_lens: auto
[INFO] cameras: {}
[INFO] crop: 3
[INFO] debug: False
[INFO] dem_decimation: 1
[INFO] dem_euclidean_map: False
[INFO] dem_gapfill_steps: 3
[INFO] dem_resolution: 5
[INFO] depthmap_resolution: 640
[INFO] dsm: False
[INFO] dtm: False
[INFO] end_with: odm_report
[INFO] fast_orthophoto: False
[INFO] feature_quality: low
[INFO] feature_type: sift
[INFO] force_gps: False
[INFO] gcp: None
[INFO] geo: None
[INFO] gps_accuracy: 10
[INFO] ignore_gsd: False
[INFO] matcher_distance: 0
[INFO] matcher_neighbors: 8
[INFO] matcher_type: flann
[INFO] max_concurrency: 8
[INFO] merge: all
[INFO] mesh_octree_depth: 11
[INFO] mesh_size: 200000
[INFO] min_num_features: 8000
[INFO] name: code
[INFO] optimize_disk_space: False
[INFO] orthophoto_compression: DEFLATE
[INFO] orthophoto_cutline: False
[INFO] orthophoto_no_tiled: False
[INFO] orthophoto_png: False
[INFO] orthophoto_resolution: 5
[INFO] pc_classify: False
[INFO] pc_csv: False
[INFO] pc_ept: False
[INFO] pc_filter: 2.5
[INFO] pc_las: False
[INFO] pc_quality: medium
[INFO] pc_rectify: False
[INFO] pc_sample: 0
[INFO] pc_tile: False
[INFO] primary_band: auto
[INFO] project_path: /datasets
[INFO] radiometric_calibration: none
[INFO] rerun: None
[INFO] rerun_all: False
[INFO] rerun_from: None
[INFO] resize_to: 2048
[INFO] skip_3dmodel: False
[INFO] skip_band_alignment: False
[INFO] skip_report: False
[INFO] sm_cluster: None
[INFO] smrf_scalar: 1.25
[INFO] smrf_slope: 0.15
[INFO] smrf_threshold: 0.5
[INFO] smrf_window: 18.0
[INFO] split: 999999
[INFO] split_image_groups: None
[INFO] split_overlap: 150
[INFO] texturing_data_term: gmi
[INFO] texturing_keep_unseen_faces: False
[INFO] texturing_outlier_removal_type: gauss_clamping
[INFO] texturing_skip_global_seam_leveling: False
[INFO] texturing_skip_local_seam_leveling: False
[INFO] texturing_tone_mapping: none
[INFO] tiles: False
[INFO] time: False
[INFO] use_3dmesh: False
[INFO] use_exif: False
[INFO] use_fixed_camera_params: False
[INFO] use_hybrid_bundle_adjustment: False
[INFO] verbose: False
[INFO] ==============
[INFO] Running dataset stage
[INFO] Loading dataset from: /datasets/code/images
[INFO] Loading 50 images
[INFO] Wrote images database: /datasets/code/images.json
[INFO] Found 50 usable images
[INFO] Parsing SRS header: WGS84 UTM 10S
[INFO] Parsing SRS header: WGS84 UTM 10S
[INFO] Parsing SRS header: WGS84 UTM 10S
[INFO] 11 GCP points will be used for georeferencing
[INFO] Generated coords file from GCP: WGS84 UTM 10S
[INFO] Wrote /datasets/code/odm_georeferencing/odm_georeferencing_model_geo.txt
[INFO] Parsing SRS header: WGS84 UTM 10S
[INFO] Finished dataset stage
[INFO] Running split stage
[INFO] Normal dataset, will process all at once.
[INFO] Finished split stage
[INFO] Running merge stage
[INFO] Normal dataset, nothing to merge.
[INFO] Finished merge stage
[INFO] Running opensfm stage
[INFO] Writing exif overrides
[INFO] Maximum photo dimensions: 4096px
[INFO] PyOpenCL is missing (not a GPU build)
[INFO] Altitude data detected, enabling it for GPS alignment
[INFO] [‘use_exif_size: no’, ‘flann_algorithm: KDTREE’, ‘feature_process_size: 512’, ‘feature_min_frames: 8000’, ‘processes: 8’, ‘matching_gps_neighbors: 8’, ‘matching_gps_distance: 0’, ‘optimize_camera_parameters: yes’, ‘undistorted_image_format: tif’, ‘bundle_outlier_filtering_type: AUTO’, ‘align_orientation_prior: vertical’, ‘triangulation_type: ROBUST’, ‘retriangulation_ratio: 2’, ‘feature_type: SIFT’, ‘use_altitude_tag: yes’, ‘align_method: auto’, ‘local_bundle_radius: 0’, ‘bundle_use_gcp: yes’, ‘bundle_use_gps: no’]
[INFO] running /code/SuperBuild/src/opensfm/bin/opensfm extract_metadata “/datasets/code/opensfm”
[INFO] running /code/SuperBuild/src/opensfm/bin/opensfm detect_features “/datasets/code/opensfm”
[INFO] running /code/SuperBuild/src/opensfm/bin/opensfm match_features “/datasets/code/opensfm”
[INFO] running /code/SuperBuild/src/opensfm/bin/opensfm create_tracks “/datasets/code/opensfm”
[INFO] running /code/SuperBuild/src/opensfm/bin/opensfm reconstruct “/datasets/code/opensfm”
[INFO] Export reconstruction stats
[INFO] running /code/SuperBuild/src/opensfm/bin/opensfm compute_statistics --diagram_max_points 100000 “/datasets/code/opensfm”
[INFO] running /code/SuperBuild/src/opensfm/bin/opensfm export_geocoords --reconstruction --proj ‘+proj=utm +zone=10 +south +datum=WGS84 +units=m +no_defs +type=crs’ --offset-x 596470.0 --offset-y 4139520.0 “/datasets/code/opensfm”
[INFO] Updating /datasets/code/opensfm/config.yaml
[INFO] undistorted_image_max_size: 4096
[INFO] Undistorting /datasets/code/opensfm …
[INFO] running /code/SuperBuild/src/opensfm/bin/opensfm export_visualsfm --points “/datasets/code/opensfm”
[INFO] Finished opensfm stage
[INFO] Running openmvs stage
[INFO] running /code/SuperBuild/src/opensfm/bin/opensfm export_openmvs “/datasets/code/opensfm”
[INFO] Running dense reconstruction. This might take a while.
[INFO] Estimating depthmaps
[INFO] running /code/SuperBuild/install/bin/OpenMVS/DensifyPointCloud “/datasets/code/opensfm/undistorted/openmvs/scene.mvs” --resolution-level 3 --min-resolution 512 --max-resolution 4096 --max-threads 8 --number-views-fuse 2 -w “/datasets/code/opensfm/undistorted/openmvs/depthmaps” -v 0
23:09:42 [App ] Build date: Mar 31 2021, 18:59:43
23:09:42 [App ] CPU: Intel(R) Core™ i7-7700HQ CPU @ 2.80GHz (8 cores)
23:09:42 [App ] RAM: 12.38GB Physical Memory 4.00GB Virtual Memory
23:09:42 [App ] OS: Linux 5.4.72-microsoft-standard-WSL2 (x86_64)
23:09:42 [App ] SSE & AVX compatible CPU & OS detected
23:09:42 [App ] Command line: /datasets/code/opensfm/undistorted/openmvs/scene.mvs --resolution-level 3 --min-resolution 512 --max-resolution 4096 --max-threads 8 --number-views-fuse 2 -w /datasets/code/opensfm/undistorted/openmvs/depthmaps -v 0
23:09:49 [App ] Preparing images for dense reconstruction completed: 50 images (7s176ms)
23:09:49 [App ] Selecting images for dense reconstruction completed: 0 images (43ms)
Fused depth-maps 0 (100%, 0ms)
23:09:49 [App ] Densifying point-cloud completed: 0 points (7s223ms)
23:09:49 [App ] MEMORYINFO: {
23:09:49 [App ] VmPeak: 1483052 kB
23:09:49 [App ] VmSize: 1212732 kB
23:09:49 [App ] } ENDINFO
[INFO] running /code/SuperBuild/install/bin/OpenMVS/DensifyPointCloud --filter-point-cloud -1 -i “/datasets/code/opensfm/undistorted/openmvs/scene_dense.mvs” -v 0
23:09:49 [App ] Build date: Mar 31 2021, 18:59:43
23:09:49 [App ] CPU: Intel(R) Core™ i7-7700HQ CPU @ 2.80GHz (8 cores)
23:09:49 [App ] RAM: 12.38GB Physical Memory 4.00GB Virtual Memory
23:09:49 [App ] OS: Linux 5.4.72-microsoft-standard-WSL2 (x86_64)
23:09:49 [App ] SSE & AVX compatible CPU & OS detected
23:09:49 [App ] Command line: --filter-point-cloud -1 -i /datasets/code/opensfm/undistorted/openmvs/scene_dense.mvs -v 0
23:09:49 [App ] error: empty initial point-cloud
Traceback (most recent call last):
File “/code/run.py”, line 68, in
File “/code/stages/odm_app.py”, line 82, in execute
File “/code/opendm/types.py”, line 338, in run
File “/code/opendm/types.py”, line 338, in run
File “/code/opendm/types.py”, line 338, in run
[Previous line repeated 1 more time]
File “/code/opendm/types.py”, line 319, in run
self.process(self.args, outputs)
File “/code/stages/openmvs.py”, line 160, in process
system.run(’%s %s’ % (context.omvs_densify_path, ’ '.join(config)))
File “/code/opendm/system.py”, line 79, in run
raise Exception(“Child returned {}”.format(retcode))
Exception: Child returned 1

Thanks in advance for any help.

1 Like

Processing without GCPs:
./run.sh --rerun-all --crop 0 --use-3dmesh --pc-quality ultra --feature-quality ultra
report.pdf (5.4 MB)



Something might be amiss with the GCPs, as I received the same error as you when processing using them.

How did you prepare the GCP file?

Yep, pretty sure your survey wasn’t in the South-Pacific Ocean:

Much better when using EPSG:32610 (WGS 84 / UTM zone 10N, not South)

report.pdf (957.9 KB)