【CV论文阅读】+【搬运工】LocNet: Improving Localization Accuracy for Object Detection + A Theoretical analysis of feature pooling in Visual Recognition

论文的关注点在于如何提高bounding box的定位,使用的是概率的预测形式,模型的基础是region proposal。论文提出一个locNet的深度网络,不在依赖于回归方程。论文中提到locnet可以很容易与现有的detection系统结合,但我困惑的是(1)它们的训练的方法,这点论文中没有明确的提到,而仅仅说用迭代的方法进行(2)到底两者的融合后两个网络的结构是怎样呢?可以看做一个多任务的系统,还是存在两个网络呢?

检测方法

输入的候选bounding box(使用selective search或者sliding windows获得),通过迭代的方法,获得更精确的box。检测的由两个过程组成:识别模型(recognition model)以及定位模型(localization model)。识别模型为每个box计算一个置信度(confidence score),度量定位的准确性,定位模型调整box的边界生成新的候选box,再输入到识别模型中。伪代码如下,

可以看到,在识别模型中,会根据计算的置信度删除其中一些box,这样做的目的是为了减少计算的复杂度。但从过程可以看出,置信度对于定位模型几乎没有用,这个迭代的过程识别模型的计算好像没有必要。

定位模型

但上述并不是关心的重点,主要是看看这个提升定位准确性的方法。提出的locnet模型步骤总结如下

(1)对于输入的box,把它扩大一个因子的倍数,获取一个更大的区域R,把R投影到feature map中。

(2)经过一个类似于ROI pooling的层,输出固定大小的map。在这里需要展开说明。把一个区域划分成M*M的格子,这时可以产生两个向量,分别代表区域R的每一行或者列包含在bounding box中的概率,如图(左)。例如,对于ground truth box而言,对于边界内的行或列概率为1,否则为0,

其中B代表四条边界l,r,t,b。这个称谓In – Out 概率。

除此以外,还定义了边界概率。即行或列是边界的概率。对于ground truth box,有

(3)经过几个卷积层和ReLU激活之后,出现两个分支,分别对应两个向量。然后经过max pooling得到row、column对应的向量。

(4)经过FC层之后,使用sigmoid函数输出In –Out概率或者边界概率或者两者都输出。

损失函数

最重要的是定义损失函数了。使用的是伯努利分布的模型,即每行或列有两种可能(是或者不是),取对数后,这也是logistic 回归常用的损失函数交叉熵,对于In –Out概率有

其中,对于同理。对于边界概率有

这里有两个平衡因子,因为作为边界的行或列较少,所以增大他们的权重,

问题引入:对于整个模型,让人觉得奇怪的最后分支对应的row和column的max pooling的情况,竟然可以通过这样蕴含边界的信息,真的搞不明白为什么。这让人思考pooling这个操作究竟为什么这么牛逼,无所不能的样子。知乎上有人问过这个问题:CNN网络的pooling层有什么用图像分类中的max pooling和average pooling是对特征的什么来操作的,结果是什么?但好像得出结论是,这是一个拍脑袋的结果……而对此系统分析的论文《A Theoretical analysis of feature pooling in Visual Recognition》也说这是一个经验的操作,而且貌似论文结果也没得出为什么来……

论文《A Theoretical analysis of feature pooling in Visual Recognition》的笔记,当一回搬运工,主要是记录Pooling Binary Feature部分,后面的已经看不明白了,最终得出结论是:Pooling 可以把联合特征转变为一个更重要的表示,同时忽略其他无关的细节。

简单起见,假设服从伯努利分布,则均值池化操作为,最大化池化操作

论文中讨论的是分布的可分性,给定两个类别C1、C2,则计算可分性的两个条件分布(最大值池化)为,均值池化以及。虽然是给定类别下的条件分布,但事实上也隐含着它属于某个类别的概率,即后验。因此可以用来计算两个分布的可分性。

使得两个分布可分性增大的方法是,使他们的均值期望距离增大,或者使得他们的样本标准差变小。

对于均值池化,因为前面假设服从伯努利分布,所以的分布(注意此时不是条件概率分布,对于条件概率分布,它们各自下的均值会不同)均值为,但是方差变小了为

对于最大值池化,的均值为,方差为。定义为类条件下的可分性,对于均值的距离为

其中以及。上式是P的函数,把P扩展到实数域,可以得到的最值点为

函数先升后降,极限为0。假设,当P=1时就是均值的期望距离,此时会有许多的P,可以使得距离增大。假设,如果,可以推出,这表明它的一个选择的特征代表超过半数的图像中的patch(这句话我的理解是,因为即类别下选择/生成特征的概率,即激活的概率过高),但通常而言这个不会发生在codebook包含超过100个codeword的时候(因为很高)。

对于最大值池化的方差,同样会经历一个先升后降的过程。

据以上,论文总结了几个点:

1、最大池化特别适合在特征都是非常稀疏的时候来分离(即,有着非常低的概率去激活,这时很少出现的情况)

2、使用所有可用的样本去执行池化也许不是最优的

3、最优化池化技术会随着字典的尺寸增加而增加。

时间: 2024-10-10 02:20:58

【CV论文阅读】+【搬运工】LocNet: Improving Localization Accuracy for Object Detection + A Theoretical analysis of feature pooling in Visual Recognition的相关文章

【CV论文阅读】 Fast RCNN

Fast RCNN的结构: 先从这幅图解释FAST RCNN的结构.首先,FAST RCNN的输入是包含两部分,image以及region proposal(在论文中叫做region of interest,ROI).Image经过深度网络(deep network)之后得到feature map,然后可以从feature map中找到ROI在其中的投射projection得到每个patch,但论文没有提及怎么在map中寻找对应的patch,估计可以通过位置关系找到(猜想,因为deep Conv

【CV论文阅读】Deep Linear Discriminative Analysis, ICLR, 2016

DeepLDA 并不是把LDA模型整合到了Deep Network,而是利用LDA来指导模型的训练.从实验结果来看,使用DeepLDA模型最后投影的特征也是很discriminative 的,但是很遗憾没有看到论文是否验证了topmost 的hidden representation 是否也和softmax指导产生的representation一样的discriminative. DeepLDA和一般的deep network唯一不同是它的loss function.两者对比如下: 对于LDA,

【CV论文阅读】Image Captioning 总结

初次接触Captioning的问题,第一印象就是Andrej Karpathy好聪明.主要从他的两篇文章开始入门,<Deep Fragment Embeddings for Bidirectional Image Sentence Mapping>和<Deep Visual-Semantic Alignments for Generating Image Descriptions>.基本上,第一篇文章看明白了,第二篇就容易了,研究思路其实是一样的.但确实,第二个模型的功能更强大一些

【CV论文阅读】Two stream convolutional Networks for action recognition in Vedios

论文的三个贡献 (1)提出了two-stream结构的CNN,由空间和时间两个维度的网络组成. (2)使用多帧的密集光流场作为训练输入,可以提取动作的信息. (3)利用了多任务训练的方法把两个数据集联合起来. Two stream结构 视屏可以分成空间与时间两个部分,空间部分指独立帧的表面信息,关于物体.场景等:而时间部分信息指帧间的光流,携带着帧之间的运动信息.相应的,所提出的网络结构由两个深度网络组成,分别处理时间与空间的维度. 可以看到,每个深度网络都会输出一个softmax层,最后会通过

【CV论文阅读】Going deeper with convolutions(GoogLeNet)

目的: 提升深度神经网络的性能. 一般方法带来的问题: 增加网络的深度与宽度. 带来两个问题: (1)参数增加,数据不足的情况容易导致过拟合 (2)计算资源要求高,而且在训练过程中会使得很多参数趋向于0,浪费计算资源. 解决方法: 使用稀疏连接替代稠密结构. 理论依据(Arora):一个概率分布可以用一个大的稀疏的深度神经网络表示,最优的结构的构建通过分析上层的激活状态的统计相关性,并把输出高度相关的神经元聚合.这与生物学中Hebbian法则“有些神经元响应基本一致,即同时兴奋或抑制”一致. 存

【CV论文阅读】Dynamic image networks for action recognition

论文的重点在于后面approximation部分. 在<Rank Pooling>的论文中提到,可以通过训练RankSVM获得参数向量d,来作为视频帧序列的representation.而在dynamic论文中发现,这样的参数向量d,事实上与image是同等大小的,也就是说,它本身是一张图片(假如map与image同大小而不是提取的特征向量),那么就可以把图片输入到CNN中进行计算了.如下图可以看到一些参数向量d pooling的样例 参数向量d的快速计算 把计算d的过程定义一个函数.一个近似

【CV论文阅读】Detecting events and key actors in multi-person videos

论文主要介绍一种多人协作的视频事件识别的方法,使用attention模型+RNN网络,最近粗浅地学习了RNN网络,它比较适合用于处理序列的存在上下文作用的数据. NCAA Basketball数据集 这个数据集是作者新构建的,一个事件4秒长度,在论文中共需识别11个事件.而且从训练集子集通过标注人物的bounding box学习了一个multibox detector,来识别所有帧中的人物bounding box. RNN模型 论文使用了RNN模型中的LSTM来处理帧序列.网络的结构如下图,其中

【CV论文阅读】YOLO:Unified, Real-Time Object Detection

YOLO的一大特点就是快,在处理上可以达到完全的实时.原因在于它整个检测方法非常的简洁,使用回归的方法,直接在原图上进行目标检测与定位. 多任务检测: 网络把目标检测与定位统一到一个深度网络中,而且可以同时在原图上检测多个物体.步骤总结如下: (1)把图片分割成S*S个方格,假如某个物体的中点落在其中一个方格,那么这个方格就对这个物体负责.这里说的物体的中点应该是指ground truth box中的物体的中心. (2)对于每个格子,预测B个bounding box以及相应的confidence

【CV论文阅读】An elegant solution for subspace learning

Pre: It is MY first time to see quite elegant a solution to seek a subspace for a group of local features. I list two related papers for your reference: "Local Feature Discriminant Projection" and "Binary Set Embedding for Cross-Modal Retri