双线性池化(bilinear pooling)

双线性池化(bilinear pooling)

简介

bilinear pooling在2015年于《Bilinear CNN Models for Fine-grained Visual Recognition》被提出来用于fine-grained分类后,又引发了一波关注。bilinear pooling主要用于特征融合,对于从同一个样本提取出来的特征x和特征 y ,通过bilinear pooling得到两个特征融合后的向量,进而用来分类。
如果特征x和特征y来自两个特征提取器,则被称为多模双线性池化(MBP,Multimodal Bilinear Pooling);如果特征x =特征y,则被称为同源双线性池化(HBP,Homogeneous Bilinear Pooling)或者二阶池化(Second-order Pooling)。

公式

这里参考《Bilinear CNN Models for Fine-grained Visual Recognition》,CVPR 2015一文,给出bilinear pooling的详细定义。
在这里插入图片描述
直观上理解,所谓bilinear pooling,就是先把在同一位置上的两个特征双线性融合(相乘)后,得到矩阵 b,对所有位置的 b 进行sum pooling(也可以是max pooling,但一般采用sum pooling以方便进行矩阵运算)得到矩阵ξ ,最后把矩阵 ξ 张成一个向量,记为bilinear vector x 。对 x 进行矩归一化操作和L2归一化操作后,就得到融合后的特征 z 。之后,就可以把特征 z 用于fine-grained分类了.

通俗的说法

如果输出特征图大小为7*7*512,则特征图共有7*7个位置,每个位置的特征维度为1*512,则各位置特征向量外积结果相当于512*1与1*512的矩阵相乘,其各位置特征向量维度为512*512。文章中使用所有位置特征向量之和对其进行池化,故将49个512*512的特征向量相加,最终得到512*512的双线性特征。 该过程可以使用矩阵乘法实现,将特征图变形为49*512的特征矩阵,之后其转置与其相乘,得到512*512的双线性特征向量。

如果使用的是sum pooling,具体操作就是矩阵相乘,然后做对应的归一化操作。

可以理解为,bilinear pooling就是在求两个特征矩阵的gram matrix,然后再sqrt和normalize

如果理解有误请指出

参考链接
https://zhuanlan.zhihu.com/p/62532887
https://zhuanlan.zhihu.com/p/87650330

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
双线性池化是一种特殊的池化方式,它可以将两个不同的特征图进行组合,并生成一个新的特征图。在计算机视觉领域,双线性池化被广泛应用于图像分类、目标检测和姿态估计等任务中。 双线性池化的思想是将两个特征图进行外积,然后对外积结果进行池化。具体来说,假设我们有两个特征图A和B,它们的大小分别为m×n×p和m×n×q。那么我们可以将它们进行外积得到一个m×n×p×q的四维张量C,其中C(i,j,k,l)=A(i,j,k)×B(i,j,l)。然后我们可以对C在第3和第4个维度上进行池化,得到一个新的特征图D,其大小为m×n×r,其中r为池化后的特征图的通道数。 双线性池化的一个优点是可以捕捉特征之间的相互作用。由于双线性池化将两个特征图进行外积,因此它可以捕捉到它们之间的相关性。这使得双线性池化在某些任务中表现得比传统的池化方式更好。 然而,双线性池化也存在一些问题。首先,它需要大量的计算资源。由于外积操作需要计算m×n×p×q个元素,因此它的计算复杂度很高。其次,双线性池化在处理高维特征图时容易出现维度灾难问题。由于外积操作会使特征图的维度增加,因此它在处理高维特征图时会变得非常困难。 为了解决这些问题,研究人员提出了许多改进的双线性池化方法。例如,一些方法使用矩阵分解技术来降低计算复杂度;另一些方法则使用注意力机制来提高双线性池化的效果。这些方法在实际应用中都取得了很好的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值