SegmentAnythingin3D icon indicating copy to clipboard operation
SegmentAnythingin3D copied to clipboard

将分割后的三维模型导出成点云或者网格

Open dadaaichifan opened this issue 1 year ago • 17 comments

如题,请问有什么较好的办法吗?我尝试利用nerfstudio中ns-export方法来操作,由于自身能力限制我没有办法生成这个实验的.yml文件。所以我需要您的帮助,这将对我后续研究有很大的帮助,谢谢。

dadaaichifan avatar Jun 29 '24 10:06 dadaaichifan

分割好后的三维模型实际上就是以320**3的grid形式存储的,请参考lib/grids.py部分的代码。

Jumpat avatar Jul 01 '24 01:07 Jumpat

分割好后的三维模型实际上就是以320**3的grid形式存储的,请参考lib/grids.py 部分的代码。

请问分割好后的三维模型的网格数据在哪里导出呢?

dadaaichifan avatar Jul 01 '24 02:07 dadaaichifan

你好,我还是没搞懂怎么导出网格,请您再次解答一下,谢谢。

dadaaichifan avatar Jul 01 '24 03:07 dadaaichifan

分割好的结果是以网格形式保存的,只需要把DenseGrid中对应的变量grid取出来,但具体要导出成什么格式需要根据下游的需求自己修改并存储。

Jumpat avatar Jul 05 '24 02:07 Jumpat

分割好的结果是以网格形式保存的,只需要把DenseGrid中对应的变量grid取出来,但具体要导出成什么格式需要根据下游的需求自己修改并存储。 您好,感谢您的回答。我观察到grid.py文件中的DenseGrid类被多个python文件创建了实例,请问是将哪个DenseGrid实例中的grid取出来 image

dadaaichifan avatar Jul 05 '24 03:07 dadaaichifan

seg_dvgo和seg_dcvgo中的seg_mask_grid

Jumpat avatar Jul 05 '24 05:07 Jumpat

seg_dvgo和seg_dcvgo中的seg_mask_grid

您好,抱歉再次打扰您,请问直接将__init__方法中的seg_mask_grid变量直接导出成.ply文件,就是已经分割好后的三维模型了吗? QQ_1722307613427

dadaaichifan avatar Jul 30 '24 02:07 dadaaichifan

请问self.seg_mask_grid 是一个可以通过 numpy 处理的体素网格数组吗?

dadaaichifan avatar Sep 11 '24 08:09 dadaaichifan

是的,是一个tensor,可以转换成np. array

Jumpat avatar Sep 14 '24 03:09 Jumpat

我用的nerfstudio 版本 调用ns-export 导出点云时候出现 pipeline.datamanager.train_pixel_sampler.num_rays_per_batch = self.num_rays_per_batch AttributeError: 'NoneType' object has no attribute 'num_rays_per_batch' 不知道如何修改导出mask的点云

Vincent-Songwentao avatar Nov 20 '24 13:11 Vincent-Songwentao

我用的nerfstudio 版本 调用ns-export 导出点云时候出现 pipeline.datamanager.train_pixel_sampler.num_rays_per_batch = self.num_rays_per_batch AttributeError: 'NoneType' object has no attribute 'num_rays_per_batch' 不知道如何修改导出mask的点云

你好,我们并没有在nerfstudio上严格实现点云导出等功能,这可能导致无法预料的错误,目前我们没有维护该分支的计划,你可能需要根据nerfstudio的源码对这部分进行调整。

Jumpat avatar Nov 21 '24 01:11 Jumpat

我用的nerfstudio版本调用ns-export导出点云时出现 pipeline.datamanager.train_pixel_sampler.num_rays_per_batch = self.num_rays_per_batch AttributeError: 'NoneType' object has no attribute 'num_rays_per_batch' 不知道如何修改导出mask的点云

好,我们并没有在nerfstudio上严格实现点云导出等功能,这可能会导致无法预料的错误,目前我们没有维护该分支的计划,你可能需要根据nerfstudio的源码对这部分进行调整。

感谢你的回复

Vincent-Songwentao avatar Nov 21 '24 01:11 Vincent-Songwentao

我用的nerfstudio 版本 调用ns-export 导出点云时候出现 pipeline.datamanager.train_pixel_sampler.num_rays_per_batch = self.num_rays_per_batch AttributeError: 'NoneType' object has no attribute 'num_rays_per_batch' 不知道如何修改导出mask的点云

你好,我们并没有在nerfstudio上严格实现点云导出等功能,这可能导致无法预料的错误,目前我们没有维护该分支的计划,你可能需要根据nerfstudio的源码对这部分进行调整。

您好呀,我想问一下您DenseGrid中对应的变量grid,我尝试取出来了,我打印了一下它的类型和形状。 1733672110440 我理解前两个参数分别是物体数和通道数,在咱们fern示例中都是1,我也知道这个tensor变量可以很容易的转换成np格式,但是我想问一下后三位是什么意思。我看您前面说grid是 image

我想知道我应该怎么把这个数据保存成ply网格文件呢?我不太理解后三维的意思。我尝试用open3d的write_triangle,但是失败了,说是参数不符合要求。 1733672526825

hm123450 avatar Dec 08 '24 15:12 hm123450

我用的nerfstudio 版本 调用ns-export 导出点云时候出现 pipeline.datamanager.train_pixel_sampler.num_rays_per_batch = self.num_rays_per_batch AttributeError: 'NoneType' object has no attribute 'num_rays_per_batch' 不知道如何修改导出mask的点云

你好,我们并没有在nerfstudio上严格实现点云导出等功能,这可能导致无法预料的错误,目前我们没有维护该分支的计划,你可能需要根据nerfstudio的源码对这部分进行调整。

偶对了,我用的是master分支的,没有用nerfstudio,我只是单纯的把seg_mask_grid.grid取了出来

hm123450 avatar Dec 08 '24 15:12 hm123450

分割好后的三维模型实际上就是以320**3的grid形式存储的

而且它打印出来的形状好像也不是320**3,呜呜

hm123450 avatar Dec 08 '24 15:12 hm123450

分割好后的三维模型实际上就是以320**3的grid形式存储的,请参考lib/grids.py部分的代码。

但是我看他输出没有异常 1733674749900 后三维的确就是那些数

hm123450 avatar Dec 08 '24 16:12 hm123450

我用的nerfstudio版本调用ns-export导出点云时出现 pipeline.datamanager.train_pixel_sampler.num_rays_per_batch = self.num_rays_per_batch AttributeError: 'NoneType' object has no attribute 'num_rays_per_batch' 不知道如何修改导出mask的点云

好,我们并没有在nerfstudio上严格实现点云导出等功能,这可能会导致无法预料的错误,目前我们没有维护该分支的计划,你可能需要根据nerfstudio的源码对这部分进行调整。

感谢你的回复

hellohello,这位同学我想问问你,你现在知道怎么理解和保存这个grid数据了么?

hm123450 avatar Dec 09 '24 03:12 hm123450