一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

点云特征提取网络模型训练、点云特征提取方法、装置和无人车与流程

2022-12-19 20:14:54 来源:中国专利 TAG:


1.本公开涉及计算机视觉技术领域,尤其涉及无人驾驶领域,特别涉及一种点云特征提取网络模型训练、点云特征提取方法、装置和无人车。


背景技术:

2.目前,无人驾驶设备用于将人或者物从一个位置自动运送到另一个位置,无人驾驶设备通过设备上的传感器采集环境信息并完成自动运送。基于无人驾驶技术控制的无人配送车进行物流运输极大地提高了生产生活的便捷性,节约了人力成本。
3.在自动驾驶任务中,为确保运行的安全性必须对可能阻碍行驶的障碍物进行检测识别,以便根据不同的障碍物类型和状态做出合理的回避动作。目前,自动驾驶中最为成熟的检测方案为点云检测。检测模型的训练通常使用有监督(supervised learning)的方式,在这个过程中,模型的性能受限于数据采集的数量和标注的质量。为了获得一个高性能的检测模型,往往需要使用大量的标注数据训练网络,而数据采集和标注的人工成本高、周期长,不利于模型的迭代。对比而言,使用自监督(self-supervised learning)的方式可以不需要对数据进行标注。


技术实现要素:

4.本公开要解决的一个技术问题是,提供一种点云特征提取网络模型训练、点云特征提取方法、装置和无人车。
5.根据本公开的第一方面,提出了一种点云特征提取网络模型训练方法,包括:利用第一特征提取网络模型,对样本点云帧序列进行第一编码,以得到所述样本点云帧序列中每一帧样本点云的编码特征图;根据相邻多帧样本点云的编码特征图,确定位于所述相邻多帧样本点云之后的下一帧样本点云的预测特征图;根据位于所述相邻多帧样本点云之后的下一帧样本点云的预测特征图和其编码特征图,确定损失函数值;根据所述损失函数值,对所述第一特征提取网络模型进行训练。
6.在一些实施例中,根据相邻多帧样本点云的编码特征图,确定位于所述相邻多帧样本点云之后的下一帧样本点云的预测特征图包括:利用第二特征提取网络模型,对所述相邻多帧样本点云的编码特征图分别进行第二编码,以得到所述相邻多帧样本点云的中间特征图;对所述相邻多帧样本点云的中间特征图进行融合,以得到融合特征图;对所述融合特征图进行解码,以得到位于所述相邻多帧样本点云之后的下一帧样本点云的预测特征图。
7.在一些实施例中,所述对所述相邻多帧样本点云的中间特征图进行融合,以得到融合特征图包括:根据所述相邻多帧样本点云的中间特征图,确定所述相邻多帧样本点云之间的特征点匹配关系;根据所述特征点匹配关系,对所述相邻多帧样本点云的中间特征图进行融合,以得到融合特征图。
8.在一些实施例中,根据相邻多帧样本点云的编码特征图,确定位于所述相邻多帧样本点云之后的下一帧样本点云的预测特征图包括:根据相邻多帧样本点云的编码特征图,确定所述相邻多帧样本点云之间的特征点匹配关系;根据所述特征点匹配关系,对所述相邻多帧样本点云的编码特征图进行融合,以得到融合特征图;根据所述融合特征图,确定位于所述相邻多帧样本点云之后的下一帧样本点云的预测特征图。
9.在一些实施例中,所述根据所述相邻多帧样本点云的中间特征图,确定所述相邻多帧样本点云之间的特征点匹配关系包括:根据所述相邻多帧样本点云的中间特征图,计算所述相邻多帧样本点云之间的特征点的相关度;根据所述相邻多帧样本点云之间的特征点的相关度,确定所述相邻两帧样本点云之间的特征点匹配关系。
10.在一些实施例中,所述相邻多帧样本点云为相邻两帧样本点云,所述相邻多帧样本点云的中间特征图包括:与所述相邻两帧样本点云中的第一帧对应的第一中间特征图、以及与所述相邻两帧样本点云中的第二帧对应的第二中间特征图;以及,所述根据所述相邻多帧样本点云的中间特征图,计算所述相邻多帧样本点云之间的特征点的相关度包括:计算所述第一中间特征图上的每个特征点,与所述第二中间特征图上指定范围内的特征点的相关度,所述指定范围为第一中间特征图的特征点的邻域范围;根据所述相关度,确定所述相邻两帧样本点云之间的特征点匹配关系。
11.在一些实施例中,所述相邻多帧样本点云为相邻两帧样本点云;所述根据所述特征点匹配关系,对所述相邻两帧样本点云的中间特征图进行融合,以得到融合特征图包括:根据所述特征点匹配关系,将所述相邻两帧样本点云的中间特征图之间的匹配特征点进行特征拼接,并将拼接得到的特征图作为融合特征图。
12.在一些实施例中,所述根据位于所述相邻多帧样本点云之后的下一帧样本点云的预测特征图和其编码特征图,确定损失函数值包括:在所述下一帧样本点云的预测特征图和编码特征图之间,计算具有同一位置索引的特征点之间的欧式距离;根据所有位置索引的特征点之间的欧式距离,计算损失函数值。
13.在一些实施例中,所述第一特征提取网络模型为共享权值编码器,所述共享权值编码器包括多个编码模块,每个编码模块用于对所述样本点云帧序列中的一帧进行编码。
14.在一些实施例中,所述编码模块包括:卷积神经网络以及自注意力网络。
15.在一些实施例中,还包括:将多帧样本点云的原始特征数据转换成二维图像特征数据,以得到由多帧样本点云的二维图像特征数据构成的样本点云帧序列。
16.在一些实施例中,将多帧样本点云的原始特征数据转换成二维图像特征数据包括:将多帧样本点云的原始特征数据转换成鸟瞰图bev特征数据。
17.在一些实施例中,所述样本点云帧序列由在时序上连续的多帧样本点云组成;和/或,所述样本点云帧序列包含的样本点云的帧数量大于等于3、且小于等于5。
18.在一些实施例中,第二特征提取网络模型包括:注意力编码模块,用于对所述相邻多帧样本点云的编码特征图分别进行第二编码;注意力解码模块,用于对所述融合特征图进行解码,以得到位于所述相邻多帧样本点云之后的下一帧样本点云的预测特征图。
19.根据本公开的第二方面,提供了一种点云特征提取方法,包括:获取待处理点云帧序列;基于如上述特征提取网络模型训练方法训练得到的特征提取网络模型,对所述待处理点云帧序列进行编码,以得到所述待处理点云帧序列的特征图。
20.在一些实施例中,获取待处理点云帧序列包括:获取多帧待处理点云的原始数据;将所述多帧待处理点云的原始特征数据转换为鸟瞰图bev特征数据,以得到由多帧待处理点云的鸟瞰图特征数据组成的待处理点云帧序列。
21.根据本公开的第三方面,提出一种目标检测方法,根据前述点云特征提取方法提取待处理点云帧序列的特征图;根据所述待处理点云帧序列的特征图,进行目标检测。
22.根据本公开的第四方面,提出一种点云语义分割方法,包括:根据前述点云特征提取方法提取待处理点云帧序列的特征图;根据所述待处理点云帧序列的特征图,进行点云语义分割。
23.根据本公开的第五方面,提出一种装置,包括:用于执行如上所述的点云特征提取网络模型训练方法的模块,或者,用于执行如上所述的点云特征提取方法的模块,或者,用于执行如上述的目标检测方法的模块,或者,用于执行如上述的点云语义分割方法的模块。
24.根据本公开的第六方面,提出一种电子设备,包括:存储器;以及,耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如上述的点云特征提取网络模型训练方法,或者如上述的点云特征提取方法,或者如上述的目标检测方法,或者如上述的点云语义分割方法。
25.根据本公开的第七方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如上述的点云特征提取网络模型训练方法,或者如上述的点云特征提取方法,或者如上述的目标检测方法,或者如上述的点云语义分割方法。
26.根据本公开的第六方面,还提出一种无人车,包括如上述的装置或电子设备。
27.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
28.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
29.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
30.图1为根据本公开一些实施例的点云特征提取网络模型训练方法的流程示意图;
31.图2为根据本公开另一些实施例的点云特征提取网络模型训练方法的流程示意图;
32.图3为根据本公开一些实施例的点云特征提取网络模型的结构示意图;
33.图4a为根据本公开一些实施例的确定预测特征图步骤的流程示意图;
34.图4b为根据本公开一些实施例的点云特征提取网络模型训练方法的流程示意图;
35.图5为根据本公开一些实施例的点云特征提取方法的流程示意图;
36.图6为根据本公开一些实施例的点云特征提取网络模型训练装置的结构示意图;
37.图7为根据本公开一些实施例的点云特征提取装置的结构示意图;
38.图8为根据本公开一些实施例的点云特征提取网络模型训练装置或特征提取装置的结构示意图;
39.图9为根据本公开一些实施例的计算机系统的结构示意图。
40.图10为根据本公开一些实施例的无人车的结构示意图。
41.图11为根据本公开一些实施例的无人车的立体结构示意图。
具体实施方式
42.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
43.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
44.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
45.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
46.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
47.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
48.为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
49.近期,学界对自监督在图像分类领域有若干尝试,取得了较好的效果,甚至超过了传统的监督学习。但是在自动驾驶领域,特别是针对激光雷达点云检测领域的自监督学习方法,目前鲜有研究,整个学界和业界还处于非常初期的阶段。
50.相关技术中,提出了一种基于自监督来学习点云特征的方法。在该方法中,将多帧连续点云分别投影至相应的rgb图像上,然后在rgb图像上使用光流法找出运动的物体,获得对应运动物体的点云,进而学习点云特征。该方法存在以下缺陷:一、对激光雷达和相机的标定要求非常高;二、在物体的边缘,有较高的概率无法正确投影,此外,由于点云到rgb图像的投影是一个锥体,有可能有些点云投影至rgb后发生重叠,从而影响模型性能;三、由于需要使用连续帧点云和rgb图像,标注时间和经济成本都较高。
51.鉴于此,本公开提出了一种特征提取模型训练、特征提取方法、装置和无人车,只需使用一种模态的数据,且无需进行雷达、相机之间的标定,即可实现点云特征提取网络模型的自监督学习,不仅减少了数据标注的成本,而且提升了训练得到的特征提取模型的性能。
52.图1为根据本公开一些实施例的点云特征提取网络模型训练方法的流程示意图。如图1所示,本公开一些实施例的点云特征提取网络模型训练方法包括:
53.步骤s110:利用第一特征提取网络模型,对样本点云帧序列进行第一编码,以得到样本点云帧序列中每一帧样本点云的编码特征图。
54.在一些实施例中,样本点云帧序列由在时序上连续的多帧样本点云组成。例如,样本点云帧序列由在时序上连续的3帧、4帧、5帧、6帧、或其他帧数的样本点云组成。
55.由于实际自动驾驶场景中的点云采集方式多为连续帧采集,在本公开实施例中,通过令样本点云帧序列由连续点云帧组成,使得本方案与实际场景契合,可以进一步提升
特征提取网络模型的特征提取能力。
56.在一些实施例中,样本点云帧序列的帧数量大于等于3、且小于等于5。通过令样本点云帧序列的帧数量在3~5帧之间,能够缓解过长的帧序列导致对处在“感兴趣区”(region of interests,roi)边缘的物体匹配困难的问题。其中,这里的物体指的是广义的概念,其可以是场景中任何目标,如树木,建筑等,与自动驾驶中需要具体识别的类型无关(比如车、行人,自行车等)。通过上述处理,能够让网络学习到自动驾驶场景中各种物体的低层的信息,如形状,大小等,使得学习后的网络具有更广泛的特征提取能力。
57.在一些实施例中,样本点云帧序列中的每一帧样本点云为激光雷达采集的原始点云特征数据。例如,点云原始特征数据包括每个点云点的三维位置坐标、以及反射强度。
58.在一些实施例中,样本点云帧序列中的每一帧样本点云为对原始点云特征数据进行处理得到的二维图像特征数据。在这些实施例中,特征提取网络模型训练方法还包括:将多帧样本点云的原始特征数据转换成二维图像特征数据,以得到由多帧样本点云的二维图像特征数据构成的样本点云帧序列。例如,将多帧样本点云的原始特征数据转换成鸟瞰图(bird’s eye view,bev)特征数据。
59.在一些实施例中,第一特征提取网络模型为共享权值编码器,该共享权值编码器包括多个编码模块,每个编码模块用于对样本点云帧序列中的一帧进行编码。
60.例如,当样本点云帧序列包括t0、t1、t2至t3时刻的4帧样本点云的bev数据时,将这4帧样本点云的bev数据同时输入第一特征提取网络模型的四个编码模块(具体为编码编码1至4),比如将t0时刻的样本点云的bev数据输入编码模块1,将t1时刻的样本点云的bev数据输入编码模块2,将t2时刻的样本点云的bev数据输入编码模块3,将t3时刻的样本点云的bev数据输入编码模块4。
61.步骤s120:根据相邻多帧样本点云的编码特征图,确定位于相邻多帧样本点云之后的下一帧样本点云的预测特征图。
62.在一些实施例中,根据相邻两帧样本点云的编码特征图,确定位于相邻两帧样本点云之后的下一帧样本点云的预测特征图。
63.例如,样本点云帧序列由连续的3帧样本点云组成,分别为t0、t1、t2时刻的样本点云帧,根据t0时刻的样本点云帧的编码特征图和t1时刻的样本点云帧的编码特征图,确定t2时刻的样本点云帧的预测特征图。
64.例如,样本点云帧序列由连续的4帧样本点云组成,分别为t0、t1、t2、t3时刻的样本点云帧,根据t0时刻的样本点云帧的编码特征图和t1时刻的样本点云帧的编码特征图,确定t2时刻的样本点云帧的预测特征图;根据t1时刻的样本点云帧的编码特征图和t2时刻的样本点云帧的编码特征图,确定t3时刻的样本点云帧的预测特征图。
65.在一些实施例中,根据相邻3帧或3帧以上样本点云的编码特征图,确定位于相邻3帧或3帧以上样本点云之后的下一帧样本点云的预测特征图。
66.例如,样本点云帧序列由连续的4帧样本点云组成,分别为t0、t1、t2、t3时刻的样本点云帧,根据t0、t1、t2这三个时刻的样本点云帧的编码特征图,确定t3时刻的样本点云帧的预测特征图。
67.在一些实施例中,步骤s120包括:利用第二特征提取网络模型,对相邻多帧样本点云的编码特征图分别进行第二编码,以得到相邻多帧样本点云的中间特征图;对相邻多帧
样本点云的中间特征图进行融合,以得到融合特征图;对融合特征图进行解码,以得到位于所述相邻多帧样本点云之后的下一帧样本点云的预测特征图。
68.在一些实施例中,第二特征提取网络模型包括注意力编码模块和注意力解码模块。其中,注意力编码模块,用于对相邻多帧样本点云的编码特征图分别进行第二编码;注意力解码模块,用于对所述融合特征图进行解码,以得到位于所述相邻多帧样本点云之后的下一帧样本点云的预测特征图。
69.在一些实施例中,根据如下方式对相邻多帧样本点云的中间特征图进行融合:根据相邻多帧样本点云的中间特征图,确定相邻多帧样本点云之间的特征点匹配关系;根据特征点匹配关系,对相邻多帧样本点云的中间特征图进行融合,以得到融合特征图。
70.在另一些实施例中,步骤s120包括:根据相邻多帧样本点云的编码特征图,确定相邻多帧样本点云之间的特征点匹配关系;根据特征点匹配关系,对相邻多帧样本点云的编码特征图进行融合,以得到融合特征图;根据融合特征图,确定位于相邻多帧样本点云之后的下一帧样本点云的预测特征图。
71.步骤s130:根据位于相邻多帧样本点云之后的下一帧样本点云的预测特征图和其编码特征图,确定损失函数值。
72.在一些实施例中,通过步骤s120确定了一帧样本点云的预测特征图。在这些实施例中,根据这一帧样本点云的预测特征图和其编码特征图,确定损失函数值。
73.例如,样本点云帧序列由连续的3帧样本点云组成,分别为t0、t1、t2时刻的样本点云帧,在根据t0和t1时刻的样本点云帧的编码特征图确定t2时刻的样本点云帧的预测特征图之后,根据t2时刻的样本点云帧的编码特征图和t2时刻的样本点云帧的预测特征图,确定损失函数值。
74.在一些实施例中,通过步骤s120确定了多帧样本点云的预测特征图。在这些实施例中,根据这多帧样本点云的预测特征图和其编码特征图,确定损失函数值。
75.例如,样本点云帧序列由连续的4帧样本点云组成,分别为t0、t1、t2、t3时刻的样本点云帧,在根据t0和t1时刻的样本点云帧的编码特征图确定t2时刻的样本点云帧的预测特征图,以及根据t1和t2时刻的样本点云帧的编码特征图确定t3时刻的样本点云帧的预测特征图之后,根据t2时刻的样本点云帧的编码特征图和预测特征图、以及t3时刻的样本点云帧的编码特征图和预测特征图,确定损失函数的值。
76.在一些实施例中,根据如下方式计算损失函数的值:计算下一帧样本点云的预测特征图和其编码特征图中对应同一位置索引的特征点之间的欧式距离;根据所有位置索引的特征点之间的欧式距离,计算损失函数值。
77.在一些实施例中,采用均方误差损失函数(mean squared error,mse)度量预测特征图和编码特征图之间的一致性。模型训练的目标为最小化均方误差损失函数的值。
78.例如,在根据一帧样本点云的预测特征图k2和其编码特征图f2确定损失函数值时,根据如下公式计算损失函数值:
79.80.其中,mse表示损失函数值,x(i,j)∈k2,y(i,j)∈f2,i,j分别是特征图上的位置索引,m
×
n表示预测特征图k2和编码特征图f2的大小,||x(i,j)-y(i,j)||2表示预测特征图k2和其编码特征图f2之间的欧氏距离的平方。
81.在本公开另一些实施例中,当根据多帧样本点云的预测特征图和其编码特征图确定损失函数值时,可先基于上述计算公式计算每帧样本点云的预测特征图和其编码特征图的损失函数值,再根据多帧样本点云的损失函数值确定总的损失函数值。
82.例如,当根据t2、t3时刻的样本点云帧的编码特征图和预测特征图确定损失函数值时,先根据t2时刻的样本点云帧的编码特征图和预测特征图确定第一损失函数值,根据t3时刻的样本点云帧的编码特征图和预测特征图确定第二损失函数值,再根据第一损失函数值和第二损失函数值确定总的损失函数值。
83.步骤s140:根据损失函数值,对第一特征提取网络模型进行训练。
84.在步骤s140中,根据损失函数值对特征提取网络模型进行更新。重复步骤s110至步骤s140,直至达到训练结束条件,比如训练步长达到预设值(例如200万步)。
85.在本公开实施例中,通过以上步骤实现了点云特征提取网络模型的自监督学习。与相关技术中利用图像光流进行自监督的方法不同,本公开实施例仅需使用点云这一个模态的数据,利用样本点云帧序列中局部分特征关系进行自监督匹配训练,无需进行雷达、相机之间的标定,不仅减少了数据标注的成本,而且提升了训练得到的特征提取模型的性能。进一步,在通过上述步骤训练得到特征提取网络模型之后,可将特征提取网络模型作为骨干网络应用在具体的视觉任务上,如三维目标检测,点云语义分割等,从而能够提高目标检测结果或点云语义分割结果的准确性。
86.图2为根据本公开另一些实施例的点云特征提取网络模型训练方法的流程示意图。如图2所示,本公开另一些实施例的特征提取网络模型训练方法包括:
87.步骤s210:将连续3帧样本点云的原始数据转换为bev数据。
88.在本公开实施例中,以样本点云帧序列由3帧连续时序点云组成为例,进行说明。在实际应用时,样本点云帧序列可扩展为更多帧的时序序列。
89.在一些实施例中,步骤s210包括:将连续3帧样本点云的原始数据经过体素化(voxelization)处理,以得到相应的体素化特征数据,再将体素化特征数据转换为鸟瞰图(bev)视角下的二维图像,即bev数据。具体实施时,将点云原始数据转换为bev数据的方法有很多,比如采用pointpillars方法中生成伪图像的方法,或沿z轴方向下采样等方法。pointpillars方法是一种基于体素的三维目标检测算法,它的主要思想是把三维点云转换成二维伪图像以便用二维目标检测的方式进行目标检测。
90.例如,先根据目标关注区域过滤点云原始数据,比如,在雷达坐标系内,从雷达采集的点云原始数据中将位于x∈[-30,30]、y∈[-15,15]、z∈[-1.8,0.8]范围内的点云数据取出来。然后,在x轴、y轴方向上每隔0.05米,z轴方向上每隔0.10米,建立一个体素单元(voxel cell),从而获得体素网格(voxel grid)。在得到体素网格之后,采用pointpillar方式确定点云的bev特征图。
[0091]
在本公开实施例中,通过将点云原始数据转换为bev数据,使得后续针对二维的bev数据进行特征提取即可,提高了点云特征提取模型训练的效率。而且,由于点云的bev数据可以较好的保持障碍物的空间关系,更便于后续利用连续帧点云的特征进行自监督学
习。
[0092]
步骤s220:基于第一特征提取网络模型,对连续3帧样本点云的bev数据进行第一编码,得到每一帧样本点云的编码特征图。
[0093]
在一些实施例中,第一特征提取网络模型为共享权值编码器,该共享权值编码器包括三个编码模块,每个编码模块用于对每帧样本点云的bev数据(或者称为bev特征图)进行编码。通过采用共享权值编码器,能够在对3帧点云进行特征提取时共享网络的权值,使特征提取网络模型可以区分学习到的不同点云之间的异同点。
[0094]
在一些实施例中,第一特征提取网络模型的编码模块包括:卷积神经网络和自注意力网络。示例性地,卷积神经网络为resnet,efficientnet等二维卷积神经网络。通过设置卷积神经网络,能够提取点云的bev特征图的初步信息,比如点云的bev特征图上低层的局部的信息。示例性地,自注意力网络为诸如transformer等网络。transformer是一种利用自注意力机制的神经网络模型。通过设置自注意力网络,能够对卷积神经网络输出的3帧样本点云的特征图内每个位置与其他位置的关系编码,提取同一帧样本点云内的间隔较大的空间上的信息。
[0095]
步骤s230:根据前两帧样本点云的编码特征图,确定第3帧样本点云的预测特征图。
[0096]
例如,当样本点云帧序列包括t0、t1、t2时刻的3帧样本点云时,通过特征提取网络模型对这3帧样本点云的数据进行编码,获得特征图f0、f1、f2。在步骤s230中,根据特征图f0和f1,确定t2时刻的样本点云的预测特征图k2。
[0097]
在一些实施例中,根据图4所示流程确定第3帧样本点云的预测特征图。
[0098]
步骤s240:根据第3帧样本点云的预测特征图和其编码特征图,确定损失函数值。
[0099]
在一些实施例中,使用均方差损失函数来衡量第3帧样本点云的预测特征图k2和其编码特征图f2之间的一致性。在这些实施例中,训练的目标为最小化均方差损失函数的值。
[0100]
例如,根据如下公式计算均方差损失函数的值:
[0101][0102]
其中,mse表示损失函数值,x(i,j)∈k2,y(i,j)∈f2,i,j分别是特征图上的位置索引,m
×
n表示第3帧样本点云的预测特征图k2和编码特征图f2的大小,||x(i,j)-y(i,j)||2表示预测特征图k2和其编码特征图f2之间的欧氏距离的平方。
[0103]
步骤s250:根据损失函数值,对第一特征提取网络模型进行训练。
[0104]
在步骤s250中,根据损失函数值对第一特征提取网络模型进行更新。此外,在训练过程中还涉及其他需要更新的网络模型时,还根据损失函数值对其他需要更新的网络模型进行更新。
[0105]
按照上述处理步骤,对第一特征提取网络模型进行多次迭代更新,直至达到训练结束条件,比如训练步长达到预设值(例如200万步)。
[0106]
在本公开实施例中,通过以上步骤实现了点云特征提取网络模型的自监督学习。
与相关技术中利用图像光流进行自监督的方法不同,本公开实施例仅需使用点云这一个模态的数据,利用样本点云帧序列中局部分特征关系进行自监督匹配训练,无需进行雷达、相机之间的标定,不仅减少了数据标注的成本,而且提升了训练得到的特征提取模型的性能。
[0107]
图3为根据本公开一些实施例的特征提取网络模型的结构示意图。
[0108]
如图3所示,本公开一些实施例的特征提取网络模型300包括三个编码模块,分别是编码模块310、编码模块320和编码模块330。
[0109]
在一些实施例中,三个编码模块共享网络权值。在这些实施例中,将样本点云帧序列所包括的3帧样本点云同时输入三个编码模块,比如将t0时刻的样本点云输入编码模块310,将t1时刻的样本点云输入编码模块320,将t2时刻的样本点云输入编码模块330。
[0110]
在一些实施例中,每个编码模块包括卷积神经网络和自注意力网络。例如,卷积神经网络采用resnet模型,自注意力网络采用transformer模型。具体实施时,transformer模型可采用相关技术中的标准结构。
[0111]
在本公开实施例中,通过采取如上结构的特征提取网络模型,能够提取更多的点云特征信息,提高点云特征提取能力。
[0112]
图4a为根据本公开一些实施例的确定预测特征图步骤的流程示意图。图4a是对步骤s230的示例性说明。如图4a所示,本公开实施例的确定预测特征图步骤包括:
[0113]
步骤s410:对前两帧样本点云的编码特征图进行第二编码,以得到前两帧样本点云的中间特征图。
[0114]
在一些实施例中,在步骤s410中,根据如下方式确定中间特征图:利用第二特征提取网络模型中的注意力编码模块,对前两帧样本点云的编码特征图进行编码,以得到前两帧样本点云的中间特征图。例如,注意力编码模块采用transformer模型。
[0115]
通过设置注意力编码模块,能够基于注意力机制学习到不同帧的编码特征图上的空间位置关系,进而有助于更准确地确定特征点匹配关系,提高由此确定的预测特征图与真实特征图的一致性,进而提高特征提取网络模型的训练效率。
[0116]
在本公开的另一些实施例中,在样本点云帧序列包括四个或四个以上样本点云帧时,根据如下方式对前两帧样本点云的编码特征图进行编码:基于注意力编码模块,对相邻两帧样本点云的编码特征图进行编码,以得到相邻两帧样本点云的中间特征图。
[0117]
例如,当样本点云帧序列包括t0、t1、t2、t3这四个时刻的样本点云帧时,相邻两帧样本点云包括t0和t1时刻的样本点云帧、以及t1和t2时刻的样本点云帧,则基于注意力编码模块对t0、t1、t2时刻的样本点云帧的编码特征图进行编码,以得到t0、t1、t2时刻的样本点云帧的中间特征图。
[0118]
步骤s420:根据中间特征图,确定前两帧样本点云之间的特征点匹配关系。
[0119]
在一些实施例中,在步骤s420中,根据如下方式确定前两帧样本点云之间的特征点匹配关系:计算第一帧的中间特征图上的每个特征点、与第二帧的中间特征图上指定范围内的特征点的相关度;根据相关度,确定前两帧样本点云之间的特征点匹配关系。
[0120]
其中,指定范围为第一帧的中间特征图的特征点的邻域范围。例如,对于第一帧的中间特征图上的任一特征点p0来说,将以该点的位置坐标为中心,以预设长度为半径的圆形区域作为该特征点的邻域范围。又例如,令邻域范围为高斯邻域。在本公开实施例中,通过在指定范围内搜索匹配特征点,能够避免对第二帧的中间特征图进行全局搜索,从而降
低计算量。
[0121]
其中,相关度可采取多种度量方式。在一些实施例中,将特征点之间的余弦距离作为两者的相关度。
[0122]
其中,特征点匹配关系包括:第一帧的中间特征图上的特征点、与其在第二帧的中间特征图上的匹配特征点的对应关系。在一些实施例中,对于第一帧的中间特征图上的任一特征点p0来说,将第二帧的中间特征图中指定范围内、与p0相关度最大的特征点,作为p0的匹配特征点。
[0123]
步骤s430:根据特征点匹配关系,对前两帧样本点云的中间特征图进行融合,以得到融合特征图。
[0124]
在一些实施例中,根据特征点匹配关系,将前两帧样本点云的中间特征图之间的匹配特征点进行特征拼接,并将拼接得到的特征图作为融合特征图。
[0125]
例如,对于第一帧样本点云的中间特征图上的任一特征点p0来说,将其在第二帧样本点云的中间特征图上的匹配特征点p1的特征进行拼接,并将特征点p0的位置索引作为拼接后的特征点的位置索引,从而得到了一个融合特征点。依此类推,可得到由融合特征点构成的融合特征图。
[0126]
步骤s440:根据融合特征图,确定第3帧样本点云的预测特征图。
[0127]
在一些实施例中,利用第二特征提取网络模型中的注意力解码模块,对融合特征图进行解码,从而得到第3帧样本点云的预测特征图。
[0128]
在本公开实施例中,通过以上步骤能够基于前两帧样本点云的编码特征图,高效、精准地确定第3帧样本点云地预测特征图,进而有助于优化点云特征提取网络模型的训练流程,提高训练得到的第一特征提取网络模型的性能。
[0129]
图4b为根据本公开一些实施例的点云特征提取网络模型训练方法的流程示意图。在本公开实施例中,以样本点云帧序列包含三帧连续时序点云数据(具体为t0、t1、t2时刻的点云数据c0、c1、c2)为例

对点云特征提取网络模型训练方法进行说明。
[0130]
如图4b所示,点云特征提取网络模型训练方法包括:步骤1至步骤7。
[0131]
步骤1:将t0、t1、t2时刻的点云数据c0、c1、c2分别转换为相应时刻的鸟瞰图。
[0132]
步骤2:将t0、t1、t2时刻的鸟瞰图输入共享权值编码器,以得到相应时刻的特征图f0、f1、f2。
[0133]
其中,共享权值编码器包括:2d cnn(2维卷积神经网络)、以及transformer编码器(或称为transformer网络)。示例性地,2dcnn可采用resnet、efficientnet等网络模型,用于提取鸟瞰图中的初步信息。transformer网络为一种自注意力网络,用于提取鸟瞰图中每个位置与其他位置的特征点关系编码,即同一帧点云的空间位置关系。例如,对于鸟瞰图上车辆位置对应的像素点,通过共享权值编码器对该点进行编码得到特征点x。
[0134]
在利用共享权值编码器提取t0、t1、t2时刻的鸟瞰图的特征时,所使用的网络模型的权值是共享的,这样做有助于让网络学习到不同点云之间的异同点。
[0135]
步骤3:基于时序注意力转换模块对t0、t1时刻的特征图f0、f1进行编码、特征点相关度计算,以得到t0、t1时刻的中间特征图和特征点匹配关系。
[0136]
其中,时序注意力转换模块包括:transformer编码器和相关性计算模块。在步骤3中,先基于transformer编码器对t0、t1时刻的特征图f0、f1分别进行编码,以得到相应时刻
的中间特征图;然后计算t0、t1时刻的中间特征图v0、v1之间的特征点相关度;根据t0、t1时刻的中间特征图之间的特征点相关度,确定t0、t1时刻的中间特征图之间的特征点匹配关系。
[0137]
在一些实施例中,对于中间特征图v0上的每一个特征点,计算该点与其在中间特征图v1上对应位置的邻域范围内的特征点的相关度,并将相关度最大的特征点作为该点的匹配特征点。
[0138]
通过计算中间特征图v0上的每一个特征点,与其在中间特征图v1上的匹配特征点,从而可得到t0、t1时刻的中间特征图之间的特征点匹配关系。
[0139]
步骤4:基于位置转换编码模块对中间特征图v0、v1进行融合,并对融合特征图进行解码,以得到t2时刻的预测特征图。
[0140]
其中,位置转换编码模块包括:融合模块和transformer解码器。融合模块,根据t0、t1时刻的中间特征图之间的特征点匹配关系,对t0、t1时刻的中间特征图进行融合,以得到融合特征图。transformer解码器对融合特征图进行解码,以得到t2时刻的预测特征图。
[0141]
步骤5:根据t2时刻的编码特征图和t2时刻的预测特征图,计算mse(均方根损失函数)。
[0142]
其中,mse用来度量t2时刻的预测特征图和t2时刻的编码特征图的一致性,整个训练的目标就是最小化mse。
[0143]
步骤6:重复步骤1至步骤5,直至达到模型训练截止条件,比如训练步长达到200万步。
[0144]
步骤7:输出共享权值编码器。
[0145]
在本公开实施例中,通过以上步骤实现了点云特征提取网络模型的自监督学习。与相关技术中利用图像光流进行自监督的方法不同,本公开实施例仅需使用点云这一个模态的数据,利用样本点云帧序列中局部分特征关系进行自监督匹配训练,无需进行雷达、相机之间的标定,不仅减少了数据标注的成本,而且提升了训练得到的特征提取模型的性能。进一步,在通过上述步骤训练得到特征提取网络模型之后,可将特征提取网络模型作为骨干网络应用在具体的视觉任务上,如三维目标检测,点云语义分割等,从而能够提高目标检测结果或点云语义分割结果的准确性。
[0146]
图5为根据本公开一些实施例的特征提取方法的流程示意图。如图5所示,本公开一些实施例的特征提取方法包括:
[0147]
步骤s510:获取待处理点云帧序列。
[0148]
在一些实施例中,步骤s510包括:获取多帧待处理点云的原始特征数据;将多帧待处理点云的原始特征数据转换为bev特征数据,以得到由多帧待处理点云的鸟瞰图特征数据组成的待处理点云帧序列。
[0149]
步骤s520:基于训练得到的特征提取网络模型,对待处理点云帧序列进行编码,以得到待处理点云帧序列的编码特征图。
[0150]
在本公开实施例中,通过以上步骤能够提取更为丰富的点云特征,进而,在进行目标检测或点云语义分割任务时,能够提高目标检测结果的准确性或者点云语义分割结果的准确性。
[0151]
图6为根据本公开一些实施例的特征提取网络模型训练装置的结构示意图。如图6所示,本公开一些实施例中的特征提取网络模型训练装置600包括:特征提取模块610、预测
模块620、确定模块630、训练模块640。
[0152]
特征提取模块610,被配置为利用第一特征提取网络模型,对样本点云帧序列进行第一编码,以得到样本点云帧序列中每一帧样本点云的编码特征图。
[0153]
预测模块620,被配置为根据相邻多帧样本点云的编码特征图,确定位于相邻多帧样本点云之后的下一帧样本点云的预测特征图。
[0154]
确定模块630,被配置为根据位于所述相邻多帧样本点云之后的下一帧样本点云的预测特征图和其编码特征图,确定损失函数值。
[0155]
训练模块640,被配置为根据损失函数值,对第一特征提取网络模型进行训练。
[0156]
在本公开实施例中,通过以上装置能够改善点云特征提取效果,进而有助于提高目标检测或点云语义分割结果的准确性。
[0157]
图7为根据本公开一些实施例的特征提取装置的结构示意图。如图7所示,本公开一些实施例中的特征提取装置700包括:获取模块710、特征提取模块720。
[0158]
获取模块710,被配置为获取待处理点云帧序列。
[0159]
在一些实施例中,获取模块710被配置为:获取多帧待处理点云的原始特征数据;将多帧待处理点云的原始特征数据转换为bev特征数据,以得到由多帧待处理点云的鸟瞰图特征数据组成的待处理点云帧序列。
[0160]
特征提取模块720,被配置为基于训练得到的特征提取网络模型,对待处理点云帧序列进行编码,以得到待处理点云帧序列的编码特征图。
[0161]
在本公开实施例中,通过以上步骤能够提取更为丰富的点云特征,进而,在进行目标检测或点云语义分割任务时,能够提高目标检测结果的准确性或者点云语义分割结果的准确性。
[0162]
根据本公开的一些实施例,还提出一种目标检测装置,被配置为根据本公开任一实施例的点云特征提取方法提取待处理点云帧序列的特征图;根据待处理点云帧序列的特征图,进行目标检测。
[0163]
根据本公开的一些实施例,还提出一种点云语义分割装置,被配置为根据本公开任一实施例的点云特征提取方法提取待处理点云帧序列的特征图;根据待处理点云帧序列的特征图,进行点云语义分割。
[0164]
图8为根据本公开一些实施例的点云特征提取网络模型训练装置或点云特征提取装置或目标检测装置或点云语义分割装置的结构示意图。
[0165]
如图8所示,点云特征提取网络模型训练装置或点云特征提取装置或目标检测装置或点云语义分割装置800包括存储器810;以及耦接至该存储器810的处理器820。存储器810用于存储执行特征提取网络模型训练方法或特征提取方法或目标检测方法或点云语义分割方法对应实施例的指令。处理器820被配置为基于存储在存储器810中的指令,执行本公开中任意一些实施例中的点云特征提取网络模型训练方法或点云特征提取方法或目标检测方法或点云语义分割方法。
[0166]
图9为根据本公开一些实施例的计算机系统的结构示意图。
[0167]
如图9所示,计算机系统900可以通用计算设备的形式表现。计算机系统900包括存储器910、处理器920和连接不同系统组件的总线930。
[0168]
存储器910例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储
有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(ram)和/或高速缓存存储器。非易失性存储介质例如存储有执行中的至少一种点云特征提取网络模型训练方法或点云特征提取方法或目标检测方法或点云语义分割方法的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
[0169]
处理器920可以用通用处理器、数字信号处理器(dsp)、应用专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如特征提取模块、预测模块等的每个模块,可以通过中央处理器(cpu)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
[0170]
总线930可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(isa)总线、微通道体系结构(mca)总线、外围组件互连(pci)总线。
[0171]
计算机系统900这些接口940、950、960以及存储器910和处理器920之间可以通过总线930连接。输入输出接口940可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口950为各种联网设备提供连接接口。存储接口960为软盘、u盘、sd卡等外部存储设备提供连接接口。
[0172]
图10为根据本公开一些实施例的无人车的结构示意图;图11为根据本公开一些实施例的无人车的立体图。以下结合图10和图11对本公开实施例提供的无人车进行说明。
[0173]
如附图10所示,无人车包括底盘模块1010、自动驾驶模块1020、货箱模块1030和远程监控推流模块1040四部分。
[0174]
在一些实施例中,底盘模块1010主要包括电池、电源管理装置、底盘控制器、电机驱动器、动力电机。电池为整个无人车系统提供电源,电源管理装置将电池输出转换为可供各功能模块使用的不同电平电压,并控制上下电。底盘控制器接受自动驾驶模块下发的运动指令,控制无人车转向、前进、后退、刹车等。
[0175]
在一些实施例中,自动驾驶模块1020包括核心处理单元(orin或xavier模组)、红绿灯识别相机、前后左右环视相机、多线激光雷达、定位模块(如北斗、gps等)、惯性导航单元。相机与自动驾驶模块之间可进行通信,为了提高传输速度、减少线束,可采用gmsl链路通信。
[0176]
在一些实施例中,自动驾驶模块1020包括上述实施例中的点云特征提取网络模型训练装置或点云特征提取装置或目标检测装置或点云语义分割装置。
[0177]
在一些实施例中,远程监控推流模块1030由前监控相机、后监控相机、左监控相机、右监控相机和推流模块构成,该模块将监控相机采集的视频数据传输到后台服务器,供后台操作人员查看。无线通讯模块通过天线与后台服务器进行通信,可实现后台操作人员对无人车的远程控制。
[0178]
货箱模块1040为无人车的货物承载装置。在一些实施例中,货箱模块1040上还设置有显示交互模块,显示交互模块用于无人车与用户交互,用户可通过显示交互模块进行如取件、寄存、购买货物等操作。货箱的类型可根据实际需求进行更换,如在物流场景中,货箱可以包括多个不同大小的子箱体,子箱体可用于装载货物进行配送。在零售场景中,货箱可以设置成透明箱体,以便于用户直观看到待售产品。
[0179]
本公开实施例的无人车,能够提高点云特征提取能力,进而有助于提高点云语义
分割结果的准确性或目标检测结果的准确性,进而提高无人驾驶的安全性。
[0180]
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
[0181]
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
[0182]
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
[0183]
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
[0184]
通过上述实施例中的点云特征提取网络模型训练、点云特征提取方法、装置和无人车,只需使用一种模态的数据,且无需进行雷达、相机之间的标定,即可实现点云特征提取网络模型的自监督学习,不仅减少了数据标注的成本,而且提升了训练得到的特征提取模型的性能。
[0185]
至此,已经详细描述了根据本公开的点云特征提取网络模型训练、点云特征提取方法、装置和无人车。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献