【目标检测经典算法】R-CNN、Fast R-CNN和Faster R-CNN详解系列三:Faster R-CNN图文详解

【目标检测经典算法】R-CNN、Fast R-CNN和Faster R-CNN详解系列二:Fast R-CNN图文详解

概念预设

感受野

感受野(Receptive Field) 是指特征图上的某个点能看到的输入图像的区域

  • 神经元感受野的值越大表示其能接触到的原始图像范围就越大,也意味着它可能蕴含更为全局,语义层次更高的特征;
  • 值越小则表示其所包含的特征越趋向局部和细节。

在论文中,ZF网络特征图中 3 ∗ 3 3*3 3∗3的滑动窗口在原图中的感受野为 171 ∗ 171 171*171 171∗171

RPN

框架

Faster R-CNN不再需要SS算法进行候选框的生成,而是使用RPN进行锚框的生成和筛选,可以和分类回归任务放在一起进行实现,是一个一阶段任务。

anchor box

什么是anchors

在图像上预设好的不同大小,不同长宽比的参照框。 论文中设定每个区域可以生成k个anchor box。

anchors的大小和比例

由于每个目标的大小不同,所以会预设的anchors的大小和长宽比也不同。

在论文中预设了3种不同的面积和3种不同的比例大小的anchors:

  • 128 ∗ 128 , 256 ∗ 256 , 512 ∗ 512 128*128, 256*256, 512*512 128∗128,256∗256,512∗512
  • 1 : 1 , 1 : 2 , 2 : 1 1:1, 1:2, 2:1 1:1,1:2,2:1

因此一共会有9个 anchors生成。

步骤

1. 滑动窗口

将图片输入网络得到相应的特征图后,将有一个3*3的滑动窗口 在特征图上进行滑动,每滑动到一个新的位置,就生成一个一维向量 (维度由所使用的backbone决定),在一维向量的基础上连接两个全连接层(cls layer和reg layer),获得2k个分类参数和4k个位置参数。

  • 2k: 正样本概率和负样本概率
  • 4k:4个需要回归的位置参数, d x d y d_x d_y dxdy:anchors的中心坐标的偏移量, d w d h d_w d_h dwdh:宽和高的调整参数

2. 生成anchor box

根据滑动窗口所在的特征图的中心点坐标以及特征图和原图的比例还原找到原图中所在位置的中心点坐标,然后根据原图所在位置的中心点坐标生成k个anchors(图中假设k=3),这些anchors中可能包含着需要检测的目标。

3. scores详解

一维向量通过 1 ∗ 1 1*1 1∗1、个数为2k的卷积核 可以生成2k个分类scores,通过 1 ∗ 1 1*1 1∗1、个数为4k的卷积核可以生成4k个分类scores。

生成的参数具体代表的含义如下图所示。

4. anchors的筛选

将大量生成的anchors进行筛选和删除,再通过NMS进行重叠的候选框,最后剩下大约2000个候选框(和SS算法生成的候选框数量差不多)

5. 正负样本的采样

正样本:

  1. 与标注框的iou值>0.7的anchors
  2. 与标注框的iou值最大的anchors

一般第一条就完全可以生成足够的标注框,但是为了防止所有的anchors与标注框的交并比都不大于0.7的特殊情况,则加上了第二个条件

负样本: 与所有的标注框的iou值都<0.3的anchors

总结

可以看到

相关推荐
余炜yw14 分钟前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
drebander21 分钟前
使用 Java Stream 优雅实现List 转化为Map<key,Map<key,value>>
java·python·list
莫叫石榴姐30 分钟前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
967732 分钟前
对抗样本存在的原因
深度学习
威威猫的栗子43 分钟前
Python Turtle召唤童年:喜羊羊与灰太狼之懒羊羊绘画
开发语言·python
如若1231 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib
YRr YRr1 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络
ChaseDreamRunner1 小时前
迁移学习理论与应用
人工智能·机器学习·迁移学习
Guofu_Liao1 小时前
大语言模型---梯度的简单介绍;梯度的定义;梯度计算的方法
人工智能·语言模型·矩阵·llama
我爱学Python!1 小时前
大语言模型与图结构的融合: 推荐系统中的新兴范式
人工智能·语言模型·自然语言处理·langchain·llm·大语言模型·推荐系统