Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
dadaaichifan opened this issue Jun 29, 2024 · 17 comments
Open

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

dadaaichifan opened this issue Jun 29, 2024 · 17 comments

Comments

@dadaaichifan
Copy link

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

@Jumpat
Copy link
Owner

Jumpat commented Jul 1, 2024

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

@dadaaichifan
Copy link
Author

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

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

@dadaaichifan
Copy link
Author

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

@Jumpat
Copy link
Owner

Jumpat commented Jul 5, 2024

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

@dadaaichifan
Copy link
Author

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

@Jumpat
Copy link
Owner

Jumpat commented Jul 5, 2024

seg_dvgo和seg_dcvgo中的seg_mask_grid

@dadaaichifan
Copy link
Author

seg_dvgo和seg_dcvgo中的seg_mask_grid

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

@dadaaichifan
Copy link
Author

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

@Jumpat
Copy link
Owner

Jumpat commented Sep 14, 2024

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

@Vincent-Songwentao
Copy link

我用的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的点云

@Jumpat
Copy link
Owner

Jumpat commented Nov 21, 2024

我用的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
Copy link

我用的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的源码对这部分进行调整。

感谢你的回复

@hm123450
Copy link

hm123450 commented Dec 8, 2024

我用的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
Copy link

hm123450 commented Dec 8, 2024

我用的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
Copy link

hm123450 commented Dec 8, 2024

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

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

@hm123450
Copy link

hm123450 commented Dec 8, 2024

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

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

@hm123450
Copy link

hm123450 commented Dec 9, 2024

我用的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数据了么?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants