概述
RCNN, Fast RCNN, Faster RCNN,针对每一分类做proposal regression,都是与类别相关的。
Faster RCNN的bbox,第一次粗回归,只有前景、背景2类,第二次位置精修就有n类(n可以是20,80等)类别更多、回归也更精细。
RCNN
算法步骤
- 一张图像生成1K~2K个候选区域
- 对每个候选区域,使用深度网络提取特征
- 特征送入每一类的SVM 分类器,判别是否属于该类
- 使用回归器精细修正候选框位置
位置精修
回归器
针对每一类目标,使用一个线性脊回归器进行精修。正则项λ=10000λ=10000。
输入为深度网络pool5层的4096维特征,输出为xy方向的缩放和平移。
训练样本
判定为本类的候选框中,和真值重叠面积大于0.6的候选框。
Fast RCNN
算法步骤
- 图像归一化为224×224直接送入网络。使用SS生成候选区域
- 一张图像进入深度网络提取特征
- 在特征图上框出候选区域作为输入,通过ROI pooling统一为NXM大小
- 用深度网络分类和位置精修
位置精修
回归器
针对每一类目标,使用深度网络回归。
Faster RCNN
算法步骤
- 使用深度网络提取特征
- 使用RPN网络生成proposal
- 此处相当于Fast RCNN网络。以RPN的输出作为输入,进行分类和位置精修
位置精修
回归器
针对每一类目标,使用深度网络回归。
RPN结构
共享特征
Fast R-CNN框架与R-CNN有两处不同:
① 最后一个卷积层后加了一个ROI pooling layer;
② 损失函数使用了multi-task loss(多任务损失)函数,将边框回归直接加到CNN网络中训练。分类Fast R-CNN直接用softmax替代R-CNN用的SVM进行分类。
Fast R-CNN是端到端(end-to-end)的。
损失函数
RCNN, Fast RCNN的回归损失函数都是:
RCNN
总损失函数:
分类交叉熵+回归损失函数
Fast RCNN
总损失函数
1. CLS使用对数损失函数
2. REG使用Smooth L1损失函数
Faster RCNN
multi-task loss
其中,
其他:
RPN网络的输入可以是任意大小(但还是有最小分辨率要求的,例如VGG是228*228,这是因为图像的有效感受野很大,ZF是171像素,VGG是228像素)的图片
参考:
https://blog.csdn.net/shenxiaolu1984/article/details/51066975
https://blog.csdn.net/shenxiaolu1984/article/details/51036677
https://blog.csdn.net/shenxiaolu1984/article/details/51152614
https://www.cnblogs.com/bile/p/9117253.html
最后
以上就是飞快眼睛为你收集整理的RCNN系列的box regression及其他的全部内容,希望文章能够帮你解决RCNN系列的box regression及其他所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复