HTML
-
数据集采用widerface数据集[30],widerface数据集分为easy,medium和hard 3种不同难度的图像,widerface数据集包含32203个图像,其中有393703个人脸,而这些人脸在尺度、姿态、遮挡方面都有很大的变化范围,存在大量的小目标人脸。本模型使用widerface数据集中的训练集作为模型的训练集,验证集作为最后模型检测的测试集。widerface数据集如图 5所示,在实验中将widerface数据集的图像进行颜色扭曲,将图片裁剪到640×640大小, 且以0.5的概率进行左右翻转进行数据增强。
-
本文中的模型是采取pytorch框架进行实现,实验平台是基于系统Ubuntu18.04,GPU为TeslaV100。实验中的训练迭代次数为300次,学习率是跟随着迭代次数的不断进行而逐渐减小的,从初始学习率0.001~ 0.00001变化3次,实验中批次样本数设置为18,优化器选择随机梯度下降法(stochastic gradient descent,SGD)。
-
为了评价人脸检测性能,本文中主要采取精准率-召回率(precision-recall,PR)曲线来进行评价,精准率P指在以预测成为正样本的结果中实际为正样本的概率,召回率R指在实际上应为正样本的样本被预测成为正样本的概率。在预测的结果中预测为正样本的且与实际相符的样本数用真正例Tp表示,在预测的结果中预测为负样本的且与实际相符的样本数用假正例Fp表示;相反,在某一类中预测为正样本但与实际不符则用假负例Fn表示,预测为负样本且与实际相符则用真负例Tn表示。PR曲线所覆盖的面积称为平均精准率(average precision,AP),AP值越高则分类器的效果越好,其计算方式是将PR曲线所覆盖的面积分解成矩形进行计算面积。准确率P和召回率R的计算公式如下所示:
-
本文中损失函数分为两部分,分类损失选用交叉熵损失,用于判断分类类别是否准确,如下式所示:
式中,L表示交叉熵损失的值,N表示样本总数,i表示第几个样本,Li表示每一个样本的损失,yi表示样本i的标签,pi表示样本i预测为正的概率,选取平滑最小绝对值偏差损失L1来判断当前锚点是否合适,回归损失SL1如下式所示:
式中,x表示预测框与真实值之间的差异。
-
S3FD-CBAM结构是在VGG16网络与extra conversion结构连接处添加CBAM结构以此来调整空间和通道的特征比重,如图 6所示。S3FD-double-stage-max则是在原有双通路基础上全面加入max-out结构使得负样本比例减少,如图 7所示。S3FD-double-stage结构是在原本S3FD-CBAM的基础上,将输入变为双通道,一条为VGG16, 另一条是由RFB模块构成,利用两条不同的网络结构来构建不同的特征图,然后进行叠加使网络整体能够获得的特征变多,如图 8所示。图 7与图 8中的concat表示为数据的拼接,S3FD-CBAM-RFB结构如图 1所示。
-
3种不同结构网络在widerface数据集上的表现如图 9所示。图 9a表示4种不同网络结构在easy难度数据集下的模型表现,图 9b表示4种不同网络结构在medium难度下的模型表现,图 9c表示4种不同网络结构在hard难度下的模型表现情况。
通过图 9和表 1可以看出, S3FD-CBAM-RFB在widerface数据集上的表现在3个不同难度的分类都有一定程度的提高,S3FD-CBAM网络结构体现出CBAM在网络结构中的正向作用,使得网络精确度在3种不同难度下均有了一定程度的提高,在此基础之上将此网络结构修改为以RFB为第2条通路的双通路网络结构,但由于此结构无法减少在卷积过程中对小目标特征信息的丢失,所以效果反而有一定程度的下降,S3FD-CBAM-RFB则是仿照FPN网络模块,将FPN中的卷积层变为RFB之后进行上采样,在使用RFB扩充感受野的同时将小目标的信息尽可能地保留,使得在人脸预测上S3FD-CBAM-RFB的结果有了一定程度的提高,但是在难度较高且人脸数量较多的hard难度下的图像中该网络结构没有在S3FD-CBAM原有的基础上改善。本文中的模型在widerface数据集的检测效果如图 10所示。正如图 10a~图 10d中所示,本文中算法对小型、密集、难度较大的人脸检测效果较好,但是图 10b中有部分人脸由于人脸角度以及人脸遮挡导致存在漏检情况,图 10e中存在一定的误检,将原本的手检测成为人脸,主要原因是图片本身在较远的部分相对模糊,所以将手误检成为人脸。
methods AP/% easy medium hard S3FD 93.7 92.5 85.9 S3FD-CBAM 93.8 92.7 86.4 S3FD-double-stage 92.9 91.3 82.1 S3FD-double-stage-max 92.8 91.1 82.6 S3FD-CBAM-RFBNet 95.0 93.7 86.4 Table 1. Results of three methods
-
为了说明本文中方法的有效性,选取了在widerface数据集上的其它方法进行比较,如表 2所示。IS3FD和IS3FD-fast这两种网络结构[31]与本文中模型是同种数据集且是同种骨干网络模型S3FD,IS3FD是采取上下文特征关系,采取局部特征金字塔网络(local feature pyramid networks, LFPN)以及将max-out扩展至所有特征预测层,IS3FD-fast是将激活函数改用ReLU的变形函数CRelU,将本文方法以及上述两种方法与原网络S3FD进行比较,从表 2可以看出, 本文中方法在hard难度下AP值介于IS3FD和IS3FD-fast两者之间,但是优于S3FD,在easy以及medium两个难度下本文算法均优于其它3种同类型的算法,与原S3FD相比分别提高了1.3%,1.2%,0.5%。
Table 2. Comparison of face detection results with the relevant methods
本文中算法在3种不同难度下的人脸检测中均优于WANG等人[32]和ZHU等人所提出的算法,主要在于扩大了特征图在网络中的感受野以及加入注意力机制使得通道和空间的权重对结果产生影响。图 11所示是本文中算法在视频流检测效果。图 11a表示在简单情况下检测效果,图 11b表示在复杂情况下的检测效果。综上所述,本文中模型在widerface数据集上表现出相对较高的准确率和相对较少的运算成本和时间成本。