Merge pull request #1716 from pierotofy/fcp

Fix fast_floor in FPC Filter, Invalid PLY file (expected 'property uint8 views')
pull/1724/head v3.3.1
Piero Toffanin 2023-11-04 20:22:44 -04:00 zatwierdzone przez GitHub
commit 2df4afaecf
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
3 zmienionych plików z 11 dodań i 7 usunięć

Wyświetl plik

@ -8,7 +8,7 @@ ExternalProject_Add(${_proj_name}
#--Download step-------------- #--Download step--------------
DOWNLOAD_DIR ${SB_DOWNLOAD_DIR} DOWNLOAD_DIR ${SB_DOWNLOAD_DIR}
GIT_REPOSITORY https://github.com/OpenDroneMap/FPCFilter GIT_REPOSITORY https://github.com/OpenDroneMap/FPCFilter
GIT_TAG 320 GIT_TAG 331
#--Update/Patch step---------- #--Update/Patch step----------
UPDATE_COMMAND "" UPDATE_COMMAND ""
#--Configure step------------- #--Configure step-------------

Wyświetl plik

@ -1 +1 @@
3.3.0 3.3.1

Wyświetl plik

@ -65,7 +65,7 @@ class ODMOpenMVSStage(types.ODM_Stage):
filter_point_th = -20 filter_point_th = -20
config = [ config = [
" --resolution-level %s" % int(resolution_level), "--resolution-level %s" % int(resolution_level),
'--dense-config-file "%s"' % densify_ini_file, '--dense-config-file "%s"' % densify_ini_file,
"--max-resolution %s" % int(outputs['undist_image_max_size']), "--max-resolution %s" % int(outputs['undist_image_max_size']),
"--max-threads %s" % args.max_concurrency, "--max-threads %s" % args.max_concurrency,
@ -79,7 +79,6 @@ class ODMOpenMVSStage(types.ODM_Stage):
gpu_config = [] gpu_config = []
use_gpu = has_gpu(args) use_gpu = has_gpu(args)
if use_gpu: if use_gpu:
#gpu_config.append("--cuda-device -3")
gpu_config.append("--cuda-device -1") gpu_config.append("--cuda-device -1")
else: else:
gpu_config.append("--cuda-device -2") gpu_config.append("--cuda-device -2")
@ -101,6 +100,7 @@ class ODMOpenMVSStage(types.ODM_Stage):
system.run('"%s" "%s" %s' % (context.omvs_densify_path, system.run('"%s" "%s" %s' % (context.omvs_densify_path,
openmvs_scene_file, openmvs_scene_file,
' '.join(config + gpu_config + extra_config))) ' '.join(config + gpu_config + extra_config)))
try: try:
run_densify() run_densify()
except system.SubprocessException as e: except system.SubprocessException as e:
@ -127,10 +127,10 @@ class ODMOpenMVSStage(types.ODM_Stage):
subscene_densify_ini_file = os.path.join(tree.openmvs, 'subscene-config.ini') subscene_densify_ini_file = os.path.join(tree.openmvs, 'subscene-config.ini')
with open(subscene_densify_ini_file, 'w+') as f: with open(subscene_densify_ini_file, 'w+') as f:
f.write("Optimize = 0\n") f.write("Optimize = 0\nEstimation Geometric Iters = 0\n")
config = [ config = [
"--sub-scene-area 660000", "--sub-scene-area 660000", # 8000
"--max-threads %s" % args.max_concurrency, "--max-threads %s" % args.max_concurrency,
'-w "%s"' % depthmaps_dir, '-w "%s"' % depthmaps_dir,
"-v 0", "-v 0",
@ -161,9 +161,13 @@ class ODMOpenMVSStage(types.ODM_Stage):
config = [ config = [
'--resolution-level %s' % int(resolution_level), '--resolution-level %s' % int(resolution_level),
'--max-resolution %s' % int(outputs['undist_image_max_size']), '--max-resolution %s' % int(outputs['undist_image_max_size']),
"--sub-resolution-levels %s" % subres_levels,
'--dense-config-file "%s"' % subscene_densify_ini_file, '--dense-config-file "%s"' % subscene_densify_ini_file,
'--number-views-fuse %s' % number_views_fuse, '--number-views-fuse %s' % number_views_fuse,
'--max-threads %s' % args.max_concurrency, '--max-threads %s' % args.max_concurrency,
'--archive-type 3',
'--postprocess-dmaps 0',
'--geometric-iters 0',
'-w "%s"' % depthmaps_dir, '-w "%s"' % depthmaps_dir,
'-v 0', '-v 0',
] ]
@ -179,7 +183,7 @@ class ODMOpenMVSStage(types.ODM_Stage):
else: else:
# Filter # Filter
if args.pc_filter > 0: if args.pc_filter > 0:
system.run('"%s" "%s" --filter-point-cloud %s -v 0 %s' % (context.omvs_densify_path, scene_dense_mvs, filter_point_th, ' '.join(gpu_config))) system.run('"%s" "%s" --filter-point-cloud %s -v 0 --archive-type 3 %s' % (context.omvs_densify_path, scene_dense_mvs, filter_point_th, ' '.join(gpu_config)))
else: else:
# Just rename # Just rename
log.ODM_INFO("Skipped filtering, %s --> %s" % (scene_ply_unfiltered, scene_ply)) log.ODM_INFO("Skipped filtering, %s --> %s" % (scene_ply_unfiltered, scene_ply))