Jumpat / SegAnyGAussians

The official implementation of SAGA (Segment Any 3D GAussians)
Apache License 2.0
556 stars 41 forks source link

the mask in rendering result #82

Open blueFeather111 opened 3 months ago

blueFeather111 commented 3 months ago

I noticed in this function

res = render_func(view, gaussians, pipeline,...)

它的结果res包含了"mask", 也注意到在diff-gaussian-rasterization的forward.cu中有渲染mask. 但是这个mask画出来并不像mask, 而是一些稀疏的点。

请问在evaluate中,计算和ground truth mask的IOU时能用res['mask']吗? 还是需要用res['render']中>0的部分作为predicted mask? 期待回复

res["render"] Screenshot from 2024-06-24 17-20-27

res['mask'] Screenshot from 2024-06-24 17-20-59

Jumpat commented 3 months ago

你好,能否提供有关res['mask']更多的信息。这个渲染结果是不正常的,这是使用main branch还是v2 branch分割后的渲染结果?渲染时传入的参数具体是什么样的?

blueFeather111 commented 3 months ago

你好,能否提供有关res['mask']更多的信息。这个渲染结果是不正常的,这是使用main branch还是v2 branch分割后的渲染结果?渲染时传入的参数具体是什么样的?

用的是main branch, 数据集用的是figurines, 提取特征的时候图像没有做resize, 原图大小。

参数: 以idx = 0为例, view是读取的相机和图片信息,包括FoVX, FoVY,R,T, image_name="frame_00001" feature_height=147,feature_width=200. image_height=728, image_width=986

gaussians: 用precomputed_mask分割后的点云,分割前点云数量为1981620, 分割后点云数量是3463, get_features:(3463,16,3), get_mask:(3463,1), max_radii2D=0, max_sh_degree=3

background:[0,0,0]

precomputed_mask: (1981620,1), 是3D分割保存的./segmentation_res/figurines.pt

    for idx, view in enumerate(tqdm(views, desc="Rendering progress")):
        res = render_func(view, gaussians, pipeline, background, override_mask=precomputed_mask.float())

        rendering = res["render"]
        mask = res["mask"]
        im_mask = mask.squeeze().detach().cpu().numpy()
        im_mask[im_mask > 0] =255  #这里阈值取0,上次的图阈值取的是0.3
        #cv2.imshow("mask", im_mask)

上次的res["mask"]是取阈值>0.3的为mask, 现在取阈值为0的效果: 感觉mask比较稀疏,是不是哪里有问题?期待您的回复。

Screenshot from 2024-06-26 10-54-04

wangmiaowei commented 2 months ago

效果不太好。说实话

Jumpat commented 1 month ago

@blueFeather111 抱歉忘记回复这个issue了。这里点比较稀疏主要是因为物体内部和外部高斯特征不对齐导致的,使用v2 branch的代码效果应该会好。 @wangmiaowei 如果是v2 branch的代码中有什么效果不好的情况,可以发在issue里我看下是否是方法/代码还有可优化的地方。

blueFeather111 commented 1 month ago

@blueFeather111 抱歉忘记回复这个issue了。这里点比较稀疏主要是因为物体内部和外部高斯特征不对齐导致的,使用v2 branch的代码效果应该会好。

我用了v2 branch的渲染mask, 效果还不错。谢谢你的回复。

xuyanging commented 2 weeks ago

@blueFeather111 请问v2 branch更改了什么嘛

Jumpat commented 1 week ago

@blueFeather111 请问v2 branch更改了什么嘛

v2 branch是一个新的版本,具体的更新可以看一下我们新版的论文