关于更快rcnn的问题

时间:2017-11-06 04:09:38

标签: tensorflow detection object-detection

我正在阅读code以获得更快的rcnn。我有几个问题:

(1)我不知道cfg.TRAIN.OHEM的含义是什么。

(2)rpn_bbox_inside_weights和rpn_bbox_outside_weights之间的区别是什么。

(3)在TFFRCNN-master / lib / networs / network.py(build_loss)中,计算损失时,一些代码如下所示:

tf.gather(rpn_cls_score, rpn_keep)
tf.gather(rpn_label, rpn_keep)

为什么要收集rpn_keep?

(4)计算损失

loss = cross_entropy + loss_box + rpn_cross_entropy + rpn_loss_box

这意味着它结合了分类和rpn步骤。但是在论文中,作者意味着rpn首先被训练,并且分类是第二次训练。我的理解错了吗?

(5)在RPN网中,它将生成m * n * 9个锚点。但我找不到相关代码。

非常感谢您提前。

1 个答案:

答案 0 :(得分:0)

我将回答我自己的两个问题。

(4)原始论文提供了三种训练网络的方法。在其中一种方法中,将RPN和分类组合起来进行训练。

当然,在另一种方法中,更快的rcnn可以首先训练RPN并进行分类。

(5)关于如何生成m * n * 9个锚点,在代码lib / networsk / VGGnet_train第51行中,基于特征映射生成的m * n * 36是9个锚点。

关于问题(1)(2)(3),我找不到答案。如果有人知道答案,请告诉我。

最佳, 强