技术笔记

目标检测-两阶段模型

目标检测两阶段模型-FasterRCNN.

目标检测是计算机视觉中的一个典型的任务,对于一张输入的图片,输出为(1,num_boxs, 4+1+numclass)大小的结果,分别代表不同的方框,方框的坐标(维度为4),是否是前景,以及对应的类别体系的概率值。目标检测模型一般分为两大类,两阶段模型和单阶段模型,其中区分主要是按照是否需要有锚框的生成。fasterrcnn 是典型的两阶段模型,其生成锚框,因此特征具有区域性特征,也常用来生成图片的特征表示,用来进行后续的任务,比如VQA 和图像描述。

Faster rcnn 中的计算主要流程如下:输入图片,经卷积特征层得到feature map; 再经过RPN(region propoals net) 得到候选锚框,然后基于锚框获取feature map 上对应的特征,在经过ROI(region of interest) 池化方式将特征图池化到相同的大小后,再输入到分类层进行目标框和类别的输出。

骨干网络:采用一般的卷积网络 AlexNet, ZFNet, googleNet, BGGNet, ResNet等等,一般会采用其预训练模型来初始化参数。

RPN网络:对于得到的feature map 先采用滑窗的方式生成指定长度k的特征,然后再连接两个分类器,进行背景判断(cls)和锚框坐标回归预测(reg). 其中cls 分类器输出的特征为 29K,reg的分类器输出的特征为 49k。 其中的9 主要是3中尺度(128,256,512) 以及三种长宽比例(1:1,1:2,2:1)组成的锚框。经过分类器输出后,会采用极大值抑制(NMS)进行锚框的清洗,遍历去掉重合度较高的锚框(IOU).

ROI池化:类似于SSPnet 的功能,该部分主要是将锚框对于的feature map 矩阵池化到相同的大小,从而进行后续的线性层box坐标回归以及类别预测。由于ROI池化的时候进行了多次的量化计算(比如量化到7*7)导致有一定的量化误差,因此也有提出基于线性插值的方式来进行制定特征图的计算。

分类层:进行box坐标的回归和目标类别的预测。

其它内容:IOU 和MAP

训练样本:在训练时注意正负样本的选择

误差计算:分类损失和边框回归损失,平移变换和缩放变换

  • 深度学习

← 返回技术笔记