张亚秋,刘雅莉*,赵 珣
(1.玉溪师范学院,云南 玉溪 653100;2.华加日西林实业有限公司,广东 深圳 518000)
随着我国经济水平的提升,国家对基础设施持续大量投入,道路基础设施建设取得巨大成就。截至2021 年末,全国公路总里程达528 万公里,高速公路16.9 万公里,高速公路里程居世界第一。与此同时,汽车保有量和汽车驾驶人数量均大幅增加,截止2022 年3 月底,全国汽车保有量达3.07 亿辆,汽车驾驶人4.50 亿人。然而,因道路交通事故造成的伤亡人数和经济财产损失数额巨大。根据世界卫生组织《2018 年全球道路安全现状报告》统计,全球每年约有135 万人死于道路交通事故,另约2 000 万至5 000 万人受到非致命伤害。据统计,80%的交通意外是由于驾驶员超速行驶、酒驾、疲劳驾驶或操作不当造成的,而车辆偏离车道行驶问题仅次于超速行驶,位于驾驶人因素导致交通事故原因的第二位[1]。车辆行驶过程中,若驾驶员不是主动变道,当车辆发生侧向偏离时,若辅助驾驶系统能够及时发出预警信号提醒驾驶员谨慎驾驶,则此类事故将会大大减少。因此,车道偏离预警系统的研究具有重要的现实意义。
车道偏离预警的实现途径有机器视觉、雷达以及磁性导航技术等[2-4]。对于标识规范的城市道路和高速公路,基于机器视觉的方法是实现车道偏离预警使用最多也最为成熟的方法。该方法利用车载相机采集车辆的道路行驶视频,经图像预处理提取、识别车道线,然后根据车辆与当前车道的相对位置和车辆行驶状态估计车辆偏离风险,据此进行偏离预警。系统工作流程如图1 所示。系统功能实现的关键在于车道线识别和对车辆是否偏离车道的判断。
图1 基于机器视觉的车道偏离预警系统工作流程
本文使用的道路视频图像采集于东风雪铁龙C4L 车型车前挡风玻璃下沿车身正中位置,距地面1.10 m,像平面垂直于车身行驶方向。采集到的道路视频图像为彩色图像,为减少数据量,先转化为灰度图像。该灰度图像包含了成像系统(CCD)本身的噪声和外部环境(如光照强度、天气状况等)的噪声,因此,还需进一步进行降噪处理。常用的降噪方法有均值滤波、中值滤波及自适应滤波。本文选用速度较快且效果较好的中值滤波方法。
在直线检测之前,需将视频转换为帧图像。由于每秒视频可以转换成30 帧图像,这样产生的大量图片会导致后续处理过程中计算量过大,因此本文提出关键帧的概念,用于改善图片处理效率。关键帧可以根据自身需求设定,本文每隔10 帧提取一帧关键帧。这样既保留了重要信息,又减少了信息处理量。
Hough 变换基于点-线的对偶性[5],即在图像空间中同一条直线上的点对应在参数空间中是相交的直线。反过来,在参数空间中相交于同一点的所有直线,在图像空间中都有共线的点与之对应。
设在图像空间XY中,已知二值化图像中有一条直线,所有过点(x,y)的直线都满足斜截式方程:
式中:u0为斜率,v0为截距。如果将x和y视为参数,式(1)可改写为:
式(2)代表参数空间UV中过点(u0,v0)的一条直线,该方程即直角坐标中对点(x,y)的Hough 变换。
如图2 所示,图2(a)是图像空间中的一条直线,图2(b)是对应的参数空间。在图像空间XY中点P1确定了一簇直线,它们在参数空间中是一条直线;同理,过图像空间中点P2的直线在参数空间中也是一条直线。由于P1和P2是同一条直线上的两点,所以它们有相同的参数(u0,v0),而这一点正是参数空间UV中两条直线的交点。由此可见,图像空间XY中过P1和P2的直线上的每一点,都对应于参数空间中的一条直线,且这些直线必定相交于点(u0,v0),(u0,v0)恰恰就是图像空间中直线方程的参数。这样,通过Hough 变换,可以将图像中直线检测的问题转化为参数空间中的点的检测问题,而参数空间中点的检测只要完成简单的累加统计、寻找极大值就可完成。
图2 直角坐标下Hough 变换的点-线对偶性
由于Hough 变换是对整张图片进行处理,对于参数相同的不连续的直线如虚线车道线,Hough 变换后参数空间中点依然累加,通过寻找峰值可将包含虚线车道的长直线检测出来[6]。由于视频图像的上方一般为道路周边景色,下方为道路信息,为进一步减少计算量,本文将感兴趣区域(Region of Interest,ROI)设定为整幅图像的下半部分,只对ROI 区域进行直线检测。
图3 ROI 区域直线检测
在直角坐标系中,如果直线与x轴垂直,那么它的斜率u0将不存在。为便于检测,本文采用极坐标下的Hough 变换。
假定车辆在起始位置正常行驶于车道中间,车道为直线车道,摄像头位于车辆前挡风玻璃下沿中间处,与车辆中轴线重合。根据成像原理,左右两平行车道在图像平面相交于一点,取像平面最后一行、中间列为像平面原点,像平面原点即代表车轴中心。结合采集到的视频,本文中左车道线在极角[10,65]范围搜索极大值,左车道线在极角[-65,-10],即[135,170]范围搜索极大值,而后将参数空间选择出的极大值参数(极角和半径)一一对偶到原图中,即可寻找到左右车道线,效果如图4 所示。
图4 车道线识别效果
车道偏离风险估计的方法主要有基于车辆当前位置(CCP)和基于跨道时间(TLC)两类[7]。车辆当前位置估计需要车辆与当前车道的相对位置及参数,主要包括横向距离和航向角两个参数;跨道时间计算还需了解车辆行驶速度和加速度等运动状态参数,从机器视觉角度获取运动参数难度大、耗时长。本文选用计算较为简单的横向距离作为车辆偏离预警触发的判断依据。
图5 所示横向距离、跨道时间等的计算是基于路面坐标系的分析,而基于视觉的车道偏离判断以视频图像为依据,是基于图像坐标系的分析。为避免图像坐标系与道路平面坐标系转换的复杂标定和运算,本文直接在像平面内进行分析。
图5 直线车道车辆匀速直线行驶示意图
如图6 所示,L1和Lr为左右车道,θ1和θr分别为左右车道的极角,d1和dr分别表示左右车道距图像原点的垂直距离,L0是L1和Lr所构成角的角平分线,代表车道中轴线,其与y轴的交点为y0,θ0为车道中轴线的极角;y1和yr分别为左右车道L1和Lr与y轴的交点,yr-y1表示图像平面内的车道宽度。
图6 图像坐标系下各参数示意图
式中:dlane为路面车道实际宽度,db为车辆轴距,代表车辆宽度,min(·)表示求最小值。
根据以上分析,只需设置合理的阈值dT,当横向距离dmin小于阈值dT时发出警报,即可实现基于横向距离的车道偏离预警。
为验证本算法的有效性,拍摄车辆道路行驶视频进行实验验证。图7 为视频中道路图像直线检测和车道线识别效果。从图7 可直观看出,车辆逐渐向右偏离。由于车道线识别设置了极角范围,第305 帧图片未识别出右侧车道线。
图7 道路图像直线检测及车道识别效果
实验中,摄像头安装的高度为1.1 m,道路宽3.75 m,车轴宽1.80 m,当横向距离小于0.5 m 时系统警示车辆即将偏离。图8(a)、图8(b)、图8(c)分别为车辆偏离预警系统对视频第1 帧、第153 帧、第305 帧图像的车道识别结果和偏离风险估计。若给出第305 帧图片的右车道参数时,偏离风险估计如图8(d)所示。从输出结果可以看出,系统输出结果与实际情况一致。
图8 车辆偏离预警系统输出结果
本文设计了一种基于横向距离的车道偏离预警算法。该算法在图像坐标系下进行分析,首先利用Hough 变换检测直线,通过设定极角范围识别出左右车道线,然后根据左右车道线参数计算出车辆距左右车道线的横向距离,并通过设定横向距离阈值触发车道偏离警示。实验结果表明,系统对车道偏离的风险估计与实际情况吻合。本文基于横向距离的车道偏离预警算法能够有效估计车辆偏移情况,对防范交通事故具有一定实用价值。