理解Anchor、RPN真值与预测量、RPN卷积网络
RPN部分的输入、输出如下:
- 输入:feature map、物体标签、即训练集中所有物体的类别与边框位置
- 输出:Proposal、分类Loss、回归Loss,其中,Proposal作为生成区域,供后续模块分类与回归。两部分损失用作优化网络
理解Anchor
Anchor本质是在原图大小上的一系列的矩形框,但Faster RCNN将这一系列的矩形框和feature map进行了关联。具体做法是,首先对feature map进行3×3的卷及操作,得到每一个点的维度时512维,这512维的数据对应着原始图片上很多不同的大小与宽高区域的特征,这些区域的中心点都相同。如果下采样率为默认的16,则每一个点的坐标乘以16即可得到对应的原图坐标
为适应不同物体的大小与宽高,在作者的论文中,默认在每一个点上抽取了9种Anchors,具体Scale为{8,16,32},Ratio为{0.5,1,2},将这9种Anchors的大小反算到原图上,即得到不同的Proposal,如下图所示。由于feature map大小为37×50,因此一共有37×50×9=16650个Anchors。而后通过分类网络与回归网络得到每一个Anchor的前景背景概率和偏移量,前景背景概率用来判断Anchor是前景的概率,回归网络则是将预测偏移量作用到Anchor上使得Anchor更接近于真实物体坐标
RPN的真值与预测量
对于物体检测任务来讲,模型需要预测每一个物体的类别及其出现的位置,即类别、中心点坐标x与y、宽w与高h这5个量。由于有个Anchor这个先验框,RPN可以预测Anchor的类别作为预测边框的类别,并且可以预测真实的边框相对于Anchor的偏移量,而不是直接预测表框的中心点坐标x与y、宽高w与h
举个例子,如下图所示,输入图像中有3个Anchors与两个标签,从位置来看,Anchor A、C分别和标签M、N有一定重叠,而Anchor B位置更像是背景
首先介绍模型的真值。对于类别的真值,由于RPN只负责区域生成,保证recall,而没必要细分每一个区域属于哪一个类别,因此只需要前景与背景两个类别,前景即有物体,背景则没有物体
RPN通过计算Anchor与标签的IoU来判断一个Anchor是属于前景还是背景。IoU的含义是两个框的公共部分占所有部分的比例,即重合比例。在上图中,Anchor A与标签M的IoU计算公式如下所示
当IoU大于一定值时,该Anchor的真值为前景,低于一定值时,该Anchor的真值为背景
然后是偏移量的真值,仍以Anchor与标签M为例,假设Anchor A的中心坐标为x_a与y_a,宽和高分别为w_a与h_a,标签M的中心坐标为x与y,宽高分别为w与h,则对应偏移真值计算公式如下式:
位置偏移t_x与t_y利用宽与高进行了归一化,而宽高偏移t_w与t_h进行了对数处理,这样的好处是进一步限制了偏移量的范围,便于预测
有了上述真值,为了求取损失,RPN通过卷积网络分别得到了类别与偏移量的预测值,具体来讲,RPN需要预测每一个Anchor属于前景与背景的概率,同时也需要预测真实物体相对于Anchor的偏移量,记为t*_x、t*_y、t*_w和t*_h
另外,在得到预测偏移量后,可以使用下面的公式将预测偏移量作用到对应的Anchor上,得到预测框的实际位置x*、y*、w和h
如果没有Anchor,做物体检测需要直接预测每个框的坐标,由于框的坐标变化幅度大,使网络很难收敛与准确预测,而Anchor相当于提供了一个先验的阶梯,使得模型取预测Anchor的偏移量,即可更好地接近真实物体
实际上,Anchor是我们想要预测属性的先验参考值,并不局限于矩形框。如果需要,我们也可以增加其它类型的先验,如多边形框、角度和速度等
RPN卷积网络
为了实现上述的预测,PRN搭建了如下图所示的网络结构。具体实现时,在feature map上首先使用3×3的卷积进行更深的特征提取,然后利用1×1卷积分别实现分类网络和回归网络
在物体检测中,通常我们将有物体的位置称为前景,没有物体的位置称为背景。在分类网络分支中,首先使用1×1卷积输出18×37×50的特征,由于每个点默认有9个Anchors,并且每个Anchor只预测其属于前景还是背景,因此通道数为18。然后利用torch.view()函数将特征映射到2×333×75,这样第一维仅仅是一个Anchor的前景背景得分,并送到Softmax函数中进行概率计算,得到的特征再变换到18×37×50的维度,最终输出的是每个Anchor属于前景与背景的概率
在回归分支中,利用1×1卷积输出36×37×50的特征数,第一维的36包含了9个Anchors的预测,每一个Anchor有4个数据,分别代表了每一个Anchor的中心点横纵坐标及宽高这4个量相对于真值的偏移量
理解Anchor、RPN真值与预测量、RPN卷积网络相关推荐
- 论文理解 R-FCN:基于区域的全卷积网络来检测物体
本文转载自: http://blog.csdn.net/shadow_guo/article/details/51767036 原文标题为"R-FCN: Object Detection v ...
- 【AI每日播报】首次超越LSTM : Facebook 门卷积网络新模型能否取代递归模型
传送门:http://geek.csdn.net/news/detail/131423 资讯 DeepMind与帝国理工学院医院合作 获得100万患者数据 蚂蚁金服联合互联网协会发布智慧城市白皮书 北 ...
- 怎么理解anchor?
前言:这是知乎:faster rcnn中rpn的anchor,sliding windows,proposals之间的联系是什么?问题下的一个回答,这个回答首先解决了anchor是什么(what)的问 ...
- 用 Pytorch 理解卷积网络
点击上方"视学算法",选择"星标"公众号 重磅干货,第一时间送达 原标题 | CONVOLUTIONAL NEURAL NETWORKS EXPLAINED: ...
- 深度学习卷积网络中反卷积/转置卷积的理解 transposed conv/deconv
搞明白了卷积网络中所谓deconv到底是个什么东西后,不写下来怕又忘记,根据参考资料,加上我自己的理解,记录在这篇博客里. 先来规范表达 为了方便理解,本文出现的举例情况都是2D矩阵卷积,卷积输入和核 ...
- 图卷积网络进行骨骼识别代码_【骨骼行为识别】2s-AGCN论文理解
Two-Stream Adaptive Graph Convolutional Networks for Skeleton-Based Action Recognition 论文链接: https:/ ...
- tictoc正方形网络模型_反卷积:可视化并理解卷积网络
可视化与理解卷积网络的探讨 卷积网络模型自问世以来,对AI技术的发展起了很大的推动作用.但其复杂的模型结构,庞大的参数规模也给模型优化带来很多问题.如果问某个参数的值问什么是3而不是6,很难得到有根据 ...
- PaddlePaddle训练营——公开课——AI核心技术掌握——第2章机器能“看”的现代技术——源自视觉神经原理的卷积网络简介及深入理解
源自视觉神经原理的卷积神经网络简介 基于人们对于生物视觉的研究,科学家们给出了在计算机视觉中的具备良好表现的卷积神经网络模型. 卷积神经网络发展概况 1.在这个结构中可以使用反向传播来训练权重. 2. ...
- 深入理解——亚像素 / sub-pixel、亚像素卷积
目录 1.1 亚像素理解 1.2 何谓亚像素? 1.3 何谓亚像素精度? 摘要: 2 图像处理中的sub-pixel是什么意思? 3 PixelShuffle(像素重组) 1.1 亚像素理解 在相机成 ...
最新文章
- html5 %3cul 标签,index.html
- matlab图形绘制经典案例,MATLAB经典教程第四章_图形绘制.ppt
- 强大的grep命令使用经验
- SQL培训内容转之wantin6(收藏)
- couldn't connect to server 127.0.0.1:27017 src/mongo/
- python sqlserver api连接池_非常老的话题 SQLSERVER连接池
- Adobe Reader 背景色修改
- opengl加载显示3D模型CSM类型文件
- 直线分割平面(动态规划递推)
- 被嘲“狗都不如”的那个人,年入1000万了
- PHP系统学习3 正则
- 运维人必知必会的Zabbix核心命令
- 末日帝国——Agile公司的困境 (5)
- Storm目录树、任务提交、消息容错、通信机制
- wincc用c语言弹出确认窗口,wincc怎样弹出确认窗口?
- 批量下载wsdl文件
- python turtle 绘制北京天安门
- 计算机主板性能参数,影响电脑性能的硬件参数之主板
- 只需一张自拍,网易伏羲用这种方法直接生成「个人专属」游戏角色
- 形态学-----细化