车道线识别方法、装置、电子设备及存储介质转让专利

申请号 : CN202211036766.6

文献号 : CN115147801B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴彬钟开张通滨杨建忠卢振夏德国黄际洲

申请人 : 北京百度网讯科技有限公司

摘要 :

本公开提供了车道线识别方法、装置、电子设备及存储介质,涉及人工智能技术领域,尤其涉及智慧交通、自动驾驶、高精地图、深度学习技术领域。具体实现方案为:提取原始图像的基础特征;利用原始图像的基础特征,识别原始图像中的至少一个车道线关键点;利用至少一个车道线关键点,从该原始图像的基础特征中提取局部特征,并将基础特征和局部特征进行融合;以及,基于融合后的结果,识别原始图像中的车道线。本公开能够提高车道线识别效果。

权利要求 :

1.一种车道线识别方法,包括:

提取原始图像的基础特征;

利用所述原始图像的基础特征,识别所述原始图像中的至少一个车道线关键点;

利用所述至少一个车道线关键点,从所述原始图像的基础特征中提取局部特征,并将所述基础特征和所述局部特征融合;以及,基于融合后的结果,确定所述原始图像的车道线编码信息;

利用所述车道线编码信息识别所述原始图像中的车道线;

其中,所述原始图像的车道线编码信息包括所述原始图像中各个像素的第一信息,所述第一信息包括以下至少一项:所述像素是否为车道线关键点;

所述像素的邻接车道线关键点的个数;

所述像素与所述邻接车道线关键点的位置关系。

2.根据权利要求1所述的方法,其中,所述各个像素的第一信息采用三维向量表示;

所述三维向量中的两个元素表示所述像素在所述原始图像中的位置,所述三维向量中的另一个元素表示所述像素的第一信息。

3.根据权利要求1或2所述的方法,其中,在所述像素是车道线关键点的情况下,所述像素与所述邻接车道线关键点的位置关系,包括:所述像素与所述邻接车道线关键点的连接线相对于所述原始图像的坐标轴的偏向角度;以及,所述像素与所述邻接车道线关键点的连接线的长度。

4.根据权利要求1或2所述的方法,其中,利用所述车道线关键点,从所述原始图像的基础特征中提取局部特征,包括:利用所述车道线关键点构建多个局部框;

利用所述多个局部框对所述原始图像的基础特征进行切分,得到所述局部特征。

5.根据权利要求4所述的方法,其中,所述利用所述车道线关键点构建多个局部框,包括:利用所述车道线关键点构建四个局部框,使所述车道线关键点分别位于所述四个局部框的右下角、左下角、右上角和左上角;

所述四个局部框的尺寸为预先设定的值。

6.根据权利要求5所述的方法,其中,所述基础特征采用第一向量表示,所述局部特征采用第二向量表示;

所述将所述基础特征和所述局部特征融合,包括:将所述第一向量和所述第二向量进行组合,得到第三向量。

7.根据权利要求1或2所述的方法,其中,所述利用所述原始图像的基础特征,识别所述原始图像中的至少一个车道线关键点,包括:利用所述原始图像的基础特征,确定所述原始图像对应的关键点分布信息,所述关键点分布信息用于表示所述原始图像中的至少一个车道线关键点;

所述关键点分布信息中包含每个像素的类型。

8.一种车道线识别装置,包括:

主干模块,用于提取原始图像的基础特征;

关键点识别模块,用于利用所述原始图像的基础特征,识别所述原始图像中的至少一个车道线关键点;

提取及融合模块,用于利用所述至少一个车道线关键点,从所述原始图像的基础特征中提取局部特征,并将所述基础特征和所述局部特征融合;以及,车道线识别模块,用于基于融合后的结果,识别所述原始图像中的车道线;其中,所述车道线识别模块包括:编码确定子模块,用于基于融合后的结果,确定所述原始图像的车道线编码信息;其中,所述原始图像的车道线编码信息包括所述原始图像中各个像素的第一信息,所述第一信息包括所述像素是否为车道线关键点、所述像素的邻接车道线关键点的个数、以及所述像素与所述邻接车道线关键点的位置关系中的至少一项;

识别子模块,用于利用所述车道线编码信息识别所述原始图像中的车道线。

9.根据权利要求8所述的装置,其中,所述各个像素的第一信息采用三维向量表示;

所述三维向量中的两个元素表示所述像素在所述原始图像中的位置,所述三维向量中的另一个元素表示所述像素的第一信息。

10.根据权利要求8或9所述的装置,其中,在所述像素是车道线关键点的情况下,所述像素与所述邻接车道线关键点的位置关系,包括:所述像素与所述邻接车道线关键点的连接线相对于所述原始图像的坐标轴的偏向角度;以及,所述像素与所述邻接车道线关键点的连接线的长度。

11.根据权利要求8或9所述的装置,其中,所述提取及融合模块包括:局部特征提取子模块,用于利用所述车道线关键点构建多个局部框,利用所述多个局部框对所述原始图像的基础特征进行切分,得到所述局部特征。

12.根据权利要求11所述的装置,其中,

所述局部特征提取子模块用于,利用所述车道线关键点构建四个局部框,使所述车道线关键点分别位于所述四个局部框的右下角、左下角、右上角和左上角;

所述四个局部框的尺寸为预先设定的值。

13.根据权利要求12所述的装置,其中,所述基础特征采用第一向量表示,所述局部特征采用第二向量表示;

所述提取及融合模块还包括:

融合子模块,用于将所述第一向量和所述第二向量进行组合,得到第三向量。

14.根据权利要求8或9所述的装置,其中,所述关键点识别模块,用于利用所述原始图像的基础特征,确定所述原始图像对应的关键点分布信息,所述关键点分布信息用于表示所述原始图像中的至少一个车道线关键点;所述关键点分布信息中包含每个像素的类型。

15.一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑7中任一项所述的方法。

16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1‑7中任一项所述的方法。

说明书 :

车道线识别方法、装置、电子设备及存储介质

技术领域

[0001] 本公开涉及人工智能技术领域,尤其涉及智慧交通、自动驾驶、高精地图、深度学习技术领域。

背景技术

[0002] 近年来,随着人工智能技术的不断发展,高精地图技术逐渐取得突破性进展。在高精地图中,车道线检测是地图要素感知的核心技术,在高精度地图数据生产方向具有极为重要的作用。基于深度学习的车道线检测方法逐渐成为主流的方式。基于深度学习的车道线检测方法通常是基于语义分割、后处理车道线提取的方法,由于其后处理环节冗余,导致车道线识别效果较差。

发明内容

[0003] 本公开提供了一种车道线识别方法、装置、电子设备以及存储介质。
[0004] 根据本公开的一方面,提供了一种车道线识别方法,包括:
[0005] 提取原始图像的基础特征;
[0006] 利用原始图像的基础特征,识别原始图像中的至少一个车道线关键点;
[0007] 利用至少一个车道线关键点,从原始图像的基础特征中提取局部特征,并将基础特征和局部特征进行融合;以及,
[0008] 基于融合后的结果,识别原始图像中的车道线。
[0009] 根据本公开的另一方面,提供了一种车道线识别装置,包括:
[0010] 主干模块,用于提取原始图像的基础特征;
[0011] 关键点识别模块,用于利用原始图像的基础特征,识别原始图像中的至少一个车道线关键点;
[0012] 提取及融合模块,用于利用至少一个车道线关键点,从原始图像的基础特征中提取局部特征,并将基础特征和局部特征融合;以及,
[0013] 车道线识别模块,用于基于融合后的结果,识别原始图像中的车道线。
[0014] 根据本公开的另一方面,提供了一种电子设备,包括:
[0015] 至少一个处理器;以及
[0016] 与该至少一个处理器通信连接的存储器;其中,
[0017] 该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开中任一实施例的方法。
[0018] 根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开中任一实施例的方法。
[0019] 本公开提出的车道线识别方法,能够基于原始图像的基础特征和局部特征的融合结果来识别车道线,避免了复杂的后处理环节,从而能够提高车道线识别效果。
[0020] 应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

[0021] 附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0022] 图1是现有的基于语义分割、后处理的车道线识别方法示意图;
[0023] 图2是本公开一实施例的车道线识别方法200的实现流程图;
[0024] 图3是根据本公开一实施例的局部特征提取方式示意图;
[0025] 图4是根据本公开一实施例的车道线像素编码示意图;
[0026] 图5是根据本公开一实施例的车道线编码信息示意图;
[0027] 图6是根据本公开一实施例的车道线识别的整体框架示意图;
[0028] 图7是根据本公开一实施例的车道线识别装置700的结构示意图;
[0029] 图8是根据本公开一实施例的车道线识别装置800的结构示意图;
[0030] 图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。

具体实施方式

[0031] 以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0032] 车道线检测算法主要分为传统检测算法和基于深度学习的车道线检测算法。其中,基于深度学习的车道线检测的主流方式是基于语义分割、后处理车道线提取的方式,这种方式由于后处理环节冗余,导致车道线识别效果较差。
[0033] 图1是现有的基于语义分割、后处理的车道线识别方法示意图,如图1所示,该识别方式主要包括以下阶段:
[0034] 1、基于语义分割算法对原始图像进行像素级分割,得到语义分割图;
[0035] 2、基于语义分割图,提取车道线轮廓;
[0036] 3、基于车道线轮廓,提取车道线中心线;
[0037] 4、对提取出的车道线中心线进行车道线聚合,将同一方向多个车道线聚合成为一个车道线;
[0038] 5、对聚合后的车道线进行拟合,将车道线拟合为平滑的车道线曲线,完成车道线识别。
[0039] 可以看出,上述过程包括多个处理环节,而环节冗余会导致车道线识别效果较差。例如,在每个环节的准确率为90%的情况下,理论上最终车道线识别的准确率约为90%×90%×90%×90%×90%=59%。由此可见,由于前一环节的识别误差会累积到后一环节中,而现有的基于语义分割、后处理的车道线识别方法所包括的处理环节较多,导致现有车道线识别方法对车道线的识别效果较差。
[0040] 本公开实施例提出一种车道线识别方法,摈弃了冗余的后处理环节,能够提高车道线识别效果。图2是本公开一实施例的车道线识别方法200的实现流程图,包括:
[0041] S210:提取原始图像的基础特征;
[0042] S220:利用该原始图像的基础特征,识别该原始图像中的至少一个车道线关键点;
[0043] S230:利用该至少一个车道线关键点,从该原始图像的基础特征中提取局部特征,并将该基础特征和该局部特征融合;以及,
[0044] S240:基于融合后的结果,识别该原始图像中的车道线。
[0045] 其中,原始图像可以是交通场景中的图像,例如可以是车载摄像装置、智能交通摄像装置等获取的影像数据。原始图像可以是静态的图片、动态的视频图像、或者从视频图像中提取出的视频帧等多种形式,本公开实施例对于原始图像的形式及获取途径不做限制。
[0046] 在步骤S220中,利用基础特征识别出的车道线关键点初步具备了车道线的相关信息,但是由于基础特征的表达性较弱,其识别的效果相对较差。本公开实施例通过后续步骤,将局部特征和基础特征进行融合,并利用融合后的结果,最终识别出车道线。由于局部特征重点表示车道线关键点周围的特征信息、基础特征表示原始图像的整体信息,因此融合后的结果既能够表征原始图像的整体信息、又能够很好地表征车道线关键点周围的局部信息,故而采用融合后的结果识别车道线的效果更好。
[0047] 由上述过程可见,本公开实施例提出的车道线识别方法是一种端到端的高精度车道线检测方法,即输入为原始图像、输出为完整的高精度车道线。相比图1所示的提取车道线轮廓、提取车道线中心线、车道线聚合、车道线拟合等多阶段处理方式,本公开实施例避免了繁琐冗余的处理环节,能够提高车道线识别效果,提高车道线识别的准确率和召回率。
[0048] 本公开实施例提出的车道线识别方法可以利用一个或多个神经网络模型或深度学习模型(简称模型)来实现。
[0049] 在一些实施方式中,本公开实施例可以采用模型的骨干(Backbone)网络提取原始图像的基础特征,即执行上述步骤S210。例如,将车载摄像头、智能交通摄像装置等获取的原始图像输入神经网络模型的Backbone网络,由神经网络模型的Backbone网络输出该原始图像的基础特征。
[0050] Backbone网络可以采用提取特征的网络,其作用可以是提取图像中的信息,供后续的网络使用。Backbone网络经常采用深度残差网络(Deep residual network,ResNet)、视觉几何组(VGG,Visual Geometry Group)网络等,这类网络已经证明了在图像分类、图像识别等问题上的特征提取能力是很强的。本公开实施例在使用这些网络作为Backbone网络时,可以直接加载已经训练好的模型参数,之后连接后续网络。在训练过程中,可以对整体网络同步进行训练。
[0051] 在一些实施方式中,本公开实施例的利用原始图像的基础特征,识别原始图像中的至少一个车道线关键点(如上述步骤S220)的方式包括:
[0052] 利用原始图像的基础特征,确定原始图像对应的关键点分布信息,其中关键点分布信息用于表示原始图像中的至少一个车道线关键点;
[0053] 关键点分布信息中包含每个像素的类型。
[0054] 通过确定原始图像中的关键点分布信息,可以实现对原始图像中车道线关键点的初步识别,为提取用于表示车道线关键点周围特征信息的局部特征提供基础。
[0055] 例如,该类型为背景、车道线关键点或车道线边。
[0056] 在一些实施方式中,本公开实施例可以采用一个或多个神经网络模型、或者采用一个神经网络模型中的一个或多个层,利用步骤S210提取的基础特征,识别出关键点分布信息。例如,该关键点分布信息可以为关键点图像(Node map),Node map中每个像素的取值可以为0、1或2;其中,
[0057] 取值为0,表示该像素属于背景;
[0058] 取值为1,表示该像素属于车道线关键点;
[0059] 取值为2,表示该像素属于车道线边。
[0060] 在一些实施方式中,上述“背景”可以指除车道线(包括车道线关键点和车道线边)以外的部分。
[0061] 在本示例中,像素的取值为1,表示该像素是车道线关键点;像素的取值为其他值(如0或2),表示该像素不是车道线关键点。
[0062] 上述像素的取值及含义仅为举例,本公开实施例对此不做限制。本公开实施例可以采用任意取值来代表像素属于车道线关键点。并且,在本公开实施方式中,可以不对背景和车道线边进行区分。例如,Node map中每个像素的取值可以为0或1;其中,取值为1,表示该像素属于车道线关键点;取值为0,表示该像素不属于车道线关键点。
[0063] 在一些实施方式中,本公开实施例的步骤S230中,利用车道线关键点,从原始图像的基础特征中提取局部特征的方式包括:
[0064] 利用车道线关键点构建多个局部框;
[0065] 利用该多个局部框对原始图像的基础特征进行切分,得到局部特征。
[0066] 图3是根据本公开一实施例的局部特征提取方式示意图,如图3所示,本公开实施例可以利用车道线关键点构建四个局部框,使车道线关键点分别位于四个局部框的右下角、左下角、右上角和左上角,四个局部框的尺寸为预先设定的值;再利用四个局部框分别对原始图像的基础特征进行切分,切分后得到的数据即为局部特征。
[0067] 上述示例中,采用车道线分别位于右下角、左下角、右上角和左上角的四个局部框切分基础特征,能够使得切分得到的局部特征可以重点表示出车道线关键点、以及车道线关键点周围的特征信息,从而提高车道线识别的效果。
[0068] 在一些实施方式中,原始图像的基础特征可以表示为特征向量,例如该特征向量的大小为H*W*64;其中,H为原始图像的高度(单位为像素个数)、W为原始图像的宽度(单位为像素个数)。以像素A为例,像素A为车道线关键点,提取像素A对应的局部特征的过程为:
[0069] 1、获取像素A的坐标 x,y ;
[0070] 2、以A的坐标位置为右下角、左下角、右上角、左上角,分别构建4个5*5的局部框;这里,5*5是预先设定的局部框的尺寸,该尺寸仅为举例;
[0071] 3、利用构建的局部框对图像基础特征进行切分,获取局部特征。
[0072] 这样,一个像素对应4个尺寸为5*5的局部框,每个局部框都需要在原始图像的基础特征(H*W*64的特征向量)中切分提取局部特征,因此一个像素的局部特征向量的大小为:4*64*5*5,考虑到方便后续对提取后的局部特征进行融合,可以将局部特征向量调整为三维向量,如调整为256*5*5大小的特征向量。
[0073] 需要说明的是,图3所示的局部框是一种抽象的表示方式,用于表示抽取车道线关键点邻近部分的局部特征(局部特征用向量表示),并不代表具体的形状。
[0074] 上述示例是从单个车道线关键点的角度进行介绍的。针对单个车道线关键点,可以得到其对应的局部特征。如果之前的步骤中识别出多个车道线关键点,则在本步骤中可以针对各个车道线关键点分别得到其对应的局部特征,并在后续过程中将基础特征和多个车道线关键点对应的局部特征进行融合。
[0075] 在一些实施方式中,原始图像的基础特征采用第一向量表示,车道线关键点对应的局部特征采用第二向量表示;
[0076] 将基础特征和局部特征融合的方式可以包括:将第一向量和第二向量进行组合,得到第三向量。
[0077] 采用向量组合的方式,可以使基础特征和局部特征融合后得到的特征仍然表示为向量的形式,方便后续车道线识别过程中使用。
[0078] 例如,如果识别出多个车道线关键点,则每个车道线关键点对应的局部特征可以采用一个第二向量表示;这样,在将基础特征和局部特征进行融合时,可以将第一向量和多个第二向量(即所有车道线关键点对应的局部特征的向量表示)进行组合,得到第三向量。融合后的第三向量可以是一个三维向量。
[0079] 上述提取局部特征、以及将基础特征和局部特征进行融合的过程,可以采用一个或多个神经网络模型、或者一个神经网络模型中的一个或多个层来实现。
[0080] 本公开实施例采用车道线局部特征与全局特征的融合的方式,能够大幅提升车道线识别精度,从而实现像素级的车道线高精度识别;即使在车辆遮挡、车道线压盖等特殊场景下,本公开实施例也能够通过端到端生成式网络,大幅提升车道线识别召回率以及模型鲁棒性。
[0081] 在一些实施方式中,本公开实施例中基于融合后的结果,识别原始图像中的车道线(如上述步骤S240)的方式可以包括:
[0082] 基于融合后的结果,确定原始图像的车道线编码信息;
[0083] 利用车道线编码信息识别原始图像中的车道线。
[0084] 在一些实施方式中,原始图像的车道线编码信息包括原始图像中各个像素的第一信息,该第一信息包括以下至少一项:
[0085] (1)像素是否为车道线关键点;
[0086] (2)像素的邻接车道线关键点的个数;
[0087] (3)像素与邻接车道线关键点的位置关系。
[0088] 例如,在某像素是车道线关键点的情况下,该像素的第一信息包含该像素的邻接车道线关键点的个数、以及该像素与邻接车道线关键点的位置关系。又如,在某像素不是车道线关键点的情况下,该像素的第一信息不包含该像素的邻接车道线关键点的个数、以及该像素与邻接车道线关键点的位置关系;相应地,第一信息中表示该像素的邻接车道线关键点的个数的部分、以及表示该像素与邻接车道线关键点的位置关系的部分的取值为默认值。
[0089] 由上述车道线编码信息的示例可见,车道线编码信息中各个像素的第一信息包含了该像素是否为车道线关键点的信息、以及与周围关键点的位置关系,能够全面涵盖像素的车道线相关信息,保证了车道线识别的效果。
[0090] 在一些实施方式中,在像素是车道线关键点的情况下,该像素与邻接车道线关键点的位置关系可以包括:该像素与邻接车道线关键点的连接线相对于原始图像的坐标轴的偏向角度;以及该像素与邻接车道线关键点的连接线的长度。这里的坐标轴可以指水平坐标轴或垂直坐标轴。这种位置关系表示方法,能够采用较少的数据量表达车道线关键点之间的位置关系,减少数据量、并降低数据处理难度。
[0091] 或者,在像素是车道线关键点的情况下,该像素与邻接车道线关键点的位置关系可以包括:邻接车道线关键点相对于该像素在水平方向的偏移量、以及邻接车道线关键点相对于该像素在垂直方向的偏移量。
[0092] 本公开实施例还可以采用其他的位置关系表达形式,在此不一一列举。
[0093] 在一些实施方式中,各个像素的第一信息可以采用三维向量表示;该三维向量中的两个元素表示该像素在原始图像中的位置(例如包括水平方向上的位置垂直方向上的位置),该三维向量中的第三个元素表示该像素的第一信息。
[0094] 车道线检测中,车道线的编码形式非常关键。只有有效的编码车道线,才能让深度学习算法更准确地识别图像中的车道线,同时提供更直接的车道线表现形式,给端到端的车道线检测的实现提供可能。本公开实施例提出的车道线编码通过编码算法将图像中的车道线编码为向量的形式。
[0095] 本公开实施例将车道线编码为三维向量,即采用三维向量的形式表示上述的车道线编码信息。此三维向量可有效地表达车道线在图像中的具体位置,同时也能支撑深度学习进行端到端的车道线检测识别。图4是根据本公开一实施例的车道线像素编码示意图。图4中的点A、B、C、D、E、F是组成车道线的车道线关键点。使用以下字典来编码图4中的车道线结构,该字典包括多个键值对(Key‑Value),每个键值对表示一个车道线关键点的坐标、以及该车道线关键点的所有邻接车道线关键点的坐标。
[0096] {
[0097] A:[ B ],
[0098] B:[ A,C ],
[0099] C:[ B,D,E ],
[0100] D:[ C ],
[0101] E:[ C,F ],
[0102] F:[ E ]
[0103] }
[0104] 由以上字典可见,车道线关键点A的邻接车道线关键点包括B,车道线关键点B的邻接车道线关键点包括A和C,等等。
[0105] 上述的车道线编码结构并不能直接用于端到端车道线检测算法训练,为了解决这一问题,本公开实施例将部分信息编码为可用于训练的三维向量,也就是编码为上述实施例过程中的车道线编码信息。对某一张图像,需要对图像中的每个像素点都进行编码。编码信息包括三部分:
[0106] 1、节点(Node)位:1位编码,表示当前像素点是否是车道线关键点。例如,该位取0时,表示不是车道线关键点;该位取1时,表示是车道线关键点。
[0107] 2、连接(Link)位:6位编码,如果当前像素点是车道线关键点,则Link位表示该像素点是否存在邻接车道线关键点、以及存在几个邻接车道线关键点。Link位的默认值为全部位置均取0(如“000000”)。例如,如果有N(N为正整数)个邻接车道线关键点,则从左到右依次将前N个0编码修改为1,表示存在邻接节点。例如,如果某像素的Link位取值为“000000”,则表示该像素所表示的车道线关键点没有邻接车道线关键点。又如,如果某像素的Link位取值为“111000”,则表示该像素所表示的车道线关键点有3个邻接车道线关键点。可以看出,本例中最多能够表示一个像素的6个邻接车道线关键点;当然,Link位的6位编码的形式仅为示例;如果将Link位的编码设置为其他长度,则最多能够表示的邻接车道线关键点的数量也随之发生变化。如果某像素的Node位取值为“0”,即该像素不是车道线关键点,该像素的Link位取值可以为“000000”。
[0108] 3、位置关系(Dx&Dy)位:12位编码,表示当前像素和邻接车道线关键点的位置关系。默认值为全部位置均取0,如(0,0)x6。如果当前像素点是一个车道线关键点,则在Link位中填写“1”的位置所对应的(Dx&Dy)位中,分别表示该像素与邻接车道线关键点的连接线相对于原始图像的坐标轴的偏向角度;以及该像素与邻接车道线关键点的连接线的长度。
[0109] 图5是根据本公开一实施例的车道线编码信息示意图。如图5所示,三维的车道线编码向量能够表示原始图像中的车道线关键点。该三维向量表示的大小为H*W*19,其中,H为原始图像的高度(单位为像素个数)、W为原始图像的宽度(单位为像素个数)。需要强调的是,上述三维向量的大小中的“19”仅为举例,该大小与单个像素的编码方式有关;在编码形式发生变化的情况下,该三维向量的大小也随之改变。
[0110] 采用这种方式,可以对原始图像中的每个像素点依次进行编码,使每一个像素点都拥有一个19位的编码,从而将整张原始图像的车道线结构编码到三维向量中。端到端的车道线识别模型可以基于该车道线编码结构进行训练和学习。可见,本公开实施例采用编码方式,创新了车道线图编码算法,能够将图像中的车道线编码为三维向量,为基于深度学习的端到端车道线检测模型建设提供了可行性的编码方式,有效解决了端到端车道线训练中车道线编码难题,从而进一步提高车道线识别的准确率。
[0111] 以上介绍了本公开实施例提出的车道线识别方法,该车道线识别可以采用一个或多个神经网络模型实现。本方案主要在两方面做了创新:第一是初步识别原始图像中的车道线关键点,从而提取局部特征,将局部信息与基础特征融合,采用融合后的信息进行车道线识别,能够提高车道线识别的准确率。第二是对融合后的信息进行编码,采用本公开提出的编码方式编码得到三维向量,将该三维向量用于最终的车道线识别,能够进一步提高车道线的端到端精确识别。
[0112] 本公开实施例提出的车道线识别方法可以采用神经网络模型实现,图6是根据本公开一实施例的车道线识别的整体框架示意图。如图6所示,Backbone网络对输入的原始图像进行特征提取,得到原始图像的基础特征,该基础特征作为后续车道线识别的基础信息。基于该基础特征,识别出原始图像中的车道线关键点,车道线关键点的信息可以采用图6中的关键点图像(Node map)表示。这一步骤中提取的车道线关键点是一个初步的提取;之后,利用该车道线关键点的信息从基础特征中提取局部特征,并将基础特征和局部特征融合。
基于融合后的特征,可以采用神经网络算法进行车道线编码向量预测,将融合后的特征转换为对应的车道线编码向量;本公开实施例对神经网络算法的具体方式不做限制。最后,基于车道线编码向量,可以得到最终的车道线识别结果。将车道线编码向量转换为车道线识别结果的过程,可以采用上述编码过程的逆运算,具体可以参见上述图4和图5所示的编码过程,在此不再赘述。
[0113] 本公开实施例还提出一种车道线识别装置,图7是根据本公开一实施例的车道线识别装置700的结构示意图,包括:
[0114] 主干模块710,用于提取原始图像的基础特征;
[0115] 关键点识别模块720,用于利用原始图像的基础特征,识别原始图像中的至少一个车道线关键点;
[0116] 提取及融合模块730,用于利用至少一个车道线关键点,从原始图像的基础特征中提取局部特征,并将基础特征和局部特征融合;以及,
[0117] 车道线识别模块740,用于基于融合后的结果,识别原始图像中的车道线。
[0118] 图8是根据本公开一实施例的车道线识别装置800的结构示意图,如图8所示,在一些实施方式中,本公开实施例提出的车道线识别模块740包括:
[0119] 编码确定子模块741,用于基于融合后的结果,确定原始图像的车道线编码信息;其中,原始图像的车道线编码信息包括原始图像中各个像素的第一信息,该第一信息包括该像素是否为车道线关键点、该像素的邻接车道线关键点的个数、以及该像素与邻接车道线关键点的位置关系中的至少一项;
[0120] 识别子模块742,用于利用车道线编码信息识别原始图像中的车道线。
[0121] 在一些实施方式中,各个像素的第一信息采用三维向量表示;
[0122] 三维向量中的两个元素表示该像素在原始图像中的位置,三维向量中的另一个元素表示概念像素的第一信息。
[0123] 在一些实施方式中,在像素是车道线关键点的情况下,该像素与邻接车道线关键点的位置关系,包括:
[0124] 该像素与邻接车道线关键点的连接线相对于原始图像的坐标轴的偏向角度;以及,
[0125] 该像素与邻接车道线关键点的连接线的长度。
[0126] 在一些实施方式中,提取及融合模块730包括:
[0127] 局部特征提取子模块731,用于利用车道线关键点构建多个局部框,利用多个局部框对原始图像的基础特征进行切分,得到局部特征。
[0128] 在一些实施方式中,局部特征提取子模块731用于,利用车道线关键点构建四个局部框,使车道线关键点分别位于四个局部框的右下角、左下角、右上角和左上角;
[0129] 四个局部框的尺寸为预先设定的值。
[0130] 在一些实施方式中,基础特征采用第一向量表示,局部特征采用第二向量表示;
[0131] 提取及融合模块730还包括:
[0132] 融合子模块732,用于将第一向量和第二向量进行组合,得到第三向量。
[0133] 在一些实施方式中,关键点识别模块720,用于利用原始图像的基础特征,确定原始图像对应的关键点分布信息,关键点分布信息用于表示原始图像中的至少一个车道线关键点;关键点分布信息中包含每个像素的类型,该类型为背景、车道线关键点或车道线边。
[0134] 本公开实施例提出的车道线识别装置,可以采用一个或多个神经网络模型实现。例如,将一个或多个神经网络模型部署在一个或多个服务器中,构成本公开实施例的车道线识别装置。车道线识别装置可以采用前述任意的车道线识别方法,利用原始图像实现端到端的车道线识别。
[0135] 本公开实施例的装置的各模块、子模块的具体功能和示例的描述,可以参见上述方法实施例中对应步骤的相关描述,在此不再赘述。
[0136] 本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0137] 根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
[0138] 图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0139] 如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
[0140] 设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0141] 计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如车道线识别方法。例如,在一些实施例中,车道线识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的车道线识别方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行车道线识别方法。
[0142] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0143] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0144] 在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0145] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
[0146] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0147] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0148] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0149] 上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。