1

Github page

Looking generate_anchor_base method, which is Faster R-CNN util method in ChainerCV.

What is the base_size = 16? I saw in the Documentation that it is

The width and the height of the reference window.

But what does "reference window" mean?

Also it says that anchor_scales=[8, 16, 32] are the areas of the anchors but I thought that that the areas are (128, 256, 512)

Another question:
If the base size is 16 and h = 128 and w=128, Does that mean anchor_base[index, 0] = py - h / 2 is a negative value? since py = 8 and and h/2 = 128/2

4

1 回答 1

1

该方法是 Faster R-CNN 的一个实用函数,所以我假设您了解 Faster R-CNN 中提出的“锚点”是什么。

base_sizeanchor_scales确定锚的大小。例如,当base_size=16anchor_scales=[8, 16, 32](and ratio=1.0) 时,锚点的高度和宽度将为16 * [8, 16, 32] = (128, 256, 512),如您所料。 ratio确定高度和宽度的纵横比。

(我可能在下面的段落中错了,如果我错了,请纠正。)

我认为base_size需要设置为当前隐藏层规模的大小。在chainercvFaster R-CNN 实现中,extractor的特征被输入rpn(区域提议网络)并generate_anchor_base用于rpn. 所以你需要注意extractor输出的特征是什么。chainercv使用VGG16作为特征提取器,conv5_3层作为提取特征(见here),该层是max_pooling_2d应用4次的地方,结果是2^4=16次缩小特征。

对于另一个问题,我认为您的理解是正确的,py - h / 2将是负值。但这个anchor_base值只是一个相对值。一旦anchor_base在模型的初始化(此处)准备好,实际(绝对值)anchor就会在方法中的每个前向调用(此处)中创建_enumerate_shifted_anchor

于 2018-11-18T13:39:05.113 回答