Advertisement

论文笔记:Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks

阅读量:

文章: http://arxiv.org/abs/1506.01497
源码:坐等。。。。

目录:

      • 基于区域建议的网络架构 * * *
  • 平移不变式锚框
  • 一种用于学习区域建议的损失函数
  • 优化过程
  • 在区域建议与物体检测中共享卷积特征
  • 实施细节
  • 实验研究
  • 结论

首先回顾Fast R-CNN算法时发现其相较于传统CNN最大的创新之处在于,在进行图像特征提取时一次性处理了多个感兴趣区域(regions of interest, RoIs)。具体而言,在此过程中每个RoI会被依次送入网络并被池化操作转换为固定尺寸的空间特征图层;随后通过全连接层将其转化为统一维度的特征向量表示。对于每一个RoI最终都会得到两组输出结果:分类概率分布向量(softmax probabilities)以及对应的目标边界框偏移估计值(per-class bounding-box regression offsets)


Faster R-CNN 可被视为对 Fast R-CNN 的进一步提升,在解决如何高效提取候选区域方面取得了重要进展。现有的 region proposal 方法通常依赖于显著性目标检测方法(如 Selective search),通过在待检测图像上运行一次来提取候选区域。尽管基于区域的深度卷积网络采用了 GPU 加速技术以提高处理效率[1] ,但目前所有这类方法仍局限于 CPU 实现[2] ,这导致整体系统性能存在明显瓶颈。为了突破这一限制,在提出的方法中发现可以通过对特征图进行适当处理来替代传统 region proposals 的需求。具体而言,在卷积后生成的特征图中同样蕴含着丰富的候选区域信息,并提出了一种新方案:通过添加额外两层卷积模块来构建 Region Proposal Networks (RPNs),其中每层分别负责将特征图的空间位置编码为向量,并为每个位置生成物体存在概率以及边界回归参数等信息。

RPNs 属于一种全卷积网络(FCN),以便能够与 Fast R-CNN 整合。作者提出了一种简化的训练方案:固定 anchor boxes,并交替微调用于生成 anchor boxes 和目标检测任务的网络结构。


Region Proposal Networks

RPNs从任意尺寸的照片中提取一系列带objectness score的对象建议。具体流程如下:通过一个小网络在特征图上滑动扫描以捕获候选框;每次对特征图上的n×n窗口进行全连接处理并映射至一个低维向量(如256D或512D),随后将此低维表示输入至两个全连接层分别用于box回归和分类任务。

Region Proposal Network

Translation-Invariant Anchors

这里作者提到的平移不变性实际上是基于窗口中心的多尺度和宽高比采样过程。如上图右边所示,在文中采用了3个不同的尺度以及3种不同的宽高比(包括1:1、1:2和2:1)来生成k=9个锚框(anchors)。由于Anchors这个词在原文中没有明确说明其具体含义,在此给出一个合理的推测:Anchors在这里指代的是用于定位候选框的关键点位置。


A Loss Function for Learning Region Proposals

作者将锚分为两类:一类是具有较高交并比或与任一 ground-truth box 的交并比超过 0.7 的锚框标记为正样本;另一类是所有 ground-truth box 的交并比均低于 0.3 的锚框标记为负样本。
对于每个锚框 i ,其损失函数定义如下:
L(p_i, t_i) = L_{cls}(p_i, p^∗_ i ) + λp^∗_ i L_{reg}(t_i, t^∗_ i )
其中 p_i 是预测是否物体的概率,在正样本时 p^∗_ i=1 否则 0。
t_i = \{t_x, t_y, t_w, t_h\} 是预测边界框,
t^∗_ i 是该锚对应的 ground-truth 边界框。
分类损失 L_{cls} 是二分类(物体与否)的 softmax 损失。
回归损失 L_{reg}(t_i,t^∗_i ) = R(t_i - t^∗_ i )
R 是 Fast R-CNN 中定义的光滑 L1 损失,
p^∗_ i L_{reg} 表示仅针对正锚(p^∗_ i=1)计算。
这里平衡因子 λ 设定值 10,
表明更重视边界位置精度。


Optimization

通过回propagation和随机梯度下降法(SGD)对该RPN进行训练;从每张图片中均匀地选取了256个锚框;在这里,作者指出如果采用所有锚框进行训练可能会导致负样本占据优势;因此,在本研究中我们采用了正负锚框数量相等的策略;新增的两层采用了高斯分布来进行参数初始化;而其他部分则利用ImageNet上的预训练模型进行参数初始化。详见论文


The sharing of convolutional features represents a pivotal element in enhancing the performance of region proposal mechanisms and object detection tasks within modern computer vision frameworks.

通过交替优化来学习共享的特征,主要有4步:

  • 1. 通过前面所述的方法对一个RPN进行训练,并采用ImageNet上的预训练模型作为初始权重,在Region Proposal Task上进行微调。
  • ** 2.** 基于第一步生成的proposals,并运用Fast R-CNN算法来训练另一个独立的检测网络,在此阶段两套网络尚未实现共享卷积层。
  • ** 3.** 以第二步完成后的检测网络为基础来初始化RPN,并在其基础上展开进一步优化与微调,在该阶段我们维持了卷积层参数不受影响仅对RPN相关的网络部分进行优化。
  • ** 4.** 在完成上述步骤后再次固定卷积层参数仅对Fast R-CNN模型中的全连接层进行微调。

Implementation Details

对于每个 anchor ,采用了三种尺度(128^²²56²²5¹²²²像素的面积)以及三种比例(¹:¹、¹:²和²:¹)来构造。没有考虑边界外的锚点。通过基于 cls 分数的非最大值抑制(NMS)方法,在proposal区域进行了处理。其余详见论文。


Experiments

详见论文。


Conclusion

主要采用了Region Proposal Networks (RPNs) 来生成区域提案;通过共享权值减少了网络参数的数量;从而使得region proposal步骤几乎成为免费的。

全部评论 (0)

还没有任何评论哟~