Advertisement

learning and transferring mid-level image representations using convolutional neural networks

阅读量:

CVPR 2014 - LLearning and transferring mid-level image representations using convolutional neural networks

Authors:Maxime Oquab1,Ivan Laptev,Leon Bottou, Josef Sivic.

论文理解

1.贡献

该文章主要从基于transfer learning的方法来探讨特征学习问题,在具体实现上与以往如R-CNN等方法有所不同:以往方法通常会通过调整最终 softmax 输出层节点数量以及降低学习率来进行微调(这种做法可能更恰当的名字应为微调技术),而本文则采取了一种不同的策略,在此基础之上增加了两个全连接层(分别称为FCa层和FCb层),并在保持原有模型参数不变的前提下(即仅对新增加的全连接层进行参数优化)。此外,在数据预处理阶段还进行了特别的设计:利用尺寸信息进行处理,并在后续阶段将热图信息融合起来以进一步提升目标定位精度。实验结果表明该方法不仅达到了PASCAL VOC 2007和PASCAL VOC 2012现有最佳性能水平(state-of-art),而且在后续应用中还具有良好的定位效果。

2.网络架构与训练

第一步 通过AlexNet模型(引用自http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf)基于ImageNet数据集进行分类任务学习,在此过程中构建了一个具有1000个分类输出单元(softmax layer)的网络架构,并将其定义为Source Task阶段。接着 通过去除全连接层FC8(即 softmax layer)并将其参数迁移至Target Task中 同时附加了新的Adaptation Layers 并不更改前面各层参数权重 而是利用处理后的目标域训练数据对FCa和FCb进行优化以完成任务学习任务

目标训练集怎么来呢?

作者分析了ImageNet的数据集和Pascal VOC2007的数据集,如下图:

在ImageNet数据集中任意一张图片通常仅包含一个物体相对较为简单而Pascal VOC数据集中许多图片都存在遮挡问题且背景较为复杂某些图像中可能包含多个物体这些物体可能属于不同的类别此外还有分辨率等问题与ImageNet相比统计数据差异较大但对于如此庞大的网络来说并不算小数目因此拥有VOC这样的数据集如何训练FCa和FCb这两个参数成为了下一步的重要课题

具体而言,作者采用了滑动窗口的方法来识别正样本与背景负样本。其中s值由公式确定:s=min(w,h)/λ(λ取值为1、1.3、1.6、2、2.4、2.8、3.2、3.6及4)。从而获得一个patch,并确保任意两个相邻窗口至少共享50%的区域面积(此处重叠度计算通常采用交并比IoU作为指标)。那么这个窗口究竟是正样本还是负样本?或者是否被选中?我们知道按照前面讲的方法去选patch有可能包含一个object多个objects或者某些object会被截断在上图中也比较直观看出这一特点这种方法可能会导致单一物体被单独检测到多个物体被同时检测到的情况或者某些物体在图像切割时出现遗漏现象(如上图所示)。当某个特定窗口被标记为正样本时则需满足以下条件

(1)这个patch与某个object的交必须占这个patch的20%及以上,

(2)这个patch与某个object的交必须占到这个object的60%以及上,

(3)满足前面(1)(2)patch中object的个数只能一个。

具体的理解可从图4中看出。通过该方法一般能够提取约500例符合条件的正样本和负样本。

3.测试阶段

基于前面所述的方法来扫描测试图片,并获取一批Patch样本。随后,在处理每张测试图像时将这些Patch样本进一步划分为若干类别,并为每个类别生成与原始图像保持一致尺寸的热力图。其中,在热力图中的每一个像素单元将根据以下公式进行填充。

其中的

其中Pi代表属于Cn空间的概率向量;该值即通过softmax函数计算得出的分数;其中M代表单个patch的空间尺寸参数(k≥1)。实验结果如图所示。

通过在heapmap中的视觉化展示结果可以看出该系统具备了分类与定位功能。

全部评论 (0)

还没有任何评论哟~