CN111626180B - 基于偏振成像的车道线检测方法及其装置 - Google Patents
基于偏振成像的车道线检测方法及其装置 Download PDFInfo
- Publication number
- CN111626180B CN111626180B CN202010445829.8A CN202010445829A CN111626180B CN 111626180 B CN111626180 B CN 111626180B CN 202010445829 A CN202010445829 A CN 202010445829A CN 111626180 B CN111626180 B CN 111626180B
- Authority
- CN
- China
- Prior art keywords
- image
- lane line
- polarization
- module
- arr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/34—Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种基于偏振成像的车道线检测方法及其装置,其包括以下步骤:初始化变量;获取图像,判断图像是否是雾天模式,是就对图像进行去雾处理;不是就对图像进行眩光处理;然后对图像中的感兴趣区域进行逆透视变换,得到仿射变换矩阵和俯视图像;对俯视图像进行边缘检测;判断是否已经启动了车道线跟踪流程,如果是则执行车道线跟踪流程,不是则判断是否满足启动车道线跟踪流程条件,如果是则执行车道线跟踪流程,不是则对边缘图进行窗口滑动;根据左、右车道线像素,建立二次曲线车道线模型,识别出图像中的车道线。本申请还提供了一种实现此方法的装置。本申请提出了新的车道线跟踪算法,使得在保证识别效果的前提下更快速。
Description
技术领域
本发明涉及智能交通领域,具体而言,本发明涉及一种基于偏振成像的车道线检测方法及其装置。
背景技术
车道线检测技术是指从实时获取的行车图像中检测出前方道路交通虚实标线的技术。利用车道线检测技术,可以防止汽车偏离车道,例如行车过程中车辆发生偏移或具有偏移趋势时给驾驶员发出警示信息,提醒驾驶员采取措施,使其修正行车方向,从而减少车道偏离事故的发生。因此,车道线检测对于行车安全具有重要意义。
现有的车道线检测方法存在以下问题:
(1)依赖于良好的光照环境。在大雾、眩光极端行车条件下,普通车载摄像头成像不清或大面积曝光,路面信息极其模糊甚至丢失,导致传统的检测方法无法正确识别车道线。虽然目前存在针对上述极端行车条件的图像处理方法,但是在现有的这些方法中,基于普通图像的处理方法计算过程复杂,难以满足实时性要求;基于偏振图像的处理方法需要人为调节参数,难以满足自适应性要求。
(2)大多依赖于良好的路面条件。对于道路中车道线有损坏的情况,基于霍夫变换的直线检测算法的识别率急剧下降。同时,基于卡尔曼滤波的车道线跟踪算法需要获取车速和车辆角速度等车辆状态信息,涉及到与其他车载传感器的标定问题。
发明内容
本发明所要解决的技术问题在于,提供一种针对浓雾、眩光环境,保证准确率和自适应性的车道线检测方法及装置。
为解决上述技术问题,本发明提供一种基于偏振成像的车道线检测方法及装置,所述方法包括:
步骤1,初始化变量,至少包括本轮中待处理的图像序号N,是否启动了车道线跟踪流程标识track,启动车道线跟踪流程后已跟踪图像的个数round,最大跟踪图像个数M;
步骤2,获取偏振相机拍摄到的一张图像,N=N+1;判断第N帧图像是否是雾天模式,是则执行步骤3,否则执行步骤4;
步骤3,雾天模式下,对图像采用基于大气光偏振角和导向滤波的去雾方法进行去雾处理,并设定感兴趣区域,将去雾图像L作为步骤5的输入图像,然后直接执行步骤5;
步骤4,眩光模式下,选取三个角度的偏振图像中感兴趣区域内平均光强最小的图像作为步骤5的输入图像,然后执行步骤5;
步骤5,对经过步骤3或步骤4处理后的图像中的感兴趣区域采取逆透视变换,得到仿射变换矩阵和俯视图像;
步骤6,对俯视图像进行边缘检测,得到边缘图,遍历边缘图中所有灰度值不为零的像素点,记录其坐标{xi,yj}到集合A中,i,j都为正整数,对边缘图进行归一化得到归一化边缘图,再对归一化边缘图进行水平投影;
步骤7,判断是否已经启动了车道线跟踪流程,如果是则直接执行步骤9,不是则执行步骤8;
步骤8,判断是否满足启动车道线跟踪流程条件,如果是则执行步骤9,不是则执行步骤10;
步骤9,车道线跟踪流程
对于第N帧图像,使用第N-1帧图像的二次曲线模型参数{al,bl,cl},{ar,br,cr},和第N帧图像的集合A,计算xl=alyj 2+blyj+c,xr=aryj 2+bryj+c,若xl-margin≤xi≤xl+margin,记录对应坐标{xi,yi}至数组arr_left;若xr-margin≤xi≤xr+margin,记录对应坐标{xi,yi}至数组arr_right;round=round+1;然后执行步骤11;
步骤10,对边缘图进行窗口滑动,获得arr_left和arr_right,其中数组arr_left包含左车道线的像素坐标,arr_right包含右车道线的像素坐标;
步骤11,根据数组arr_left和arr_right,建立二次曲线车道线模型,识别出第N帧图像中的车道线,具体为:
S11.1、对数组arr_left和arr_right,分别采用最小二乘法以二次曲线模型进行坐标拟合,记录模型参数{al,bl,cl},{ar,br,cr};
S11.2、创建图像大小的map,在map中画出以{al,bl,cl}和{ar,br,cr}为参数的二次曲线;
S11.3、将map以仿射变换矩阵变换到原图的感兴趣区域中,此时第N帧图像车道线识别结束;
S11.4、将数组arr_left,arr_right清零;
步骤12,判断round≤M,是则返回步骤2,否则返回步骤1开始新一轮的车道线识别。
优选的,所述步骤3具体包括以下步骤:
S3.1、根据道路图像原图I,获得0°、45°和90°三个角度的灰度偏振图像,转化成double格式;
S3.2、利用步骤S3.1中的灰度偏振图像计算偏振度矩阵P,偏振角矩阵θ;
S3.3、为计算大气光强A,合成最大光强图I⊥=(1+P)*I/2,最小光强图I||=(1-P)*I/2,其中I是原图,即0°图像和90°图像之和,P为偏振度矩阵;
S3.4、为计算大气光偏振度PA,从而获得大气光强A,根据雾天大气光的偏振特性,从偏振角θ矩阵中选取出现概率最大的值作为大气光偏振角θA,记录θ矩阵中所有值为θA的像素坐标;
S3.5、根据步骤S3.4中记录的像素坐标在偏振度矩阵P中找到这些像素坐标对应的值,从中选取最大值作为大气光偏振度PA;
S3.6、计算大气光强A=(I⊥-I||)/PA;
S3.7、对大气光强A采用导向滤波;将原图I作为引导图,A作为输入图,设定滤波窗口半径和正则化参数,获得优化后的大气光强A*;
S3.8、为保证大气光强值A∞的准确估算,不计入原图I中灰度值为0的像素,计算原图I中0.1%最亮像素灰度值的平均值,作为无穷远的大气光强值A∞;
S3.9、计算传输率t=1-A*/A∞;
S3.10、通过大气物理模型L=(I-A*)/t,计算恢复后的去雾图像L;
S3.11、选定靠近车辆部分即去雾图像L靠底部三分之一或四分之一面积作为感兴趣区域,并将去雾图像L作为步骤5的输入图像,然后直接执行步骤5。
优选的,所述步骤4具体包括以下步骤:
S4.1、选定图像靠底部三分之一或四分之一面积作为感兴趣区域;
S4.2、计算0°、45°和90°三个角度的偏振图像在感兴趣区域中的平均灰度值;
S4.3、根据光线在不同传播方向上有强度差异的偏振特性,选取步骤S4.2中平均灰度值最小的图像作为步骤5的输入图像,然后执行步骤5。
优选的,所述步骤5具体包括以下步骤:
S5.1、为计算仿射变换矩阵,设定从步骤3或步骤4接收到的图像中感兴趣区域四个顶点坐标;
S5.2、为计算仿射变换矩阵,设定S5.1中感兴趣区域四个顶点坐标对应的期望的逆透视变换后的四个顶点坐标;
S5.3、根据S5.1感兴趣区域四个顶点坐标和S5.2中的期望的逆透视变换后的四个顶点坐标,计算出仿射变换矩阵R和T,其中R用来将原图变换至俯视图像,T用来将俯视图像变换至原图;
S5.4、使用矩阵R,利用现有技术的双线性插值法获得步骤4输入图像中感兴趣区域的逆透视变换后的图像,即俯视图像。
优选的,所述步骤6具体包括以下步骤:
S6.1、创建图像大小的值全为1模板矩阵;
S6.2、记录步骤S5.4所得俯视图像的最大灰度值max,获得小于0.2*max的像素坐标,将模板矩阵中这些坐标的值置为0;
S6.3、因为车道线在俯视图上接近垂直,设定梯度方向阈值,利用现有技术中的canny算子对步骤S5.4的俯视图像进行边缘检测,得到俯视图像的边缘检测结果;
S6.4、将步骤S6.3中俯视图像的边缘检测结果与步骤S6.2中的模板矩阵相乘得到边缘图;
S6.5、遍历边缘图中所有灰度值不为零的像素点,记录其坐标{xi,yj}到集合A中,i,j都为正整数;
S6.6、对边缘图进行归一化得到归一化边缘图,再对归一化边缘图进行水平投影,以水平投影图横坐标中线为界,将水平投影图平均分为左右两部分,在左半部分中记录峰值sum_left,对应横坐标base_left,作为步骤10窗口滑动的左基点;在右半部分中记录峰值sum_right,对应横坐标base_right,作为步骤10窗口滑动的右基点;记录dis=base_right-base_left,作为左右基点的间距。
优选的,所述步骤8具体包括以下步骤:
S8.1、对第N帧图像,记录diff_left=base_left(N)-base_left(N-1),diff_right=bas e_right(N)-bas e_right(N-1),其中,bas e_left(N)和bas e_left(N-1)分别表示第N张和第N-1张图像的base_left,base_right(N)和base_right(N-1)分别表示第N张和第N-1张图像的base_right;
S8.2、判断是否连续3帧满足sum_left≥TH,sumright≥TH,dis>D,即判断两条车道线是否完整,间距是否正常;并且,判断是否连续3帧满足diff_left<10,diff_right<10,若满足上述条件,就执行步骤9启动车道线跟踪流程,设定搜索范围margin,round=0和track=1,否则执行步骤10。
优选的,所述步骤10具体包括以下步骤:
a、若dis≤D,判定未检测到车道线,不进行窗口滑动;
b、若sum_left≥TH,sum_right≥TH,dis>D,判定检测到两条车道线,采用现有技术对两边同时进行窗口滑动;
c、若sum_left≥TH,sum_right<TH,dis>D,判定检测到左车道线,采用现有技术只对左边进行窗口滑动;
d、若sum_left<TH,sum_right≥TH,dis>D,判定检测到右车道线,采用现有技术只对右边进行窗口滑动。
本申请还公开了一种基于偏振成像的车道线检测装置,其包括以下模块:偏振相机、处理选择模块、雾天处理模块、眩光处理模块、仿射变换矩阵生成器模块、边缘检测模块、车道线跟踪启动判断模块、车道线跟踪模块、窗口滑动模块和车道线识别模块,其中:
所述偏振相机将拍摄的照片图像发送至处理选择模块;
所述图像处理选择模块使用现有技术判断从偏振相机接收的图像是否为雾天模式,如果是雾天模式,处理选择模块就将图像发送至雾天处理模块;如果不是则默认图像为眩光模式,发送至眩光处理模块;
所述雾天处理模块根据对图像进行去雾处理,将去雾图像L作为仿射变换矩阵生成器模块的输入图像,并将去雾图像L靠底部三分之一或四分之一面积标记为感兴趣区域;
所述眩光处理模块对图像进行处理,将选择出来的图像作为仿射变换矩阵生成器模块的输入图像,并将图像靠底部三分之一或四分之一面积标记为感兴趣区域;
所述仿射变换矩阵生成器模块,根据感兴趣区域的俯视图像和图像的感兴趣区域四个顶点的坐标对应关系,得到仿射变换矩阵R和T,并将接收到的图像变换为俯视图像;
所述边缘检测模块对俯视图像进行边缘检测,得到边缘图中像素值不为零的所有像素点,记录其坐标{xi,yj}到集合A中,i,j都为正整数,并对归一化边缘图进行水平投影,分别记录左、右半部分中峰值所对应横坐标;
所述车道线跟踪启动判断模块判断车道线跟踪流程是否已经启动以及是否可以启动车道线跟踪流程,如果已经启动或者可以启动车道线跟踪流程则启动车道线跟踪模块,否则启动窗口滑动模块;
所述车道线跟踪模块执行车道线跟踪算法,车道线跟踪算法根据从车道线识别模块获得上一帧图像的二次曲线的参数{al,bl,cl},{ar,br,cr},以及当前图像在边缘检测模块中获得的集合A,直接计算获得数组arr_left和arr_right,其中数组arr_left包含左车道线像素坐标,arr_right包含右车道线像素坐标;
所述窗口滑动模块执行窗口滑动算法,获得数组arr_left和arr_right;
所述车道线识别模块根据数组arr_left和arr_right画出以{al,bl,cl}和{ar,br,cr}为参数的二次曲线,再根据仿射变换矩阵生成器模块生成的仿射变换矩阵T将二次曲线变换到原图的感兴趣区域中,完成车道线识别。
优选的,所述车道线跟踪算法直接计算获得数组arr_left和arr_right,具体算法为:
xl=alyj 2+blyj+c,xr=aryj 2+bryj+c,若xi-margin≤xi≤xl+margin,记录对应坐标{xi,yi}至数组arr_left;若xr-margin≤xi≤xr+margin,记录对应坐标{xi,yi}至数组arr_right;其中margin_in和margin_out为滑动窗口中的窗宽变量。
与现有技术相比,本发明具有以下有益效果:
1、去雾处理。针对浓雾下车道线识别困难的问题,本发明提出了专门针对车道线识别的偏振去雾方法。该方法利用浓雾下光线经空中颗粒散射而产生的偏振特性,滤除大气光的影响,恢复去雾后的图像,并利用导向滤波的去噪和边缘保持特性,使得浓雾下的车道线识别具有鲁棒性和自适应性。
2、眩光抑制。针对眩光下车道线识别困难的问题,本发明提出了专门针对车道线识别的眩光抑制方法。该方法利用光线在不同传播方向上有强度差异的偏振特性,在不同角度的偏振图像中选择光强最小的图像进行车道线识别,使得眩光下的车道线识别具有鲁棒性。
3、车道线跟踪算法。针对车道线识别的效率问题,本发明提出了新的车道线跟踪算法。该方法利用两帧之间车道线的间距、模型参数等关联,使得在保证识别效果的前提下更快速。
附图说明
图1是本申请基于偏振成像的车道线检测方法整体流程图;
图2是本申请基于偏振成像的车道线检测装置的结构示意图;
图3是雾天模式下对图像去雾的流程图;
图4是对边缘图进行窗口滑动的流程图;
图5是对归一化边缘图进行水平投影后的示意图;
图6是图像去雾前后效果比较图;以及
图7是车道线检测过程中图像处理的示意图。
具体实施方式
以下将参考附图详细说明本发明的示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
本发明提出了一种基于偏振成像的车道线检测方法,如图1所示,具体实施步骤如下:
步骤1,初始化变量N=0,track=0,round=0,bas e_left0=0,bas e_right0=0,设定最大跟踪图像个数M,针对滑动窗口设定相关参数,包括滑动窗口个数n_windows,窗宽变量margin_in和margin_out,窗内像素个数最小值minpix,像素阈值TH,距离阈值D。其中,N表示本轮中将处理的图像序号,track表示是否启动了车道线跟踪流程标志,0为没有启动,1为启动;round表示启动车道线跟踪流程后已跟踪图像的个数,bas e_left0和bas e_right0为初始的左基点和右基点值;M为最大跟踪图像个数,M太大会导致后续车道线识别不准确,M太小又不能体现本申请的优势,因此在本实施例中将M设置为20。本领域技术人员都知道滑动窗口算法的相关参数可以根据处理的图像和需求来进行设定,在本实例中,设定n_windows=10,margin_in=10,margin_out=5,minpix=50,TH=200和D=150。
步骤2,获取偏振相机拍摄到的一张图像,N=N+1;判断第N帧图像是否是雾天模式,是则执行步骤3,否则执行步骤4;
使用现有技术判断当前需要处理的偏振相机采集的第N帧图像I是否属于雾天模式,如果是雾天模式执行步骤3,否则执行步骤4如果判断图像不是雾天模式则默认以眩光模式对图像进行处理。其中N为正整数,I表示图像原图。
步骤3,雾天模式下,对图像采用基于大气光偏振角和导向滤波的去雾方法;
S3.1、根据道路图像原图I,获得0°、45°和90°三个角度的灰度偏振图像,转化成double格式。
S3.2、利用步骤S3.1中的灰度偏振图像计算偏振度矩阵P,偏振角矩阵θ。
S3.3、为计算大气光强A,合成最大光强图I⊥=(1+P)*I/2,最小光强图I||=(1-P)*I/2,其中I是原图,即0°图像和90°图像之和,P为偏振度矩阵。
S3.4、为计算大气光偏振度PA,从而获得大气光强A,根据雾天大气光的偏振特性,从偏振角θ矩阵中选取出现概率最大的值作为大气光偏振角θA,记录θ矩阵中所有值为θA的像素坐标。
S3.5、根据步骤S3.4中记录的像素坐标在偏振度矩阵P中找到这些像素坐标对应的值,从中选取最大值作为大气光偏振度PA。
S3.6、计算大气光强A=(I⊥-I||)/PA。
S3.7、由于A含大量噪声,从而去雾图像中的路面区域也含有大量噪声,严重干扰车道线的识别。为了在去噪的同时保留车道线边缘,考虑到导向滤波的去噪和边缘保持作用,对大气光强A采用导向滤波。将原图I作为引导图,A作为输入图,设定滤波窗口半径和正则化参数,获得优化后的大气光强A*。
S3.8、为保证大气光强值A∞的准确估算,不计入I中灰度值为0的像素,计算原图I中0.1%最亮像素灰度值的平均值,作为无穷远的大气光强值A∞。
S3.9、计算传输率t=1-A*/A∞。
S3.10、通过大气物理模型L=(I-A*)/t,计算恢复后的去雾图像L。
S3.11、因车辆前方的车道线是待识别的重点对象,选定靠近车辆部分即去雾图像L靠底部三分之一或四分之一面积作为感兴趣区域,并将去雾图像L作为步骤5的输入图像,然后直接执行步骤5。
步骤4,眩光模式下,选取三个角度的偏振图像中感兴趣区域内平均光强最小的图像。
S4.1、选定图像靠底部三分之一或四分之一面积作为感兴趣区域。
S4.2、计算0°、45°和90°三个角度的偏振图像在感兴趣区域中的平均灰度值。
S4.3、根据光线在不同传播方向上有强度差异的偏振特性,选取步骤S4.2中平均灰度值最小的图像作为步骤5的输入图像,然后执行步骤5。
步骤5,对经过步骤3或步骤4处理后的图像采取现有技术中的逆透视变换,得到仿射变换矩阵和俯视图像。因为车辆前方的车道线是待识别的重点对象,此步骤将靠近车辆部分的图像转换为俯视图,可以更好的对车道线进行识别。
S5.1、为计算仿射变换矩阵,设定从步骤3或步骤4接收到的图像中感兴趣区域四个顶点坐标。
S5.2、为计算仿射变换矩阵,设定S5.1中感兴趣区域四个顶点坐标对应的期望的逆透视变换后的四个顶点坐标。
S5.3、根据S5.1感兴趣区域四个顶点坐标和S5.2中的期望的逆透视变换后的四个顶点坐标,计算出仿射变换矩阵R和T,其中R用来将原图变换至俯视图像,T用来将俯视图像变换至原图。根据两组对应坐标计算出变换矩阵是现有技术,在此不进行展开。
S5.4、使用矩阵R,利用现有技术的双线性插值法获得步骤4输入图像的逆透视变换后的图像,即俯视图像。
步骤6,在俯视图像上进行边缘检测,得到边缘图。通过此步骤可以在俯视图像上检测车道线所在像素坐标。
S6.1、创建图像大小的值全为1模板矩阵。
S6.2、车辆近端的俯视灰度图像上,车道线常呈现白色。同时,通常有其他车辆的轮胎、底盘出现在俯视图像中,这些非车道线因素的灰度值往往小于车道线的灰度值。为尽可能排除这些因素对车道线识别的干扰,设定灰度等级。记录步骤S5.4所得俯视图像的最大灰度值max,获得小于0.2*max的像素坐标,将模板矩阵中这些坐标的值置为0。
S6.3、因为车道线在俯视图上接近垂直,设定梯度方向阈值,阈值范围(-0.15,0.15),利用现有技术中的canny算子对步骤S5.4的俯视图像进行边缘检测,得到俯视图像的边缘检测结果。
S6.4、将步骤S6.3中俯视图像的边缘检测结果与步骤S6.2中的模板矩阵相乘得到边缘图,以尽量排除非车道线因素的干扰。
S6.5、遍历边缘图中所有灰度值不为零的像素点,记录其坐标{xi,yj}到集合A中,i,j都为正整数,用于在步骤10中判断是否在窗口内部。
S6.6、对边缘图进行归一化得到归一化边缘图,再对归一化边缘图进行水平投影,以水平投影图横坐标中线为界,将水平投影图平均分为左右两部分,在左半部分中记录峰值sum_left,对应横坐标base_left,作为步骤10窗口滑动的左基点;在右半部分中记录峰值sum_right,对应横坐标base_right,作为步骤10窗口滑动的右基点。记录dis=base_right-base_left,作为左右基点的间距。
步骤7,判断是否track=1,即是否已经启动了车道线跟踪流程。如果是则直接执行步骤9,不是则执行步骤8,先判断是否满足启动车道线跟踪流程条件。
步骤8,判断是否满足启动车道线跟踪流程条件。
S8.1、对第N帧图像,记录diff_left=base_left(N)-base_left(N-1),diff_right=bas e_right(N)-bas e_right(N-1),其中,bas e_left(N)和bas e_left(N-1)分别表示第N张和第N-1张图像的base_left,bas e_right(N)和bas e_right(N-1)分别表示第N张和第N-1张图像的base_right。
S8.2、判断是否连续3帧满足sum_left≥TH,sum_right≥TH,dis>D,即判断两条车道线是否完整,间距是否正常。并且,判断是否连续3帧满足diff_left<10,diff_right<10,即判断两帧之间车道线基点差距是否不大。若满足上述条件,就执行步骤9启动车道线跟踪流程,设定搜索范围margin,round=0和track=1。否则执行步骤10。
步骤9,车道线跟踪流程
对于第N帧图像,使用第N-1帧图像的二次曲线模型参数{al,bl,cl},{ar,br,cr},和第N帧图像在步骤S6.5获得的集合A,计算xl=alyj 2+blyj+c,xr=aryj 2+bryj+c,若xl-margin≤xi≤xl+margin,记录对应坐标{xi,yi}至数组arr_left;若xr-margin≤xi≤xr+margin,记录对应坐标{xi,yi}至数组arr_right;round=round+1,表示对下一帧进行车道线跟踪;然后执行步骤11。
步骤10,对边缘图进行窗口滑动。
根据步骤S6.6获得的dis、sum_left和sum_right进行判断,执行不同的窗口滑动操作,对arr_left和arr_right进行优化,具体包括以下四种情况:
a、若dis≤D,判定未检测到车道线,不进行窗口滑动;
b、若sum_left≥TH,sumright≥TH,dis>D,判定检测到两条车道线,采用现有技术对两边同时进行窗口滑动;
c、若sum_left≥TH,sum_right<TH,dis>D,判定检测到左车道线,采用现有技术只对左边进行窗口滑动;
d、若sum_left<TH,sum_right≥TH,dis>D,判定检测到右车道线,采用现有技术只对右边进行窗口滑动;
根据现有技术,本申请中对两边同时进行窗口滑动的具体实现步骤如下,本领域技术人员都知道,当只对左边进行窗口滑动时,可以省略与base_right和arr_right的相关步骤,同理当只对右边进行窗口滑动时,可以省略与base_left和arr_left的相关步骤:
①计算窗高h=height/nwindows,其中height为图像高度,初始化n=0。
②判断n<nwindows,如果是执行步骤③,不是则代表窗口滑动结束,执行步骤⑧。
⑤遍历步骤S5.5中集合A中的所有坐标{xi,yj},判断是否在当前窗口内部。若且y1≤yj≤y2,将{xi,yj}存入二维数组arr_left,记录在整个遍历过程中arr_left新增元素个数p1;若且y1≤yj≤y2,将{xi,yj}存入二维数组arr_right,记录在整个遍历过程中arr_right新增元素个数p2。
⑦n=n+1,返回步骤②执行。
⑧计算数组arr_left中xi的均值u,标准差σ,遍历数组,剔除满足(xi-u)>2σ的坐标元素。计算数组arr_right中xi的均值u,标准差σ,遍历数组,剔除满足(xi-u)>2σ的坐标元素。通过此步骤排除窗口内的异常像素。
步骤11,根据数组arr_left和arr_right,建立二次曲线车道线模型,识别出第N帧图像中的车道线。
S11.1、对数组arr_left和arr_right,分别采用最小二乘法以二次曲线模型进行坐标拟合,记录模型参数{al,bl,cl},{ar,br,cr}。
S11.2、创建图像大小的map,在map中画出以{al,bl,cl}和{ar,br,cr}为参数的二次曲线。
S11.3、将map以步骤S5.3中的仿射变换矩阵T变换到原图的感兴趣区域中,此时第N帧图像I车道线识别结束。
S11.4、将数组arr_left,arr_right清零。
步骤12,判断round≤M,是则返回步骤2,否则返回步骤1对变量进行初始化开始新一轮的图像识别。
基于偏振成像的车道线检测方法,对于偏振相机拍摄到的图像根据步骤1-步骤12不断循环执行,直到全部图像处理完成。本申请对雾天环境和眩光环境下的图像提出了新的处理方法,另外在车道检测过程中本申请根据车道线的特点,提出了新的车道线跟踪方法,在不影响识别效果的前提下极大的减少了运算量。
本申请还根据上述方法提出了一种基于偏振成像的车道线检测装置,具体包括偏振相机1、处理选择模块2、雾天处理模块3、眩光处理模块4、仿射变换矩阵生成器模块5、边缘检测模块6、车道线跟踪启动判断模块7、车道线跟踪模块8、窗口滑动模块9和车道线识别模块10,其中:
偏振相机1将拍摄的照片图像发送至处理选择模块。
图像处理选择模块2使用现有技术判断从偏振相机接收的图像是否为雾天模式。如果是雾天模式,处理选择模块就将图像发送至雾天处理模块。如果不是则默认图像为眩光模式,发送至眩光处理模块。
雾天处理模块3根据步骤3对图像进行去雾处理,将去雾图像L作为仿射变换矩阵生成器模块的输入图像,并将去雾图像L靠底部三分之一或四分之一面积标记为感兴趣区域。
眩光处理模块4根据步骤4对图像进行处理,将选择出来的图像作为仿射变换矩阵生成器模块的输入图像,并将图像靠底部三分之一或四分之一面积标记为感兴趣区域。
仿射变换矩阵生成器模块5,根据步骤5中描述的根据感兴趣区域的俯视图像和图像的感兴趣区域四个顶点的坐标对应关系,得到仿射变换矩阵R和T,并将接收到的图像变换为俯视图像。
边缘检测模块6根据步骤6对俯视图像进行边缘检测,得到边缘图中灰度值不为零的所有像素点坐标集合A,并对边缘图进行水平投影,分别记录左、右半部分中峰值所对应横坐标。
车道线跟踪启动判断模块7根据步骤7和8,判断车道线跟踪流程是否已经启动以及是否可以启动车道线跟踪流程。如果已经启动或者可以启动车道线跟踪流程则启动车道线跟踪模块8,否则启动窗口滑动模块9。通过车道线跟踪启动判断模块7的判断,可以在图像经过边缘检测模块6处理后选择启动车道线跟踪模块还是窗口滑动模块,车道线跟踪模块中的算法要比窗口滑动模块中的算法简单许多。
车道线跟踪模块8根据步骤9执行车道线跟踪算法,车道线跟踪模块8需要从车道线识别模块10获得上张图像的{al,bl,cl}和{ar,br,cr}两组参数,以及从边缘检测模块6获得集合A。
窗口滑动模块9根据步骤10执行窗口滑动算法。
车道线识别模块10根据步骤11画出以{al,bl,cl}和{ar,br,cr}为参数的二次曲线,再根据仿射变换矩阵生成器模块5生成的仿射变换矩阵T将二次曲线变换到原图的感兴趣区域中,完成车道线识别。
最后应说明的是:以上所述的各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种基于偏振成像的车道线检测方法,其特征在于:其包括以下步骤:
步骤1,初始化变量,至少包括本轮中待处理的图像序号N,是否启动了车道线跟踪流程标识track,启动车道线跟踪流程后已跟踪图像的个数round,最大跟踪图像个数M;
步骤2,获取偏振相机拍摄到的一张图像,N=N+i;判断第N帧图像是否是雾天模式,是则执行步骤3,否则执行步骤4;
步骤3,雾天模式下,对图像采用基于大气光偏振角和导向滤波的去雾方法进行去雾处理,并设定感兴趣区域,将去雾图像L作为步骤5的输入图像,然后直接执行步骤5;
步骤4,眩光模式下,选取三个角度的偏振图像中感兴趣区域内平均光强最小的图像作为步骤5的输入图像,然后执行步骤5;
步骤5,对经过步骤3或步骤4处理后的图像中的感兴趣区域采取逆透视变换,得到仿射变换矩阵和俯视图像;
步骤6,对俯视图像进行边缘检测,得到边缘图,遍历边缘图中所有灰度值不为零的像素点,记录其坐标{xi,yj}到集合A中,i,j都为正整数,对边缘图进行归一化得到归一化边缘图,再对归一化边缘图进行水平投影;
步骤7,判断是否已经启动了车道线跟踪流程,如果是则直接执行步骤9,不是则执行步骤8;
步骤8,判断是否满足启动车道线跟踪流程条件,如果是则执行步骤9,不是则执行步骤10:
步骤9,车道线跟踪流程:
对于第N帧图像,使用第N-1帧图像的二次曲线模型参数{al,bl,cl},{ar,br,cr},和第N帧图像的集合A,计算xl=alyj 2+blyj+c,xr=aryj 2+bryj+c,若xl-margin≤xi≤xl+margin,记录对应坐标{xi,yi}至数组arr_left;若xr-margin≤xi≤xr+margin,记录对应坐标{xi,yi}至数组arr_right;round=round+1;然后执行步骤11;
步骤10,对边缘图进行窗口滑动,获得arr_left和arr_right,其中数组arr_left包含左车道线的像素坐标,arr_right包含右车道线的像素坐标;
步骤11,根据数组arr_left和arr_right,建立二次曲线车道线模型,识别出第N帧图像中的车道线,具体为:
S11.1、对数组arr_left和arr_right,分别采用最小二乘法以二次曲线模型进行坐标拟合,记录模型参数{al,bl,cl},{ar,br,cr};
S11.2、创建图像大小的map,在map中画出以{al,bl,cl}和{ar,br,cr}为参数的二次曲线;
S11.3、将map以仿射变换矩阵变换到原图的感兴趣区域中,此时第N帧图像车道线识别结束;
S11.4、将数组arr_left,arr_right清零;
步骤12,判断round≤M,是则返回步骤2,否则返回步骤1开始新一轮的车道线识别。
2.根据权利要求1所述的基于偏振成像的车道线检测方法,其特征在于:所述步骤3具体包括以下步骤:
S3.1、根据道路图像原图I,获得0°、45°和90°三个角度的灰度偏振图像,转化成double格式;
S3.2、利用步骤S3.1中的灰度偏振图像计算偏振度矩阵P,偏振角矩阵θ;
S3.3、为计算大气光强A,合成最大光强图I⊥=(1+P)*I/2,最小光强图I||=(1-P)*I/2,其中I是原图,即0°图像和90°图像之和,P为偏振度矩阵;
S3.4、为计算大气光偏振度PA,从而获得大气光强A,根据雾天大气光的偏振特性,从偏振角θ矩阵中选取出现概率最大的值作为大气光偏振角θA,记录θ矩阵中所有值为θA的像素坐标;
S3.5、根据步骤S3.4中记录的像素坐标在偏振度矩阵P中找到这些像素坐标对应的值,从中选取最大值作为大气光偏振度PA;
S3.6、计算大气光强A=(I⊥-I||)/PA;
S3.7、对大气光强A采用导向滤波;将原图I作为引导图,A作为输入图,设定滤波窗口半径和正则化参数,获得优化后的大气光强A*;
S3.8、为保证大气光强值A∞的准确估算,不计入原图I中灰度值为0的像素,计算原图I中0.1%最亮像素灰度值的平均值,作为无穷远的大气光强值A∞;
S3.9、计算传输率t=1-A*/A∞;
S3.10、通过大气物理模型L=(I-A*)/t,计算恢复后的去雾图像L;
S3.11、选定靠近车辆部分即去雾图像L靠底部三分之一或四分之一面积作为感兴趣区域,并将去雾图像L作为步骤5的输入图像,然后直接执行步骤5。
3.根据权利要求1所述的基于偏振成像的车道线检测方法,其特征在于:所述步骤4具体包括以下步骤:
S4.1、选定图像靠底部三分之一或四分之一面积作为感兴趣区域;
S4.2、计算0°、45°和90°三个角度的偏振图像在感兴趣区域中的平均灰度值;
S4.3、根据光线在不同传播方向上有强度差异的偏振特性,选取步骤S4.2中平均灰度值最小的图像作为步骤5的输入图像,然后执行步骤5。
4.根据权利要求1所述的基于偏振成像的车道线检测方法,其特征在于:所述步骤5具体包括以下步骤:
S5.1、为计算仿射变换矩阵,设定从步骤3或步骤4接收到的图像中感兴趣区域四个顶点坐标;
S5.2、为计算仿射变换矩阵,设定S5.1中感兴趣区域四个顶点坐标对应的期望的逆透视变换后的四个顶点坐标;
S5.3、根据S5.1感兴趣区域四个顶点坐标和S5.2中的期望的逆透视变换后的四个顶点坐标,计算出仿射变换矩阵R和T,其中R用来将原图变换至俯视图像,T用来将俯视图像变换至原图;
S5.4、使用矩阵R,利用现有技术的双线性插值法获得步骤4输入图像中感兴趣区域的逆透视变换后的图像,即俯视图像。
5.根据权利要求4所述的基于偏振成像的车道线检测方法,其特征在于:所述步骤6具体包括以下步骤:
S6.1、创建图像大小的值全为1模板矩阵;
S6.2、记录步骤S5.4所得俯视图像的最大灰度值max,获得小于0.2*max的像素坐标,将模板矩阵中这些坐标的值置为0;
S6.3、因为车道线在俯视图上接近垂直,设定梯度方向阈值,利用现有技术中的canny算子对步骤S5.4、的俯视图像进行边缘检测,得到俯视图像的边缘检测结果;
S6.4、将步骤S6.3中俯视图像的边缘检测结果与步骤S6.2中的模板矩阵相乘得到边缘图;
S6.5、遍历边缘图中所有灰度值不为零的像素点,记录其坐标{xi,yj}到集合A中,i,j都为正整数;
S6.6、对边缘图进行归一化得到归一化边缘图,再对归一化边缘图进行水平投影,以水平投影图横坐标中线为界,将水平投影图平均分为左右两部分,在左半部分中记录峰值sum_left,对应横坐标base_left,作为步骤10窗口滑动的左基点;在右半部分中记录峰值sum_right,对应横坐标base_right,作为步骤10窗口滑动的右基点;记录dis=base_right-base_left,作为左右基点的间距。
6.根据权利要求5所述的基于偏振成像的车道线检测方法,其特征在于:所述步骤8具体包括以下步骤:
S8.1、对第N帧图像,记录diff_left=base_left(N)-base_left(N-1),diff_right=base_right(N)-base_right(N-1),其中,base_left(N)和base_left(N-1)分别表示第N张和第N-1张图像的base_left,base_right(N)和base_right(N-1)分别表示第N张和第N-1张图像的base_right;
S8.2、判断是否连续3帧满足sum_left≥TH,sum_right≥TH,dis>D,即判断两条车道线是否完整,间距是否正常;并且,判断是否连续3帧满足diff_left<10,diff_right<10,若满足上述条件,就执行步骤9启动车道线跟踪流程,设定搜索范围margin,round=0和track=1,否则执行步骤10。
7.根据权利要求5所述的基于偏振成像的车道线检测方法,其特征在于:所述步骤10具体包括以下步骤:
a、若dis≤D,判定未检测到车道线,不进行窗口滑动;
b、若sum_left≥TH,sum_right≥TH,dis>D,判定检测到两条车道线,采用现有技术对两边同时进行窗口滑动;
c、若sum_left≥TH,sum_right<TH,dis>D,判定检测到左车道线,采用现有技术只对左边进行窗口滑动;
d、若sum_left<TH,sum_right≥TH,dis>D,判定检测到右车道线,采用现有技术只对右边进行窗口滑动。
8.一种基于偏振成像的车道线检测装置,其特征在于:其包括以下模块:偏振相机、处理选择模块、雾天处理模块、眩光处理模块、仿射变换矩阵生成器模块、边缘检测模块、车道线跟踪启动判断模块、车道线跟踪模块、窗口滑动模块和车道线识别模块,其中:
所述偏振相机将拍摄的照片图像发送至处理选择模块;
所述图像处理选择模块使用现有技术判断从偏振相机接收的图像是否为雾天模式,如果是雾天模式,处理选择模块就将图像发送至雾天处理模块;如果不是则默认图像为眩光模式,发送至眩光处理模块;
所述雾天处理模块根据对图像进行去雾处理,将去雾图像L作为仿射变换矩阵生成器模块的输入图像,并将去雾图像L靠底部三分之一或四分之一面积标记为感兴趣区域;
所述眩光处理模块对图像进行处理,将选择出来的图像作为仿射变换矩阵生成器模块的输入图像,并将图像靠底部三分之一或四分之一面积标记为感兴趣区域;
所述仿射变换矩阵生成器模块,根据感兴趣区域的俯视图像和图像的感兴趣区域四个顶点的坐标对应关系,得到仿射变换矩阵R和T,并将接收到的图像变换为俯视图像;
所述边缘检测模块对俯视图像进行边缘检测,得到边缘图中像素值不为零的所有像素点,记录其坐标{xi,yj}到集合A中,i,j都为正整数,并对归一化边缘图进行水平投影,分别记录左、右半部分中峰值所对应横坐标;
所述车道线跟踪启动判断模块判断车道线跟踪流程是否已经启动以及是否可以启动车道线跟踪流程,如果已经启动或者可以启动车道线跟踪流程则启动车道线跟踪模块,否则启动窗口滑动模块;
所述车道线跟踪模块执行车道线跟踪算法,所述车道线跟踪算法根据从车道线识别模块获得上一帧图像的二次曲线的参数{al,bl,cl},{ar,br,cr},以及当前图像在边缘检测模块中获得的集合A,直接计算获得数组arr_1eft和arr_right,其中数组arr_1eft包含左车道线像素坐标,arr_right包含右车道线像素坐标;
所述窗口滑动模块执行窗口滑动算法,获得数组arr_left和arr_right;
所述车道线识别模块根据数组arr_1eft和arr_right画出以{al,bl,cl}和{ar,br,cr}为参数的二次曲线,再根据仿射变换矩阵生成器模块生成的仿射变换矩阵T将二次曲线变换到原图的感兴趣区域中,完成车道线识别。
9.根据权利要求8所述的基于偏振成像的车道线检测方法的装置,其特征在于:所述车道线跟踪算法从车道线识别模块获得上一帧图像的二次曲线的参数{al,bl,cl},{ar,br,cr},以及当前图像在边缘检测模块中获得的集合A,直接计算获得数组arr_left和arr_right,其具体算法为:
xl=alyj 2+blyj+c,xr=aryj 2+bryj+c,若xl-margin≤xi≤xl+margin,记录对应坐标{xi,yi}至数组arr_left;若xr-margin≤xi≤xr+margin,记录对应坐标{xi,yi}至数组arr_right;其中margin_in和margin_out为滑动窗口中的窗宽变量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010445829.8A CN111626180B (zh) | 2020-05-22 | 2020-05-22 | 基于偏振成像的车道线检测方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010445829.8A CN111626180B (zh) | 2020-05-22 | 2020-05-22 | 基于偏振成像的车道线检测方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111626180A CN111626180A (zh) | 2020-09-04 |
CN111626180B true CN111626180B (zh) | 2022-10-14 |
Family
ID=72271035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010445829.8A Active CN111626180B (zh) | 2020-05-22 | 2020-05-22 | 基于偏振成像的车道线检测方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111626180B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116681721B (zh) * | 2023-06-07 | 2023-12-29 | 东南大学 | 一种基于视觉的直线轨迹检测与跟踪方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102592114A (zh) * | 2011-12-26 | 2012-07-18 | 河南工业大学 | 复杂路况的车道线特征提取、识别方法 |
CN104008645A (zh) * | 2014-06-12 | 2014-08-27 | 湖南大学 | 一种适用于城市道路车道线预测及预警方法 |
CN110443225A (zh) * | 2019-08-15 | 2019-11-12 | 安徽半问科技有限公司 | 一种基于特征像素统计的虚实车道线识别方法及其装置 |
-
2020
- 2020-05-22 CN CN202010445829.8A patent/CN111626180B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102592114A (zh) * | 2011-12-26 | 2012-07-18 | 河南工业大学 | 复杂路况的车道线特征提取、识别方法 |
CN104008645A (zh) * | 2014-06-12 | 2014-08-27 | 湖南大学 | 一种适用于城市道路车道线预测及预警方法 |
CN110443225A (zh) * | 2019-08-15 | 2019-11-12 | 安徽半问科技有限公司 | 一种基于特征像素统计的虚实车道线识别方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111626180A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107462223B (zh) | 一种公路转弯前行车视距自动测量装置及测量方法 | |
CN109657632B (zh) | 一种车道线检测识别方法 | |
CN109145915B (zh) | 一种复杂场景下车牌快速畸变矫正方法 | |
CN110930459B (zh) | 灭点提取方法、相机标定方法以及存储介质 | |
US10290219B2 (en) | Machine vision-based method and system for aircraft docking guidance and aircraft type identification | |
CN104899554A (zh) | 一种基于单目视觉的车辆测距方法 | |
CN107844750A (zh) | 一种水面全景图像目标检测识别方法 | |
CN109829365B (zh) | 基于机器视觉的多场景适应驾驶偏离及转弯预警方法 | |
CN109785291A (zh) | 一种车道线自适应检测方法 | |
CN117094914B (zh) | 基于计算机视觉的智慧城市道路监控系统 | |
CN112329623A (zh) | 雾天能见度检测与能见度安全等级划分预警方法 | |
CN105678287B (zh) | 一种基于脊度量的车道线检测方法 | |
CN106887004A (zh) | 一种基于块匹配的车道线检测方法 | |
CN111738071B (zh) | 一种基于单目摄像机的运动变化的逆透视变换方法 | |
CN112017249A (zh) | 车载摄像头滚转角获取、安装角度校正方法及设备 | |
CN116279592A (zh) | 一种用于无人物流车的可行驶区域划分方法 | |
CN111652033A (zh) | 基于OpenCV的车道线检测方法 | |
CN111444916A (zh) | 面向无约束条件下的车牌定位及识别方法、系统 | |
Jiang et al. | Lane line detection optimization algorithm based on improved Hough transform and R-least squares with dual removal | |
CN114241438B (zh) | 一种基于先验信息的交通信号灯快速精确的识别方法 | |
CN111626180B (zh) | 基于偏振成像的车道线检测方法及其装置 | |
CN113221739B (zh) | 基于单目视觉的车距测量方法 | |
CN111881878B (zh) | 一种环视复用的车道线识别方法 | |
Rui | Lane line detection technology based on machine vision | |
CN114926332A (zh) | 基于无人机母车的无人机全景图像拼接方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |