本发明涉及一种基于transformer稀疏编解码的三维点云目标检测方法,属于通讯。
背景技术:
1、近年来,人工智能技术、计算机处理技术和图像处理技术日益成熟,人工智能与计算视觉领域的融合不断加深,人工智能的应用场景愈发广泛。在目标检测算法中,三维目标检测是从三维传感器数据中检测物理对象,估计三维边界盒,并指定特定的类别。三维目标检测是三维场景感知和理解的核心。随着各种类型的3d传感器的出现,成千上万的下游应用,如自动驾驶、管家机器人和虚拟增强现实等如雨后春笋般涌现。transformer是计算机视觉中一种基于注意力机制的深度神经网络模型,transformer的核心思想是利用多头自注意力机制来建立输入序列之间的关联关系,但是transformer计算效率比较低下,因此研究人员不得不使用下采样、可形变等处理机制来减少其计算量。若将transformer应用于三维点云目标检测领域,由于三维点云相比于二维图像,数据维度的增加会使得计算效率更加低下。
技术实现思路
1、本发明目的在于针对上述现有技术的缺陷和不足,提出了一种基于transformer稀疏编解码的三维点云目标检测方法,该方法通过在提取三维点云数据特征后融合稀疏编码、位置编码和占位编码,作为transformer的输入,稀疏编码更好地表征特征空间,占位编码更多地关注稀疏特征图中的点;编码器通过多头注意力机制,结合占位编码来进行稀疏编码;对稀疏特征图生成目标向量,进行自注意力编码,结合占位编码,与融合后的稀疏特征图进行交叉编码,输出解码后的特征向量,将稀疏编码、位置编码、占位编码和transformer相结合,以减少计算量和计算时间,增强了采样点的感知范围,提升了三维目标检测性能。
2、本发明解决其技术问题所采用的技术方案是:一种基于transformer稀疏编解码的三维点云目标检测方法,该方法包括如下步骤:
3、步骤1:数据预处理,对点云数据进行弹性变形、随机裁剪和噪声干扰处理,获取预处理后的点云数据;
4、步骤2:多尺度稀疏特征图提取,采用u-net网络作为骨干网络,对三维点云数据进行特征提取,形成三层不同层级的feature map,feature map舍弃了以往传统的密集矩阵的表示方式,忽略孔洞,即值为0的点,最后以稀疏特征图的形式输出;
5、步骤3:位置编码和占位编码生成,对每一层feature map分别嵌入对应大小的位置编码和占位编码,融合特征图、位置编码和占位编码,将三层多尺度融合特征图输入到transformer模型中;
6、步骤4:模型构建transformer encoder,进行稀疏编码,transformer模型中的编码器对稀疏特征图进行稀疏编码处理,通过多头注意力机制,结合占位编码使得模型关注稀疏特征图中的点,然后经过全连接层、残差和以及层归一化操作,输出融合后的稀疏特征图;
7、步骤5:模型构建transformer decoder,对稀疏特征图首先生成object queries,然后进行自注意力编码,接着进行multi-scale deformable attention,结合占位编码,与融合后的稀疏特征图进行交叉编码,使得模型关注稀疏特征图中的点,输出解码后的特征向量,最后,通过预测头预测每个解码向量的三维bounding box及类别,得到三维点云目标检测模型;
8、步骤6:模型训练,损失函数包括bounding box的giou、l2 loss、offset loss以及编解码的预测的融合特征点的位置和占位编码的mask loss,其中,mask loss用来保证transformer编解码的时候预测的特征点位置是稀疏特征图中的占位位置,对三维点云目标检测模型进行训练,得到最终的三维点云目标检测模型;
9、步骤7:目标检测,根据最终的三维点云目标检测模型进行三维点云目标检测,从而得到检测结果。
10、进一步地,所述步骤1中对三维点云数据进行预处理,将原始的点云数据经过弹性变形,添加噪声数据,针对点云数据中的目标对象,得到每个对象的坐标(x,y,z,h,w,d)及对应的标签和颜色。
11、进一步地,所述步骤2中多尺度稀疏特征图提取,以三维点云数据作为输入,采用u-net网络来提取三维点云数据,u-net网络的左部由两个3×3的稀疏卷积层和一个2×2的max pooling层组成,最终得到两个输出:u-net网络的左半部分最后三层的稀疏featuremap和稀疏占位编码。
12、进一步地,所述步骤4包括:
13、步骤4-1:transformer编码器由多层multi-scale deformable attentionmodule组成,multi-scale deformable attention module简称msda,将msda结合占位编码sl使得模型关注稀疏特征图中的点,来进行稀疏编码,公式如下:
14、
15、在公式1中,m是注意力头部,l是输入特征层级,k是采样点;zq表示查询特征,q是对应的索引,sl表示占位编码moccupy的映射,表示归一化坐标,xl是第l层的特征;δpmlqk和amlqk分别表示第l个特征级别和第m个关注头部中的第k个采样点的采样偏移量和注意力权重;wm、wm'是可学习变换参数,将归一化坐标重新缩放到第l级的输入特征图;
16、步骤4-2:嵌入前馈网络模块,该模块包含两个线性层、一个非线性激活函数和残差连接,并进行层归一化,具体计算过程如下:
17、x=layernorm(x+relu(w1x+b1)w2+b2) 公式2
18、在公式2中,w1和w2是两个线性层的参数矩阵,b1和b2为线性层的偏置参数,layernorm()表示层归一化操作,relu表示激活函数,最后编码器输出融合后的稀疏特征图,并送入transformer decoder。
19、进一步地,所述步骤s5包括:
20、步骤5-1:根据稀疏特征图,生成object queries,首先为上的每个特征点x预测其所属类别概率,公式表示为:
21、p(y|x)=linear(layernorm(linear(x))) 公式3
22、在公式3中,layernorm()表示层归一化操作,linear()表示线性变换,设x在特征图上的归一化坐标为mlp为多层感知器,则该特征点对应的参考点为:
23、
24、在公式4中,x为编码器的输出,mlp为多层感知器,layernorm()表示层归一化操作,linear()表示线性变换,目标查询模块根据{p(y|x)}从{ref_pts}集合中选择出topk个参考点{x}topk,通过对{x}topk进行非线性变换获得每个参考点的查询向量tgt;
25、步骤5-2:接着对查询向量tgt进行自注意力编码,将tgt通过变换矩阵wq、wk、wv映射为query、key、value向量,使得查询向量相互作用,公式如下:
26、
27、在公式5中,dk为attention头的长度,softmax为归一化指数函数,wkt为wk的转置;
28、步骤5-3:然后进行msda,结合占位编码sl,与融合后的稀疏特征图进行交叉编码,使得模型关注稀疏特征图中的点,输出解码后的特征向量,计算公式如下:
29、
30、在公式6中,m表示注意力头部,l表示输入特征层级,k表示采样点;tgt'表示自注意力编码后的查询向量,sl表示占位编码moccupy的映射,{ref_pts}表示归一化坐标,xl是第l层的特征,δpmlqk和amlqk分别表示第l个特征级别和第m个关注头部中的第k个采样点的采样偏移量和注意力权重,wm、wm'是可学习变换参数,φl(ref_pts)将归一化坐标{ref_pts}重新缩放到第l级的输入特征图;
31、步骤5-4:嵌入前馈网络模块,该模块包含两个线性层、一个非线性激活函数和残差连接,并进行层归一化,具体计算过程如下:
32、output=layernorm(tgt'+relu(w1·tgt'+b1)w2+b2) 公式7
33、在公式7中,tgt'是msda的输出,w1和w2是两个线性层的参数矩阵,b1和b2为线性层的偏置参数,layernorm()表示层归一化操作,relu表示激活函数;
34、步骤5-5:经过残差连接、归一化和前馈神经网络等模块,通过预测头预测每个解码向量的三维bounding box及类别,最终输出该查询对应的分类概率p为:
35、p=linear(layernorm(linear(output))) 公式8
36、公式8中,linear()表示线性变换,layernorm()表示层归一化操作,output表示嵌入前馈网络模块的输出;
37、通过回归获得的该查询对应的包围盒b为:
38、b=mlp(layernorm(linear(output))) 公式9
39、在公式9中,mlp为3层感知器,linear()表示线性变换,output表示嵌入前馈网络模块的输出,输入和隐藏层的长度皆为t维,采用的激活函数为relu,最后的输出为b∈r6,表示目标包围盒的中心坐标和长宽高,最后得到三维点云目标检测模型。
40、进一步地,所述步骤6中模型训练,其训练的损失函数包括bbox的giou、l2 loss、offset loss以及编解码的预测的融合特征点的位置和占位编码的mask loss,上述transformer decoder的输出是topk个参考点预测的检测目标类别和该目标的包围盒,用n来表示topk,即由于三维点云数据中的实际对象往往要小于n,因此通过填充使得ground truth也包含n个对象,即首先采用匈牙利匹配算法得到预测的结果和ground truth的最佳匹配公式如下:
41、
42、在公式10中,第一部分为分类损失,第二部分为包围盒损失,包围盒损失由交并比损失iou和l1损失构成,其中,βiou和βl1为超参数,ci表示当前bounding box的类别,bi表示bounding box的真值,表示预测类别ci的概率,表示σ(i)表示一种排列组合情况,liou表示真值bi和预测结果的cost,argmin表示使后面这个式子达到最小值时的变量的取值,在使用匈牙利算法获得预测的结果和ground truth的最佳匹配后,loss采用如下公式进行计算:
43、
44、在公式11中,ci表示当前bounding box的类别,bi表示bounding box的真值,表示预测类别ci的概率,表示σ(i)表示一种排列组合情况,liou表示真值bi和预测结果的cos t,表示集合中ci非空的部分,moccupy表示占位编码,m是注意力头部,l是输入特征层级,k是采样点;zq表示查询特征,q是对应的索引,sl表示占位编码moccupy的映射,tgt'是msda的输出,δpmlqk表示第l个特征级别和第m个关注头部中的第k个采样点的采样偏移量,lmask_encoder和lmask_decoder分别为编码器和解码器的多尺度可形变的注意力机制中预测点位和实际占位位置的损失,用来保证transformer编解码的时候预测的特征点位置是稀疏特征图中的占位位置,对三维点云目标检测模型进行训练,得到最终三维点云目标检测模型,实现基于端到端的三维点云目标检测。
45、有益效果:
46、1.本发明结合了稀疏编码和稀疏解码,能够提供更紧凑和高效的数据表示方式,用较少的非零系数来表示数据,去除冗余和不相关的信息,从而实现对数据的压缩,这对于存储和传输大量数据非常有用,可以减少存储和传输的成本,提高数据的表达能力和建模精度,并降低过拟合的风险。
47、2.本发明结合了多尺度feature map,通过采用多尺度的特征来增强检测效果,特别是小目标的检测效果,还提出了一个scale-level embedding,仅用于区分不同特征层,同一特征层中的所有特征点会对应相同的scale-level embedding,在实际使用时,这个scale-level embedding与基于三角函数公式计算的position embedding相加在一起作为位置信息的嵌入。
48、3.本发明结合了transformer编码器解码器结构,在具体的实现过程中,保证梯度可以从头到尾下降,在全局范围内得到后期的最优化结果,为实现检测结果最优化提供了良好的前提条件,解决了现有技术检测速度慢,识别精度低的问题。