一种车道线检测方法
技术领域
本发明属于图像处理技术领域,具体涉及车道线的检测。
背景技术
每年全世界范围内都有很多人因为车辆行驶偏离而丧生于车祸当中,为了避免这样的事情发生,人们提出了一种智能辅助驾驶系统,能够在一定程度上预警驾驶员,达到减少此类事故发生的效果。车道线检测便是智能驾驶辅助系统中很重要的一部分,在此领域已经提出了一系列获得良好效果的算法,其中包括基于模板、基于纹理、基于区域的算法。
为实时性的限制,即使一些著名的算法有较高的检测和跟踪率,但因为它们需要耗费大量的处理时间,所以很难应用到实际当中,比如Yue Wang利用B-Snake进行车道线检测的算法。一些算法在光照较弱和车道线缺失的情况下也能够获得较好的检测效果,但是对于弯道检测却有较高的错误率,比如Massimo Bertozzi利用立体视觉系统进行车道线检测的算法。
其他的一些算法,比如Canny/Hough Estimation of Vanishing Points(CHEVP),该算法通过在车道检测图片上确定消失点的位置来定位车道线,但是该算法中通过消失点确定车道线的鲁棒性很弱,因为该算法假设每个区域内的车掉线都相交于同一个消失点,但是由于噪声和其他干扰的原因,每个区域内的真实车道线并不会交于同一个消失点,以至于其鲁棒性很弱,另外,该算法还无法处理车道线缺失的情况,并且对于初始化的参数比较敏感,鲁棒性较弱。
发明内容
本发明的目的在于,针对上述技术问题,提出了一种提升检测鲁棒性的车道线检测方法。
本发明的车道线检测方法,包括下列步骤:
步骤1:采集道路视频图像;
步骤2:基于所述视频图像的前T(T≥2)进行预处理:
分别将每帧图像转换为灰度图像,并进行边缘检测输出边缘图像;将所述边缘图像横向分为K个图像块,K大于等于2,所述边缘图像块的宽度等于边缘图像的宽度;
对每个边缘图像,分别进行消失线检测:对每个图像块进行直线检测,得到每个图像块所对应的直线集;并基于所述直线集中的每对直线的交点确定边缘图像的消失线的坐标;
基于预设的滑动窗口,检测出所述T个消失线最集中的纵坐标区域,取所述区域的任意纵坐标为当前所有边缘图像的初始化消失线坐标;
基于所述初始化消失线坐标,在图像Ii的消失线下方的图像块中确定一对车道线段对,其中图像Ii表示前T帧图像中的任意一帧图像;
步骤3:基于已确定的上一帧图像的各车道线段对,进行当前帧的车道线检测处理:
步骤301:将当前帧图像转换为灰度图像,并进行边缘检测输出边缘图像;
将所述边缘图像横向分为K个边缘图像块,所述边缘图像块的宽度等于边缘图像的宽度,且最靠近所述边缘图像底端的边缘图像块与边缘图像的高度比例为[1/4,1/3];
步骤302:确定所述边缘图像的消失线坐标,并对位于所述消失线下方的各边缘图像块,取交点离消失线最近的M对直线作为当前边缘图像块的候选直线对集,其中M大于等于2;
步骤303:对存在候选直线对集的每个边缘图像块进行决策处理:
基于公式F(Xi)=G(Xi)×D(Xi)×R(Xi)×C(Xi)计算边缘图像块所包含的M对候选直线对的权值F(Xi);其中Xi表示当前帧各候选直线对集中的任意一对候选直线对;
所述G(Xi)表示候选直线对Xi的各像素点灰度值的均值;
所述D(Xi)表示候选直线对Xi的交点与当前消失线的欧式距离;
所述其中rc表示当前帧的候选直线对Xi的夹角,rp表示上一帧中对应Xi的边缘图像块坐标的车道线段对的夹角;
所述其中lc表示当前帧的候选直线对Xi的特征向量,lo表示上一帧中对应Xi的边缘图像块坐标的目标区域的特征向量,所述目标区域指包含各边缘图像块中的车道线段对中的单条车道线段的最小矩形区域;
选取当前边缘图像块的候选直线对集中最大权值的直线对为当前边缘图像块的唯一车道线段对;
步骤4:基于各边缘图像块的车道线段对的端点,更新当前帧图像的各边缘图像块的控制点;并基于当前控制点输出当前帧图像的车道线。
进一步的,为了处理车道线缺失的情况,本发明的步骤302还包括:基于上一帧的对应边缘图像块的车道线段对的端点确定目标区域,对所述目标区域进行粒子滤波处理,各边缘图像块输出唯一一对直线对X′,并将所述直线对X′增加到各边缘图像块的候选直线对集中;所述目标区域为包含所述车道线段对中的单条车道线段的最小矩形区域,即左右车道线段分别对应一个目标区域。
综上所述,由于采用了上述技术方案,本发明的有益效果是:车道检测处理对初始化参数不敏感,检测的鲁棒性高,并且在光照较暗、车道线缺失,有阴影等恶劣条件下均能得到良好的检测效果。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式,对本发明作进一步地详细描述。
步骤S1:利用摄像头捕捉含有运动物体的图像,产生连续的视频流;
步骤S2:基于现有的车道线检测方法,可确定前T(具体取值可随意设置,通常可取值为3)帧图像中的任意一帧图像的对应边缘图像块(消失线下方的各边缘图像块)的一对车道线段对,以此先验信息完成对后续帧的车道线检测处理,本具体实施方式中,基于前T帧图像获取先验信息的处理具体为:
分别将前T帧的每帧图像转换为灰度图像,并利用Gabor滤波器完成边缘检测输出边缘图像;将边缘检测后的图像横向分为K(K≥2)个图像块,每个图像块的宽度等于该边缘图像的宽度;对每个边缘图像,分别进行消失线检测,即利用Hough变换求得各边缘图像的每个图像块直线,记每个图像块所包含的所有直线为直线集L;然后再根据L中的每对直线的交点确定各个边缘图像的消失线的坐标,即根据消失线/消失点的特性,通过所有的交点利用投票机制确定消失线的位置;接着基于预设的滑动窗口,检测出T个消失线最集中的纵坐标区域,取该区域的任意纵坐标为前T帧所对应的T幅边缘图像的初始化消失线坐标;
前T帧图像中的任意一帧图像上确定多对车道线段对,即在初始化消失线下方的每个图像块中分别确定唯一一对车道线段对;
步骤S3:基于上一帧已确定的车道线段对,根据本发明所特有的车道线检测处理完成当前帧的车道线检测,即在步骤S3中,完成第P(1≤P≤T)帧后的各每帧图像的车道线检测:
步骤301:将当前帧图像转换为灰度图像,并进行边缘检测输出边缘图像;
将所述边缘图像横向分为K(本具体实施方式中取值为5)个边缘图像块,所述边缘图像块的宽度等于边缘图像的宽度,且最靠近所述边缘图像底端的边缘图像块与边缘图像的高度比例为[1/4,1/3];
步骤302:确定边缘图像的消失线坐标,并对位于所述消失线下方的各边缘图像块,取离消失线最近的M对直线作为当前边缘图像块的候选直线对集,其中M大于等于2(其中M的取值依据实际情况而定,取值越大,结果越精确,但处理速度较慢,取值越小则反之。);
另外,基于上一帧的对应边缘图像块的车道线段对的端点确定目标区域(包含该车道线段对中的单条车道线段的最小矩形区域),对目标区域进行粒子滤波处理,各边缘图像块输出唯一一对直线对X′,并将其增加到各边缘图像块的候选直线对集中;
步骤S303:基于决策函数F(Xi)对存在候选直线对集的每个边缘图像块进行决策处理:
基于公式F(Xi)=G(Xi)×D(Xi)×R(Xi)×C(Xi)计算边缘图像块所包含的M对候选直线对的权值F(Xi);
其中Xi表示当前帧各候选直线对集中的任意一对候选直线对;
所述G(Xi)表示候选直线对Xi的各像素点灰度值的均值;
所述D(Xi)表示候选直线对Xi的交点与当前消失线的欧式距离;
所述其中rc表示当前帧的候选直线对Xi的夹角(多个),rp表示上一帧中对应Xi的边缘图像块坐标的车道线段对的夹角(每个边缘图像块只有一对)车道线段对,即基于当前边缘图像块的坐标,计算当前帧的每对直线对的夹角与上一帧的车道前段夹角的差值的累计和;
所述其中lc表示当前帧的候选直线对Xi的特征向量,lo表示上一帧中对应Xi的边缘图像块坐标的目标区域的特征向量,左右车道线各对应一个目标区域;
选取当前边缘图像块的候选直线对集中最大权值的直线对为当前边缘图像块的唯一车道线段对;
步骤S304:记录各边缘图像块的车道线段对的端点坐标,作为下一帧车道线检测处理时的粒子滤波的初始化目标区域;
选取各边缘图像块的车道线段对的端点作为控制点,利用插值拟合函数,得到光滑曲线,输出当前帧图像的车道线。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。