一种ADB前照灯系统的多目标处理方法与流程

文档序号:16974535发布日期:2019-02-26 18:51阅读:525来源:国知局
一种ADB前照灯系统的多目标处理方法与流程

本发明涉及adb前照灯系统领域,尤其涉及一种adb前照灯系统的多目标处理方法。



背景技术:

随着汽车电子技术的发展,安全性与舒适性越来越受到重视,因此adb(advanceddrivingbeam)技术应运而生。相较于第二代的自适应大灯系统afs(adaptivefront-lightingsystem)而言,adb在最大满足驾驶员的同时,防止造成其它车辆驾驶员炫目,提高驾驶舒适性,减少安全隐患。

一种远光(highbeam)左车灯highbeam和右车灯highbeam分别有10个光分布段(segment),seg0到seg9。每个segment的水平角度范围为3°,左右前照灯的远光分布角度范围为-30°~30°。当远光分布的范围内出现目标物时,动态的调整相关的segment光强度,使得对应的目标物形成阴影区域,防止造成对方驾驶员炫目。

为了动态的描述adb远光分布的效果,采用一个物体由近到远的远光分布如附图2表示,t0时刻,目标物(object)出现在highbeamarea的正前方,关闭与object对应阴影区域的highbeamsegment。t1时刻,object消失,阴影区域保持,直到t4时刻,highbeamarea完全覆盖,给驾驶员提供最大的光照视野。在此过程中,object对应阴影区域处理是关键。虽然camera能够输出检测到的每个目标物对应阴影区域,adb系统根据每个单独的目标物阴影区域实现远光的分布,但是,当目标物较多时,就要形成非常多阴影(shadow),处理变得复杂,甚至可能导致系统延时。基于此,结合目标物的特点,并且经过大量的路况试验,提出了一种adb前照灯系统的多目标处理方法。主要根据目标信息所属不同类别,进行抽象,最多形成四个阴影区域,同时根据相对速度信息,动态的调整阴影区域的偏移量,形成动态稳定的阴影区域。



技术实现要素:

为解决上述问题,本发明提供一种adb前照灯系统的多目标处理方法,能够适应大部分的高速路况。在处理camera检测到的多个目标物时,能有效减小计算的复杂度,提高系统的实时性。更换不同的camera,同样能形成稳定的阴影区域,为adb系统的远光分布提供可靠保障,解决了背景技术中出现的问题。

本发明的目的是提供一种adb前照灯系统的多目标处理方法,包括安装在车头的camera,其输出的多目标物体主要有两类信息,一类是cam_envcondition,主要包括camera的工作状态,检测到的目标物总数量,当前道路的类型;一类是cam_object0x,不同的camera可检测的object数量不同,假设为x,即一共输出x条信息,object01~object0x;每条信息的内容主要包括:检测到的目标物类型camobj0x_type,相对垂直角度camobj0x_verpos,左边界camobj0x_horposleft,右边界camobj0x_horposright,水平移动的相对速度camobj0x_horspeed,目标物与车辆的相对距离camobj0x_hordist;

包括有以下步骤:

第一部分:根据收到的camera信息,聚合同类信息,然后进行抽象处理,形成最多4个通道(channel)的阴影区域;

步骤1:控制highbeam输出的电子控制单元(ecu)接收来自camera的两类信号,cam_envcondition和cam_object0x;cam_envcondition主要是camera的工作状态,检测到的目标物总数,当前道路的类型等等;根据camera类型的不同,输出的目标物信号cam_object0x也不同,假设为12个,则一共输出12条信息,object01~object12;每个object信号包含主要是目标物的类型camobj0x_type,相对垂直角度camobj0x_verpos,左边界camobj0x_horposleft,右边界camobj0x_horposright,水平移动的相对速度camobj0x_horspeed,目标物与车辆的相对距离camobj0x_hordist等信息;

步骤2:根据实际需求,聚合同类信息,即将同一类型的信息存入一维数组,如object01的verpos,object02的verpos,object03的verpos……,统一存入数组camobj_verpos[num];其中num为该camera实际能检测的最大目标物的个数;同理将object01的hordist,object02的hordist,object03的hordist……,统一存入数组camobj_hordist[num];然后依次存入camobj_horposleft[num],camobj_horposright[num],camobj_horspeed[num],camobj_type[num]信息;

步骤3:初始化ahead、oncomingleft、oncomingright和trafficsign4个channel的信号;实际camera输出主要是ahead(目标物在前方,camera检测到其尾灯)、oncoming(目标物在前方,camera检测到其头灯)、trafficsign(前方的道路标志)三类信息,这里将其拆分为四类;每个channel的初始化信息主要有以下几个元素:水平角度horangle范围、目标距离distance、相对垂直角度verangle、目标物类型info和该类目标物数量objects;具体的数值设定根据camera进行调整,此处的distance和verangle都设为camera最大有效值,info和objects设为0;假设camera能检测的horangle范围为[-a°,a°](a为正数),则设所有channel左边界初始值(initial_left)为a°,右边界初始值(initial_right)为-a°;

步骤4:依次检测收到的num条cam_object0x报文信息,即遍历步骤2的相关信息;如果为检测到ahead且小于maxdistance(adb工作时,目标物的最远有效距离),则计算一次阴影区域1内容,具体的操作过程为:假设第一个目标物的水平角度范围为[-a,-b](其中a与b均为正数),则取-a与initial_left二者的较小值为阴影区的左边界,同时将二者的较小值赋给initial_left;取b与初始的右边界角度initial_right二者的较大值为阴影区的右边界,同时将二者的较大值赋给initial_right;如果还有第二个ahead类型目标物,则继续计算得到新的阴影区左右边界;同时取出多个目标物的与本车之间最短的距离,和最小的垂直角度,并且统计目标物的数量信息;当检测的次数(cnt)大于camera能一次提供的最多目标物数量num,进入步骤5;

步骤5:如果检测到ahead类型的目标物,则将步骤4计算得到的horaangle范围的左边界作为区分oncomingleft和oncomingright的分界线;否则将channel1的水平角度范围设为[0,0],channel1的垂直角度设为0,且将所有的oncoming信息抽象到channel2;

步骤6:检测oncoming信息,然后将其区分为oncomingleft和oncomingright两类信息,分别输出到channel2和channel3;具体的操作过程为:依次检测num条报文信息,当目标车辆vehicle信息为oncoming且小于maxdistance时,如果步骤5未检测到ahead类型信息,则按照步骤4计算阴影区域2,输出到channel2;如果步骤5检测到ahead信息,则以channel1的initial_left为分界线,即当目标物的左水平角度小于channel1的initial_left,按照步骤4计算阴影区域2,输出到channel2,同理计算得到的阴影区域3,输出到channel3;

步骤7:如果oncomingleft或oncomingright的数量为0,则将channel2或chanel3的水平角度范围设为[0,0],垂直角度设为0,类型设值0,距离设为最大值;

步骤8:检测并计算trafficsign的阴影区域4;依次检测num条cam_object0x报文信息,即遍历步骤2的相关信息;如果为目标物为trafficsign且小于maxdistance,则计算一次阴影区域4内容;具体过程为:依次计算每一个目标物的水平角度范围,如果此范围大于指定阈值且垂直角度大于0,则认为这是一个有效的trafficsign;由于开启adb模式后,一般都处于高速公路下,根据经验来说,大部分同一时刻只有一个trafficsign标志,所以依次检测收到的num条报文后,如果有trafficsign,保存最后一条有效的trafficsign的内容即可,然后输出到channel4;如果未检测到trafficsign的信号,则将channel4的水平角度范围设为[0,0],垂直角度设为0,类型设值0,距离设为最大值;至此channel1、channel2、channel3和channel4的4个阴影区域都已经抽象完成;

第二部分:对4个channel的阴影区域进行后续处理,形成动态稳定的shadow;

步骤9:由于channel1~channel4的阴影区域信息主要包含,水平角度horangle范围、目标物距离distance、垂直角度verangle、目标物类型info和目标物数量objects几类信息;这里主要对horangle、distance、verangle进行滤波处理,初步消除抖动信息;考虑到实时性和图像信号的特点,采取带加权系数的均值滤波,具体的权系数,根据实际情况调整;

步骤10:处理阴影区域的边缘,此处可以采用多种方式处理,比如跟踪滤波,迟滞处理,目的是使得阴影区域达到动态稳定的状态,防止出现剧烈抖动的情况;采用迟滞处理对左边界操作,右边界类同;具体操作过程是:首先设定迟滞的上下限值-a和b,其中a和b为正数,并且根据上次的左边界角度pre_horangle得到一个角度区间[pre_horangle-a,pre_horangle+b];然后将此次输入左边界角度定义为act,如果act大于(pre_horangle+b),则将当前的输出out_horangle重新修正为(act-b),如果小于(pre_horangle-a),则将当前的输出out_horangle重新修正为act+a,否则输出不修正;最后将当前的输出保存为下一次输入时的pre_horangle;

步骤11:由于camera检测目标物信息的主要原理是根据车灯的状态,所以上述步骤得到的shadow区域与目标物的实际宽度基本吻合;但是考虑到两个前灯或者两个尾灯之间的距离并不等于实际车的宽度,为了得到更加安全的阴影输出,需要对上述的shadow区域进行一定的偏移(offset)补偿;以右边界为例,具体的操作过程为:首先假定目标物的相对移动速度上下限为a和b,对应的修正offset为c和d,如果当前的左边界相对速度horanglespeedright小于a,则上一步骤的输出为out_horangle+c,如果horanglespeedright大于b,则上一步骤的输出为out_horangle+d,其它情况下,根据a和c,b和d的关系进行插值计算,输入horanglespeedright,得到对应的offset,则对应的输出为out_horangle+offset;左边界的修正类似;

本发明的有益效果:ecu接收来自camera的cam_envcondition和cam_object0x两类信号,抽象出四个特定类的阴影区域;同时根据速度信息,动态的调整阴影区域的偏移量,形成稳定安全的阴影区域;adb前照灯系统可以根据形成的shadow区域,动态的对相应的segment进行调光,从而防止炫目,减少事故的发生。这种多目标的处理方法能够适应大部分的高速路况。在处理camera检测到的多个目标物时,能有效减小计算的复杂度,提高系统的实时性。更换不同的camera,同样能形成稳定的阴影区域,为adb系统的远光分布提供可靠保障。

附图说明

图1是本发明的流程图。

图2是本发明背景技术中一个物体由近到远的光分布示意图。

具体实施方式

为了加深对本发明的理解,下面将结合实施例对本发明作进一步详述,该实施例仅用于解释本发明,并不构成对本发明保护范围的限定。

如图1所示,本实施例提供一种adb前照灯系统的多目标处理方法,包括安装在车头的camera,其输出的多目标物体主要有两类信息,一类是cam_envcondition,主要包括camera的工作状态,检测到的目标物总数量,当前道路的类型;一类是cam_object0x,不同的camera可检测的object数量不同,假设为x,即一共输出x条信息,object01~object0x;每条信息的内容主要包括:检测到的目标物类型camobj0x_type,相对垂直角度camobj0x_verpos,左边界camobj0x_horposleft,右边界camobj0x_horposright,水平移动的相对速度camobj0x_horspeed,目标物与车辆的相对距离camobj0x_hordist;

包括有以下步骤:

第一部分:根据收到的camera信息,聚合同类信息,然后进行抽象处理,形成最多4个通道(channel)的阴影区域;

步骤1:控制highbeam输出的电子控制单元(ecu)接收来自camera的两类信号,cam_envcondition和cam_object0x;cam_envcondition主要是camera的工作状态,检测到的目标物总数,当前道路的类型等等;根据camera类型的不同,输出的目标物信号cam_object0x也不同,假设为12个,则一共输出12条信息,object01~object12;每个object信号包含主要是目标物的类型camobj0x_type,相对垂直角度camobj0x_verpos,左边界camobj0x_horposleft,右边界camobj0x_horposright,水平移动的相对速度camobj0x_horspeed,目标物与车辆的相对距离camobj0x_hordist等信息;

步骤2:根据实际需求,聚合同类信息,即将同一类型的信息存入一维数组,如object01的verpos,object02的verpos,object03的verpos……,统一存入数组camobj_verpos[num];其中num为该camera实际能检测的最大目标物的个数;同理将object01的hordist,object02的hordist,object03的hordist……,统一存入数组camobj_hordist[num];然后依次存入camobj_horposleft[num],camobj_horposright[num],camobj_horspeed[num],camobj_type[num]信息;

步骤3:初始化ahead、oncomingleft、oncomingright和trafficsign4个channel的信号;实际camera输出主要是ahead(目标物在前方,camera检测到其尾灯)、oncoming(目标物在前方,camera检测到其头灯)、trafficsign(前方的道路标志)三类信息,这里将其拆分为四类;每个channel的初始化信息主要有以下几个元素:水平角度horangle范围、目标距离distance、相对垂直角度verangle、目标物类型info和该类目标物数量objects;具体的数值设定根据camera进行调整,此处的distance和verangle都设为camera最大有效值,info和objects设为0;假设camera能检测的horangle范围为[-a°,a°](a为正数),则设所有channel左边界初始值(initial_left)为a°,右边界初始值(initial_right)为-a°;

步骤4:依次检测收到的num条cam_object0x报文信息,即遍历步骤2的相关信息;如果为检测到ahead且小于maxdistance(adb工作时,目标物的最远有效距离),则计算一次阴影区域1内容,具体的操作过程为:假设第一个目标物的水平角度范围为[-a,-b](其中a与b均为正数),则取-a与initial_left二者的较小值为阴影区的左边界,同时将二者的较小值赋给initial_left;取b与初始的右边界角度initial_right二者的较大值为阴影区的右边界,同时将二者的较大值赋给initial_right;如果还有第二个ahead类型目标物,则继续计算得到新的阴影区左右边界;同时取出多个目标物的与本车之间最短的距离,和最小的垂直角度,并且统计目标物的数量信息;当检测的次数(cnt)大于camera能一次提供的最多目标物数量num,进入步骤5;

步骤5:如果检测到ahead类型的目标物,则将步骤4计算得到的horaangle范围的左边界作为区分oncomingleft和oncomingright的分界线;否则将channel1的水平角度范围设为[0,0],channel1的垂直角度设为0,且将所有的oncoming信息抽象到channel2;

步骤6:检测oncoming信息,然后将其区分为oncomingleft和oncomingright两类信息,分别输出到channel2和channel3;具体的操作过程为:依次检测num条报文信息,当目标车辆vehicle信息为oncoming且小于maxdistance时,如果步骤5未检测到ahead类型信息,则按照步骤4计算阴影区域2,输出到channel2;如果步骤5检测到ahead信息,则以channel1的initial_left为分界线,即当目标物的左水平角度小于channel1的initial_left,按照步骤4计算阴影区域2,输出到channel2,同理计算得到的阴影区域3,输出到channel3;

步骤7:如果oncomingleft或oncomingright的数量为0,则将channel2或chanel3的水平角度范围设为[0,0],垂直角度设为0,类型设值0,距离设为最大值;

步骤8:检测并计算trafficsign的阴影区域4;依次检测num条cam_object0x报文信息,即遍历步骤2的相关信息;如果为目标物为trafficsign且小于maxdistance,则计算一次阴影区域4内容;具体过程为:依次计算每一个目标物的水平角度范围,如果此范围大于指定阈值且垂直角度大于0,则认为这是一个有效的trafficsign;由于开启adb模式后,一般都处于高速公路下,根据经验来说,大部分同一时刻只有一个trafficsign标志,所以依次检测收到的num条报文后,如果有trafficsign,保存最后一条有效的trafficsign的内容即可,然后输出到channel4;如果未检测到trafficsign的信号,则将channel4的水平角度范围设为[0,0],垂直角度设为0,类型设值0,距离设为最大值;至此channel1、channel2、channel3和channel4的4个阴影区域都已经抽象完成;

第二部分:对4个channel的阴影区域进行后续处理,形成动态稳定的shadow;

步骤9:由于channel1~channel4的阴影区域信息主要包含,水平角度horangle范围、目标物距离distance、垂直角度verangle、目标物类型info和目标物数量objects几类信息;这里主要对horangle、distance、verangle进行滤波处理,初步消除抖动信息;考虑到实时性和图像信号的特点,采取带加权系数的均值滤波,具体的权系数,根据实际情况调整;

步骤10:处理阴影区域的边缘,此处可以采用多种方式处理,比如跟踪滤波,迟滞处理,目的是使得阴影区域达到动态稳定的状态,防止出现剧烈抖动的情况;采用迟滞处理对左边界操作,右边界类同;具体操作过程是:首先设定迟滞的上下限值-a和b,其中a和b为正数,并且根据上次的左边界角度pre_horangle得到一个角度区间[pre_horangle-a,pre_horangle+b];然后将此次输入左边界角度定义为act,如果act大于(pre_horangle+b),则将当前的输出out_horangle重新修正为(act-b),如果小于(pre_horangle-a),则将当前的输出out_horangle重新修正为act+a,否则输出不修正;最后将当前的输出保存为下一次输入时的pre_horangle;

步骤11:由于camera检测目标物信息的主要原理是根据车灯的状态,所以上述步骤得到的shadow区域与目标物的实际宽度基本吻合;但是考虑到两个前灯或者两个尾灯之间的距离并不等于实际车的宽度,为了得到更加安全的阴影输出,需要对上述的shadow区域进行一定的偏移(offset)补偿;以右边界为例,具体的操作过程为:首先假定目标物的相对移动速度上下限为a和b,对应的修正offset为c和d,如果当前的左边界相对速度horanglespeedright小于a,则上一步骤的输出为out_horangle+c,如果horanglespeedright大于b,则上一步骤的输出为out_horangle+d,其它情况下,根据a和c,b和d的关系进行插值计算,输入horanglespeedright,得到对应的offset,则对应的输出为out_horangle+offset;左边界的修正类似;

ecu接收来自camera的cam_envcondition和cam_object0x两类信号,抽象出四个特定类的阴影区域;同时根据速度信息,动态的调整阴影区域的偏移量,形成稳定安全的阴影区域;adb前照灯系统可以根据形成的shadow区域,动态的对相应的segment进行调光,从而防止炫目,减少事故的发生。这种多目标的处理方法能够适应大部分的高速路况。在处理camera检测到的多个目标物时,能有效减小计算的复杂度,提高系统的实时性。更换不同的camera,同样能形成稳定的阴影区域,为adb系统的远光分布提供可靠保障。

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