hujiecpp commited on
Commit
2768473
·
1 Parent(s): 3d8bebe

init project

Browse files
Files changed (1) hide show
  1. app.py +21 -10
app.py CHANGED
@@ -93,6 +93,7 @@ def _convert_scene_output_to_glb(outdir, imgs, pts3d, mask, focals, cams2world,
93
  scene.export(file_obj=outfile)
94
  return outfile
95
 
 
96
  def get_3D_model_from_scene(outdir, scene, min_conf_thr=3, as_pointcloud=False, mask_sky=False,
97
  clean_depth=False, transparent_cams=False, cam_size=0.05):
98
  """
@@ -447,7 +448,7 @@ def get_cog_feats(images, sam2, siglip, siglip_processor, yolov8, mobilesamv2):
447
  return cog_seg_maps, rev_cog_seg_maps, multi_view_clip_feats
448
 
449
 
450
- @spaces.GPU(duration=30)
451
  def get_reconstructed_scene(outdir, filelist, schedule='linear', niter=300, min_conf_thr=3.0,
452
  as_pointcloud=True, mask_sky=False, clean_depth=True, transparent_cams=True, cam_size=0.05,
453
  scenegraph_type='complete', winsize=1, refid=0):
@@ -540,12 +541,10 @@ def get_reconstructed_scene(outdir, filelist, schedule='linear', niter=300, min_
540
  torch.cuda.empty_cache()
541
 
542
 
543
-
544
  return outfile
545
 
546
-
547
- # def get_3D_object_from_scene(outdir, text, threshold, scene, min_conf_thr, as_pointcloud,
548
- # mask_sky, clean_depth, transparent_cams, cam_size):
549
 
550
  # device = 'cpu'
551
  # siglip_tokenizer = AutoTokenizer.from_pretrained("google/siglip-large-patch16-256")
@@ -559,9 +558,22 @@ def get_reconstructed_scene(outdir, filelist, schedule='linear', niter=300, min_
559
  # text_feats = text_feats / text_feats.norm(dim=-1, keepdim=True)
560
  # scene.render_image(text_feats, threshold)
561
  # scene.ori_imgs = scene.rendered_imgs
562
- # outfile = get_3D_model_from_scene(outdir, scene, min_conf_thr, as_pointcloud, mask_sky,
563
- # clean_depth, transparent_cams, cam_size)
564
- # return outfile
 
 
 
 
 
 
 
 
 
 
 
 
 
565
 
566
  tmpdirname = tempfile.mkdtemp(suffix='pe3r_gradio_demo')
567
 
@@ -593,7 +605,6 @@ with gradio.Blocks(css=""".gradio-container {margin: 0 !important; min-width: 10
593
  outputs=[outmodel]) # , outgallery, scene,
594
 
595
  # find_btn.click(fn=get_3D_object_from_scene_fun,
596
- # inputs=[text_input, threshold, scene, min_conf_thr, as_pointcloud, mask_sky,
597
- # clean_depth, transparent_cams, cam_size],
598
  # outputs=outmodel)
599
  demo.launch(show_error=True, share=None, server_name=None, server_port=None)
 
93
  scene.export(file_obj=outfile)
94
  return outfile
95
 
96
+
97
  def get_3D_model_from_scene(outdir, scene, min_conf_thr=3, as_pointcloud=False, mask_sky=False,
98
  clean_depth=False, transparent_cams=False, cam_size=0.05):
99
  """
 
448
  return cog_seg_maps, rev_cog_seg_maps, multi_view_clip_feats
449
 
450
 
451
+ @spaces.GPU(duration=120)
452
  def get_reconstructed_scene(outdir, filelist, schedule='linear', niter=300, min_conf_thr=3.0,
453
  as_pointcloud=True, mask_sky=False, clean_depth=True, transparent_cams=True, cam_size=0.05,
454
  scenegraph_type='complete', winsize=1, refid=0):
 
541
  torch.cuda.empty_cache()
542
 
543
 
 
544
  return outfile
545
 
546
+ # def get_3D_object_from_scene(outdir, text, threshold, scene, min_conf_thr=3.0, as_pointcloud=True,
547
+ # mask_sky=False, clean_depth=True, transparent_cams=True, cam_size=0.05):
 
548
 
549
  # device = 'cpu'
550
  # siglip_tokenizer = AutoTokenizer.from_pretrained("google/siglip-large-patch16-256")
 
558
  # text_feats = text_feats / text_feats.norm(dim=-1, keepdim=True)
559
  # scene.render_image(text_feats, threshold)
560
  # scene.ori_imgs = scene.rendered_imgs
561
+
562
+
563
+ # rgbimg = scene.ori_imgs
564
+ # focals = scene.get_focals().cpu()
565
+ # cams2world = scene.get_im_poses().cpu()
566
+ # # 3D pointcloud from depthmap, poses and intrinsics
567
+ # pts3d = to_numpy(scene.get_pts3d())
568
+ # scene.min_conf_thr = float(scene.conf_trf(torch.tensor(min_conf_thr)))
569
+ # msk = to_numpy(scene.get_masks())
570
+ # return _convert_scene_output_to_glb(outdir, rgbimg, pts3d, msk, focals, cams2world, as_pointcloud=as_pointcloud,
571
+ # transparent_cams=transparent_cams, cam_size=cam_size)
572
+
573
+
574
+
575
+
576
+
577
 
578
  tmpdirname = tempfile.mkdtemp(suffix='pe3r_gradio_demo')
579
 
 
605
  outputs=[outmodel]) # , outgallery, scene,
606
 
607
  # find_btn.click(fn=get_3D_object_from_scene_fun,
608
+ # inputs=[text_input, threshold, scene],
 
609
  # outputs=outmodel)
610
  demo.launch(show_error=True, share=None, server_name=None, server_port=None)