当前位置: 代码迷 >> 综合 >> Learning Deep Bilinear Transformation for Fine-grained Image Representation
  详细解决方案

Learning Deep Bilinear Transformation for Fine-grained Image Representation

热度:83   发布时间:2023-12-15 00:44:44.0

Learning Deep Bilinear Transformation for Fine-grained Image Representation

摘要

DBT block 同一的将输入的channel 划分成不同的语义群,双线性transformation 可以通过群内通道的交互计算获得。这样可以减少计算消耗。每一个block的输出结合输入的残差能够被回归bilinear 特征获得。

文中贡献

 

(1)使用了DBT结构,能够加入到CNN结构中获得DBTNets网络,成对交互计算可以在不同网络层学习到,来促进特征判别的能力。

(2)通过学习语义群以及计算交换群双线性转换,从判别性较大的channel间获得成对交互

 

文中组件

Group 卷积

第一次使用实在Alex net中实现的,对每个channel 按照顺序进行卷积。

 

网络结构

 

DBT 结构

 

X 是大小为N*H*W大小的feature map 其中N表示channel的数量。

其中W 属于K*N^2,其中b是k维向量,f属于k维向量。分别表示权重, 偏执,以及全连接层

但是这类操作有很多缺陷

文中将语义信息与双线性feature 融为一体。并且提出可以被卷积层适配的深度双线性特征。

其中TB()表示群blinear function, Axi 表示语义群特征,G表示群的数量,p_j表示群索引编码向量表示群的顺序,Ij 属于N/G*N 是矩阵簇包含G个,第J个区别I, 其他的则是0矩阵。A是语义矩阵,群通道代表相同的语意义。

其中W 为K*(N/G)^2,其中特征[y1, y2, ….yHW]的大小是R(N/G)^2*HW。

语义group layer

 

深层卷积特征,能够对特殊的语义部分进行响应。我们将卷积的channel根据语义信息分成多个groups。定义每一个channel为一个feature map mi, 其中i属于[1, N],

将语义空间分离成G个groups, S(mi)属于[1, G], 这是一个映射函数,将feature map映射到一个语义空间。为了获得语义部分双线性特征,首先对channel进行排序

其中AT 是一个n*n的语义映射矩阵,这个矩阵需要进行优化。

为了表示不同语义群,同一语义群和不同与一群的overlap变成下面的loss

其中

语义建群使用一个1*1的卷积层,一个层可以被变成x = Wz 其中z属于input feature,x是output feature. 假设U = Aw 那么Ax = AWz = Uz ,U就是语义建群层的权重。它的输出是语义群,因为A是索引映射矩阵。

 

上述索引使用了首先将m*n的feature map拉伸成m*n的向量,再做如上操作。这一层的输出还是HW *N

 

群双线性层

 

群双线性卷积可以使用下列形式进行表达

其中Ij 是block 矩阵簇,有G个矩阵,每一个矩阵的大小为N/G*N,其中第j个表示单位矩阵。其他的都是0. Ij AX 是语义群特征的第G个群。输入的X的维度是N, 输出的特征y维度(N/G)^2。

如果G是根号N那么输出的向量也没有改变可以很好的适配卷积网络。

p能够保留group的位置信息

 

深度属性线性转移网络

 

其中SG表示语义groupping 层,GB表示群双线性层。

如果加入GBT之后那么最后的总体loss为

 

 

总结

 

  1. 主要使用了语义grouping 部分,这一部分使用一个1*1卷积进行排序的一个结果。

 

第二部分是group bilinear部分。

进一步将这个特征中同一个组内的通道进行双线性操作,来得到针对这个部位的丰富的细节表达,再将不同组之间的双线性表达求和得到低维特征。最后,我们将这样的表达进行向量化,来恢复成卷积特征原本的维度。

群线性就是将向量转化成一个矩阵,然后矩阵家和后再变成N维度向量

  相关解决方案