引用不算多,看起来是早期的,object discovery方法,rgbd相机在像素和深度上聚类?
移动机器人的一项有用功能是能够识别其环境中移动和变化的对象(与背景对象不同,后者主要是固定的)。这种能力可以提高定位和地图绘制的准确性和可靠性,增强机器人与其环境交互的能力,并促进诸如库存管理和盗窃检测之类的应用。
这项工作不是将任务视为计算机视觉中对象识别方法的困难应用,而是与社区中无监督的对象发现和跟踪的最新趋势相一致,该趋势利用了机器人获取的数据的基本时间特性。
与早期的方法严重依赖于制图和计算机视觉的计算密集型技术不同,我们的方法以一种简单有效的方式结合了视觉特征和RGB-D数据,从而从机器人的感觉数据中分割出对象。然后,我们使用Dirichlet流程来聚类和识别对象。我们的方法的性能在多个测试领域得到了证明。
对象是机器人技术中的基本原语。 识别,跟踪和映射对象及其位置的能力是各种有用的机器人功能的要求。
但是,物体的检测和识别是困难的,开放的问题。 理想情况下,可能希望为机器人提供高分辨率的3D对象模型。
但是,必须使用转盘或其他专门的感应设备精心构建此类模型。 即使这是可行的,对于机器人可能遇到的对象是否可以事先进行彻底分类的基本假设,也充斥着质疑。
在一般环境中,维护“所有可能的对象”的数据库是很困难的:可以随时引入或删除对象,对象可以改变形状,并且必须分别对新对象进行建模。
这段话挺好的,,维护所有可能的对象的数据库,,不是一件容易的事情
我们开发了一种基于对象发现原理的对象感知方法。
对象发现中的基本问题是将传入的传感器读数分为“对象”和“非对象”部分。
观察到一般环境从根本上讲是动态的,因此我们假设对象是移动的事物。
通过检测对象已移动,我们允许环境直接为我们提供细分。
凭直觉,如果我们能够检测到某些东西已经消失,那么曾经存在的东西一定是一个物体。
然后,我们将这些片段发送到跟踪系统,该系统会随时间推移以及各个位置的对象外观执行数据关联。 通过在基于Dirichlet过程的概率模型中进行推断来完成数据关联。
逻辑挺清楚的,,如果发现移动或者消失,,就是对象,,数据关联这边还没懂
从图像分割到数据关联的我们的系统完全无监督,并在标准的移动机器人平台上运行。 我们在规模和复杂性不断增加的三个数据集上进行了演示,并根据经验评估了结果。
这项工作的贡献有三方面:用于有效检测对象消失的稀疏特征图,利用稀疏特征图的基于深度的精确对象分割系统,以及基于视觉单词的概率模型(用于在不同位置出现物体 跨时间和空间的准确数据关联)
怎么感觉和我的想法已经很接近了,稀疏特征图,但是你用深度做对象分割,我用cnn
2. 相关工作
一部分工作对obejct的识别,通过两次环境建模之间的变化获取,还有就是实时视频流分析
3.Background
基于 Dirichlet processes 的data association。
4.Problem
我们的主要前提是物体在机器人不注视时移动(或移动)。我们试图检测运动何时发生;如果以前存在于世界上的特征消失了,那么这些特征所占据的空间中的某物可能就是一个物体。与何时空出空间或新占用空间相比,检测要素是否消失更容易,因为这前者需要存储有关整个世界的3D度量信息,以防万一它与对象发现相关。
可以使用基于Octree的技术(例如OctoMap [20]),但是这些密集技术对微小的定位误差非常敏感,特别是在检测对象所需的分辨率下。
尽管我们的方法可以很容易地扩展为使用特征外观,但我们不使用密集技术而是着重于使用特征消失来提示对象发现(请参阅第X节)。为了方便有效地发现消失的特征,我们使用稀疏表示:3D空间中带有时间戳的视觉特征图。有关详细信息,请参见第V节。
OCTmap似乎是很经典的工作,可以看一下。3D空间中带有时间戳的视觉特征图;所以有一个时间的相关性
真正稀疏的特征图不能将传感器读数中的每个像素标记为“对象”或“非对象”。 在这里,我们可以利用传感器提供的深度数据。 除了在RGB中进行分割外,我们还可以使用消失的点在深度图像中进行分割分析。 第六节中详细介绍了分段器。
给定这些片段,我们现在必须执行一个跟踪步骤,以便在时间(“我再次看到这个对象”)和空间(“我现在在另一个位置看到这个对象”)之间关联片段。 使用一袋视觉单词的常见方法(例如,见Sivic等人[10]和Kang等人[16])。
由于我们的分割器使用的是完整功能,而不是视觉单词,而不仅仅是视觉单词,因此我们只能从出现在对象上的那些功能中学习单词。 将跟踪器调整到场景中特定对象的机会是我们方法的重要好处。 详见第七节。
最后,我们对这些视觉单词使用DP模型来执行跟踪和数据关联。 我们的输出是一组群集的RGB-D段。 这些可以是例如3D重建系统的输入。 数据关联在第VIII节中详细介绍。
所以这篇工作也关注了,在时间上再次看到,在空间上再次看到这两种情况,妈呀,,简直厉害
5.视觉特征
为了检测到某物已经消失(因此是物体),首先必须知道那儿有东西。 而不是像Herbst等人那样构建密集的3D地图。 [11],[12],我们构建了投影到3D中的视觉特征的稀疏地图。 回想一下,我们的目标是检测物体的消失; 给定一个新的RGB-D帧对,我们希望回答的问题是“应该观察到哪些特征点,但不是?” 然后将这些点视为对象上的候选点。
RGB-D相机的使用使这个问题的几何部分变得简单。 根据当前的稀疏特征图M1和机器人的当前本地化估算值,我们可以将这些点投影到RGB像素坐标中。 然后可以针对深度图像检查相机的z坐标(在图像平面之外),以查看该点是否在此帧中被遮挡。 该分析为我们提供了应该在此框架中观察到的一组点M2。
这里rgbd的深度还天然能算一下遮挡,单目感觉差不多,把新的深度和原本的深度对比一下
接下来,我们必须确定实际观察到的点。我们计算当前RGB帧中的视觉特征,并将其投影到3D中。我们定义一个空间阈值s和一个描述符距离阈值d。
如果f在s和d阈值内,则认为新特征f与地图特征m匹配。
将这些阈值应用于M2的每个元素,可以为我们提供一组M3的特征,这些特征应该已经观察到,但是没有被观察到。
把这些特征添加到地图。有关示例,请参见图1。
我的妈呀,这和我想的基本一样了,来自2012年的idea,那会儿我还念大一呢。。。
如果没有过多地使用无用特征,则可以有效地存储和使用特征图。
对于大多数生成视觉特征的方法,这是一个问题,因为它们可以在每个图像上生成大量特征,但是其中许多特征可能会由于图像噪声,相机运动以及(由于情况而定)由于定位而导致的意外遮挡而遭受不稳定错误。
因为我们使用否定特征检测作为阳性对象检测的提示,所以我们希望避免出现假阴性,即使存在假阳性的风险。
我们介绍两种技术来修剪我们的功能。首先,我们加强时间稳定性。我们要求在将特征添加到地图之前,先观察连续k帧的特征(首次看到或匹配)。这有助于过滤对图像噪声高度敏感的那些功能。我们还在匹配方面强制实施时间一致性:要算作候选项,要素必须不匹配(即
在M3中)连续k次;这有助于解决由于图像噪声引起的瞬态丢失
前面这段话就是orbslam的地图点提取方法,要连续观察到一定帧数;后面说的是,当连续一定帧数观测不到的时候,再把这些点视作为消失的点
其次,我们介绍特征集群的概念。
因为将从几个不同的角度看到要素,所以3D空间中的同一点可能会生成各种不同的要素描述符。
为了解决这个问题,我们的功能集群存储了多个描述符。 那么,新特征f与聚类c匹配的代价是f与c中任何描述符之间的描述符距离的最小值。 为了更新特征簇,我们引入了第二个空间阈值,即积分阈值i。 如果f在c的i中,我们将f的描述符添加到c的集合中。 重要的是,我们不首先执行描述符距离检查:特征聚类的目标是捕获由于视点引起的描述符值的变化; 需要紧密的描述符匹配将失败。
将时间稳定性标准应用于M3中的要素,便得到M4,并将其作为输入传递给分段器。
这里说的,特征的集合,就是为了不同视角下能够让特征点被识别。到还好吧。
在我们的实验中,我们使用ORB描述符[22]。 我们设置空间阈值s = 5 cm,描述符距离阈值d = 150,时间稳定性阈值k = 5,积分阈值i = 2 cm,并为每个实验使用相同的参数。
5cm还是个具体数字啊,我的单目没有这种指标啊。。。再说吧
6. 物体分割
当识别出一组候选目标点时,这些点将移交给分割器。 分割器的工作是在对应的较早期的帧里面,找出现在缺失的rgbd数据。
这可以通过在时间上倒退所有包含缺失特征的帧来实现。 对于每个这样的帧,提取深度图像中的segment。
分段器基于一个简单的假设:object必须被支撑着。
特别是,我们假设对象必须放在平面上。 这个假设排除了某些类型的对象(例如,悬挂在头顶的灯),但几乎包括了其他所有对象。
例如,Herbst等人发现的物体。 [11],[12]都在桌面上。 类似地,来自Kang等人的ADL数据集中的175张图像中,除了10张图像外,其余全部都是在大型平面上。 语义映射文献中也使用了这种平面假设,通常可以简化受控近距离环境中的对象识别。 参见,例如Rusu等。 [23]和Trevor等。 [24]。
平面假设,,这个第一次听说。。而且ransac就能提取平面了
作为输入,我们的分割器获取图像和时间稳定集合M4(第V节,图2a)。
使用相应的深度图(图2b),使用PCS [25]中实现的RANSAC提取平面。
使用发现在平面上的像素形成mask。 此mask将通过减去平面来将平面与对象分离。
接下来,找到深度不连续性较大(深度边缘)的像素,并将其添加到mask中,作为物体的边缘。所得的掩模如图2c所示。
最后,我们将M4中的点投影到mask深度图像中并向外泛洪(图2c中从黑色到白色)。 产生的连接区域对应于段,可用于提取对象的深度或颜色数据,如图2d所示。
滤除非常大的连接组件(在我们的实验中,任一侧大于0.7 m),以及包含少于三个特征簇的组件。
此步骤的输出是一组分段,以像素坐标表示。 我们依靠我们的DP对象模型来确定段是否对应于同一物理对象。 性能在第IX节中讨论。
7.Visual words
在跟踪过程中,我们使用一袋单词方法,而不是直接在我们的对象模型中使用特征描述符,在该方法中,描述符被量化为可视单词[10]。 与使用原始功能相比,这在不同的观点上提供了更快的性能,更好的鲁棒性和泛化能力。 我们使用词汇量为W的词汇表(在我们的实验中,W = 250)。 这些词是在细分后生成的,这意味着它们已调整到我们数据中的特定细分。
对于每个片段,我们首先单独重新计算该片段的ORB特征(先前为帧计算的ORB特征覆盖了整个图像,因此该片段上可能没有很多特征)。
接下来,给定数据集中所有片段上所有特征的ORB描述符,我们在描述符空间中应用K-means聚类得到一组质心d1; :::; dW(也在描述符空间中)。
然后,将每个分段上的每个特征描述符替换为最接近的质心。 如果dw是最接近描述符d的质心,则在推理算法中将其简单地表示为整数w,因为将对可视单词执行的唯一操作是相等性检查。
该阶段的输出包括上一阶段的片段以及每个片段的可视单词。
8.数据关联
迄今为止,所描述的感知管线为一组特征已消失的每个帧产生一定数量的片段,每个片段由一组视觉词和相关位置(在传感器框架中)组成。
剩下的任务是确定这些段中的哪些对应于同一对象。
即使从两个连续的帧中产生片段,由于彩色和深度图像中的噪声,它们可能也不相同。
当机器人和物体在场景中移动时,由于图像中物体尺寸的变化以及相对于机器人的姿态的变化,对应于同一物体的片段肯定会有所不同。
给定观察到的段的历史,我们的目标是产生聚类,或更普遍地讲,在聚类对应于对象的聚类上产生概率分布。
因此,一组段的聚类由一组假设的对象ID组成,对于每个段,它属于该对象的对象的ID。
聚类和数据关联是经过充分研究的问题。
在我们的环境中,一个挑战是要聚类的片段是复杂的,具有不同的维数。 此外,由于遮挡(并非观察到所有视觉单词)以及由于对象移动时特征点的绝对坐标会改变这一事实,定义聚类之间的距离的概念具有挑战性。
我们使用基于DP的模型来解决该问题。
DP的基本度量是在视觉单词f(1 ... W)g上的Dirichlet分布。
因此,DP的每个混合成分对应于从该基本度量得出的多项式分布。
通过基于DP选择组件,然后从组件的多项式分布中采样独立的视觉单词,即可生成观察到的细分。
该DP模型的混合组件对应于世界中的基础对象。每个对象在视觉单词上都有一个关联的多项式分布,对应于对象上的特征。
观察到的元素是单个视觉单词。我们的目标只是将观察到的片段聚类。我们假设将在以后的阶段对对象进行更详细的建模。
请注意,该设置与标准Dirichlet处理混合物略有不同,因为假定出现在给定段上的视觉单词来自同一对象(即我们在此阶段假定分段是正确的)。
我们的算法将输出一组样本,每个样本都是一个聚类,为每个观察到的片段分配一个对象ID。
为了确定给定样本的单个最佳聚类,我们可以简单地采用最可能的聚类,但是样本的维数很高,任何给定的样本仅发生几次。 因此,使用最可能的聚类会忽略样本中的许多信息。
相反,我们将每个细分分别分配给样本中最常与之关联的对象ID。
该估计器不适用于任意采样方案,因为它取决于对象ID的特定值,并且排列不变。
但这对于下面描述的Gibbs采样器效果很好,在该采样器中,与对象相对应的所有段的ID不可能同时更改为新值。
这边还没翻译完,,但是有很多算法上我没弄懂的东西,,所以先转到evaluation
9. Performance
我们在规模和复杂性不断增加的三个数据集上验证系统的性能。
如前所述,我们只需要一个本地化的RGB-D相机; 在我们的移动数据集中,这是安装在Willow顶部的Microsoft Kinect
车库PR2,以5 Hz的频率捕获1280×960的RGB帧和640×480的深度帧。
深度图像限制在2 m的范围内,以最小化Kinect的范围误差。
机器人过快移动的帧会被滤除,以最大程度地减少由于运动模糊导致的视觉特征错误。 但是,它们包含在发布的数据中[1]。 这些数据集称为:
小型:固定相机示例,以进行完整性检查。 数据集由101个静态,空场景的帧组成,之后是135帧(其中添加了两个对象),然后是114帧(其中已删除了对象)。 示例图像可以在图3中看到。手分割的结果为270个片段和两个唯一的对象
中型:从在办公室环境中导航的移动机器人获取的数据集。 机器人观察桌子(带有物体),然后在移开物体时将视线移开,然后再次观察桌子。 然后,机器人行进约18 m,并使用包含相同对象的计数器重复此过程。 在两个地方都使用了相同的对象来测试跨位置的数据关联(在照明方面有相应的变化等)。共有四个唯一的对象,即手工发现394个段,总共484个帧。 示例图像可以在图4中看到
大型:一个数据集,分布在40 m×40 m办公环境的多个房间中,总距离为181.5 m。
在此环境中有两次通过。 在第一遍中,机器人会观察每个房间中的多个物体。 在第二遍中,将删除所有对象。 共有七个独特的对象,手工发现419个段,以及397个帧。 帧数低于中等数据集,因为不允许机器人在任何位置徘徊很长时间。 示例图像如图5所示。