我对使用 Project Tango 平板电脑使用任意点特征进行 3D 重建很感兴趣。在当前的 SDK 版本中,我们似乎可以访问以下数据。
- 1280 x 720 RGB 图像。
- 具有 0-~10,000 个点的点云,具体取决于环境。在大多数环境中,这似乎平均在 3,000 到 6,000 之间。
我真正想要的是能够识别图像中关键点的 3D 点。因此,将深度投影到图像平面是有意义的。我已经这样做了,我得到了这样的东西:
这个过程的问题是深度点与 RGB 像素相比是稀疏的。所以我更进一步,在深度点之间进行了插值。首先,我进行了 Delaunay 三角剖分,一旦我得到一个好的三角剖分,我就在每个面的 3 个点之间进行插值,得到了一个不错的、相当均匀的深度图像。以下是插值深度有效的区域,强加在 RGB 图像上。
现在,给定相机模型,可以在深度图像上的任何点将深度投影回笛卡尔坐标(因为深度图像的制作使得每个像素对应于原始 RGB 图像上的一个点,并且我们有相机参数RGB 相机)。但是,如果您查看三角剖分图像并将其与原始 RGB 图像进行比较,您会发现深度对图像中所有不感兴趣的点都有效:大部分是空白的、无特征的平面。这不仅适用于这组图像。这是我看到的传感器的趋势。例如,如果一个人站在传感器前面,则他们的轮廓中几乎没有深度点。
由于传感器的这一特性,如果我对图像进行视觉特征提取,大多数具有角落或有趣纹理的区域都落在没有相关深度信息的区域中。举个例子:我从 Xtion 传感器的 RGB 图像中检测到 1000 个 SIFT 关键点,其中 960 个具有有效的深度值。如果我对这个系统做同样的事情,我会得到大约 80 个具有有效深度的关键点。目前,这种性能水平对于我的目的来说是不可接受的。
我可以猜测其根本原因:似乎某种平面提取算法正在用于获取深度点,而 Primesense/DepthSense 传感器正在使用更复杂的东西。
所以无论如何,我的主要问题是:通过改进的 RGB-IR 图像处理算法,我们能否期望在以后的时间点对深度数据有任何改进?或者这是电流传感器的固有限制?