基于人脸特征定位的SNS网站应用组件研究与设计
2017-01-12吕鑫李月军
吕鑫+李月军
摘 要: 针对国内SNS网站进行调研,分析用户群体特征及社会心理,剖析SNS网站流行的原因,在此基础上提出了在SNS网站上运营好一款人气高、粘性强的应用组件。实验研究并分析了主动形状模型(ASM)和受限局部模型(CLM)的优缺点,提出将两者优点结合的人脸面部特征定位提取方法,设计开发了一款应用组件产品。通过用户上传照片或在线拍摄,捕捉出人脸头像及面部特征,并按照用户在图像库中选择的照片进行合成,生成一张具有两张人脸特征的新头像。将组件接入SNS网站,通过一段时间的运营数据分析,结合互联网的实际应用,提出对组件进行优化的方案。
关键词: 人脸检测; 特征定位; SNS网站; 应用组件
中图分类号: TN911.7?34; TM417 文献标识码: A 文章编号: 1004?373X(2016)23?0170?04
Research and design of SNS website application component based on face feature location
L? Xin, LI Yuejun
(College of Optical and Electronical Information Changchun University of Science and Technology, Changchun 130000, China)
Abstract: The SNS website in China is investigated to analyze the user group characteristics and social psychology, and dissect the popular reasons for the SNS website. On this basis, how to better operate a high?popularity and strong?stickiness application component on SNS website is proposed. The advantages and disadvantages of the active shape model (ASM) and CLM are studied and analyzed by the experiments. The face feature location extraction method combining with the advantages of the models is proposed. An application component product was designed and developed. The head portrait and face feature are captured by means of the user photos upload and online shoot. The photos selected in the image library by users are synthesized to generate a new head portrait with two face features. The component is accessed into the SNS website. On the basis of analyzing the a period of operation data and combining with the practical application of the Internet, the optimization scheme of the component is proposed.
Keywords: face detection; feature location; SNS website; application component
0 引 言
人脸识别是当前人工智能和模式识别的研究热点,就其技术本质而言,是通过图像采集设备获取用户的面部图像,再对其脸部的特征进行计算分析,进而和自身数据库里已有的样本进行比对,最后判断出用户的真实身份。人脸识别是当前人工智能和模式识别的研究热点,在家庭娱乐、互联网等领域已经有了一些有趣的应用,比如有一些智能玩具、机器人能够识别家人的身份;某些游戏具备玩家真实面像等[1]。但目前人脸识别的广泛应用性较弱,尤其是针对当今流行的SNS社交网络平台。
1 基于SNS网站用户的需求调研
1.1 用户基本特征分析
目前国内主要的SNS网站用户中,男性用户数量显著高于女性用户,其在男性网民中的渗透率也高于女性网民。当前国内SNS网站用户中,男女用户比例约为0.621[∶]0.379。与整体网民年龄分布相比,SNS网站用户更具低龄化特征,其中30岁以下用户占九成以上。目前21~25岁这一年龄组为SNS网站用户的主力军,占整体的四成以上(42.7%);其次为16~20岁年龄组,约为三成(30.6%);30岁以下的用户占SNS网站用户的90%以上。
1.2 用户行为分析
1.2.1 功能应用概况
SNS网站的主要功能有隐私设置、日志功能、相册功能、参与群组、分享功能、组建游戏,各功能的使用情况如图1所示。
1.2.2 每周登陆SNS的情况
超过50%以上的用户每天都有登陆,近一半的用户每次登陆SNS停留的时间在半小时。如图2,图3所示。
2 算法实现与系统开发
2.1 基于Haar小波变换的人脸检测算法
Haar是小波函数的一种,在图像处理中采用小波变换提取特征应用非常广泛[2]。使用小波模板的好处是:它可以利用图像小波系数的子集来定义和描述对象的形状;它对于颜色和纹理的改变保持不变性:能够定义复杂的对象实体;基于小波模板的模型可以从实例中学习得到,不需要运动信息和显式的图像分割信息。
如果选择所有包含人脸的窗口的某个特征的平均值与背景噪声的平均值有一定差距,那么就可以利用这种特征作为人脸特征。后来积分图像的概念又被引入,实验发现不同方向上的小波系数(水平、垂直、对角线)可以组合成具有很好区分度的特征向量[3]。因此可以快速计算人脸类Haar特征。
基于Haar小波算法的人脸检测方法主要通过Adaboost算法学习训练出基于Haar小波变换的人脸检测器,对肤色区域进行检测确定人脸区域,对人脸区域利用人眼和嘴的颜色特征提取出眼、嘴的候选区域,最后根据面部器官的几何结构关系利用模板匹配的方法确定眼睛和嘴部的位置。
2.2 构造Adaboost的分类器
Adaboost算法是利用大量分类能力一般的弱分类器通过一定的方法叠加,构成分类能力很强的强分类器[4]。理论上,只要弱分类器的分类效果比随机分类好就可以构造出强分类器,其分类错误率趋于零,并具有很好的泛化能力。采用Adaboost算法做特征选择的一个原因是其得到的特征集可以一一对应到原始特征中,具有明确的物理意义[5]。在进行特征提取时,只需在指定的采样位置、尺度和方向上计算出滤波结果,可以大幅减少计算量和存储量。
首先,建设一个人脸头像数据库,从互联网和照相馆收集了上千张带人脸的图像和上千张非人脸的图像作为样本,并将每个图像的尺寸像素归一化,统一为400×500像素。接着通过Adaboost算法训练出轮廓、眉毛、眼睛、鼻子、嘴各项特征值,得到多个弱分类器。
另外,保证单个弱分类器也能达到理想的训练结果,采用局部Haar特征的AdaBoost学习方法,对每个样本都赋予一个权值,然后进行迭代训练,每次训练后筛选出正确率最高的分类器,最终将多个弱分类器合称为一个强分类器。该方法的优点在于计算简单,不足之处在于包含的信息量较少。
2.3 面部特征提取算法
2.3.1 基于主动形状模型面部特征定位算法
(1) 建立主动形状模型(ASM)
在每一个正面人脸头像样本上手工标注60个特征点,所有的特征点标注的位置主要是脸部轮廓区域、眉毛、眼睛、鼻子和嘴。定义方式如表1所示。
基于ASM提出了一种自动人脸脸型分类方法。首先利用各种脸形的样本进行训练以建立脸型形状模型库,然后运用ASM算法自动定位测试样本的正面人脸形状,比较其与各个脸型形状模型的距离,最后应用最近邻方法实现脸型的自动分类。仿真实验表明,该方法优于利用人脸轮廓曲率或下颌曲率的方法,能够充分挖掘人脸形状信息,分类结果稳定准确,可以有效提高大库人脸识别的速度和准确率。
(2) ASM迭代步骤
对于一幅给定的新图像,ASM迭代过程如下:
① 预处理:对输入图像与训练集的人脸图像进行三层金字塔采样,初始形状估计;
② 针对60个特征点进行局部寻优;
③ 更新相似变换参数和形状参数[p,]并对其进行约束;
④ 判断是否进入下一层进行搜索;
⑤ 是否满足收敛条件[Δp≤ε]或达到最大迭代次数。
(3) ASM定位结果及分析
ASM定位实验结果如图4所示。
图4 ASM定位结果
ASM定位的优点:建模方便快捷;算法收敛速度快,运算效率高;对初始位置要求不高,搜索范围大;对光照变化的适应性较强。
ASM定位的缺陷:特征点定位精度较低;局部搜索采用固定模板向量,搜索方向单一。
2.3.2 基于受限局部模型面部特征定位算法
利用Haar小波算法检测出人脸位置以及眼睛、嘴的大概区域,接着,利用受限的局部模型算法可快速收敛得到人脸的轮廓、眉毛、眼睛、鼻子及嘴边缘。
基于受限局部模型(CLM)和凸二次匹配(CQF)的面部特征点[6]定位实例如图5所示。
CLM定位的优点:算法收敛速度快,运算效率较高;收敛成功时,特征点定位精度很高;对光照变化和未知纹理变化适应性很强。
CLM定位的缺点:建模复杂,每片分类器需要单独训练;对初始位置要求较高,搜索范围小。
2.3.3 基于主动表观模型的特征点定位
主动表观模型(AAM)是对ASM的直接扩展。与ASM相似,AAM同样需要采用统计分析的方法建立先验模型,然后利用先验模型对图像中的目标物体进行匹配运算。其优点在于该模型不仅包含目标物体的形状信息,而且还包含目标物体的内部纹理信息。纹理信息一般是组成目标物体像素的灰度值。同时选择合理的匹配参数以提高匹配速度,使得AAM的定位能力更加健壮,定位效果更加准确。
(1) 统计并建立形状模型。统计模型的建立需要分三个步骤:
首先是获取样本图像中的信息;其次是样本图像集的归一化处理;最后是对归一化处理的数据进行统计分析,建立统计模型。
(2) 纹理参数化模型的建立。获取人脸库中人脸形状轮廓区域内所有像素的灰度值,也就是提取形状无关的纹理值向量。然后利用主成分分析法对形状无关的纹理进行分析建模。
(3) 获得形状图像。将训练样本的人脸图像形变到平均人脸形状中,使向量的维数统一起来并具有相同的对应关系。
2.3.4 ASM与CLM,AAM算法的比较
从图6中对三者的对比实验可以看出,每一种方法都不完美。为结合ASM与CLM的优点,提出了一种优化的人脸面部五官特征定位算法[7],该方法先基于主动形状模型的算法搜索出人脸轮廓及眉毛、眼睛、鼻子、嘴的基本区域,再通过CLM的局部精度搜索确保识别的准确性。
图6 ASM,AAM和CLM算法性能比较实验
2.4 实验验证结果分析
(1) 选取人脸样本
实验从Google以及照相馆收集了500张人脸免冠照片作为图像样本,其中100张为背景单一的证件照片,100张为背景单一、侧脸不超过15°的照片,100张为平面旋转角度不超过90°的照片,100张为背景复杂或光线较暗的照片,另外100张背景单一的正面照片作为变脸库模板。图片统一裁剪为400[×]500像素。
(2) 测试环境
在局域网环境下,使用Intel奔腾双核E5400,2GB内存,Windows XP profession SP3的DELL Vostro V220商用台式机,对人脸样本进行测试。测试项分为:人脸检测、脸部轮廓区域定位,眉毛眼睛鼻子嘴巴的五官定位,如图7所示,测试结果如表2所示。
由表2可以看出,基于Haar小波算法的人脸检测技术对于图像的人脸检测正确率很高。在五官特征点定位方面,采用ASM与CLM融合的特征定位算法对“证件照”和“旋转照片”的识别效果较理想,对于“侧脸照片”和“背光照片”的识别率稍低。总体来说,本文提出的基于主动形状模型与受限局部模型相结合的特征定位算法能够运用于产品的开发。
根据系统的最终目标,是要得到两张照片的合成效果。接着,选取100张证件照片与变脸库模板进行合成。在同样的测试环境下,输出一幅400[×]500像素的新人脸的时间为50 ms。
2.5 系统实现和架构
2.5.1 系统流程设计
考虑到SNS网站应用组件的特性,即操作简便,有趣味性,组件的流程设计步骤如下:
(1) 用户登陆SNS后在应用页面可以选择添加组件,添加组件后可进入首页。
(2) 用户根据自己的需求,既可以从本地上传一张符合要求的照片,如果条件可以,也能选择在线拍摄一张头像。
(3) 进入人脸检测、五官定位识别流程,该步骤由程序自动完成。
(4) 选择想要变成的明星模样。
(5) 变脸完成,输出结果。
2.5.2 服务器软件架构
本系统主要采用三层体系架构的方式,即数据层(DAL)、逻辑层(BLL)、表示层(UI) [8]。所谓三层体系结构是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
分层式结构的优势如下:
(1) 开发人员可以只关注整个结构中的某一层;
(2) 可以很容易用新的实现来替换原有层次的实现;
(3) 可以降低层与层之间的依赖;
(4) 有利于标准化;
(5) 利于各层逻辑的复用。概括来说,分层式设计可以达到如下目的:分散关注、松散耦合、逻辑复用、标准定义。
2.5.3 服务器硬件架构
整个硬件架构系统包含数据库服务器、Web服务器、负载均衡器、备份服务器、监控系统。考虑到系统包含了大量用户信息及图片信息,且数据量日益增长,需要的存储空间较大,一旦受到破坏或是数据库服务器硬盘存满,就会对用户产生负面影响,因此在硬件架构中提出一套简单易用的备份方案。
(1) 备份方法:增量备份和实时备份。对用户上传的照片以及完成变脸的照片实行增量备份,增量数据备份只备份新创建的文件,所以可以加快备份的过程;而对数据库的增删情况实行实时备份。
(2) 备份设备:主要从经济性和易用性的角度出发,选用DELL刀片式服务器,购买了多块较大较快的硬盘,并做了RAID0,保证数据存储传输的性能。
2.5.4 系统的界面设计与功能实现
本系统属于娱乐工具类的应用软件,在满足SNS网站设计规范的前提下,页面的整体风格主要追求简洁,加上运营平台是人人网,学生用户、年轻白领用户居多,因此页面设计中加入了少许可爱的图标。系统首页的上传功能页包含用户上传照片、人脸检测、五官定位识别等功能。首先从本地选择上传一张照片,然后通过网页提示进行操作。完成之后,页面跳转至组件首页,此时可根据自己的喜好选择右边区域内的明星模板,完成之后,点击中部区域内“我变”,即完成了变脸操作。
3 结 论
本文对人脸检测方法和五官特征点定位算法进行了详细地介绍和深入研究。重点分析了人脸检测方法,并对传统的主动形状模型、主动表观模型、受限局部模型算法进行了对比实验分析,提出一种结合ASM和CLM两者优点的优化算法。然后对人脸识别技术在SNS网站中的应用进行深入地探讨,结合SNS网站特点及应用组件规范,开发了一款应用于SNS网站的娱乐组件,并在运营过程中对该组件提出了相关优化方案,最后用数据论证了其可行性。
参考文献
[1] 付炜,孔祥栋.基于肤色和Adaboost算法的人脸检测[J].现代电子技术,2010,33(6):131?134.
[2] 茂林,戚飞虎.自组织隐马尔可夫模型的人脸检测研究[J].计算机学报,2012,25(11):1165?1169.
[3] 张九龙,张毅均.人脸检测的贝叶斯特征判别方法[J].计算机工程与应用,2014,40(29):164?165.
[4] XIAO R, LI M J, ZHANG H J. Robust multipose face detection in images [J]. IEEE transactions on circuits and systems for video technology, 2004, 14(1): 31?41.
[5] 张宁,李娜.基于Adaboost算法的人脸检测技术的研究与实现[J].现代电子技术,2011,34(14):4?6.
[6] LI S Z, ZHANG Z Q. FloatBoost learning and statistical face detection [J]. IEEE transactions on pattern analysis and machine intelligence, 2004, 26(9): 1112?1123.
[7] 王亮.SNS社交网络发展现状及其趋势[J].现代电信科技,2009(6):9?12.
[8] 张书真,宋海龙,向晓燕.基于肤色分割及特征定位的人脸检测算法研究[J].现代电子技术,2008,31(14):82?84.