摘要:利用多尺度胶囊模块来利用特征的空间关系。因此,可以通过从不同位置聚合特征来实现等变性质。另一方面,为所提出的ms-CapsNet设计了一个自适应融合卷积(AFC)模块。初级胶囊可以捕捉到较高的语义特征。
主要贡献:
1)所提出的ms-CapsNet具有从不同位置提取鲁棒特征的能力。 胶囊模块可以实现等变性质。 因此,相关完整的信息减少了对大量训练样本的需求。
2)设计了一个简单有效的AFC模块,可以有效地将像素强度转换为局部特征的活动。 AFC模块通过注意策略提取较高的语义特征,强调有意义的语义特征。 因此,局部特征的活动变得更加噪声鲁棒性,并立即被接受为初级胶囊的输入。
3)在三个SAR数据集上进行了广泛的实验,验证了该方法的有效性。 此外,我们还发布了代码和设置,以方便今后在多时相遥感图像分析方面的研究。
一、方法:
1、AFC Module
如图所示,利用AFC模块对输入进行编码。
首先,采用一组不同膨胀率的卷积(Conv1-1、Conv1-2和Conv1-3,其核大小为3×3),分别设置为1、2和3,以捕获多尺度特征,输出为Fin。
然后,基于信道注意(CA)的特征融合对多尺度特征进行聚合。如图,将Fin输入到CA中,经过全局平均池化,一维卷积和Sigmoid函数,得到一个基于信道加权的向量M。最后,基于信道加权的特征Fout可以计算为Fout=M⊗Fin,其中⊗表示信道乘法。因此,来自Conv1-1、Conv1-2和Conv1-3的基于信道加权的特征分别是F1、F2和F3。用像素级求和法融合了特征
其中F表示融合特征,D1、D2和D3是由1×1卷积操作的维数匹配函数。
2、Capsule Module
胶囊模块是由初级胶囊层、Conv-胶囊层和完全连接层组成的神经网络,如图1所示。
1)Primary Capsule Layer
该层通过核大小为k×k的卷积类操作从多维实体中提取低层次特征。与传统卷积不同,将获得多个特征映射而不是一个。初级胶囊层首先从AFC模块接收特征映射F∈Rw×w和c。 然后,采用卷积运算和挤压激活函数得到输出胶囊vp。压扁活动函数表示为
其中s是总输入,v是胶囊的矢量输出。 在初级胶囊层中,输出胶囊vp的大小为w1映射,n×w1×n×d,其中n是特征×d=c的数目,d是8。 [w1×w1]网格是共享的权重。 换句话说,我们在总初级胶囊中获得[w1×w1×n]8D载体。 在我们的实现中,考虑了多尺度信息。 两个初级胶囊层分别采用核大小k=3和k=5。 因此,可以得到多尺度特征表示。 来自两个尺度的特征向量分别用vp1和vp2表示。
2)Conv-Capsule Layer
该层采用局部连接和共享变换矩阵,在一定程度上减少了参数的。 卷积胶囊层采用动态路由策略更新耦合系数c。原囊层与conv-囊层之间的连接(变换矩阵)为W,变换矩阵W也每个网格中也共享。 因此,conv-胶囊层的输出vc可以表示为
其中c是耦合系数,u=W·vp.vp是初级胶囊层的输出。 对于动态路由,我们首先将协议b设置为0。 耦合系数c可以用c=softmax(b)计算)。 也就是说,我们更新b来计算最新的耦合系数c.此外,b的更新过程可以表示为b←bu·vc。
3)Class Capsule Layer
- 类胶囊层可视为完全连接层。动态路由机制仍用于耦合系数更新。 在这一层中,通过求和VO1∈VO2×VO2融合类胶囊层中的多尺度活动向量VO1⊕R2和VO2。 然后,计算向量范数来度量类的概率。 可以将ms-Caps Net的损失函数定义为
当标签k出现时,tk=1(k=0表示不变的类,k=1表示更改的类)。 λ=0.5用于约束初始类胶囊的活动向量的长度。 如果图像中有一个更改类对象,则更改类的类包应该输出一个长度至少为m=0.9的向量。 相反,如果没有改变类的对象,则从类胶囊中输出长度小于m−=0.1的向量。 然后,通过像素分类可以计算出最终的变化图。
二、实验:
Batch size的分析
训练样本数量分析
消融实验
最终对比实验及可视化结果