【CV 目标检测】Fast RCNN模型②——算法流程
Fast RCNN 算法流程
(1)算法流程
- 候选区域生成:使用选择性搜索的方法找出图片中可能存在目标的候选区域,只需要后续按区域的位置信息
- CNN网络特征提取:将整张图像输入到CNN网络中,得到整幅图的特征图,并将上一步获取的候选区域位置从原图映射到该特征图上
- ROIpooling:对于每个特征图上候选框,ROIpooling层从特征图中提取固定长度的特征向量,每个特征向量被送入一系列全连接层(fc)中
- 目标检测:分两部分完成,一个输出各类别加上1个背景类别的Softmax概率估计,另一个为各类别的每一个类别输出四个实数值,来确定目标的位置信息。
A、候选区域生成
同RCNN中一样
B、CNN网络特征提取
与RCNN中一样,使用预训练模型进行特征提取
C、ROI Pooling
候选区域从原图映射到特征图中后,进行ROIpooling的计算
ROI Pooling层使用最大池化将输入的特征图中的任意区域(候选区域对应的区域)内的特征转化为固定的H×WH\times WH×W的特征图,其中HHH和WWW是超参数。对于任意输入的h×wh\times wh×w的候选区域,将其分割为H×WH\times WH×W的子网格,每个网格的大小为:(hH)×(wW)(\frac{h}{H})\times (\frac{w}{W})(Hh)×(Ww),取每个子网格中的最大值,送入后续网络中进行处理
使用ROI Pooling层替换预训练网络中最后的池化层,并将超参H,WH,WH,W设置为和网络第一个全连接兼容的值,例如VGG6,设H= W= 7
D、目标分类和回归
(最后一个全连接层)
原网络的最后一个全连接层替换为两个同级层(分类任务和回归任务):K+1个类别的SoftMax分类层和边框的回归层
● K:VOC数据集中为20;COCO数据集中为80
● +1:多了一个背景层
上面红框中的为同一个FC层(边框的回归层实现——输出四个实数值,用来确定位置信息)