本发明属于计算机视觉领域,尤其涉及一种面向自动驾驶场景的多视角3d目标检测主动学习方法。
背景技术:
1、自动驾驶技术的崛起标志着交通领域面临的一场深刻变革。在过去的几十年里,随着计算机科学和人工智能的飞速发展,自动驾驶技术得以迅速演进。这一技术的涌现不仅源于计算能力的提升,更受益于传感器技术、机器学习和深度学习等领域的突破。
2、3d目标检测任务旨在识别和定位3d空间中的交通物体,感知周围的目标物体,是自动驾驶领域的关键任务。其中根据传感器目前主流的方法可以分为基于激光雷达(lidar)和基于视觉的检测方法。相比于基于lidar的方法,基于视觉的3d物体检测具有部署成本低的优点,是近年来备受关注的课题。
3、主动学习是降低数据标注成本的重要技术之一,它通过从未标注的数据池中迭代选择最有价值的样本进行标记和训练,在有限的标注成本下尽可能地提升模型性能,目前在图像分类、目标检测、语义分割等传统计算机视觉任务上取得了广泛应用。
4、然而,当前基于视觉的3d目标检测方法依赖于在训练阶段使用的大量准确的3d标注,相比于2d检测,这是极其耗时且代价昂贵的。相比之下,自动驾驶数据的获取是非常容易的,采集车在行驶过程中可以收集大量视频片段,标注的高成本大大阻碍了基于视觉的自动驾驶感知算法的发展。因此,在有限标注成本的情况下进行3d目标检测是一个非常大的挑战。
技术实现思路
1、本发明的目的在于解决现有技术中存在的问题,并提供一种面向自动驾驶场景的多视角3d目标检测主动学习方法。
2、为了实现上述发明目的,本发明具体采用如下技术方案:
3、一种面向自动驾驶场景的多视角3d目标检测主动学习方法,包括以下步骤:
4、s1、获取有标注的自动驾驶环视数据集以及无标注的自动驾驶环视数据集;
5、s2、在有标注的自动驾驶环视数据集上对检测器进行预训练,所述检测器为在基于鸟瞰图的3d目标检测模型中额外添加一个高度预测网络作为额外的辅助任务得到,所述高度预测网络添加在所述3d目标检测模型的鸟瞰图编码器之后,并且与所述3d目标检测模型的鸟瞰图解码器构成并行处理分支,所述高度预测网络用于预测鸟瞰图下每个网格前景部分的高度分布,预测得到的高度分布用于后续的主动学习;
6、s3、基于高度引导的对抗主动学习方法先将有标注的自动驾驶环视数据集中的样本输入到经过预训练的检测器中,得到第一鸟瞰图空间高度分布,再将无标注的自动驾驶环视数据集中的样本输入到经过预训练的检测器中,得到第二鸟瞰图空间高度分布,由得到的第一鸟瞰图空间高度分布和第二鸟瞰图空间高度分布训练变分自编码器和判别器,所述变分自编码器和所述判别器各自对应一个损失函数用于参数更新;在训练判别器时,若判别器输出的判断结果为当前样本属于无标注的自动驾驶环视数据集,则将当前样本作为代表性样本;
7、s4、所述变分自编码器和所述判别器训练完成后,将代表性样本输入到经过训练的变分自编码器和判别器中,将训练好的判别器的输出作为数据来源代表性分数;
8、s5、对于无标注的自动驾驶环视数据集中的样本,根据其在视频序列中的帧编号计算其与距离最近的有标注的自动驾驶环视数据集中的样本之间的时序距离,将时序距离计算结果作为时间多样性分数,根据其在高精地图中的拍摄地点计算其与距离最近的有标注的自动驾驶环视数据集中的样本之间的空间距离,将空间距离计算结果作为空间多样性分数,将时间多样性分数和空间多样性分数相加再求平均后作为时空多样性分数;
9、s6、将数据来源代表性分数和时空多样性分数进行加权求和作为样本的总体信息量分数,按照总体信息量分数的高低对无标注的自动驾驶环视数据集中的样本进行排序,筛选出总体信息量分数最高的一批无标注的自动驾驶环视数据集中的样本构建待标注样本候选集合;
10、s7、根据基于类别的均衡采样方法先由训练好的检测器预测检测框的实例级别类别分数,再对实例级别类别分数进行降维,降维方式采用逐类求和,降维后得到样本级别类别分数,预先构建一个已选样本分数向量,不断迭代标注更新已选样本分数向量,直至达到预先设定的标注上限,得到最终的待标注样本集;在每次标注中,将已选样本分数向量中样本数量最少的类别作为待更新类别,从待标注样本候选集合中选出已选样本,且满足已选样本为样本级别类别分数中待更新类别对应的分数最高的样本,将已选样本的样本级别类别分数与已选样本分数向量相加作为新的已选样本分数向量。
11、在上述方案基础上,各步骤可以采用如下优选的具体方式实现。
12、作为优选,步骤s1中,有标注的自动驾驶环视数据集和无标注的自动驾驶环视数据集均包含多个自动驾驶场景的多视角视频,多视角视频中的每一帧为一个样本,每个样本带有一个多视角图像、相机的内参数、相机的外参数、样本在多视角视频中的时间戳以及样本在高精地图中的位置信息,有标注的自动驾驶环视数据集额外带有数据标注,每个数据标注中带有3d检测框的空间位置、尺寸、方向和速度以及类别。
13、作为优选,步骤s2中,所述高度预测网络为多层感知机mlp。
14、作为优选,步骤s3在所述变分自编码器和所述判别器训练过程的每个迭代轮次中,将第一鸟瞰图空间高度分布输入到变分自编码器的编码器中,得到第一隐向量,将第一隐向量输入到变分自编码器的解码器中进行重建,得到重建的第一高度分布,将第一隐向量的后验分布输入到判别器中,得到第一判断结果,将第二鸟瞰图空间高度分布输入到变分自编码器的编码器中,得到第二隐向量,将第二隐向量输入到变分自编码器的解码器中进行重建,得到重建的第二高度分布,将第二隐向量的后验分布输入到判别器中,得到第二判断结果,基于第一隐向量的后验分布以及单位高斯先验分布计算第一kl散度损失,基于第二隐向量的后验分布以及单位高斯先验分布计算第二kl散度损失,根据第一kl散度损失、第二kl散度损失以及重建的第一高度分布和重建的第二高度分布构建变分自编码器的重建学习损失,基于第一判断结果和第二判断结果构建变分自编码器的对抗学习损失,将所述重建学习损失和所述对抗学习损失相加作为变分自编码器的最终损失,基于第一判断结果和第二判断结果构建判别器的最终损失,最小化变分自编码器的最终损失更新变分自编码器的参数,最小化判别器的最终损失更新判别器的参数,直至达到预设的迭代轮次,得到训练好的变分自编码器和判别器。
15、作为优选,变分自编码器的最终损失lvae为:
16、
17、式中,表示第一鸟瞰图空间高度分布,表示第二鸟瞰图空间高度分布;zl表示第一隐向量,zu表示第二隐向量;pθ表示变分自编码器的解码器,qφ表示变分自编码器的编码器;disc表示判别器;表示重建的第一高度分布,表示重建的第二高度分布;β表示预设的第一超参数;p(z)表示一个单位高斯先验分布;表示第一隐向量的后验分布,表示第二隐向量的后验分布;表示第一kl散度损失,表示第二kl散度损失;表示第一判断结果,表示第二判断结果;表示变分自编码器的重建学习损失;表示变分自编码器的对抗学习损失。
18、作为优选,判别器的最终损失为:
19、
20、作为优选,若第一判断结果为0,则表示第一隐向量对应的样本来自于有标注的自动驾驶环视数据集,若第一判断结果为1,则表示第一隐向量对应的样本来自于无标注的自动驾驶环视数据集;若第二判断结果为0,则表示第二隐向量对应的样本来自于有标注的自动驾驶环视数据集,若第二判断结果为1,则表示第二隐向量对应的样本来自于无标注的自动驾驶环视数据集。
21、作为优选,步骤s5中,对于来自无标注的自动驾驶环视数据集中的样本xu,时空多样性分数计算方式为:
22、
23、
24、式中,表示空间多样性分数,表示时间多样性分数;xl′表示距离无标注的自动驾驶环视数据集中的样本xu最近的有标注的自动驾驶环视数据集中的样本;ds(xu,xl′)表示无标注的自动驾驶环视数据集中的样本xu和有标注的自动驾驶环视数据集中的样本xl′之间的空间距离;dt(xu,xl′)表示无标注的自动驾驶环视数据集中的样本xu和有标注的自动驾驶环视数据集中的样本xl′之间的时序距离;id(xu)表示无标注的自动驾驶环视数据集中的样本xu在视频序列中的帧编号;id(xl′)表示有标注的自动驾驶环视数据集中的样本xl′在视频序列中的帧编号;λ为预设的第二超参数。
25、本发明相对于现有技术而言,具有以下有益效果:
26、1)本发明是第一个基于视觉的环视3d目标检测主动学习框架,通过解耦自动驾驶环视摄像头数据的样本信息量,从数据先验、鸟瞰图特征以及检测结果三个角度设计了一套两阶段主动学习算法。通过引入数据来源代表性分数和数据时空多样性分数,本发明方法实现了在样本空间和鸟瞰图空间的多样性采样。通过引入类别平衡采样,实现了在类别空间的均衡。
27、2)本发明为自动驾驶场景中的海量待标注样本提供了价值性判断,从而自适应地选择更具有信息量的样本进行训练,进而提升模型性能,在nuscenes数据集中选择50%的样本即可达到与全量数据集训练可比较的结果。此外,本发明具有强泛化性,在不同的数据集、不同的3d检测模型上也能取得良好的性能。
1.一种面向自动驾驶场景的多视角3d目标检测主动学习方法,其特征在于,包括以下步骤:
2.如权利要求1所述的面向自动驾驶场景的多视角3d目标检测主动学习方法,其特征在于,步骤s1中,有标注的自动驾驶环视数据集和无标注的自动驾驶环视数据集均包含多个自动驾驶场景的多视角视频,多视角视频中的每一帧为一个样本,每个样本带有一个多视角图像、相机的内参数、相机的外参数、样本在多视角视频中的时间戳以及样本在高精地图中的位置信息,有标注的自动驾驶环视数据集额外带有数据标注,每个数据标注中带有3d检测框的空间位置、尺寸、方向和速度以及类别。
3.如权利要求1所述的面向自动驾驶场景的多视角3d目标检测主动学习方法,其特征在于,步骤s2中,所述高度预测网络为多层感知机mlp。
4.如权利要求1所述的面向自动驾驶场景的多视角3d目标检测主动学习方法,其特征在于,步骤s3在所述变分自编码器和所述判别器训练过程的每个迭代轮次中,将第一鸟瞰图空间高度分布输入到变分自编码器的编码器中,得到第一隐向量,将第一隐向量输入到变分自编码器的解码器中进行重建,得到重建的第一高度分布,将第一隐向量的后验分布输入到判别器中,得到第一判断结果,将第二鸟瞰图空间高度分布输入到变分自编码器的编码器中,得到第二隐向量,将第二隐向量输入到变分自编码器的解码器中进行重建,得到重建的第二高度分布,将第二隐向量的后验分布输入到判别器中,得到第二判断结果,基于第一隐向量的后验分布以及单位高斯先验分布计算第一kl散度损失,基于第二隐向量的后验分布以及单位高斯先验分布计算第二kl散度损失,根据第一kl散度损失、第二kl散度损失以及重建的第一高度分布和重建的第二高度分布构建变分自编码器的重建学习损失,基于第一判断结果和第二判断结果构建变分自编码器的对抗学习损失,将所述重建学习损失和所述对抗学习损失相加作为变分自编码器的最终损失,基于第一判断结果和第二判断结果构建判别器的最终损失,最小化变分自编码器的最终损失更新变分自编码器的参数,最小化判别器的最终损失更新判别器的参数,直至达到预设的迭代轮次,得到训练好的变分自编码器和判别器。
5.如权利要求4所述的面向自动驾驶场景的多视角3d目标检测主动学习方法,其特征在于,变分自编码器的最终损失lvae为:
6.如权利要求5所述的面向自动驾驶场景的多视角3d目标检测主动学习方法,其特征在于,判别器的最终损失为:
7.如权利要求4所述的面向自动驾驶场景的多视角3d目标检测主动学习方法,其特征在于,若第一判断结果为0,则表示第一隐向量对应的样本来自于有标注的自动驾驶环视数据集,若第一判断结果为1,则表示第一隐向量对应的样本来自于无标注的自动驾驶环视数据集;若第二判断结果为0,则表示第二隐向量对应的样本来自于有标注的自动驾驶环视数据集,若第二判断结果为1,则表示第二隐向量对应的样本来自于无标注的自动驾驶环视数据集。
8.如权利要求1所述的面向自动驾驶场景的多视角3d目标检测主动学习方法,其特征在于,步骤s5中,对于来自无标注的自动驾驶环视数据集中的样本xu,时空多样性分数计算方式为: