目标检测单阶段、双阶段检测框部分学习总结

目录

一、单阶段目标检测(以yolov5为例)

1、anchor的引入及产生

2、anchor与gt的匹配机制

3、后处理NMS机制

二、双阶段目标检测(以faster rcnn为例)

1、RPN(Region Proposal Networks)的引入

2、RoI Pooling


一、单阶段目标检测(以yolov5为例)

1、anchor的引入及产生

(1)不同尺度的anchor的作用?——yolov5中有三种不同尺度anchor共9个,在三个Detect层(3个不同尺寸地feature map)使用,每个feature map的每个grid cell都有三个anchor进行预测,对于不同特征图使用不同的anchor从而检测不同大小的目标:尺度越大的feature map,其下采样率小,感受野小,所以可以预测尺度相对比较小的物体,因此分配的anchor越小,反之亦然。如此便可以在小特征图上检测大目标,也可以在大特征图上检测小目标。

(2)为什么要引入anchor?——anchor box其实是对预测的对象范围进行约束,有助于模型快速收敛。

(3)anchor怎样产生?——通过Kmeans聚类计算得到anchor,引入先验信息,相当人为地告诉网络检测框的搜索范围,减少“胡乱”搜索,从而提高网络的收敛速度。

2、anchor与gt的匹配机制

(1)为什么需要将anchor与gt进行匹配?——yolov5方法通过聚类得到的是9对先验anchor,但这其中的某些anchor也许与gt框相差较大,不适合全部用来预测gt,因此便需要与gt框进行匹配。

(2)如何匹配?——不仅仅如果对象的中心位置是在某个grid里,这个gird的预测结果就要对这个对象负责,而且还要利用离该gt框较近的两个grid来预测gt(yolov3只用了一个锚点对应产生的anchor,与yolov3相比,yolov5多利用两个锚点产生的anchor来对gt框进行预测)【跨网格匹配策略】。采用shape匹配规则,如果anchor与gt框的宽高比满足一定条件,则匹配成功,即可以利用这些anchor来预测gt框,否则说明不是合适的anchor,则将anchor当背景过滤。

3、后处理NMS机制

NMS对所有的类别分别执行。比如假设最后预测出的矩形框有2类,在NMS之前,每个类别可能都会有不止一个bbx被预测出来,这个时候我们需要对这两个类别分别执行一次NMS过程。

单阶段目标检测的检测框机制就是直接利用anchor来预测检测框,不用提取中间“候选区域”出来。

二、双阶段目标检测(以faster rcnn为例)

1、RPN(Region Proposal Networks)的引入

(1)RPN中的anchor:特征图中的每个红色框的中心点都可以对应到原图的某个点,原图中的这个点被称为锚点,每个锚点都会以它为中心点选择9个不同大小和长宽比例的框(w:h=1:1;1:2;2:1)作为RPN需要评估的anchor。

(2)RPN的目标:RPN的目标就是对原图中的每个锚点对应的9个框,判断他是否是一个存在目标的框,即对anchors是否包含目标进行二分类,包含则为positive,否则为nagative,得到的positive anchors相当于初步提取了检测目标候选区域box(“region proposal”),然后对预测为region proposal的框回归位置偏移量,使得对这个anchor box修正后与ground truth的重叠度尽可能高,修正后的框作为真正的region proposal。

(3)Proposal layer的作用:综合每个anchor用于回归的四个变换量以及positive anchors,计算出精精准的proposal,也就是把(2)中的分类和回归结果综合一下计算用于送入后续RoI Pooling Layer的proposal。由于送入进来的anchor实在是太多,需要进行一些处理:①按照positive softmax scores的高低排序,提取前N个anchor②限定超出图像边界的positive anchors为图像边界,防止后续roi pooling时proposal超出图像边界③剔除尺寸非常小的positive anchors④对剩余positive anchors进行NMS。

2、RoI Pooling

(1)RoI Pooling层的作用:收集proposal,并结合feature map计算出proposal feature maps送入后续网络。其有两个输入:①原始的feature map②RPN输出的proposal boxes。

双阶段目标检测的检测框机制需要利用RPN网络“粗略”提取“region proposal”,然后送入到后续阶段进行精确的分类和回归。

(如有错误,欢迎指出~)

你可能感兴趣的:(目标检测,深度学习,人工智能)