本发明涉及机器人自主导航与视觉识别,具体的说,是一种级联型全局描述符聚合的视觉场景识别方法。
背景技术:
1、视觉场景识别(visualplacerecognition,vpr)使用计算机视觉技术来识别和理解特定的场景,以便自主移动设备(如无人机、机器人等)可以在未知环境中进行导航和决策。通过视觉场景识别技术,智能体可以判别当前场景是否为曾经访问过的场景,从而辅助自身完成路径规划、目标追踪等任务。
2、作为图像检索领域的一个下游任务,vpr技术在移动机器人定位、自动驾驶等领域发挥着越来越关键的作用。在实际应用中,vpr系统首先将查询图像的视觉信息收集到一个紧凑的描述符(图像表示)中,然后将其与已知地理位置的参考数据库进行匹配,从而检索出查询图像的位置。户外场景中,由于天气、季节和光照等复杂因素的存在,这些场景的外观会随着时间的推移而发生巨大变化,从而给vpr技术的发展带来严峻挑战。
3、在以往的研究中,vpr技术使用手工设计的局部特征,如sift和surf,这些特征可以进一步聚合为表示整个图像的全局描述符,如fisher向量和局部聚合描述符向量(vlad)。这些算法针对特定场景或任务进行设计,其泛化能力和适应能力有限,难以应对不同场景和任务的需求。cnn以其高效的多层次特征学习、强大的特征提取能力、鲁棒性的总结图像内容等优点,其已被证明是处理计算机视觉下游任务的最通用模型,并被作为目前最常用的主干网络,应用于vpr系统以提取查询图像的中间特征。
4、尽管视觉场景识别领域取得了许多进展,但大多数现有的最先进技术要么使用netvlad,要么提供了一种融合注意力、上下文、语义或多尺度的变体,这些技术强调对视角不敏感的局部描述子的聚合。然而,众所周知,局部特征在严重的光照和季节变化下会失效。
技术实现思路
1、本发明的目的在于提供一种级联型全局描述符聚合的视觉场景识别方法,摒弃以往主流的局部特征聚合技术,提出一种新的整体特征聚合方案。该方案是一种端到端的一阶段网络架构,即模型更简便、复杂度更低,但却可以有效提高智能体对所处当前场景的判别能力。
2、本发明通过下述技术方案实现:一种级联型全局描述符聚合的视觉场景识别方法,利用具有sca模块和gia模块的gicnet模型完成,包括下述步骤:
3、1)利用嵌入sca模块的改进cnn主干网络(优选采用resnet-50进行改进得到)提取查询图像i的中间特征表达fsca,即fsca=cnnsca(i),fsca∈rc×h×w;其中,c、h、w分别为中间特征表示fsca的通道数、高度和宽度;sca模块通过“特征重标定”的方式,进一步促进了特征图中重要信息的表达。
4、2)与netvlad、patch-netvlad和transvpr等现有先进技术将fsca视为一组c维的空间描述子不同(其中每个描述子对应于输入图像的一个感受野),本发明将3-d张量的中间特征表达fsca重新塑造为一个2-d表示,得到展平特征图fflat,且fflat∈rc×d,其中d=h×w;此时的2-d张量的展平特征图fflat可以视为一组大小为d的1-d特征,即:
5、fflat={xi},i=1,2,…,c;xi∈rd(1);
6、其中,{}表示集合;xi对应于fflat中的第i个激活向量,每个激活向量携带关于整个空间方向上的一定量的信息;
7、3)将展平特征图fflat输入到gia模块中进行处理,利用全连接层的能力递归地将通道方向和空间方向上的全局关系合并到2-d展平的特征图fflat的每个元素中,最终得到鲁棒性的全局描述子fgia,且fgia∈rc×d;
8、4)将全局描述子fgia依次进行展平操作(将2-d转换成1-d,本发明使用flatten程序函数,也可用其他程序函数)和l2-norm处理(一种正则化技术,防止过拟合),得到查询图像i的最终的1-d判别向量fdiscr,且fdiscr∈rv,其中v=c×d。
9、sca模块是一个简单的即插即用的模块,它不改变输入特征的形状大小,因此可以与任意cnn模型的主干网络(优选采用resnet-50)相结合,最大限度地帮助主干网络提取输入图片的显著性特征。前人的诸多工作成果表明:特征图channel之间的信息量比较丰富,但是不容易被利用。因此,为了从输入图像中提取到鲁棒性的中间特征,本发明先将通道信息充分交互,再使用通道注意力重新建模各通道的依赖关系。
10、进一步为更好地实现本发明所述的一种级联型全局描述符聚合的视觉场景识别方法,特别采用下述设置方式:所述改进cnn主干网络以resnet-50为基础,留前三个阶段(即stage)不变,将第四阶段改变为sca模块;所述sca模块包括依次连接的“shufflechannel”和“channelattention”,其中,“shufflechannel”的输入为:查询图像i经resnet-50前三阶段处理后完成基础特征提取得到基础特征图f″;“channelattention”包括squeeze操作和excitation操作。
11、进一步为更好地实现本发明所述的一种级联型全局描述符聚合的视觉场景识别方法,特别采用下述设置方式:所述“shufflechannel”在操作时,包括下述步骤:
12、1.1.1)当输入是f″∈rc″×h″×w″时,在通道维度上,把f″均分为g组,每组n个通道,其中g为可变参数(优选选择为2),定义如下:
13、f″={gi″},i=1,2,…,g;f″∈rc″×h″×w″(2);其中,{}表示集合;c″、h″、w″分别表示f″的通道数、高度和宽度;gi″为f″中第i个组的特征表示;f″为输入查询图像i经过改进的cnn主干网络前三个阶段后所得的基础特征图;gi″的定义如下:
14、其中,{}表示集合;fij″为gi″的第j个通道的特征表示;
15、1.1.2)进行通道混合,聚合分散的子特征:对f″进行n轮次的抽取组合操作,得到n个新的分组g1′,g2′,...,gn′,每个新的分组均有g个通道;其中,f″具有g个组,n为f″中每个组的通道数;
16、对f″(共g个组,每组n个通道)进行n轮次的抽取组合操作,具体为下述步骤(不限于此):
17、第1轮处理:分别将f″中每个组的第1个通道取出,然后按顺序重新组合为一个新的分组g1′;
18、第2轮处理:分别将f″中每个组的第2个通道取出,然后按顺序重新组合为一个新的分组g2′;
19、……
20、第n轮处理:分别将f″中每个组的第n个通道取出,然后按顺序重新组合为一个新的分组gn′。
21、经过n轮处理后,依次得到n个新的分组g1′,g2′,...,gn′,每个新的分组均有g个通道;
22、1.1.3)对n个新的分组g1′,g2′,...,gn′在通道维度上进行拼接(concat),得到通道特征充分融合后的特征图f′(即新的分组集合),定义如下:
23、f′={gl′},l=1,2,…,n;f′∈rc′×h′×w′(4);其中,{}表示集合;f′为通道特征充分融合后的特征图,也即为sca模块在“shufflechannel”操作后的输出;gl′为n个新的分组g1′,g2′,...,gn′中的第l个新的分组,也即为通道特征充分融合后的特征图f′中第l个组的特征表示,gl′的定义如下:
24、gl′={fl′k}=[fl′1,...,fl′g],k=1,2,...,g(5);其中,{}表示集合;fl′k表示gl′的第k个通道的特征表示。
25、shufflechannel的目的是把原来主干网络顺序化输出的通道按照深浅关系重新排列,以提高各个通道特征的利用率,增强网络的非线性表达能力。
26、进一步为更好地实现本发明所述的一种级联型全局描述符聚合的视觉场景识别方法,特别采用下述设置方式:所述“channelattention”对融合后的特征图f′进行squeeze操作和excitation操作时,包括下述步骤:
27、1.2.1)squeeze操作:把全局空间信息压缩到通道描述符中,通过使用全局平均池化或/和全局最大池化(或其他形式)生成通道统计信息z,定义如下:
28、
29、其中,fsq(·)表示squeeze操作;h′、w′分别表示f′的高和宽;
30、1.2.2)excitation操作把squeeze操作聚合的通道统计信息交给全连接层处理,全连接层能够捕捉这些通道统计信息间的全局长程依赖关系;之后,通过采用映射机制,获得更有判别价值的通道统计信息s,表达式如下:s=fex(z,w)=σ(w2δ(w1z))(7);其中,fex(·)表示excitation操作;σ是映射函数(可选sigmoid函数,也可用softmax函数或者其他,只要能将特征映射到区间0~1),δ是激活函数(优选采用relu函数,也可用其他激活函数),且c为f′的通道数、r为降维比(可变参数);特别地,为了限制模型复杂度和帮助泛化,本发明通过在非线性周围形成两个全连接层的瓶颈来参数化该机制,即一个降维层具有降维比r(可变参数,优选为8)、一个relu函数(也可用其他激活函数),然后是一个增加维度的层以返回到f′的通道维数。
31、1.2.3)将通道统计信息s反馈到f′,获得sca模块的最终输出中间特征表达fsca:
32、fsca=fscale(f′,s)=sf′(8);其中,fscale(·)指的是将通道统计信息s先进行广播复制操作(变成和f′一样的维度)、然后再和f′进行逐元素对应相乘。
33、特别地,channelattention的目的是利用通道注意力对中间特征图的通道特征进行重新校正。由于不同的通道涉及不同方面的图像特征,squeeze致力于挖掘通道间的依赖关系,达到显式建模通道间互相关性的目的。excitation旨在完全捕获通道间的相互依赖性,该操作是灵活的,其生成的通道注意力掩码可以学习到通道间的非线性关系和非互斥关系。因此,channelattention可以视为通道上的自注意力函数,其关系不限于单个卷积核响应的局部感受野。
34、gia模块的目的是借助多层感知机的全局视野,在一个工作流中以整体的方式学习到紧凑的高鲁棒性的全局描述子。特别地,gia模块由l个(可变参数,优选为2)用于对输入的展平特征图fflat完成整体性聚合操作的各向同性的gia-block串联组成,能够以迭代的方式充分地挖掘输入特征图的上下文信息。gia背后的直觉是,本发明没有专注于局部特征,并迫使网络通过注意力机制,而是利用全连接层的能力以整体方式自动聚合特征。由于完全的感受野取代了分层(金字塔)聚合,gia模块中每个神经元都可以瞥见整个输入图像。
35、具体的,假设输入为x∈rc×d(其中d=h×w,下同),即可以看成是一组扁平化的特征向量集合{xj},j=1,2,…,c,xj∈rd,将gia模块的处理过程定义如下:
36、xj=giaj(xj-1),j=1,2,…,l(9);其中,giaj表示gia模块的第j个gia-block;当j=1时,x0即为原始输入fflat,x1表示经过第1个gia-block处理后的输出;当j=l时,xl表示gia模块的最终输出;xj∈rc×d,即与fflat的维度相同。
37、进一步为更好地实现本发明所述的一种级联型全局描述符聚合的视觉场景识别方法,特别采用下述设置方式:第j个gia-block用于对输入xj-1完成非线性操作,包括下述步骤:
38、3.1.1)对输入xj-1进行归一化处理后得到表达式如下:
39、其中,ln表示归一化层(优选layernorm层,次选其它归一化层);
40、3.1.2)通道全局信息的捕获:依次采用mlp单元所构成的chanproj模块、激活函数(relu函数或其他激活函数)对进行处理后得到表达式如下:
41、其中,chanproj表示chanproj模块;σ表示激活函数(比如relu函数);
42、layernorm层可以对各个输入样本进行独立的归一化,这有利于减少不同样本间的特征差异,提高模型对于不同输入的泛化能力;chanproj模块采用两层感知机逐步完成对输入特征的编码、解码操作,以建模通道特征的全局依赖关系;relu函数则通过对输入特征进行逐元素的非线性变换,增强网络的拟合能力。
43、3.1.3)空间全局信息的捕获:应用mlp单元所构成的spatproj模块和激活函数对对进一步处理后得到输出表达式如下:
44、其中,spatproj表示spatproj模块,σ表示激活函数(比如relu函数);
45、spatproj模块采用与chanproj相同的结构,用以构建全局空间特征的相互依赖关系;relu函数则是将这种依赖关系映射到非线性空间。
46、3.1.4)建立恒等映射,通过式(13),得到下一个gia-block的输入,跳跃连接(skipconnection)已经被证明在梯度传递和性能提升方面具有优势,因为网络更倾向于学习一种残差(residual)模式。如下式所示:
47、其中,+表示逐元素对应相加;xj表示第j个gia-block处理后的输出,同时也是第j+1个gia-block的输入。
48、进一步为更好地实现本发明所述的一种级联型全局描述符聚合的视觉场景识别方法,特别采用下述设置方式:所述mlp单元是一种全局上下文信息捕获器,其操作原理依次如下式:
49、(1)维度转置:
50、xtrans=trans(x),x∈ra×b,xtrans∈rb×a(14);其中,x、xtrans分别表示trans的输入和输出;trans表示转置操作,其用于将x的维度a×b变换为b×a;
51、(2)全局信息捕获:
52、y=w2(w1xtrans+b1)+b2,y∈rb×a(15);其中,y表示mlp单元的输出;w1和w2分别是mlp单元中两个全连接层的权重,且c为xtrans最后一个维度方向上的维度值,即c=a(此处即为a),r为可变参数(优选为4),其存在使的mlp的容量和复杂度可以轻松调节;b1、b2为偏置。
53、进一步为更好地实现本发明所述的一种级联型全局描述符聚合的视觉场景识别方法,特别采用下述设置方式:对于chanproj模块,其mlp单元的实际操作流程依次如式(16)和(17)所示:
54、其中,分别表示trans的输入和输出;trans表示转置操作,其用于将的维度c×d变换为d×c;相关符号定义与式(9)、(10)同;
55、其中,表示mlp单元的输出,也即为式(11)中chanproj模块的输出;和分别是mlp单元中两个全连接层的权重,且c为最后一个维度方向上的维度值,即c=c(此处即为c),r为可变参数;分别是mlp单元中两个全连接层的偏置。
56、进一步为更好地实现本发明所述的一种级联型全局描述符聚合的视觉场景识别方法,特别采用下述设置方式:对于spatproj模块,其mlp单元的实际操作流程依次如式(18)和(19)所示:
57、
58、其中,分别表示trans的输入和输出;trans表示转置操作,其用于将的维度d×c变换为c×d;相关符号定义与式(11)、(12)同;
59、其中,表示mlp单元的输出,也即为式(12)中spatproj模块的输出;和分别是mlp单元中两个全连接层的权重,且c为最后一个维度方向上的维度值,此处c=d(此处即为d),r为可变参数;分别是mlp单元中两个全连接层的偏置。
60、进一步为更好地实现本发明所述的一种级联型全局描述符聚合的视觉场景识别方法,特别采用下述设置方式由于chanproj模块和spatproj模块处理特征图的维度方向不同,在每个gia-block的对应位置设置了转置操作(采用permute程序函数,也可用transpose程序函数或其他)以对齐特征。
61、本发明与现有技术相比,具有以下优点及有益效果:
62、(1)本发明遵循各向同性的(isotropic)全mlp架构的最新进展,从整体考虑中间特征图(即主干网络所提取的特征图),把全局信息融合为紧凑的高鲁棒性的全局描述子。
63、(2)本发明提出一种新的整体聚合方案——globalinformationcapture network(gicnet),其中包含两个新设计的核心模块shufflechannelattention(sca)和globalinformationaggregator(gia),其分别在模型的“特征提取”和“特征聚合”过程中发挥作用。
64、(3)本发明通过sca利用混洗(shuffle)操作来增强特征图通道间的信息交互,并利用自学习式的注意力掩码来重新校准通道维度上的特征响应。
65、(4)作为一种新的整体特征聚合技术,gia则将预训练主干中输出的特征图作为一组全局特征,并在级联的特征混合中纳入每个特征图中元素之间的全局关系。
66、(5)gicnet是一种端到端的一阶段技术,而且不需要重排序操作,因此其训练更便捷、模型的复杂度更低,并且能达到超越多个先进二阶段技术的性能。
67、(6)模块sca和gia均为即插即用模块,可以很容易和现有的网络模型进行集成(迁移性好),进而发挥作用。
68、(7)本发明主要由两个精心设计的称为sca和gia的模块组成的gicnet模型分别完成“特征提取”和“特征聚合”,具体的,sca利用混洗(shuffle)操作来增强特征图通道间的信息交互,并利用自学习式的注意力掩码来重新校准通道维度上的特征响应;作为一种新的整体特征聚合技术,gia则将预训练主干中输出的特征图作为一组全局特征,并在级联的特征混合中纳入每个特征图中元素之间的全局关系。
69、(8)现有技术视觉场景识别领域,主流方法多是局部特征聚合技术,本发明提出的是整体特征聚合技术,主要是设计的gia模块来体现。
70、(9)本发明所提出的gia,使用从主干网络提取到的特征图,以迭代的方式先后从通道维度和空间维度上捕获全局上下文信息,并在最后融合为全局描述子。它通过各向同性的giablock堆叠实现,这些giablock由特定顺序的归一化层、多层感知机与激活函数组成。尽管所提出的方法gicnet可以生成全局描述符,但其并没有进行重排序操作,而且性能优于superglue、patch-netvlad和transvpr等先进的两阶段技术。
1.一种级联型全局描述符聚合的视觉场景识别方法,利用具有sca模块和gia模块的gicnet模型完成,其特征在于:包括下述步骤:
2.根据权利要求1所述的一种级联型全局描述符聚合的视觉场景识别方法,其特征在于:所述改进cnn主干网络以resnet-50为基础,留前三个阶段不变,将第四阶段改变为sca模块;所述sca模块包括依次连接的“shuffle channel”和“channel attention”,其中,“shuffle channel”的输入为:查询图像i经resnet-50前三阶段处理后完成基础特征提取得到基础特征图f″;“channelattention”包括squeeze操作和excitation操作。
3.根据权利要求2所述的一种级联型全局描述符聚合的视觉场景识别方法,其特征在于:所述“shuffle channel”在操作时,包括下述步骤:
4.根据权利要求2所述的一种级联型全局描述符聚合的视觉场景识别方法,其特征在于:所述“channel attention”对融合后的特征图f′进行squeeze操作和excitation操作时,包括下述步骤:
5.根据权利要求1或2或3或4所述的一种级联型全局描述符聚合的视觉场景识别方法,其特征在于:所述gia模块由l个用于对输入的展平特征图fflat完成整体性聚合操作的各向同性的gia-block串联组成,定义如下:
6.根据权利要求5所述的一种级联型全局描述符聚合的视觉场景识别方法,其特征在于:第j个gia-block用于对输入xj-1完成非线性操作,包括下述步骤:
7.根据权利要求6所述的一种级联型全局描述符聚合的视觉场景识别方法,其特征在于:所述mlp单元是一种全局上下文信息捕获器,其操作原理依次如下式:
8.根据权利要求7所述的一种级联型全局描述符聚合的视觉场景识别方法,其特征在于:对于chanproj模块,其mlp单元的实际操作流程依次如式(16)和(17)所示:
9.根据权利要求7所述的一种级联型全局描述符聚合的视觉场景识别方法,其特征在于:对于spatproj模块,其mlp单元的实际操作流程依次如式(18)和(19)所示:
