论文部分内容阅读
随着卷积神经网络的快速发展,人脸检测算法的性能不断提高。但是目前的算法仍然没有很好地平衡检测速度和检测精度两者的关系,并且轻量级的人脸检测算法对于小尺寸人脸目标和密集人脸目标的召回率较低。针对以上问题,本文提出了基于多尺度密集Anchor策略的轻量级人脸检测算法,主要工作内容为:首先,基于SSD人脸检测框架设计了一个轻量级人脸检测算法,该算法的网络结构由快速卷积层,Inception模块和多尺度卷积层组成。其中快速卷积层通过设计大尺寸、大步长的卷积核快速缩小输入特征图的尺寸,减轻网络的计算量;Inception模块利用不同尺寸的卷积核分支并行处理特征信息,获得更高的特征学习效率;多尺度卷积层通过合理地分配多尺度特征的分布范围,根据不同特征尺度的感受野设计Anchor的尺寸,确保Anchor可以覆盖各个尺寸的人脸目标。然后,在上述网络结构的基础上,对算法进一步优化,主要包括以下三个方面:(1)在快速卷积层通过CReLU激活函数无时间成本地加倍通道数量,保留网络的负相位信息,在保持网络精度的情况下大幅降低原始卷积核的时间复杂度。同时,使用深度可分离卷积替换标准卷积,在少量降低检测精度的情况下大幅减少网络消耗的时间成本。(2)Inception模块首先引入Dilated Inception结构来模拟人类视网膜中的离心率函数,增强其对于特征的可分辨性和鲁棒性。然后通过Squeeze和Excitation模块实现通道域内的注意力机制,保证模型能够更加关注相对重要的信息。最后将以上两者结合起来构成ADI模块。(3)多尺度卷积层通过引入密集Anchor策略增大Anchor间的重叠面积,提高模型对于密集人脸目标的检测效果。并通过引入Max-out背景标签缓解模型正负样本不均衡的问题,降低检测结果的假正率。最后,实验结果表明本文提出的人脸检测算法具有较快地检测速度,较小的模型参数量,并且对于小尺寸人脸目标和密集目标具有一定的鲁棒性,能够有效地提高轻量级人脸检测算法的人脸召回率。在FDDB数据集上的测试结果表明,当误检数为2000时,人脸召回率为92.91%,在AFW和PASCAL FACE数据集上的平均准确率分别为97.21%和90.29%。在E5-2643v4@3.40 CPU上测试达到4FPS的检测速度,在单个TiTan X GPU上达到100FPS的检测速度,并且模型的大小仅为4.1M.