Faster R CNN
Faster R CNN
3 FASTER R-CNN
我们的Faster R CNN 由两个模块组成,第一个模块是 proposes regions 的全卷积网络,第二个是使用 proposed regions 的 Faster R CNN 检测器。
3.1 Region Proposal Networks
RPN以一个图像作为输入,并输出一组矩形object proposal 每个提案都有 客观的score,我们用一个完全卷积的我网络对这个过程进行建模。由于我们的最终目标是与faster r cnn 目标检测网络共享计算,我们假设这两个网络共享一组公共的卷积层。
为了产生proposal region 我们在最后一个共享卷积层输出的卷积特征图上滑动了一个小网络。该小网络采用输入卷积特征的 nxn 空间窗口作为输入。每个滑动窗口映射到一个低维特征。这个特征被输入到两个完全连接的同级层:一个boxes回归层, 一个box分类层。本文使用n=3,输入图像上的有效感受野很大。由于迷你网络以滑动的方式工作,全连接层是在所有空间位置共享的。该体系结构自然由nxn卷积层和两个1x1卷积层(分别用于reg和cls)实现。
3.1.1 Anchors
在每个滑动窗口位置,我们同时预测多个region proposal,其中每个位置最大可能方案数为k,因此reg层有4k输出编码k个框的坐标,cls输出2k分数,估计每个proposal region的的对象概率和非对象概率。
anchor位于滑动窗口的中心,默认情况下,我们使用3个尺度和3个纵横比,一共9个anchor,对于W×H的feature map 来说,一共有WHk个anchor。
Translation-Invariant Anchors
我们的方法保证了平移不变性。我们的方法有(4 + 2)× 9 维卷积输出层,因此我们的proposal 层的参数很少。
Multi-Scale Anchors as Regression References
我们的anchor解决了多尺度的挑战。对于多尺度,第一种,图像/特征金字塔的方法非常费时,如DPM,第二种,在feature map上使用多尺度的滑动窗口,使用不同的filter尺寸来训练不同长径比的模型。基于anchor的方法,依赖单一尺度的图像和feature map,并且使用单一大小的filter。可以很好的解决多尺度和大小问题。
3.1.2 Loss Function
我们给两种anchors指定正标签(1)与ground truth的IoU最高的anchor(2)IoU大于0.7的anchor,一个单一的ground truth 可以为多个anchor指定正标签。利用这些定义,我们对图像的loss函数定义为:
其中,pi时anchor作为一个对象的预测概率,如果anchor is positive,即IoU满足以上两个条件之一,那么ground truth 的标签值pi为1。ti是表示预测bounding boxes的4个坐标的参数,ti是与positive anchor 相关联的ground truth的向量。分类损失是两个类上的log loss,我们使用
R是robust loss function(smooth L1)。前面乘了p*i表示回归loss只对positive anchors激活,否则为0。
对于bounding box regression,我们采用以下4个坐标的参数化:
其中带* *号的是用于groud truth的坐标,不带 *号的是是anchor和predicted boxes,然而,我们实现bounding box 的方法不同于以往RoI的方法。在我们的公式中,用于回归的feature在feature map 上有相同的空间大小(3x3)。
为了解释不同的尺寸,学习了k个bounding box regressors,每个regressor负责一个尺度和纵横比,他们互相不共享权值。
3.1.3 Training RPNs
每一个mini-batch都是由一张图像产生的,它包含很多positive的anchor和negative的anchor,可以对所有anchor的loss函数进行优化,但这将偏向负样本,因为它们的量远大于正样本,所以,我们在图像中随机抽样256个anchor,其中采样的正样本和负样本比例为1:1,如果正样本不足128,则用负样本填充。
3.2 Sharing Features for RPN and Fast R-CNN
4-Step Alternating Training.
我们采用了一种使用的四步训练算法,通过交替优化学习共享特征,第一步,我们训练RPN,使用ImageNet预训练。第二步, 我们使用RPN产生的proposal region,通过快速R-CNN来训练一个单独的检测器网络,该网络进行预训练,此时,这两个网络不共享卷积层。第三步,我们使用检测器网络来初始化RPN训练,但是我们fix共享卷积层,只对unique layer of RPN进行微调,此时,这两个网络共享卷积层。第四步,保持共享卷积层的固定,我们微调unique layers of fast R-CNN。
还有一个更为简单的方法,就是end-to-end的训练方法,将RPN和Fast R-CNN结合起来一起训练。
补充RoI pooling
ROI pooling具体操作如下:
(1)根据输入image,将ROI映射到feature map对应位置;
(2)将映射后的区域划分为相同大小的sections(sections数量与输出的维度相同);
(3)对每个sections进行max pooling操作;
这样我们就可以从不同大小的方框得到固定大小的相应 的feature maps。值得一提的是,输出的feature maps的大小不取决于ROI和卷积feature maps大小。ROI pooling 最大的好处就在于极大地提高了处理速度。
参考:https://blog.csdn.net/AUTO1993/article/details/78514071
有一些实现细节,比如RPN网络得到的大约2万个anchor不是都直接给Fast-RCNN,因为有很多重叠的框。文章通过非极大值抑制的方法,设定IoU为0.7的阈值,即仅保留覆盖率不超过0.7的局部最大分数的box(粗筛)。最后留下大约2000个anchor,然后再取前N个box(比如300个)给Fast-RCNN。Fast-RCNN将输出300个判定类别及其box,对类别分数采用阈值为0.3的非极大值抑制(精筛),并仅取分数大于某个分数的目标结果(比如,只取分数60分以上的结果)
关于RPN:
https://blog.csdn.net/qq_36269513/article/details/80421990
关于nms:
https://www.cnblogs.com/makefile/p/nms.html
Faster R CNN相关推荐
- 经典神经网络 | Faster R-CNN论文解析
论文题目:Faster R-CNN: T owards Real-Time Object Detection with Region Proposal Networks 论文链接:https://ar ...
- 万字深度好文!视觉-语言(VL)智能:任务、表征学习和大型模型
来源:AI科技评论 编译:Jocelyn 编辑:陈彩娴 本文对视觉-语言(VL)智能按时间顺序进行了全面调研,并将这一领域的发展总结为三个阶段: 第一个阶段是2014-2018年,其间,专门的模型被设 ...
- 【AI视野·今日CV 计算机视觉论文速览 第162期】Fri, 27 Sep 2019
AI视野·今日CS.CV 计算机视觉论文速览 Fri, 27 Sep 2019 Totally 55 papers ?上期速览✈更多精彩请移步主页 Interesting: TODO(rjj): de ...
- 【AI视野·今日CV 计算机视觉论文速览 第160期】Wed, 25 Sep 2019
AI视野·今日CS.CV 计算机视觉论文速览 Wed, 25 Sep 2019 Totally 39 papers ?上期速览✈更多精彩请移步主页 Interesting: ?Interactive ...
- tensorflow 人面关键点识别_人工智能算法-图像识别项目
电缆缺陷检测 各省市电网,需要建立一套完善的电缆线部件缺陷检测的平台,为各省市的电缆线部件 缺陷提供智能化的解决方案,进一步确保电网系统的安全运行.现在有些省市的电网缺陷部 件的检测仍采用人工查缺的方 ...
- 万字深度好文!VL最强总结!
点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 本文转自AI科技评论 本文对视觉-语言(VL)智能按时间顺序进行了全面调研,并将这一领域的发展总结为三个阶段: 第一个阶段是2014 ...
- 【AI视野·今日CV 计算机视觉论文速览 第159期】Tue, 24 Sep 2019
AI视野·今日CS.CV 计算机视觉论文速览 Tue, 24 Sep 2019 Totally 67 papers ?上期速览✈更多精彩请移步主页 Interesting: ?基于层次点和边缘交互的网 ...
- 关于数学建模、机器学习与深度学习的思考
2016年5月,开始接触水利行业的洪水预警工作,然后就进入了数学建模的过程,进行洪水与降雨分析,后续经过了机器学习与深度学习的跑坑,对数学工具在现实工程进行作用进行总结. 数学建模:通过数学公式为手段 ...
- Learning Spatio-Temporal Transformer for Visual Tracking——精读笔记
本篇精读笔记,对原文重要部分做了严格翻译,如摘要和总结.对正文部分做了提炼,对重点部分突出标注.对参考文献做了分类.本文内容较长,如果时间有限可以直接跳到感兴趣的小节阅读. 论文地址:https:// ...
最新文章
- 为什么顶尖高手,都是长期主义者?
- 微前端在美团外卖的实践
- 算法-- 删除排序链表中的重复元素(Java)
- Windows核心编程 第九章 线程与内核对象的同步(下)
- CENTOS6.6下zabbix2.4.7搭建
- asp.net 图片 上传 打水印 高质量缩略图
- react(82)--方法写在effects里面
- kakfa怎么看消息是否堆积_纯种哈士奇多少钱一只,怎么看是否是纯种哈士奇
- python3 os_Python3 标准库:os
- Filter过滤器链(多个过滤器)
- Node.js+windows
- 太赞了!终于有人把怎么在IDEA中使用Java热部署插件JRebel讲清楚了...
- angular4之管道
- html语言单个单元格背景颜色,html如何设置表格和单元格的背景颜色
- cba比赛比分预测_昨日预测CBA一红一黑,今日继续给大家带来CBA全部比赛4场
- Eclipse中Folder和SourceFolder
- 制造业必须应用RPA的十大环节
- 不用手机的群控,什么原理
- CSS overflow的几种属性值
- Shiro的 rememberMe 功能使用指导(为什么rememberMe设置了没作用?)