RPN网络通俗理解

【提特征】

RPN网络前面是一个提特征的网络,比如VGG,Res等,传给RPN网络的是一个特征图,其实也就是一个tensor

比如用ZF网络(论文里面用的)

输出特征图:13*13*256

【RPN】

拿到模型的特征,RPN网络首先加了一个3*3*256*256的卷积层(其实不是很清楚为什么加,可能是为了扩大感受野)

这样就会得到11*11*256的输出,前面11*11是图形矩阵,其中每一个点在原图中都是一个很大的区域,256表示这个区域的特征,具体的计算不再讨论


厉害的一步来了,之后在这个卷积之后,各自接了两个全连接层,一个输出18,一个输出36

这是为啥呢?

先看下面这个图


上面我说的11*11,其中每一个点,也就是特征图上的每一个点其实在原图中都是一块很大的区域(不太清楚的再看看卷积),也就是上面的黑框,在这个区域内可能有目标,为了能更能逼近目标,我们需要3种尺度,和3种形状。3*3=9,就是图中的那9种物体框。假设原图中有一个物体,那我们通过在原图上平移黑框,就总能找到一个颜色框能正好把物体框在里面(真是厉害这想法),而且尺度啊形状最接近。

那么如何平移的呢?在原图上你一个像素一个像素平移没意义啊,难道要重复提取特征?所以平移必须在特征图上平移,因为特征图最后总能映射回原图。11*11的特征图区域,在原图中就表示11*11个大黑框,每个大黑框里面又有9个小颜色框,这样就会产生11*11*9个不同位置,不同尺度,不同形状的物体框,基本足够框出所有物体了。

【如何训练】

损失函数参考这篇文章,等我代码熟了直接上代码

https://blog.csdn.net/wfei101/article/details/77150573

猜你喜欢

转载自blog.csdn.net/emiedon/article/details/79669303
RPN
今日推荐