基于轻量化SSD的人脸检测模型设计

2021-06-01 13:27迟万达王士奇张潇董爽商方斌范迪
计算机与网络 2021年5期
关键词:人脸检测

迟万达 王士奇 张潇 董爽 商方斌 范迪

摘要:针对传统深度学习检测模型精度高、结构复杂、参数量大,检测速度慢,以及轻量级模型结构简单参数量小,精度损失明显的问题,提出了一种轻量化基于单步候选区回归的目标检测算法(SSD)的人脸检测模型,兼顾检测精度和检测速度的需求。基于传统模型特征图所存在的冗余现象,设计了一种轻量化卷積,以线性变换代替部分卷积操作,既能保持特征图的数量,又减少了模型参数和运算量。同时,采用性能更好的Hard_Swish激活函数,以加快收敛速度并提高模型精度。通过FDDB人脸数据集的测试结果可以看出,综合考虑精度、参数量、速度等指标,轻量化模型在保持了人脸检测精度的前提下,大大压缩了模型体积、提高了模型的检测速度,达到了影视实时性检测要求。

关键词:SSD模型;轻量化卷积;Hard_Swish函数;线性变换;人脸检测

中图分类号:TP391.4文献标志码:A文章编号:1008-1739(2021)05-69-5

0引言

人脸检测是基于人脸信息处理的人机交互、表情分析、人证对比等研究的重要基础,其结果对后续人脸跟踪[1]、人脸面部特征点提取[2]、表情识别[3]及人脸识别[4]等研究和应用有重要作用和影响。

目前,主流的人脸检测算法可分成基于人工设计的特征统计检测方法[5-6]和自动提取特征的深度学习检测方法[7-10]2类。基于人工设计特征的人脸检测算法,特征表达能力有限,容易受外界环境(如光照、遮挡、尺度等)变化的影响,在复杂场景下检测性能难有提升。随着卷积神经网络的发展,众多基于卷积神经网络的人脸检测算法被提出。算法大多基于目标检测框架,主要有Two-Stage和One-Stage的方法,如Ren S等[7]提出基于多步候选区回归的目标检测算法Faster R-CNN是Two-Stage的代表;Liu Wei[8]提出的SSD是One-Stage的代表,特点是速度较快、精度较高。近几年,以SSD为基础的检测模型也得到了不断改进[9-10];方帅等[9]对SSD进行了改进并用于多尺度人脸检测,提高了小尺度人脸检测的准确性;范迪等[10]提出的基于SSD的多尺度行人检测算法,在模型的附加特征层中引入压缩激励模块,提高了小尺寸目标的检测能力。

传统深度学习检测技术对存储和计算能力要求较高,是算法推广应用的障碍,因此轻量型神经网络架构得到了广泛关注。典型方法主要分为三大类[11-14]:人工设计轻量化神经网络模型、神经网络搜索自动化设计和模型压缩。谷歌[11]通过深度可分离卷积代替标准卷积提出了轻量级网络架构MobileNet V1;Face++[12]通过逐点群卷积核通道混洗技术提出了ShuffleNet V1;NasNet[13]设计了基于块的搜索空间,大大加快搜索速度;AMC[14]利用强化学习方法自动学习模型压缩策略,可以更好地保持神经网络的性能。人工设计轻量化模型通过设计高效的卷积方式,减少网络参数的同时网络精度损失小,是目前主流的模型轻量化方法。

轻量化的人脸检测模型旨在保持检测精度的基础上,大幅减少参数量和计算量,达到实时性应用的要求。本文兼顾检测精度和检测速度,基于传统SSD目标检测网络,设计了一种轻量级卷积操作代替原始卷积,通过使用轻量线性变换特征图代替原卷积特征图,轻量化设计所生成的特征图数量与普通卷积网络的相同,但参数少且运算简单,减小了计算量;同时,将更加高效的Hard_Swish激活函数引入模型,提高模型性能,加快模型训练的收敛速度。

1 SSD模型的轻量化

SSD网络模型是One-Stage目标检测网络,设计思想主要是多尺度多长宽比的密集锚点设计和特征金字塔。该模型以VGG16的卷积层为基础网络,将VGG16最后的2个全连接层修改为卷积层,并在后面添加多个不同尺度的卷积层,实现不同尺度物体的检测。SSD目标检测模型采用不同尺度长宽比的预测框,均匀地在图像的不同位置进行密集抽样,特征提取、分类与回归只需要一步,速度比Two-Stage快。

利用SSD目标检测的优良性能,加入轻量化设计后,可在检测精度和速度上得到较好的性能。设计的轻量化SSD的人脸检测模型如图1所示。模型前端是轻量化的VGG16,后端Conv6~Conv11是多个不同尺度的卷积层。轻量化的VGG16中,采用线性变换对原VGG中卷积层进行了轻量化改造,产生与原卷积层相同数量的特征图。另外,在模型的多尺度卷积层选用Hard_Swish非线性激活函数取代ReLU激活函数,进一步提高网络的检测精度。

1.1轻量化卷积的设计

通常情况下,为了保证模型对输入数据有全面的掌握,训练好的深度学习网络的特征图有不少冗余,以达到较好的检测识别等性能,但这需要更多的计算资源。有文献研究表明,冗余的特征图可由一部分特征图通过相对简单的线性操作变换获得[15]。

本文以传统卷积操作产生的特征图冗余现象为出发点,设计了一种轻量级的线性变换代替原卷积,如图2所示。首先对上一级特征图进行卷积操作产生一部分特征图,再对这部分特征图一一进行线性变换生成新特征图,卷积操作产生的特征图和线性操作产生的特征图一起用于后续人脸检测任务。该操作以线性运算代替卷积,生成的特征图数量与普通卷积层输出相同,但参数量变少,需要的算力资源也比普通卷积层要低,能够有效降低计算成本。

1.2 Hard_Swish非线性激活函数的引入

原SSD模型采用的是ReLU非线性激活函数,本文则采用Hard_Swish非线性激活函数。Hard_Swish激活函数的波形与ReLU相似,保持了ReLU的优点,而且Hard_Swish函数波形在0处可导,使得训练更容易收敛,总体性能更好。

相较于Swish函数,Hard_Swish函数具有数值稳定性好、计算速度快等优点,二者图形上很相似,如图3(b)所示。实验表明[17],对于分类任务,Hard_Swish函数可以显著提高神经网络的准确性。

2实验及结果分析

2.1实验环境及数据集

实验基于Debian 9.13操作系统和NVIDIA Tesla V100(16 GB)独立显卡搭建实验平台,训练时使用GPU加速,利用Pytorch开源框架和Python语言编程实现。

实验时所用训练集为Wider Face数据集,该数据集中有32 203张不同场景的图片,标定了393 703幅人脸,所标人脸尺度不一、姿态各异,并存在不同程度的物体遮挡和光照差异,是目前人脸检测领域广为认可的基准数据集。实验所用测试集为FDDB人脸数据集。FDDB人脸数据集共有2 845幅图像和5 171幅人脸,受环境因素以及人脸姿态的影响,人脸的难度较大,有面部表情、双下巴、光照变化、穿戴、夸张、发型、遮挡等难点,图像分辨率较小,包括彩色和灰度2类图像,是人脸检测最常用的数据库之一。

实验过程中,利用Adam优化器进行梯度下降,由于无法使用预训练模型,因此初始学习率设为1×10-3,权重衰减系数为1×10-8,动量参数为0.9;当进行50 000次迭代训练后,学习率调整为1×10-4;80 000次迭代后,学习率调整为1×10-5,100 000次迭代后终止训练。

2.2评价标准

搭建基于轻量化SSD的人脸检测模型,主要思想是在保证检测精度的前提下,减小模型参数量,提高模型检测速度。因此,选取平均精度(Average Precision,AP)、参数量、检测速度,以及设计的综合指标对模型进行评价。

①AP指的是检测出的目标中正确的目标所占比率,是以召回率(Recall,R)为横坐标,准确率(Precision,P)为纵坐标作图得到精度-召回率曲线与坐标轴围成的面积,AP是不同置信度水平下检测精度的平均值。

②参数量:参数量指的是模型所含参数的数量,直接决定模型文件的大小,也影响模型推断时对内存的占用量。因此模型体积越小,也就意味着更少的参数量和更低的资源消耗。

③检测速度:目前多数人脸应用中,都对检测速度做出了要求,以实现实时检测。检测速度用帧率来表示。

式中,为平均精度值;为模型参数量;为归一化帧率;按照电视电影帧率24帧/秒进行的归一化;,,为归一化权重因子。在模型能达到实时检测的情况下,重点考虑模型检测精度,因此检测精度的权重因子设置为0.6,检测速度的权重因子设置为0.2。同时,考虑到目前智能设备存储能力较强,对百兆左右体积的模型存储较为容易,因此模型参数量的权重设置为0.2。

2.3实验结果对比及分析

实验采用上述3个评价指标对模型性能进行评价,对比模型有Faster-RCNN模型、原始SSD模型和SSD-lite模型。图4为轻量化模型和3种对比模型的精度P-召回率R曲线,由曲线可知4种模型的平均精度,具体结果如表1所示。

实验结果表明,轻量化人脸检测模型综合评价指标是最优的,也就是从综合精度、参数量及速度几个方面看,模型性能有较大的优势。就单项指标而言,模型的平均精度几乎与Faster-RCNN差不多,但是参数量和检测速度的提升非常显著;与纯轻量级检测网络SSD-lite模型相比,参数量和检测速度与其差不多,但本文模型的平均精度比其高出近14%;与原SSD相比,本文模型的平均精度与之有4%的差距,但是在参数量和速度上有较强优势。另外,实时视频检测要求帧率达到14帧/秒以上,电视电影要求帧率达到24帧/秒以上,本文模型满足视频检测的要求,也满足电视电影的播放要求。

本文选择几种不同场景、多尺度的人脸图像进行对比实验,效果如图5所示。测试图中,图像光照不均且姿态各异如图5(a)和图5(b),存在遮挡如图5(c)和图5(d),场景复杂且人脸尺度不一如图5(e)和图5(f),与实际情景下的人脸检测相似。其中,图5(a)、图5(c)和图5(e)为原始SSD模型测试效果;图5(b)、图5(d)和图5(f)为本文轻量化模型测试效果。由大量测试效果图知,本文提出的轻量化模型能正确检测出人脸,只在复杂场景下小尺度和遮挡人脸情况下出现了轻微的漏检或误检现象,因此可以满足自然场景下的人脸检测要求。

3结束语

传统深度学习检测模型本身结构复杂、参数量大,虽然精度高但是检测速度慢;轻量级的深度学习检测网络模型通过轻量级卷积方式极大地减小了参数量和计算量,但检测精度也随之下降。如何利用有限的计算资源进行模型训练和实时检测成为一个难点。本文兼顾检测精度和检测速度,将传统深度学习目标检测网络与轻量级卷积方式相结合,搭建轻量化人脸检测模型。选取经典深度学习目标检测架构SSD模型作为基础,并將轻量级卷积操作移植到SSD检测模型中,搭建轻量化SSD人脸检测架构。实验表明,算法在保持了人脸检测精度的前提下,大大压缩了模型体积,同时提高了模型的检测速度。

尽管本文模型可达到实时检测的要求,检测精度也保持在较高水平,但也存在一定的问题。模型测试过程中出现了轻微的对复杂场景下小尺度人脸、遮挡人脸的漏检问题,主要原因是轻量级卷积操作的设计过程中,特征图空间信息有所损失。未来可在模型结构设计和特征表达以及上下文信息利用等方面继续研究,以提高模型的特征利用能力。

参考文献

[1] YILIHAMU D, TUERXUN P, DAWUT A,et al. A Real-time Face Tracking and Recognition System Based on SeetaFace[J]. Journal of Physics: Conference Series,2020,1673(1):12-43.

[2]伍凯,朱恒亮,郝阳阳,等.级联回归的多姿态人脸配准[J].中国图象图形学报,2017,22(2):257-264.

[3] CHEN A, XING H, WANG F. A Facial Expression Recognition Method Using Deep Convolutional Neural Networks Based on Edge Computing[J]. IEEE Access, 2020(8):49741-49751.

[4] GAO yuan,MA Jiayi,YUILLE A L. Semi-Supervised Sparse Representation Based Classification for Face Recognition with Insufficient Labeled Samples[J]. IEEE Transactions on Image Processing, 2017, 26(5):2545-2560.

[5]张彩珍,张云霞,陈永刚,等.基于五帧差分和模板匹配的运动目标检测识别[J].激光与红外,2018,48(12):1554-1560.

[6]劉禹欣,朱勇,孙结冰,等.Haar-like特征双阈值Adaboost人脸检测[J].中国图象图形学报,2020,25(8):1618-1626.

[7] REN Shaoqing,HE Kaiming,Girshick R,et al.Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6):1137-1149.

[8] LIU W, ANGUELOV D, ERHAN D, et al. Single Shot Multibox Detector[C]// European Conference On Computer Vision.Amsterdam: Springer, Cham, 2016: 21-37.

[9]方帅,李永毅,刘晓欣,等.一种改进的基于SSD模型的多尺度人脸检测算法[J].信息技术与信息化,2019(2):39-42.

[10] FAN Di,LIU Dawei, CHI Wanda,et al. Improved SSD-Based Multi-scale Pedestrian Detection Algorithm[M].Singapore: Springer,2020.

[11] HOWARD A G, ZHU M, CHEN B, et al.MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications[J].Computer Science,2017: 432-445.

[12] ZHANG X, ZHOU X, LIN M, et al. ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices[C]// IEEE Conference on Computer Vision and Pattern Recognition, 2018:6848-6856.

[13] ZOPH B, VASUDEVAN V, SHLENS J V. Le Q. Learning Transferable Architectures for Scalable Image Recognition[C]IEEE Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018: 8697-8710.

[14] HE Y,LIN J,LIU Z, et al.Amc: Automl for Model Compression and Acceleration on Mobile Devices[J].arXiv preprint arXiv:1802.03494,2018.

[15] ZHANG Q, JIANG Z, LU Q,et al. Split to Be Slim: An Overlooked Redundancy in Vanilla Convolution[J]. arXiv preprint arXiv: 2006.12085, 2020.

[16] RAMACHANDRAN P, ZOPH B, LE Q V. Swish: A Self-gated Activation Function[J]. arXiv preprint arXiv: 1710.05941v2, 2018.

[17] HOWARD A, SANDLER M, CHU G,et al. Searching for MobileNetV3[C]//International Conference on Computer Vision,Seoul: IEEE,2019:1314-1324.

[18] FAN Di,FANG Shuai,WANG Guangcai,et al.The Visual Human Face Super-resolution Reconstruction Algorithm based on Improved Deep Residual Network[J].Journal on Advances in Signal Processing,2019(1):1-10.

猜你喜欢
人脸检测
肤色与唇色信息相结合的人脸检测
人脸检测技术综述
基于Android的车载疲劳驾驶监控系统研究与设计
一种鲁棒的长期人脸特征点跟踪系统
基于改进的Adaboost算法在人脸检测与识别中的应用与研究
JNI技术在基于OpenCV的人脸与微笑检测中的应用
基于人脸特征定位的SNS网站应用组件研究与设计
基于Android平台的人脸识别系统设计与实现
基于Matlab的人脸检测实验设计
基于肤色模型与改进Adaboost算法的人脸检测