5

我对使用 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 图像处理算法,我们能否期望在以后的时间点对深度数据有任何改进?或者这是电流传感器的固有限制?

4

2 回答 2

7

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

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

附上一张典型会议室场景的图片和对应的点云。如您所见,1) 笔记本电脑屏幕(低反射率)、桌面对象(如便利贴、铅笔架等)(小对象)、桌子的大部分(倾斜的表面)没有返回深度点),最右边的房间角落(距离> 4m)。

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

还请通过 project-tango-hardware-support@google.com 向我们发布您的发现

图片

于 2014-12-31T22:12:38.640 回答
1

在我非常基本的初始实验中,关于从视野返回的深度信息,您是正确的,但是,表面点的返回绝不是恒定的。我发现当我移动设备时,我可以在返回深度信息的位置发生重大变化,即图像中关于深度数据有很多暂时的不透明度,这可能是由于表面的特性。因此,虽然没有返回框架就足够了,但真正的问题似乎是构建一个更大的模型(要打开的点云,可能是按比例放大的体素空间)以将连续扫描带入一个通用模型。它在精神上让人想起合成孔径算法,但方程式中的字母来自一组完全不同的定律。简而言之,我认为一个更有趣的方法是通过点云数据的连续积累来合成一个更完整的模型——现在,为了让它发挥作用,无论规模大小,设备团队都必须对资金进行航位推算。这也解决了传感器改进无法解决的问题 - 如果您的视觉传感器是完美的,它仍然无法帮助您关联对象的侧面,至少在对象正面的附近。

于 2014-12-27T00:28:43.587 回答