OCR 下的改进SIFT 人脸识别算法
2021-09-11霍春宝佟智波杨红喆王丹丹
霍春宝,杨 闯,佟智波,杨红喆,王丹丹
(1.辽宁工业大学 电气工程学院,辽宁 锦州 121001;2.锦州石化公司 矿区事业部,辽宁 锦州 121001;3.国网锦州供电公司 电力调度控制中心,辽宁 锦州 121001;4.上海应用技术大学 计算机科学与信息工程学院,上海 200235)
0 引言
人脸识别技术与其他生物特征识别技术相比,具有不易伪造、不易窃取、不会遗忘、不会侵犯,易分辨等优势[1],因而人脸识别技术在各个领域中被广泛采用,如银行、医院、机场等.近些年来,随着智能技术的快速发展,人脸识别技术开始与其他技术结合,实现更强大功能,例如,与活体检测相结合实现刷脸支付,与汽车的主控制系统相结合实现刷脸车启动,为用户提供全新智能体验.
人脸识别系统[2]可以分为:检测与定位,对图像中是否存在人脸进行判断并标记;图像预处理,对图像因外界因素影响导致的变化进行校正;特征提取,从高维图像中提取可以很好表征人脸特征的低维度特征向量;匹配识别,通过某种分类策略判断待识别人脸所属类别.
本文依据光学字符识别(Optical Character Recognition,OCR)技术中特征提取算法所具有的优势,将传统SIFT 人脸识别算法与LTP 算法结合,并进行改进,不仅增加特征对旋转、光照、噪声干扰等影响因素的鲁棒性,还降低了计算的复杂度.
1 人脸的关键点定位
通过对OCR 技术的结构特征研究分析,发现此类特征都是在字符关键点基础上得到,常见的字符关键特征点包括拐点、交叉点、端点、局部曲率最大的点等.结构特征不仅对相似字符有较好的识别能力,而且可以最大程度减少无识别作用的信息,以达到提高识别速度和识别率目的.
根据OCR 技术中结构特征优势思想,采用尺度不变特征变换(Scale Invariant Feature Transform,SIFT)算法进行关键点定位.SIFT 算法是一种基于尺度空间的特征提取方法[3-4],提取出的关键点具有尺度、方向和大小,因此在偏移、旋转、部分仿射变换的情况下,也能较好地进行识别,传统SIFT算法工作流程见图1.
图1 SIFT 算法工作流程Fig.1 Workflow of SIFT algorithm
1.1 高斯金字塔的基本原理
SIFT 算法的高斯金字塔[4-6]处理图像,不仅能够较好地描述物体的细节特征,还能保留整体的特征.
利用尺度可变高斯函数对原始图像进行卷积运算,通过改变空间尺度参数可获得不同模糊程度的图像,公式为
式中,x,y为像素点,pixel;σ为模糊尺度;金字塔每组包含S层,若第1 层的尺度用σ0表示,则第n层的尺度为
式中,k为放大比例系数,s为常数3.金字塔模型的整体呈塔状,见图2.
图2 高斯金字塔结构Fig.2 structure of Gauss pyramid
1.2 关键点检测
尺度规范化LoG(Laplacion of Gaussiom)算子具有尺度不变性,但运算复杂度高,所以采用高斯差分(Difference of Gaussian,DoG)算子进行近似.LoG 算子与尺度可变高斯函数之间的关系式为
DoG 算子的计算公式为
由式(6)可知,DoG 金字塔只需利用高斯金字塔中的图像进行简单相减即可得到.寻找某层的DoG 局部极值点,需要利用周围的26 个像素点进行比较.
图3 DoG 金字塔极值点检测Fig.3 DoG pyramid extreme point detection
去除对比度较低和边缘较敏感的极值点,只保留稳定性较高的极值点作为关键点.边缘敏感度利用了Hessian 矩阵进行判断,对比度利用DoG 算子的二阶Taylor 展开式
式中,γ越大表示主曲率越大,边缘的可能性越大,若式(10)成立,则表示此点稳定.
2 人脸的特征提取
OCR 技术的网格特征[7-9]具有良好的抗干扰能力,其主要思想是将子区域中所有特征值累计求和,通过这种方式可以在一定程度上降低或消除局部噪声和微小畸变对识别结果的影响.
依据网格特征的思想选择采用旋转无关的等价模式的LTP 特征,这是一种能够描述局部纹理的特征,对灰度变化、旋转和噪声都具有良好的鲁棒性,且计算速度快.本文特征在关键点为中心的9×9 区域中提取,见图4.
图4 LTP 的特征提取区域Fig.4 feature extraction area of LTP
2.1 LTP 局部纹理特征
局部三值模式(Local Ternary Pattern,LTP)算法[10-11]是在局部二值(Local Binary Pattern,LBP)算法的基础上提出,在继承LBP 特征优点的同时,还改善了对噪声的敏感度,提取更加丰富的局部纹理信息.三值量化函数为
式中,x i和xc分别为邻域像素点和中心像素点的灰度值.LTP 的编码公式为
式中,P为邻域像素点的个数;R为采样区域的半径.将三值图像分解为ULTP 和LLTP 这2 个LBP 图像,分别计算特征值,计算过程见图5.
图5 LTP 特征值的计算过程Fig.5 calculation process of LTP eigenvalue
2.2 特征值的旋转无关和等价模式处理
LTP 特征值的种类会随着采样点的增加而增多,易出现维数灾难.为降低特征维数并提高旋转无关性,需要进行旋转无关和等价模式处理.旋转不变处理的主要思想是首先将编码不断地按位进行旋转,得到一组大小不同的数值,并从中选择最小的值作为该点特征值,见图6.
图6 LTP 特征值的计算过程Fig.6 calculation process of LTP eigenvalue
旋转无关的计算公式为
式中,P和R分别为采样点的个数和采样区域的半径.等价模式是将小于等于2 次跳变的编码归为等价模式中的一类,其余的归为另一类.经过等价模式处理的特征能够在保留原始图像主要信息的同时,实现有效地降维.等价模式的计算公式为
式中,g0,gc分别中心像素点和邻域像素点.经过旋转无关和等价模式处理的特征值从256 种减少为9种.并在3×3 的子区域中统计LTP 特征值,可得到3×3×9 的特征,表示为
式中,hi(i=1,2,…,9)为子区域的LTP 特征向量.
3 匹配识别
本文提取的旋转无关和等价模式下的LTP 特征在SIFT 关键点的基础上得到,能较好处理识别中的脸部变化问题.人脸识别算法整体结构见图7.
图7 人脸识别算法整体结构Fig.7 overall structure of the face recognition algorithm
传统的SIFT 人脸识别算法使用的交叉匹配方式,不仅运算量大,而且会出现无关特征之间的匹配,对识别结果造成不利的影响.为了实现对应匹配,并弱化易受影响区域对整体识别率的影响,本文采用非均匀网格的方式对图像进行划分.
通过研究可知大多数关键点分布在五官区域,见图8.
图8 SIFT 关键点的分布Fig.8 distribution of sift key points
采用以双眼的内眼角作为垂直方向划分的依据,以“三庭五眼”先验知识作为水平方向划分的依据,将图像划分为3×3,见图9.
图9 非均匀网格Fig.9 non-uniform grid
根据特征所属的网格进行对应的匹配,并赋予不同的权值,通过加权方式计算整体相似度,弱化易受影响区域对识别准确性的影响.整体相似度的计算公式为
式中,si为第i个子网格识别率,%;wi为第i个子网格权重.
4 实验结果分析
人脸数据库中包含姿态、光照、偏转等影响因素下的人脸图像,保证实验结果的稳定性和客观性.研究分析可知额头区域存在的关键点较少,识别能力较弱,所以将标号为0、1、2 的子网格看作一个整体进行识别实验,其他子网格则按照划分的情况进行实验,结果见表1.
表1 人脸子区域的置信度与权重Tab.1 confidence and weight of face sub-regions
人脸库中选取4 种典型的姿态变化图像,包括左右偏转、上扬头、下低头和部分遮挡,部分测试样本见图10(a),同时选取不同光照情况下的人脸图像,部分图像见图10(b),验证本文人脸识别算法对姿态变化、部分遮挡和光照变化情况的鲁棒性.本次实验的识别率结果见表2.
表2 非理环境下的人脸识别率Tab.2 face recognition rates in unreasonable environment
图10 人脸库部分测试样本Fig.10 some test samples of face library
为保证实验的客观性,本次对比实验从人脸库中随机地选取200 张图像用于算法的识别率验证,每组重复10 次实验,取平均值作为识别结果,对比见表3.
表3 人脸识别算法的对比实验结果Tab.3 comparative experimental results of face recognition algorithms
由表2 和表3 中的实验结果可知,本文改进的SIFT 识别算法不仅提高了识别率,还较大程度地降低了识别过程所消耗的时间,同时对于姿态变化、部分遮挡和光照变化等非理想的人脸图像也有较好的识别率.
4 结论
实验结果表明,改进的人脸识别算法具有较好的识别率和识别速度:
(1)降低基于SIFT 关键点的人脸特征维数;
(2)减少不同子区域间交叉匹配的复杂度;
(3)通过LTP 算法对人脸特征进行描述,增加了特征对姿态变化、噪声干扰以及光照变化的稳定性.