diff --git a/data_renderer.py b/data_renderer.py index fff9077..2123229 100644 --- a/data_renderer.py +++ b/data_renderer.py @@ -2,6 +2,7 @@ import os import bpy import sys import json +import time import mathutils import numpy as np sys.path.append(os.path.dirname(os.path.abspath(__file__))) @@ -14,8 +15,8 @@ class DataRenderer: "renderer": { "generate": { - "object_dir": "/media/hofee/data/data/scaled_object_meshes", - "table_model_path": "/media/hofee/data/data/others/table.obj", + "object_dir": "/data/hofee/data/scaled_object_meshes", + "table_model_path": "/data/hofee/data/table.obj", "plane_size": 10, "binocular_vision": True, "light_and_camera_config":{ @@ -42,7 +43,6 @@ class DataRenderer: self.light_and_camera_config = config["renderer"]["generate"]["light_and_camera_config"] self.obj_dir = config["renderer"]["generate"]["object_dir"] self.binocular_vision = config["renderer"]["generate"]["binocular_vision"] - self.obj_name_list = os.listdir(self.obj_dir) self.target_obj = None self.random_obj_list = [] @@ -58,15 +58,24 @@ class DataRenderer: def do_render(self, cam_pose, restore_info, temp_dir): self.reset() + start_time = time.time() self.restore_scene(restore_info=restore_info) + end_time = time.time() + print(f"Time taken for restoring scene: {end_time - start_time} seconds") object_name = self.target_obj.name temp_file_name = f"tmp" if "." in object_name: object_name = object_name.split(".")[0] + start_time = time.time() BlenderUtils.set_camera_at(cam_pose) BlenderUtils.render_mask(temp_dir, temp_file_name, binocular_vision=self.binocular_vision) + MaterialUtil.change_object_material(self.target_obj, MaterialUtil.create_normal_material()) BlenderUtils.render_normal_and_depth(temp_dir, temp_file_name, binocular_vision=self.binocular_vision) + end_time = time.time() + print(f"Time taken for rendering: {end_time - start_time} seconds") + BlenderUtils.save_cam_params(temp_dir, temp_file_name, binocular_vision=self.binocular_vision) + depth_dir = os.path.join(temp_dir, "depth") for depth_file in os.listdir(depth_dir): if not depth_file.endswith(".png"): @@ -112,9 +121,14 @@ def main(temp_dir): scene_info_path = os.path.join(params_data["scene_path"], "scene_info.json") with open(scene_info_path, 'r') as f: scene_info = json.load(f) - + start_time = time.time() data_renderer = DataRenderer() + end_time = time.time() + print(f"Time taken for initialization: {end_time - start_time} seconds") + start_time = time.time() data_renderer.do_render(cam_pose, scene_info, temp_dir) + end_time = time.time() + print(f"Time taken for rendering: {end_time - start_time} seconds") depth_dir = os.path.join(temp_dir, "depth") for depth_file in os.listdir(depth_dir): if not depth_file.endswith(".png"):