请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问RPN具体细节

老师请问fc以后有了2k个score和4k个coordinate,k是因为有k个box,但是我还是没懂这9个比例到底是怎么影响fc层输出的。是因为在计算loss的时候只和相应的scale和ratio对比吗?(我的意思是如果把2k个score和4k个coordinate push进NMS,得出来最大的那个box比如说是256^2上的1:2的某个anchor,就算出原图像这个点这个范围大小上和ground truth的loss吗?但是做完back prop以后根本没办法保证这个比例是1:2,很可能最后和这个比例没关系。我没有读faster-rcnn的源码,不知道有没有理解错)那这个样子其实在做conv的时候和box没有关系是吗?是在train的过程中网络才明白这k个box里面哪个对应哪个scale和ratio是吗?这个prior box到底有什么意义?
老师我在读YOLO v3 paper的时候说如果从这样的box size开始(论文里面没说开始做什么……怎么开始……)会使得训练更快,但是完全不懂如何初始化输出层成固定尺寸比例,只能初始化weight啊。

正在回答

1回答

这个问题问的很好!描述也很丰富,说明学的很认真,加油!

这里的k个box是我们理论上要提取的default box的个数,在原始图像经过下采样之后,会得到压缩过之后的feature map。对于这些feature map上的点,可以映射到原图上去,每个点的感受野都是一个原图上的区域,一个feature map会有多个channel。所以我们可以将feature map上的每个点+多个channel,看成是一个原图上,相应区域的特征。但是实际上,我们具体考虑原图上的多大的区域,并不是固定的。而是将feature map上的点作为anchor,映射到原图,体现在原图上就是一系列离散的点,然后以这些离散的点作为中心,进行抠图。具体抠多大?就是scale和ratio决定的,这里会有一个计算公式。注意这里所谓的抠图 都是相对于原图而言的。因为feature map和原图都是按比例放缩的(这也就解释了为什么图像下采样,要尽量保证feature map是整数倍,加padding),所以原图上的区域,在feature map上的区域也能定位到,也就能找到原图相应区域在当前卷积层的特征。另外,原图上我们是知道目标区域的,因此这些区域的lable也就是已经知道了。有了特征以后,并不是说这些default box就是我们要预测的目标,而是用得到的特征,在来回归真实的坐标,进行调整。prior box则是相对于default box而言的,default box是理论上可以提取的bbox,但是实际上这些bbox并不会都用上,实际用的bbox就是prior box。

1 回复 有任何疑惑可以回复我~
  • 提问者 xue109196 #1
    非常感谢老师的详细解答,但是还是不是很清楚,我后来看了SSD的论文,那个里面说coordinate是上下左右的offset,这我就理解了,这样算loss的时候scale和coordinate就都用上了,但是Faster-rCNN我还是不懂,可能这要是想完全搞懂还是要找时间啃一遍源码吧。而且我觉得找bbox的方法可能个人有个人的方法,虽然idea是同源的,具体实施还是有差别的吧。ps: YOLO v3貌似最后一版也没有用anchor这个机制。
    感谢老师的解答!
    回复 有任何疑惑可以回复我~ 2019-04-03 06:27:14
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信