Bilinear model 及其相关文献
Bilinear model 以及相关的变形
最近读到了一篇关于bilinear cnn的文章,就把几篇相关的文章进行了阅读和汇总,总共有三篇文章。我将对这三篇文章分别进行描述。
Bilinear CNN Models for Fine-grained Visual Recognition-ICCV2015
<手动空格> 这篇文章的主要思想是对于两个不同图像特征的处理方式上的不同。传统的,对于图像的不同特征,我们常用的方法是进行串联(连接),或者进行sum,或者max-pooling。论文的主要思想是,研究发现人类的大脑发现,人类的视觉处理主要有两个pathway, the ventral stream是进行物体识别的,the dorsal stream 是为了发现物体的位置。论文基于这样的思想,希望能够将两个不同特征进行结合来共同发挥作用,提高细粒度图像的分类效果。论文希望两个特征能分别表示图像的位置和对图形进行识别。论文提出了一种Bilinear Model。下面就是bilinear cnn model的示意图
两个不同的stream代表着通过CNN得到的不同特征,然后将两个特征进行bilinear 操作。接下来,我们将要对bilinear model 进行定义。一个bilinear model 由四元组构成,B=(fA,fB,P,C)B=(fA,fB,P,C)B=(f_A,f_B,P,C),其中fA,fBfA,fBf_A,f_B为来个不同的特征,P为Pooling操作,C表示分类器;对特征的每一个位置lll,进行如下计算。
bilinear (l,I,f_A,F_B) = f_A(l,I)^T f_B(l,I)
通俗一点讲,就是对图像上的每个位置上的特征进行矩阵相乘,然后进行sum pooling 或者进行max-pooling。对于一个CNN来讲,有c个通道数,那么在位置i上的特征就是1*c的大小,然后与同一位置上,不同CNN得到的1*c的矩阵进行乘积,得到c*c的矩阵,然后将所有位置上的c*c的矩阵进行求和,再转换成向量的形式就可以得到Bilinear vector。得到的特征需要进行开平方y←sign(x)|x|−−√y←sign(x)|x|y\gets sign(x)\sqrt{|x|},和归一化操作z←y/||y||2Fz←y/||y||F2z\gets y/||y||_F^2。反向传播过程为:
Bilinear model 可以看做是其他特征算子(BOW,FV,VLAD)的通用形式,
实验部分
实验采用在ImageNet 上预训练好的两个网络模型进行实验。发现模型的效果很好。另外,对与传统的模型,增加box的监督信息,会对performance有较大的提高,但是对于bilinear model 缺不明显,说明bilinear model可以更好的发现物体的位置信息,只需要图形的类标信息就可以得到一个很好结果,这对于训练数据的选取是非常有效的,可以去除繁杂的图像标注的内容。
Compact Bilinear Pooling-CVPR2016
由于上述模型的得到的特征维度较高,那么得到的参数数目较多,计算量较大,存储和读取开销较大。这篇文章就采用了一种映射的方法,希望能够达到Bilinear model的performance情况,能够尽量的减少特征的维数。
首先,论文将bilinear model 看做是一种核方法的形式,对于不同的 x的不同特征,x,y,可以进行如下的核方法转化。
然后论文希望找到一种映射ϕ(x)ϕ(x)\phi(x),使得<ϕ(x),ϕ(y)>≈k(x,y)<ϕ(x),ϕ(y)>≈k(x,y)<script type="math/tex" id="MathJax-Element-1533"><\phi(x),\phi(y)> \approx k(x,y)</script>这很像是核方法反着用的形式。
论文采用了两种方法的映射,Random Maclaurin(RM)和Tensor Sketch(TS),这两个映射的期望都是<x,y>2<x,y>2<script type="math/tex" id="MathJax-Element-1534">^2</script>,方差为1/d。
实验部分
通过对比,可以发现,当d为较小维度的时候,就可以得到与bilinear model 相同的精度。其中,蓝色线为full bilinear pooling 方法的误差。
Low-rank Bilinear Pooling for Fine-Grained Classification-CVPR2017
这篇文章的目的与第二篇文章相同,都是要降低参数维度。同时,提高模型的精度。论文与第一篇论文模型不同的是,这篇论文采用对称的网络模型,也就是两个steam是相同的,那么只需要训练一个CNN过程就好,大大的减少了计算的开支。同时特征的意义就变为在位置i上特征的相关性矩阵。最后论文采用了一个低秩的分类器进行分类。
上图是三个模型的对比图。在论文中,bilinear model变为如下形式
接下来,我们将要对得到的特征进行向量化,然后放入到SVM分类器中,进行训练。SVM的目标方程为:
这里将W变为一个c*c的矩阵,目标方程变为:
论文也证明了两个方程是就具有相同的优化解。w=vec(W),这个可以根据SVM里对w的求解可以得到。zi=vec(XiXTi)zi=vec(XiXiT)z_i = vec(X_iX_i^T)
由于W是一组对称矩阵的sum ,那么很容易得到W也是一个对称矩阵。那么可以将W分解成两个半正定矩阵的差,对W进行特征值分解。如下所示:
+表示特征值为正值的部分,负值为特征值为负数的那部分,这样就可以把W分解为U+,U−U+,U−U_+,U_-两个参数。那么为什么要这样分解,因为这样的分解可以使得W具有低秩的特性。那么为什么W要具有低秩的特性呢?论文对200个分类的器的参数求其平均值和方差,发现很多的W的值是接近于0;然后,论文通过降低W的秩来看分类的表现,发现当W的秩为10时,就可以得到与更高秩相同的performance。于是对W进行低秩约束。通过转化,可以将目标方程变为如下形式:
这里可以发现,目标方程里面不在出现XiXTiXiXiTX_i X_i^T,只有对U+,U−U+,U−U_+,U_-进行求解就可以了,这两个参数的维度可以很低。对这个两个参数的更新可以采用反向传播。另外,论文还提出了另外一种模型,就是对UkUkU_k进行降维,来减少参数的数目。
论文采用的方法,添加一个1×1×c×m1×1×c×m1\times 1\times c\times m的卷积层对U就行降维。
实验结果
【参考文献】
【1】Lin T Y, RoyChowdhury A, Maji S. Bilinear cnn models for fine-grained visual recognition[C]//Proceedings of the IEEE International Conference on Computer Vision. 2015: 1449-1457.
【2】Gao Y, Beijbom O, Zhang N, et al. Compact bilinear pooling[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 317-326.
【3】Kong S, Fowlkes C. Low-rank bilinear pooling for fine-grained classification[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2017: 7025-7034.
Bilinear model 及其相关文献相关推荐
- boost::geometry模块model::polygon相关的测试程序
boost::geometry模块model::polygon相关的测试程序 实现功能 C++实现代码 实现功能 boost::geometry模块model::polygon相关的测试程序 C++实 ...
- Worthington毒液中核酸外切酶的特征及相关文献
毒液核酸外切酶(磷酸二酯酶 I)连续水解来自 3'-羟基末端的核糖和脱氧核糖寡核苷酸的 5'-单核苷酸.Laskowski, Sr. (1971) 对其进行了审查. 该酶已被广泛用作核酸结构和序列研究 ...
- 市盈率指标详解及相关文献概述
导言 市盈率(P/E ratio)是衡量一公司股票价值是否合理的重要指标之一.本文首先对市盈率指标进行简单的介绍,并探讨了公式背后的经济学含义:其次对几篇学界论文进行简要介绍,深化对市盈率概念的理解, ...
- 写综述前应如何快速、高效地阅读相关文献?
[写在前面] 综述一般会引用大量的相关文献,然而这些文献量大.内容多,应如何快速.高效地把相关文献浏览完毕,完美地完成一篇综述? 来源:https://www.zhihu.com/question/3 ...
- [书籍翻译]12周撰写期刊文章 学术出版成功指南——第 5 周:回顾相关文献
第 5 周:回顾相关文献 每日任务 第 5 周每日写作任务 预计任务时间 第 1 天(星期一?) 通读第 163 页并填写这些页面上的方框:开始记录您的时间(第 169 页) 60 分钟 第 2 天( ...
- 铅酸蓄电池三阶simulink仿真模型,可获得蓄电池充放电特性,并提供数学模型相关文献和多组电池模型参数。
铅酸蓄电池三阶simulink仿真模型,可获得蓄电池充放电特性,并提供数学模型相关文献和多组电池模型参数. ID:6950652335028570t***5
- 『文献回顾』“文本自动摘要” 相关文献综述
文献回顾--『文本自动摘要』 在大四毕设选题时,我选到了『在线评论信息的自动摘要技术研究』的题目.因此,我决定在此记录所读的每一篇文献的思路及方法,一方面用于理清每篇文章的思路,另一方面便于日后写论文 ...
- 泰尔指数计算的stata代码,详细教学,包括相关文献讲解与结果分析
泰尔指数计算的stata代码,详细教学,包括相关文献讲解与结果分析泰尔指数计算详细教学,里面包含文献讲解.结果分析与解读.stata软件操作,使用本人制作的新命令taier11,简单好用,可以计算四种 ...
- 【卫星影像三维重建】相关文献及资源
目录 1.介绍 2.相关文献资料 2.1 中文文献 2.2 英文文献 3.卫星重建数据集 4.相关竞赛 4.1 DATA FUSION CONTEST 2019 (DFC2019) 4.2 DFC20 ...
最新文章
- 南大算法设计与分析课程OJ答案代码(5)--割点与桥和任务调度问题
- java输出数组中出现的次数最多的那个及次数
- ActiveMQ组件使用方法
- 怎样解决IPv4网络和IPv6网络的共存互通?
- Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中
- Maven项目错误解决小结
- 程序员进阶架构师路线
- HDU - 7031 Power Station of Art 思维 + 二分图模型
- nginx问题一则:nginx路径匹配特殊处理及增加cookie等二三事
- pyspark报错问题 Exception in thread main java.lang.UnsupportedClassVersionError 成功解决
- Java设计模式(四)行为型 设计模式
- 个人简历自我介绍求职面试PPT模板
- 网易云音乐java爬虫_Java爬取网易云音乐民谣并导入Excel分析
- 彩钢板进行BS 476-3屋顶外露部分防火测试
- Spring Cloud Gateway的断路器(CircuitBreaker)功能
- 图形学-着色(Blinn-Phong模型)
- docker创建CentOS云主机(docker实践)
- 游戏图片文件和声音文件的隐藏
- 模拟QQ心情图片上传预览
- 美团/饿了么外卖CPS联盟返利公众号小程序核心源码代码