区域提议

科技工作者之家 2020-11-17

区域提议,也叫区域建议,是一个典型的全卷积网络,因此在网络的训练过程中,反向传播算法和梯度下降算法同样适用于区域建议网络。

介绍区域建议网络(RPN)将一个图像(任意大小)作为输入,输出矩形目标建议框的集合,每个框有一个objectness得分。我们用全卷积网络对这个过程构建模型,本章会详细描述。因为我们的最终目标是和Fast R-CNN目标检测网络共享计算,所以假设这两个网络共享一系列卷积层。在实验中,我们详细研究Zeiler和Fergus的模型(ZF),它有5个可共享的卷积层,以及Simonyan和Zisserman的模型(VGG),它有13个可共享的卷积层。
为了生成区域建议框,我们在最后一个共享的卷积层输出的卷积特征映射上滑动小网络,这个网络全连接到输入卷积特征映射的nxn的空间窗口上。每个滑动窗口映射到一个低维向量上(对于ZF是256-d,对于VGG是512-d,每个特征映射的一个滑动窗口对应一个数值)。这个向量输出给两个同级的全连接的层——包围盒回归层(reg)和包围盒分类层(cls)。本文中n=3,注意图像的有效感受野很大(ZF是171像素,VGG是228像素)。

区域建议网络的构建采用全卷积网络模型来构建区域建议网络,主要目的是为了便于和全卷积分割网络共享计算资源。实验在 Zeiler 和 Fergus所提出的网络模型上做出修改,得到所需要的全卷积神经网络,即 ZF_FCN 网络。

区域建议框的产生同样是一个卷积的过程。使用一个 n × n 的滑动窗口在共享卷积层末端的输出特征图上进行卷积操作,每一个滑动窗口都将作为一个输入被送入一个小型的网络中。该小型网络将传入的特征映射到一个 256 - d 的向量上并将这个向量传输给 2个同级的 1 × 1 卷积层。这 2 个卷积层分别为分类层(cls)和回归层(reg)1。

滑动窗口的中心位置定义为锚点,通常每个滑动位置对应着 3种尺度和 3 种长宽比,这样每个滑动位置都会有 k= 9 个锚点,每个滑动窗口产生 k个区域建议框。因此,回归层会有 4k 个输出(每个区域建议框的坐标包含 4个参数),分类层会有 2k 个输出(每个区域建议框是否为目标的概率估计)。具体的区域建议网络如图 1 所示。

损失函数为了训练RPN,我们给每个anchor分配一个二进制的标签(是不是目标)。我们分配正标签给两类anchor:

(i)与某个groundtruth(GT)包围盒有最高的IoU(Intersection-over-Union,交集并集之比)重叠的anchor(也许不到0.7)。

(ii)与任意GT包围盒有大于0.7的IoU交叠的anchor。注意到一个GT包围盒可能分配正标签给多个anchor。我们分配负标签给与所有GT包围盒的IoU比率都低于0.3的anchor。非正非负的anchor对训练目标没有任何作用。

有了这些定义,我们遵循Fast R-CNN中的多任务损失,最小化目标函数。我们对一个图像的损失函数定义为:

本词条内容贡献者为:

李嘉骞 - 博士 - 同济大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。