RPN网络通俗理解

RPN网络通俗理解【提特征】RPN网络前面是一个提特征的网络,比如VGG,Res等,传给RPN网络的是一个特征图,其实也就是一个tensor比如用ZF网络(论文里面用的)输出特征图:13*13*256【RPN】拿到模型的特征,RPN网络首先加了一个3*3*256*256的卷积层(其实不是很清楚为什么加,可能是为了扩大感受野)这样就会得到11*11*256的输出,前面11*11是图形矩阵,其中每一个点在原图中都是一个…

大家好,又见面了,我是你们的朋友全栈君。

【提特征】

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

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

输出特征图:13*13*256

【RPN】

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

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

RPN网络通俗理解

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

这是为啥呢?

先看下面这个图

RPN网络通俗理解

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

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

【如何训练】

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152299.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号