本发明属于汽车电子控制技术领域,涉及一种自适应远光灯控制系统及图像处理算法,具体涉及一种车辆在夜间行驶期间通过主动检测和跟踪前方车辆实现远光灯自适应控制的系统和方法。
背景技术:
根据近年来的交通事故统计数据,车辆在夜间行驶的事故率大于白天,不当使用远光灯是导致夜间交通事故的主要原因之一。由前视摄像头模块、大灯控制器、光源模组驱动器、led光源模组等组成的自适应远光灯控制系统是针对这一安全问题的有效解决方案。该系统能够通过检测并跟踪前方车辆,主动调整车辆远光灯光型,能够在避免使用远光灯对其他道路使用者造成炫目的同时,保证本车驾驶员的夜间视距,提升车辆的夜间驾驶安全系数。
在自适应远光灯控制系统中,前视摄像头模块负责采集车辆前方图像信息,并将图像信息传输至大灯控制器;大灯控制器利用图像处理算法处理图像信息,分析获得前方车辆的位置与距离,以此为依据计算远光灯光型的控制信号;将控制信号传入光源模组驱动器,驱动led光源模组,实现远光灯的自适应控制。因此,快速、高效的图像处理算法和控制策略可以提升系统整体的性能。
相较于白天,夜间行车环境下光线变暗,可获取信息减少,车辆形状信息模糊,灯光信号成为夜间环境下主要的信息来源。现有技术中,为应对自适应远光灯控制系统复杂多样的应用环境,主要采用毫米波雷达、激光雷达等,这类传感器价格昂贵,造成整车成本增加;成本低廉的红外雷达、超声波雷达等,探测距离较近,夜间工作能力差,难以满足自适应远光系统的需求。而彩色摄像头作为一种成本较低、应用广泛、安装简便的设备,有着广泛的应用前景。
cn110084111a公开了一种应用于自适应远光灯的夜间车辆检测方法,采用网络聚类、腐蚀算法等图像处理技术判断大灯和尾灯,计算车辆位置,该方法只能对夜间前方车辆位置进行检测,不能在行进过程中对车辆进行跟踪。cn106845453a公开了一种基于图像的尾灯检测与识别方法,利用摄像头采集的前方车辆实时图像,采用颜色信息过滤提取尾灯信息,该方法用于车载辅助驾驶系统,其最终获取的车灯信息不能作为自适应远光灯的控制依据。cn109447093a公开了一种基于yuv编码图像的车尾灯检测方法,对获取的视频图像进行处理,提取红色区域,确定当前尾灯位置,该方法只检测了前方车辆尾灯信息,并没有对车辆位置与距离做出估计,不能作为自适应远光灯模块的控制依据。cn103453890a公开了一种基于尾灯检测的夜间车辆测距方法,其采用rgb编码图像r通道对图像中的红色区域进行提取,标记为尾灯区域,通过测量红色区域中心与道路平面的距离,估计前车距离,该方法采用的红色区域分割方法不能有效区分红色尾灯区域与其他红色干扰信号,测距方法以道路平面为基准,在起伏路面会出现误差。cn101727748a公开了一种基于车辆尾灯检测的车辆监控方法,该方法采用颜色信息与运动信息对尾灯进行检测,进而识别出前方单个车辆,无法估计前方车辆的距离,且无法对运动中多个车辆进行位置追踪。
技术实现要素:
本发明的目的在于提供一种快速、高效、实时的自适应远光灯控制系统及图像处理算法,对夜间不同行车场景下的前方多个车辆进行位置检测与跟踪,实现对远光灯的自适应控制,且系统能够在较复杂环境下的各类工作场景中持续工作,降低夜间行车过程中由于使用远光灯造成的安全隐患。
本发明的目的是通过以下技术方案实现的:
一种自适应远光灯控制系统,包括前视摄像头、大灯控制器、光源模组驱动器、led光源模组,其中:
所述前视摄像头用于在车辆行驶过程中采集前方其他车辆的彩色图像信息,并输出至大灯控制器;
所述大灯控制器用于对前视摄像头所采集的图像信息进行处理,计算前方车辆位置与距离信息,确定远光灯的控制策略,并输出控制信号至光源模组驱动器;
所述光源模组驱动器用于接收大灯控制器输出的控制信号,并依据控制信号驱动led光源模组,实现远光灯自适应控制。
一种利用上述控制系统对夜间前方车辆位置进行实时检测跟踪的图像处理算法,包括如下步骤:
步骤一、根据夜间环境下前视摄像头采集图像的特点对图像进行预处理,将rgb编码图片转换为hsv编码图片,结合汽车法规与实验测试得出的车辆大灯与尾灯红色光在hsv空间的阈值,利用颜色信息对图片进行二值化分割和连通域形状筛选,得出可能的车灯区域;
步骤二、根据尾灯左右对称的特点,对步骤一中筛选出的连通域进行匹配,符合对称性的区域将被标记;计算一对尾灯区域中心点之间的距离,以此距离和中心点坐标为标准,估计前方车辆的大致距离;
步骤三、根据对向来车光晕的特点,标记白色光晕位置信息、面积信息与截止线,以此为依据,做出对对向来车位置的估计;
步骤四、基于前视摄像头拍摄的视频片段,对连续两帧中出现的前方车辆进行匹配,标记两帧中出现的同一前方车辆,实现对前方车辆的跟踪;
步骤五、对标记好的车辆在每一帧中出现的位置进行分析,利用历史数据修正当前帧中检测到的车辆位置,减小检测误差,同时结合历史数据和实时测量的结果,对下一刻前方车辆出现的位置进行标记。
本发明中,大灯控制器内含图像处理算法和远光灯控制策略,其中,远光灯控制策略采用离线设计、在线查表的方式实现。离线设计时,首先将前方车辆所处位置及其距离本车的距离分别用x、y和z表示,然后依据led光源模组的排列形式和数量及其照射范围,对本车前方的远光灯照射区域进行划分,并分别为每个子区域设计led光源模组的控制方式,用每个led的亮度表示,0表示熄灭,100%表示最高亮度。依据上述设计,可生成远光灯控制策略的数据表。数据表的输入是前方车辆位置信息(xyz),输出是led光源模组中每个led灯的亮度(0~100%)。本发明所设计的远光灯控制策略数据表存储在大灯控制器的内存中。在线应用时,根据图像处理算法计算出的前方车辆位置信息,在数据表中查找对应的控制策略,输入光源模组驱动器,实现远光灯的自适应控制。
相比于现有技术,本发明有如下优点:
1、本发明基于低成本前视彩色摄像头采集的图像进行车辆位置检测,具有成本低、易于安装、通用性强、不依赖特定设备的优势。
2、本发明的图像处理算法直接面向自适应远光系统,考虑的场景更加全面,可以同时处理前方多个同向车辆、前方对向车和同向车同时存在等场景,而不是只面向前方单个同向车辆场景。
3、本发明的图像处理算法引入了车灯颜色信息、形状信息、对称性以及车辆自身的形状等特征作为检测依据,并参考汽车法规标准的相关规定,有效提高了前方车辆检测的准确率。
4、本发明的图像处理算法通过对前方车辆位置的实时跟踪,增强了系统的鲁棒性,减少了短暂的环境遮挡、车辆重合等带来的不利影响。
5、本发明的图像处理算法对车辆的位置进行了实时修正,降低了环境中类似灯光信号对检测结果的干扰,提高了检测精度,同时对下一时刻车辆的位置进行了预测,实现对前车位置及距离的实时估计。
6、本发明的远光灯控制策略采用离线设计、在线查表的方式,具有简洁、高效、实时性好的优点。
附图说明
图1为自适应远光灯控制系统的结构示意图;
图2为基于图像的前方车辆位置检测与车距估计算法的流程框图;
图3为基于连续视频片段的前方车辆位置实时跟踪与预测算法的流程框图;
图4为前方车辆跟踪匹配算法的说明图;
图5为前方车辆位置修正与预测算法的说明图;
图6为远光灯控制策略示意图。
具体实施方式
下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。
本发明提供了一种车辆自适应远光灯控制系统,如图1所示,所述控制系统由前视摄像头、大灯控制器、光源模组驱动器、led光源模组组成,其中:
所述前视摄像头采用低成本彩色摄像头作为系统的传感器模块,负责在车辆行驶过程中采集前方其他车辆的彩色图像信息,并输出至大灯控制器,为车辆位置检测与跟踪算法提供有效输入;
所述大灯控制器内含图像处理算法和远光灯控制策略,对前视摄像头所采集的图像信息进行处理,利用本发明中提出的图像处理算法计算分析前方车辆位置与距离,实现对前方车辆位置和距离的实时检测与跟踪,在此基础上,结合本发明所设计的远光灯控制策略,为光源模组驱动器输出控制信号;
所述光源模组驱动器由左光源模组驱动器和右光源模组驱动器组成,用于接收大灯控制器给出的控制信号,依据大灯控制器输出的控制信号驱动远光灯led光源模组,实现远光灯自适应控制;
所述led光源模组由左led光源模组和右led光源模组组成,左led光源模组和右led光源模组均由led阵列构成,能够实现各个led灯亮度的独立调节。
如图2所示,上述控制系统在实现前方车辆位置检测和车距估计时,所采用的基于图像的前方车辆位置检测与车距估计算法,其流程包括如下步骤:针对夜间场景的图像预处理、基于颜色与形状信息的同向与对向车辆灯光检测、基于左右尾灯对称性的同向车辆检测、前方车辆位置与车距计算五部分组成。下面结合实现实例进一步详细说明。
夜间前方车辆图像样本具有以下特点:1)图像整体对比度高,前方车辆灯光中心区域由于过曝光呈现为白色;2)同向车辆尾灯区域存在边缘超出车体的大范围光晕,靠近中心光晕呈现较均匀红色,边缘呈现玫红色或橙色;3)对向车辆大灯表现为画面左侧大范围的白色亮光;4)尾灯形状存在规律,基本呈现完整的左右对称性;5)同向车尾灯的面积、左右尾灯中心坐标间距,对向车光晕截止线与面积,均与车辆在图像中的位置与车距相关。
根据上述夜间车辆图像特征,首先对图像进行预处理。图像中普遍存在车灯中心区域过曝光、灯光光晕过大、地面与墙面反光的问题,现有技术中多采用降低摄像机静态曝光级别的方式解决这些问题,但是这种方法基于设定好的特定相机,不具有通用性。本发明中使用改进的正片叠底方法,采用基色图片的复制作为正片叠底的混合图片,以保证校正的过程中图像的色彩不会失真,其变换公式如下:
式中,s0代表原图中某像素点的值,s表示校正后图像中该像素点的值。
接下来利用颜色信息提取图片中的灯光信号,选择hsv颜色空间对采集的图像进行阈值分割,hsv颜色空间作为一种色亮分离形颜色空间,易于在测试中观察颜色分布,能够更好地描述颜色特征。将摄像头采集的rgb图像转化为hsv图像,经过阈值分割后,原图转化为分割出红色区域后的二值图与分割出白色区域的二值图,分别对应同向车辆的尾灯和对向车辆的大灯。
首先对分割出红色区域的二值图进行连通域分析,得出连通域位置、面积、形态等信息,根据尾灯的特点,删去位置靠近图像四角区域和贴近下边沿区域的连通域,删除面积过小的连通域,同时根据尾灯区域特征,删去长宽比过大或过小的连通域。对剩余连通域进行形态学处理,平滑区域轮廓,分离粘连的区域,采用开运算对连通域进行处理。
接下来遍历所有连通域,依据对称性对同一车辆的左右尾灯进行配对。首先根据尾灯特征提取出所有中心点坐标接近同一水平面、面积大小相近,且水平距离相近的两个连通域作为可能的尾灯对进行标记。接下来依次比较标记好的一对尾灯是否左右对称。由于二值图只包含区域形状信息,为了使对称性的对比更加准确,在原始的灰度图中进行对称性检测工作。在灰度图中按照连通域的外接矩形进行剪裁,获得两个灰度区域,将其中一个灰度区域作为模板t,将另一个区域进行水平镜像后作为潜在的对称区域i,经过拉伸变换,将t与i转化为大小一致的矩阵。接下来计算矩阵t与i之间的皮尔逊相关系数,计算公式如下:
式中,tx,y和ix,y分别表示t矩阵和i矩阵中第x行第y列的灰度值,
接下来根据尾灯对的水平距离、面积大小、所在位置,以及外接矩形的长宽比等信息进行二次筛选。通过计算尾灯之间距离,可以采用单目视觉测距模型,根据摄像机焦距与事先测量确定的参数对前车车距做出估计。输出前方车辆的位置与距离,在下一步骤中,进一步对前方车辆位置实时进行跟踪与预测。
对前方对向来车的检测原理类似,由于对向来车大灯亮度远高于尾灯,当出现对向来车时,其光晕范围往往占据了图像左半部分。并且由于光晕面积过大导致左右大灯难以分离,无法对其进行对称性检测。本发明中主要以光晕的位置作为检测对向来车的依据,对分割出白色区域的二值图进行连通域分析,对面积较大连通域的位置进行分析,筛选出图像左侧的大面积连通域,根据连通域形状信息,画出其边缘截止线,即对向前方车辆大灯的边缘截止线,以此为依据判断前方对向来车的位置。
如图3所示,本发明基于连续视频片段的前方车辆位置实时跟踪与预测算法实现如下功能:算法通过匹配在连续两帧中检测到的同一车辆,实现对连续视频片段中前方行驶车辆的实时跟踪,并根据记录的车辆位置信息,对下一时刻中车辆的位置做出预测。下面结合一种对该算法的实现实例进一步进行说明。
首先读取前视摄像头所采集到的视频片段,读取第一帧,作为单张图片传入图2所示的算法中。若未检测到前方存在车辆,则进入下一帧,直到检测到前方出现车辆。读取车辆检测算法给出的所有前方车辆位置与距离数据,存储在列表p中,上一帧中出现的所有前方车辆的位置与距离存储在列表c中。遍历列表p中所有车辆,判断其与列表c中车辆的联系。如果上一帧中没有检测到前方车辆,即列表c为空,则当前帧中出现的车辆将别认为是新出现的车辆进行保留,存储其数据至列表c中,进入下一帧。如果上一帧中存在前方车辆,则以车辆中心点坐标偏移值为标准,分析当前帧中车辆与上一帧中所有车辆是否存在联系,预设一个最大偏移值a0,若两帧之间车辆的偏移值a大于a0,则认为这两个车辆不是同一车辆的连续出现,继续判断列表c中下一个车辆信息,直到列表c中全部车辆不满足偏移值条件,则将当前帧中出现的车辆作为新出现的车辆保留,并作以标记。若满足偏移值条件,则认为这可能是同一车辆在连续两帧中出现,标记其存在联系。对当前帧中出现的所有车辆进行上述分析,可能会出现同一车辆与上一帧中出现的多个车辆符合条件,以列表p中的第一个对象p1为例,如果列表c中c1与c2均满足与p1的偏移值限定,则标记p1与c1、c2之间存在联系。遍历所有元素,就可以获得类似图4(a)所示的列表p与列表c之间的二分图。
如图4所示,使用匈牙利算法对列表p与列表c中的元素进行一一匹配。以列表p中的对象p1为例,寻找与它存在联系的列表c中的元素,即c1与c2。首先检查第一个元素c1,此时c1并未与列表p中任意元素完成匹配,则将p1与c1进行匹配。接下来对p2进行匹配,p2与列表c中元素c1与c4存在联系。检查第一个元素c1,此时c1已经与p1完成匹配,则开始求证p1是否可以与列表c中除了c1之外的其他元素进行匹配。经检查,p1还可以与c2进行匹配,则将p2与c1进行匹配,将p1与c1的匹配关系删除,与c2重新匹配,以此类推。对列表p中每个元素pi,依次检查与其匹配的列表c中的元素cj,如果cj未与任何元素匹配,则将pi与cj匹配,继续匹配列表p中下一个元素;如果cj已经与某一元素pk匹配,则回溯与pk存在联系的所有元素,重新匹配并检查。算法的核心在于不断回溯匹配结果,利用递归的方法,不断打断匹配,建立新的匹配,直到所有元素完成匹配。对于图4(a)中的示例,其匹配结果如图(b)所示。
对于前后连续两帧中按照上述方式完成匹配的车辆区域,将被认为是同一辆车在前后两帧中的连续出现,被作以相同的标记,以此实现对前方车辆位置的实时跟踪。
如图5所示,本发明结合卡尔曼滤波器,设计前方车辆位置修正与预测算法对前方车辆位置进行修正,并对车辆在下一时刻的位置进行预测。首先结合上一帧的预测结果,对当前帧中前方车辆的位置与距离信息进行修正。将当前帧中测得的车辆位置与距离信息记为
p′k=pk-k′hkpk;
式中,hk描述了测量值与预测值之间的关系,rk为系统测量噪声协方差矩阵。修正后的数据保留,将作为历史数据继续与下一帧中的检测结果进行匹配运算。上述修正计算可以减小检测算法中由于环境干扰、灯光遮蔽、形状扭曲等原因造成的前方车辆位置与距离检测误差。
接下来结合修正后的状态向量
式中,fk描述当前时刻状态向量与下一时刻状态向量之间的相关性,qk为系统噪声协方差矩阵,
经过上述操作,完成了对视频当前帧的全部处理,上述所有保留值将在下一帧中用于修正与预测车辆位置,实现了基于连续视频片段对前方车辆的实时跟踪,并输出前方车辆的实时位置(xyz)信息至大灯控制策略。
如图6所示,本发明中的大灯控制器控制策略首先进行离线设计,将前方车辆所处位置及与本车的距离分别用x、y和z表示,然后依据led光源模组的排列形式和数量及其照射范围,对本车前方的远光灯照射区域进行划分,并分别为每个子区域设计led光源模组的控制方式,用每个led的亮度表示,0表示熄灭,100%表示最高亮度,生成图示远光灯控制策略数据表,并将其存储在大灯控制器内存中。大灯控制器工作时,首先使用前述图像处理算法,获得前方车辆的位置信息(xyz)作为输入信号,在控制策略数据表中在线查找相应的控制策略,输出led光源模组中每个led灯的亮度(0~100%)控制信号至光源模组驱动器,由光源模组驱动器驱动led光源模组对各个led灯的亮度进行控制,实现远光灯自适应控制。