Faster-RCnn中RPN网络中卷积核大小与AnchorBox对应不同尺度是否有关

按照课程所讲,RPN分两层,第一层是在conv5的 feather map上做3*3卷积,输出256-d。然后再分别做2个1*1卷积,一个输出2k,另一个输出4k Bbox proposal,其中每个k为9,对应不同尺度和不同比例的滑动框。问题是:第一层的那个卷积是固定的3*3还是根据anchor点对应的框的大小和尺度分别滑动(就是第一层是否应该有9个不同的卷积核?)。  如果只是固定3*3,那么它是不能覆盖更大的区域?

349zzjau

赞同来自: 观照 fish 机器学习小白

第一层是固定的3x3卷积,对所有的9个anchor来说是一样的。这个3x3卷积的感受野,映射到原图上,就是228x228的区域(VGG网络)。只有在第2层的2个1x1卷积,是分别针对不同anchor的,它们的输出通道串起来就是2k和4k这个数量了。所以,anchor的scale和ratio都只是跟1x1卷积的输出通道相关的,参数是学出来的,但输入的3x3卷积特征都是一样的。

观照

赞同来自:

明白了,清晰。

机器学习小白

赞同来自:

请问下 在RPN网络中 第一层3*3的卷积输出是一个256-d的向量 ,这个向量如何根据9个不同大小和面积的anchor进行运算得到2*9个和4*9个输出呢?这里假设有9个分类

观照

赞同来自:

 它实际是认为256-D中已经包含2X9的分类信息,然后它用一个256x18的全连接吧2x9的分类信息取出来。

349zzjau

赞同来自:

对,基于这256-d特征,可以推断出,这个位置上9个anchor是否包含物体和实际的bbox该有多少偏差

机器学习小白

赞同来自:

谢谢楼上二位同学的解答。 我是不是可以理解成3*3卷积得到的256-d向量里面已经包含了9个anchor是否为物体的信息 。此时2*9向量表示 :在3*3卷积位置处,9个不同anchor 对应在原图中的位置框和标注为物体框的差异度。 换句话说,虽然用3*3卷积得到一个区域,这个区域对应在原图中是个挺大的区域,如果该区域中包含了某个物体,则2*9向量表征的是 包含物体属于哪个类型anchor的概率最大?

要回复问题请先登录注册