周泽聿 王郑 刘甲伟
摘要:该文详细阐述了根据一张照片做出若干年后的预测并生成照片的过程。模型基于较成熟的AAM特征提取技术来对照品做出预处理,并且根据脸庞轮廓曲率的接近度筛选出相似人群以合成个性人脸,再做出若干年后个性人脸轮廓以及皱纹预测,最终利用小波图像融解与合成技术进行预测个性图像的合成。
关键词:AAM特征提取;小波图像; PCA向量降维
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2018)35-0180-02
1 概述
一个没有经历面容非自然性改变的人,其年轻的容貌是相似于其年老时的面容的。在日常生活里,我们会看到一个人的两张不同年龄段的照片,以分辨是不是同一个人。我们希望通过一个人在年轻时的面部照片来预测其过若干年后的容貌,也希望做到通过一个人在较大年龄时的照片来还原其年轻时的容貌。
对于人体面部的衰老模式不能總是用同一种,要根据不同类型的人做出不同的衰老类型。问题可以分为三个部分:提取出人脸的面部特征,描绘出个性人脸的变化,再将人脸的预期与提供的照片做融合。人脸识别方面的研究已经有许多成熟的算法,提取人脸的面部特征已经有相对成功的ASM算法,利用它我们可以很好地提取出所需的特征,并据此对人脸进行刻画和修改。所以此部分不再是本文讨论的重点。
为了能更好地模拟每个人不同的面部变化,我们希望尽可能做出与众不同的个性人脸变化。为此我们先从FG-NET数据库中载入了大量的人脸数据,接着,为了简要的描述面部特点,我们在人脸的轮廓上选取了关键点,以这些点拟合出三次样条曲线来代替人脸曲线,然后在每个选取点附近求其曲率的标准差,若标准差小于预定的阈值可以判断为相似人群。之后对这些照片的特征向量取平均值作为个性人脸的特征向量,也就成功做出了个性人脸。
得出一系列的个性人脸之后,我们需要的年龄段没有已存在的我们所需人脸数据。因而需要对数据库的人脸数据进行拟合,来得到各个年龄的个性人脸,来解数据不充分的问题;在得到待求年龄应有的轮廓和皱纹变换后,我们利用WARP进行图像仿射变换就可以根据需要对轮廓进行变化[1],皱纹方面我们先是运用移动最小二乘法图像变形算法对皱纹进行符合人的面部器官以及轮廓的变形,再运用小波图像分解和融合进行皱纹与人脸的融合,据此得到最终的预测人脸图片。
2 基于主动外观模型(AAM)算法
AAM算法是一种基于主动外观模型的图像分割算法,其原型为ASM算法。该方法首先需要我们构造一个事物的主动外观模型,这需要一个训练集。接着进行分割图像,即将在需要分割的图像里面,去寻找刚才的训练集收集的关于该事物的特征,然后将其与整个图像分离。AAM算法的几个重要步骤如下所述:
(1) 建立外观的统计模型
构建的过程有以下三个部分:形状建模,纹理建模与组合建模。通过相应建模,可以获得一个统一的模型参数c,根据公式生成新的模型实例:
[s=s+ΦsW-1Φc,sc, t=t+ΦtΦc,tc, Φc=Φc,sΦc,t] (1)
其中s为形状,t为纹理,[s]为平均形状,[t]为平均纹理,[Φ]为特征向量矩阵。
(2) 主动的外观模型
其中, AAM模型(AAM)进行特征检测的核心步骤是搜索匹配过程。该过程从粗疏初始化的完整外貌模型开始,通过迭代优化对模型的参数进行优化,使得模型由目标图像逼近,从而确定特征点的位置[2]。首先,残差向量R被定义为表示当前模型与目标图像之间的差异。模型参数为P:
[r(p)=δt(p)=timage(p)-tmodel(p)] (2)
可以使用向量r中的元素的平方和[E(p)=rTr]衡量残差向量r大小。
r在p?处的一阶泰勒展开式为:
[r(p*+δp)≈r(p*)+?r(p*)?pδp] (3)
我们的目标是优化参数,将残差向量变为0,进而得到p+.根据L2标准,选择[argminδp|r(p*+δp)2|]式的最小二乘解为:
[δp=-(?rT?p?r?p)-1 r(p*)=-Rr(p*)] (4)
根据式(4),我们可以构造出一个迭代算法,解决该优化问题。该算法中的迭代有以下步骤:
(1) 残差向量[r=timage-tmodel]以及现在的误差[E=|r2|]的计算;
(2) 预测偏移[δp=-Rr(p)]的计算;
(3) 模型参数[p→p+kδp]的更新,k的初始值为l;
(4) 新的模型形状s?和纹理[t′model]的计算;
(5) 使用新的模型形状重新对目标图像进行采样得到[t′image]:
(6) 计算新的剩余向景[r′=t′image-t′model];
(7) 如果[|r′|2<E],则接受新的估计值;否则,尝试k =0.5,k = 0.25...
当误差[E=|r2|]不再减小时,迭代过程停止。步骤完成后,效果图如下,其中(a)为输入图像,(b)为初始模型,(c)为一次迭代后的模型图像,(d)为五次迭代后的模型图像,(e)为最终模型图像。
3 基于局部曲率标准差的匹配算法
我们将讨论基于人脸轮廓输入率的标准偏差的个性化人脸匹配算法。整个算法可分为以下步骤:
(1) 建立不同年龄人脸的人脸数据库,根据性别和年龄分为不同的类群,将库中的每个图像和输入图像从第二到第四步进行处理;
(2) 采用AAM算法提取人脸图像的特征点。
(3) 选择最能代表面部特征的特征点,并使用三条样条曲线来拟合这些特征点。
(4) 计算每个特征点的曲率和这些曲率的局部标准偏差:
(5) 根据第四步的标准偏差,以选择最接近的图像。
4 基于小波融合的纹理增强
原型图像的平均化方法通常会导致与年龄密切相关的高频信息的丢失,例如皱纹和年龄斑。所获得的原型图像过于平滑,不能代表群体人脸图像的年龄特征。在构造原型的过程中,基于小波的纹理增强可以改善这一问题。纹理增强的目的是放大图像的非频率信息。我们选择Gabor函数的实部作为高通滤波器,利用三B样条函数作为低通滤波器来构造由原型构成的每个图像的金字塔。一維Gabor函数有两种表示形式分别为式(5)式(6):
[g(x)=ej(ax+θ)e-(x22σ2)] (5)
[gr(x)=cos(ax+θ)e-(x22σ2)] (6)
考虑到需要正确提取老化特征并提高系统的效率,我们使用水平和垂直两个方向对皮拉米德图像进行分解。
G是高通滤波器,H是低通滤波器,下标X和Y分别表示水平和垂直方向的滤波。由此,可以得到更具代表性的每个分量的纹理信息的图像。处理后的图像的振幅,更接近于合成时图像的平均振幅。
对于小波子带w,计算N图像的平均值w。通过将其与每个图像后的平滑图像的平均值[σ]相乘,然后将图像分割为图像的边缘特征来表示能够表示N图像的边缘特征的值V(x,y)。如果需要得到具有纹理增强效果的原型,我们用V代替W即可达到图像的重建效果。
5 结合优化的双边滤波器的返老还童模型
(1) 双边滤波模型
其基本模型如下:
[g(i,j)=k,lf(k,l)w(i,j,k,l)k,lw(i,j,k,l)] (7)
其中:
[w(i,j,k,l)=exp(-(i-k)2+(j-l)22σ2d)?exp(-||f(i,j)-f(k,l)||22σ2r)] (8)
通过对模型的定性分析可知,边缘区域的像素值的差异[||f(i,j)-f(k,l)||2]不一,反映到式(8)上就是[exp(-||f(i,j)-f(k,l)||22σ2r)]非常小,从而权值w(i,j,k,l)非常小,起到保持边缘的作用。
(2) 测试与参数校正
由于边缘保持平滑滤波器受到两种不同参数的影响,为了避免因参数选取差异而导致的滤波器效果上的差异,因此需要测试其在不同参数组合,进而得出效果受参数的影响程度,测试结果得出,对于双边滤波器,σr对于边缘保持的影响较为明显,随着σr的增加与边缘的模糊程度保持着正相关。而σs则与图像整体的平滑水平具有关联。
经过实验与理论的分析,我们可以得出对于双边滤波器,当参数为σs= 4,σr= 0.4时最优。
(3) 基于图像仿射反向变换的综合人脸还原模拟
人脸的形状变换的原理是基于图像变形技术的Delaunay三角剖分模型,只需对其反向利用,即对于变化梯度取逆即可。其最终效果如图所示。
6 结束语
通过测试不同参数与不断对比可行的方案,我们证实了该算法的有效性,核实了该算法在保障图片效果基本保持稳定的前提下,极高的提升运行效率。
随着计算机技术和光学成像技术的进步和提高,人脸识别系统得到快速发展。而人脸形状与纹理变化是判断人脸识别系统的性能的重要因素,这需要科学研究进一步的研究与创新。
参考文献:
[1] 胡伟平.基于回归分析的人脸老化模型构建[D].广西科技大学,2016.
[2] 曹玫璇.人脸图像的衰老合成研究[D].浙江大学,2008.
[通联编辑:代影]