ICCV 2015 B-CNN细粒度分类
哈哈,好久没写博客了。。。。最近懒癌发作~~主要是因为心情不太好啊,做什么事情都不太顺心,不过已经过去啦。最近一直忙着公司的项目,想用这个网络,就给大家带来了的这篇文章。可能比较老,来自ICCV 2015的一篇关于细粒度分类的文章,文章:B-CNN。由于文章比较简单,我就不介绍的那么详细啦~
科普下:粗粒度与细粒度分类
粗粒度:比如猫狗猪这种差别比较大的。
细粒度:狗类别中,识别是什么品种的狗,这就是细粒度分类。
B-CNN框架:

从图中可以看出,其实就是两个卷积神经网络对图像进行特征抽取,然后用一个bilinear pooling 函数把CNN 抽取的两组特征进行结合,最后代入softmax层进行分类。
在一般的深度学习模型中,都是由一个神经网络构成的,在这里,有两个神经网络 A
和 B,输入图像首先被调整到448 × 448大小,然后用这两个网络分别提取该幅图像的特征,在图像的每一个位置,两个网络分别生成1 × 512大小的特征,在每一个位置 对两个网络提取的特征A(l)和B(l)做外积操作:

得到这个位置的双线性特征
,大小为512X512。
接下来采用求和池化方式,将所有位置得到的双线性特征进行求和作为本幅
图像的特征:

它的大小也为 512 × 512,接下来对该双线性特征进行如下计算:

得到它的带符号平方根,并进行正则化:

以此作为该幅图片的特征,并用来分类。这个双线性特征比单个卷积网络提
取的特征在分类中获得更好的效果,两个卷积神经网络的作用在这里分别相当于
区域检测和特征提取。因此,它一方面避免了传统方法中大量的人工标记操作,
同时也获得了较高的准确率。
在训练过程中,两个网络可以同时被训练,并且整个训练过程是端到端的,
已知 X的损失函数梯度为
,A和 B 的损失函数梯度由链式法则求得:

这里的网络 A和网络 B 可以是两个对称的网络,也可以是两个不对称的网
络.文中分别用了VGG-16 和VGG-19两种网络。
关于为什么用向量的外积,我想是吸收两组CNN 抽取的特征,然后进项特征融合,其实在这一步,我们可以做就很多东西。我现在发的有一篇文章,也有类似的思想。
首先说说内外积的几何意义
向量a、b的内积是长度为 |a||b|cosθ的标量,是向量a在向量b方向上的分量
而向量a、b的外积是长度为 |a||b|sinθ、并垂直于向量a、b的矢量
这就说明向量a、b的外积和向量a、b是不在同一平面内,或者说,向量a、b在平面上被我们看到了的话,外积我们是看不到的,他应该是一个旋转过程,
所以说,外积在物理上(我感觉运动学会用到)可以说是,对运动产生作用的。
ICCV 2015 B-CNN细粒度分类的更多相关文章
- (转) ICCV 2015:21篇最火爆研究论文
ICCV 2015:21篇最火爆研究论文 ICCV 2015: Twenty one hottest research papers “Geometry vs Recognition” ...
- CAP:多重注意力机制,有趣的细粒度分类方案 | AAAI 2021
论文提出细粒度分类解决方案CAP,通过上下文感知的注意力机制来帮助模型发现细微的特征变化.除了像素级别的注意力机制,还有区域级别的注意力机制以及局部特征编码方法,与以往的视觉方案很不同,值得一看 来源 ...
- CNN车型分类总结
最近在做一个CNN车型分类的任务,首先先简要介绍一下这个任务. 总共30个类,训练集图片为车型图片,类似监控拍摄的车型图片,训练集测试集安6:4分,训练集有22302份数据,测试集有14893份数据. ...
- AAAI 2020 | 反向R?削弱显著特征为细粒度分类带来提升
论文提出了类似于dropout作用的diversification block,通过抑制特征图的高响应区域来反向提高模型的特征提取能力,在损失函数方面,提出专注于top-k类别的gradient-bo ...
- ACNet: 特别的想法,腾讯提出结合注意力卷积的二叉神经树进行细粒度分类 | CVPR 2020
论文提出了结合注意力卷积的二叉神经树进行弱监督的细粒度分类,在树结构的边上结合了注意力卷积操作,在每个节点使用路由函数来定义从根节点到叶子节点的计算路径,结合所有叶子节点的预测值进行最终的预测,论文的 ...
- CNN 文本分类
谈到文本分类,就不得不谈谈CNN(Convolutional Neural Networks).这个经典的结构在文本分类中取得了不俗的结果,而运用在这里的卷积可以分为1d .2d甚至是3d的. 下面 ...
- [DL学习笔记]从人工神经网络到卷积神经网络_3_使用tensorflow搭建CNN来分类not_MNIST数据(有一些问题)
3:用tensorflow搭个神经网络出来 为什么用tensorflow呢,应为谷歌是亲爹啊,虽然有些人说caffe更适合图像啊mxnet效率更高等等,但爸爸就是爸爸,Android都能那么火,一个道 ...
- CNN文本分类
CNN用于文本分类本就是一个不完美的解决方案,因为CNN要求输入都是一定长度的,而对于文本分类问题,文本序列是不定长的,RNN可以完美解决序列不定长问题, 因为RNN不要求输入是一定长度的.那么对于C ...
- pytorch -- CNN 文本分类 -- 《 Convolutional Neural Networks for Sentence Classification》
论文 < Convolutional Neural Networks for Sentence Classification>通过CNN实现了文本分类. 论文地址: 666666 模型图 ...
随机推荐
- Python内置模块和第三方模块
1.Python内置模块和第三方模块 内置模块: Python中,安装好了Python后,本身就带有的库,就叫做Python的内置的库. 内置模块,也被称为Python的标准库. Python 2.x ...
- Android监听HOME键的最简单的方法
public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000; public void onCreate(Bundle savedInsta ...
- .aspx 页面引用命名空间
一.单个页面引用: <%@ Import Namespace="" %> 二.所有页面引用,Web.config配置如下: <system.web> < ...
- 排序算法 C++代码实现
插入排序: 就像摸牌,摸一张插进去,找一个哨兵.从第二个開始,和前一个比較.小的话前移一位. #include <iostream> #include<stdlib.h> us ...
- 《JavaScript权威指南》学习笔记之二十---XMLHttpRequest和AJAX解决方式
一.AJAX概述 AJAX是Asynchronous JavaScript and XML的缩写.中文译作异步JavaScript和XML.AJAX 不是新的编程语言,而是一种使用现有标准的新方法.在 ...
- 《HTML 5网页开发实例具体解释》样章、内容简单介绍、前言
http://spu.jd.com/1167757597.html http://product.dangdang.com/23484942.html 样章 http://download.csdn. ...
- JavaScript的slice()
JavaScript slice() 方法 JavaScript Array 对象 定义和用法 slice() 方法可从已有的数组中返回选定的元素. 语法 arrayObject.slice(star ...
- Apache + Tomcat集群 + 负载均衡
Part I: 取经处: http://www.ramkitech.com/2012/10/tomcat-clustering-series-simple-load.html http://blog ...
- hibernate单向多对一映射
n21: 1.new 两个实体类,一个代表"多"的一端,一个代表"一"的一端. Customer类: public class Customer { priva ...
- html自定义标签属性
<a href="#" _asd="xxxx" onclick="test(event)">test</a> < ...