基于直线段匹配的移动机器人的障碍物检测

然后,根据每组候选直线段对间内部像素点的灰度直方图计算这两条线段的相关性。因为属于同一个物体的像素点的灰度直方图有一个明显的凸峰,所以把凸峰占整个直方图面积的百分比作为计算候选直线段对相关性的第一个度量值定为inner_rela。
属于物体中的像素点的灰度值与它所处背景的像素点的灰度值相差比较大。所以把计算候选直线段对相关性的第二个度量值定为

。T1为两直线段间像素的灰度平均值,T2为两直线段构成区域的背景灰度平均值。因为

,所以把exter_rela除以255(作归一处理),使得

。
总的相关性度量值=inner_rela×exter_rela。如果总的相关性度量值超过一定的阈值,则这一组候选直线段对属于同一个物体的左右边缘。
inner_rela的计算方法介绍如下:
Stepl:计算这两条直线段之间的区域中的像素点的灰度分布直方图。
Step2:直方图存在一个明显的凸峰,计算出凸峰的位置Peak,并取凸峰邻域为[Peak-T,Peak+T],本文取T=32。对灰度值处在凸峰邻域[Peak-T,Peak+T]的像素点的个数进行累加,累加值Count存储到变量中。
Step3:inner_rela=Count/(整个直方图象素点的总数)。
最后,把配对成功的候选直线段对的相应端点进行连接,构造出的四边形作为物体的抽象轮廓。因为这些四边形之间会产生连接、包含、重叠等现象,所以取经过轮廓叠加产生的图像做为最终目标图像,从而在图像中实现对物体的定位。
4实验分析
本算法在室内进行了大量实验后发现,对图像中存在的棱柱状、棱台形状物体以及圆柱状、圆台形状物体能够实现90%的检测率;而对边缘为曲线的物体以及其他不规则物体的检测就根本不适用了。当评判匹配相关性的阈值设得偏大时漏检的概率变大,伪检的概率变小,反之亦然。
本文算法对于一副图像的测试结果如图4(a)~(e)所示,移动机器人平台上的彩色CCD摄像头拍摄的图像包含了一个纸箱、一个叠加在纸箱上的黑色钢管以及一个低矮的黄色木头盒子。对彩色图像运用颜色转换程序,转换成灰度图(图4(a));在线段图(图4(d))中灰度值为128的线段是负线段,灰度值为0的线段是正线段;输出的最终结果(图(4)e)中直线配对每成功一次,相应的区域像素点的灰度值减去100。

本文提出的利用直线段匹配检测障碍物的方法,不需要事先学习障碍物的2D图像模式,避免了使用计算量大的光流法和立体视觉方法。试验结果表明该方法能有效地实时检测障碍物。
下一步还需要研究如何将图像检测出的障碍物信息与移动机器人的激光雷达数据相融合,以及加入距离信息来提高障碍物检测的准确率和可靠性。
评论