Light-Head R-CNN实在R-FCN的基础上进行改进的。
该方法使用的网络是Two-stage网络。
- 第一阶段(body)用于Region Proposal;
- 第二阶段(head)用于识别这些Region Proposal。
1 核心思想
Light-Head R-CNN的改进思路是轻量化stage 2的head部分,提高推理速度。
图1 Faster R-CNNFaster R-CNN的细节可以看我的简书3 计算机视觉-阅读笔记(2)。
图2 R-FCNR-FCN是在Faster R-CNN基础上发展而来的,核心改进是用卷积层代替了全连接层。其源代码可以参考R-FCN。
图3 Light-head R-CNNLight-Head R-CNN是在R-FCN的基础上改进而来的,核心思想是在R-FCN的heavy head改为light head,从而提高计算速度。主要体现在两点:
- 采用large separable convolution生成channel数更少的feature map(从3969减少到490)。
- 用FC层代替了R-FCN中的global average pool,避免空间信息的丢失(这里也可以尝试改进)。
这里的large separable convolution用和的串行卷积替换了的卷积。
2 代码实现
实际训练中,使用了如下设置:
- synchronized SGD with weight decay: 0.0001,momentum: 0.9.
- Each mini-batch has 2 images per GPU.
- Each image has 2000/1000 RoIs for training/testing.
- Pad images within mini-batch to the same size by filling zeros into the right-bottom of the image.
- Learning rate: 0.01 for first 1.5M iterations and 0.001 for later 0.5M iterations.
- Adopt atrous algorithm in stage 5 of Resnet.
- Adopt OHEM.
- Backbone network is initialized based on the pre-trained ImageNet.
- Pooling size: 7.
- Batch normalization is also fixed for faster experiment.
- Data augmentation: Horizontal image flipping.
为了平衡精度与速度:
- 用Xception代替Resnet-101.
- 弃用atrous algorithm.
- 将RPN channel减少一半到256.
- Large separable convolution: kernel size = 15, Cmid = 64, Cout = 490.
- 采用 PSPooling + RoI-align.
3 性能分析
图4 准确率比较 图5 性能比较4 总结
本文首先介绍Light-Head R-CNN的设计思想,并且介绍了其改进特点,然后对训练过程中的一些细节进行描述,最后给出了性能分析。
网友评论