点云中的这些暗点是什么?[关闭]

What are these dark points in the point cloud? [closed]

提问人:GRS 提问时间:10/29/2023 最后编辑:GRS 更新时间:10/30/2023 访问量:51

问:


编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答这个问题。

15天前关闭。

我正在 Open3D 中可视化我的点云,并看到下图。这丝黑点是什么?它朝向相机吗?好像是这样。应该消除的只是噪音吗?

enter image description here

我原来的RGBD图像是:

enter image description here

编辑:

源文件。

点云 Open3D

评论

0赞 saurabheights 10/30/2023
你能分享 rgbd 图像吗,或者它是如何生成的
0赞 saurabheights 10/30/2023
我猜有两种可能性是 1.更改大小或一些类似运算时深度图像的抗锯齿/插值或 2.立体深度计算过程中对应计算的边界不匹配。
0赞 GRS 10/30/2023
@saurabheights,我渲染了一个单位立方体 - 并尝试了嘈杂的图像和反照率作为RGB输入(两者都产生散射点)。深度图像也会在渲染过程中作为 AOV 生成。
0赞 saurabheights 10/30/2023
您必须使用更多信息更新您的问题,以便任何人进一步提供帮助。主要信息是如何生成那些嘈杂的图像/反照率。请提供完整的代码。我仍然怀疑问题是由于抗锯齿(见 media.geeksforgeeks.org/wp-content/uploads/20230720100012/...)或像这样的插值造成的。此外,添加源代码。
0赞 GRS 10/30/2023
@saurabheights 谢谢 - 我明白了。我添加了源代码。我不想通过提供另一个库的源代码来使问题更加复杂,因为我想使问题自成一体。我怀疑这可能是因为RGB很嘈杂。然后我尝试了反照率。我认为这是一个显而易见的解决方案,因此我问了。我自己会更深入地研究这个问题。

答:

1赞 saurabheights 10/30/2023 #1

问题在于深度图像中的锯齿。

import numpy as np
depth = np.load('TransferNow-SO/depth-arr.npy')
np.set_printoptions(precision=2)
original_depth[275:285, 920:930]

这将显示:-

array([[3.96, 3.96, 3.97, 3.97, 3.98, 0.76, 0.  , 0.  , 0.  , 0.  ],
       [3.95, 3.96, 3.97, 3.98, 3.86, 0.06, 0.  , 0.  , 0.  , 0.  ],
       [3.96, 3.96, 3.97, 3.98, 3.01, 0.  , 0.  , 0.  , 0.  , 0.  ],
       [3.96, 3.97, 3.98, 3.98, 2.17, 0.  , 0.  , 0.  , 0.  , 0.  ],
       [3.96, 3.97, 3.98, 3.99, 1.26, 0.  , 0.  , 0.  , 0.  , 0.  ],
       [3.97, 3.97, 3.98, 3.95, 0.38, 0.  , 0.  , 0.  , 0.  , 0.  ],
       [3.97, 3.98, 3.98, 3.35, 0.  , 0.  , 0.  , 0.  , 0.  , 0.  ],
       [3.97, 3.98, 3.99, 2.6 , 0.  , 0.  , 0.  , 0.  , 0.  , 0.  ],
       [3.98, 3.98, 3.99, 1.34, 0.  , 0.  , 0.  , 0.  , 0.  , 0.  ],
       [3.98, 3.99, 3.99, 0.54, 0.  , 0.  , 0.  , 0.  , 0.  , 0.  ]],
      dtype=float32)

请注意多维数据集边界处的值。实际深度值 3.98(在第一行中)不会急剧下降到 0,这会导致尾随深度像素。

此外,更改 rgb 图像只会影响点云中顶点的颜色。映射到点云时图像像素的位置仅取决于 3 件事:-

  1. 相机的内在矩阵。
  2. 相机的外部矩阵。
  3. 每个像素的深度值。