掌桥专利:专业的专利平台
掌桥专利
首页

一种基于序列预测的车道线检测系统、装置和方法

文献发布时间:2023-06-19 15:47:50



技术领域

本发明属于车道线检测技术领域,尤其涉及一种基于序列预测的车道线检测系统、装置和方法。

背景技术

车道线检测是无人驾驶视觉感知中的重要技术,目前该领域研究成果集中于单帧图片的使用,基于单帧图片的车道线检测技术主要分为基于分割(segmentation-based)、基于锚点(anchor-based)、按行搜索(row-wise)、参数预测(Parametric Prediction)四大类。

由于车道线检测结果的使用方通常要求车道线通过曲线参数或者曲线关键点的方式给出,因此基于分割、基于锚点和按行搜索方法还需要经过后处理,尤其基于分割方法的后处理更加耗时;参数预测方法的结果需要的后处理较少,目前此类方法如《End-to-endLane Shape Prediction with Transformers》在产生曲线参数的时候,还没有显式的利用已推理出的车道线信息;《Spatial As Deep: Spatial CNN for Traffic SceneUnderstanding》中开源的车道线数据集culane,每张图片按照预定间距划水平线,每条车道线的位置通过其与这些水平线的关键点集合来表示,目前主流的车道线检测算法不直接预测输出这些关键点,而是通过关键点生成分割掩码或者曲线参数,使用前述四大类方法的一类。该方法基于分割方法需要耗时的后处理,基于曲线参数的方法,在引入曲线假设的时候会带入差误。

本发明提出了一种按顺序预测这些密集关键点的方法,可以在快速预测的同时,显式利用已推理出的车道线结构信息,提升准确度。

发明内容

针对现有技术不足,本发明提出了一种基于序列预测的车道线检测系统、装置和方法。

为实现上述目的,本发明的技术方案为:本发明实施例的第一方面提供了一种基于序列预测的车道线检测方法,具体包括以下步骤:

S1,对待检测的图像数据进行归一化操作,得到归一化后的图像,并查找相应的预测关键点序列;

S2,提取归一化后的图像的特征向量,对归一化后的图像的特征向量进行降维得到降维特征,将该降维特征按高宽维度展开,得到图像序列特征;

S3,基于降维特征的维度计算图像位置编码,将图像序列特征和图像位置编码相加,再共同进行编码得到编码记忆;

S4,对步骤S1得到的预测关键点序列进行特征提取,得到解码序列特征;

S5,获取预测关键点序列的位置编码,对编码记忆、预测关键点序列的位置编码与解码序列特征进行解码,得到待预测关键点的隐状态向量;

S6,将待预测关键点的隐状态向量转化为关键点的坐标。

进一步地,所述步骤S1中,查找相应的预测关键点序列的过程具体为:

对归一化后的图像按单位像素delta纵向划分水平线,用一曲线表示归一化后的图像中的第i条车道线的真值,取曲线与其余每条水平线的交点组成为关键点集合;按顺序从关键点集合中取出纵坐标为(q-1)*delta、(q-2)*delta、…3*delta、2*delta、delta、0的关键点的横坐标组成长度为q的短序列,如果短序列长度未达到q,即表示纵坐标对应的点不存在,则用自定义的数值default表示其横坐标;并在每条短序列的结尾加上自定义的阈值lane_end作为当前短序列的结尾,最终每条车道线对应长度为q+1的短序列;

设待检测的图像数据中单张图片出现车道线的最大值为m,对于单张图片中出现 的所有

在长序列的起始位置加上自定义的阈值seq_start得到归一化后的图像对应的预测关键点序列k。

进一步地,所述步骤S2具体为:将归一化后的图像输入主干网络,经过预先设置的卷积层,输出大小为C

进一步地,所述步骤S3中,基于降维特征的维度计算图像位置编码具体为:对于降维特征高宽方向组成的面上的每个位置,其对应的高宽取值分别为x和y;基于x和y分别计算一个位置编码,编码长度为hidden_dim/2;对于x或者y,其值为奇数时采用正弦函数,偶数位置采用余弦函数,或者其值为偶数时采用正弦函数,奇数位置采用余弦函数,将两个位置编码拼接为长度为hidden_dim的图像位置编码,该图像位置编码尺寸为len_enc*hidden_dim,len_enc表示高宽面上的位置个数,hidden_dim为每个位置的位置编码长度。

进一步地,所述步骤S3中,共同进行编码得到编码记忆的过程具体为:将图像序列特征和图像位置编码相加作为输入特征输入由若干层自注意力层组成的编码模块,其中第一层自注意力层的查询矩阵、键矩阵、值矩阵均为输入特征,之后每一层自注意力层的查询矩阵、键矩阵、值矩阵均为前一层的输出特征,每层自注意力层首先基于查询矩阵和键矩阵进行运算,得到自注意力分布,在对自注意力分布归一化后与值矩阵进行运算,得到本层的输出特征;将最后一层自注意力层的输出特征作为编码模块的最终输出,即编码记忆。

进一步地,所述步骤S4具体为:在预测关键点序列的第T个元素处,截取长度为lw的序列,将截取后的序列输入到由若干一维卷积层组成的解码序列特征提取模块中,得到解码序列特征。

进一步地,所述步骤S5中,获取预测关键点序列的位置编码的计算过程具体为:构建一位置嵌入层,将每一个位置编码转化为one-hot编码,通过一个全连接层转换得到长度为1*hidden_dim的预测关键点序列的位置编码。

本发明实施例的第二方面提供了一种基于序列预测的车道线检测系统,包括:数据处理模块、主干网络模块、编码模块、解码序列特征提取模块、解码模块和关键点预测模块;

所述数据处理模块用于将待检测图像进行归一化处理,并得到关键点标注信息;

所述主干网络模块用于提取归一化处理后的图像的图像序列特征;

所述编码模块用于将图像序列特征转化为编码;

所述解码序列特征提取模块用于将预测关键点序列转化为解码序列特征;

所述解码模块用于将编码记忆和解码序列特征转化为待预测关键点隐状态向量;

所述关键点预测模块用于将待预测关键点隐状态向量转化为关键点的坐标。

本发明实施例的第三方面提供了一种基于序列预测的车道线检测装置,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述的基于序列预测的车道线检测方法。

本发明实施例的第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,=所述程序被处理器执行时实现上述的基于序列预测的车道线检测方法。

本发明的有益效果为:本发明提出的基于序列预测的车道线检测方法,通过查找相应的预测关键点序列,对归一化后的图像的特征向量进行降维得到降维特征,展开得到图像序列特征;将图像序列特征和图像位置编码相加,再共同进行编码得到编码记忆;对预测关键点序列进行特征提取得到解码序列特征;对编码记忆、预测关键点序列的位置编码与解码序列特征进行解码,得到待预测关键点的隐状态向量;将待预测关键点的隐状态向量转化为关键点的坐标。本发明方法提高了车道线的密集关键点的预测准确率,并实现了快速预测。

附图说明

图1为本发明方法的流程图;

图2为本发明系统的结构图;

图3为本发明实施例提供的车道线检测图;

图4为本发明实施例提供的一种计算机设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

下面结合附图,对本发明的基于序列预测的车道线检测系统、装置和方法进行详细说明。在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。

本发明提出了基于序列预测的车道线检测系统,如图1所示,包括数据处理模块、主干网络模块、编码模块、解码序列特征提取模块、解码模块和关键点预测模块。

所述数据处理模块的输入为待检测的图像数据,输出归一化之后的图像及相应关键点标注信息;所述主干网络模块输入为归一化之后的图像,输出为图像序列特征;所述编码模块的输入为图像序列特征,输出为编码记忆;所述解码序列特征提取模块输入为已知关键点坐标,输出为解码序列特征;所述解码模块,输入为编码记忆和解码序列特征,输出为待预测关键点隐状态向量;所述关键点预测模块,输入为待预测关键点隐状态向量,输出为关键点的坐标。

本发明提出了基于序列预测的车道线检测方法,如图2所示,具体包括以下步骤:

步骤S1,对待检测的图像数据进行归一化操作,得到归一化之后的图像,并查找相应的预测关键点序列;具体为:

步骤S101,将当前待检测图像输入数据预处理模块Data_propress,所述当前待检测图像的尺寸为C*H*W,分别表示通道数、高度、宽度;将待检测图像做减均值除方差的归一化操作,得到归一化后的图像img;

步骤S102,查找相应预测关键点序列;将归一化后的图像数据img纵向每隔delta个像素画一条水平线,于是有q条水平线,其中q = H/delta+1,所述水平线包括图像上下边;所述delta的值为自定义取值。

用一条曲线l

计算待检测的图像数据单张图片出现车道线的最大值为m,对于单张图片中出现 的所有

在长序列的起始位置加上阈值seq_start得到img对应的预测关键点序列k,所述阈值seq_shart的值由预先定义。

步骤S2,提取归一化后的图像中的特征向量,对特征向量进行降维得到降维特征,将降维特征按高宽维度展开,得到图像序列特征;具体为:

构造主干网络模块Backbone,输入归一化后的图像img,经过预先设置的卷积层,输出大小为C

将主干网络模块中的特征向量feat_backbone输入一卷积神经网络(Convolutional Neural Networks,CNN),其输入通道数为C

将降维特征featrue的按高宽两个维度展开,得到长度len_enc=H

步骤S3,基于降维特征的维度计算图像位置编码,将图像序列特征和图像位置编码相加,再共同进行编码得到编码记忆;具体包括以下子步骤:

S301,基于降维特征的维度计算图像位置编码img_pos_embd:对于降维特征feature高宽方向组成的面上的每个位置,其对应的高宽取值分别为x和y;基于x和y分别计算一个位置编码,编码长度为hidden_dim/2。对于x或者y,其值为奇数时采用正弦函数,偶数位置采用余弦函数,或者其值为偶数时采用正弦函数,奇数位置采用余弦函数,将两个位置编码拼接为长度为hidden_dim的图像位置编码img_pos_embd,该图像位置编码尺寸为len_enc*hidden_dim,len_enc表示高宽面上的位置个数,hidden_dim为每个位置的位置编码长度。

S302,将步骤S2得到的图像序列特征src和步骤S301得到的图像位置编码img_pos_embd相加,得到编码模块的输入特征enc_seq,其尺寸为len_enc*hidden_dim。

S303,构建编码模块:所述编码模块由num_attn层自注意力层组成,num_attn由预先设定。

S304,将步骤S302得到的输入特征enc_seq输入编码模块,其中第一层自注意力层的查询矩阵、键矩阵、值矩阵均为输入特征enc_seq,之后每一层自注意力层的查询矩阵、键矩阵、值矩阵均为前一层的输出特征,每层自注意力层首先基于查询矩阵和键矩阵进行运算,得到自注意力分布,在对自注意力分布归一化后与值矩阵进行运算,得到本层的输出特征。将最后一层自注意力层的输出特征作为编码模块的最终输出,即编码记忆memory,尺寸为len_enc*hidden_dim。

步骤S4,对预测关键点序列进行特征提取,得到解码序列特征;具体为:

在预测关键点序列k的第T个元素的时候,序列k中的第1个到第T-1个元素是已知的,即k

所述解码序列特征提取模块(Seq_cnn)的由num_tcn个一维卷积层组成,卷积层数、卷积核大小、每层的输入输出大小可以由预先设定,需要满足第一层卷积层的输入大小为1*lw,最后一层的卷积层的输出大小为1*hidden_dim。

步骤S5,通过位置嵌入层来获取位置编码,将编码记忆、位置编码与解码序列特征进行解码,得到待预测关键点隐状态向量;具体为:

S501,计算输入预测关键点序列k的位置编码,该位置编码通过构建一个位置嵌入层来获取,其作用是将每一个位置编码转化为one-hot编码,通过一个全连接层转换为长度为1*hidden_dim的位置编码query_pos_embd。

S502,构建解码模块:所述解码模块由n1个自注意力层和n2个编解码注意力层组成,n1、n2的值以及两种注意力层的先后顺序由预先设定。

S503,将步骤S3得到的编码记忆memory、步骤S501得到的预测关键点序列的位置编码query_pos_embd与步骤S4得到的解码序列特征seq_feat输入步骤S502构建的解码模块进行解码,得到待预测关键点隐状态向量。

S504,其中第一个注意力层的输入为解码序列特征seq_feat,其后每个注意力层的输入为上一个注意力层的输出特征与解码序列特征seq_feat的相加;每个自注意力层的查询矩阵、键矩阵为本层输入与位置编码query_pos_embd相加,值矩阵为本层输入;每个编解码注意力层的查询矩阵为本层输入与位置编码query_pos_embd相加,键矩阵和值矩阵为编译记忆memory。在预测第T个关键点的时候,根据已知的编码记忆memory、解码序列特征seq_feat、位置编码query_pos_embd解码出隐状态向量hs

步骤S6,将待预测关键点隐状态向量转化为关键点的坐标。具体为:

构建关键点预测模块(Pred-net):该关键点预测模块(Pred-net)由num_ffn个全连接层组成,num_ffn由预先设定。

将步骤S5得到的隐状态向量hs

实施例1

本发明实施例提出了基于序列预测的车道线检测方法,具体包括以下步骤:

步骤S1,构建数据预处理模块Data_propress,输入当前待检测图像,尺寸为3*720*1280,分别表示通道数,高度,宽度;将待检测图像做减均值除方差的归一化操作,得到归一化后的图像img,将图像数据纵向每隔10个像素画一条水平线,于是有73(720/10+1)条水平线,包括图像上下边。

用一条曲线l

整个训练集中单张图片最多有4条车道线,所有车道线从左到右排序,可以组成长度为296(74*4)的长序列,如果车道线不足4条,用73个-1加上1个2000来表示每一条缺失的车道线。

在长序列的起始位置加上起始符号1500得到img对应的输入关键点序列k。

步骤S2,构造主干网络模块Backbone,输入img,得到对应的特征张量,尺寸为2048* 23 * 40,将该特征张量输入1个卷积层,输入通道数2048,输出通道数256,卷积核1*1,步长1*1,得到256*23*40的降维特征featrue,其中256为通道数,23为高,40为宽,将featrue的高宽两个维度展开,得到长度23*40的图像序列特征src,其中src的每一个元素用尺寸为1*256的向量表示。

步骤S3,计算图像位置编码img_pos_embd,对于feature高宽方向组成的面上的每个位置,其对应的高宽取值分别为x和y,基于x和y分别计算一个位置编码,编码长度为128,对于x或者y,其值为奇数时采用正弦函数,偶数位置采用余弦函数,将两个位置编码拼接为长度为256的图像位置编码img_pos_embd,尺寸为920*256,920表示高宽面上位置个数,256为每个位置的位置编码长度。

构建编码模块Encode_net,由6层自注意力层组成,将src和图像位置编码img_pos_embd相加得到编码模块的输入enc_seq,尺寸为920*256,得到编码模块的最终输出memory,尺寸为920*256。

步骤S4,构建解码序列特征提取模块Seq_cnn,包含3层一维卷积层,其卷积核大小分别为1*3、1*5、1*10,输出长度分别为64、128、256,在预测输入序列k的第T个元素是,第1个到第T-1个元素是已知的,即k

步骤S5,计算输入序列k的位置编码query_pos_embd,位置编码通过构建一个位置嵌入层来获取,其作用是将每一个位置编码为one-hot编码,通过一个全连接层转换为长度为1*256的向量。

构建解码模块Decode_net,由6个自注意力层和6个编解码注意力层交叠组成,其中自注意力层在前, 第一个注意力层的输入为seq_feat,其后每个注意力层的输入为上一个注意力层的输出特征与seq_feat的相加;每个自注意力层的查询矩阵、键矩阵为本层输入与query_pos_embd相加,值矩阵为本层输入;每个编解码注意力层的查询矩阵为本层输入与query_pos_embd相加,键矩阵和值矩阵为编译记忆memory。

在预测第T个关键点时,根据已知的memory、seq_feat、query_pos_embd解码出隐状态向量hs

步骤S6,构建关键点预测模块Pred_net,其由1个全连接层组成,输入为当前的隐状态向量hs

本发明实施例得到的车道线检测图如图3所示,图中白色的关键点为本发明实施例预测得到的关键点,图中若干的预测的关键点组成预测的车道线。由此,本发明方法提高了车道线的密集关键点的预测准确率,能够实现快速预测。

与前述基于序列预测的车道线检测方法的实施例相对应,本发明还提供了基于序列预测的车道线检测装置的实施例。

参见图4,本发明实施例提供的一种基于序列预测的车道线检测装置,包括一个或多个处理器,用于实现上述实施例中的基于序列预测的车道线检测方法。

本发明基于序列预测的车道线检测装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明基于序列预测的车道线检测装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于序列预测的车道线检测方法。

所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。

以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。

技术分类

06120114582403