update
Browse files
app.py
CHANGED
@@ -908,6 +908,13 @@ class DynamicsVisualizer:
|
|
908 |
assert device_count == 1
|
909 |
self.wp_device = wp_devices[0]
|
910 |
self.torch_device = torch_devices[0]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
911 |
|
912 |
params = self.preprocess_gs(self.params)
|
913 |
if self.with_bg:
|
@@ -1108,36 +1115,6 @@ class DynamicsVisualizer:
|
|
1108 |
return self.run_command([0, 0, -5.0])
|
1109 |
|
1110 |
def launch(self, share=False):
|
1111 |
-
in_dir = root / 'log/gs/ckpts/rope_scene_1'
|
1112 |
-
batch_size = 1
|
1113 |
-
num_steps = 1
|
1114 |
-
num_particles = self.cfg.sim.n_particles
|
1115 |
-
self.load_scaniverse(in_dir)
|
1116 |
-
self.init_model(batch_size, num_steps, num_particles, ckpt_path=None)
|
1117 |
-
|
1118 |
-
params = self.preprocess_gs(self.params)
|
1119 |
-
if self.with_bg:
|
1120 |
-
self.preprocess_bg_gs()
|
1121 |
-
rendervar = self.reset_state(params, visualize_image=False, init=True)
|
1122 |
-
rendervar, rendervar_full = self.update_rendervar(rendervar)
|
1123 |
-
self.rendervar = rendervar
|
1124 |
-
|
1125 |
-
im, depth = self.render(rendervar_full, 0, bg=[0.0, 0.0, 0.0])
|
1126 |
-
im_show = (im.permute(1, 2, 0) * 255.0).cpu().numpy().astype(np.uint8).copy()
|
1127 |
-
|
1128 |
-
cv2.imwrite(str(root / 'log/temp_init/0000.png'), cv2.cvtColor(im_show, cv2.COLOR_RGB2BGR))
|
1129 |
-
|
1130 |
-
make_video(root / 'log/temp_init', root / f'log/gs/temp/form_video_init.mp4', '%04d.png', 1)
|
1131 |
-
|
1132 |
-
gs_pred = save_to_splat(
|
1133 |
-
rendervar_full['means3D'].cpu().numpy(),
|
1134 |
-
rendervar_full['colors_precomp'].cpu().numpy(),
|
1135 |
-
rendervar_full['scales'].cpu().numpy(),
|
1136 |
-
rendervar_full['rotations'].cpu().numpy(),
|
1137 |
-
rendervar_full['opacities'].cpu().numpy(),
|
1138 |
-
root / 'log/gs/temp/gs_pred.splat',
|
1139 |
-
rot_rev=True,
|
1140 |
-
)
|
1141 |
|
1142 |
with gr.Blocks() as app:
|
1143 |
|
@@ -1158,7 +1135,7 @@ class DynamicsVisualizer:
|
|
1158 |
with gr.Column(scale=2):
|
1159 |
form_video = gr.Video(
|
1160 |
label='Predicted video',
|
1161 |
-
value=
|
1162 |
format='mp4',
|
1163 |
width=self.width,
|
1164 |
height=self.height,
|
@@ -1168,7 +1145,7 @@ class DynamicsVisualizer:
|
|
1168 |
form_3dgs_pred = gr.Model3D(
|
1169 |
label='Predicted Gaussians',
|
1170 |
height=self.height,
|
1171 |
-
value=
|
1172 |
clear_color=[0, 0, 0, 0],
|
1173 |
)
|
1174 |
|
|
|
908 |
assert device_count == 1
|
909 |
self.wp_device = wp_devices[0]
|
910 |
self.torch_device = torch_devices[0]
|
911 |
+
|
912 |
+
in_dir = root / 'log/gs/ckpts/rope_scene_1'
|
913 |
+
batch_size = 1
|
914 |
+
num_steps = 1
|
915 |
+
num_particles = self.cfg.sim.n_particles
|
916 |
+
self.load_scaniverse(in_dir)
|
917 |
+
self.init_model(batch_size, num_steps, num_particles, ckpt_path=None)
|
918 |
|
919 |
params = self.preprocess_gs(self.params)
|
920 |
if self.with_bg:
|
|
|
1115 |
return self.run_command([0, 0, -5.0])
|
1116 |
|
1117 |
def launch(self, share=False):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1118 |
|
1119 |
with gr.Blocks() as app:
|
1120 |
|
|
|
1135 |
with gr.Column(scale=2):
|
1136 |
form_video = gr.Video(
|
1137 |
label='Predicted video',
|
1138 |
+
value=None,
|
1139 |
format='mp4',
|
1140 |
width=self.width,
|
1141 |
height=self.height,
|
|
|
1145 |
form_3dgs_pred = gr.Model3D(
|
1146 |
label='Predicted Gaussians',
|
1147 |
height=self.height,
|
1148 |
+
value=None,
|
1149 |
clear_color=[0, 0, 0, 0],
|
1150 |
)
|
1151 |
|