皮皮读论文,欢迎交流。
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的障碍物检测(初步判断是否有障碍物)
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所示。(第二个缺点的情况,颜色干扰,倒影,这个属于假阳,没有障碍物,但是检测出来有)
4.2 预测障碍物距离估计(找下边界线)
其中,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.基于外观的概率密度估计
5.2.马尔可夫随机场建模
ψi可以解释为每个像素靠近地板和障碍物的概率。只有当相邻像素具有以下不同标签时,才添加平滑项:
障碍物和地板的分割问题取决于寻找能量函数的全局最小值
利用图切割方法可以有效地计算出该能量函数的全局最小值。我们使用柯尔莫戈罗夫等人[24]的高效、公开的实现来找到这个图的最小切割。由于我们的基于图形切割的障碍分割是基于颜色纹理外观模型的,因此总是存在获得假阳性的风险。为了消除假阳性,我们首先从形态学上打开这个系统。接下来,我们使用连通性对障碍像素进行分组。最后,当组内没有ipm检测到的像素时,我们将整个组标记为地板。用该方法可以有效地消除假阳性,从而得到可靠的分割。