背景
deep ConvNet兴起,VGG16应用在图像分类任务上表现良好,本文用VGG16来解决检测任务。SPP NET存在CNN层不能fine tuning的缺点,且之前的方法训练都是分为多个阶段,特征提取+SVM分类+边框回归,这些问题在Fast R-CNN上都得到了解决。
方法
网络模型采用VGG16结构,跟SPP NET相比有如下改进。
ROI pooling
将最后的max pooling层换成RoI pooling层,可以认为是SPP NET的特殊情况,只有一层金字塔,feature map被分为H*W个bin,作max pooling。
bbox regressor
网络末尾采用两个不同的全连接层,分别输出分类和位置结果,实现了end-to-end的训练过程。
CNNs参数更新
其实SPP NET也并不是不能更新CNNs的参数,只是这样开销太大,这是因为SPP NET先是将一堆图片的ROI求出来,打乱后随机取N张训练,这些ROI可能来自于很多不同的图片,这样如果要进行反向传播,必须保存这些图片训练中各层的feature map,开销巨大;Fast R-CNN采用了分层的思想,只在R=2张原图中取N个ROI,这样只用计算存储两张图片,开销大大降低。
总结
是在SPP NET的基础上做出的改进,让训练过程变成end-to-end,整个网络的参数都能更新。
缺点
ROI的提取采用的还是SS方法。