改善Project Tango平板电脑深度数据的未来前景

时间:2014-12-26 04:22:48

标签: google-project-tango

我有兴趣使用Project Tango平板电脑使用任意点功能进行3D重建。在当前的SDK版本中,我们似乎可以访问以下数据。

  • 1280 x 720 RGB图像。
  • 点云,0~10,000点,具体取决于环境。在大多数环境中,这似乎平均在3,000到6,000之间。

我真正想要的是能够识别图像中关键点的3D点。因此,将深度投影到图像平面是有意义的。我已经做到了,我得到了这样的东西:

enter image description here

此过程的问题是深度点与RGB像素相比是稀疏的。所以我更进一步,在深度点之间进行插值。首先,我做了Delaunay三角测量,一旦我得到了很好的三角测量,我在每个方面的3个点之间进行插值,得到了一个体面的,相当均匀的深度图像。以下是内插深度有效的区域,强加在RGB图像上。

enter image description here

现在,考虑到相机模型,可以在深度图像上的任何点将深度投射回笛卡尔坐标(因为深度图像是这样的,即每个像素对应于原始RGB图像上的点,我们有RGB相机的相机参数)。但是,如果您查看三角测量图像并将其与原始RGB图像进行比较,您可以看到深度对图像中所有不感兴趣的点都有效:大多数是空白,无特征的平面。对于这组图像来说,这不是正确的;这是我对传感器的一种趋势。例如,如果一个人站在传感器前面,他们的轮廓中的深度点很少。

由于传感器的这种特性,如果我对图像进行视觉特征提取,大多数具有角落或有趣纹理的区域都会落入没有相关深度信息的区域。举个例子:我从Xtion传感器的RGB图像中检测到1000个SIFT关键点,其中960个具有有效的深度值。如果我对这个系统做同样的事情,我会得到80个有效深度的关键点。目前,这种性能水平对我来说是不可接受的。

我可以猜测其根本原因:似乎某种平面提取算法用于获取深度点,而Primesense / DepthSense传感器正在使用更复杂的东西。

所以无论如何,我的主要问题是:通过改进的RGB-IR图像处理算法,我们能否期望在以后的某个时间点对深度数据进行任何改进?或者这是电流传感器的固有限制?

2 个答案:

答案 0 :(得分:7)

我来自Google的Project Tango团队。很抱歉,您在设备上遇到了深度问题。只是为了确保您的设备处于良好的工作状态,请您在平面墙上测试深度性能。说明如下: https://developers.google.com/project-tango/hardware/depth-test

即使设备处于良好的工作状态,深度库也可以在具有低红外反射率物体,小尺寸物体,高动态范围场景,某些角度的物体和距离大于〜的物体的场景上返回稀疏深度点。 4米。虽然其中一些是深度解决方案的固有限制,但我们正在与深度解决方案提供商合作,尽可能地改进。

附上典型会议室场景的图像和相应的点云。正如您所看到的,1)没有从笔记本电脑屏幕返回深度点(低反射率),桌面对象如贴纸,笔筒等(小物体尺寸),桌子的大部分(表面处于一个角度) ),最右边的房间角落(距离> 4米)。

但是当您在设备上移动时,您将开始获得深度点返回。累积深度点是获得更密集点云的必要条件。

请同时告知我们您在project-tango-hardware-support@google.com上的调查结果

image

答案 1 :(得分:1)

在我非常基本的初步实验中,对于从视野返回的深度信息,你是正确的,然而,表面点的返回是不变的。我发现当我移动设备时,我可以在返回深度信息的地方获得重大转变,即,相对于深度数据,图像中存在大量短暂的不透明度,这可能是由于表面的特征。 因此,虽然没有返回框架就足够了,但真正的问题似乎是构建一个更大的模型(点云打开,可能是体素空间扩大),以便将连续扫描带入一个通用模型。它在精神上让人想起合成孔径算法,但方程中的字母来自一整套不同的定律。 简而言之,我认为一种更有趣的方法是通过连续积累点云数据来合成一个更完整的模型 - 现在,为了实现这一点,设备团队必须按照他们的规模对其进行无聊的计算。这也解决了传感器改进无法解决的问题 - 如果您的视觉传感器是完美的,它仍然无助于您将对象的两侧关联起来,至少在对象前面的近邻区域。