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 模型图 ...
随机推荐
- js 判断是否包含
1.判断一个数组中是否包含某元素 arr.indexOf(val) > -1 // true 包含 false 不包含 arr.includes(val) // ES7 true 包含 fals ...
- SQLserver备份数据库示例
BACKUP DATABASE [yee]TO DISK = N'D:\数据库备份\yee2015.9.11.bak'WITH NAME = N'yee - 备份', NOFORMAT, NO ...
- hdu 神、上帝以及老天爷 java
问题: 递推.可是a[i]=(a[i-1]+a[i-2])+(i-1)公式没有推出来. 在递推时,for循环约束值用的输入的m导致数组没有储存数. 在算阶乘时for循环中将i和j用混了,导致没有数输出 ...
- 工作总结 错误 using 块缺少结束字符“}”。请确保此块内的所有“{”都有匹配的“}”字符,并且任何“}”都不会解释为标记。
页面上 有两个 它会跟标签 匹配的 标准要在同一级别下 什么也不改变 只改变它们位置 就不报错了 总结 @using (Html.BeginForm()) { } 要根据标签位置 匹配 要放 ...
- org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
© 版权声明:本文为博主原创文章,转载请注明出处 1.问题描述 启动hibernate测试案例时报错如下: 2.解决方案: 2.1 第一次解决:MySQL驱动版本太高.使用的hibernate版本为5 ...
- thinkphp5.0极速搭建restful风格接口层实例
作为国内最流行的php框架thinkphp,很快就会发布v5.0正式版了,现在还是rc4版本,但已经很强大了下面是基于ThinkPHP V5.0 RC4框架,以restful风格完成的新闻查询(get ...
- 【NOI2015】【寿司晚宴】【状压DP】
Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴. 小 G 和小 W 作为參加 NOI 的选手,也被邀请參加了寿司晚宴. 在晚宴上,主办方为大家提供了 n−1 种不 ...
- python unittest不执行"if __name__ == '__main__' "问题(Pycharm)
问题: 1.selenium导入unittest框架和HtmlReport框架后,HtmlReport不被执行. 2.IDE为Pycharm 假设代码为: from selenium import w ...
- oracle中的not in和not exists注意事项
NOT IN:不包括空值 NOT EXISTS:包括空值
- 启用nginx报错80端口被占用
最近在本机跑nginx,启动后报错,怀疑80端口被占用 netstat -ano|findstr 尝试一:查看后发现端口被一个System pid 为4的一个程序占用.我在资源管理器中尝试将Syste ...