1.针对于之前提到的问题,我们提出新的网络形式Fast R-CNN,这个模型主要的改进点体现在两个方面(此外为了加速和提升精度还有两个技巧,分别是边框回归和全连接层加速):
*针对速度较慢的问题,在SPP-net基础上对SPP方式进行简化为Rol pooling方法,本质是SPP形式的特例,是可以自定义的单尺度(感兴趣池化层 ROI pooling layer,ROI是感兴趣区域的意思)。
*针对复杂的多阶段训练问题,引入多任务学习的思想,将多个步骤整合到一个CNN模型中去(使用多任务损失函数Multi-task loss),这样可以简化训练,加快训练过程。
比较生动的体系展示是下图的形式,蓝框是对之前替代的池化方式,绿色是多任务的合并,对比来看发现所有任务都使用一个统一的CNN网络完成了。
2.先看下fast RCNN的整体架构吧,左图训练过程和右图测试过程是有些不同(之前的也都是这样的),框架比较清晰是训练过程,可以明显的看到经过 统一经过卷积操作生成特征图->SS方法提取ROI区域->RoI pooling->分类器和回归模型生成结果->统一计算误差相加并优化训练的过程。
可以发现在测试部分是使用了非极大值抑制,针对每一类根据IOU得分进行冗余的去除,因为要生成最后的框所以用非极大值抑制,而一般的训练