Faster rcnn代码理解(4)
2017-08-10 10:38
591 查看
上一篇我们说完了AnchorTargetLayer层,然后我将Faster rcnn中的其他层看了,这里把ROIPoolingLayer层说一下;
我先说一下它的实现原理:RPN生成的roi区域大小是对应与输入图像大小(而且每一个roi大小都不同,因为先是禅城九种anchors,又经过回归,所以大小各不同),所以在ROIPoolingLayer层中,先将每一个roi区域映射到经过conv5的feature map上,然后roi对应于feature map上的这一块区域再经过pooling操作映射到一个固定大小的区域,这里我们用feature map_2表示,Faster rcnn中这个feature map_2的大小设为了6*6。而pooling操作就是feature map_2上的每一个点对应于feature map上roi区域上的一个部分中的最大值~具体看代码:
上面代码中的spatial_scale在Faster rcnn中为1/16(因为卷积层没有改变大小,只有pool层改变了大小,所以1/16实际就是pool层的级联),上面实现了setup()函数和reshape()函数,接下来就看前向传播了:
上面代码中:
这一部分实现了RoiPooling中的pool操作,其实就是max操作;
最后为了理解,附上灵魂画师的图:
我先说一下它的实现原理:RPN生成的roi区域大小是对应与输入图像大小(而且每一个roi大小都不同,因为先是禅城九种anchors,又经过回归,所以大小各不同),所以在ROIPoolingLayer层中,先将每一个roi区域映射到经过conv5的feature map上,然后roi对应于feature map上的这一块区域再经过pooling操作映射到一个固定大小的区域,这里我们用feature map_2表示,Faster rcnn中这个feature map_2的大小设为了6*6。而pooling操作就是feature map_2上的每一个点对应于feature map上roi区域上的一个部分中的最大值~具体看代码:
上面代码中的spatial_scale在Faster rcnn中为1/16(因为卷积层没有改变大小,只有pool层改变了大小,所以1/16实际就是pool层的级联),上面实现了setup()函数和reshape()函数,接下来就看前向传播了:
上面代码中:
这一部分实现了RoiPooling中的pool操作,其实就是max操作;
最后为了理解,附上灵魂画师的图:
相关文章推荐
- Faster RCNN代码理解(Python) ---训练过程
- Faster RCNN代码理解(Python)
- Faster RCNN代码理解(Python)
- Faster rcnn代码理解
- Faster RCNN代码理解(Python)
- faster rcnn代码框架理解之后的体会与感悟
- 4000 【转】Faster RCNN代码理解(Python)
- Faster RCNN代码理解(Python)
- Faster rcnn代码理解(1)
- Faster RCNN代码理解(Python)
- Faster rcnn代码理解
- Faster rcnn代码理解(3)
- faster rcnn的源码理解(一)SmoothL1LossLayer论文与代码的结合理解
- Faster RCNN代码理解(Python)
- Faster RCNN代码理解(Python)
- Faster rcnn代码理解(2)
- faster rcnn 测试代码解释
- Faster RCNN代码理解(Python) ---训练过程
- Faster RCNN 中 RPN 的理解
- 对faster rcnn代码讲解的很好的一个