一种基于frustumdeformableattention的目标检测方法与流程

文档序号:36779048发布日期:2024-01-23 11:50阅读:13来源:国知局
一种基于frustum deformable attention的目标检测方法与流程

本发明属于深度学习目标检测,具体来说是一种基于frustumdeformable attention的目标检测方法。


背景技术:

1、在深度学习目标检测领域,deformable attention借鉴了dcn(可变形卷积)的思想。可变形卷积与传统卷积的最大区别是:传统卷积的卷积核(kernel)在遍历整个特征图的过程中,只与固定且连续的对应位置相乘,这样的结果是:位置相邻的特征必须被绑定计算。而可变形卷积对于要生成的新特征图上的每个特征点,在原特征图上进行采样时,以新特征点位置作为参考点,围绕这个参考点自适应的生成偏移量,参考点加上偏移量即为将要采样的特征位置。比如大小为3*3的卷积核(kernel),会自适应地在原特征图上产生9个偏移量,因此会在这9个自动学习到的位置上采样并与卷积核加权后叠加,以此结果作为新特征点的值。

2、而与dcn不同的是,deformable attention也继承了transformer中的关系建模能力和多头注意力机制。多头注意力主要将原特征空间形成独立的多个特征空间,可以自适应地采用基于多种不同考虑因素的采样策略形成新的多头特征,再将多头特征重新连接起来。

3、可变形注意力机制继承了dcn这种灵活的思想和transformer的多头注意力机制,而与transformer不同的是:每个特征像素不必与所有特征像素交互计算,只需要与部分基于采样获得的其它像素交互,并且这些采样点的位置是可学习的。可变形注意力机制是一种局部和稀疏的注意力机制,能够解决transformer收敛慢与能够处理的特征分辨率受限的问题。

4、可变形注意力机制原理如下图,整个模型的输入为单张图片或多视角图片,经过backbone网络提取出多层特征图(image feature map),输送给encoder部分。在encoder部分中,每个特征点均作为query,在全部l个特征层中进行采样,采样策略为分为m个头,每个头在l个特征层的每一层采样k个偏移量,query投影到特征层中对应位置作为参考点,一个参考点加上l*k个偏移量形成这一个query的采样位置,对这些位置进行采样并加权就产生了新一层的特征点,encoder部分进行n层这样的操作,即把新特征点作为下一层的query输入,如上重复操作和计算n次,第n次的特征层结果就是encoder部分的输出。

5、encoder部分的输出作为decoder部分的输入,decoder部分设置m个objectquery,每个query在encoder输出的特征层中进行采样,采样方式与encoder中query相同。也经过n层相同的操作计算,上一层生成的新query作为下一层操作的query输入,第n层输出的特征作为decoder的结果,输送给检测头。

6、检测头用这些特征去预测目标的类别和位置大小等,这就是完整的模型计算过程。

7、参照附图1,deformable attention(可变形注意力机制)由transformer多头注意力和dcn结合而来,transformer多头注意力公式如下,其中,zq看作query,由特征层x经过线性变换生成,q是对应的索引,k是key的索引,ωk即所有的k集合,m代表是第几个注意力头部,w’m用于将x变换成value,amqk代表归一化的注意力权重。wm是对注意力施加在value后的结果进行线性变换从而得到不同头部的输出结果,可见每个query要与全集中每个key做注意力,并把注意力施加到value上。

8、

9、对应地,deformable attention公式如下,其中:{x}为多层特征图,m为多个头,l代表层数,k代表每层要采样的点数,pq为每个query的参考点,将参考点映射到不同层的特征图位置,△pmlqk为偏移量。整个公式的含义为:每个query有一个参考点,投影到m个头中的l层特征图上,再分别和对应特征层上的k个偏移量相加得到采样位置。每个query在每个特征层都会采样k个点,共有l层特征,从而在每个头部内共采样lk个点,注意力权重a也是在这lk个点之间进行归一化。

10、再用注意力a对将采样位置上的特征进行加权并叠加,再通过线性映射得到不同头部的输出结果,最后将结果在通道维度连接起来。

11、

12、deformable attention在初始化时,对于每个query,会无差别地对所有特征层设置参考点,并在每个特征层查找相同个数的采样点,而且注意力权重几乎是均等的。在encoder模块中,query就是所有特征层的每个特征点本身,但这些特征层之间存在固有的关系,特征层共四层时,第二层特征来自第一层特征做卷积,依次类推,第四层来自第三层做卷积,于是第四层的特征图是从第一层到第四层逐层做卷积而逐渐扩大感受野而形成的,从第一层到第四层的关系是:当特征图的长宽越来越小,感受野越来愈大,特征图逐渐从图像的纹理细节发展到大的结构或高度抽象的特征呈现,于是问题出现了:对于不同层上的query,无差别地在所有特征层上同等采样是一种计算浪费和显存浪费,而且增加了没必要的计算混乱程度。依据人类视神经感知和识别影像的过程呈现出视椎体的结构,从细节纹理的捕捉,关联,逐层聚合,层层迭代后形成高度抽象的整体结构和概念。第一层的浅层纹理特征是不需要到后续抽象部分去采样的,而第四层的高度抽象并具有最大感受野的部分才需要结合从纹理到抽象的全部特征作为整体判断的基础,需要在全部四层中都同时采样。如果不同特征层的query都在所有特征层均匀的无差别的采样,只是增加漫无目的的混乱的空间搜索过程,这造成了采用deformable attention的模型需要长时间去学习关注真正有意义的位置,而那些对于某个query来说没有意义的层或位置,本来一开始就可以避免掉。因此本方案提出一种新型的可变形注意力机制frustum deformable attention,解决以上问题。


技术实现思路

1、1.发明要解决的技术问题

2、本发明的目的在于解决现有的集热器在太阳光照射下受热不均匀的问题。

3、2.技术方案

4、为达到上述目的,本发明提供的技术方案为:

5、本发明的一种基于frustum deformable attention的目标检测方法,所述方法采用步骤如下:

6、s100、输入数据;

7、s200、特征提取;

8、s300、模型处理;

9、s400、输出目标检测预测值。

10、优选的,所述步骤s100具体为将含有目标的单张图片或w张多视角图片作为输入,输送给模型的backbone结构。

11、优选的,所述步骤s200具体为backbone结构提取不同层级的特征并输出l层特征图给encoder结构,所述backbone结构包括c层,其中c3层~c5层来自resnet网络结构,下采样率对应为8、16、32;c6层由c5层经过步长为2的3x3卷积得到。

12、优选的,所述步骤s300中模型的encoder结构一共有n层,每一层称为encoderlayer,每一次encoder layer都有相同的模型结构和参数;

13、在每一层的encoder layer结构中的frustum deformable attention有m头注意力机制,即:将多层特征图,每一层都按通道维度切分成m个部分,特征图的高(h)和宽(w)相乘为当前层的特征点个数。

14、优选的,所述frustum deformable attention公式如下:

15、

16、其中,i为第i层特征图,ki为第i层特征图被采样的个数,m为m头注意力机制,l为从1到第i层,p为query的数量,p个query形成维度为(p,m,l,k,2)的偏移量和维度为(p,m,l,k)的注意力权重a,其中m为m头注意力,l为共l层特征图,k为每个特征层上要采样位置偏移尺度,2为偏移量在特征图上的(x,y)值。

17、优选的,在l层特征图中,设定第一层到第四层中每一层被一个query所采样的个数为k1、k2、k3、k4个;

18、当特征点作为query时,第一层特征图的query为p1个,只在本层中采样k1个点,形成维度为(p1,m,k1,2)的偏移量和维度为(p1,m,k1)的注意力权重a1;第二层特征图的query为p2个,在本层采样k2个点,在第一层采样k1个点,形成维度为(p2,m,k1+k2,2)的偏移量和维度为(p2,m,k1+k2)的注意力权重a2;第三层特征图的query在本层采样k3个点,在第二层采样k2个点,在第一层采样k1个点,形成维度为(p3,m,k1+k2+k3,2)的偏移量和维度为(p3,m,k1+k2+k3)的注意力权重a3;第四层特征图的query在本层采样k4个点,在第三层采样k3个点,在第二层采样k2个点,在第一层采样k1个点,形成维度为(p4,m,k1+k2+k3+k4,2)的偏移量和维度为(p4,m,k1+k2+k3+k4)的注意力权重a4。

19、优选的,所述采样的流程如下:

20、对l层特征图分别采用f.grid_sample函数逐层采样,根据已经生成的p1到p4个query的采样位置,第一层特征图会被p1~p4都采样,往f.grid_sample函数输入p1~p4在第一层特征图的k1采样位置,共被采样出(p1+p2+p3+p4)*k1个特征;第二层特征图会被p2~p4都采样,往f.grid_sample函数输入p2~p4在第二层特征图的k2采样位置,共被采样出(p2+p3+p4)*k2个特征;第三层特征图会被p3~p4都采样,往f.grid_sample函数输入p3~p4在第三层特征图的k3采样位置,共被采样出(p3+p4)*k3个特征;第四层特征图仅会被p4采样,往f.grid_sample函数输入p4在第四层特征图的k4采样位置,共被采样出(p4)*k4个特征。

21、优选的,还包括

22、每个query都要从m个头中获取特征点后与对应的ai(i=1到4)注意力加权,再将m个头的新特征重新级联(concate)为c维,完成多头注意力。

23、优选的,第一层encoder layer采样并聚合形成了新一层的多尺度特征图,encoder共有n层,上一层encoder layer的输出作为下一层encode layer的输入,同样的模型参数和计算过程重复进行n次;最后一层的encode layer最终输出进一步聚合与关联后的特征,并输出给检测头,检测头会将特征经过卷积或全连接等操作输出最后的目标检测预测值。

24、优选的,在模型训练过程中,预测值和真值会形成loss,并开始反向传播形成梯度,做梯度下降,从而不断降低loss值,最后loss下降到一定程度到达收敛,模型训练过程完成。

25、3.有益效果

26、采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:

27、本发明的一种基于frustum deformable attention的目标检测方法,所述方法采用步骤如下:s100、输入数据;s200、特征提取;s300、模型处理;s400、输出目标检测预测值。本发明的模型基于frustum deformable attention进行模型训练后,其结构输出的四层多尺度特征图,在依然包含自身层的含义和表示功能的同时,底层纹理形成了更加贴近描绘目标的纹理层,高层抽象特征结合了局部纹理和整体结构从而形成了更具完整语义的表示信息。多尺度特征依图在保持层次分明的同时,在自身包含的信息维度内形成了对画面目标更有力的捕捉。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1