我已经在堆栈溢出中问过这个问题,但得到了专家的回复,在这里发布这个问题,请帮助我理解这个概念......
我正在尝试了解 Faster RCNN 中的 RPN 网络。
我了解RPN网络的概念,
- 将输入图像传递给预训练的 CNN,并得到输出作为特征图
- 制作固定大小的特征图
- 从固定大小的特征图中提取锚点(每个滑动窗口有 3 个不同的比例和比例)。
- 使用两个 1×1 全连接 NN 查找背景或对象和边界框坐标(4 个值)
- 用 Ground Truth 边界框计算 Anchors 边界框的 IOU,如果 IOU>0.7,则锚点有对象,否则,锚点有背景。
RPN 的主题是给出具有对象的区域建议。
但是,我不明白输入和输出结构。
例如,我有 50 张图像,每张图像有 5 到 6 个对象,以及标签信息(每个对象的坐标)。
如何生成目标值来训练 PRN 网络...
在所有博客中,他们将架构展示为将整个图像提供给预训练的 CNN。
并且,RPN的输出,模型必须判断anchor是否有object,并且还要预测anchor中object的bounding box。
为此,如何准备输入和目标/输出值,就像我们在狗/猫或狗/猫/汽车分类问题中所做的那样。
如果我不正确,请让我纠正,
就是说,我们必须裁剪每张图像中的所有对象,并作为对象与背景进行二进制分类,以对锚点是否有对象进行分类
而且,是不是,我们必须将数据集中所有图像中每个裁剪对象的真实值作为目标,以便 RPN 网络训练良好,以预测每个锚点中对象的边界框。
希望,我清楚地解释了我的疑问。
帮我学习这个概念,谢谢