首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区域提案网络培训(RPN)

区域提案网络培训(RPN)
EN

Data Science用户
提问于 2018-06-20 21:20:41
回答 2查看 8.7K关注 0票数 6

有一些有趣的文献关于RPN(区域提案网络)。到目前为止,我发现的最简洁和最有用的文档是:https://www.quora.com/How-does-the-region-proposal-network-RPN-in-Faster-R-CNN-work?share=1

但是,通过我的各种讲座,我仍然不明白一些事情。RPN旨在提出几个候选区域。在此基础上,将进行甄选,以了解哪些候选人适合我们的需要。

但是,RPN和神经网络在一般情况下是确定性的。因此,一旦经过培训,他们将始终为给定的输入产生相同的输出;没有方法来查询给定输入图像的新候选人。据我所知,RPN被训练为为每一个新的图像产生一个固定数目的建议。但是培训是如何运作的呢?如果RPN必须生成300名候选人,那么我们在培训中使用的标记数据应该是什么,因为我们知道一个培训图像可能不会有超过5个黄金真相边框?

然后,知道在候选人之间的包围框大小是不一致的,CNN后面是如何操作的不同大小的输入?

EN

回答 2

Data Science用户

发布于 2018-06-20 21:40:28

评论链接中的第一个答案回答了一个关于如何选择区域提案的问题。它是超过Union (更正式的贾卡德指数)度量的交集。那么你的锚有多少重叠在标签上。通常有一个下限为这个度量,然后过滤掉所有无用的建议,其余的匹配可以排序,选择最佳。

我建议阅读这个精辟解释的提案网络版本 -面具-R-CNN(蒙面地区的CNN)。如果您更喜欢查看代码,那么就会有这里的全额回购,它是用Keras/Tensorflow实现的(在某个地方也有一个PyTorch实现)。

甚至还有一本解释木星的笔记本,它可能会帮助您单击东西。

票数 5
EN

Data Science用户

发布于 2019-03-12 02:04:46

为了了解RPN是如何进行训练的,我们可以深入研究由Matterport编写的代码,它是10,000凝视和tf/keras实现蒙版R-CNN回购。

您可以在build_rpn_targets中检查mrcnn/model.py ..函数

如果我们使用生成的锚(取决于您的锚尺度,比率,图像大小.)为了计算锚和地面真相的IOU,

代码语言:javascript
复制
    # Compute overlaps [num_anchors, num_gt_boxes]
    overlaps = utils.compute_overlaps(anchors, gt_boxes)

我们可以知道锚定和地面真相是如何重叠的。然后根据实际情况选择正锚和负锚。根据蒙斯克R-CNN论文,IOU > 0.7将是正锚,< 0.3将是负锚,否则将是中性锚,在训练时不使用。

代码语言:javascript
复制
    # 1. Set negative anchors first. They get overwritten below if a GT box is
    # matched to them. 
    anchor_iou_argmax = np.argmax(overlaps, axis=1)
    anchor_iou_max = overlaps[np.arange(overlaps.shape[0]), anchor_iou_argmax]
    rpn_match[anchor_iou_max < 0.3] = -1
    # 2. Set an anchor for each GT box (regardless of IoU value).
    # If multiple anchors have the same IoU match all of them
    gt_iou_argmax = np.argwhere(overlaps == np.max(overlaps, axis=0))[:,0]
    rpn_match[gt_iou_argmax] = 1
    # 3. Set anchors with high overlap as positive.
    rpn_match[anchor_iou_max >= 0.7] = 1

为了有效地训练RPN,您需要仔细设置RPN_TRAIN_ANCHORS_PER_IMAGE,以便在一幅图像中没有几个对象的情况下平衡训练。请注意,可以有多个锚匹配一个地面真相,因为我们可以给bbox为每个锚设置,以适应地面真相。

希望答案对你来说是清楚的!

票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/33442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档