init project
Browse files
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=
|
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 |
-
#
|
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 |
-
|
563 |
-
|
564 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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,
|
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)
|