人脸检测之Improved Faster R-CNN

之前用faster r-cnn做object detection,感觉非常好。这篇文章对faster r-cnn做了一些改进,进行人脸检测。
下面就讲下做了哪些改进。

0. Overview

先看下整体的流程
这里写图片描述
基础网络采用VGG-16
(1)首先用wilder face对faster r-cnn进行预训练。
(2)难例挖掘
(3)fine-tuning(这一过程涉及本文的3大改进:利用难例、特征连接、多尺度输入)

1. Feature Concatenation

这里写图片描述
我们知道,RoI pooling是从卷积层的最后一层产生的feature map上提取特征的。
但是,由于深层网络的feature map具有更大的感受野,因此会失去很多细粒度信息,失去很多分辨率信息。

因此,本文提出:分别对多个卷积层池化后的feature map进行RoI pooling 操作。

如图,将多个卷积层池化后产生的feature maps分别进行RoI pooling操作,然后把池化后的feature map在深度上相连接,构成一个新的更深的feature map。
进行1x1的卷积后,变成固定长度的特征向量,传递至FC。

2. hard negative mining

难例挖掘,这个应该不用多说。本文则是对第一步中预训练网络(dataset:wilder face)产生的hard negative进行再训练。

判断难例的方法是:如果一个region的confidence大于0.8,但它与GT的IoU小于0.5。

则我们将它直接存下来,作为finetuning网络的RoI(dataset:FDDB),直接投入分类器进行训练。

3. Multi-Scale Training

随机使用3种尺度中的一种,投入到网络中。实验结果表明,使用多尺度可以让网络对于不同尺寸的图像更鲁棒。

4. 实验相关

有些东西和faster r-cnn一样,有些不一样。做个简短的review。
(1) 12个anchor,非9个
(2) lr = 0.0001
(3) fast r-cnn分类器:正(IoU>0.5) 负(IoU<0.5)
(4) RPN产生100个region proposal

猜你喜欢

转载自blog.csdn.net/leewanzhi/article/details/80245588