在图像识别中,低对比度图像的识别一直是该领域的难点。在光照强度过大或无光强的情况下,传统的障碍物识别是利用图像自身的灰度变化来分离障碍物与背景,然而在低对比度的图像中,大部分物体的灰度变化强度相近,进而易使匹配出错,导致识别算法无法有效运算[1-2]。柯欣琦等[3]针对郊外低对比度图像,在传统障碍物特征提取的基础上,提出了利用Hough变换和基于数学形态学的线特征的改进算法,进而提高了线匹配质量;谢丹玫等[4]提出了利用视频采集卡及其SDK软件开发包和人类对比度分辨率补偿算法,对暗视觉环境下的视频采集进行实时自适应底层视频挖掘,使常规的视频采集设备具有了夜视的功能。但文献[3]与文献[4]均对环境适应性较差。雷鸣等[5]提出了一种基于多线激光的单目相机检测算法,通过观测图像中光带的扭曲来计算障碍物的尺寸信息,但单目相机需要实时处理大量数据,速度慢、鲁棒性差;另外,基于多传感器融合的障碍检测技术也是一个重要的发展方向,Bruno Steyx等[6]已经研制出在车上搭载多传感器的智能车辆,通过多传感器融合技术实现道路障碍检测和路径跟踪,但目前多传感器造价昂贵,不利于无人车辆的普及。
在很多工程实践中,提取图像之间的共同特征即可快速、有效地识别出物体。本文即运用低成本的红外激光网格发射装置和红外双目摄像机,提出了一种基于红外激光网格路面障碍识别方法,利用障碍物会在网格线发生断开的现象识别障碍物并获取其轮廓和距离。减少了所需处理的信息量,极大提升了检测速度和精度,尤其对于低对比度图像下障碍物特征信息的提取有极大优势。
1 双目视觉测距系统随着机器视觉领域的不断发展壮大[7],双目视觉不断应用在机器人导航与避障、机械臂的引导、三维成像、汽车导航等诸多领域[8-9], 与目前其他测距方法相比,双目测距具有成本低、精度高、方便快捷等优点[10-11]。双目视觉测距技术的基本原理是基于物体在左右相机像平面成像的相差,利用相似三角形的几何关系,得到物体距相机的距离。
如图 1所示,任意一点P的相对位置在左右2个相机坐标系中,设左侧摄像机所在自身坐标系o-xyz位于世界坐标系原点处,且无旋转,图像所在坐标系为O1-X1Y1,其焦距为f1;右摄像机所在自身坐标系为or-xryrzr,图像所在自身坐标系为Or-XrYr,其焦距为fr,则由摄像机投影变换可推导出模型:
$ {s_1}\left[ {\begin{array}{*{20}{l}} {{X_1}}\\ {{Y_l}}\\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{l}} {{f_l}}&0&0\\ 0&{{f_l}}&0\\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{l}} x\\ y\\ z \end{array}} \right]{s_r}\left[ {\begin{array}{*{20}{l}} {{X_r}}\\ {{Y_r}}\\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{l}} {{f_r}}&0&0\\ 0&{{f_r}}&0\\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{l}} {{x_r}}\\ {{y_r}}\\ {{z_r}} \end{array}} \right] $ |
Download:
|
|
o-xyz坐标系与or-xryrzr坐标系之间的相互转换关系可以利用空间变换矩阵Mlr,如式(1)和式(2)所示:
$ \left[ {\begin{array}{*{20}{c}} {{x_r}}\\ {{y_r}}\\ {{z_r}} \end{array}} \right] = {\mathit{\boldsymbol{M}}_{1{r}}}\left[ {\begin{array}{*{20}{c}} x\\ y\\ z\\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{r_1}}&{{r_2}}&{{r_3}}&{{t_x}}\\ {{r_4}}&{{r_5}}&{{r_6}}&{{t_y}}\\ {{r_7}}&{{r_8}}&{{r_9}}&{{t_z}}\\ \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x\\ y\\ z\\ 1 \end{array}} \right] $ | (1) |
其中
$ {\mathit{\boldsymbol{M}}_{1{r}}} = \left[ {\mathit{\boldsymbol{R/T}}} \right]\mathit{\boldsymbol{R = }}\left[ {\begin{array}{*{20}{c}} {{r_1}}&{{r_2}}&{{r_3}}\\ {{r_4}}&{{r_5}}&{{r_6}}\\ {{r_7}}&{{r_8}}&{{r_9}}\\ \end{array}} \right]\mathit{\boldsymbol{T = }}\left[ {\begin{array}{*{20}{c}} {{t_x}}\\ {{t_y}}\\ {{t_z}} \end{array}} \right] $ | (2) |
式中:R为o-xyz坐标系和or-xryrzr坐标系之间的旋转矩阵,T为两个坐标系与原点之间得平移变换矢量。由模型公式可知,对于o-xyz坐标系中的空间点,两相机相面点之间的对应关系为
$ {\rho _r}\left[ {\begin{array}{*{20}{c}} {{X_r}}\\ {{Y_r}}\\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{f_r}{r_1}}&{{f_r}{r_2}}&{{f_r}{r_3}}&{{f_r}{t_x}}\\ {{f_r}{r_4}}&{{f_r}{r_5}}&{{f_r}{r_6}}&{{f_r}{t_r}}\\ {{r_7}}&{{r_8}}&{{r_9}}&{{t_z}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {z{X_l}/{f_l}}\\ {z{Y_l}/{f_l}}\\ z\\ 1 \end{array}} \right] $ |
于是,空间点三维坐标可以表示为
$ \left\{ {\begin{array}{*{20}{l}} {x = z{X_l}/{f_1}}\\ {y = z{Y_l}/{f_1}}\\ {z = \frac{{{f_l}({f_r}{t_x} - {X_r}{t_z})}}{{{X_r}({r_7}{X_l} + {r_8}{Y_l} + {f_l}{r_9}) - {f_r}({r_1}{X_l} + {r_2}{Y_l} + {f_l}{r_3})}} = }\\ {\frac{{{f_l}({f_r}{t_y} - {Y_r}{t_z})}}{{{Y_r}({r_7}{X_l} + {r_8}{Y_l} + {f_l}{r_9}) - {f_r}({r_4}{X_l} + {r_5}{Y_l} + {f_l}{r_6})}}} \end{array}} \right. $ |
因此,已知两个相机焦距fl、fr和被测点p的坐标位置,只需知道矩阵R和矢量T就可以求出被测点的三维坐标。在双目相机经过标定后,便可以得知旋转矩阵R和平移向量T,从而被测物体点的三维坐标即可求得。
2 网格细化方法与实现由于受到环境和物体间的相互遮挡等因素影响,从双目相机提取出来的原始图像网格线上点较密集,不仅显得网格线较粗,而且数据量过大,不利于后期处理,因此有必要对这些点进行筛选压缩。为了去除这些无用点对激光网格直线拟合的影响,本文先从障碍物轮廓曲率入手进行分析,采用道格拉斯普克算法(D-P)进行处理,得到去除偏差较大的点之后的拟合直线,使其图像网格直线更加符合原始数据分布。D-P算法是一种简单有效的提取网格直线关键点的方法,可根据特征点特性将图像中的干扰点去除。如图 2所示,先分别计算C、D、E三点到直线AB的距离, 得到三者当中的最大值,图中最大距离的点对应为C点,如果最大值小于规定的阈值, 则C、D、E三点都舍去, 此曲线用直线AB取代,否则C点保留。再分别计算D到AC和E到BC的距离,如果大于阈值则保留该点, 否则舍去。重复此过程,直到图像中所有像素点都被检测到为止。已知相机采集到的图像中理想激光网格直线曲率半径非常大,而所要去除的干扰点所构成的直线边缘的曲率半径则比较小,采用D-P算法原理,设定相邻3个点的外接圆半径为该3个点之间区域的曲率,之后通过采集网格直线上关键节点将网格区域分段,然后计算每一段的曲率,如果求得半径小于设定的阈值,则该3点之间的所有点均舍去,不参与直线拟合,最后实现网格的细化处理。
Download:
|
|
激光网格的产生是采用衍射物质将一个单一光点转换成一个均匀网格,使光线按需要的亮度进行网格分布。将规则的等密度的光线投射于障碍物之上可以得到被扭曲了的非均匀分布的图像。为了让测量精度更高和测量速度更快,因此没有匹配图像上所有的像素点坐标,而是采用了一种特征点匹配算法,匹配的是网格线的断点。并通过将点的匹配转化为直线的匹配,从而简化了匹配的复杂性,提高了匹配的精度与效率。
首先对细化后的图像进行总体搜索,搜索时所采用的方法是先将图像中所有符合条件(非连续性直线)的断线全部找出,然后再通过下述方法将多余直线排除掉, 提取直线特征后,为了得到匹配的直线特征,需要利用有效的相似性度量的方法对直线特征进行度量计算,然后经过聚类形成直线特征集。直线聚类是将提取得到的直线,根据直线的空间邻近性和相关特性,将符合一定条件的直线聚类组合[12-13]在一起,如图 3(a)所示,在选取符合条件的k条直线后,由k条直线和直线li组成直线特征集。直线li和p1分别称为直线特征集的中心线和中心点。由直线li及其端点p1组成的直线特征集包含直线;同样,以直线li及其端点{li, la, lb, lc}组成的直线特征集包括直线{li, la, lb, lc}。通过描述直线对之间的空间结构和几何关系,为直线匹配做准备。如图 3(b)所示,p1p2与q1q2为已知直线对,为了描述直线对之间的相互关系,首先作虚线辅助线连接组成直线对的两条直线端点,得到p1q1p1q2p2q1p2q2四条直线,同时将端点p1和q1延长相交于点c;然后定义如下5个角度采用长度比例、角度关系和平均梯度值比值构成特征向量来描述两条直线的结构关系。若用v表示该特征向量,Smn表示直线对的相似度,则
$ v = \left\{ {{r_1}, {r_1}, {l_1}, {l_2}, {l_3}, {l_4}, {l_5}, {\theta _1}, {\theta _2}, {\theta _3}, {\theta _4}, {\theta _5}, g} \right\} $ |
$ {S_{mn}} = \left\{ \begin{array}{l} \sum\limits_{i = 1}^2 {{d_{{r_i}}}} + \sum\limits_{i = 1}^2 {{d_{{q_i}}}} + \sum\limits_{i = 1}^2 {{d_{{l_i}}}} + {d_g}, T = {\rm{ture}}\\ - \infty , 否则 \end{array} \right. $ |
Download:
|
|
式中:r1、r2表示直线与交点c的比例关系,l1、l2、l3、l4、l5表示直线之间的长度比,θ1、θ2、θ3、θ4、θ5表示组成线段之间的角度大小,g表示两直线平均梯度比例值大小,T为阈值。
通过计算Smn找出横向及纵向被障碍物分割的直线上所有的断点;然后将断点与断点逐一进行试探性配对,并且进行连通性检验;最后计算断点间距,只有间距小于某一经验阈值,才可确定其身份。得到所需的断点坐标后通过特殊算法计算可以得到障碍物的轮廓大小及所在位置信息。
4 实验结果 4.1 实验设备1) 红外激光网状发射器波长为980 nm的3 000 mW的红外不可见点状激光模组搭配8×8网格效果透镜。
2) 双目红外摄像机双目视觉摄像头选取了1080P/80帧机器摄像头,3.6 mm焦距,同时选用CCD传感器作为图像采集设备,通过图像采集卡与计算机相连,计算机使用VS2013并配置了OpenCv 2.4.9开发包,保证两个相机做到同步采集图片。实验环境及设备如图 4、5所示。
Download:
|
|
Download:
|
|
两个摄像机的光轴相互平行,利用本文采用的直线断点匹配算法对白色背景中一白色柱状障碍物进行测试,计算出相机与障碍物的距离和外形尺寸; 再根据实际距离求得测距误差率, 改变相机与障碍物的距离再次测试。
图 6为采用Canny算子提取之后的图像,这里采用参考文献[3]Canny提取算法和改进线特征算法的检测效果,从图中可以看出该方法无法有效解决低对比度图像的特征提取问题。
Download:
|
|
经计算机首先将激光网格进行灰度处理,之后将网格细化计算,处理前后的图像如图 7所示。
Download:
|
|
实验结果如表 1所示。实际物体高9.8 cm,宽4 cm,通过以上实验数据,可以发现本文所采用的算法在简单外型的物体尺寸上测量较为准确;当测量距离控制在一定范围内时,尺寸误差率在5%以内,满足特殊设计要求。
本文提出了一种利用激光网格的路面障碍识别方法,通过主动发射红外激光网格,红外双目相机进行图像采集,在自然场景复杂、对比度不高的情况下可以检测到连续完整的特征直线,通过特征直线的断点能够很好地反应障碍物的结构特征,从而实现三维目标识别,降低算法复杂度。进一步地,表面不规则的障碍物可通过多次直线匹配算法分析表面特征,进而得出障碍物外形尺寸及大致轮廓。由于实验设备有限,产生的网格激光粗细不够均匀,未来可在实验中进一步改进。
[1] | 安果维, 王耀南, 王显恩, 等. 显著性检测的双目测距系统[J]. 智能系统学报, 218, 3(6): 913-920. (0) |
[2] | 方博文, 张晓东, 陈敬义, 等. 基于双目视觉的行车障碍距离检测方法研究[J]. 机械设计与制造, 2016, 31(4): 48-57. (0) |
[3] | 柯欣琦, 张聪, 王英瑞. 郊外低对比度图像线征提取算法研究[J]. 激光与红外, 2017, 24(5): 145-153. (0) |
[4] | 谢丹玫, 吕霞付, 谢依策, 等. 基于对比度分辨率补偿的自适应底层视频在线挖掘系统及方法[J]. 重庆邮电大学学报(自然科学版), 2011, 19(5): 482-487. (0) |
[5] | 雷鸣, 吴琳琳, 刘生峰. 激光辅助智能车障碍物探测方法研究[J]. 西安工业大学学报, 2015, 35(1): 39-44. (0) |
[6] | STEYX B, LAURGEAU C, SAIESSE L, et al. Fade a vehicle detection and tracking system featuring monocular color vision and data Fusion[J]. Symposium on intelligent vehicle, 2002, 9(8): 845-854. (0) |
[7] | 宋月超, 蔡永洪, 唐小军, 等. 工业机器人标准现状分析[J]. 工业计量, 2016(1): 65-68. (0) |
[8] | 邱雪娜, 刘土荣. 基于序贯检测机制的双目视觉运动目标跟踪与定位方法[J]. 机器人, 2011, 33(1): 181-190. (0) |
[9] | 赵振庆, 叶东, 陈刚, 等. 垂直直线特征的双目视觉位姿测量方法[J]. 光学学报, 2014, 34(10): 1015-1023. (0) |
[10] | 刘俸材, 谢明红, 王伟. 双目视觉的立体标定方法[J]. 计算机工程与设计, 2011, 32(4): 1508-1512. (0) |
[11] | 郭慧, 刘亚菲, 王勇, 等. 大型齿轮工件焊接的双目视觉测量标定[J]. 东华大学学报(自然科学版), 2013, 39(4): 455-459. DOI:10.3969/j.issn.1671-0444.2013.04.013 (0) |
[12] | 文贡坚, 王润生. 一种稳健的直线提取算法[J]. 软件学报, 2001, 12(11): 1660-1665. (0) |
[13] | WANG L, NEUMANNU, YOUS. Wide-baseline image matching using line signatures[J]. International conference on computer Vision, 2009, 30(2): 1311-1318. (0) |