在 Fast RCNN 中,我知道首先将 CNN 应用于图像以获得特征图。然后,您使用外部对象检测器(选择性搜索)生成的 ROI 来获取潜在感兴趣对象的边界框。但是,我不明白如何从与感兴趣区域相关的特征图中获取特征。
例如。应用选择性搜索,我得到一个 (x,y,宽度,高度) 列表。然后,我应用 CNN(inceptionv3)来获取 2048x1 特征向量(来自 pool3 层)。如何从图像的特征向量中获取感兴趣的区域,或者我是否错误地解释了此方法
感谢您的帮助!
最佳答案
然后你使用 CNN 进行分类任务,你的网络有两部分:
- 特征生成器。通过尺寸为
WI x HI
和CI
channel 的图像生成尺寸为WF x HF
和CF
的特征图的部分 channel 。图像大小和特征图大小之间的关系取决于神经网络的结构(例如,池化层的数量及其步幅)。我们还可以将 CNN 这部分中所有层的步幅相乘,得到Step
值(稍后我们会用到它) - 分类器。解决将具有
WF*HF*CF
组件的分类向量分类为类的任务的部分。
现在,如果您的图像尺寸为 W x H
、W > WI
和 H > HI
,您可以应用您的网络(因为在这部分中只有卷积层和池化层)并使用 WFB > WF
和 HFB > HF
获取特征图。
此特征图中每个大小为 WF x HF
的窗口对应于源图像上的窗口 WI x HI
。
矩形(0, 0, WF, HF)
对应图像上的矩形(0, 0, WI, HI)
。矩形(1, 0, WF+1, HF)
对应图像上的矩形(Step, 0, WI + Step, HI)
等
因此,如果特征图中有 ROI 坐标,则可以返回源图像上的 ROI。
关于machine-learning - 快速 RCNN : Applying ROIs to feature map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45228884/