“多段式”近光光型拐点检测算法研究
2024-11-11吴杰沈琪琪
摘" 要:汽车近光拐点的检测对于前照灯的配光检测十分重要,为了准确地检测近光拐点的位置,该文提出一种基于点到折线组距离和的汽车近光光型拐点检测算法,尤其适合用于“多段式”近光光型的拐点检测。首先,需要对近光光型图进行预处理,包括平滑滤波、目标区域裁剪和二值化,再利用轮廓跟踪法,从左侧起始点对预处理图像进行边缘点提取得到边缘点和链码,然后将边缘点经过两次筛选得到候选拐点及其组合成的折线组,最后计算所有边缘点到每个折线组的距离和,其最小值所对应的候选拐点即为近光光型的拐点。实验验证,该方法可以很好地检测出“多段式”近光光型拐点以及截止线,且具有旋转不变性,具有很高的实用价值。
关键词:近光拐点;配光检测;点到折线组;距离和;多段式
中图分类号:U463.65" " " 文献标志码:A" " " " " 文章编号:2095-2945(2024)32-0031-05
Abstract: The detection of the inflection point of the low beam is very important for the light distribution detection of the headlight. In order to accurately detect the position of the low beam inflection point, this paper proposes an inflection point detection algorithm for the low beam light pattern based on the sum of the distance from the point to the broken line group, which is especially suitable for the inflection point detection of the \"multi-segment\" low beam light pattern. First, it is necessary to pre-process the low-beam light pattern, including smoothing filtering, target area clipping and binarization. Then use the contour tracking method to extract edge points from the pre-processed image from the starting point on the left to obtain edge points and chain codes. Then, the edge points are filtered twice to obtain candidate inflection points and their combined broken line groups. Finally, the sum of the distances from all edge points to each broken line group is calculated. The candidate inflection point corresponding to the minimum value is the inflection point of the low-beam light pattern. Experimental results show that the method in this paper can well detect the inflection point and cut-off line of the \"multi-segment\" low-beam light pattern, and is rotationally invariant and has high practical value.
Keywords: low beam inflection point; light distribution detection; point-to-broken line group; distance sum; multi-segment type
前照灯作为汽车上用来照明前方道路最重要的灯具,其光学性能会直接影响驾驶员的可视视野范围和安全驾驶体验,因而汽车厂家对前照灯进行下线配光性能检测及照准调节是十分必要的[1-3]。而无论是对于前照灯配光性能检测还是照准调节,都不可避免地需要先准确测得近光拐点位置[4]。
目前,前照灯近光拐点的识别方法主要是直线拟合求交点法。如崔明等[5]先对近光光型预处理,再进行边缘点检测,之后通过对提取出的边缘点,从左向右对相邻两列像素的行坐标进行比较得到水平和倾斜边缘的分界点,然后分别对左右两侧的边缘点进行拟合求得2条直线,最后计算2条直线的交点即定为近光的拐点;李策[6]提出的拐点检测方法也基本类似,不同之处是边缘检测算法,其基于灰度中心的方法确定有效的截止线边缘,然后再计算左右2条直线的交点;胥钧[7]对水平和倾斜边缘的提取方法作了改进,其基于近光光型热点的位置进行提取近光的水平截止线和倾斜截止线,进而拟合直线和计算2条直线的交点,这种方法可以自适应进行区域定位,提高拐点检测的准确性和稳定性。以上这些拐点检测算法都是针对传统的“两段式”近光光型进行拐点检测,其在对边缘点进行直线拟合前都需要先确定直线之间的分界点,这对于目前常见的“多段式”近光光型是很困难的。迄今,对于“多段式”近光光型的拐点检测的相关研究较少,没有一个比较有效的解决方案。
鉴于以上问题,本文提出了一种基于点到折线组距离和的近光拐点检测算法,期望可以为“多段式”近光光型拐点检测提供一种准确、快速的检测方法。
1" 近光光型及拐点检测方法
1.1" 近光光型介绍
传统的近光光型的截止线为“两段式”,即一段为水平部分,另一段为与水平方向夹角约15°的倾斜部分[4]。一般而言,在靠右驾驶的国家,其汽车近光左侧水平,右侧倾斜,形成“左低右高”的光型,如图1所示,而靠左驾驶的国家,则相反,光型为“左高右低”。呈现这种型式截止线的近光灯具一般采样全反射式设计,其截止线锐度较低,且设计复杂度较高[8-9],而随着光源技术和灯具设计制造技术的不断革新,越来越多的近光光型被设计成“多段式”,如图2所示,其为目前最常用的一种“多段式”型式,其中拐点C为近光照准基准点,A、B、D为近光截止线普通拐点。本文中算法针对的“多段式”近光光型主要为图2中所示的类型。
1.2" 拐点检测方法
1.2.1" 轮廓跟踪法
为了提取近光光型截止线的边缘点,需要对近光光型二值图进行轮廓跟踪,具体如下:首先对目标图像的第一列的点从上往下逐点进行像素比对,当检测到像素值为1时,即停止,将该点定为起始点,然后从起始点开始,进行边缘点跟踪搜索,并按照正上方点→右上方点→右侧点→右下方点→正下方点的顺序逐点进行(所有方向均以当前搜索点为参考点),直到搜索到的点处于目标图像最后一列上,即停止搜索,所有得到点即为边缘点。
1.2.2" 八连通链码
为了更方便地通过边缘点筛选出候选拐点,本文利用一种新的八连通链码对边缘点进行链码计算,如图3所示,定义处于中心点正上方向为5,正下方向为2,向左方向为7,向右方向为0,左上方向为4,左下方向为3,右上方向为6,右下方向为1。该链码的特点是当相邻两链码之和为7时,则意味着边缘点又回到了同一行。为了更清晰地进行解释,在图4中示出部分边缘点,按照本文的链码规则,从左向右计算链码为0 611600,第三点和第五点前后的链码相加为7,而由图4可以看出,经过该两点后,边缘点又回到前一点相同的行高。
1.2.3" 拐点检测方法
利用1.2.1中的轮廓跟踪法可以提取出近光光型中截止线的边缘点,再通过计算边缘点的链码特征可以进行候选拐点的预筛选,而为了进一步提高算法的运行速度,需要对预筛选后的候选拐点再进行一次筛选得到新的候选拐点,再对候选拐点进行组合,按序连接,形成折线组,再计算点到折线组距离和,其最小值所对应的拐点组合即为“多段式”近光光型的4个拐点,具体算法步骤如下。
S1:通过工业相机摄取近光光型图像,并对近光光型图进行预处理,预处理包括平滑滤波、目标区域提取和二值化处理,平滑滤波可以在一定程度上平滑提取得到的近光截止线,而目标区域提取可以提高处理速度,且避免光型左右侧边缘点的干扰[10];
S2:通过轮廓跟踪法对预处理后的目标图像进行边缘点提取,得到边缘点点集J1,同时利用本文1.2.2中所述的链码规则对边缘点求取链码;
S3:根据链码,对边缘点进行逐点预筛选,找到候选拐点,预筛选的具体规则为若边缘点中第i点的链码与第i+1点的链码不同,且第i+1点的链码和第i+2点的链码之和不等于7,则判定为候选拐点,形成点集J2。i的范围为1≤i≤L-2,其中L是J1的长度;
S4:对预筛选的候选拐点点集J2进行再次筛选,得到新的候选拐点点集J3,即对预筛选的候选拐点进一步判断是否满足
式中:ΔV1为点集J2中第j+1点与第j点的纵坐标之差减去其横坐标之差所得到的值,ΔV2为点集J2中第j点与第j-1点的纵坐标之差减去其横坐标之差所得到的值,即
式中:(xj,yj)为点集J2中第j点坐标,(xj-1,yj-1)为第j-1点坐标,(xj+1,yj+1)为第j+1点坐标。j的范围为2≤j≤L1,L1是点集J2的长度;
S5:提取边缘点集J1的横坐标最小的一点P0和横坐标最大的一点P5,同时根据P0和P5的坐标判断P0和P5是否处于拐点点集J3中,如果存在,则把其剔除出拐点点集J3,形成新的点集J4,并将点集J4中的点位按照点位横坐标从小到大进行排列,形成新的点列G1;
S6:依次从点列G1中按顺序选取4个点坐标的组合{P1,P2,P3,P4},将四点组合与P0、P5形成六点组合{P0,P1,P2,P3,P4,P5},根据此六点组合,每相邻两点连线线段,可得到5个线段P0—P1、P1—P2、P2—P3、P3—P4、P4—P5,并根据P0,P1,P2,P3,P4,P5的坐标求得每个线段的表达式;
S7:依次选取点集J1中的点,根据所选点的横坐标和S6选择的六点的横坐标,判断其点位区间,当所选点的横坐标大于P0的横坐标,小于P1的横坐标,则所选点处于P0—P1线段内,当所选点的横坐标大于P1的横坐标,小于P2的横坐标,则所选点处于P1—P2线段内,当所选点的横坐标大于P2的横坐标,小于P3的横坐标,则所选点处于P2—P3线段内,当所选点的横坐标大于P3的横坐标,小于P4的横坐标,则所选点处于P3—P4线段内,当所选点的横坐标大于P4的横坐标,小于P5的横坐标,则所选点处于P4—P5线段内,求解选取点与其对应线段的距离,再选取下一点进行操作,求解得到下一点的距离,直到遍历点集J1中所有的点,将所有的求解得到的距离进行求和,并将其值放在集合V1;
S8:从点列G1中按顺序选取新的4个点坐标的组合,确保与之前提取出的四点组合都不全同,进行S6—S8的操作,直到遍历所有的四点组合;
S9:求解V1中的最小值,其最小值对应的四点组合即确定为近光截止线的拐点,其中第三点为近光光型的基准点。
值得一提的是,在S6中,可根据{P1,P2,P3,P4}4个选取点相互之间的横坐标差值预判断此四点是否可能为近光光型拐点组合,可以进一步提高此算法的运行速度。
2" 实验验证
为了对本文提出的近光光型的拐点检测算法进行验证,这里借助在线配光检测设备和工业相机来拍摄实际近光模组的近光光型,工业相机的分辨率为1 600×1 200,摄取的图像如图5所示。
利用本文算法对图像5进行处理,其中平滑滤波算法选择滤波窗口为5×5的高斯滤波,二值化阈值选择50,需要注意的是,二值化阈值的选取与相机的曝光参数有关,目标区域为矩形区域,左上角坐标为(100,200),右下角坐标为(1 200,1 000),算法检测的过程图与结果图如图6—图10所示。
图6为原图经过预处理后的图像,图7为对预处理图像经过二值化后的图像,图8为利用本文所述的轮廓跟踪法进行轮廓跟踪所提取的轮廓线图,图9为“多段式”近光拐点的拐点检测结果图,4个“十”字型所示位置即为检测拐点所在位置,图10为利用检测拐点相互连接形成的近光截止线结果图。由图9和图10的结果图可以看出本文算法可以准确检测出“多段式”近光光型的拐点及截止线。
为了进一步验证本文提出的拐点检测算法对于旋转变换的鲁棒性,将图5的结果图进行45°和-45°的旋转并进行拐点检测,其结果示如图11和图12所示。由图11和图12中可见,对于大角度旋转后的近光光型图,本文算法仍能准确地检测出拐点位置,此结果表明本文算法具有旋转不变性。在旋转不变性的验证中,仅改变了算法检测的目标区域,其余参数均与之前一致。
对于“两段式”截止线的近光光型,本文算法稍加修改也能进行检测,且无需确定直线之间的分界点。具体来说,只需将S6中取四点组合变成依次取单点,对应地,S7中多条线段改为2条线段,其余操作均不变即可进行检测,这里选取一个“两段式”截止线的近光光型图进行检测,检测结果如图13所示。由图13中可以看出,本文算法修改后也很好地检测到了近光光型的拐点及截止线。
3" 结论
本文提出了一种基于点到折线组距离和的近光拐点检测算法,首先对近光光型图进行预处理,包括平滑滤波、目标区域裁剪和二值化,再利用轮廓跟踪法,从左侧或右侧的起始点对预处理图像进行边缘点提取得到边缘点和链码,然后通过边缘点自身特点及其链码进行候选拐点筛选,再对得到的候选拐点进行组合,按序连接,形成折线组,最后计算所有边缘点到每个折线组的距离和,其最小值所对应的候选拐点即确定为近光光型的拐点,这种方法不需要确定各线段或直线之间的分界点,可以很方便准确地检测出近光拐点及其截止线,尤其适用于“多段式”近光光型的拐点检测,此外,该方法略微修改后也可以很好地检测出“两段式”近光光型的拐点,其可以很好地应用于前照灯在线检测设备设计领域,且目前已经经过多个前照灯检测项目的实际效果验证。
参考文献:
[1] 修亚男,穆平安,戴曙光,等.车灯模组的照度检测研究[J].计量学报,2020,41(10):1212-1217.
[2] 谢祖通,翁晓伟,陈爱华.基于成像型亮度计的车灯配光性能检测系统研究[J].照明工程学报,2017,28(2):61-64.
[3] 倪高平.汽车前照灯光学检测系统[D].苏州:苏州大学,2015.
[4] 李祥兵.汽车前照灯前束灯光标定方法及故障应对策略[J].汽车电器,2022(11):88-91.
[5] 崔明,顾启民.基于机器视觉的前照灯拐点检测与研究[J].制造业自动化,2015,37(10):11-14.
[6] 李策.基于计算机视觉的汽车车灯检测技术研究[D].北京:北京化工大学,2021.
[7] 胥钧.基于机器视觉的汽车前照灯灯光检测仪开发研究[D].廊坊:华北科技学院,2021.
[8] 周绍栋,聂畅,张辉,等.汽车前照灯发展综述与智能化趋势展望[J].机械工程学报,2023,59(22):380-395.
[9] 毛玉倩.投射式汽车前照近光灯的设计和优化[D].杭州:浙江大学,2016.
[10] 沈琪琪.一种基于凸包的汽车灯光近光光型特征点检测方法和系统统:CN117876468A[P].2024-04-12.