孟 辉 高德施 李 颖 谭鑫宇 付相天
(1 中国刑事警察学院声像资料检验技术系 辽宁 沈阳 110035;2 青岛市公安局崂山分局 山东 青岛 266000)
随着信息技术的迅速发展及公安信息化建设进程的不断深入,人脸识别技术在犯罪嫌疑人的身份认定、户籍信息管理、追逃工作及重点场所布控等反恐安防领域发挥着越来越重要的作用[1]。人脸识别作为生物特征识别的一个分支,是模式识别和计算机视觉中一个非常活跃的研究领域。相较于其他的生物识别方式,人脸识别具有识别方式友好、识别结果直观、识别过程隐蔽等优势,这些特点的存在使得人脸识别技术在公安工作中的应用具备了天然的优势。
人脸识别技术的实现可以通过3个技术流程,分别为人脸检测、特征提取及人脸比对。
(1)人脸检测:在输入图像中检测人脸并定位出人脸的具体位置,通常用人脸的最小外接矩形表示人脸大小、位置。
(2)特征提取:对步骤(1)中定位出的各个人脸,通过空间变换、降维、机器学习等方法对其人脸特征进行提取,并使用特征向量的形式表示人脸特征,即一张人脸图像唯一的对应一个特征向量,而该特征向量通过变换唯一的对应原始的人脸图像,通过该步骤可以建立人脸图像和其特征向量的对应关系。
(3)人脸比对:将待比对人脸的特征向量与库内人脸的特征向量进行比对,可以利用向量的空间距离、向量的范数等作为衡量特征向量之间相似程度的度量,选择向量相似程度最高的人脸图像为人脸比对结果,进而获取待比对人脸的详细身份信息。
相较于指纹识别、虹膜识别等传统的生物识别技术,人脸识别在公安应用过程中的优点:
(1)比对操作具有隐蔽性:通过摄像头获取的人脸图像可以在犯罪嫌疑人没有察觉的情况下,在后台服务器上运行比对程序,进而获取其详细身份信息,由于比对过程的隐蔽性,因此人脸识别技术特别适用于犯罪嫌疑人布控与抓逃过程。
(2)非接触式的信息采集:人脸识别不同于指纹及虹膜识别,其采集过程可以通过摄像头远程完成,即不需要被采集人与设备接触即可采集相关信息,信息采集过程没有侵犯性,更容易让人接受。
(3)符合人脸识别习惯:人脸识别与人类本身识别人的识别过程类似,并且其识别结果可以通过人眼观察即可验证,因此人脸识别相较于指纹、虹膜识别等其他生物识别方法更符合人的生物习惯,且具有更强的交互性和可操作性。
(4)设备适应性较强:人脸识别系统建立之后,通过任意摄像头拍摄的人脸图像均可作为人脸识别系统的输入,不需要专门的设备拍摄人脸,因此该技术设备适应性较强。
目前,人脸识别技术在公安工作中的应用领域大致可以分为以下几个方面:
(1)重点场所安防:人脸识别设备可以作为安防卡口布设在需要重点安防的政府机关、大型集会等场所的出入口处,记录进出人员的身份信息,一经发现异常人员,可以及时通知现场工作人员对其进行合理处置,以此确保重点场所内部安全。
(2)司法鉴定:通过科学合理的技术手段完成检材人脸图像与样本人脸图像及检材人脸图像与犯罪嫌疑人之间的相似程度计算,通过相似程度的计算结果完成犯罪嫌疑人的同一认定,同时,相似程度的计算结果可以作为证据量化的参考结果,为司法审判过程提供更加精确的证据数据。
(3)布控排查:在人流密集、人员组成复杂的机场、车站、港口、地铁站、大型集会及展会现场出入口布设人脸识别设备,可以通过人脸识别结果对进出人员的身份进行排查,迅速、准确地在大量人流中过滤出犯罪嫌疑人员,极大地减少了公安基层侦查人员的工作量。
(4)户籍管理:由于人脸特征具备唯一性,因此,可以通过户籍系统中的人脸图像比对排查甄别多重户口现场,准确获取双重、多重户口的人员信息,进而对其多余信息进行注销,避免其利用户口信息实施犯罪。
(5)特殊人群身份确认:可以通过人脸识别技术对无名尸体、聋哑人、低龄儿童等特殊人群进行身份确认,为公安基层工作人员提供便利,最大限度地发挥人脸识别技术在公安工作中的应用。
除了实战应用较多之外,公安人脸识别研究还在人像检验中的人脸特征分类和人脸表情识别等领域有着较为广阔的研究及应用前景[2-3]。
目前,主流的人脸识别方法可以大致分为基于几何特征匹配的方法、基于特征脸的方法、基于束图匹配的方法、基于神经网络的方法、基于支持向量机的方法和基于隐马尔科夫模型(HMM)的方法。基于几何特征匹配的方法通过提取人脸图像中的几何特征进行人脸识别[4],由于其计算量大、识别准确率低等缺点,并没有大规模应用。特征脸方法利用主成分分析将人脸图像映射到低维空间实现降维的目的。文献[5]中,提高算法准确率的同时降低了运算复杂度,但是该方法对人脸图像光照和角度变化的鲁棒性较差,基于特征脸的人脸识别方法在ORL数据库上获得了90.5%的准确率。近年来,基于隐马尔科夫模型的方法成为人脸识别领域的研究热点。文献[6]中,Samaria等人提出使用人脸图像灰度信息作为特征向量的HMM人脸识别方法,该方法在ORL数据库上的识别准确率达到87%。文献[7][8]分别以DCT系数和小波变换系数作为特征向量,使用HMM建立人脸模型的方法都取得了较高的人脸识别准确率。
本文在基于隐马尔科夫模型的人脸识别方法基础上,对人脸图像采用了中值滤波器进行预处理,以消除人脸图像拍摄过程中闪光灯、环境光等对造成人脸图像中某些高光亮斑对人脸识别结果的影响,一定程度上提升了人脸识别准确率。
隐马尔科夫模型是用来描述一个含有隐含未知参数,即状态的马尔科夫过程。其难点是从已观察的数据中确定该过程的隐含参数,然后利用这些参数来作进一步的分析与挖掘。对于如图1所示的一张垂直方向正面人脸图像来讲,可以把其上的每一个像素点的像素值作为隐马尔科夫模型中已获取的观察值,而把其垂直方向上的面部器官排列,即额头、眼睛、鼻子、嘴巴和下巴作为其隐含状态,其状态转移图如图2所示。对于任意一张人脸图像而言,其像素值是可观测状态,即观察值,而其隐含状态是不能根据像素值观察得到的,因此需要一个随机过程去描述隐含的状态,即“隐马尔科夫模型”。
图1 正面人脸示意图
图2 人脸马尔科夫状态转移示意图
基于隐马尔科夫模型的人脸识别实际上就是通过人脸图像的像素值,即观察值估计其隐含状态的参数,其隐含状态的参数就是基于隐马尔科夫的人脸模型,通过观察值估算其隐含参数的过程就是建立人脸模型的过程。
隐马尔科夫模型隐含状态的参数可以用5种参数进行描述:
(1)N:隐马尔科夫模型中的状态数。
在隐马尔科夫模型中,可以用π,A表述一个随机过程,其输出为状态序列,用B表述另一个随机过程,即状态序列到观察序列的随机过程,序列长度可以用字母T表示。隐马尔科夫模型的组成如图3所示。
要想使用隐马尔科夫模型解决人脸识别的问题,需要解决的是对于一个给定的观察值序列即给定的一张人脸图像,如何调整隐马尔科夫模型参数从而使最大。
为了在参数估计问题中得到更准确的结果,本文采用Baum-Welch算法估计参数。Baum-Welch算法引入辅助变量,并通过迭代的思想对模型参数进行更新,从而求取的局部最大值,最终实现模型参数估计的目的。Baum-Welch算法的使用过程中,需要定义两个辅助变量
图3 隐马尔科夫模型的组成
使用前向向量α
和后向向量β
可以得到:
Baum-Welch算法的计算流程为:
在人脸识别过程中,只需要找到与待识别人脸图像的隐马尔科夫模型参数相似度最高的人脸模型,以及可判断出该人脸属于哪一个样本人。在识别过程中,给定模型参数和观察序列后,估算观察序列对应的最优状态序列。可以使用Viterbi算法解决最优状态序列:对于给定的HMM模型和观察序列O=O1O2…,OT,如何确定一个最优的状态序列状态序列估计问题中,最优的状态序列为能使概率最大的状态序列。
本文采用Viterbi算法解决最优状态序列的问题。Viterbi算法原理是将定义为时刻t沿一条路径的概率的最大值:
(2) 进行递归运算:
(3) 结束:
(4) 求取最优状态序列:
Viterbi算法也是一种格型结构,在进行运算的过程中得到的作为副产品可以作为前向后向算法的结果。
在基于图像的人脸识别过程中,人脸图像的成像效果会随现场环境光线的强弱、环境光线的角度、镜头角度及人脸角度等因素的变化而变化,这种变化会造成人脸各器官之间的相对位置及像素值大小发生改变,从而对基于隐马尔科夫模型的人脸识别结果造成影响。在不同人脸角度条件下拍摄的人脸图像如图4所示。
图4 不同人脸角度下的人脸图像
为了降低由于拍摄条件变化导致的隐马尔科夫模型参数变化,也为了消除人脸隐状态(即五官)内部像素的像素值突变造成的状态转移参数变化,本文在建立人脸图像的隐马尔科夫模型之前,引入了人脸图像预处理操作。即利用中值滤波器对人脸图像进行预处理之后,将预处理结果作为观察值估算隐马尔科夫模型参数。在采用3×3大小的中值滤波器之后,图4人脸图像变为如图5所示效果。
从图5中可以看到,人脸隐状态内部像素的像素值趋于一致,同时人脸角度变化,在人脸图像中造成的阴影和五官变形也在一定程度被均值滤波器抵消了。因此,在隐马尔科夫模型建立之前,对人脸图像的均值滤波处理能够提升人脸模型的精度。
在人脸图像预处理后,还需要获取人脸图像的观察值序列,才能够实现隐马尔科夫模型参数的估算。为了能够在降低观察值序列维数的同时获取更高的识别精度,本文采取奇异值分解的方法获取观察值序列。使用宽度为W像素,高度为L像素的滑动窗自上而下遍历整个人脸图像,相邻两个滑动窗之间重叠高度为P像素,如图6所示。对每个滑动窗区域的图像进行奇异值分解,分解后得到3个矩阵(U,Σ,V),取Σ11、Σ22、U11作为该滑动窗区域图像的观察值,所有滑动窗经过的图像部分的观察值,即组成该幅人脸图像的观察值蓄序列。
图6 滑动窗示意图
上述计算过程完成后,即可进行人脸隐马尔科夫模型的建立。所谓建模,就是通过数据库中的人脸图像获取该人脸的隐马尔科夫模型参数的过程。本文采用ORL人脸数据库验证改进方法的有效性,该数据库中共包含对40个样本采集到的400张人脸图像,每个样本采集10张不同角度、表情的人脸图像。随机选取每个样本10张图像中的5张作为训练集,训练过程如下:
(1)对滤波后图像进行滑动窗分割,并计算每个窗口的观察值。
(2)初始化隐马尔科夫模型参数。
(3)用Baum-Welch算法迭代计算最优的隐马尔科夫模型参数,即获取人脸隐马尔科夫模型。
人脸识别过程:隐马尔科夫模型的识别过程,即为通过输入人脸图像计算其属于每个人脸隐马尔科夫模型的概率,概率最大的隐马尔科夫模型即为识别结果:
(1)对滤波后图像进行滑动窗分割,并计算每个窗口的观察值。
(2)用(1)中获取的观察值用Viterbi算法计算与每一个隐马尔科夫模型的匹配程度。
(3)选取概率最大的隐马尔科夫模型作为识别结果。
选取除训练数据外的人脸图像作为测试集测试算法有效性,实验显示,本文提出的方法人脸识别率能够达到95.7%,而未经过图像预处理的马尔科夫模型方法识别准确率仅为88%。
本文基于隐马尔科夫模型建立人脸统计模型,并就模型训练、识别过程中的人脸状态划分、人脸图像预处理、观察向量计算方式等过程进行研究,并提出了基于中值滤波器的人脸图像预处理方法。在ORL数据库上的实验结果也验证了该图像预处理方法的有效性,能够满足当前公安工作需求。