Spaces:
Runtime error
Runtime error
remove fov
Browse files
app.py
CHANGED
@@ -80,11 +80,9 @@ def init_trial_dir():
|
|
80 |
@torch.no_grad()
|
81 |
def infer(image_path: str,
|
82 |
cam_dist: float,
|
83 |
-
fovy_deg: float,
|
84 |
only_3dgs: bool = False):
|
85 |
data_cfg = deepcopy(base_cfg.data)
|
86 |
data_cfg.only_3dgs = only_3dgs
|
87 |
-
data_cfg.cond_fovy_deg = fovy_deg
|
88 |
data_cfg.cond_camera_distance = cam_dist
|
89 |
data_cfg.image_list = [image_path]
|
90 |
dm = tgs.find(base_cfg.data_cls)(data_cfg)
|
@@ -97,17 +95,15 @@ def infer(image_path: str,
|
|
97 |
system.on_test_epoch_end()
|
98 |
|
99 |
def run(image_path: str,
|
100 |
-
cam_dist: float
|
101 |
-
|
102 |
-
infer(image_path, cam_dist, fov_degree, only_3dgs=True)
|
103 |
save_path = system.get_save_dir()
|
104 |
gs = glob.glob(os.path.join(save_path, "*.ply"))[0]
|
105 |
return gs
|
106 |
|
107 |
def run_video(image_path: str,
|
108 |
-
cam_dist: float
|
109 |
-
|
110 |
-
infer(image_path, cam_dist, fov_degree)
|
111 |
save_path = system.get_save_dir()
|
112 |
video = glob.glob(os.path.join(save_path, "*.mp4"))[0]
|
113 |
return video
|
@@ -122,7 +118,6 @@ def launch(port):
|
|
122 |
with gr.Row(variant='panel'):
|
123 |
with gr.Column(scale=1):
|
124 |
input_image = gr.Image(value=None, width=512, height=512, type="filepath", label="Input Image")
|
125 |
-
fov_deg_slider = gr.Slider(20, 80, value=40, step=1, label="Camera Fov Degree")
|
126 |
camera_dist_slider = gr.Slider(1.0, 4.0, value=1.6, step=0.1, label="Camera Distance")
|
127 |
img_run_btn = gr.Button("Reconstruction")
|
128 |
|
@@ -148,8 +143,9 @@ def launch(port):
|
|
148 |
)
|
149 |
|
150 |
with gr.Column(scale=1):
|
151 |
-
|
152 |
-
|
|
|
153 |
output_3dgs = Model3DGS(value=None, label="3D Model")
|
154 |
|
155 |
img_run_btn.click(
|
@@ -161,11 +157,11 @@ def launch(port):
|
|
161 |
fn=init_trial_dir,
|
162 |
concurrency_limit=1,
|
163 |
).success(fn=run,
|
164 |
-
inputs=[seg_image, camera_dist_slider
|
165 |
outputs=[output_3dgs],
|
166 |
concurrency_limit=1
|
167 |
).success(fn=run_video,
|
168 |
-
inputs=[seg_image, camera_dist_slider
|
169 |
outputs=[output_video],
|
170 |
concurrency_limit=1)
|
171 |
|
|
|
80 |
@torch.no_grad()
|
81 |
def infer(image_path: str,
|
82 |
cam_dist: float,
|
|
|
83 |
only_3dgs: bool = False):
|
84 |
data_cfg = deepcopy(base_cfg.data)
|
85 |
data_cfg.only_3dgs = only_3dgs
|
|
|
86 |
data_cfg.cond_camera_distance = cam_dist
|
87 |
data_cfg.image_list = [image_path]
|
88 |
dm = tgs.find(base_cfg.data_cls)(data_cfg)
|
|
|
95 |
system.on_test_epoch_end()
|
96 |
|
97 |
def run(image_path: str,
|
98 |
+
cam_dist: float):
|
99 |
+
infer(image_path, cam_dist, only_3dgs=True)
|
|
|
100 |
save_path = system.get_save_dir()
|
101 |
gs = glob.glob(os.path.join(save_path, "*.ply"))[0]
|
102 |
return gs
|
103 |
|
104 |
def run_video(image_path: str,
|
105 |
+
cam_dist: float):
|
106 |
+
infer(image_path, cam_dist)
|
|
|
107 |
save_path = system.get_save_dir()
|
108 |
video = glob.glob(os.path.join(save_path, "*.mp4"))[0]
|
109 |
return video
|
|
|
118 |
with gr.Row(variant='panel'):
|
119 |
with gr.Column(scale=1):
|
120 |
input_image = gr.Image(value=None, width=512, height=512, type="filepath", label="Input Image")
|
|
|
121 |
camera_dist_slider = gr.Slider(1.0, 4.0, value=1.6, step=0.1, label="Camera Distance")
|
122 |
img_run_btn = gr.Button("Reconstruction")
|
123 |
|
|
|
143 |
)
|
144 |
|
145 |
with gr.Column(scale=1):
|
146 |
+
with gr.Row(variant='panel'):
|
147 |
+
seg_image = gr.Image(value=None, type="filepath", height=256, width=256, image_mode="RGBA", label="Segmented Image", interactive=False)
|
148 |
+
output_video = gr.Video(value=None, label="Rendered Video", height=256, width=256, autoplay=True)
|
149 |
output_3dgs = Model3DGS(value=None, label="3D Model")
|
150 |
|
151 |
img_run_btn.click(
|
|
|
157 |
fn=init_trial_dir,
|
158 |
concurrency_limit=1,
|
159 |
).success(fn=run,
|
160 |
+
inputs=[seg_image, camera_dist_slider],
|
161 |
outputs=[output_3dgs],
|
162 |
concurrency_limit=1
|
163 |
).success(fn=run_video,
|
164 |
+
inputs=[seg_image, camera_dist_slider],
|
165 |
outputs=[output_video],
|
166 |
concurrency_limit=1)
|
167 |
|