一种基于单目视觉的前方车辆检测方法

文档序号:6369320阅读:129来源:国知局
专利名称:一种基于单目视觉的前方车辆检测方法
技术领域
本发明属于图像处理领域,具体涉及一种在高速公路或快速公路场景下,能够实时识别汽车前方行驶车辆的检测方法,主要适用于智能交通领域中的智能车辆辅助驾驶系统,属于汽车主动安全技术领域。
背景技术
对交通事故的统计分析显示,汽车追尾在交通事故中占到了 30% -40%,而追尾事故所造成的财产损失和人员伤亡更是占到了总损失的60%。驾驶员所面临的主要危险是路面前方的车辆。根据美国的一项研究结果显示,只要给驾驶者增加O. 555秒的反应时间,就能够减少60%的交叉路口汽车碰撞事故和30%的汽车追尾事故。另一项研究表明,仅提 前I秒就可以防止90%的汽车追尾事故和60%的汽车正面对撞事故。因此,作为智能车辆系统的关键技术之一,前方车辆检测以及在其基础上发展起来的车距预警系统已经成为相关科研机构以及汽车生产公司研发的焦点。目前,智能车辆辅助驾驶系统中车辆检测的技术主要分为两类一类是基于雷达传感器的超声波检测、微波检测、红外线检测、激光检测等。这类传感器虽然能够较好的完成对实体目标的检测,但无法准确的判断目标的类别,而且普遍价格较高;另一类是基于视觉传感器的单目视觉检测、双目视觉检测等。相对于基于雷达传感器的检测系统,视觉传感系统具有信息获取量大、直观、通用性强等诸多优点,特别是近十多年以来,随着计算机硬件设备的处理速度、存储容量大大提高及价格相对低廉,基于机器视觉的智能车辆技术成为了一种主流趋势。相较于基于双目视觉的检测方法,基于单目视觉的检测方法具有成本低廉、对硬件设备安装以及系统参数的要求较低、通用性强、算法复杂度低、计算量小、运算速度快等优点,在车辆高速行驶的条件下,可以达到较高的实时性,为保证行车安全争取更多的宝贵时间。目前基于单目视觉的车辆检测方法主要有基于运动分析的方法、基于模型的方法和基于特征的方法。基于运动分析的方法通过分析图像序列中的相邻帧并计算光流场,利用被检车辆运动造成的光流场与摄像机运动造成的背景光流场的不一致确定被检车辆的位置。这种方法被证实并不适用于动态背景下的车辆检测。基于模型的方法则建立车辆的2维或3维模型,与待检测图像进行匹配从而达到车辆检测的目的。这种方法被证明是有效的,但是其不足的地方也很明显。首先,由于汽车车型的多样性,形状特征和长宽比信息变化范围很大,建立的车辆模型很难兼顾所有车型;其次,由于视角的原因,车辆的外形轮廓会发生畸变,车辆的一些特征被破坏,模型匹配算法的计算量往往很大,大大降低了检测方法的实时性,所以在实际应用中还有很多局限性。在基于特征的方法中,利用图像中前方车辆的一些显著特征来将车辆从背景中分割出来,常用的特征有阴影、边缘等
发明内容
本发明的目的在于针对上述技术或检测方法的不足,提供一种基于单目视觉、实时性好、检测准确率高、鲁棒性好的前方车辆检测方法。该方法能够检测出车辆前方对行车安全构成威胁的车辆。本发明采用的技术方案如下一种基于单目视觉的前方车辆检测方法,包括下列步骤步骤I :采集车辆前方路况原始图像I,截取作为当前帧的原始图像I中包括两侧边界的下部区域,得到子图像Ipart,并复制子图像Ipart得到图像Ipartl ;步骤2 :对子图像Ipart进行直方图均衡化;步骤3 :从经过直方图均衡化的子图像Ipart中获取车辆前方路面平均灰度阈值Tr ;步骤4 :采用OTSU法对经过直方图均衡化的子图像Ipart提取灰度阈值t,从而将整个灰度范围划分为两部分
和[t,255],然后在
的灰度范围内,再次使用OTSU法,得到灰度阈值To;步骤5:设H为图像竖直方向的分辨率,f(i,j)为第i行第j列的像素点的灰度值,!'比为第i行二值化阈值,计算Thi = α ΧΤο+β XTr,其中,α = i/H, β = (H_i)/H;步骤6 :对二值化结果进行评估,由评估结果判决最终用于提取目标的图像分割阈值,步骤如下7)将子图像Ipart划分为Ifar、Inear两个区域,Ifar区域位于Inear区域的上面,设Ifar区域的二值化评估上限值为EvaluFarUp、下限值为EvaluFarLow, Inear区域的二值化评估限值为EvaluNear 8)分别求出区域Ifar、Inear中满足f (i,j) < Thi的像素点,即分割为目标的像素点的个数NumFar和NumNear9)对于车辆前方路面平均灰度阈值Tr和灰度阈值To,定义计算各自的预备阈值的方法如下③如果上一帧的阈值小于当前帧阈值,则采用上一帧阈值作为预备阈值;④如果上一帧阈值大于或等于当前帧阈值,则减小当前帧分割阈值,作为预备阈值;10)如果NumFar > EvaluFarUp,则利用车辆前方路面平均灰度阈值Tr和灰度阈值To的预备阈值替代相应的当前帧阈值,并重新计算Thi ;11)如果 NumFar < EvaluFarUp 并且 NumNear > EvaluNear,则计算车辆前方路面平均灰度阈值Tr和灰度阈值To的预备阈值,利用各自预备阈值重新计算Thi ;12)如果 NumFar < EvaluFarLow 并且 NumNear < EvaluNear,则对路面平均灰度阈值Tr做一定程度的调整,扩大分割范围。步骤7 :根据步骤6的判决结果对经过直方图均衡化的图像进行二值化,实现目标分割,得到二值图像Ibinary ;如果NumFar < EvaluFarUp 或者 NumFar < EvaluFarLow,则对区域 Ifar 中,目标点之间小于hXw的背景区域予以填充,实现目标的增强处理,h代表垂直方向像素点个数,w代表水平方向像素点个数;步骤8 :在图像Ipartl上,设定模值检测阈值G,以给定步长St移动窗口(St X St),计算窗口中的图像的灰度梯度向量模,并将灰度梯度模值大于或等于G的窗口中的像素点的灰度值全部置为255,将灰度梯度模值小于G的窗口中的像素点的灰度值全部置为O ;步骤9 :将二值图像Ibinary与经过步骤8处理后的图像Ipartl做与运算,得到二值图像 Icalibration ;步骤10 :对二值图像Icalibration,对应每一行像素各设定一个滤波范围Rt =[Wlow, WHigh],逐行对满足滤波条件的目标像素予以保留,对于不满足滤波条件的目标像素予以滤除;步骤11 :获取代表同一车辆车底阴影位置的最底部线条的关键位置线条,对其进行线条融合,继而再提取图像的目标信息,作为当前帧的目标结果;
步骤12 :将当前帧的目标结果与上一帧目标结果及跟踪目标结果的信息进行匹配,根据匹配结果对当前帧的目标结果进行分类判决,方法如下I)当前帧的目标结果与上一帧目标结果及跟踪目标结果均匹配失败,则判决为伪目标;2)当前帧的目标结果与上一帧目标结果匹配成功,但与跟踪目标结果匹配失败,则判决为新目标;3)当前帧的目标结果与上一帧目标结果匹配失败,但与跟踪目标结果匹配成功,或者,当前帧的目标结果与二者均匹配成功,则判决为跟踪目标;4)对于在较长一段时间稳定跟踪的目标,如果当前帧没有检测到,则将该目标上一帧的检测结果判决为跟踪目标;步骤13 :根据分类判决结果,确定当前帧前方车辆的最终检测结果。作为优选实施方式,步骤3的方法如下在子图像Ipart中截取一小块矩形区域Iroad,矩形区域Iroad的垂直中线与子图像Ipart的垂直中线重合,并且矩形区域Iroad的底部边界线与Ipart的底部边界重合,提取Iroad的平均灰度值,将其作为车辆前方路面平均灰度阈值Tr。步骤11中获取代表同一车辆车底阴影位置的最底部线条的关键位置线条,对其进行线条融合的方法可以如下由下向上逐列扫描,当遇到目标像素点P (i,j)时,继续由点p(i_l,j)向上扫描,若在检测到下一个目标像素点P(i-d,j)时,两目标间的距离大于3(1,则点?(1,j)和点P(i_d,j)均作为位置线条保留,当前列其他点像素值均置为0,从而获取关键位置线条,SP代表同一车辆车底阴影位置的最底部的线条;再由右向左逐行扫描,当遍历到位置线条的左端点P (i,j),并且位置线条满足一定长度SLjPAp(i,j)到点p(i,j- δ L)的像素值均为255时,继续向左遍历,如果点p(i-l,j- δ L-c)或点p(i+l,j- δ L-c)的像素值为255,则将点p (i,j- δ L-c)的像素值置为255,然后将点p(i_l, j- δ L-c)和点p(i+l, j- δ L-c)的像素值置为0,对该条位置线条的融合处理,直至点P (i,j-SL-c)、p(i-l,j-SL-c)、p(i+l,j- δ L-c)的像素值均为0为止,c = (1,2,3,...),由此将同一个目标位于不同像素行的位置线条融合为一行。本发明具有如下的技术效果I.实时性好,平均9毫秒处理I帧。本发明只利用单目视觉,灰度图像信息而不利用多目视觉、彩色信息,采用基于车辆底部阴影和灰度梯度特征相结合的有效检测方法,目标的验证也只是利用目标车辆在视频序列中连续出现的位置特征,而没有采用常用的算法复杂、计算量大的基于模型的方法,很好的保证了算法的实时性。2.可靠性高,车辆检测平均准确率可达99%以上。本发明利用路面灰度特征和OTSU法提取的阈值,结合二值化结果评估,在不同的天气、光线条件下,具有较好的通用性,可以更加精确地分割出目标车辆。根据空间视觉特点滤除与车辆特征不相符的噪声后,本发明利用目标车辆在视频序列中连续出现的位置特征进一步去除剩余噪声对车辆检测的影响,并且能够有效的解决漏检问题,从而提高前方车辆检测系统的鲁棒性。


图I:本发明的总流程图;图2 :采集实时车辆前方路况视频的工业相机安装实例结构示意图;(a)为俯视图,(b)为正视图。图3 :实时采集一帧车辆前方路况的灰度图像;图4 :子图像Ipart直方图均衡化后的灰度图像;图5 :子图像Ipart的二值化果图Ibinary ;图6 :子图像Iparl经过灰度梯度模窗口判决处理后得到的图像;图7 :图6与图5进行与运算的结果图Icalibration ;图8 :图像7经过噪声滤波后的结果图像;图9 :由图像8得到的位置线条结果图像;图10 :由图像9得到的位置线条融合结果图像;图11 :对图像10再次做噪声滤波处理后的结果图像;图12 :区域D在子图像Ipart上的示意图;图13 :图9中的目标经过区域D筛选后的结果;图14 :当前帧目标检测结果输出示意图;图15 :目标跟踪调试图;图16 :目标跟踪调试图。
具体实施例方式本发明基于单目视觉的前方车辆检测方法总流程图如图I所示,首先对车辆前方路况的灰度图像进行预处理,从中分割出车辆底部阴影,然后通过车辆底部阴影的位置和几何特征滤除伪车辆,最后通过目标跟踪判决滤除不稳定目标,得到最终车辆检测结果。下面结合附图,对本发明的实施过程做进一步详述。I.图像采集及预处理(I)原始图像采集使用CMOS黑白工业相机实时采集灰度图像。设置工业相机参数使拍摄的视频的帧率达到25frames/s,采集到的灰度图像分辨率为640X480。参照图2,把工业相机安装在汽车内部前挡风玻璃后,位于中控台正中央使dl = d2,朝向正前方使角α = O度,水平高度h约I. 2m,俯角β约15度。图3为采集到的一帧原始图像。(2)图像预处理
由图3可知采集到的原始图像分辨率较高且包含车辆信息的像素点全部集中在图像的下部,直接对整幅做处理会增加计算量,影响实时性,并且图像的灰度范围较小,不容易对图像进行处理。针对以上问题,对原始图像做以下处理①截取原始图像I中包含车辆底部信息的区域,即截取原始图像I中,包含其两侧边界的下部1/3区域得到子图像Ipart,复制子图像Ipart得到图像Ipartl ;②用直方图均衡化的方法把子图像Ipart的灰度值拉伸到256个灰度范围,结果如图4所示。2.图像分割将预处理后的图像分割为背景和目标(车辆底部阴影)。由于车辆底部阴影处的 像素值要小于周围像素点的像素值,因此可通过一个适当的阈值将车辆底部阴影从背景中分离出来。低于阈值的像素确定为车辆底部阴影,高于阈值的像素确定为背景。本专利采用以下方法获得阈值对经过直方图均衡化的图像进行分割。(I)分割阈值的获取首先,在子图像Ipart中截取的一小块矩形区域Iroad中,提取路面的平均灰度值。其中,矩形区域Iroad的垂直中线与子图像Ipart的垂直中线重合,并且矩形区域Iroad的底部边界线与Ipart的底部边界重合。结合本专利中工业相机的固定方法,根据采集到的大量图像所得到的实验结论证明,车前的一定范围区域内,即区域Iroad中一般不存在车辆、行人等障碍物,因此,只需去除灰度值较高的车道线的影响,就可以从该区域中提取出路面的灰度。计算路面的平均灰度值的步骤如下①计算得到Iroad内所有点的平均灰度值Ta ;②将Iroad内所有点分为两类[O, Ta]和[Ta, 255];③计算在
范围内的点的平均灰度值,作为路面灰度平均灰度值Tr。然后,对子图像Ipart采用改进的OTSU法提取灰度阈值,即对经过灰度直方图均衡化的子图像Ipart采用传统的大津法(OTSU)提取临时灰度阈值t,从而将整个灰度范围划分为两部分
和[t,255],然后在[t,255]的灰度范围内,再次使用大津法,得到灰度阈值To ;具体方法如下设灰度图像的像素点数为N,有L个灰度级,灰度级为i的像素点数为Iii,那么 ,直方图表不为概率密度分布。
/=0
L-I乃=」■,Σ 1,PiSON 1=0记t为前景与背景的分割阈值,前景点数占图像比例为Oci,平均灰度为Utl;背景
点数占图像比例为O1,平均灰度为μι。用阈值t将灰度级划分为两类=Ctl= (0,l,...,t)
和C1 = (t+1,t+2,. . .,L-1)。C。和C1的出现概率及均值分别为
/ω0 =Y1P, = ω( )
/=0
256- ω^= Yi P1 = I-ω{ )
/=/+权利要求
1.ー种基于单目视觉的前方车辆检测方法,包括下列步骤 步骤I:采集车辆前方路况原始图像I,截取作为当前帧的原始图像I中包括两侧边界的下部区域,得到子图像Ipart,并复制子图像Ipart得到图像Ipartl ; 步骤2 :对子图像Ipart进行直方图均衡化; 步骤3 :从经过直方图均衡化的子图像Ipart中获取车辆前方路面平均灰度阈值Tr ; 步骤4 :采用OTSU法对经过直方图均衡化的子图像Ipart提取灰度阈值t,从而将整个灰度范围划分为两部分
和[t,255],然后在
的灰度范围内,再次使用OTSU法,得到灰度阈值To ; 步骤5 :设H为图像竖直方向的分辨率,f (i,j)为第i行第j列的像素点的灰度值,Thi为第 i 行ニ值化阈值,计算 Thi = α ΧΤο+β XTr,其中,a = i/H, β = (H_i)/H; 步骤6 :对ニ值化结果进行评估,由评估结果判决最終用于提取目标的图像分割阈值,步骤如下 1)将子图像Ipart划分为Ifar、Inear两个区域,Ifar区域位于Inear区域的上面,设Ifar区域的ニ值化评估上限值为EvaluFarUp、下限值为EvaluFarLow, Inear区域的ニ值化评估限值为EvaluNear ; 2)分别求出区域Ifar、Inear中满足f(i, j) < Thi的像素点,即分割为目标的像素点的个数 NumFar 和 NumNear ; 3)对于车辆前方路面平均灰度阈值Tr和灰度阈值To,定义计算各自的预备阈值的方法如下 ①如果上一帧的阈值小于当前帧阈值,则采用上一帧阈值作为预备阈值; ②如果上一帧阈值大于或等于当前帧阈值,则减小当前帧分割阈值,作为预备阈值; 4)如果NumFar> EvaluFarUp,则利用车辆前方路面平均灰度阈值Tr和灰度阈值To的预备阈值替代相应的当前帧阈值,并重新计算Thi ; 5)如果NumFar< EvaluFarUp并且NumNear > EvaluNear,则计算车辆前方路面平均灰度阈值Tr和灰度阈值To的预备阈值,利用各自预备阈值重新计算Thi ; 6)如果NumFar< EvaluFarLow并且NumNear < EvaluNear,则对路面平均灰度阈值Tr做一定程度的调整,扩大分割范围; 步骤7 :根据步骤6的判决结果对经过直方图均衡化的图像进行ニ值化,实现目标分害1],得到ニ值图像Ibinary ; 如果 NumFar < EvaluFarUp 或者 NumFar < EvaluFarLow,则对区域 Ifar 中,目标点之间小于hXw的背景区域予以填充,实现目标的增强处理,h代表垂直方向像素点个数,w代表水平方向像素点个数; 步骤8 :在图像Ipartl上,设定检测阈值G,以给定步长St移动窗ロ(StXSt),计算窗口中的图像的灰度梯度向量模,并将灰度梯度模值大于或等于G的窗口中的像素点的灰度值全部置为255,将灰度梯度模值小于G的窗口中的像素点的灰度值全部置为O ; 步骤9 :将ニ值图像Ibinary与经过步骤8处理后的图像Ipartl做与运算,得到ニ值图像 Icalibration 步骤10 :对ニ值图像Icalibration,对应姆一行像素各设定ー个滤波范围Ri = [fflow,WHigh],逐行对满足滤波条件的目标像素予以保留,对于不满足滤波条件的目标像素予以滤除; 步骤11:获取代表同一车辆车底阴影位置的最底部线条的关键位置线条,对其进行线条融合,继而再提取图像的目标信息,作为当前帧的目标結果; 步骤12 :将当前帧的目标结果与上一帧目标结果及跟踪目标结果的信息进行匹配,根据匹配结果对当前帧的目标结果进行分类判决 1)当前帧的目标结果与上一帧目标结果及跟踪目标结果均匹配失败,则判决为伪目标; 2)当前帧的目标结果与上一帧目标结果匹配成功,但与跟踪目标结果匹配失败,则判决为新目标; 3)当前帧的目标结果与上一帧目标结果匹配失败,但与跟踪目标结果匹配成功,或者,当前帧的目标结果与二者均匹配成功,则判决为跟踪目标; 4)对于在较长一段时间稳定跟踪的目标,如果当前帧没有检测到,则将该目标上ー帧的检测结果判决为跟踪目标; 步骤13 :根据分类判决结果,确定当前帧前方车辆的最終检测結果。
2.根据权利要求I所述的前方车辆检测方法,其特征在于步骤⑶的方法如下在子图像Ipart中截取ー小块矩形区域Iroad,矩形区域Iroad的垂直中线与子图像Ipart的垂直中线重合,并且矩形区域Iroad的底部边界线与Ipart的底部边界重合,提取Iroad的平均灰度值,将其作为车辆前方路面平均灰度阈值Tr。
3.根据权利要求I所述的前方车辆检测方法,其特征在干步骤(11)中获取代表同一车辆车底阴影位置的最底部线条的关键位置线条,对其进行线条融合的方法如下 由下向上逐列扫描,当遇到目标像素点p(i,j)时,继续由点p(i_l,j)向上扫描,若在检测到下一个目标像素点P(i-d,j)吋,两目标间的距离大于δ(1,则点p(i,j)和点p(i-d,j)均作为位置线条保留,当前列其他点像素值均置为0,从而获取关键位置线条,即代表同一车辆车底阴影位置的最底部的线条; 再由右向左逐行扫描,当遍历到位置线条的左端点P (i,j),并且位置线条满足一定长度SL,_gp(i,j)到点p(i,j-SL)的像素值均为255时,继续向左遍历,如果点P (i-1,j- δ L-c)或点p (i+1,j- δ L-c)的像素值为255,则将点p (i,j- δ L-c)的像素值置为255,然后将点P(i_l,j- δ L-c)和点p(i+l, j- δ L-c)的像素值置为0,对该条位置线条的融合处理,直至点 P (i, j- δ L-c)、p(i_l, j- δ L_c)、p(i+l, j- δ L_c)的像素值均为 O 为止,c =(1,2,3,...),由此将同一个目标位于不同像素行的位置线条融合为一行。
全文摘要
本发明属于智能交通技术领域,涉及一种基于单目视觉的前方车辆检测方法,包括采集车辆前方路况原始图像,截取子图像,对其进行直方图均衡化,提取车辆前方路面平均灰度阈值;采用改进的OTSU法得到灰度阈值;计算二值化阈值;对二值化结果进行评估,根据评估结果进行目标分割和增强;滤波处理;获取代表同一车辆车底阴影位置的最底部线条的关键位置线条,对其进行线条融合,继而再提取图像的目标信息,作为当前帧的目标结果;将当前帧的目标结果与上一帧目标结果及跟踪目标结果的信息进行匹配,根据匹配结果对当前帧的目标结果进行分类判决,并确定当前帧前方车辆的最终检测结果。本发明具有实时性好、检测准确率高、鲁棒性好的特点。
文档编号G06T7/20GK102682455SQ201210143389
公开日2012年9月19日 申请日期2012年5月10日 优先权日2012年5月10日
发明者吴骏, 张芳, 耿磊, 肖志涛, 谭琦 申请人:天津工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1