NVlabs / BundleSDF

[CVPR 2023] BundleSDF: Neural 6-DoF Tracking and 3D Reconstruction of Unknown Objects
https://bundlesdf.github.io/
Other
992 stars 109 forks source link

A train of thought on the issue of mesh generation #127

Closed Jingranxia closed 8 months ago

Jingranxia commented 9 months ago

Thank you for your excellent work. If I only want to generate meshes from a few angles of an object, this will inevitably result in some invisible faces being replaced by raised meshes. Is there any way to solve this kind of protrusion, or to make those perspectives not generate faces, so that trimesh.bounds.oriented_ Bounds generate OBB more accurately.

wenbowen123 commented 9 months ago

ideally the video should have a reasonable coverage of the views. If there are missing views, those regions' reconstruction will be undefined, and thus the network will try to hallucinate. For your case, is there any reason you do not collect a longer and better coverage video?

Jingranxia commented 9 months ago

ideally the video should have a reasonable coverage of the views. If there are missing views, those regions' reconstruction will be undefined, and thus the network will try to hallucinate. For your case, is there any reason you do not collect a longer and better coverage video?

我的想法是如果不用手去拿这个物体,只拍暴露在外面的面,而底部看不见的面不去进行生成,尽管LINEMOD数据集办法也可以制作物体mesh,但是我感觉那个方法过于繁琐了,生成物体表面也不够光滑。用您的办法能实现底部不进行生成吗?我有一个想法,在进行物体表面拼接过程中,同时进行当前面点云的拼接,点云拼接是额外的部分,这样是不是就能达到所有可看到面点云的拼接了,最后这个点云我拿来使用。 My idea is that if you don't have to hold the object with your hands and only capture the exposed surface without generating the invisible surface at the bottom, although the LINEMOD dataset method can also create object meshes, I feel that method is too cumbersome and the surface of the generated object is not smooth enough. Can you use your method to avoid generating at the bottom? I have an idea that during the process of object surface stitching, the current point cloud stitching should be performed simultaneously. Point cloud stitching is an additional part, so can we achieve the stitching of all visible face point clouds.

Jingranxia commented 9 months ago

ideally the video should have a reasonable coverage of the views. If there are missing views, those regions' reconstruction will be undefined, and thus the network will try to hallucinate. For your case, is there any reason you do not collect a longer and better coverage video?理想情况下,视频应该有合理的观看次数覆盖率。如果缺少视图,这些区域的重建将是不确定的,因此网络将试图产生幻觉。就您的情况而言,您有什么理由不收集更长更好的覆盖视频吗?

我的想法是如果不用手去拿这个物体,只拍暴露在外面的面,而底部看不见的面不去进行生成,尽管LINEMOD数据集办法也可以制作物体mesh,但是我感觉那个方法过于繁琐了,生成物体表面也不够光滑。用您的办法能实现底部不进行生成吗?我有一个想法,在进行物体表面拼接过程中,同时进行当前面点云的拼接,点云拼接是额外的部分,这样是不是就能达到所有可看到面点云的拼接了,最后这个点云我拿来使用。 My idea is that if you don't have to hold the object with your hands and only capture the exposed surface without generating the invisible surface at the bottom, although the LINEMOD dataset method can also create object meshes, I feel that method is too cumbersome and the surface of the generated object is not smooth enough. Can you use your method to avoid generating at the bottom? I have an idea that during the process of object surface stitching, the current point cloud stitching should be performed simultaneously. Point cloud stitching is an additional part, so can we achieve the stitching of all visible face point clouds.我的想法是,如果你不必用手握住物体,只捕捉暴露的表面而不生成底部的不可见表面,虽然 LINEMOD 数据集方法也可以创建物体网格,但我觉得这种方法太繁琐了,生成的物体表面不够光滑。你能用你的方法避免在底部生成吗?我有一个想法,在物体表面拼接过程中,应该同时执行当前的点云拼接。点云拼接是附加部分,因此我们可以实现所有可见面点云的拼接。

补充一下,比如像老式电视机这种体型较大的物体,我可以手持深度相机拍摄一圈生成,显然底部的拍摄有困难的,尽管我可以做到电视的翻转,我的解决办法是不要底部的mesh或者点云,OBB也不会被缺损的底部点云受到影响,达到更精准的位姿估计定义 To add, for example, for larger objects like old-fashioned televisions, I can use a handheld depth camera to capture a circle of images. Obviously, capturing the bottom is difficult. Although I can achieve TV flipping, my solution is to not use the bottom mesh or point cloud, and OBB will not be affected by the missing bottom point cloud, achieving a more accurate definition of pose estimation

wenbowen123 commented 9 months ago

if you do not want to hold the object with hand, but scan it on table-top, this is also feasible. Please refer to our statue example https://bundlesdf.github.io/ (bottom). You just need to scan around the object. One thing is you might need to segment the object (e.g. using 2D mask cues) to separate from the plane.