读paper——Fast R-CNN

2015年

是single-stage的方法。对比R-CNN和SPPnet(2015):

R-CNN的缺点:

1:multi-stage的流程:三个步骤,finetune——SVM——bbox regressor

2: training耗费大量时间和空间

3:测试很慢

R-CNN之所以这么慢的原因是它检测时要在图片的每一个proposal上运行网络,没有共享计算。

SPPnet使用了共享计算。输入的不是各个proposal,而是整张图,得到一个共享的feature map。然后根据各个proposal对应的feature map区域,分别(max-pooling)提取对应特征。得到多尺度的特征图 后,concat得到spatial pyramid。

SPPnet也有R-CNN的类似缺点:multi-stage pipeline。特征存储于磁盘中。还有它的fine-tuning不能更新spatial pyramid pooling前的卷积层,所以限制了很深的网络的精度。

fast r-cnn网络架构:

è¿éåå¾çæè¿°

è¿éåå¾çæè¿°

rp(region proposals)作用在conv5的特征图上,为了保证fc层的输入尺寸固定一致,使用了ROI Pooling。这里可以看作时SPPnet的一个特例(single-level SPP)。

因此可以看出Fast RCNN主要有3个改进:1、卷积不再是对每个region proposal进行,而是直接对整张图像,这样减少了很多重复计算。原来RCNN是对每个region proposal分别做卷积,因为一张图像中有2000左右的region proposal,肯定相互之间的重叠率很高,因此产生重复计算。2、用ROI pooling进行特征的尺寸变换,因为全连接层的输入要求尺寸大小一样,因此不能直接把region proposal作为输入。3、将regressor放进网络一起训练,每个类别对应一个regressor,同时用softmax代替原来的SVM分类器。
 

multi-task loss定义如下:

è¿éåå¾çæè¿°

TSVD分解可以减少FC层参数,加速模型运算。

实验发现sparse rp比dense rp更好。

Fast RCNN的主要缺点在于region proposal的提取使用selective search,目标检测时间大多消耗在这上面(提region proposal 2~3s,而提特征分类只需0.32s),这也是后续Faster RCNN的改进方向之一。

猜你喜欢

转载自blog.csdn.net/steph_curry/article/details/86605118