论文阅读 A Monocular Vision Sensor-Based Obstacle DetectionAlgorithm for Autonomous Robots 细读

皮皮读论文,欢迎交流。

2016年发表于sensor 

《一种基于单目视觉传感器的自主机器人障碍物检测算法》原文

摘要:

本文提出了一种基于单目视觉传感器的自主机器人障碍物检测算法。感兴趣区域的每个图像像素被
标记为属于障碍物或地板。传统的方法依赖于点跟踪进行障碍检测,而该算法采用逆透视映射(IPM)方法。当相机离地板不高时,这种方法更有利,这使得在地板附近的点跟踪变得困难。然后利用IPM结果和地板外观模型进行基于马尔可夫随场的障碍分割。然后,计算机器人与障碍物之间的最短距离。将该算法应用于70个数据集进行测试,其中20个包括地板外观发生相当大变化的非障碍图像。定量分析了障碍物的分割精度和距离估计误差。对于障碍数据集,该方法的分割精度和平均距离估计误差分别为81.4%和1.6cm,而传统方法的分割精度分别为57.5%和9.9cm。对于非障碍数据集,该方法的假阳性率为0.0%,而传统的方法为17.6%。
关键词:障碍检测、单眼视觉分割

1 介绍部分

        机器人技术的目标之一是开发一种能够在现实世界中自主行动的移动机器人。为此目的,检测机器人前面有危险或不可能穿越的障碍物是运动规划的先决条件。障碍物检测对于机器人真空或监控机器人等自主服务机器人来说是一个特别重要的问题,因为它们必须开车穿过杂乱的环境,并且必须能够穿越每一个角落和缝隙。它们经常被卡在障碍物上,比如电线或衣服,然后完全停止操作。虽然已经对障碍的检测和回避进行了无数的研究,但这仍然是一个尚未解决的问题,特别是考虑到真实的环境和成本。

        列举部分常见机器人避障方案,对比各个传感器,选择视觉传感器。

        本文提出了一种基于单眼视觉的障碍检测方法。这项研究的目的是检测各种类型的难以与地板区分开的低障碍,。特别是,这项工作集中于相机在贴近地板的情况。在各种机器人平台上,如机器人吸尘器或小型监控机器人,摄像头不能安装在离地面很高的位置。在这种情况下,利用传统的点跟踪方法中来区分图像中的地板和障碍物区域变得极其困难。此外,我们致力于减少与非障碍图像的假阳性。

       论文中使用反透视映射(IPM)来获得障碍检测中的几何线索。为了进一步提高性能,在IPM阶段采用了垂直平面模型。下一步,利用IPM结果和学习到的地板外观模型,应用基于外观的障碍分割。然后,计算机器人与待避免的障碍物之间的最短距离。我们将该方法应用于70个数据集,其中包括有相当大的地板外观变化的非障碍图像。然后将定量分割精度与现有的传统方法进行了比较。并分析了该方法的距离估计的精度。

2 相关工作

        在各种环境中,地板可以局部被认为是一个平面,障碍物的检测可以简化为发现地板异常的问题(核心思想)

        目前基于视觉的算法可分为三类:基于外观的方法、基于三维重建的方法和基于同质性的方法。列举相关算法,有兴趣可以看原论文专门了解。

3 系统概述

        在本文的研究中,假设地面相对平坦,在环境中没有悬垂的障碍。作为感官输入,本研究使用了从前置单目摄像机捕获的图像和从机器人车轮编码器和陀螺仪捕获的测程仪。照相机离地面有6.3厘米高,略微倾斜了7.2° 以考虑到各种场景需求,如监控或人机交互。

        在许多情况下,障碍物距离机器人会超过1米。而本文情况摄像机安装水平较低,相机拍到的连续图像上远处障碍物区域造成的差异十分小,接近于零。也就使得远处的障碍物几乎不可能检测到。人为跳过这些区域,避免了不必要的计算,减少了处理器的计算负担。由于这些原因,我们的目标是检测出现在图像底部区域的附近的障碍物。该算法通过简单地检查图像底部三分之一的边数的变化来传递图像。(意思就是运算图像中下部的区域ROI(Region of Interest,ROI)),如下图。

         下图显示了论文方法的总体流程图(根据原论文画的)

        当机器人向附近的障碍物移动时,ROI区域的边缘数量通常会因为大多数障碍物都包含边缘而增加。该简单的变化检测算法触发主要障碍检测算法对至少三张后续图像进行运行。(也就是三帧连续超过了边缘数目阈值,就是检测到的障碍物的像素数量做第一步筛选)

        当机器人在图像中没有障碍物的情况下前进时,地板图案 的改变也会触发主算法运行。在这种情况下,主要的算法区分了地板图案和障碍物。 (防止假阳性,也就是障碍物的误判,常见的就是地砖的倒影)

        在主算法触发后,将改进的基于ipm的粗糙障碍检测应用于下感兴趣区域(ROI)图像。如果将较低的 ROI图像归类为非障碍图像,则跳过障碍物分割步骤。否则,对障碍物进行分割,并估计到障碍物的距离。 这项工作的主要新颖性如下。首先,在IPM阶段采用垂直平面模型进行粗障碍物检测。其次,将基于ipm的 方法与颜色和纹理外观模型相结合,进行障碍分割。

4 改进的基于ipm的粗检测

4.1.传统的基于ipm的障碍物检测(初步判断是否有障碍物)

        一个机器人在两个不同的时间t下获取图像1和图像2 ,并可以利用两帧之间的里程计信息计算相对变换。

x1为地面某个真实点,在两帧上面有各自的映射。

        两帧之间的单应矩阵H,相机内参K,旋转矩阵R,平移向量t,地面法向量n,相机距离d。

        同样地,假设在图像1的RIO内不存在障碍。然后,图像1在地平线(我理解是指底面于墙壁交界线,或者是ROI的上边界)下的所有点都可以被转换到t2,生成 t2时刻的预测图像2。如果这个假设是正确的,那么在t2时刻的预测应该和真实的图像2相同。但如果在图像1的视界下存在障碍物,则虚拟图像不再与障碍物区域的真实图像2相同。这样,就可以通过从真实图像2中减去虚拟图像来检测障碍物。由于IPM算法的几何特性,其检测区域局限于视界下的区域,即只需要 使用视界下的区域进行检测,而不是评估整个障碍区域。

        在这项工作中,障碍物检测区域被设置为图像的 下垂直的三分之一和中间水平的四分之三。在这个区域出现的任何障碍都会直接阻止机器人向前移动。以 下,我们将该区域称为ROI,该算法在该ROI内应用基于ipm的障碍检测和障碍分割。请注意,虽然梯形区域 通常用于定义ROI,但为了简单起见,我们在本研究中使用了矩形ROI。 一般来说,基于ipm的方法可以可靠地检测出大多数障碍。在我们的案例中,即使相机安装在较低的 位置,但当假设障碍物具有高度纹理的表面时,基于ipm的方法可以检测到相机高度下的任何障碍物,并且 地板同质模型是准确的。该方法完全避免了障碍检测中传统的特征提取与匹配或光流计算。虽然基于ipm的 方法非常有效,但它确实有两个主要的缺点。首先,在其内部区域中很少检测到具有均匀着色或纹理的相对较大的障碍物。其次,单应变化模型的误差、未知的摄像机运动和地板的光反射会向地板图像引入噪 声

       下图很好地说明了这些缺点。IPM方法检测到的属于障碍物的像素总数为Nfloor。下图所示的 风扇、电线、椅子和窗台,IPM提供了可靠的检测。然而对于e,f所示的变压器和工具箱的边界区域的 检测很少。这些障碍相对较大,内部有均匀颜色的区域。(第一个缺点的情况,纹理不足,这个属于假阴,障碍物在,但是没检测出来)

        当地板的外观随着机器人的移动而发生变化时, 在地板区域会出现一些噪声检测,如图5 g,h所示。(第二个缺点的情况,颜色干扰,倒影,这个属于假阳,没有障碍物,但是检测出来有)

        针对这一问题,在有篇论文(链接)中提出了一个一维垂直剖面图,以区分基于ipm的行人检测中的真实检测和噪声检测。然而,这种方法是基于假设行人的边缘与背景相比具有强烈的垂直方向。然而,这一假设在一般情况下是不符合的,并且没有明确的线索来区分正确的检测和噪声检测。相反,我们将ROI图像分类为障碍图像或非障碍图像。只有在将ROI图像归类为障碍图像后,才会出现随后进行了障碍分割。然而,如下图所示,仅仅根据检测到的像素数量对这两种情况进行分类是不够的,还需要进一步的处理。 (到这里说明了这个传统IPM的缺点,然后根据一篇论文提出的基于ipm的行人检测中的真实检测和噪声检测提出的一维垂直剖面图的概念用于这篇论文的ipm粗筛选)

 4.2 预测障碍物距离估计(找下边界线)

        为了区分非障碍物图像和障碍物图像,我们提出了一种基于垂直平面模型的图像扭曲方法。之后,我们还需要求出机器人和候选障碍物之间的近似距离。
        如前所述,基于特征匹配或基于光流的三维重建对于估计障碍物距离是不可靠的。相反,我们提出了一个简单的基于外观的方法。 对于单目视觉,估计距离的一种常用方法是假设地面相对平坦,没有悬垂的障碍物存在。如果这两个假设都是有效的,那么我们可以估计到相机的距离,因为我们知道相机的高度和倾斜角度。换句话说,如果我们计算出障碍物的较低区域像素 (就是障碍物的底部,与地板接触部分) ,就可以根据针孔摄像机模型估计出近似的距离。为了进一步简化问题,我们估计了ROI图像中通过障碍物较低像素的水平边界线l。如果我们知道图像中的线l,ROI可以分为两个区域:上区域Wl,线l的上部和下区域Wl下方的的行l。这两个区域的并集是整个ROI图像WROI,如下:

        接下来,我们考虑这两个区域的外观。这两个区域有不同的颜色或纹理分布,它们可以被量化为 两个概率密度函数(pdfs)。在ROI区域的可能线l中,当线l通过障碍物的底部像素时,两个pdfs之间的差值最大。因此,距离估计问题可以表述为寻找水平边界线l,使上下区域的pdfs之间的差异最大化。下面的公式说明了问题 (通过两个区域的像素概率密度差异的极大值来找障碍物的下边线)

        对于外观模型,我们使用了组合的强度和纹理特征。在各种纹理特征中,我们使用了在 论文链接 中提出的纹理特征,因为它可以很好地区分前景区域和背景区域。文中提出的纹理特征是基于利用半局部图像信息和微分几何原理的纹理几何。 我们在像素(x,y)附近使用了一个6 6 正方形的斑块来获取半局部图像信息。纹理描述符T被定义为:

        其中gxy是正方块的像素张量,\sigma^{2} 是缩放参数。在这项工作中,\sigma^{2}被选为ROI图像上的det(gxy)最大值的千分之一。当障碍物的纹理与地板的纹理不同时,纹理描述符特别有用。图7显示了纹理描述的提取,它被转换为一个毛巾、床罩和电线盒的8位灰度图像。结果表明,纹理描述符为障碍物区域与地板区域的划分提供了高度可区分的信息。 (上述论文提供原理利用纹理做分割)

         接下来,强度 (我理解为像素值) 和纹理特征的联合概率密度估计方法如下:虽然存在相对快速的 核密度估计 方法,但多维非参数核密度估计一般需要较高的计算能力。经过仔细考虑,我们将强度和纹理特征作为一种 朴素贝叶斯式 的自变量。给定区域Ω1.upper、ΩΩ1.lower的联合概率密度函数可近似为:

其中,I和T分别为强度特征和纹理特征。每个强度和纹理pdf可以很容易地通过使用高斯核计算如下:

        其中,|¨|为给定区域的面积,G(¨)为均值和方差σ2为零的一维高斯核。为了估计两个区域之间的外观差异,我们使用kulb-leibler(KL)散度。KL散度常用于测量两个pdfs之间的距离。Ωl、上、Ωl区域的pdf之间的KL散度可定义为:

 其中RI和RT是强度和纹理特征的域。接下来,我们找到使两个区域的KL散度最大的视界线如下:(找障碍物的下边界线的具体公式)

 通过简单(?)地扫描ROI内可能的水平边界线,我们可以找到满足方程如上l*

        为了降低复杂性(考虑计算量耗时的问题),我们采用了两种策略:第一种策略包括标准化的强度和纹理特征域到整数值0到64之间(量化参数),第二种策略是使用降采样图像来寻找l*。首先对1/16大小的降采样图像进行扫描,然后对扫描线周围的原始大小的图像进行扫描(降采样)

        该方法在一个普通PC上处理只需要5个ms。下图显示了估计的水平边界线l*的典型例子,它们被标记为一条红线。假设估计的边界线通过障碍物的较低区域,机器人与障碍物之间的估计距离分别为0.42、0.42和0.31m

 4.3.基于垂直平面模型确定ROI中障碍的存在(剔除假阳误检测)

         上一节介绍了估计候选障碍物与机器人之间的距离的方法。然后,对第一帧进行估计距离变换,建立一个虚拟的垂直平面。下图显示了相机图像平面和相应的垂直平面的几何特性。我们假设这个障碍可以被建模为一个垂直的平面。我们计算了两个单应矩阵:地板单应矩阵和障碍物垂直平面的单应矩阵。利用这两种单应矩阵模型,计算虚像,采用IPM方法。对这个虚拟图像的解释是,这个世界是由一个地板和一个在摄像机前的垂直障碍平面组成的。

        在接下来的步骤中,从真实图像2中减去虚拟图像,然后进行阈值化和二值化。接下来,计算检测到的像素的总数为无障碍。IPM方法检测到的像素总数表示为Nflood,因为IPM方法将图像1中的ROI建模为地板。相比之下,组合的地板和虚拟垂直平面将ROI建模为一个地板和一个垂直平面形状的障碍。Nbarcy(障碍物像素)和Nfloor分别表示各模型的不准确程度。然后,利用Nfloor与Nbracy的比值对非障碍图像与障碍图像之间的ROI图像进行分类。如果比例较大,则将ROI区域划分为障碍图像是合理的。否则,将ROI区域划分为非障碍图像。 

        下图显示了所提出的区分非障碍物图像和障碍物图像的决策规则。通过设置适当的阈值,可以正确地区分这两种情况。在我们的设置中,阈值1和阈值2是通过实验确定的,以提供的最佳结果分别为300和1.5。这些阈值应根据相机的高度和倾斜角度和图像分辨率进行调整。下下图显示了各种情况下计算比率的例子。有趣的是,风扇、t恤和金属丝似乎不太可能被建模为垂直的平面。然而,这些障碍的比例很高,如下下图d-f所示。此外,如预期的那样,地板外观的变化导致了一个较低的比例。(双阈值判断)

 

 5.障碍物分割和距离估计

        从改进的基于ipm的粗障碍检测过程中,ROI存在障碍。由IPM方法检测到的像素提供了一个关于障碍的粗糙提示。然而,确切的障碍边界仍然未知。对于精细的障碍物分割,该算法利用障碍物和地面的外观进行基于马尔可夫随场的障碍物分割。所提出的障碍分割方法类似于在[37]中使用的交互式分割。因为我们使用基于外观的分割,可能会出现假阳性,这实际上是被标记为障碍的地板区域。使用形态学操作和ipm检测到的数据,去除假阳性。然后,利用分割结果估计机器人与障碍物之间的最短距离。(认为之前的基于像素的粗检测不行,有假阳性,地板会被误判)

5.1.基于外观的概率密度估计

        对于障碍物分割,估计了地板和障碍物出现的概率密度。 为了对地板外观进行建模,经常使用图像下部参考区域的颜色直方图 。我们的地板外观学习算法与Ulrich[12]的自适应方法非常相似。该方法在许多机器人应用中都非常简单、合理和实用。我们使用第4节中介绍的强度和纹理特征来建模每个像素的外观。我们假设机器人 已经移动的地板面积没有障碍物 。候选队列和参考队列用于更新自适应地板外观模型。参考队列用于估计当前障碍物分割中的地板概率密度。对于我们的相机设置, 图像的下面15行对应于机器人前面0.17到0.26米的地板。当在这15行中没有检测到障碍时,强度、纹理和当前的测程信息将存储在候选队列中 。在每个样本时间,将当前的测程信息与来自候选队列的信息进行比较。接下来,检查方向的变化。与当前方向相差超过25个的方向将从候选队列中消除。 最后,将对应的测程位置差异大于0.26m的强度、纹理和测程信息从候选队列移动到参考队列中。在当前参考队列中,其位置或方向与当前位置不同的旧数据将被删除,因为地板的外观可能会随着机器人的移动而改变。将对应的测程位置差异超过1m或方向差异超过45度的数据从参考队列中删除。 
         只有通过改进的基于ipm的方法将当前图像的ROI分类为障碍物图像时,才能估计参考队列中的地板强度和纹理概率密度。否则,将只会更新候选队列和引用队列。当当前图像的ROI在机器人 操作开始时或在旋转后立即被归类为障碍物图像时,参考队列不可用。在这种情况下,图像的下15行的强度和纹理信息被立即移动到参考队列中。在这种情况下,存在着地板外观模型的参考面积不是无障碍的风险。 (障碍物突然出现在近点)
        估计障碍物出现概率密度比地板容易得多。我们直接使用ipm检测到的像素的强度和纹理。强度或纹理概率的估计使用与第4.2节中介绍的相同模型。联合概率密度和条件概率密度可以近似为一个简单的形式为:

5.2.马尔可夫随机场建模 

        在估计了地面和障碍物出现的概率密度后,利用 马尔可夫随机场模型 对障碍物进行分割。马尔可夫粉丝域(MRF)是一种概率图形模型,用于编码随机变量之间的条件依赖关系。我们提出了在MRF框架中分割障碍物区域的问题,并定义了一个能量函数,使其最小值对应于图像中目标分割的障碍物区域。在这个框架中,我们将图像中的每个像素表示为一个马尔可夫随机场中的一个节点,并将标记这些像素的一元成本和成对成本关联起来。然后,我们在一个能量最小化框架中解决这个问题,其中定义了以下能量函数E:

        其中ψi表示与像素i相关的一元项,ψij表示在邻域系统n上定义的平滑项。这里x是ROI中图像的每个像素对应的随机变量集。这些随机变量xi分别根据它是地板还是障碍物而取一个标签0或1。从概率模型中可知,每个像素的一元项为:

         ψi可以解释为每个像素靠近地板和障碍物的概率。只有当相邻像素具有以下不同标签时,才添加平滑项:

        障碍物和地板的分割问题取决于寻找能量函数的全局最小值

         利用图切割方法可以有效地计算出该能量函数的全局最小值。我们使用柯尔莫戈罗夫等人[24]的高效、公开的实现来找到这个图的最小切割。由于我们的基于图形切割的障碍分割是基于颜色纹理外观模型的,因此总是存在获得假阳性的风险。为了消除假阳性,我们首先从形态学上打开这个系统。接下来,我们使用连通性对障碍像素进行分组。最后,当组内没有ipm检测到的像素时,我们将整个组标记为地板。用该方法可以有效地消除假阳性,从而得到可靠的分割。

5.3.估计障碍物距离
        为了避免障碍物,必须从图像中估计出障碍物与机器人之间的最短距离。在第4.2节中介绍的估计障碍物距离的粗化方法是用于区分非障碍物图像和障碍物图像。我们现在需要使用最终的障碍物分割结果来精确估计障碍物的距离。如第4.2节所述,估计距离的一种常用方法是使用单眼相机,即假设地面相对平坦,没有悬垂的障碍物。如果这两个假设是有效的,那么到给定障碍底部的估计距离对所有障碍都是正确的。然而,障碍物的给定部分离地面越高,距离就越高。解决这一问题的一种简单方法是对障碍物像素进行分组,并将最短的距离分配给整个组。ROI的任何部分的障碍都会阻碍机器人的发展,所以我们只对机器人和ROI中的障碍之间的最短距离感兴趣。因此,障碍物分割的最低部分是很重要的。为了从噪声障碍分割结果中稳健地找到最低像素,该算法使用了一个简单的中值滤波。我们首先存储每个图像列的最低障碍像素的高度。接下来,进行中值滤波,以找到图像中的最低像素。利用针孔摄像机模型,可以轻松地计算出机器人与障碍物之间的最短距离。

原理完毕 后续就是实验数据,部分如下:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李皮皮的悲惨生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值