MTCNN论文的阅读记录

论文首先介绍过去的方法的不足,然后提出论文中的方法以及改进
论文的贡献:
提出并实现新的基于组合脸部检测和对齐方法的级联CNN网络;
仔细设计轻量级少参数的CNN架构网络,可以达到实时性的要求;
提出有效的方法在线生成困难样本,提高准确率等;
对基准数据集进行额外的实验,和最先进的技术相比,网络效果有显著的提升。

1.设计的是深度多任务级联网络,通过将检测和对齐联系起来提高性能

2.包含3个卷积网络,用来检测脸以及特征点的位置,PNet在训练阶段的输入尺寸为12*12,RNet的输入尺寸为24*24, ONet的输入尺寸为48*48

P-Net:快速区域建议网络,对图片生成的金字塔图片,生成大量的候选框,得到回归的向量以后,然后进行回归操作,通过NMS非极大值抑制操作,合并IoU值过高的框
R-Net:提升网络,对前面的输入,拒绝大量错误的框,执行框的回归,继续提高结果,通过NMS合并IoU值过高的框
O-Net:输出网络,和R-Net类似,更精细,输出分类、bounding box、特征点

3.网络设计减少滤波器的数量,并将5x5的卷积层变为3x3的卷积层,减少计算量,网络的特点就是参数少,所以计算快,可以达到实时性的要求。

4.损失函数:

分类:有脸/没脸用交叉熵损失函数,pi是概率值,yi是gt={0,1}
IoU>0.65是正样本(1),IoU<0.3是负样本(0)

Bounding box回归:欧氏距离,用到的样本是0.4<IoU<0.65 Part faces的样本,包括左上角坐标,宽,高,共4个值

Landmarks 特征点回归:欧氏距离,用到的样本是包含特征点的样本。包括左右眼睛,鼻子,左右嘴唇边界。共10个值

训练时使用的loss函数是三者的和,当分类是负样本时,后两个loss的值不计算,被置为0,只有当分类结果是正样本,也就是IoU>0.65时,才计算后两个loss值,公式化表达是:

其中的α 中是不同loss的权重值,P-Net和R-Net中,alpha是1,0.5,0.5,O-Net中alpha是1,0.5,1,可见最后提高特征点loss的权重,用来提高特征点的精度。β是分类的结果,值为{0,1},负样本值就是0

5.在线困难样本的寻找
在每个mini-batch,前向传播阶段,对所有样本的loss进行排序,选择top70%的样本作为困难样本,在后向传播梯度下降的阶段,仅计算困难样本的梯度。
忽略简单、不容易分错的样本,这些样本帮助不大,实验显示这样做效果更好

6.实际训练的方法:
对金字塔中产生的图片,产生大量的候选框,然后对候选框进行判别,
Positive faces :IoU>0.65
Negative faces :IoU<0.3
Part faces : 0.4<IoU<0.65

Positive faces和Negative faces用于训练分类
Part faces和Negative faces用于训练bounding box回归

猜你喜欢

转载自blog.csdn.net/shiheyingzhe/article/details/82934237