基于多通道融合和极线约束的道路检测与定位

2020-09-15 01:49李静石欣欣程志鹏王军政
北京理工大学学报 2020年8期
关键词:双目车道阈值

李静, 石欣欣, 程志鹏,王军政

(北京理工大学 自动化学院,北京 100081)

依靠视觉传感器检测道路并进行定位是无人运动平台自主导航的关键技术之一,尤其是在GPS和惯性导航系统缺失的环境中. SLAM地图缺失车道线信息,因此在导航过程中无法参考车道信息,是当前需要解决的问题之一[1]. 将车道线定位至地图中,可以增加地图信息,对无人驾驶意义重大. 视觉系统分为单目视觉和多目视觉,其中单目视觉虽然成本最低,但在视觉导航中存在尺度漂移问题,精度不足. 双目视觉在多目视觉系统中应用最多,综合了传感器成本低和人眼双目测距优势,是目前感知环境中应用广泛的一种视觉系统. 在城市结构化道路中,主要通过检测车道线确定道路可通行区域,为无人运动平台提供导航信息[2-3]. 本文利用双目视觉检测车道线,依据极线约束关系进行车道线定位,并将其投影至SLAM算法构建的三维地图中[1,4-5],实现环境地图与车道线信息的融合.

1 基于双目视觉的车道线检测

道路车道线检测主要是提取车道的位置宽度等信息,为无人运动平台的局部导航提供导航信息[6],因此对车道线提取的精度和实时性都具有较高的性能要求. 采用单一方法检测车道线对环境变换尤其是光照变化的抗干扰性差[7-8],本文根据车道线的边界、颜色以及边缘梯度信息利用图像阈值分割在左右相机图像中融合提取出车道线的像素,以保证算法的鲁棒性,让其在光照出现变化、周边草木阴影遮挡、新旧道路连接处等恶劣环境都有良好的表现. 具体的算法框图如图1所示.

1.1 图像二值化

首先对图像进行中值滤波操作,保留源图像的细节,增强道路前景信息,弱化背景干扰. 随后运用多通道阈值联合二值化的方法,提取车道线像素. 每一种阈值处理都会生成一副二值图像,最后将多种阈值处理后的图像进行融合. 多阈值处理主要包括边缘提取Sobel算子在水平和垂直方向阈值处理、HLS空间V(明度)通道以及n阶梯度差分阈值处理. 假定待处理的源图像如图2所示.

由于车道线大多为黄色或者白色,而黄色和白色中红色通道像素值较为明显,与背景差异较大,因此将相机采集的彩色图像中的红色通道进行分离,作为Sobel边缘检测的源图像. 边缘检测可以利用图像的灰度值梯度来表示,对于图像f(u,v)其在像素(u,v)坐标处的一阶梯度为

(1)

梯度的幅值和方向为

(2)

假设IX(u,v),IY(u,v)表示阈值处理后的像素,Ix(u,v)表示Sobel算子卷积运算后的幅值,Sobel算子的x和y方向幅值阈值处理公式如下

(3)

如图3所示是用Sobel算子在水平和垂直方向上卷积运算后的图像.

道路中车道线与路面对光线的反射率不一样,因此图像中车道线的明度和饱和度都与路面背景和周围环境相区别,可以将摄像机采集的RGB空间图像转换到HLS空间,并提取出其中的S通道进行阈值操作.

假定Ibin(u,v)表示S通道阈值处理后的像素,Is(u,v)表示转化为HLS色彩空间后S通道的像素值,则HLS通道的阈值处理公式如下

n阶梯度差分法是将车道线源图像转换为灰度图,n阶梯度差分法是根据车道线宽度w对灰度图进行图像列差分操作. 其中,In(u,v)表示n阶梯度差分后的图像像素值,Ig(u,v)表示灰度图像素值,则有n阶梯度差分法处理公式为

In(u,v)=Ig(u,v)-Ig(u,v-w).

(5)

然后对差分后的图像采用大津法进行二值化操作,得到阈值处理结果.HLS的S通道阈值处理和n阶差分阈值处理结果如图3(b)所示.

假设IX、IY、Is、In分别为4个阈值操作后图像在坐标为(u,v)处的像素值,则将进行4次阈值处理后的二值图像进行融合,计算公式如下

(6)

根据上面的4种阈值处理可以看出,在x边缘方向上的阈值处理效果在受到阴影干扰时效果不好,但是由于运用到了多阈值分割保证了算法的鲁棒性,可以适用于较为复杂的环境,最终阈值处理的结果如图4(a)所示,可以看出算法仍能较好地分割出车道线部分.

1.2 车道线拟合

车道线通常分布在图像下半部分,因此可根据其分布范围确定透视变换区域,利用透视变换将原先在图像中成平行的车道线变换成大致平行的两条车道线以便于后续车道线像素的提取. 透视变换后的图像与源图像分辨率大小相同,经过透视变换后的图像如图4(b)所示.

根据透视变换后的图像中车道线基本呈竖直平行的特征,因此考虑下列步骤对车道线像素进行框选:

① 计算图像下半部分的直方图,因为透视变换后的车道线下半部分可以确定车道线在图像底部的起始位置,也即统计每列的白色像素点个数;

② 将图像在竖直方向上分成50个水平滑窗,图像中弯曲的车道线经过透视变换后在图中并不是竖直平行的,利用滑窗框选车道线像素能有效地去除周围干扰像素;

③ 从图像的底部开始,在直方图的左侧峰值和右侧峰值周围放置一个像素宽w的窗口(将直方图垂直分割为1/2),即认为图像直方图中的左右最大值位置是车道线的起始位置;

④ 将窗口沿着水平方向滑动,寻找可能成为左右车道部分的像素,由于车道线是连续变化的曲线,因此经过透视变换之后相邻的滑窗之间的偏移量较少,因此滑窗通过少量偏移即可选定合适的位置从而框选到绝大部分的车道线.

如图5(a)所示,实验中选用的浅色框是宽为160个像素的滑窗,滑窗内部像素部分即为车道线的像素. 通过滑窗滑动能够将透视变换后图像中的车道线部分框选中,如图所示车道线的变化趋势总是朝一个方向变化的,也即在图像采集的区域内车道线不会发生方向上的突变,因此可以用最小二乘法二次多项式对车道线像素进行曲线拟合. 当前拟合的车道线仍只是在透视变换后的图像中,此时利用前面投影变换的矩阵的逆作为此次透视变换的变换矩阵即可将拟合的车道线投影至原图像中,如图5(b)所示.

2 结合SLAM地图的车道线定位

本文利用车道线拟合得到的信息和双目相机标定信息根据极线约束关系恢复车道线三维坐标,再利用矩阵关系将其投影至SLAM地图中.

2.1 车道线三维信息恢复

计算车道线的三维信息需要将左右图像中的车道线对应像素点相匹配. 点匹配主要是根据双目相机模型以及左右图像之间的极线约束关系进行搜索匹配. 极线约束表达的是点对直线的约束关系,在立体匹配中有着极其重要的技术,将从整副图像中寻找匹配点的计算量压缩至从极线上搜索.

如图6所示,点P为车道线的某一三维点,左右两幅图中的粗线表示拟合的车道线,车道线的三维信息恢复即是求取点P相对左相机的三维坐标,左图上的车道线像素点Pl(ul,vl)其在右图中对应的极线即为如图6中的右边虚线,则该极线与右图中拟合的车道线交点Pr即为对应的匹配点.

假设右极线的直线方程为

v=ku+b,

(7)

同时,右图中拟合的车道线方程为

v=a1u2+a2u+a3.

(8)

(9)

2.2 车道线投影至地图

得到车道线相对左摄像机的三维信息后,可将其投影至地图中. 本文所用地图是采用双目立体视觉传感器,提取三维ORB特征点及关键帧作为初始地图信息而构建的周围环境的稀疏SLAM地图,并采用了图优化方法稀疏地图进行优化. 将车道线加入地图中需要将其关联拍摄当前帧图像的位姿信息.

如图7(a)所示,空间中的粗线条表示车道线中的左车道,并且其在左右相机成像平面上的映射曲线也用粗线标示,对于世界坐标系下的车道线上任意一点P(Xw,Yw,Zw),其在左右相机中对应的点分别为P(Xl,Yl,Zl)和P(Xr,Yr,Zr).

如图7(b)所示,空间点P在左右相机上的投影点横坐标分别为ul和ur,并且OlOr之间的距离为基线长b,三角形POlOr和PPlPr在同一平面上,并且具有相似三角形的关系,则根据相似三角形可得

z=fb/d,d=ul-ur.

(10)

式中:z为空间点在左相机坐标系下的深度坐标;d为左右图视差.

假设当前帧图像到世界坐标系之间的转换关系用4×4的矩阵Tcw进行描述,由此可知该车道线点相对左相机的三维坐标为

(11)

式中cx,cy分别为光心与图像原点的横纵偏移量.

由此可知,点P的世界坐标为

(12)

式中:Rwc为Tcw左上角3×3矩阵的转置,表示世界坐标系到图像坐标系的旋转关系;tcw为Tcw右上角3×1的矩阵,表示世界坐标系到图像坐标系的平移关系.

3 实验结果

首先通过双目相机采集到的部分原始图如图8(a)所示. 原始图像存在畸变,并且两个相机图像像素不对齐,因此需要根据双目相机标定参数对图像进行畸变校正和对齐校正,然后进行车道线检测. 从图8(b)中可看到,算法在车道线附近存在干扰的情况下也有较好的检测效果,由此即可根据极线约束关系恢复车道线的三维信息,图9(a)是最后生成的车道线点云. 为进一步确定车道线定位的精度,在图9(a)上选取几个点进行了三维坐标求解,以此确定算法定位精度,如图9(b)所示.

如图所示选取的5个数据点,其中5个点的X和Y实际坐标都为2 141 mm和1 092 mm,其实际Z坐标与计算坐标如表1所示.

表1 车道线像素点坐标Tab.1 Lane line pixel coordinates

从表中可看到X坐标最大误差为37 mm,Y坐标最大误差15 mm,而Z坐标的最大误差出现在实际距离为12 m的车道线点,误差达到792 mm. 无人平台的导航所需要的信息主要是当前平台在近距离X方向的信息,即无人平台在车道线中的位置,由表可看到水平方向最大误差为37 mm,定位精度较高,能为无人平台的导航提供较为精确的车道线信息,能满足实验室机器人在进行路径规划时的需求.

将检测并定位得到的车道线信息投影到SLAM地图中,实现了车道线与地图信息的融合,如图10所示.

4 结 论

采用了双目视觉系统作为无人视觉导航的传感器进行环境信息感知,检测城市结构化道路中的车道线信息,并进行定位,最后将其投影至地图中. 主要的研究内容有:

① 提出基于多通道融合二值化的阈值分割方法,利用透视变换、图像直方图统计和滑窗搜索的方法精确的提取车道线像素,保证算法在城市道路环境中具有树木阴影、新旧路面背景突变、光照变化等影响时也能良好的分理出车道线,并运用多项式最小二乘法对车道线像素进行拟合.

② 提出利用极线约束关系和车道线拟合信息快速求取道路的三维信息并将其投影至SLAM构建的三维地图,有效地将车道线信息与地图信息进行了融合.

猜你喜欢
双目车道阈值
采用双目视觉和自适应Kalman滤波的作物行识别与跟踪
霜 降 苏美玲
基于双目视觉的机器人定位与导航算法
基于OpenCV的直道车道线识别技术研究
北斗+手机实现车道级导航应用
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
改进小波阈值对热泵电机振动信号的去噪研究
机械手的双目视觉定位抓取研究