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

一种基于自适应解码器的目标检测方法及装置

2022-06-11 12:12:46 来源:中国专利 TAG:


1.本发明属于计算机软件技术领域,涉及时序动作检测技术,具体为一种基于自适应解码器的目标检测方法及装置。


背景技术:

2.目标检测一直都是计算机视觉领域中一项基本但是困难的任务,这项任务的目标是找到图片中不同物体的位置并且对它们进行分类。截止到目前为止,目标检测主要的两种范式分成两种:
3.第一种范式是密集型的目标检测器,它基于滑动窗口式的思想,假设图片中的物体可能会密集且均匀地出现在图片的任何一个空间位置。在深度学习的时代,基于这种假设的目标检测器能够很好覆盖住可能是目标的物体。有很多著名的工作都是基于这种密集型的先验假设,但是他们的缺点是需要密集地生成多尺度的锚点框,来在特征图中穷举式地去产生提议区域或者直接分类并定位物体,需要消耗很多的计算资源,且易造成冗余的检测结果。
4.第二种范式是基于查询的目标检测器,以最近出现的detr为主,它将目标检测的问题形式化成一个直接的集合预测问题,首先需要用基于transformer结构的编码器和解码器来生成很多框来预测目标的位置,再基于这些预测的框和真实的框来进行二分图匹配。虽然这种范式的性能和faster r-cnn的基线相当,但是它仍然有空间分辨率受限、小物体检测能力不足、收敛速度慢等问题。且这些基于查询的检测器都需要特征提取网络之外的额外的特征编码器,这些特征编码器所带来的计算开销巨大。也有一些工作使用了一些第一种范式中的密集型假设来解决部分这里的问题,但是同时也引入了第一种范式中的一些问题。这些基于查询的检测器暂时因各种上述提到的问题无法应用到实际应用中。


技术实现要素:

5.本发明要解决的问题是:现有的很多目标检测框架需要依赖很多基于人类先验知识的手工模块,需要精细地调整参数;而且新出现的基于查询的transformer式目标检测框架也存在空间分辨率受限、小物体检测性能不好、收敛速度慢等问题,没有完全充分利用查询的信息,目标检测效果有待改进。
6.本发明的技术方案为:一种基于自适应解码器的目标检测方法,构建一个目标检测模型adamixer,根据3d采样特征空间对图片的多尺度特征进行采样,并基于查询机制通过编码器和解码器自适应地根据查询的空间位置信息和语义内容信息进行采样点位置和特征解码的调节,再配合ffn完成对查询的增强,实现查询位置的检测,所述目标检测网络的实现包括生成3d特征阶段、网络配置阶段、训练阶段以及测试阶段:
7.1)生成3d特征阶段:使用骨干网络对训练样例图像进行特征提取,对于每个输入图像,基于骨干网络不同阶段输出的不同长宽、不同通道数的特征图,得到一个3d特征空间,用于在其中完成后续的采样处理;
8.2)网络配置阶段,基于初始查询配置和解码器,建立目标检测模型adamixer,包括以下配置:
9.2.1)初始查询配置:为输入特征图初始化编码生成n个初始查询量,查询量中包括初始语义向量q0,以及对应查询采样点的初始位置向量(x,y,z,r),(x,y,z)是采样点在3d特征空间中的坐标,r是特征图的高宽比的以2为底的对数,初始语义向量q0从标准正态分布n(0,1)中随机采样得到,初始位置向量(x,y,z,r)设置为能够覆盖整张特征图;
10.2.2)解码器:解码器的输入是2.1)中编码生成的查询量,输出是经过解码器优化之后的相同格式的查询量,解码器中包含以下模块,用于自适应地利用查询中语义信息和位置信息:
11.2.2.1)多头自注意力模块:将n个查询量输入一个多头自注意力模块,使用正弦形式的位置信息附加到语义向量上,并将交集前景比iof作为一个偏置加入注意力的权重,经过该多头自注意力模块得到一个增强后的语义向量输出q;
12.2.2.2)3d采样模块:使用2.2.1)中得到的q,经过一个线性层的变换之后,利用q的语义信息得到p
in
个采样点位移集合,结合查询量中对应的位置向量四元组,得到p
in
个3d特征空间采样点坐标p,根据采样点坐标p先在(x,y)的特征空间中做两点插值,得到一个不考虑z轴权重的特征矩阵,然后再在z轴上做高斯权重插值,进而得到完整的采样后的特征矩阵x;
13.2.2.3)自适应混合模块:对特征矩阵x进行自适应地解码,分两步对采样后的特征矩阵x进行自适应混合,分别为自适应语义通道混合以及自适应空间信息混合,在自适应语义通道混合中,使用基于q的动态权重矩阵在特征通道上对特征矩阵x进行通道语义增强;在自适应空间信息混合中,使用基于q的动态权重矩阵在空间信息上对特征矩阵x进行空间信息增强;最终得到信息增强后的特征矩阵x’;
14.2.2.4)ffn模块:对于2.2.3)中输出的更新后的特征矩阵x’,结合其位置向量,对整体的查询中的语义向量和位置向量进行更新,即对2.2.3)得到特征矩阵x’展平,经过一组ffn,将其通道数转换到q的相同通道数,得到更新后的查询中的语义向量q

;根据更新后的语义向量q

,再经过一组ffn,得到一组更新后的查询中的位置向量(x

,y

,z

,r

);
15.2.3)得到最终的查询语义向量q

以及位置向量(x

,y

,z

,r

)后,将q

送入一个ffn分类网络中得到分类结果,将(x

,y

,z

,r

)翻译成包围框的坐标得到包围框的结果;
16.3)训练阶段:对配置的网络模型采用训练数据进行训练,使用focal loss,l1 loss和giou loss组合作为损失函数,使用adamw优化器,通过反向传播算法来更新网络参数,不断重复步骤1)和步骤2),直至达到迭代次数;
17.4)训练阶段:将待测试数据的图片特征输入到训练完成的adamixer模型中,根据2.3)中的方式,得到最终的目标分类结果以及目标包围框位置,验证所训练adamixer模型的效果,达到所需目标检测效果的adamixer模型作为最终所得目标检测模型,用于目标检测。
18.本发明还提出一种基于自适应解码器的目标检测装置,具有计算机可读存储介质,所述计算机存储介质中配置有计算机程序,所述计算机程序用于实现上述的目标检测模型adamixer,所述计算机程序被执行时实现上述目标跟踪方法。
19.本发明提出了一种新的解码方式,可以更好地利用基于查询的transformer式目
标检测框架中查询的空间位置信息和语义内容信息,所设计的解码器对查询更加具有自适应性,可以达到更好的效果,且无需特征提取网络之外的额外特征编码器,能够直接、高效、快速、准确地生成目标物体的包围框以及其类别。
20.本发明与现有技术相比有如下优点
21.本发明提出了一种简单、准确的检测器,拥有对于不同图片的不同查询量时的自适应能力。无需锚点框、密集匹配以及非极大值抑制等依赖于人类先验知识的手工模块就可以充分利用查询量中的空间信息以及语义信息,易于调试,且在训练时拥有更快的收敛速度,如图4所示。
22.本发明提出的解码器可以自适应地基于查询量来采样特征,以及用特征通道混合、空间信息混合来动态地解码特征。经实验后发现,特征信息以及空间信息对结果的准确率有很大的帮助,本发明的设计的检测模型有效地利用了查询量中包含语义和位置信息,有助于提升解码器对语义信息和空间信息的理解,自适应能力更强。
23.本发明提出了3d特征采样,可以有效地编码不同特征通道数的特征图,把有效信息更多地融合进查询量中。基于该3d特征采样策略,本发明仅利用一个骨干网络输出的不同通道特征即可获得多尺度的特征信息,并且可以适应不同物体的尺度变换,不需要任何额外的网络输出头即可有助于网络的简化以及可以消耗更少的运算资源。
24.本发明在目标检测任务上具有自适应性高、高效、快速、准确等特点。和现有的方法相比,本发明在主流数据集和实际的应用中都具有更好的表现。
附图说明
25.图1是本发明所使用的系统框架图。
26.图2是本发明3d特征空间的示意图。
27.图3是本发明的自适应特征混合模块示意图。
28.图4是本发明的收敛速度展示图。
29.图5是本发明的1x训练策略结果展示图。
30.图6是本发明的3x训练策略结果展示图。
31.图7为本发明的总体流程示意图。
具体实施方式
32.本发明是一种基于查询的自适应目标检测方法,构建了adamixer模型,结合了自适应性3d采样技术和自适应性的通道、空间混合技术,能够提升基于查询的目标检测器中解码器的性能,并通过注意力机制自适应调节特征,实现高性能、高效率的图片目标检测器。本发明方法中,adamixer模型的实现包括生成3d特征阶段,网络配置阶段、训练阶段以及测试阶段,如图7所示,具体说明如下。
33.1)生成3d特征阶段:使用输入图像基于骨干网络resnet-50不同阶段输出的不同长宽、不同通道数的特征图,定义出一个3d的特征空间。首先使用线性层将每个特征图都转化到相同的通道数d
feat
,优选d
feat
=256,并且给每张特征图一个标号j。对特征图j,可以计算出它的z轴坐标为:
34.zj=log2(sj/s
base
)
35.其中sj是第j张特征图的降采样条带宽度,s
base
是基础的降采样条带的宽度,为图像降采样的一个预设量。本发明中,对骨干网络resnet的第二到第五阶段(c2~c5)的特征图,经过线性变换,将特征图拉伸到相同长宽,将通道数统一为d
feat
,叠放在一个三维空间中,,如图2,得到本发明的3d特征空间。
36.2)网络配置阶段,基于编码器和解码器,建立目标检测模型,即本发明的adamixer模型,如图1所示,模型包括以下配置:
37.2.1)初始查询生成配置:本发明首先配置编码器,为输入特征图初始化编码得到n个初始查询量,用于后续框架的学习的初始化,具体如下:
38.1.查询定义:
39.在本发明中,为了能使编码器达到预计的效果,自定义了一个包含语义信息以及位置信息的查询量,每个查询量中包含一个向量维度为dq的语义向量,以及对应查询采样点的一个位置向量(x,y,z,r),其中(x,y,z)是采样点3d特征空间中的坐标。r是特征图的高宽比的以2为底的对数。这样定义的主要原因是便于编码以及和目标的包围框转化。
40.查询量中的位置向量和包围框可以进行相互转化,具体的转化关系为:
41.xb=s
base
·
x,yb=s
base
·y42.wb=s
base
·2z-r
,hb=s
base
·2z r
43.即可以将一个位置向量(x,y,z,r)转化成一个包围框的信息(xb,yb,wb,hb),(xb,yb)对应包围框的中心点,(wb,hb)对应包围框的宽和高。s
base
是基础的图像降采样条带的宽度,根据最大的特征图的缩放倍数来确定,本发明实例中s
base
取4.
44.2.初始查询配置:
45.为输入特征图初始化编码生成n个初始查询量,每个查询中的语义向量q0初始化为一个dq维的张量,其中每个维度的值都是从标准正态分布n(0,1)中随机采样得到的,假设输入图像的长是h,宽是w,则每个查询采样点的位置向量初始化为一个能够转化为覆盖整张图像的包围框的四元组即为一个4维的向量。初始查询量只取决于图像的宽、高,初始查询量不来自于编码图像,但和编码图像的宽、高有关。
46.2.2)解码器:此阶段的输入是2.1)中生成格式的查询量,输出是经过解码器优化之后的相同格式的查询量。预先通过叠加m层来加深网络,达到较好的效果,在本发明实例中,我们取m=6,叠加6层解码器。对于输入的查询量,本发明解码器首先将其送入一个多头自注意力模块,得到一个增强后的语义查询量然后使用该q经过一个线性层的变换之后,可以得到p
in
个采样点集合利用该采样点集合可以在本发明定义的3d特征空间中进行采样,把特征空间分成g组,分组后每组特征空间的通道数为d
feat
/g,每组中采样p
in
个点,可以得到特征矩阵每组的特征矩阵为其中c=d
feat
/g,进行自适应混合,首先进行自适应语义通道混合,得到特征输出,接着进行自适应空间信息混合,得到最后利用此输出送入ffn网络,更新查询的语义向量和位置向量,得到和输入格式相同,但是经过自适应优化后的查询量q

和位置向量(x

,y’,z

,r

)。本发明解码器的具体实现如下。
47.1.多头自注意力模块:
48.对于输入的n个查询量,将其送入一个多头自注意力模块,为了在该模块中将查询量的位置信息和语义信息结合,使用正弦形式的位置信息附加到语义向量上。另外还将交集前景比iof(intersection over foreground)作为一个偏置加入了注意力的权重,这样可以在显式地将查询之间包含的关系考虑进来,具体形式如下:
49.q=k=v=linear(q posembedding(x,y,z,r))
[0050][0051]
其中iof信息b中的每个元素∈=10-7
,这里的exp(b
ij
)=1表示包围框j完全包住包围框i,exp(b
ij
)=∈表示包围框j和包围框i完全不相交。分别代表自注意力机制中的查询量(query)、关键字(key),值(value)。posembedding()是对查询量位置四元组的一种正弦编码,可以使不同位置拥有不同的编码,输出的向量的维度是n
×dq
。具体如下:
[0052][0053][0054]
α对每个注意力头都是一个可学习的标量。最终经过该多头自注意力模块可以得到一个增强后的语义向量输出
[0055]
2.3d采样模块:
[0056]
a)3d特征空间中的自适应性采样:
[0057]
使用多头自注意力模块中得到的q,经过一个线性层的变换之后,可以利用q的语义信息得到p
in
个采样点集合:
[0058][0059]
结合输入中查询量对应的位置向量四元组,可以得到如下的p
in
个3d特征空间采样点坐标p:
[0060][0061]
可以发现这里当{δxi,δyi∈[-0.5,0.5]}时,采样点是位于包围框以内的,但是本发明得到的{δxi,δyi}对范围不做限制,即,在有必要的时候,根据查询的内容不同,采样点可以被自适应地调整到包围框以外。
[0062]
得到采样点坐标p之后,首先在(x,y)的特征空间中做双线性插值:
[0063]
[0064]
得到一个平面的特征矩阵,然后再在z轴上做高斯权重插值,对第j个特征图的权重是:
[0065][0066][0067]
其中τz是在z轴上的一个系数,在本发明实例中取τz=2,在进行这样的插值后,得到的输出是一个采样后的特征矩阵x,其维度是
[0068]
b)分组采样策略:
[0069]
为了采样点的多样性,本发明在采样时还采取了分组采样的策略,类似多头注意力机制,将3d特征空间的d
feat
分成g组,每组3d特征空间的通道数便变成d
feat
/g,然后对g组中的每组采样特征矩阵其中c=d
feat
/g,进行独立的3d特征空间自适应采样,最终得到的特征矩阵x的维度即变为
[0070]
3.自适应混合模块:
[0071]
得到采样后的特征矩阵,即可对其进行自适应地解码,基于2中的分组采样策略,本发明分两步对每组的特征矩阵进行解码,如图2依次根据其通道中的语义信息以及查询中的空间信息进行自适应混合。
[0072]
a)自适应语义通道混合acm:
[0073]
对于给出的特征矩阵其中c=d
feat
/g,该模块使用基于q的动态权重矩阵在特征通道上对采样特征矩阵x进行通道语义增强:
[0074][0075]
acm(x)=relu(layernorm(xmc))
[0076]
其中,输出的是语义通道上混合后的特征输出。根据图3,这里的线性层linearc()在不同的组之间相互独立,但是动态权重矩阵mc在3d特征空间的不同采样点之间共享。layernorm()层会用于所有的输出通道上。
[0077]
b)自适应空间信息混合(acm):
[0078]
对于给出的特征矩阵其中c=d
feat
/g,该模块使用基于q的动态权重矩阵在空间信息上对采样特征矩阵x进行空间信息增强:
[0079][0080]
asm(x)=relu(layernorm(x
tms
))
[0081]
其中,输出的是空间信息上混合后的特征输出。这里的p
out
是空间混合后的输出数目,可以人为调整,在本发明实例中经过测试,在p
in
=32,p
out
=128时可以使性能达到最佳状态。并且由于对x进行了转置操作,所以动态权重矩阵ms是在不同的通道之间共享的。
[0082]
c)整体动态混合模块:
[0083]
如图3,整体的动态混合模块首先将进行一次对采样特征矩阵的自适应语义通道操作(acm),然后再对其输出进行一次自适应空间信息混合操作(asm),最终得到信息增强后的输出
[0084]
4.ffn模块:
[0085]
a)对查询量的语义向量q的更新:
[0086]
经过(3)中的整体动态混合模块后得到输出将g组的输出拼接起来,并展平至经过一个ffn,将其通道数转换成再加到原始的查询语义向量q中,即得到了更新后的查询中的语义向量q


[0087]
b)对查询量的位置向量(x,y,z,r)的更新:
[0088]
根据更新后的语义向量q

,经过一组ffn,即可得到一组更新后的查询中的位置向量(x

,y

,z

,r

)
[0089]
{(δxi,δyi,δzi)}=ffn(q

)
[0090][0091]
如果对特征矩阵x不分组,则自适应混合模块直接对特征矩阵x进行自适应地解码,进行3d特征空间自适应采样,得到特征矩阵x’,将特征矩阵x’展平,经过一组ffn,将其通道数转换到q的相同通道数,得到更新后的查询中的语义向量q

,并得到位置向量的更新。
[0092]
3)训练阶段:
[0093]
1.损失函数的定义:
[0094]
本发明的损失函数主要是三个部分,focal loss,l1 bounding box loss,以及giou loss组成的matching loss,下面分别介绍这三种loss函数:
[0095][0096][0097][0098]
在本发明实例中,取l
focal
的λ
cls
=2,p
t
是对于分类t的置信度分数,l
l1bbox
的x是,l
giou
的λ
giou
=2,ac是同时包住多个参与运算的包围框的最小包围框。这三个损失函数的组合形成了本发明的损失函数l。对损失函数l的监督将被用于解码器的每个阶段。
[0099]
2.训练策略:本实例使用focal loss、l1 bbox loss、giou loss作为损失函数,使用adamw优化器,优化器的衰减率设置成0.0001.设置批大小batchsize为16,即每次训练在训练集中取16个样本训练,初始学习率为2.5
×
10-5
。总共有两种训练策略,具体如下:
[0100]
a)1x训练策略:
[0101]
总训练轮数设置为12轮,将训练图像的短边调整到800进行输入。这种策略对数据的标准增强操作只包括随机的水平翻转,这里为了和一些流行的检测器(比如fcos和cascade r-cnn)做公平对比,本发明只分配了100个可学习的目标查询,并且在第8轮和第11轮处对学习率除以10。在八块v100 gpu上训练大约需要9小时。
[0102]
b)3x训练策略:
[0103]
总训练轮数设置为36轮,由于一些流行的基于查询的目标检测器一般对数据都会训练更多轮次,并且会使用一些裁剪或者多尺度的数据增强。这里为了和这些检测器做公平对比,使用了和它们相同的数据增强,并且使用3倍的训练轮数进行训练。本发明在这种训练策略下将生成300个目标查询,并且在第24和33轮处对学习率除以10。在八块v100 gpu上训练大约需要29小时。
[0104]
4)测试阶段
[0105]
测试集输入数据的处理同训练数据,也是将输入的图像短边缩放到800,使用resnet50网络进行特征提取,所使用的测试指标有ap,ap
50
,ap
75
,aps,apm,ap
l
,是一系列表示目标检测准确率的指标,ap
50
指在物体的真实包围框和预测的包围框的交并比iou大于0.5时即认为预测准确时的平均准确率;ap
75
指在物体的真实包围框和预测的包围框的交并比iou大于0.75时即认为预测准确时的平均准确率;ap指物体的真实包围框和预测的包围框的交并比阈值分别从0.5到0.95,每间隔0.05取一个阈值,共10个阈值下所测出的平均准确率,也是最重要的指标。aps,apm,ap
l
分别指当待检测目标分别为小型物体、中型物体、大型物体时的平均准确率。在coco数据集中,使用1x的训练策略时,对比其他同样使用restnet50做为骨干网络的目标检测框架时,可以在所有指标上获得最佳的结果,结果如图5所示;使用3x的训练策略时更是在除了ap
l
以外的其他所有指标上都达到了当前最优的效果。当把本发明的骨干网络切换为resnext-101-dcn以及swin-s时,更是在以上所有指标上均超越了目前使用相同骨干网络的目标检测框架,该数据集的样例如图6所示。
[0106]
本发明着力于一种能够基于查询量自适应的框架,无需无需锚点框、密集匹配以及非极大值抑制等模块。针对特征提取的模块,本发明使用了3d特征采样的编码形式,使得可以利用查询量的空间位置信息同时对不同分辨率的特征图进行采样。针对目前其他基于查询的目标检测框架无法充分利用查询量中信息的现状,本发明提出了自适应的语义特征混合模块以及自适应的空间信息混合模块,并且可以结合使用。针对目前网络计算量大的问题,本发明所设计的网络规模较小,仅包含一个初始查询生成的解码器和一个能够自适应查询量信息的解码器模块,在减小网络规模、计算量的同时达到了优秀的效果。adamixer首次将自适应混合模块应用于目标检测模块,设计了一个简单、整齐的框架,移除了手工设计的模块以及密集匹配的范式;adamixer提出了3d特征采样、自适应语义特征混合、自适应空间信息混合,以解决目前基于查询的框架不能充分利用查询信息的问题;adamixer在ms coco minival数据集的全部指标上,都取得了state-of-the-art的结果。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献