王衍 胡钢俊 马明珠
摘要:该考勤APP主要针对作业环境较差的工业企业的职员打卡活动,为了解决露天作业人员考勤困难的问题,APP实现了一种基于LBP的人脸识别功能。通过提取人脸的局部纹理特征,组合特征向量,得到人脸LBP特征,进行相似度计算,从而判别打卡对象是否来自真实人脸。系统测试是在工业露天环境下进行,经测试验证了方法的有效性。
关键词:考勤;APP;人脸特征;LBP;人脸识别
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2020)03-0207-02
1 背景
目前,主流的人脸识别算法有基于几何特征、基于模板匹配、基于统计特征以及基于深度学习Ⅲ的方法。前两种方法由于识别准确度不够高而且易受光照环境的影响,因此不适用于工业露天环境。基于深度学习的人脸识别算法识别精度最高,但是其算法复杂、参数多并且训练时间长,不适用于移动端的考勤APP中。结合工业实情以及可操作性综合考虑,本文选取了属于基于统计特征的局部二值模式(Local Binary Pattems,LBP)方法。
LBP算法[2]能很好地描述图像局部区域[3]的纹理信息,在人脸识别领域,它具有识别准确高、对光照环境变化有很强的鲁棒性、算法复杂度低、效率高等特点。因此,利用LBP算法[4]实现移动端的人脸识别打卡,能在保证识别准确度的同时,兼顾系统性能。
2 LBP算子
对图像进行LBP算子运算,是人脸纹理特征提取的关键部分,基本的LBP算子是在3x3的像素区域内,将周围像素灰度值分别与中心像素灰度值进行对比,如图1所示,大于中心像素灰度值的取l,小于中心像素灰度值的取0。这样得到的8位二进制数就是新的中心像素的灰度值,定义为该区域的LBP值。
基础的LBP算子存在覆盖区域不全、数据量大、旋转可变等问题,于是本系统采用了改进的LBP算子。首先,将3x3的像素区域扩展为任意大小的圆形区域,形成圆形LBP算子,这样可以覆盖图像任意区域。然后,不断旋转圆形区域,按照公式2-1计算,可得到P个LBP值,P为外层像素点的个数,取其中最小的一个作为该区域的LBP值。这样,得到的LBP值具有旋转不变性。最后,采用等价模式的方法对LBP模式进行降维,即LBP值对应的二进制数如果发生最多两次跳变则认为等价。通过改进,二进制模式种类大大减少,在保证图像特征信息不丢失的情况下减少数据量。
3 功能方法设计
在实现基于LBP的人脸识别方法时,通过LBP方法提取人脸的局部纹理特征,然后将所有特征按照一定的方法组合成特征向量,得到人脸LBP特征存入后台,这就完成了APP人脸采集登记的过程,在人脸识别时,系统提取手机摄像头捕捉的人脸图像LBP特征,与后台存储的特征进行相似度计算,观察是否匹配。方法实现过程如图2所示。
具体实现步骤如下:
1)将人脸图像分割,划分不同区域。首先,对员工打卡时的图像进行人脸几何归一化,经过处理后的图像为IOOXIOO像素的标准人脸图像。然后,对人脸图像进行分割。一般来说,图像分割的越小,使用LBP方法提取的局部纹理信息越准确,但是算法的计算量也会增大。综合准确率和效率两个因素,本系统采用了4x4的分割方式,将人脸图像分割成16块25x25像素大小的图像,如图3(a)所示。
2)提取图像的LBP特征。本文采用领域为8半径为2改进的圆形LBP算子,对分割后的每块图像进行LBP计算,得到LBP特征图,其效果如图3所示。
3)计算特征直方图。步骤(2)得到的LBP特征图虽然具有较为清晰的纹理特征,但仍然是一幅图像,系统不能直接用来进行对比。因此,需要计算每块图像的特征统计直方图,即每个LBP值出现的频率,并进行归一化处理。本系统进行一次变换会得到16张对应特征统计直方图,图4只截取了从左至右、从上至下数,第2、3、10和II-共4个图像方块对应的特征直方图。
图4中,上面两张图是左眼和右眼区域对应的直方图,下面两张图是上嘴唇左边区域和右边区域对应的直方图,由于纹理相似,所以得到的直方图也有较高的相似度。
4)直方图相似度比较。将待识别的人脸特征直方图与系统后台存储的人脸模板特征直方图进行相似度比较,判别人脸是否匹配。常用的直方图相似度计算方法有Log概率统计、直方图相交以及卡方统计。本文选用了计算量稍大但效果最好的卡方概率统计方法[5]。假设已知的模板人脸特征直方图为Mn,待匹配的人脸特征直方图为Sn,那么计算的相似度值为:
其中,N表示一张人脸图里直方图的个数,在本文中即为分块的数量。按照以上公式,可以算出两幅人脸图像之间的距离,设置距离的阈值,根据距离值的大小来对比确认是否为本人打卡。
在考勤APP中,按照图3(a)进行的人脸分割,不同区块包含的人脸有效信息不一样,如人的眼睛、嘴巴和鼻子包含更多的特征信息。为了提高系统人脸识别的准确率,本文设计了一种方法,对不同区块的相似度计算设置不同权值,具体为:对分为16块的每块图像分别采用步骤(2)(3)(4)进行人脸识别,按识别率的比值来设置该块对应的特征直方图权重的大小。那么,直方图相似度的计算公式对应修改为:
在本文设计的考勤APP中,为了更为直观的判别人脸是否匹配,系统根据求出的卡方值查詢卡方分布表,得到此次人脸对比的置信度。然后,将置信度转换为相应的百分制。即人脸对比时,系统按上述过程计算后,最终返回的结果为0至100分。分数越大,代表人脸相似度越高,卡方距离越小。考虑到人脸识别的准确率和速率,本考勤APP设计的阈值默认为60分。当系统计算的分值高于60分,代表人脸匹配成功。否则,代表人脸匹配失败。
通过以上步骤,也就完成了整个人脸识别的过程。为了提高系统的灵活性,本文系统将人脸识别的分数阈值设置为可调状态。系统管理员可以根据企业实际情况,随时设置人脸匹配通过的相似度阈值的大小。
4 人脸识别性能测试
人脸识别考勤APP性能测试主要测试在工业露天环境下人脸识别的效率和识别的准确率,做到快速考勤,精準考勤。以70名男性和30名女性作为测试样本,其中戴眼镜的男性有50人,女性有10人,戴口罩的男性有30人,女性有20人,在不同条件下进行了多轮测试,人脸识别考勤测试的结果如表1所示:
考虑到工业露天作业环境较差,可能会存在大量灰尘覆盖在脸部,在光线良好脸部有灰尘的情况下,人脸识别准确率达到96%,平均识别时间在2s以内,在光线较弱的情况下,会略微影响系统识别的效率和正确率,但仍然满足考勤APP的要求。从实验数据分析可知,人脸是否佩戴眼镜对考勤的结果和效率几乎没有影响,但是戴口罩却极大降低了人脸识别的正确识别率。
经以上测试和对比分析,本文考勤APP中基于LBP的人脸识别方法可以有效提高企业考勤管理的效率,具有一定的实用价值。
5 结束语
本文选取了基于统计特征中的局部模式(Local Binary Pat-terns,LBP)方法实现考勤APP中的人脸识别功能,并进行了相关测试,经测试该方法可以有效提高工业企业考勤效率。
参考文献:
[1]邓智铭,陈帅帅.基于深度学习的人脸识别[J].信息与电脑:理论版,2018(11):149-150.
[2] Werghi N,Tortorici C,Berretti S,et al.Boosting 3D LBP-based face recognition by fusing shape and texture descriptorson the mesh[J]. IEEE Transactions on Information Forensicsand Security, 2016, 11(5):964-979.
[3]李根.基于局部特征和进化算法的人脸识别[D].长春:吉林大学,2014.
[4]高涛,何明一,戴玉超,等.多级LBP直方图序列特征的人脸识别[J]中国图象图形学报,2018,14(2):202-207.
[5]陈亮,龚俭.基于卡方统计的应用协议流量行为特征分析方法[J]软件学报,2010,21(11):2852-2865.
[6] DOLLAR P,TU Z.PERONA P,et al.Integral Channel Fea-ture[C]. British Machine Vision Conference, 2009: 5-16.