车道线感知数据的预处理方法、装置、设备和介质与流程

文档序号:19482209发布日期:2019-12-21 03:27阅读:316来源:国知局
车道线感知数据的预处理方法、装置、设备和介质与流程

本申请涉及自动驾驶技术领域,尤其涉及一种车道线检测技术,具体涉及一种车道线感知数据的预处理方法、装置、设备和介质。



背景技术:

近年来,自动驾驶技术发展迅速,其中车道线的检测是自动驾驶系统中的重要组成部分。车道线的检测就是从车载摄像头获得的视频图像中,根据车道线的颜色、性状和纹理等特征,将车道线与图像中的其他数据分离出来,从而获得车道线的走向,以及车辆相对于车道线的位置等信息。

由于实际行车环境复杂多变,故无论是基于传统统计学习方法还是基于深度学习的方法获得的车道线,往往会出现横向截距跳变、漏检或误检等情况,甚至在某些场景下还有可能导致车辆出现定位错误的情况,因此难以直接用于后续的定位算法以求取车辆位置和姿态,从而导致车辆无法进行安全的自动驾驶。



技术实现要素:

本申请实施例提供一种车道线感知数据的预处理方法、装置、设备和介质,以提高车道线数据的准确度。

第一方面,本申请实施例提供了一种车道线感知数据的预处理方法,包括:

从高精地图中获取自动驾驶设备当前时刻所在车道的车道线高精数据;

将所述车道线高精数据作为先验数据,将当前时刻感知得到的车道线感知数据作为观测数据,利用卡尔曼滤波器对实际的车道线数据进行状态估计,得到所述当前时刻的车道线目标数据。

上述申请中的一个实施例具有如下优点或有益效果:利用卡尔曼滤波器,并结合更加准确、清晰、全面的高精地图中的车道线高精数据,对实际的车道线数据进行状态估计,滤除掉车道线感知数据中错误的数据,产生准确平滑的车道线数据,提高车道线数据的准确性。

可选的,所述卡尔曼滤波器的状态变量为:

x=[dleft,dright,width,biaswidth]t

其中,x为状态变量的向量表示,t表示矩阵转置,dleft为车道左边线截距,dright为车道右边线截距,width为车道线宽度,biaswidth为车道线感知数据与车道线高精数据中车道线宽度之间的偏差。

上述申请中的一个实施例具有如下优点或有益效果:由于利用车道线数据匹配求解车辆位置姿态的过程中优先关注的是车道线的位置,也就是车辆坐标系下车道线拟合曲线的截距,因此,将车道线截距和车道宽度作为状态变量设计中的考虑因素,相当于考虑了决定车辆定位精度的重要数据,能够提高卡尔曼滤波器状态估计的准确度,尽可能去除车道线感知数据中的噪声。

可选的,在利用卡尔曼滤波器对实际的车道线数据进行状态估计之前,所述方法还包括:

依据所述车道线感知数据与车道线高精数据的匹配程度,分别计算所述车道线感知数据中车道左边线和车道右边线的质量评分值;

依据所述车道左边线和车道右边线的质量评分值,分别计算所述车道左边线和车道右边线各自的噪声;

依据所述车道左边线和车道右边线各自的噪声,确定所述卡尔曼滤波器的观测噪声。

上述申请中的一个实施例具有如下优点或有益效果:由于观测噪声越大,感知的观测数据的可信度则越小,因此,结合车道线感知数据的质量动态调整卡尔曼滤波器中的观测噪声,而将评分映射到噪声,从而最大化的利用有限的感知观测数据,让卡尔曼滤波器能给出更加准确的估计结果。

可选的,所述依据所述车道线感知数据与车道线高精数据的匹配程度,分别计算所述车道线感知数据中车道左边线和车道右边线的质量评分值,包括:

按照如下维度中的至少一种维度,分别检测所述车道线感知数据中车道左边线和车道右边线,与车道线高精数据中车道左边线和车道右边线的匹配程度:车道线类型、车道线宽度、车道中心线、车道线长度、车道线起始点、车道线质量等级和车道线截距;

根据各维度的匹配程度确定各维度的质量分值,并分别根据所述车道线感知数据中车道左边线和车道右边线各自对应维度的质量分值,计算所述车道线感知数据中车道左边线和车道右边线各自的质量评分值。

上述申请中的一个实施例具有如下优点或有益效果:通过从多个维度对车道线感知数据进行评分,而且还考虑了车道线截距和车道中心线等维度,也即考虑了决定车辆定位精度的重要数据,为确定卡尔曼滤波器的观测噪声做数据准备。

可选的,所述车道左边线和车道右边线各自的噪声用如下公式表示:

其中,noise表示所述噪声,value表示所述质量评分值,const为预设的所述观测噪声的上边界。

可选的,在计算所述质量评分值之后,所述方法还包括:

判断所述卡尔曼滤波器是否已被初始化;

如果已被初始化,则执行所述分别计算所述车道左边线和车道右边线各自的噪声的操作;

如果未被初始化,并且所述车道线感知数据中车道左边线和车道右边线的质量评分值均大于预设评分阈值,则确定所述质量评分值中数值较大的目标边线,并根据所述车道线高精数据中的车道线宽度,和所述目标边线的截距,确定所述车道线感知数据中的另一条边线。

上述申请中的一个实施例具有如下优点或有益效果:对于卡尔曼滤波器尚未被初始化的情形,则利用高精地图中的更加准确的车道线高精数据,重新确定车道线感知数据中评分较低的车道边线,也能够提高车道线感知数据的准确度。

可选的,如果所述卡尔曼滤波器未被初始化,并且所述车道线感知数据中车道左边线和车道右边线的质量评分值均大于预设评分阈值,则所述方法还包括:

判断所述车道线感知数据中车道左边线和车道右边线的质量评分值是否均大于预设初始化阈值;

如果均大于预设初始化阈值,则连续累加初始化条件满足次数;

如果经累加的所述初始化条件满足次数达到预设次数阈值,则根据所述初始化条件满足次数达到预设次数阈值时得到的车道线感知数据,对所述卡尔曼滤波器进行初始化,并在初始化后执行所述分别计算所述车道左边线和车道右边线各自的噪声的操作。

上述申请中的一个实施例具有如下优点或有益效果:为了给卡尔曼滤波器一个相对准确的初始值,需要将车辆平稳运行状态时感知的车道线感知数据作为所述初始值。因此,利用车道线感知数据的质量评分值来对初始化条件满足次数进行连续累加,并在累加值满足阈值时,认为车辆处于平稳运行状态,再将此时的车道线感知数据作为所述初始值,从而保证滤波器准确的运行。

可选的,在利用卡尔曼滤波器对实际的车道线数据进行状态估计之前,所述方法还包括:

如果所述车道线感知数据中包括车道左边线和车道右边线,则执行所述利用卡尔曼滤波器对实际的车道线数据进行状态估计的操作;

如果所述车道线感知数据中包括一条单边线,则比较所述车道线感知数据和车道线高精数据中的单边线截距,并根据比较结果判断所述单边线的可用性。

上述申请中的一个实施例具有如下优点或有益效果:如果车道线感知数据中能够感知到双边线,则可以执行状态估计的操作,如果只感知到单边线,则不对其进行估计,而是依据高精地图以及车道截距,来确定感知到的单边线的可用性,当单边线可用时,则后续可以利用单边线匹配来求解设备的位置姿态

可选的,在利用卡尔曼滤波器对实际的车道线数据进行状态估计之前,所述方法还包括:

比较所述车道线感知数据和车道线高精数据中的车道线宽度的差值和预设宽度阈值;

如果所述车道线宽度的差值小于所述预设宽度阈值,则执行所述利用卡尔曼滤波器对实际的车道线数据进行状态估计的操作。

可选的,在利用卡尔曼滤波器对实际的车道线数据进行状态估计之前,所述方法还包括:

比较所述车道线感知数据和车道线高精数据中车道线中心线之间的偏离距离和预设偏离距离阈值;

如果所述车道线中心线之间的偏离距离小于所述预设偏离距离阈值,则执行所述利用卡尔曼滤波器对实际的车道线数据进行状态估计的操作。

上述申请中的一个实施例具有如下优点或有益效果:将车道线宽度或车道线中心线偏差对车道线感知数据进行约束,排除掉明显错误的数据,为后续滤波做数据准备,提高滤波的效率和准确性。

上述申请中的一个实施例具有如下优点或有益效果:利用卡尔曼滤波器,并结合感知到的车道线感知数据和更加准确、清晰、全面的高精地图中的车道线高精数据,对实际的车道线数据进行状态估计,滤除掉车道线感知数据中错误的数据,产生准确平滑的车道线数据,避免感知跳变,误检等带来的车辆位置姿态求解中出现的跳动等问题,从而为下游模块提供较为稳定平滑的位置姿态数据,提高自动驾驶的安全性。

第二方面,本申请实施例还提供了一种车道线感知数据的预处理装置,包括:

车道线高精数据获取模块,用于从高精地图中获取自动驾驶设备当前时刻所在车道的车道线高精数据;

状态估计模块,用于将所述车道线高精数据作为先验数据,将当前时刻感知得到的车道线感知数据作为观测数据,利用卡尔曼滤波器对实际的车道线数据进行状态估计,得到所述当前时刻的车道线目标数据。

第三方面,本申请实施例还提供了一种自动驾驶设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任意实施例所述的车道线感知数据的预处理方法。

第四方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请任意实施例所述的车道线感知数据的预处理方法。

上述申请中的一个实施例具有如下优点或有益效果:利用卡尔曼滤波器,并结合感知得到的车道线感知数据和更加准确、清晰、全面的高精地图中的车道线高精数据,对实际的车道线数据进行状态估计,滤除掉车道线感知数据中错误的数据,产生准确平滑的车道线目标数据,提高车道线数据的准确性。同时,在卡尔曼滤波器的设计中,将车道线截距和车道宽度作为状态变量设计中的考虑因素,相当于考虑了决定车辆定位精度的重要数据,同时,结合车道线感知数据的质量动态调整卡尔曼滤波器中的观测噪声,以提高卡尔曼滤波器输出结果的准确性,尽可能地避免感知跳变,误检等带来的车辆位置姿态求解中出现的跳动等问题,从而为下游模块提供较为稳定平滑的位置姿态数据,提高自动驾驶的安全性。

上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是根据本申请第一实施例的车道线感知数据的预处理方法的流程示意图;

图2是根据本申请第二实施例的车道线感知数据的预处理方法的流程示意图;

图3是根据本申请第三实施例的车道线感知数据的预处理方法的流程示意图;

图4是根据本申请第四实施例的车道线感知数据的预处理方法的流程示意图;

图5是根据本申请第五实施例的车道线感知数据的预处理方法的流程示意图;

图6是根据本申请第六实施例的车道线感知数据的预处理装置的结构示意图;

图7是用来实现本申请实施例的车道线感知数据的预处理方法的自动驾驶设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1是根据本申请第一实施例的车道线感知数据的预处理方法的流程示意图,本实施例可适用于在利用车道线感知数据进行匹配求解车辆位置姿态之前,对车道线感知数据进行预处理的情况,可用于自动驾驶,尤其是自主泊车领域。该方法可由一种车道线感知数据的预处理装置来执行,该装置采用软件和/或硬件的方式实现,优选是配置于自动驾驶设备中,例如智能车辆或者无人机等。如图1所示,该方法具体包括如下:

s101、从高精地图中获取自动驾驶设备当前时刻所在车道的车道线高精数据。

通常,自动驾驶设备具有对车道线的感知能力,能够通过摄像头拍摄周围图像,并利用图像识别等算法,实时感知到每一时刻的车道线,以及每一时刻设备所在的车道。于是,便可以从高精地图中获取该车道对应的车道线高精数据。此外,利用自动驾驶设备的定位功能,获取实时位置,也可以基于该位置获取高精地图中对应车道的车道线高精数据。

s102、将所述车道线高精数据作为先验数据,将当前时刻感知得到的车道线感知数据作为观测数据,利用卡尔曼滤波器对实际的车道线数据进行状态估计,得到所述当前时刻的车道线目标数据。

其中,高精地图是指高精度、精细化定义的地图。相比于传统地图,高精地图对整个道路的描述更加准确、清晰和全面,其最主要的特征是含有车道、车道线、道路上各种交通设施和人行横道等数据。而卡尔曼滤波是一种结合预测(先验分布)和测量更新(似然)的状态估计算法,故可以在利用车道线感知数据进行匹配求解出设备的位置姿态之前,对车道线感知数据进行预处理,即利用卡尔曼滤波器,基于高精地图的先验数据,并将摄像头感知得到的车道线感知数据作为观测数据,对实际的车道线数据进行状态估计,以求得更加真实、准确的车道线目标数据,不仅能滤去感知数据中错误的数据,同时也可以产生平滑鲁棒的满足设备自主定位要求的车道线,从而提高设备自动驾驶的安全性。

可选的,所述卡尔曼滤波器的状态变量为:

x=[dleft,dright,width,biaswidth]t

其中,x为状态变量的向量表示,t表示矩阵转置,dleft为车道左边线截距,dright为车道右边线截距,width为车道线宽度,biaswidth为车道线感知数据与车道线高精数据中车道线宽度之间的偏差。

需要说明的是,当车道线感知数据中具有质量较好的两边车道线时,能求解得到精度较高的设备位置和姿态。但实际情况是,因原始的车道线感知数据缺乏宽度等实际约束,通常会存在前后得到的数据不连续,其主要表现为截距突变。截距的突变会导致求解出的设备位置和姿态跳动,这通常是不可接受的。同时,由于利用车道线数据匹配求解设备位置姿态的过程中优先关注的是车道线的位置,也就是车辆坐标系下车道线拟合曲线的截距,因此,将车道线截距和车道宽度作为状态变量设计中的考虑因素,相当于考虑了决定车辆定位精度的重要数据,能够提高卡尔曼滤波器进行状态估计的准确度,尽可能去除车道线感知数据中的噪声,避免误检、漏检等情形。

此外,在本申请实施例中,卡尔曼滤波器的状态转移矩阵a和观测矩阵c分别定义如下:

状态转移方程:

其中,wk~n(0,r),并且,预测值可以直接通过当前设备的位置与姿态,将相应的高精地图中的车道线转到设备坐标系下以获得相应的状态变量的预测值。

在本申请实施例中,通过感知可以获得车道左、右边线的截距以及车道宽度,则可得观测方程:

其中,vk~n(0,q);所述r和q表示协方差矩阵;

即可得:

随后便可采用卡尔曼滤波的公式进行预测与更新,至于卡尔曼滤波所涉及的预测和更新两个步骤,可以按照现有技术实现,此处不再赘述。

本申请实施例的技术方案,利用卡尔曼滤波器,并结合感知数据和更加准确、清晰、全面的高精地图中的车道线高精数据,对实际的车道线数据进行状态估计,滤除掉车道线感知数据中错误的数据,并且将车道线截距和车道宽度作为卡尔曼滤波器的状态变量设计中的考虑因素,相当于考虑了决定车辆定位精度的重要数据,能够提高卡尔曼滤波器进行状态估计的准确度,产生准确平滑的车道线数据,避免感知跳变,误检等带来的车辆位置姿态求解中出现的跳动等问题,从而为下游模块提供较为稳定平滑的位置姿态数据,提高自动驾驶的安全性。

图2是根据本申请第二实施例的车道线感知数据的预处理方法的流程示意图,本实施例在上述实施例的基础上进一步进行优化,增加了利用感知数据的质量动态调整卡尔曼滤波器的观测噪声的相关内容。如图2所示,该方法具体包括如下:

s201、从高精地图中获取自动驾驶设备当前时刻所在车道的车道线高精数据。

s202、依据车道线感知数据与车道线高精数据的匹配程度,分别计算所述车道线感知数据中车道左边线和车道右边线的质量评分值。

由于高精地图中的车道线高精数据更加全面和准确,所以在本发明实施例中,利用车道线高精数据作为参照,依据车道线感知数据与车道线高精数据的匹配程度来评估车道线感知数据的质量,得到质量评分值。而由于车道线感知数据中包括左、右两天车道边线,因此,可以计算出车道左边线和车道右边线各自的质量评分值。例如,匹配程度越高,则说明感知数据质量越高,则质量评分值则越高,反之则相反。

可选的,所述依据车道线感知数据与车道线高精数据的匹配程度,分别计算所述车道线感知数据中车道左边线和车道右边线的质量评分值,包括:

按照如下维度中的至少一种维度,分别检测所述车道线感知数据中车道左边线和车道右边线,与车道线高精数据中车道左边线和车道右边线的匹配程度:车道线类型、车道线宽度、车道中心线、车道线长度、车道线起始点、车道线质量等级和车道线截距;

根据各维度的匹配程度确定各维度的质量分值,并分别根据所述车道线感知数据中车道左边线和车道右边线各自对应维度的质量分值,计算所述车道线感知数据中车道左边线和车道右边线各自的质量评分值。

其中,在车道线类型维度检测匹配程度,可以是分别将车道线感知数据中车道左边线和车道右边线各自的类型,与车道线高精数据中车道左边线和车道右边线各自的类型做比较,判断类型是否一致,如果一致,例如可以将左、右边线各自在该维度的质量分值设为1,反之则设为0;

在车道线宽度维度检测匹配程度,可以是将从车道线感知数据中获取的车道线宽度,与从车道线高精数据中获取的车道线宽度进行比较,判断其差值是否满足预设的阈值,例如0.15m,如果满足,则将左、右边线各自在该维度的质量分值设为1,反之则设为0;

在车道中心线维度检测匹配程度,可以是将从车道线感知数据中获取的车道中心线,与从车道线高精数据中获取的车道中心线进行比较,判断其分离程度是否满足预设的阈值,例如0.6*width,width为车道线高精数据中的车道线宽度,如果满足,则将左、右边线各自在该维度的质量分值设为1,反之则设为0;

在车道线长度维度检测匹配程度,可以是判断从车道线感知数据中获取的车道左边线和车道右边线各自的车道线长度是否满足一定的阈值,例如30m,如果满足,则将左、右边线各自在该维度的质量分值设为1,反之则累加其归一化评分值,例如,按照如下公式计算左、右边线各自的质量分值:

其中,valueleft、valueright分别为左、右边线在车道线长度维度上的质量分值,distanceleft、distanceright分别为左、右边线的截距,thresholddistance为预设阈值;

在车道线起始点维度检测匹配程度,可以是判断从车道线感知数据中获取的车道左边线和车道右边线各自的起始点,在设备坐标系下纵向方向的坐标y值是否满足一定的阈值,例如5m,如果满足,则将左、右边线各自在该维度的质量分值设为1,反之则累加其归一化评分值,具体计算方法与所述左、右边线在车道线长度维度上的质量分值的计算方法类似,此处不再赘述;

在车道线质量等级维度检测匹配程度,可以是判断感知得到的左、右边线各自的质量等级是否在中等或中等以上,如果满足该条件,则将左、右边线各自在该维度的质量分值设为1,反之则设为0;

最后,在车道线截距维度检测匹配程度,可以是分别判断从车道线感知数据中获取的车道左边线和车道右边线各自的截距,与从车道线高精数据中获取的车道左边线和车道右边线各自的截距之差,是否满足一定的与之,例如0.1m,如果满足,则将左、右边线各自在该维度的质量分值设为1,反之则累加其归一化评分值,具体计算方法与所述左、右边线在车道线长度维度上的质量分值的计算方法类似,此处不再赘述。

由此,通过从多个维度对车道线感知数据进行评分,而且还考虑了车道线截距和车道中心线等维度,也即考虑了决定车辆定位精度的重要数据,为确定卡尔曼滤波器的观测噪声做数据准备。

s203、依据所述车道左边线和车道右边线的质量评分值,分别计算所述车道左边线和车道右边线各自的噪声。

其中,所述车道左边线和车道右边线各自的噪声用如下公式表示:

其中,noise表示所述噪声,value表示所述质量评分值,const为预设的所述噪声的上边界。

需要说明的是,通过如上公式可知,噪声越大,感知的观测数据的可信度则越小,噪声越小,感知的观测数据的可信度则越大。而设置噪声的上边界,目的是保护滤波器避免其结果发散不收敛,甚至无法输出结果。

s204、依据所述车道左边线和车道右边线各自的噪声,确定所述卡尔曼滤波器的观测噪声。

其中,所述观测噪声可以是一个矩阵,例如用如下公式表示:q=g·rnoise·gt

其中,q表示所述观测噪声,g为噪声传播阵(示例性的为单位矩阵);

rnoise为矩阵

noiseleft为车道左边线的噪声,noiseright为车道右边线的噪声,noisewidth为车道左边线的噪声与车道右边线的噪声中的噪声数值较大者。

由此,由于观测噪声越大,感知的观测数据的可信度则越小,因此,结合车道线感知数据的质量动态调整卡尔曼滤波器中的观测噪声,而将评分映射到噪声,从而最大化的利用有限的感知观测数据,让卡尔曼滤波器能给出更加准确的结果。

s205、将所述车道线高精数据作为先验数据,将当前时刻感知得到的车道线感知数据作为观测数据,利用卡尔曼滤波器对实际的车道线数据进行状态估计,得到所述当前时刻的车道线目标数据。

本申请实施例的技术方案,利用卡尔曼滤波器,并结合感知数据和更加准确、清晰、全面的高精地图中的车道线高精数据,对实际的车道线数据进行状态估计,同时,在卡尔曼滤波器的设计中,利用感知数据的质量动态调整卡尔曼滤波器的观测噪声,将评分映射到噪声,从而最大化的利用有限的感知观测数据,让卡尔曼滤波器能给出更加准确的结果,从而为下游模块提供较为稳定平滑的位置姿态数据,提高自动驾驶的安全性。

图3是根据本申请第三实施例的车道线感知数据的预处理方法的流程示意图,本实施例在上述实施例的基础上进一步进行优化,增加了对滤波器进行初始化的相关内容。如图3所示,该方法具体包括如下:

s301、从高精地图中获取自动驾驶设备当前时刻所在车道的车道线高精数据。

s302、依据车道线感知数据与车道线高精数据的匹配程度,分别计算所述车道线感知数据中车道左边线和车道右边线的质量评分值。

s303、判断所述卡尔曼滤波器是否已被初始化,如果已被初始化,则执行s304-s306,否则执行s307。

s304、依据所述车道左边线和车道右边线的质量评分值,分别计算所述车道左边线和车道右边线各自的噪声。

s305、依据所述车道左边线和车道右边线各自的噪声,确定所述卡尔曼滤波器的观测噪声。

s306、将所述车道线高精数据作为先验数据,将当前时刻感知得到的车道线感知数据作为观测数据,利用卡尔曼滤波器对实际的车道线数据进行状态估计,得到所述当前时刻的车道线目标数据。

s307、判断所述车道线感知数据中车道左边线和车道右边线的质量评分值是否均大于预设评分阈值,如果判断为是,则执行s308和s309。如果判断为否,则说明当前时刻感知的车道线数据准确度过低,无法据此求解设备的位置姿态,可直接结束本方法。

s308、确定所述质量评分值中数值较大的目标边线,并根据所述车道线高精数据中的车道线宽度,和所述目标边线的截距,确定所述车道线感知数据中的另一条边线。

这里需要说明的是,s308和s309可以同步执行。由于s303中已经判断出滤波器此时未被初始化,也就无法正常利用滤波器进行状态估计,因此,通过s308,结合高精地图中的车道线高精数据,对车道线感知数据中质量较低的车道边线重新进行确定,以便在无法使用滤波器的时候也尽可能地利用高精地图提高当前时刻车道线感知数据的质量,而后,同样可以利用中心线匹配或双边线匹配方法匹配求解出设备当前的位置姿态。而s309-s313是判断是否要初始化以及如何初始化的相关操作。

s309、判断所述车道线感知数据中车道左边线和车道右边线的质量评分值是否均大于预设初始化阈值,如果判断为是,则执行s310后执行s312,否则执行s311后执行s312。

s310、连续累加初始化条件满足次数。

s311、初始化条件满足次数置零。

s312、判断经累加的初始化条件满足次数是否达到预设次数阈值,如果判断为是,则执行s313。

s313、根据所述初始化条件满足次数达到预设次数阈值时得到的车道线感知数据,对所述卡尔曼滤波器进行初始化,并返回继续执行s304。

这里,s309-s312是在判断是否进行初始化,目的是确定自动驾驶设备当前是否处于一个相对平稳的运行状态,以便为滤波器输入一个准确又合理的初始值,保障后续滤波器工作的准确性。s313是在执行初始化的操作,当初始化后则可以利用滤波器对实际的车道线数据进行状态估计。

本申请实施例的技术方案,利用卡尔曼滤波器,并结合感知数据和更加准确、清晰、全面的高精地图中的车道线高精数据,对实际的车道线数据进行状态估计,并且,为了给卡尔曼滤波器一个相对准确的初始值,需要将车辆平稳运行状态时感知的车道线感知数据作为所述初始值。因此,利用车道线感知数据的质量评分值来对初始化条件满足次数进行连续累加,并在累加值满足阈值时,认为车辆处于平稳运行状态,再将此时的车道线感知数据作为所述初始值,从而保证滤波器准确的运行,以滤除掉车道线感知数据中错误的数据,产生准确平滑的车道线数据,避免感知跳变,误检等带来的车辆位置姿态求解中出现的跳动等问题,从而为下游模块提供较为稳定平滑的位置姿态数据,提高自动驾驶的安全性。

图4是根据本申请第四实施例的车道线感知数据的预处理方法的流程示意图,本实施例在上述实施例的基础上进一步进行优化,在执行滤波操作之前,对感知数据增加一些约束。如图4所示,该方法具体包括如下:

s401、从高精地图中获取自动驾驶设备当前时刻所在车道的车道线高精数据。

s402、判断车道线感知数据中是否包含车道左边线和车道右边线,如果判断为是,则表示感知到双边线,可以进行状态估计,并执行s404,反之,则表示感知到一条单边线,不进行状态估计,并执行s403。

s403、比较车道线感知数据和车道线高精数据中的单边线截距,并根据比较结果判断所述单边线的可用性。

例如,如果比较结果为车道线感知数据和车道线高精数据中的单边线截距的差值小于一定的阈值,则表明偏差并不大,也即感知到的单边线具有可用性。此时可以不对其进行状态估计,后续则可以利用单边线匹配以求解出设备的位置姿态。如果单边线不可用,则表明当前的感知数据存在较大误差,无法匹配出位置姿态。

s404、比较所述车道线感知数据和车道线高精数据中的车道线宽度的差值和预设宽度阈值,判断所述车道线宽度的差值是否小于所述预设宽度阈值,如果判断为是,则执行s405。

其中,若车道线宽度的差值过大,则表明感知到的车道线数据不可用,质量较低,则可以进行是否有可用单边线的判断,当判断出存在可用单边线时,则后续同样可以利用单边线匹配以求解出设备的位置姿态。

s405、比较所述车道线感知数据和车道线高精数据中车道线中心线之间的偏离距离和预设偏离距离阈值,判断所述车道线中心线之间的偏离距离是否小于所述预设偏离距离阈值,如果判断为是,则执行s406。

其中,若车道线中心线之间的偏离距离过大,则表明感知到的车道线数据不可用,质量较低,则可以进行是否有可用单边线的判断,当判断出存在可用单边线时,则后续同样可以利用单边线匹配以求解出设备的位置姿态。

s406、将所述车道线高精数据作为先验数据,将当前时刻感知得到的车道线感知数据作为观测数据,利用卡尔曼滤波器对实际的车道线数据进行状态估计,得到所述当前时刻的车道线目标数据。

本申请实施例的技术方案,利用卡尔曼滤波器,并结合感知数据和更加准确、清晰、全面的高精地图中的车道线高精数据,对实际的车道线数据进行状态估计,并且在估计之前,如果感知到双边线,则依据车道线宽度以及车道中心线来判断感知数据中双车道的准确性,从而提高卡尔曼滤波的效率和准确性。

图5是根据本申请第五实施例的车道线感知数据的预处理方法的流程示意图,本实施例在上述实施例的基础上进一步进行优化。

如图5所示,在获取主车道的高精地图后,也即获取到当前时刻的车道线高精数据之后,先对感知原始数据进行预判断,如果感知数据中不存在双边线,则进入对单边线是否可用的判断,如果有可用的单边线,则后续的匹配模块利用单边线匹配方法求解车辆的位置姿态;

如果感知数据中有可用的双边线,即含有主车道,则进一步结合高精地图中的数据进行车道线宽度与中心线偏离程度的检测,对车道线感知数据进行约束,如果均为否,则进行对单边线是否可用的判断,如果均为是,则对车道线感知数据的质量进行评分和计算;

若此时卡尔曼滤波器已经被初始化,则利用评分对卡尔曼滤波器中的观测噪声进行映射,然后进行卡尔曼滤波融合,以对车道线感知数据进行预处理,得到精度更高的、更准确的车道线感知数据,为后续匹配模块的中心线匹配求解提供数据依据;

若此时卡尔曼滤波器未被初始化,则进入滤波器初始化阶段,判断何时适合进行初始化,以确定一个合理、准确的初始值,并且在不能进行初始化时,利用高精地图对感知数据中质量较低的车道边线进行重新计算;

而当满足初始化条件时,则可以利用此时的感知数据对滤波器进行初始化。

综上,通过图5所示的方法流程,本申请实施例能有效的利用有限的感知数据,尤其是在道路拥堵、车道线被遮挡等情况降低对感知数据的要求,甚至是在感知完全丢失时仍然能够给出虚拟的车道线。同时,基于卡尔曼滤波融合高精地图数据的方式,不但能够平滑前后帧之间的感知数据,而且能够避免感知跳变、误检等带来的车辆位置姿态求解中出现的跳动等问题,为下游匹配模块提供较为稳定平滑的位置姿态数据,提高自动驾驶的安全性。

图6是根据本申请第六实施例的车道线感知数据的预处理装置的结构示意图,本实施例可适用于在利用车道线感知数据进行匹配求解车辆位置姿态之前,对车道线感知数据进行预处理的情况。该装置可实现本申请任意实施例所述的车道线感知数据的预处理方法。如图6所示,该装置600具体包括:

车道线高精数据获取模块601,用于从高精地图中获取自动驾驶设备当前时刻所在车道的车道线高精数据;

状态估计模块602,用于将所述车道线高精数据作为先验数据,将当前时刻感知得到的车道线感知数据作为观测数据,利用卡尔曼滤波器对实际的车道线数据进行状态估计,得到所述当前时刻的车道线目标数据。

可选的,所述卡尔曼滤波器的状态变量为:

x=[dleft,dright,width,biaswidth]t

其中,x为状态变量的向量表示,t表示矩阵转置,dleft为车道左边线截距,dright为车道右边线截距,width为车道线宽度,biaswidth为车道线感知数据与车道线高精数据中车道线宽度之间的偏差。

可选的,所述装置还包括观测噪声确定模块,用于在所述状态估计模块利用卡尔曼滤波器对实际的车道线数据进行状态估计之前,确定所述卡尔曼滤波器的观测噪声;其中,所述观测噪声确定模块具体包括:

质量评分值计算单元,用于依据所述车道线感知数据与车道线高精数据的匹配程度,分别计算所述车道线感知数据中车道左边线和车道右边线的质量评分值;

噪声计算单元,用于依据所述车道左边线和车道右边线的质量评分值,分别计算所述车道左边线和车道右边线各自的噪声;

观测噪声确定单元,用于依据所述车道左边线和车道右边线各自的噪声,确定所述卡尔曼滤波器的观测噪声。

可选的,所述质量评分值计算单元具体用于:

按照如下维度中的至少一种维度,分别检测所述车道线感知数据中车道左边线和车道右边线,与车道线高精数据中车道左边线和车道右边线的匹配程度:车道线类型、车道线宽度、车道中心线、车道线长度、车道线起始点、车道线质量等级和车道线截距;

根据各维度的匹配程度确定各维度的质量分值,并分别根据所述车道线感知数据中车道左边线和车道右边线各自对应维度的质量分值,计算所述车道线感知数据中车道左边线和车道右边线各自的质量评分值。

可选的,所述车道左边线和车道右边线各自的噪声用如下公式表示:

其中,noise表示所述噪声,value表示所述质量评分值,const为预设的所述观测噪声的上边界。

可选的,所述装置还包括初始化模块,具体用于:

在所述质量评分值计算单元计算所述质量评分值之后,判断所述卡尔曼滤波器是否已被初始化;

如果已被初始化,则执行所述分别计算所述车道左边线和车道右边线各自的噪声的操作;

如果未被初始化,并且所述车道线感知数据中车道左边线和车道右边线的质量评分值均大于预设评分阈值,则确定所述质量评分值中数值较大的目标边线,并根据所述车道线高精数据中的车道线宽度,和所述目标边线的截距,确定所述车道线感知数据中的另一条边线。

可选的,如果所述卡尔曼滤波器未被初始化,并且所述车道线感知数据中车道左边线和车道右边线的质量评分值均大于预设评分阈值,则所述初始化模块还用于:

判断所述车道线感知数据中车道左边线和车道右边线的质量评分值是否均大于预设初始化阈值;

如果均大于预设初始化阈值,则连续累加初始化条件满足次数;

如果经累加的所述初始化条件满足次数达到预设次数阈值,则根据所述初始化条件满足次数达到预设次数阈值时得到的车道线感知数据,对所述卡尔曼滤波器进行初始化,并在初始化后转由所述噪声计算单元执行所述分别计算所述车道左边线和车道右边线各自的噪声的操作。

可选的,所述装置还包括可用性判断模块,具体用于:

在所述状态估计模块602利用卡尔曼滤波器对实际的车道线数据进行状态估计之前,如果所述车道线感知数据中包括车道左边线和车道右边线,则由所述状态估计模块602执行所述利用卡尔曼滤波器对实际的车道线数据进行状态估计的操作;

如果所述车道线感知数据中包括一条单边线,则比较所述车道线感知数据和车道线高精数据中的单边线截距,并根据比较结果判断所述单边线的可用性。

可选的,所述装置还包括车道线宽度比较模块,具体用于:

在所述状态估计模块602利用卡尔曼滤波器对实际的车道线数据进行状态估计之前,比较所述车道线感知数据和车道线高精数据中的车道线宽度的差值和预设宽度阈值;

如果所述车道线宽度的差值小于所述预设宽度阈值,则转由所述状态估计模块602执行所述利用卡尔曼滤波器对实际的车道线数据进行状态估计的操作。

可选的,所述装置还包括中心线偏离距离比较模块,具体用于:

在所述状态估计模块602利用卡尔曼滤波器对实际的车道线数据进行状态估计之前,比较所述车道线感知数据和车道线高精数据中车道线中心线之间的偏离距离和预设偏离距离阈值;

如果所述车道线中心线之间的偏离距离小于所述预设偏离距离阈值,则转由所述状态估计模块602执行所述利用卡尔曼滤波器对实际的车道线数据进行状态估计的操作。

本申请实施例提供的车道线感知数据的预处理装置600可执行本申请任意实施例提供的车道线感知数据的预处理方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。

根据本申请的实施例,本申请还提供了一种自动驾驶设备和一种可读存储介质。

如图7所示,是根据本申请实施例的车道线感知数据的预处理方法的自动驾驶设备的框图。自动驾驶设备例如可以是智能车辆或无人机等,旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。自动驾驶设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图7所示,该自动驾驶设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。

存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的车道线感知数据的预处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的车道线感知数据的预处理方法。

存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的车道线感知数据的预处理方法对应的程序指令/模块(例如,附图6所示的车道线高精数据获取模块601和状态估计模块602)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的车道线感知数据的预处理方法。

存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实现本申请实施例的车道线感知数据的预处理方法的自动驾驶设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至实现本申请实施例的车道线感知数据的预处理方法的自动驾驶设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实现本申请实施例的车道线感知数据的预处理方法的自动驾驶设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。

输入装置703可接收输入的数字或字符信息,以及产生与实现本申请实施例的车道线感知数据的预处理方法的自动驾驶设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

根据本申请实施例的技术方案,利用卡尔曼滤波器,并结合感知数据和更加准确、清晰、全面的高精地图中的车道线高精数据,对实际的车道线数据进行状态估计,滤除掉车道线感知数据中错误的数据,产生准确平滑的车道线数据,避免感知跳变,误检等带来的车辆位置姿态求解中出现的跳动等问题,从而为下游模块提供较为稳定平滑的位置姿态数据,提高自动驾驶的安全性。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

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