deep-learning - RCNN vs Fast-RCNN 算法——“感兴趣的区域”是如何生成的?
问题描述
我从这里的博客文章中得到了下面的图片,它提供了非常丰富的信息。
卷积神经网络
在 RCNN 中,我得到选择性搜索用于选择感兴趣的区域(“建议”),这些区域被传递到一个 convNet 中,该网络可以任意生成一个 4096 维的特征向量。这被传递给 SVM,我们得到一个分类。说得通。
快速RCNN
“我们没有将区域提案提供给 CNN,而是将输入图像提供给 CNN 以生成卷积特征图。从卷积特征图中,我们识别提案区域并将它们扭曲成正方形,并使用 RoI 池化层我们将它们重塑为固定大小,以便可以将其馈入全连接层。”
我分别知道所有这些词;但是像这样把它们放在一起让我很困惑。对于 Fast-RCNN,区别在于 ConvNet 似乎用于生成感兴趣区域,而不是选择性搜索。这是如何运作的?
我目前的理解在第 2/3 步感到困惑,否则我认为我很好:
- 我们有一张图像并将其提供给 CNN。
- CNN 像往常一样通过随机初始化一些过滤器(然后根据错误进行调整)来生成过滤器。
- 在卷积图像堆栈上使用选择性搜索?
- 投资回报率汇集到一个大小。
- Softmax 层决定分类 + LR 得到边界框。
奖励:为什么 RCNN 中的特征向量是 4096 维?只是随机选择的数字?
解决方案
我刚刚阅读了 Ross Girshick 的一篇文章“基于区域的卷积网络用于准确的对象检测和分割”。他部分说:“我们使用 CNN 从每个区域提议中提取一个固定长度的特征向量。使用的特定 CNN 架构是系统超参数。我们的大多数实验都使用 Krizhevskyetal 描述的 CNN 的 Caffe [55] 实现。8 , 但是我们也用 Simonyan 和 Zisserman [24] (OxfordNet) 的 16 层深度网络进行了实验。在这两种情况下,特征向量都是 4096 维的。特征是通过网络前向传播减去均值的 S ×S RGB 图像并读取倒数第二层(softmax 分类器之前的层)输出的值来计算的。对于 TorontoNet,S = 227 和 OxfordNet S = 224。我们建议读者参考 [8]、[24]、[55] 了解更多网络架构细节。” 这意味着他从两个经验中得出这个数字给出了相同的结果
推荐阅读
- php - How can I refactor this code to mitigate an N+1 query issue using Eloquent?
- html - Bootstrap4: collapse in grid system
- python - pandas dataframe update values using groupby
- terraform - terraform resource force creation
- android - Android access paused activity with broadcast receiver
- ruby-on-rails - How does rails know which private params method to use to filter params from a form before providing to controller action?
- tensorflow - TensorFlow 多参数功能
- oracle-apex - 获取 Oracle Apex 中的天数差异
- sas - 如何找到 SAS 元数据文件夹的实际位置?
- powerbi - 基于13个月和一年的累计金额