如何在更快的R-CNN中训练RPN?

时间:2017-07-27 14:44:16

标签: deep-learning object-detection

Link to paper

我正试图以更快的速度了解区域提案网络。我理解它在做什么,但我仍然不明白训练是如何起作用的,特别是细节。

让我们假设我们正在使用VGG16的最后一层,其形状为14x14x512(在maxpool和228x228图像之前)和k = 9种不同的锚点。在推理时,我想预测9 * 2类标签和9 * 4边界框坐标。我的中间层是512维向量。 (图片显示来自ZF网络的256个) from the paper

在论文中他们写了

  

“我们在图像中随机抽样256个锚点来计算损失   小批量的功能,其中采样正负   锚的比例高达1:1“

这是我不确定的部分。 这是否意味着对于9(k)个锚点类型中的每一个,特定的分类器和回归程序都使用仅包含该类型的正负锚点的小型数据集进行训练?

这样我基本上在中间层训练k个不同的网络共享权重?因此,每个小批量将由训练数据x =转换特征图的3x3x512滑动窗口和y =该特定锚类型的基础事实组成。 在推论时,我把它们放在一起。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

不完全是。根据我的理解,RPN预测每个特征图的WHk边界框,然后根据1:1标准随机采样256个,并且这些用作该特定小批量的损失函数的计算的一部分。您仍然只训练一个网络,而不是k,因为256个随机样本不属于任何特定类型。

免责声明:我一个月前才开始学习CNN,所以我可能听不懂我的理解。