Region Proposal Networks(RPN)(Faster R-CNN) 作者:马育民 • 2020-05-18 16:45 • 阅读:10391 # 介绍 Region Proposal Networks,简称RPN,在 《Faster R-CNN》 论文中首次提出,此后在很多目标检测算法中,都应用了 RPN - RPN 是 Faster R-CNN 的核心 - full convolutional network 全卷积神经网络,没有全连接层,输入的图片不需要调整相同大小 - end-to-end ### 为什么提出 RPN 在R-CNN、Fast R-CNN中,使用 selective search 算法选取候选框,但效率慢,没有发挥卷积神经网络的优势。 > selective search ,非深度学习算法,无法用GPU 参见:https://www.malaoshi.top/show_1EF5YEscPZ4F.html 借鉴 SPP ,提出 Region Proposal Networks (RPN) ,替代 selective search 算法 ### 作用 将图像中 可能存在物体 的区域 *选取出来(框起来)* # 名词解释 ##### region proposal 可能有物体的区域,一般称为:候选框,候选区域 ##### Region of Interests(ROI) 同 region proposal,可能有物体的区域,一般称为:感兴趣的区域 ##### anchor box 锚框,下面有详细介绍 ##### bounding boxes 边框 ##### ground truth 真实值,真实标签,在目标检测中,指训练数据集中,图片上标出物体的边框坐标、边框长宽尺寸 如下图是VOC2007数据集中的图片,标出两只猫的边框坐标、边框长宽尺寸 [![](https://www.malaoshi.top/upload/0/0/1EF5YgjDqE6h.png)](https://www.malaoshi.top/upload/0/0/1EF5YgjDqE6h.png) # 步骤 1. 预处理图片 2. RPN网络模型 2. 卷积操作 # 预处理图片 一般将图片的 **短边** 缩放到 600 像素,**长边** 等比例缩放 # RPN网络模型 ### 第一部分 使用 全卷积神经网络,卷积层可以与Faster R-CNN目标检测网络共享计算 由于没有全连接层,所以输入图片的尺寸不需要相同 在论文中,使用 ZFNet(5个卷积层) 和 VGG16(13个卷积层) 做研究 ???????也可以使用 ResNet ### 第二部分 在输出的特征图上,使用 `nxn`(论文中n=3)的卷积核进行卷积,每个滑动窗口都映射到一个低维特征(ZF为256-d,VGG为512-d,ReLU)。 再输入到两个全连接层(又`1x1`的卷积核代替,见下面)——一个box-regression layer(reg)和一个box-classification layer(cls)。 注意到输入图像上的有效接收场很大(ZF和VGG分别为171和228像素)。 这个小型网络如下图: [![](https://www.malaoshi.top/upload/0/0/1EF5YWpynSui.png)](https://www.malaoshi.top/upload/0/0/1EF5YWpynSui.png) **注意**:由于小型网络以滑动窗口的方式运行,所有空间位置共享完全连接的层,所以由一个n×n卷积层和两个`1×1`卷积层(分别用于reg和cls)构成。 ### 输出结果 输出一组矩形的候选区域 如果该候选区域有物体,标出该区域的位置 # anchor box 参考框(reference boxes),在论文中称之为:anchor 锚 在Faster R-CNN中首次提出,之后多个目标检测算法中都有用到,如:SSD、YOLOv2、YOLOv3等 目的:为了检测 **多个**、**不同尺寸** 的物体 ### 3种面积 和 3种长宽比 论文中,**特征图** 中每个像素点有 3 种面积:`8^2,16^2,32^2` 3种长宽比:`1:1,1:2,2:1` 3种面积,每个面积有3种长宽比,所以:特征图中每个像素点都有 9 个anchor box 特征图大小为包含`w*h`(一般是2400)像素点,共有 `w*h*9`(21600)个anchor box ### 将 anchor box 映射到输入图像 在 VGG16 神经网络中,输入图像和输出特征图的比例是16:1,也就是说:特征图中的一个像素点,映射到原图中是`16x16`大小的区域 特征图中每个像素点 9个anchor box,映射到原图上,其中 3 种面积的anchor box,映射到 输入图 的面积:`(8*16)^2,(16*16)^2,(16*32)^2`,即:`128^2,256^2,512^2` 如下图(为了简单,特征图与输入图的比例是1:2): [![](https://www.malaoshi.top/upload/0/0/1EF5Yi5dloGx.png)](https://www.malaoshi.top/upload/0/0/1EF5Yi5dloGx.png) ### 多尺寸锚作为回归参考 用多尺寸和长宽比的 anchor box 对 bounding boxes 进行分类和回归。它只依赖于单一尺度的图像和特征图,使用单一尺度的滤波器 ### 忽略超过边界的 anchor box 左图是特征图,右图是输入图像,像这种超出边界的 anchor box,忽略掉,否则训练不会收敛 [![](https://www.malaoshi.top/upload/0/0/1EF5YibijtGW.png)](https://www.malaoshi.top/upload/0/0/1EF5YibijtGW.png) 对于典型的 `1000×600` 的输入图像,特征图大约是`60x40`,总共将有大约20000(≈60×40×9)个anchor box,忽略超过边界的 anchor box 后,约有6000个 anchor box 用于训练 ### 其他 记录 anchor box与GT box中心点坐标 只选用256个样本,大于0.7,小于0.3各占一半 # Loss Function 输出一组矩形的候选区域,每个候选区域有一个 分值,该分值表示是否有物体,大于 0.7 表示有物体,小于 0.3 表示没有物体, 0.3 ~ 0.7 忽略掉 如果有物体,标出该区域的位置 [![](https://www.malaoshi.top/upload/0/0/1EF5YgtpCu9v.png)](https://www.malaoshi.top/upload/0/0/1EF5YgtpCu9v.png) # Training RPNs 梯度下降:SGD # 实现细节 ### 预测出跨边界的建议框 可能会预测出跨边界的建议框(proposal boxes),将其剪裁到图像边界,如下图左侧部分要裁减掉 [![](https://www.malaoshi.top/upload/0/0/1EF5Yj8gYZ3p.png)](https://www.malaoshi.top/upload/0/0/1EF5Yj8gYZ3p.png) ### IoU 将 输入图像 上的 anchor box 与 ground truth 做 [IoU](https://www.malaoshi.top/show_1EF5ByInKAqL.html "IoU"),大于 0.7 表示有物体,小于 0.3 表示没有物体, 0.3 ~ 0.7 忽略掉 ### NMS 将 [NMS](https://www.malaoshi.top/show_1EF5Z1kR0Jyq.html "NMS") 的IoU阈值定为0.7,这样每幅图像大约有 2000个 建议区域。 NMS不会减少最终的检测精度,而且会大大减少 region proposal 的数量。 ### top-N 在NMS之后,将排名前N的 region proposal 进行检测。 ### 训练 和 测试 - 由于数据量较多,一张图片有n个anchor box等相关信息,所以训练时,是一张一张图片训练 - 使用2000 RPN pro-posals训练 Fast R-CNN,但是在测试时用不同数量的 region proposal # 废弃 为了得到更大的交并比(intersection over union, IOU)。 例子:以训练阶段为例。 对于计算机视觉,比较容易理解的是真实标签(ground truth),人为为每个目标标记的标签。但是在加入anchor box思想之后,在训练集中,我们将每个锚框视为一个训练样本。因此,为了训练目标模型,需要标记每个anchor box的标签,这里的标签包括两个部分: 1. 类别标签 2. 偏移量 有多个anchor box,到底该选取哪一个呢?这是就要通过 [交并比](https://www.malaoshi.top/show_1EF5ByInKAqL.html "交并比") 进行选择。试想一下,如果用一个固定尺寸的anchor,那么对于anchor的标记就没有了针对性。 感谢: https://blog.csdn.net/Boys_Wu/article/details/102703710 https://zhuanlan.zhihu.com/p/31530023 原文出处:http://malaoshi.top/show_1EF5Z1wlCIaE.html