This commit is contained in:
hofee 2024-10-17 11:07:29 +00:00
parent dee7211e0b
commit 8892b6ed05
3 changed files with 18 additions and 12 deletions

View File

@ -5,5 +5,5 @@ from runners.strategy_generator import StrategyGenerator
class DataGenerateApp:
@staticmethod
def start():
StrategyGenerator("configs/local/strategy_generate_config.yaml").run()
StrategyGenerator("configs/server/server_strategy_generate_config.yaml").run()

View File

@ -11,22 +11,27 @@ runner:
root_dir: "experiments"
generate:
voxel_threshold: 0.005
overlap_threshold: 0.5
voxel_threshold: 0.003
soft_overlap_threshold: 0.3
hard_overlap_threshold: 0.6
filter_degree: 75
to_specified_dir: False # if True, output_dir is used, otherwise, root_dir is used
to_specified_dir: True # if True, output_dir is used, otherwise, root_dir is used
save_points: True
save_best_combined_points: True
load_points: True
save_best_combined_points: False
save_mesh: True
overwrite: False
seq_num: 15
dataset_list:
- OmniObject3d
datasets:
OmniObject3d:
#"/media/hofee/data/data/temp_output"
root_dir: "../data/sample_for_training/scenes"
model_dir: "../data/scaled_object_meshes"
root_dir: /data/hofee/data/packed_preprocessed_data
model_dir: /media/hofee/data/data/scaled_object_meshes
from: 0
to: -1 # -1 means end
#output_dir: "/media/hofee/data/data/label_output"

View File

@ -52,15 +52,15 @@ class StrategyGenerator(Runner):
for scene_name in scene_name_list[from_idx:to_idx]:
Log.info(f"({dataset_name})Processing [{cnt}/{total}]: {scene_name}")
status_manager.set_progress("generate_strategy", "strategy_generator", "scene", cnt, total)
diag = DataLoadUtil.get_bbox_diag(model_dir, scene_name)
status_manager.set_status("generate_strategy", "strategy_generator", "diagonal", diag)
# diag = DataLoadUtil.get_bbox_diag(model_dir, scene_name)
# status_manager.set_status("generate_strategy", "strategy_generator", "diagonal", diag)
output_label_path = DataLoadUtil.get_label_path(root_dir, scene_name,0)
if os.path.exists(output_label_path) and not self.overwrite:
Log.info(f"Scene <{scene_name}> Already Exists, Skip")
cnt += 1
continue
self.generate_sequence(root_dir, model_dir, scene_name,voxel_threshold, soft_overlap_threshold, hard_overlap_threshold)
self.generate_sequence(root_dir, None, scene_name,voxel_threshold, soft_overlap_threshold, hard_overlap_threshold)
# except Exception as e:
# Log.error(f"Scene <{scene_name}> Failed, Error: {e}")
cnt += 1
@ -78,6 +78,7 @@ class StrategyGenerator(Runner):
def generate_sequence(self, root, model_dir, scene_name, voxel_threshold, soft_overlap_threshold, hard_overlap_threshold):
status_manager.set_status("generate_strategy", "strategy_generator", "scene", scene_name)
frame_num = DataLoadUtil.get_scene_seq_length(root, scene_name)
import ipdb; ipdb.set_trace()
model_points_normals = DataLoadUtil.load_points_normals(root, scene_name)
model_pts = model_points_normals[:,:3]
down_sampled_model_pts = PtsUtil.voxel_downsample_point_cloud(model_pts, voxel_threshold)
@ -132,8 +133,8 @@ class StrategyGenerator(Runner):
with open(output_label_path, 'w') as f:
json.dump(seq_save_data, f)
seq_idx += 1
if self.save_mesh:
DataLoadUtil.save_target_mesh_at_world_space(root, model_dir, scene_name)
# if self.save_mesh:
# DataLoadUtil.save_target_mesh_at_world_space(root, model_dir, scene_name)
status_manager.set_progress("generate_strategy", "strategy_generator", "computing sequence", len(init_view_list), len(init_view_list))