胥 钧, 曾德斌, 林大超, 王文鑫
(1.华北科技学院, 河北 三河 065201; 2.弥荣(北京)交通科技有限公司,北京 100086)
前照灯是汽车灯光系统的组成部分,是夜间或光照不足环境条件下车辆安全行驶的光源保障装置[1,2]。出厂之前,汽车前照灯都需要经过严格的技术检验[3,4]。即使如此,在使用过程中,灯泡的老化、外界环境污染以及行驶中的颠簸与振动等不可避免的情况,都可能引起灯光照射方向的变化,从而构成正常行车的安全隐患[5]。因此,有必要就车辆前照灯的实际情况开展定期检测[4],以便及时调整和维护,保障汽车的安全行驶。
汽车前照近光灯照射方向检测的主要检测对象是明暗截止线及其拐点[6-8]。明暗截止线的快速、准确定位为近光灯检测算法提供了良好的基础条件。目前,已经提出的近光灯算法大多是先对完整的明暗截止线进行提取,再进行明暗截止线拐点检测。算法的侧重点大都倾向于使用不同的算法对明暗截止线进行提取。何扬名[9]提出根据图像每列的最大梯度确定明暗截止线的边缘点,使用Hough直线检测确定明暗截止线,再通过明暗截止线的几何位置关系提取拐点位置。从结果来看,这种方法需要对拐点的合理性进行判断,暴露出拐点检测结果精度不高的问题。使用形态学处理方法和背景匹配方法可以确定明暗截止线的边缘点,将边缘点划分为水平明暗截止线边缘点集和倾斜明暗截止线边缘点集,利用直线拟合得到明暗截止线的拟合直线,通过拟合直线相交得到明暗截止线拐点[10]。此方法中对于分界点的判断缺少可靠依据,同样存在着检测结果准确度低的问题。将明暗截止线视为图像边缘特征,使用边缘检测算子对近光灯图像进行边缘检测,获取明暗截止线边缘特征,是当前被采纳较多的解决方案,如基于亚矩阵的Canny边缘检测[11,12]、Sobel边缘检测[13]、LoG边缘检测[14]等。经过对比研究发现,LoG算子和Canny算子在传统的边缘检测算法中优势更为明显,LoG算子对明暗截止线的定位更为准确,Canny算子提取的边缘细节更为丰富[15,16]。文献[17]中通过实验探讨了明暗截止线的清晰度及拐点定位中的一些问题,研究表明,由于实际物理设备的影响,近光明暗截止线及拐点具有一定的模糊性,很难直接准确求取明暗截止线拐点位置。对于具有模糊特性的近光明暗截止线,改进后的模糊增强算法在明暗截止线特征提取上有较为积极的作用。但是对于拐点检测结果仍然存在着准确度不高的问题,且算法结构比较复杂,推广性较差,不能很好地应用到实际生产中[18]。其实,明暗截止线拐点并非是一个物理概念上明确清晰的点,通常通过明暗截止线水平和倾斜部分相交的几何关系确定。然而,明暗截止线水平部分和倾斜部分的分界具有明显的模糊性,无法找到一个准确的位置将两者区分开,这将直接影响到计算拐点检测结果的准确性。迄今,这个问题还没有比较有效的解决方案。鉴于此,本文提出了一种自适应感兴趣区域定位算法,分别对明暗截止线的水平部分和倾斜部分进行区域定位,期望为现有近光灯检测算法提供更为适用的改进措施。
利用机器视觉技术对近光灯检测的原理是,借助相机采集近光灯投射在配光屏上的光型图像,结合图像处理技术,最终达到检测目的。光源在图像中所对应的点即为热点。图1为使用AVT G-032B工业相机采集到的矫正后标准近光灯光源图像,图2为其对应的伪彩图图像。透过伪彩图,能够更直观形象地反映出实际的光型分布情况。原图中最亮的区域即为热点所在的区域,对应到伪彩图中颜色最深的区域。经过观察,得出以下几点信息:第一,相对于热点位置,明暗截止线水平部分总位于其左上方,而斜明暗截止线总位于水平明暗截止线的上方,拐点位置大致位于热点的上方,但是,具体位置并不清楚。第二,离热点越远,明暗截止线越模糊,且呈现出弯曲趋势。第三,水平明暗截止线与热点之间的相对位置稳定,且位于热点区域的左上方。在离拐点较近范围内,总存在一段相对清晰的明暗截止线水平部分。第四,倾斜明暗截止线总位于水平明暗截止线的上方,且相互连通。通过分析发现,对明暗截止线水平部分和倾斜部分进行感兴趣区域定位,首先需要完成热点的准确定位,在此基础上,依次实现水平明暗截止线和斜明暗截止线区域定位。
图1 标准近光灯光源图像Fig.1 Photo of a dipped headlight by CCD camera
图2 近光灯照片的伪彩图Fig.2 Pesudo-color of the dipped headlight
热点的准确定位是图像中感兴趣区域定位的基础。当图像未达到过曝状态时,热点即对应到灰度图像中灰度值最大的点。当图像中存在过曝区域时,图像中最亮处以区域的形式存在,通过寻找最大灰度值的方法无法很好定位出热点位置。对于灰度值分布均匀的灯光图像,灰度重心法可按目标光强分布求出权重质心。求取对应质心的基本公式如下:
(1)
其中,x0和y0分别表示重心的横坐标和纵坐标,m和n表示目标图像的列数和行数,xi和yi分别表示点的横坐标和纵坐标,f(i,j)表示(i,j)点对应的灰度值。
以下为热点算法具体步骤:
1)对输入图像I(x,y)转为灰度图像并进行初始化,f(x,y) =I(x,y),其中x∈ [0,M-1],y∈ [0,N-1],M与N分别为图像的行数和列数。
2)寻找图像中的最大灰度值Graymax,并根据最大灰度值确定阈值,阈值确定方法如下:
(2)
3)对图像进行二值化。
(3)
4)寻找二值化图像中的所有轮廓Contours。
5)根据轮廓面积,寻找所有轮廓中的最大轮廓Contourmax。
6)绘制最大轮廓的最小矩,确定计算灰度重心的目标区域。
7)使用式(1)计算感兴趣区域内的灰度重心位置坐标。
在确定热点位置之后,根据热点、水平明暗截止线及斜明暗截止线直线三者之间的相对位置关系,首先对明暗截止线的水平部分进行感兴趣区域定位和边缘检测,然后根据得到的水平明暗截止线,对倾斜部分进行感兴趣区域定位。具体算法步骤如下:
1)将输入图像I(x,y)转为灰度图像并初始化,f(x,y)=I(x,y)。
2)利用热点算法计算热点坐标hotspot(x0,y0)。
3)计算水平明暗截止线感兴趣区域左上角顶点坐标及感兴趣区域的长度和宽度。
4)绘制水平明暗截止线ROI并计算ROI的平均灰度值,记为MeanGray。
5)使用LoG算子对水平明暗截止线进行边缘定位,通过Canny算子提取边缘点细节。
6)利用最小二乘法对边缘像素点进行直线拟合,得到水平明暗截止线直线方程:
y1=k1x+b1,x∈[0,M-1]
8)以point(xi,yi)为参照点,确定斜明暗截止线感兴趣区域。
在这套算法中,目标区域顶点坐标计算所用到的公式为:
(4)
其中,(x0,y0)为参照点坐标,width、height分别为采集到的图像宽度和高度,a、b为可调比例系数,通过对系数的调整可以对感兴趣区域顶点具体位置进行微调。
图3为添加自适应感兴趣区域定位后的近光灯测算法图。将输入的图像由RGB三通道转为单通道的灰度图像。根据现有的文献资料,选用去噪效果最优的高斯滤波函数对图像进行滤波[18]。利用Gamma变换进行图像对比度增强。感兴趣区域内明暗截止线检测部分,首先利用高斯-拉普拉斯算子(LaplacianofGaussian,LoG)对明暗截止线进行定位,再使用Canny算子提取边缘细节信息。使用最小二乘法对获取到的边缘点进行直线拟合,先后得到水平明暗截止线方程和斜明暗截止线直线方程,最后根据点斜式得到实际图像中的直线函数。通过水平明暗截止线和倾斜明暗截止线之间的几何位置关系,计算拐点坐标。
图3 改进后的近光灯检测算法图Fig.3 Improved low-beam detection algorithm diagram
本文使用一台标准近光灯光源作为验证器材,对检测算法的可靠性、鲁棒性和实用性进行验证。
图4为采集的同一台标准近光灯灯具在不同照度下的灯光图像。图中给出了使用本文热点定位算法对近光灯图像进行热点定位的检测结果。用矩形框框出了热点区域,十字标识出了检测出的热点位置,从视觉上看,检测得到的热点位置准确。
图4 不同照度下热点检测结果Fig.4 Detection results of hotspot in different conditions
图5、图6和图7分别给出了低照度、良好照度、过曝条件下近光灯检测结果。其中,图(a)为采集到的近光灯原图。图(b)和图(c)分别为利用自适应感兴趣定位算法得到的水平明暗截止线感兴趣区域和倾斜明暗截止线感兴趣区域,截取的感兴趣区域图像中只存在水平明暗截止线和倾斜明暗截止线。图(d)是最后的检测结果,图中用直线标识出了检测得到的明暗截止线,以十字标识出检测得到的拐点位置。从检测结果图看,得到的拟合直线与明暗截止线完全重合,检测结果准确。
图5 低照度条件近光灯检测结果Fig.5 Detection results in low illumination condition
图6 良好照度条件下近光灯检测结果Fig.6 Detection results in positive illumination condition
图7 过曝条件下近光灯检测结果Fig.7 Detection results in overexposure condition
目前,对于如何判别近光明暗截止线及拐点检测结果的准确性,还未有明确的鉴定方法。实际汽车生产中,大多数厂商需要通过人工检测对前照灯检测结果进行核验。本文提出将根据拐点测量得到的偏转角度与灯具实际偏转角度进行对照,对算法的稳定性和准确性进行评价。原因如下:第一,根据世界坐标系、相机坐标系、图像坐标系及像素坐标系之间的关系,可求出图像中任意一像素点对应的世界坐标,由此计算出参照点偏转前后位移,再根据反三角函数求出偏转角度。第二,偏转角准确测量的基础依赖于检测点的准确、稳定定位。当参照点检测结果不稳定或不准确时,由该点计算出的偏转角则会存在较大的波动,与实际偏转角度之间存在较大的误差。
表1、表2分别给出了水平方向和垂直方向灯具实际偏转角度和计算偏转角度的数值,表中以0.5°为增量。实际角度是标准近光灯灯具的偏转角,计算偏转角度是将明暗截止线拐点作为检测点,通过偏转位移和反三角函数计算得到的偏转角度。测量数据表明,灯具实际偏转角度值与测量偏转角度值之间的误差在0.025°以内,且整个测量过程中角度计算稳定,没有较大波动,表明测得的拐点准确、稳定,算法具有较好的鲁棒性、实用性和准确性。
表1 水平偏转角测量,向左为正,向右为负
表2 垂直方向偏转角测量,向上为正,向下为负
针对近光明暗截止线拐点检测问题,本文提出使用一种基于热点的自适应目标区域定位算法,对明暗截止线的水平部分和倾斜部分分别进行检测,通过检测得到的水平明暗截止线直线方程和倾斜明暗截止线直线方程之间的几何关系,计算得到拐点位置。
从视觉角度,可以直观地看出本文检测出的明暗截止线和实际的明暗截止线完全重合,表明检测结果的准确性。通过水平明暗截止线与倾斜明暗截止线之间的几何关系计算得到的拐点比原有的明暗截止线拐点检测算法的检测结果更为准确。
拐点位置偏转角的测试结果间接证明本文算法求得的拐点稳定、准确,具有较高的实用价值。