论文笔记-SPP_NET中提到的金字塔
时隔这么久终于考完试放假了,现在终于有时间开始研究spp net的相关内容了,看了几篇网上的博客,发现看完之后还是不是很懂,于是乎下载了spp net的原始论文《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recongnition》开始,由于中间的关键思想来自于Spatial Pyramid Matching(我把它翻译成“空间金字塔匹配”),而“空间金字塔匹配”的思想又来自于Pyramid Match Kernel(金字塔匹配核),本着反正我是图像处理初学者,多写点可以以后做论文的想法,我决定慢慢的看这几篇文章
- Pyramid Match Kernel(金字塔匹配核)
- 预备知识
《The Pyramid Match Kernel:Discriminative Classification with Sets of Image Features》是提出空间金字塔的那篇文章中指明所引用的是这篇文章,在我下载了这篇文章看了前半段后,我发现我在这个方法的第一步,利用特征空间里的特征向量来构建一个多分辨率的特征直方图我都看不懂作者是如何操作的,于是乎在网上找了很久的资料,发现了一篇07年的文章《The Pyramid Match Kernel: Efficient Learning with Sets of Features》,这俩篇论文的作者是同一个人,第二篇比第一篇讲的更加的详细一些,虽然还是有些疑问,但是加上自己的脑补和网上的资料,似乎有点点能看懂了。
假设我们有个特征描述子能够使用d维的向量来描述一些点的特征,d维特征向量的空间称为F,如sift特征(使用128维的特征向量来描述一个特征点),对于一副图片,我们能检测出m个特征点,每个特征点都用一个d维的特征向量来表示,把这些向量放在一个集合X中,X={(x1,x2,x3,...xd)1,(x1,x2,x3,...xd)2,...(x1,x2,x3,...xd)m},则这个向量集x就可以表示一个物体,作为匹配的输入的一系列图片的特征集就构成了输入空间S,S={X|X={x1,x2,x3...xm}},对于不同的实例,d的大小是固定的,m的大小确实不固定的,这就是金字塔匹配核的好处之一。用D表示特征空间F中每个向量中每一列属性的范围的最大值,将特征向量的数据缩放并强制转化为整型,来保证向量间的最小距离为1
对于两个点集,局部匹配就是将数量较小的点集中的点映射到数量较大的点集中的点,例如对于两个点集X,Y,m=|X|,n=|Y|,m<=n,用数组
来表示X中点再Y中的对应点,所以匹配函数就可以记为M,相应的代价函数(也就是对应点之间的不匹配度的度量函数)记为C:


要求得最佳的对应点,就是最小化这个代价函数,得到相应的:

相应的相似度计算就可以用类似于代价函数的方式进行定义:
分母加1是为了防止分母为0。
2. 金字塔匹配算法
金字塔匹配算法就是将一个特征空间中的向量映射到一个多维的,多分辨率的直方图集合中,多维是指直方图的列数是多个的,多分辨率是指这些直方图的每一列的宽度是变化的,从第一个到最后一个逐渐变大。第一层的直方图bin足够小,特征空间中的每一个向量都能单独放到一列中,分辨率最高,后面每一层的直方图的bin是前一个直方图bin的两倍,最后一层的直方图的bin大到可以将整个特征空间中的向量都容纳进去。将两个特征点集合中的点按照直方图所表示的范围顺序放入直方图中,在第一层直方图中可能两个集合中的点都是分散在直方图的各个列中,随着直方图的bin的加宽,两个集合中的特征点逐渐开始被分到同一个bin中,这时我们就认为他们匹配了。匹配的分数不用再像以前那样计算两个点之间的距离,两个点匹配时的直方图的bin的宽度就是这个bin中所容纳点的距离的最大值。具体操作时将每一个特征集都映射到一个多分辨率的直方图中,然后对每个直方图金字塔使用权重直方图交叉的方法进行比较。
对于一个特征集X的特征提取方法记为:

这里X∈S,L=log2D+1(向上取整),
--------------------------------------------------------------华丽丽的分割线------------------------------------------------------------------------------------------------------------------------------------------
为啥突然不看空间金字塔匹配算法了呢。。。因为当我把SPP-NET的论文看完后发现,人家原作者只是从金字塔那里获得了灵感,却没有真的完全运用金字塔的那套原理来实现spp-net,也就是说,没必要去完完整整的看空间金字塔的内容就可以很好的理解SPP-NET了。
论文笔记-SPP_NET中提到的金字塔的更多相关文章
- 论文笔记之:Visual Tracking with Fully Convolutional Networks
论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015 CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...
- Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型
看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...
- cips2016+学习笔记︱NLP中的消岐方法总结(词典、有监督、半监督)
歧义问题方面,笔者一直比较关注利用词向量解决歧义问题: 也许你寄希望于一个词向量能捕获所有的语义信息(例如run即是动车也是名词),但是什么样的词向量都不能很好地进行凸显. 这篇论文有一些利用词向量的 ...
- 论文笔记:Batch Normalization
在神经网络的训练过程中,总会遇到一个很蛋疼的问题:梯度消失/爆炸.关于这个问题的根源,我在上一篇文章的读书笔记里也稍微提了一下.原因之一在于我们的输入数据(网络中任意层的输入)分布在激活函数收敛的区域 ...
- 论文笔记:语音情感识别(四)语音特征之声谱图,log梅尔谱,MFCC,deltas
一:原始信号 从音频文件中读取出来的原始语音信号通常称为raw waveform,是一个一维数组,长度是由音频长度和采样率决定,比如采样率Fs为16KHz,表示一秒钟内采样16000个点,这个时候如果 ...
- Deep Learning论文笔记之(一)K-means特征学习
Deep Learning论文笔记之(一)K-means特征学习 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感 ...
- 论文笔记:CNN经典结构1(AlexNet,ZFNet,OverFeat,VGG,GoogleNet,ResNet)
前言 本文主要介绍2012-2015年的一些经典CNN结构,从AlexNet,ZFNet,OverFeat到VGG,GoogleNetv1-v4,ResNetv1-v2. 在论文笔记:CNN经典结构2 ...
- 论文笔记: Matrix Factorization Techniques For Recommender Systems
Recommender system strategies 通过例子简单介绍了一下 collaborative filtering 以及latent model,这两个方法在之前的博客里面介绍过,不累 ...
- 论文笔记-IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks
论文笔记-IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks 2018年07月11日 14 ...
随机推荐
- Java中JAVA_HOME与CLASSPATH的解析(转)
很多人在初学Java的时候经常会被书中介绍的一堆环境变量的设置搞得头昏脑胀,很多书中都会在初装JDK的时候让他大家设置JAVA_HOME环境变量,在开发程序的时候设置CLASSPATH环境变量,而很多 ...
- LightOJ 1140 计数/数位DP 入门
题意: 给出a,b求区间a,b内写下过多少个零 题解:计数问题一般都会牵扯到数位DP,DP我写的少,这道当作入门了,DFS写法有固定的模板可套用 dp[p][count] 代表在p位 且前面出现过co ...
- mysql 并发下数据不一致的问题分析及解决
MySQL 5.6 , InnoDB存储引擎,默认事务隔离级别(REPEATABLE-READ) 初始sql 脚本如下: CREATE DEFINER=`root`@`localhost` PROCE ...
- 函数式编程--响应式编程 ---android应用例子
RxJava implements this operator as create. It is good practice to check the observer’s isUnsubscribe ...
- 【BZOJ】1704: [Usaco2007 Mar]Face The Right Way 自动转身机
[题意]n头牛,一些向前一些向后,每次可以使连续k头牛转身,求使旋转次数最小的k. [算法]贪心 [题解]这题题解很迷,大概思想是k没有单调性,故枚举k,从左到右扫描遇到一只向后的牛就旋转一次. 贪心 ...
- UIView显示时遮挡导航栏的方法
[self.navigationController.view:addSubview];
- python大数据挖掘系列之淘宝商城数据预处理实战
数据清洗: 所谓的数据清洗,就是把一些异常的.缺失的数据处理掉,处理掉不一定是说删除,而是说通过某些方法将这个值补充上去,数据清洗目的在于为了让我们数据的可靠,因为脏数据会对数据分析产生影响.拿到数据 ...
- nodejs入门教程之http的get和request简介及应用
nodejs入门教程之http的get和request简介及应用 前言 上一篇文章,我介绍了nodejs的几个常用的模块及简单的案例,今天我们再来重点看一下nodejs的http模块,关于http模块 ...
- CTF线下赛AWD模式下的生存技巧
作者:Veneno@Nu1L 稿费:200RMB 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 原文:https://www.anquanke.com/post/id/8467 ...
- printk %pF %pS含义【转】
作者:啐楼链接:https://www.zhihu.com/question/37769890/answer/73532192来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...