贾伟 杨胜和 田萌萌 熊艺兰 杨春权 李良荣
摘 要:文中设计了一种基于ArcFace的自然场景人脸识别系统,针对系统小人脸识别准确率不高、环境自适应能力不强的局限性,提出了改进方法。系统采用快速人脸图像增强算法对自然场景视觉模糊的人脸图像进行视觉增强,然后通过融合PFLD与YOLOv3人脸关键点检测的方法,改进系统对小人脸的检测性能。实验结果显示,改进的方法有效提高了系统识别的准确率,降低了误识率,系统平均播放帧率约为23帧/s。
关键词:人工智能;图像增强;人脸识别;深度学习;损失函数;数据集
中图分类号:TP27 文献标识码:A 文章编号:2095-1302(2020)05-000-03
0 引 言
近年来,以深度学习为代表的人工智能技术在科研、工业应用领域取得了显著进展,尤其是将深度学习应用于人脸识别。针对约束性场景下的人脸识别已经达到商用程度,但在自然场景中,人脸由于受自然环境诸多因素的影响,造成了识别上的困难,因此研究一种针对自然场景下的人脸识别方法具有重要的理论意义和实用价值。通常,人脸识别系统一般包括人脸采集、人脸检测对齐、人脸识别模块等,其每一部分的改进对于人脸识别准确率的提高都具有重要意义,为此,研究者们进行了长期的研究。2016年,Zhang Kaipeng[1]提出了一种Multi-task的人脸检测框架,该算法使用3个CNN级联算法结构,将人脸检测和人脸特征点检测同时进行,该方法被应用于诸多人脸识别算法研究领域,但该方法环境适应性较差、漏检率较高;后来提出的YOLO系列[2-4]算法是一类端对端目标检测算法,在检测速度、精度、环境适应性等方面取得了很大突破。为了提高关键点的检测效果,Guo Xiaojie[5]等人在MTCNN人脸检测的基础上提出了一种简单、快速的高精度人脸关键点检测算法,该算法可在主流数据集上达到最高精度。在人脸识别算法方面,Liu Weiyang[6]等人提出了角度SoftMax(A-SoftMax)损失,使卷积神經网络(CNN)能够学习角度识别特征。Deng Jiankang[7]等为了最大限度地提高人脸识别的高可分特征,将裕度纳入已建立的损失函数中,提出了一种附加角度裕度的损失函数(ArcFace),取得了更好的识别效果。
基于ArcFace的人脸识别采用MTCNN算法做人脸关键点检测,该算法对自然场景人脸的检测存在易漏检现象,从而影响人脸识别性能。本文旨在设计一种人脸识别系统,因此提出了快速人脸图像增强算法,并通过融合PFLD与YOLOv3人脸关键点检测方法,以改善系统的识别性能。
1 自然场景快速人脸增强方法
在自然场景人脸识别系统中,由于受到环境、光线、运动等因素影响,人脸图像容易变得模糊,从而影响识别准确率。为了解决图像模糊问题,1993年,Pal和King[8-10]首次将模糊集理论应用于理解、描述图像的模糊特性,后来出现了一系列改进方法[11-12],本文在此算法基础上,提出了改进的人脸增强算法。
为提高算法运算效率,本文依据文献[8-10]所提的算法,首先采用线性变换将图像映射到模糊域,线性变换表示如下:
式中:η表示图像像素值的补偿因子;xmin表示3×3图像区域最小值;xmax表示3×3图像区域最大值;xij表示图像像
素值。
本文的图像增强算子表示为:
式中:z表示图像输出;f和r代表常量,f = r =0.5。
为了补偿图像区域信息丢失,本文通过式(3)进行图像恢复。
式中,λ为像素补偿因子。
算法的基本步骤如下:
Step1:通过式(1)将图像映射到模糊域;
Step2:利用式(2)对图像进行非线性变换;
Step3:进行图像恢复运算。
图1所示为多种算法运算效果对比,结果显示本文提出的算法没有造成图像失真,显示效果最佳。本文算法单张人脸灰度图像运行时间约为0.047 887 s。
2 融合PFLD与YOLOv3的人脸关键点检测
人脸检测与关键点检测是人脸识别的基础,为了有效检测自然场景中的人脸,本文采用文献[2-4]中提出的YOLOv3人脸检测算法,该算法通过两次上采样完成了多尺度检测,在保持较快检测速度的同时对小人脸检测具有较好的效果。同时,算法对候选框采用了复合标签的建模方法,每个候选框不再只对应一个类别,因而YOLOv3在速度精度、泛化性等方面都取得了较好的效果。PFLD是一种最新的人脸关键点检测算法,该算法提出了非限定条件下的具有理想检测精度的轻量级Landmark检测模型。测试表明,PFLD算法在移动设备上可达到超实时的性能。本文将PFLD与YOLOv3算法用于自然场景人脸检测,旨在提高系统对环境的适应能力以及对小人脸的检测性能。人脸关键点检测方法的流程如图2所示。
为了测试本文方法的效果,我们利用WiderFace数据集训练YOLOv3人脸检测模型,使用文献[13]提出的WFLW数据集训练PFLD算法模型。WFLW数据集共10 000个样本,其中7 500个供训练用,2 500个供测试用,数据集标签提供了人脸框信息,包括98个关键点信息,融合有多种人脸信息,如姿态、表情、光照、化妆、遮挡、模糊等。本文方法的最终检测效果如图3所示。运行结果显示,本文方法对复杂自然场景的人脸具有良好的检测效果。
3 基于ArcFace的人脸识别系统
ArcFace是在文献[6]的基础上进行了改进。提出了直接最大化角度空间中的决策边界cos(θ+m),该角度空间是基于L2-norm的权重和特征生成的,与cos(mθ)和cos(θ-m)相比,ArcFace可以获得更具辨识性的深度特征。本文基于ArcFace的人脸识别系统流程如图4所示。
4 實验结果分析
实验硬件配置:Intel(R)Core(TM) i5-9400F CPU@2.90 GHz,内存8 GB,显卡为1070ti 8G,系统采用Python语言编写。
实验数据集:人脸检测部分采用WiderFace数据集训练检测模型,人脸对齐采用WFLW数据集,人脸识别部分从YouTube Face数据库中随机抽取40个人共1 080张照片组成训练集,然后找出40个人对应的8段自然场景视频作为测试,其中视频的分辨率均为480×640,测试所用视频集包括光照、明暗变化、运动、遮挡、模糊等多种场景的人脸。
数据训练:本文采用WiderFace人脸数据集训练MTCNN和YOLOv3检测模型,相关参数根据文献[1,3,5]设置,训练图像的大小为112×112。同时,为了评价本文系统的有效性,这里统计了测试视频的平均识别率(TPR)和误识率(FPR)。
TPR定义如下:
FRP定义如下:
表1所列为文献[6-7]与改进后系统的正确识别次数与人数的对比结果,由表1可知,改进后系统的识别效率明显优于其他方法。
表2所列为系统平均识别率(TPR)和误识率(FPR)。由表2可知,改进方法的平均识别率得到了有效提高,错识率最小。同时,实验测试结果显示,本文系统的平均运行速度约为23 f/s,保证了运行的实时性。
5 结 语
本文设计了一种基于ArcFace的自然场景人脸识别系统,提出了一种自然场景下解决人脸模糊的快速增强方法,改进了人脸关键点检测方法。实验结果表明,系统的识别性能得到了有效提高。但系统也存在不足,如系统对微型目标过于敏感,容易引起误识别。为此,在未来的工作中,我们将构建特定的人脸数据集用于训练,同时设计自动筛选算法,自动去除非人脸目标,降低误识率。
参考文献
[1] ZHANG K,ZHANG Z,LI Z,et al. Joint face detection and alignment using multitask cascaded convolutional networks [J]. IEEE signal processing letters,2016,23(10):1499-1503.
[2] REDMON J,DIVVALA S,GIRSHICK R,et al. You Only Look Once:Unified,Real-Time Object Detection [C]// The IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2016:779-788.
[3] REDMON J,FARHADI A. YOLO9000:better,faster [C]// The IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2017:7263-7271.
[4] REDMON,JOSEPH,ALI FARHADI.“YOLOv3:An incremental improvement [C]// The IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2018:5656-5678.
[5] GUO X,LI S,YU J,et al. PFLD:A Practical Facial Landmark Detector [C]// The IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2019:5234-5250.
[6] LIU W,WEN Y,YU Z,et al. SphereFace:Deep Hypersphere Embedding for Face Recognition [C]// The IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2017.
[7] DENG J,GUO J,XUE N N,et al. ArcFace: Additive Angular Margin Loss for Deep Face Recognition [C]// The IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2019.
[8] PAL S K,KING R A. Image enhancement using fuzzy set [J]. Electronics letters,1980,16(10):376-378.
[9] PAL S K,KING R A. On edge detection of X-ray images using fuzzy sets [J]. Pattern analysis and machinence,IEEE transactionson,1983,5(1):69-77.
[10] PAL S K,KING R A. Image enhancement using smoothing with fuzzy sets [J]. IEEE transactions on systems,man,and cybernetics-part A:system and humans,1981,11(7):494-501.
[11] WANG Baoping,LIU Shenghu. An adaptive multi-level image enhancement algorithm based on fuzzy entropy [J]. Acta electronica sinica,2005,33(4):730-734.
[12] WANG Baoping,LIU Shenghu. A novel adaptiv e-image fuzzy enhancement algorithm [J]. Journal of Xidian University,2005(2):307-313.
[13] WU W,QIAN C,YANG S,et al. Look at boundary:a boundary-aware face alignment algorithm [C]// The IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2018:2129-2138.