YulianSa commited on
Commit
af77592
·
1 Parent(s): 138a3dc
Files changed (2) hide show
  1. app.py +6 -4
  2. infer_api.py +6 -5
app.py CHANGED
@@ -83,7 +83,8 @@ def arbitrary_to_apose(image, seed):
83
  def apose_to_multiview(apose_img, seed):
84
  # convert image to PIL.Image
85
  apose_img = Image.fromarray(apose_img)
86
- results, _ = infer_api.genStage2(apose_img, seed, num_levels=1)
 
87
  return results[0]["images"]
88
 
89
  def multiview_to_mesh(images):
@@ -92,9 +93,10 @@ def multiview_to_mesh(images):
92
 
93
  def refine_mesh(apose_img, mesh1, mesh2, mesh3, seed):
94
  apose_img = Image.fromarray(apose_img)
95
- _, all_results = infer_api.genStage2(apose_img, seed, num_levels=2)
96
- print(all_results.keys())
97
- refined = infer_api.genStage4([mesh1, mesh2, mesh3], all_results)
 
98
  return refined
99
 
100
  with gr.Blocks(title="StdGEN: Semantically Decomposed 3D Character Generation from Single Images") as demo:
 
83
  def apose_to_multiview(apose_img, seed):
84
  # convert image to PIL.Image
85
  apose_img = Image.fromarray(apose_img)
86
+ results = infer_api.genStage2(apose_img, seed, num_levels=1)
87
+ infer_api.add_results(results)
88
  return results[0]["images"]
89
 
90
  def multiview_to_mesh(images):
 
93
 
94
  def refine_mesh(apose_img, mesh1, mesh2, mesh3, seed):
95
  apose_img = Image.fromarray(apose_img)
96
+ results = infer_api.genStage2(apose_img, seed, num_levels=2)
97
+ infer_api.add_results(results)
98
+ print(infer_api.results.keys())
99
+ refined = infer_api.genStage4([mesh1, mesh2, mesh3], infer_api.results)
100
  return refined
101
 
102
  with gr.Blocks(title="StdGEN: Semantically Decomposed 3D Character Generation from Single Images") as demo:
infer_api.py CHANGED
@@ -381,6 +381,7 @@ class InferAPI:
381
  self.multiview_configs = multiview_configs
382
  self.slrm_configs = slrm_configs
383
  self.refine_configs = refine_configs
 
384
 
385
  # self.canonical_infer = InferCanonicalAPI(self.canonical_configs)
386
  # self.multiview_infer = InferMultiviewAPI(self.multiview_configs)
@@ -398,6 +399,10 @@ class InferAPI:
398
 
399
  def genStage4(self, meshes, imgs):
400
  return infer_refine(meshes, imgs)
 
 
 
 
401
 
402
 
403
  ############## Refine ##############
@@ -810,8 +815,6 @@ def process_im(im):
810
  im = infer_multiview_image_transforms(im)
811
  return im
812
 
813
- all_results = {}
814
-
815
  @spaces.GPU(duration=180)
816
  def infer_multiview_gen(img, seed, num_levels):
817
  set_seed(seed)
@@ -824,9 +827,7 @@ def infer_multiview_gen(img, seed, num_levels):
824
  data["color_prompt_embeddings"] = infer_multiview_color_text_embeds[None, ...]
825
 
826
  results = run_multiview_infer(data, infer_multiview_pipeline, infer_multiview_cfg, num_levels=num_levels)
827
- for k in results:
828
- all_results[k] = results[k]
829
- return results, all_results
830
 
831
  infer_canonicalize_config = {
832
  'config_path': './configs/canonicalization-infer.yaml',
 
381
  self.multiview_configs = multiview_configs
382
  self.slrm_configs = slrm_configs
383
  self.refine_configs = refine_configs
384
+ self.results = {}
385
 
386
  # self.canonical_infer = InferCanonicalAPI(self.canonical_configs)
387
  # self.multiview_infer = InferMultiviewAPI(self.multiview_configs)
 
399
 
400
  def genStage4(self, meshes, imgs):
401
  return infer_refine(meshes, imgs)
402
+
403
+ def add_results(self, results):
404
+ for k in results:
405
+ self.results[k] = results[k]
406
 
407
 
408
  ############## Refine ##############
 
815
  im = infer_multiview_image_transforms(im)
816
  return im
817
 
 
 
818
  @spaces.GPU(duration=180)
819
  def infer_multiview_gen(img, seed, num_levels):
820
  set_seed(seed)
 
827
  data["color_prompt_embeddings"] = infer_multiview_color_text_embeds[None, ...]
828
 
829
  results = run_multiview_infer(data, infer_multiview_pipeline, infer_multiview_cfg, num_levels=num_levels)
830
+ return results
 
 
831
 
832
  infer_canonicalize_config = {
833
  'config_path': './configs/canonicalization-infer.yaml',