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)
|