一种适用于复杂条件下的车道线视觉检测方法与流程

文档序号:13662155阅读:2420来源:国知局
一种适用于复杂条件下的车道线视觉检测方法与流程

本发明涉及智能交通领域,尤其涉及一种适用于复杂条件下的车道线视觉检测方法。



背景技术:

利用单目视觉的车道线检测技术主要是利用车道线的视觉线索对其特征进行提取,以达到对车道线检测的目的。综合来看,现有的车道线检测方法多数是利用单个视觉线索来提取车道线特征,如:消失点的特征,车道线的方向特征和车道线颜色相对于路面颜色呈现暗-亮-暗的颜色特征,车道线的形状和位置特征等。文献1:umarozgunalp,naimdahnoun,“robustlanedetection&trackingbasedonnovelfeatureextractionandlanecategorization,”in:proceedingsoftheieeeinternationalconferenceonacousticsspeechsignalprocessing,2014,pp.8129-8133.利用车道线与路面颜色呈现暗-亮-暗的特征对道路图片进行对称阈值滤波以提取车道线标志。文献2:young-wooseoandraj,“utilizinginstantaneousdrivingdirectionforenhancinglane-markingdetection,”in:2014ieeeonintelligentvehiclessymposium(iv),pp.170-175.将消失点和图像底部中点的连线视为车辆的瞬时行驶方向,利用此方向信息过滤了多余的噪声杂质。这些利用单个视觉线索的车道线检测技术在车道线标志清晰的路况下检测效果较好,然而,在复杂的城市路况或车道线破损严重的郊区,仅仅只靠单个视觉线索提取车道线特征难以满足较高的准确度要求。

近年来,有不少学者将多视觉线索利用于车道线特征的提取。然而,这些基于多视觉线索的车道线检测方法也存在部分场景高误检情况。文献3:zhixiongnan,pingwei,linhaixu,nanningzheng,“efficientlaneboundarydetectionwithspatial-temporalknowledgefiltering,”sensors,16(8),2016.利用车道线的位置信息和消失点特征过滤多余的噪声线段,然而,在路面出现裂缝,并且当其方向与车道线方向平行时,该方法容易产生误检。文献4:[1]j.son,h.yoo,s.kim,k.sohn,“real-timeilluminationinvariantlanedetectionforlanedeparturewarningsystem,”expertsystemswithapplications,42(2015)1816-1824.利用消失点特征和车道线的颜色特征相互融合的方法提取车道线,然而该方法无法在车道线模糊或光线较弱等条件下检测出车道线。



技术实现要素:

本发明旨在克服目前车道检测方法中的缺陷,即:在复杂路况下实现车道线检测,该方法对破损的车道线和阴影干扰等情况均能表现出较好的稳定性。

本发明的技术方案是提供了一种适用于复杂条件下的车道线视觉检测方法,具体包括如下步骤:

步骤1、将摄像头采集到的真彩色图像灰度化,灰度图将作为整个车道线检测系统的输入;在灰度图中的道路区域将进行逆透视变换操作,然后检测变换生成的鸟瞰图中的轮廓线段,所述轮廓线段将作为后续的处理单元;

步骤2、计算轮廓线段角度θi,过滤掉轮廓线段中线段角度θi不满足阈值的线段;

步骤3、进行轮廓线段的分类,即以鸟瞰图竖直中线为界限,将直线段分为左侧线段和右侧线段;以线段角度θi和线段梯度方向角的相对关系将轮廓线段分为内侧线段和外侧线段;由此将轮廓线段分为四类:左侧外轮廓线段,左侧内轮廓线段,右侧外轮廓线段,右侧内轮廓线段;

步骤4、利用步骤3分类后的轮廓线段进行新线段的重新生成,即在同侧轮廓线段中选取一对共线且相邻的内外侧轮廓线段作为一组匹配线段,则该组匹配线段生成的新线段,即候选线段的上端点为该组中两轮廓线段上端点的中点,该候选线段的下端点为该组中两轮廓线段下端点的中点;

步骤5、从步骤4生成的候选线段中挑选出种子线段,同时再次利用候选线段对种子线段进行延伸,直至延伸后的直线段在长度和可靠性符合阈值条件,否则,重新挑选新的种子线段重复上述步骤直至遍历过所有的候选线段;

步骤6、对步骤5延伸结束后的种子线段的上端点位置进行评估,若其位于图像的上半部,则说明步骤5的线性延伸达到了较长的长度,无需进行弯道的二次项拟合;否则,则视线性拟合段的上部为需要拟合的弯道区域;

步骤7、以线性拟合结果的切线方向为初始方向,在线性拟合结果以上部分所确定的感兴趣区域内搜索车道线控制点;利用最小二乘法对控制点进行二次拟合,由拟合的二次曲线求解出一个控制点;最终由此控制点和线性拟合的结果能求解出与直线段光滑相连的抛物线曲线,此曲线便为最终的车道线曲线拟合段;

步骤8、把当前帧检测到的车道线直线段参数作为观测值输入卡尔曼预测器,得到当前帧图像车道线直线段的最终坐标位置。

本发明的有益效果在于:

(1)利用车道线的多个视觉线索对轮廓线段采取分类、重新生成的操作能够快速有效地过滤大部分干扰线段,生成的新线段多数覆盖在车道线上,这种操作很大程度地削减了物体阴影、路面纹理不统一等复杂干扰对车道线检测算法稳定性的影响。

(2)对贪婪搜索搜出的种子线段进行验证、延伸和再验证的方法既能减少算法的时间消耗,又能减少其跳入局部最优的风险。

(3)直线模型和衔接点动态变化的直线—抛物线模型使本算法不仅适用于直道和弯道,而且也适用于车道宽度渐变的道路。

附图说明

图1是算法流程框图;

图2是逆透视投影说明图;

图3是线段轮廓梯度方向角计算说明图;

图4是正线段角度情况外侧线段分类说明图;

图5是轮廓线段分类结果示意图;

图6是候选线段重新生成示意图;

图7是净长度说明图;

图8是二次曲线拟合开启说明示意图;

图9是roi设定示意图;

图10是曲线控制点搜索说明图;

具体实施方式

以下结合附图1-10对本发明所述的技术方案进行详细说明。

如图1所示,本发明检测车道线的流程图,主要通过对轮廓线段的分类,重新生成,筛选和延伸等操作。具体方法如下:

将摄像头获取的三通道彩色图像转化为灰度图像,通过逆透视变换将道路区域的透视图像转换为鸟瞰图。逆透视变换在基于计算机视觉的车道线检测方法中被广泛使用,其优点在于车道线的透视效应在鸟瞰图中会被消除,从而更加有利于车道线的搜索和检测。将鸟瞰图中检测的线段进行分类,重新生成,筛选和延伸,从而实现过滤噪声,拟合车道线的目的。

该实施例应用主要针对鸟瞰图中检测的轮廓线段,该实施例所述的一种适用于复杂条件下的车道线视觉检测方法,具体包括如下步骤:

步骤1、将摄像头采集到的真彩色图像灰度化,灰度图将作为整个车道线检测系统的输入;在灰度图中的道路区域将进行逆透视变换操作,然后检测变换生成的鸟瞰图中的轮廓线段,所述轮廓线段将作为后续的处理单元。

由于摄像头位于挡风玻璃的正中央,为保证算法的效率和稳定性,将图像下半部份的道路区域作为鸟瞰图转换的待处理区域,即:图2中梯形区域。

步骤101:将道路区域的图像采用四点对应法逆透视变换为鸟瞰图;

该实施例采用的逆透视变换的方法是四点对应法。选取一帧道路平整且车道线为直线的图像,

如图2左侧图像所示。梯形区中的四个手动标记点p1~p4位于车道线上且左右两点的v轴平行。选取四个对应点(1,1),(60,1),(120,60),(1,120)作为逆透视变换的对应点。由投影映射公式:

u,v是梯形区中的手动标记点坐标,选取的四个对应点坐标为x,y,其中则由四组对应点可求解出变换矩阵的9个系数,那么由此可将原透视图,即梯形区中的像素变换到矩形区,形成鸟瞰图,如图2中的右侧图。

步骤102:对鸟瞰图边缘轮廓线段进行检测(lsd);

该步骤中采用的边缘轮廓线段检测方法为论文(vongioi.r.g.,jakubowicz.j.,morel.j.,randall.g.,lsd:afastlinesegmentdetectorwithafalsedetectioncontrol,ieeetrans.patternanal.mach.intell.2010,32,pp.722-732.)中所述方法。

lsd是一种能在线性时间内得到亚像素级准确度的直线段检测算法。它的核心思想是像素合并和误差控制。相较于常规的线段检测方法,如霍夫变换,lsd无需设置相应参数,且能检测到大部分人眼看不明显的线段,例如鸟瞰图顶部虚线的车道线因插值而显得模糊,因此lsd作为该实施例中线段检测的算法。

步骤2、计算线段角度θi,过滤掉轮廓线段中线段角度θi不满足阈值的线段;

因为鸟瞰图中检测的车道线近乎与y轴平行,此步骤过滤线段角度θi不满足阈值的线段,这些线段将不再参与后续步骤。

步骤201:计算线段角度θi;

线段角度θi的测量是以y轴的负方向为基准,顺时针为正,逆时针为负,取值范围为[-180°,180°]。故而参与后续步骤的线段必须满足条件:

|θi|≤20°(i=1,2…k)

其中k表示lsd检测出的线段总数。

步骤3、进行轮廓线段的分类,即以鸟瞰图竖直中线为界限将直线段分为左侧线段和右侧线段;以线段角度θi和线段梯度方向角的相对关系将轮廓线段分为内侧线段和外侧线段。

由此,可将轮廓线段分为四类:左侧外轮廓线段,左侧内轮廓线段,右侧内轮廓线段,右侧外轮廓线段。

步骤301:采用sobel算子计算像素的梯度角

该实施例中,采用sobel算子计算图像的梯度,其水平算子和竖直算子依次为

由两算子卷积鸟瞰图可得水平梯度图gx(x,y)和竖直梯度图gy(x,y),其中x,y鸟瞰图中的坐标轴。

则对应像素的梯度角为gdir(x,y)=an-1(gx(x,y)/gy(x,y))。

即gdir(x,y)为鸟瞰图中像素坐标(x,y)的梯度角。

步骤302:计算轮廓线段的梯度方向角轮廓线段的梯度方向角近似为该边缘轮廓所有像素所处位置的梯度角绝对值的算术平均值;

如图3所示,图中的斜线段代表检测出的轮廓线段,4x4的矩阵中的数值代表步骤301计算出的像素梯度角,即以x轴为标准,逆时针为负,顺时针为正,角度范围[-180°,180°]。

则轮廓线段的梯度方向角可近似为该边缘轮廓所有像素所处位置的梯度方向角绝对值的累加平均值,即图3中线段的梯度方向角为

其中,n表示线段的长度,即像素个数,k表示lsd检测出的线段总数。绝对值符号的作用是因为像素梯度角的值有正有负,防止其相互抵消。

步骤303:内、外侧线段轮廓分类;

线段轮廓为像素亮暗的分界线,像素的梯度指向的是像素值递增的方向。以线段为分界线,则图3线段梯度方向角的箭头相对线段位于其左侧表明线段的左侧像素值大于线段右侧的像素值,此线段定义为内轮廓线段,反之则为外轮廓线段。

上述内容以θi和为正负可分为四类情况,

图4为线段角度θi大于零的外侧轮廓线段说明图。

左侧为右侧为的情况:

则外侧轮廓线段必须满足条件:

即:

则外侧轮廓线段必须满足条件:

即:

即当时,外侧轮廓线段必须满足条件:反之,

时,其补集则为内侧轮廓线段必须满足条件:

时的情况与此类似且结果相同,此处不再赘述。

综上所述,外侧轮廓线段满足的条件为:内侧轮廓线段满足的条件为:

图5是线段分类结果示意图,以中间虚线为界限,将线段分为左右两侧线段,其中点画线为外侧线段,实线为内侧线段。

步骤4、利用步骤3分类后的轮廓线段进行新线段的重新生成,即在同侧轮廓线段中选取一对共线且相邻的内外侧轮廓线段作为一组匹配线段,则该组匹配线段生成的新线段(候选线段)的上端点为该组中两轮廓线段上端点的中点,该候选线段的下端点为该组中两轮廓线段下端点的中点。

步骤401:配对内外轮廓线段选取;

一对配对的内外轮廓线段必须满足以下3个条件:

1、这对线段必须同为左侧的内、外线段或右侧的内、外线段(梯度方向条件);

2、这两条线段的线段角度差值δθi不大于4°(平行条件);

3、其中一条线段的上端点到另外一条线段的距离不大于8个像素(距

离条件);

步骤402:利用配对线段重新生成候选线段;

以任意一组配对线段为例,则该组配对线段重新生成的候选线段为:新候选线段的上端点为该组内、外轮廓线段上端点的中点;此候选线段的下端点为该组内、外轮廓线段下端点的中点。如图6所示为3条外轮廓线段与1条内轮廓线段,由此匹配出3组线段,圆点为虚线段的中点,即:候选线段的端点。

如图6,由于配对的候选线段不仅仅是相邻的内、外轮廓线段,平行交错的内、外轮廓线段也极有可能成为配对线段,这些配对轮廓线段所产生的候选线段将覆盖于车道线标识上或虚线类车道线的道路上,使得破损的车道线或不连续的虚线类车道线呈现为连续的线条;此外,重新生成的候选线段对于过滤一般的噪声线段极为有效。因为步骤401的筛选条件在视觉效果上的描述是:颜色亮度呈现“暗—亮—暗”特征的狭窄条状物,而一般的噪声线段难以同时满足步骤401的三个条件。例如:电线杆的阴影等噪声线段由于其颜色亮度呈现“亮—暗—亮”的特征,故而也无法构成匹配线段。

步骤5、从步骤4生成的候选线段中挑选出种子线段,同时再次利用候选线段对种子线段进行延伸,直至延伸后的直线段在长度和可靠性符合阈值条件,否则,重新挑选新的种子线段重复上述步骤直至遍历过所有的候选线段。

步骤501:按既定的优先级顺序分别从左、右侧候选线段挑选满足条件的种子线段;

种子线段从步骤4生成的候选线段中挑选,它是线性车道线延伸的起始线段,为确保线段延伸的快速准确,确认的种子线段需满足以下两个条件:

1、所选的种子线段在鸟瞰图中的长度阈值需大于20个像素;

2、在鸟瞰图中,组成种子线段的各个像素坐标的像素值累加和均需大于其左右两侧线段的像素值累加和,其与种子线段的距离为5个像素;

种子线段的挑选顺序对算法的稳定性和速度有一定的影响,故而种子线段应从最佳的位置开始挑选,即:从图像中央的底部开始挑选。左侧的种子线段按所有左侧候选线段的下端点到图像左上方顶点的曼哈顿距离的递减顺序进行步骤501种子线段的确认;相反,右侧的种子线段按所有右侧候选线段的下端点到图像右上方顶点的曼哈顿距离的递增顺序进行种子线段确认。

步骤502:若候选线段与种子线段共线,则延伸种子线段,直至遍历过所有的候选线段;

每当确认一条种子线段后,线段延伸便由此种子线段开始,再次按照步骤501所述的顺序遍历每个候选线段,若候选线段中存在与种子线段共线的线段,则此候选线段的上端点将更新种子线段的上端点,形成新的种子线段直至遍历完所有的候选线段,若最终延伸后的种子线段满足长度阈值和可靠性阈值的评价条件,则确认此延伸后的种子线段为最终检测的线性车道线,否则重复步骤501和步骤502直至遍历完全部候选线段。

该步骤所述的共线条件为:

1、种子线段与候选线段的线段角度差值不大于4°;

2、种子线段上、下端点至候选线段的距离的平均值不大于2个像素;

若候选线段满足上述两个条件,则其上端点将替换原种子线段的上端点以实现种子线段的延伸。

步骤503:对延伸结束后的种子线段进行质量评估,若此延伸后的种子线段不满足阈值要求,则重复步骤501和502,直至遍历过所有种子线段;

若某条种子线段延伸过程结束,则需对此种子线段的长度和可靠性进行评价,若此延伸线段不满足评价指标,则重复步骤501和步骤502,继续寻找新的种子线段并进行延伸。

该步骤所述的延伸后的种子线段的评价准则有三条,即:

1、延伸结束后的种子线段在鸟瞰图中的长度需大于40个像素;

2、延伸结束后的种子线段在透视图中的长度需大于16个像素;

3、延伸结束后的种子线段的可靠度值大于0.8;

评价指标2中所述的延伸结束后的种子线段在透视图中的长度,其计算方法为计算种子线段上、下两端点投影回原图后两端点的距离。此投影方法与步骤101所述求解鸟瞰图相类似,此处不再赘述。

评价指标3中所述的可靠度为净延伸率和长度比率的总和,长度比率定义如下:

其中,l为延伸结束后的种子线段在鸟瞰图中的长度;h为鸟瞰图的高度。净延伸率定义为:

为与种子线段共线的候选线段的净长度(重合部分不累加),l定义同上。

图7说明了三种情况下的净长度计算,图中的粗实线为挑选的种子线段,细实线为候选线段,虚线为延伸后的种子线段。案例1中的一条候选线段与种子线段共线,故而种子线段的上端点被候选线段上端点所替代,此情况有两段净长度;案例2中第二条候选线段(由下往上数)不与种子线段共线,故不参与种子线段的延伸,此情况有三段净长度;案例三中前两条候选线段与种子线段存在重叠区,故而此情况只有两段净长度。

特定的候选线段搜索顺序极大程度地增加了覆盖在车道线上的候选线段被选中的机率;长度比率和净延伸率的定义确保了最终的延伸结束后的种子线段能利用尽可能多的候选线段进行延伸,确保最终的延伸线段可靠。

若延伸结束后的种子线段评价指标都满足要求,则视该种子线段为最终的线性车道线的拟合线段(鸟瞰图中)。

步骤6、对步骤5延伸结束后的种子线段的上端点位置进行评估,若其位于图像的上半部,则说明步骤5的线性延伸达到了较长的长度,无需进行弯道的二次项拟合;否则,则视线性拟合段的上部为需要拟合的弯道区域。

如图8所示,左侧拟合的线性车道线的上端点位于图像的上半部,表明该线性拟合的车道线够长,无需下一步的二次拟合;而右图的种子线段未能延伸至图像的中部,线性拟合无法完全表达出车道线,故而仍需进行二次项拟合。

步骤7、以线性拟合结果的切线方向为初始方向,在线性拟合结果以上部分所确定的感兴趣区域内搜索车道线控制点;利用最小二乘法对这些控制点进行二次拟合,由拟合的二次曲线求解出一个可靠性较高的控制点;最终由此控制点和线性拟合的结果能求解出与直线段光滑相连的抛物线曲线,此曲线便为最终的车道线曲线拟合段。

首先以线性拟合的上端点作为矩形roi底部的中点,设定roi的区域。其次,将线性拟合的切线与roi(感兴趣区域)内最近的等间距采样横线的交点作为当前采样行的搜索起点,从搜索起点向两侧搜索最近的车道线控制点;此控制点将更新下次的搜索起点的切线方向,如此反复直至到roi的顶部结束。最后利用这些搜索到的控制点进行最小二乘法的拟合来排除部分错误控制点的干扰;求解拟合后的二次曲线的上端点,此点即为二次抛物线拟合所在的点。利用此点和线性车道线的拟合直线即可求解弯曲车道线的抛物线拟合参数。

步骤701:在线性拟合段的上部确定一个宽70个像素,高度延伸到图像顶部的矩形感兴趣区域;

如图9所示,以线性拟合直线段的上端点为矩形roi底部的中点,矩形roi的宽为70个像素,上顶与图像顶部重合,即左图中虚线矩形框。对截取的roi进行区域二值化,二值化的方法为自适应的最大类间方差法。最终能得到roi框内的二值图以便后续的搜索。

步骤702:以线性段的切线方向为初始方向等间距地搜索步骤701所述roi内的曲线控制点;

如图10所示,矩形框内的虚线为等间距20个像素的采样行,控制点将在采样行中从搜索起点向两侧搜索而得,离搜索起点最近的二值点将作为该采样行搜索到的控制点,即图中标记为“*”的点。而当前行的搜索起点为前两采样行控制点的连线与该行的交点,即图中标记为“o”的点;图10标记了前两采样行的搜索起点,其中,第一行的搜索起点为直线段的切线与该采样行的交点。如此反复搜索直至图像roi顶部为止,若连续5行未搜索出控制点,亦停止搜索,防止过大偏离。

步骤703:采用最小二乘法对步骤702搜索出的控制点进行二次线拟合以减小部分干扰点带来的影响,则由此二次曲线可获取抛物线曲线的上端点;

利用抛物线曲线在直线上端点的连续可微性质列出两个等式;因为抛物线曲线包含三个未知参数,故而第三个等式需寻找一个位于抛物线上的点。倘若利用步骤702中搜索的控制点,难以保证搜索到的控制点一定位于弯曲的车道线上,这对抛物线的拟合好坏影响较大,所以选取一个合适的曲线端点至关重要。

该步骤利用最小二乘法对步骤702搜索到的控制点进行二次曲线的拟合,该曲线与图像顶部的采样行的交点即为所需的抛物线上的点,记为plast(xlast,ylast)。这样的处理即利用了全部的控制点,也减少了错误选取抛物线端点的风险。

步骤704:利用直线段与抛物线段在衔接点处的连续可微性质求解抛物线参数;

利用抛物线与直线段在衔接点处连续可微条件以及步骤703求解的点pladt求解抛物线的三参数c,d,e。即:

其中,a和b分别为检测直线段的截距与斜率;y0为衔接点的纵坐标,即直线段上端点的纵坐标。则最终拟合的直线抛物线模型为:

步骤8、把当前帧检测到的车道线直线段参数作为观测值输入卡尔曼预测器,得到当前帧图像车道线直线段的最终坐标位置。

卡尔曼预测器是根据之前帧的检测结果得出的预测值和当前帧的观测值确定最终的直线段参数,这是一种车道线跟踪常用的方法,具体步骤如下。

步骤801:进行卡尔曼预测器的状态预估;卡尔曼预测器的状态方程负责向前推算当前状态变量和协方差误差的估计值,以便为下一时间状态构造先验估计。

预测器的状态方程如下式:

xk=axk-1+qk

式中,xk和xk-1分别为系统第k帧和k-1帧的状态向量;qk为系统噪声向量,a是状态转移矩阵。

状态转换矩阵a为

当前帧的状态向量如下:

xk=[x1,y1,x2,x'1,y'1,x'2]

式中,x1,y1和x2分别为直线部分的上端点横、纵坐标值和直线与图像底部交点的横坐标值。x'1,y'1和x'2为x1,y1和x2的微分量,其值由当前帧的x1,y1和x2与前一帧的x1,y1和x2差值近似。

步骤802:进行卡尔曼预测器的观测更新;即将先验估计和新的观测变量结合以构造改进的后验估计。

预测器的状态修正方程为:

zk=hxk+rk

式中,h是测量矩阵;zk为观测向量;rk为观测噪声向量。

测量矩阵h为

当前帧的观测向量为

zk=[x1,y1,x2]

式中,x1,y1和x2含义与状态向量相同。

预测误差协方差矩阵qk和测量误差协方差矩阵rk:

与普通的卡尔曼滤波器不同的是,本专利设置了两级协方差矩阵,使预测能更佳的适应不同复杂的路况。利用步骤503得出的长度比率和净延伸率能有效的评价当前检测的直线段的好坏。只有当两值都比较大时,说明当前检测的直线段是凭借较多的候选线段进行延伸,且延伸了较长的距离。那么,此情况下设置的系统噪声大于观测噪声,使预测器更愿意“相信”观测的结果;反之,则说明当前直线段的检测效果不佳,设置的系统噪声小于观测噪声,使预测器更愿意“相信”之前帧检测的结果。上述的内容表述如下式所示:

卡尔曼预测器输出的观测量即为当前帧直线段车道线的坐标参数,最终完成对直线段的车道线参数检测。

虽然上面结合本发明的优选实施例对本发明的原理进行了详细的描述,本领域技术人员应该理解,上述实施例仅仅是对本发明的示意性实现方式的解释,并非对本发明包含范围的限定。实施例中的细节并不构成对本发明范围的限制,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案的等效变换、简单替换等显而易见的改变,均落在本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1