目录
一、概括
在前面两篇帖子《R-CNN》和《Spatial Pyramid Pooling》中,我们知道R-CNN和SPP在当时的目标检测领域绝对是被研究的热门,虽然也存在很多的不足,随着对网络结构的优化,和一些深度学习技巧的使用,于是Fast R-CNN就诞生,并迅速替代了前面的方法,相对于R-CNN与SPP-net,Fast R-cnn的主要亮点有:Fast R-CNN将借助多任务损失函数,将物体识别和位置修正合成到一个网络中,不再对网络进行分步训练,不需要大量内存来存储训练过程中特征的数据;用RoI层代替SPP层,可以使用BP算法更高效的训练更新整个网络。现在,这些方法已经很少使用了,但是经典的网络中涉及到的框架结构搭建,训练与优化等技巧还是值得我们去学习。
二、Fast R-cnn框架介绍
框架介绍:一张包含多个RoI(regions of interest)的图片(上图便于说明只显示一个RoI,灰色部分)输入一个多层的卷积网络中,获得Conv feature map,然后每一个RoI被池化成一个固定大小的feature map,feature map被全连接层拉伸成一个特征向量。对于每一个RoI,经过FC层后得到的feature vector最终被分享:一个进行全连接之后用来做softmax回归,用来对RoI区域做物体识别,另一个经过全连接之后用来做b-box regression做修正定位,使得定位框更加精准。
三、主要内容
3.1 RoI pooling layer
不同于前面的SPP,在Fast RCNN网络中,RoI来完成SPP层的作用。RoI指的是在一张图片上完成Selective Search后得到的“候选框”在特征图上的一个映射,RoI层的作用主要有两点:
- 考虑到感兴趣区域(RoI)尺寸不一,但是输入