Update app.py
Browse files
app.py
CHANGED
|
@@ -322,36 +322,36 @@ def make3d(images):
|
|
| 322 |
planes = model.forward_planes(images, input_cameras)
|
| 323 |
|
| 324 |
# # get video
|
| 325 |
-
|
| 326 |
-
|
| 327 |
|
| 328 |
-
|
| 329 |
-
|
| 330 |
-
|
| 331 |
-
|
| 332 |
-
|
| 333 |
-
|
| 334 |
-
|
| 335 |
-
|
| 336 |
-
|
| 337 |
-
|
| 338 |
-
|
| 339 |
-
|
| 340 |
-
|
| 341 |
-
|
| 342 |
-
|
| 343 |
|
| 344 |
-
|
| 345 |
-
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
|
| 349 |
|
| 350 |
-
|
| 351 |
|
| 352 |
mesh_fpath, mesh_glb_fpath = make_mesh(mesh_fpath, planes)
|
| 353 |
-
return mesh_fpath, mesh_glb_fpath
|
| 354 |
-
|
| 355 |
|
| 356 |
|
| 357 |
import gradio as gr
|
|
@@ -450,14 +450,14 @@ with gr.Blocks() as demo:
|
|
| 450 |
interactive=False
|
| 451 |
)
|
| 452 |
|
| 453 |
-
|
| 454 |
-
|
| 455 |
-
|
| 456 |
-
|
| 457 |
-
|
| 458 |
-
|
| 459 |
-
|
| 460 |
-
|
| 461 |
|
| 462 |
with gr.Row():
|
| 463 |
with gr.Tab("OBJ"):
|
|
@@ -492,8 +492,8 @@ with gr.Blocks() as demo:
|
|
| 492 |
).success(
|
| 493 |
fn=make3d,
|
| 494 |
inputs=[mv_images],
|
| 495 |
-
outputs=[output_model_obj, output_model_glb]
|
| 496 |
-
|
| 497 |
)
|
| 498 |
|
| 499 |
# demo.queue(max_size=10)
|
|
|
|
| 322 |
planes = model.forward_planes(images, input_cameras)
|
| 323 |
|
| 324 |
# # get video
|
| 325 |
+
chunk_size = 20 if IS_FLEXICUBES else 1
|
| 326 |
+
render_size = 512
|
| 327 |
|
| 328 |
+
frames = []
|
| 329 |
+
frames, albedos, pbr_spec_lights, pbr_diffuse_lights, normals, alphas = render_frames(
|
| 330 |
+
model,
|
| 331 |
+
planes,
|
| 332 |
+
render_cameras=all_mvp,
|
| 333 |
+
camera_pos=all_campos,
|
| 334 |
+
env=ENV,
|
| 335 |
+
materials=materials,
|
| 336 |
+
render_size=render_size,
|
| 337 |
+
chunk_size=chunk_size,
|
| 338 |
+
is_flexicubes=IS_FLEXICUBES,
|
| 339 |
+
)
|
| 340 |
+
normals = (torch.nn.functional.normalize(normals) + 1) / 2
|
| 341 |
+
normals = normals * alphas + (1-alphas)
|
| 342 |
+
all_frames = torch.cat([frames, albedos, pbr_spec_lights, pbr_diffuse_lights, normals], dim=3)
|
| 343 |
|
| 344 |
+
images_to_video(
|
| 345 |
+
all_frames,
|
| 346 |
+
video_fpath,
|
| 347 |
+
fps=30,
|
| 348 |
+
)
|
| 349 |
|
| 350 |
+
print(f"Video saved to {video_fpath}")
|
| 351 |
|
| 352 |
mesh_fpath, mesh_glb_fpath = make_mesh(mesh_fpath, planes)
|
| 353 |
+
# return mesh_fpath, mesh_glb_fpath
|
| 354 |
+
return video_fpath, mesh_fpath, mesh_glb_fpath
|
| 355 |
|
| 356 |
|
| 357 |
import gradio as gr
|
|
|
|
| 450 |
interactive=False
|
| 451 |
)
|
| 452 |
|
| 453 |
+
with gr.Column():
|
| 454 |
+
with gr.Column():
|
| 455 |
+
output_video = gr.Video(
|
| 456 |
+
label="video", format="mp4",
|
| 457 |
+
width=768,
|
| 458 |
+
autoplay=True,
|
| 459 |
+
interactive=False
|
| 460 |
+
)
|
| 461 |
|
| 462 |
with gr.Row():
|
| 463 |
with gr.Tab("OBJ"):
|
|
|
|
| 492 |
).success(
|
| 493 |
fn=make3d,
|
| 494 |
inputs=[mv_images],
|
| 495 |
+
# outputs=[output_model_obj, output_model_glb]
|
| 496 |
+
outputs=[output_video, output_model_obj, output_model_glb]
|
| 497 |
)
|
| 498 |
|
| 499 |
# demo.queue(max_size=10)
|