作者:LSC 来源:投稿
编辑:学姐
「RCNN(Rich feature hierarcies for accurate object detection and semantic segmentation )」
「候选区域生成」: 一张图像生成1-2k个候选区域,采用选择性搜索(Selective Search)方法
「特征提取」: 对每个候选区域,使用深度卷积网络提取特征(CNN)
「类别判断」: 特征送入每一类的SVM分类器,判别是否属于该类
「位置精修」: 使用回归器精细修正候选框位置
将CNN引入目标检测的开山之作
每个候选框就是RoI(感兴趣的区域,region of interest)
选择性搜索,可以得到很多候选区
「ROI要warp到同样尺寸输入到CNN中」:
含有全连接层的CNN需要固定输入图片大小
因为卷积层和池化层需要经过Flatten后,才能与全连接相连。
在feature map上提取的ROI特征,这样就只需要在整幅图像上做一次卷积
「原始图像的ROI映射到特征图: 等比例去找」
ROI的在特征图上对应的特征区域的维度不满足全连接层的输入要求怎么办?
「设了SPP模块,统一了进入全连接层的输入」
三种尺寸池化,无视输入尺寸,输出(44+22+1*!)*256维度的特征
RCNN训练过程比较繁琐(需要训练SVM分类器,需要额外的回归器)
根据输入image,将ROI映射到feature map对应位置
将映射后的区域划分为相同大小的部件(sections, sections数量与输出维度相同)
对每个sections进行max pooling操作
「例子」
「ROI pooling」: 假设有一个88大小的feature map,一个ROI,以及输出大小为22。
(1)fine tuning(好的迁移模型)预训练的特征提取网络
(2)针对每个类别训练一个SVM分类器
(3)训练regressors对bounding-box进行回归
「解决训练步骤多的问题」:
将regressor放进网络一起训练,每个类别对应一个
用softmax代替原来的SVM分类器
设计多任务损失
「Proposal Grund Truth 回归后的框」
寻找一种关系使得输入原始的窗口P经过映射得到一个跟真实窗口G更接近的回归窗口。
(1)先做平移
(2)再做缩放
输入是某一层的特征图:
使用最小二乘法或者梯度下降法求解表达式
「使用相对坐标差」:
CNN具有尺度不变性,x1-p1=x2-p2显然不等
使用相对位移可以解决这个问题
「宽高比取对数」:
尺度缩放系数大于0,让自动学习的数能大于0,所以使用exp函数
IoU较大认为是线性变换
所以宽高必须近似相等,回归才准确。
(1)分类损失使用log损失
(2)位置回归损失使用
将整个检测过程整合到一个网络中,核心组件是RPN
其余部分和Fast RCNN基本一致
RPN的输入是主干网络后的特征图
Sliding window是使用3*3卷积
256-d特征向量是卷积后得到的(H*W)*256
2k: k个anchor是物体和背景的概率
4k: k个anchor的坐标(x,y,w,h)
「k个anchor是预先设计好的」
「Faster RCNN整体结构」
关注下方《学姐带你玩AI》
回复“卷CV”获取CV方向必读论文
(含10篇高分目标检测论文PDF)
码字不易,欢迎大家点赞评论收藏!