Fast R-CNN详解
Fast R-CNN的改进
Fast R-CNN相较于R-CNN来说改进了以下三点:
1.基本实现了模型的end-to-end(除了还是需要用Selctive Search来生成2K个候选区域外)。
2.不在将每个候选区域放入CNN中计算特征,而是直接输入原图得到原图的全部特征(只进行一次CNN)。
3.将候选框的回归和分类问题同时进行输出,而不需要分别训练SVM和回归器。
Fast R-CNN的基本框架
Fast-RCNN依旧基于VGG16,首先输入的图片resize为224*224后放入CNN网络提取特征(5个卷积层和2个降采样层)
VGG16网络结构:
作者在第五个卷积层提取特征,并加上Selective Search产生的2K个ROI,通过ROI pooling层将这些ROI调整为固定维度,再通过两个output都是4096的全连接层后,将输出分为分类和回归两块,在分类模块中,输出通过一个output为21的全连接层(21表示20个类和一个背景)和一个softmax层,在回归模块中,输出通过一个output为48的全连接层(48表示各个类别region proposal的四个坐标)和SmoothL1Loss层。
问题
1.在RCNN中我们使用Selective Search在原图中获取ROI,并通过CNN提取特征,在Fast R-CNN中我们先将原图通过CNN提取特征,那么如何在feature map中获取ROI的对应区域?
2.如何将不同维度的ROI转换为相同维度?
解答1
x ′ = ⌊ x / S ⌋ + 1 x' = ⌊x/S⌋+1 x′=⌊x/S⌋+1,其中⌊⌋为向下取整符号, x