Wuvin commited on
Commit
9c1b518
1 Parent(s): 6a0f41b

bug fix, add examples

Browse files
gradio_app/examples/ex1.png ADDED

Git LFS Details

  • SHA256: d49ccccd40fe0317c2886b0d36a11667003d17a49cc49d9244208d250de9fe31
  • Pointer size: 132 Bytes
  • Size of remote file: 1.17 MB
gradio_app/examples/{shoe.png → ex2.png} RENAMED
File without changes
gradio_app/examples/ex3.jpg ADDED
gradio_app/examples/ex4.png ADDED

Git LFS Details

  • SHA256: 54270b8219ed3d00a74b85a7e48fd76ad6c2bf3d7442fbe9215e6c4f624ef7c2
  • Pointer size: 130 Bytes
  • Size of remote file: 53.5 kB
gradio_app/gradio_3dgen.py CHANGED
@@ -18,7 +18,7 @@ def run_mv(preview_img, input_processing, seed):
18
  rgb_pils, front_pil = run_mvprediction(preview_img, remove_bg=input_processing, seed=int(seed)) # 6s
19
  return rgb_pils, front_pil
20
 
21
- @spaces.GPU(duration=90) # seems split into multiple part will leads to `RuntimeError`, before fix it, still initialize here
22
  def generate3dv2(preview_img, input_processing, seed, render_video=True, do_refine=True, expansion_weight=0.1, init_type="std"):
23
  if preview_img is None:
24
  raise gr.Error("The input image is none!")
 
18
  rgb_pils, front_pil = run_mvprediction(preview_img, remove_bg=input_processing, seed=int(seed)) # 6s
19
  return rgb_pils, front_pil
20
 
21
+ # @spaces.GPU(duration=90) # seems split into multiple part will leads to `RuntimeError`, before fix it, still initialize here
22
  def generate3dv2(preview_img, input_processing, seed, render_video=True, do_refine=True, expansion_weight=0.1, init_type="std"):
23
  if preview_img is None:
24
  raise gr.Error("The input image is none!")
mesh_reconstruction/recon.py CHANGED
@@ -51,7 +51,7 @@ def reconstruct_stage1(pils: List[Image.Image], steps=100, vertices=None, faces=
51
 
52
  vertices,faces = opt.remesh(poisson=False)
53
 
54
- vertices, faces = vertices.detach(), faces.detach()
55
 
56
  if return_mesh:
57
  return to_py3d_mesh(vertices, faces)
 
51
 
52
  vertices,faces = opt.remesh(poisson=False)
53
 
54
+ vertices, faces = vertices.detach().cpu(), faces.detach().cpu()
55
 
56
  if return_mesh:
57
  return to_py3d_mesh(vertices, faces)
mesh_reconstruction/refine.py CHANGED
@@ -10,6 +10,7 @@ from scripts.project_mesh import multiview_color_projection, get_cameras_list
10
  from scripts.utils import to_py3d_mesh, from_py3d_mesh, init_target
11
 
12
  def run_mesh_refine(vertices, faces, pils: List[Image.Image], steps=100, start_edge_len=0.02, end_edge_len=0.005, decay=0.99, update_normal_interval=10, update_warmup=10, return_mesh=True, process_inputs=True, process_outputs=True):
 
13
  if process_inputs:
14
  vertices = vertices * 2 / 1.35
15
  vertices[..., [0, 2]] = - vertices[..., [0, 2]]
@@ -67,7 +68,7 @@ def run_mesh_refine(vertices, faces, pils: List[Image.Image], steps=100, start_e
67
 
68
  vertices,faces = opt.remesh(poisson=(i in poission_steps))
69
 
70
- vertices, faces = vertices.detach(), faces.detach()
71
 
72
  if process_outputs:
73
  vertices = vertices / 2 * 1.35
 
10
  from scripts.utils import to_py3d_mesh, from_py3d_mesh, init_target
11
 
12
  def run_mesh_refine(vertices, faces, pils: List[Image.Image], steps=100, start_edge_len=0.02, end_edge_len=0.005, decay=0.99, update_normal_interval=10, update_warmup=10, return_mesh=True, process_inputs=True, process_outputs=True):
13
+ vertices, faces = vertices.to("cuda"), faces.to("cuda")
14
  if process_inputs:
15
  vertices = vertices * 2 / 1.35
16
  vertices[..., [0, 2]] = - vertices[..., [0, 2]]
 
68
 
69
  vertices,faces = opt.remesh(poisson=(i in poission_steps))
70
 
71
+ vertices, faces = vertices.detach().cpu(), faces.detach().cpu()
72
 
73
  if process_outputs:
74
  vertices = vertices / 2 * 1.35
scripts/multiview_inference.py CHANGED
@@ -153,4 +153,4 @@ def geo_reconstruct_part2(vertices, faces):
153
  def geo_reconstruct_part3(meshes, img_list):
154
  meshes = meshes.to("cuda")
155
  new_meshes = multiview_color_projection(meshes, img_list, resolution=1024, device="cuda", complete_unseen=True, confidence_threshold=0.2, cameras_list = get_cameras_list([0, 90, 180, 270], "cuda", focal=1))
156
- return new_meshes
 
153
  def geo_reconstruct_part3(meshes, img_list):
154
  meshes = meshes.to("cuda")
155
  new_meshes = multiview_color_projection(meshes, img_list, resolution=1024, device="cuda", complete_unseen=True, confidence_threshold=0.2, cameras_list = get_cameras_list([0, 90, 180, 270], "cuda", focal=1))
156
+ return new_meshes.to("cpu")