戴金锋,刘 志,姜晖晖,鄢致雯(.扬中市人力资源和社会保障局,江苏 镇江00;.浙江工业大学 计算机科学与技术学院,浙江 杭州00;.杭州市富阳中学,浙江 杭州 499)
结合监督下降优化和显著性的人像质量检测
戴金锋1,刘 志2,姜晖晖2,鄢致雯3
(1.扬中市人力资源和社会保障局,江苏 镇江212200;2.浙江工业大学 计算机科学与技术学院,浙江 杭州310023;3.杭州市富阳中学,浙江 杭州 311499)
针对已有社保人像采集系统缺少图像内容智能分析所导致的制卡失败问题,提出了人像质量智能检测算法.首先采用监督下降优化方法算法检测出人脸特征点,然后根据社保人像标准进行尺寸分析.最后采用显著性方法进行背景检测,判断背景是否合格.实验结果表明:该算法可以自动检测出质量不合格照片,解决了上传图像质量太差导致制卡失败问题.另外,结合JNI技术和MVC设计模式完成了该算法和社保业务系统的集成.
社保数据采集;人像质量检测;监督下降优化方法;显著性分析
社会保障卡是参保单位和参保人员享有社会保障和公共就业服务权利的电子凭证.数据采集是社保卡制卡、发卡的重要基础和前提和基础[1].近年来,各地社保部门通过大规模数据采集完成了绝大多数人员的信息采集[2].但是,对于部分没有及时完成信息采集的人员,如何让他们快速方便地完成信息采集并申领得到社会保障卡,是当前社保部门便民工作中急需解决的一个问题.
目前,各地社保部门都有核心业务网络上报系统能够支持用户信息的录入和照片上传.徐慧琼等提出在社保业务系统里采用了J2EE架构,这种架构提高了系统的可维护性和可扩展性[3].薛成龙等在已有社保业务系统中增加了生物特征采集设备管理,可针对指纹采集设备进行加密、设备更换,召回等基础信息进行维护.从而能够对设备进行全程跟踪服务[4].杨文等在BEA Tuxedo和Microsoft.NET技术平台的基础上设计社会保障信息系统并设置各网点前置系统,通过Web服务技术实现社保卡中心系统和各网点之间数据交换[5].陈园园等采用ETL技术,实现准确、快速地数据迁移,保证数据的正确性和完整性[6].黄晓梅等研究CORBA构件技术在RSICP中的应用,并建立基于CORBA构件技术的可重构的社保核心平台(RSICP),这种技术能够对随社会保障制度不断完善而变化的社保市场作出快速反应[7].张平等依据现代软件新技术理论,研究和分析联网模式下的计算机辅助审计,将手工审计与计算机审计相结合,实现了在联网模式下进行审计[8].综上所述,已有业务系统只是提供了数据传输的网络接口,而无法对人像进行质量分析和检测.另外一方面,研究人员针对图像质量自动分析和评价也提出了很多算法[9].因此,笔者结合人脸检测和背景检测技术,开发支持人像质量检测的社保数据零星采集在线系统实现,自动判断图像是否满足社保标准.系统能够大大提高社保数据零星效率,极大地方便了参保用户.
对于社保照片零星采集系统,主要包括质量检测和应用系统实现.对于质量检测,主要采用了监督下降优化和图分割算法.在系统实现上,采用了MVC设计模式,方便应用系统的扩展.
1.1 人像尺寸检测
人像尺寸检测首先采用监督下降优化方法检测得到,然后根据社保标准进行尺寸合格性判断.目前,特征点检测有很多方法,并且被广泛应用于人脸图像的相关领域,包括人脸识别[10],姿态估计[11]等.人像质量检测算法采用监督下降优化算法对人脸特征点进行定位[12].该算法首先通过一系列已经标定的图像进行特征学习,从而能够构造模型用于特征点检测.在完成学习和训练以后,对于输入采集到的图像根据训练模型定位脸部关键特征点.
给定训练图像集合Rm×1,对其中一幅图像d∈Rm×1,其中d(x)∈Rp×1为用来索引图像的p个特征点,x为p个特征点.h(d(x))∈Rp×1表示SIFT(Scale-invariant feature transform)特征向量.在训练阶段,因为p个特征点是已知的,是由人工准确标定,将其设为x*,然后计算训练集特征点的平均值,记为x0,作为初始值[12],如图1所示.
图1 真实特征点值与训练集特征点平均值Fig.1 The average of the real feature point value and training set feature points
这样,通过对Δx求解就可以得到人脸的对齐结果,其计算式为
(1)
式中Φ*=h(d(x*))为手动标记特征点的SIFT特征,因此式(1)可以转化为
(2)
根据牛顿迭代法,上述最优解需要对式(2)中的Δx求导,令一阶导数f′(x0+Δx)=0,可得
(3)
(4)
(5)
Δx1=MΦ0+b0
(6)
这样就可以通过监督下降优化方法(Supervise decline optimization, SDM)调整下降方向{Mk}和偏差{bk},即
xk=xk-1+Mk-1Φk-1+bk-1
(7)
使得训练图片集过程中xk将收敛到x*.所以,监督下降优化方法在迭代更新参数Mk和bk时,采用计算式为
(8)
图2 关键特征点位置Fig.2 The location of key feature points
因此,通过训练好的模型可以得到人脸特征点集合FS={fs1,fs2,fs3,fs4,fs5},分别代表左眼中心点位置、右眼中心点位置、左侧轮廓点位置、右侧轮廓点位置和顶部位置.从而可以得到当前照片尺寸参数.对于输入图像的宽度和高度分别为w和h.可以根据制卡照片标准(图3)对用户上传的照片进行尺寸分析,分析出照片尺寸是否满足规范.
图3 照片标准Fig.3 Photo standard
1.2 背景颜色检测
对于社保照片,另外一个问题是如何检测背景颜色.因为社保照片要求纯白背景,否则无法完成制卡.背景检测主要采用全局对比度显著性区域检测算法[13].该方法是由Cheng提出的,能分离背景环境和大范围的目标.并且,该方法可以结合区域对比度和空间关系,该算法的主要思想是先划分图像为不同的区域,再对不同区域的颜色进行对比度计算,然后通过上面计算的空间关系和对比度结果得到图像的显著性值.具体步骤如下:
首先,通过图的贪心聚类分割算法[1]分割图像,得到不同区域,记为r={r1,r2,…,rn}.再通过图像的颜色直方图特征对每个区域计算区域的直方图对比度w(ri),可得
(9)
式中D(pi,pj)为区域ri上的像素pi与像素pj在LAB颜色空间上的距离度量.
然后,利用图像的空间信息与区域之间的颜色对比度来定义图像上的显著性,定义为
(10)
(11)
Φsaliency=-logS(p)
(12)
式中:Ds(rk,ri)为空间距离,是通过计算区域rk与ri的重心的欧式距离得到的;Dr(rk,ri)为两个区域的颜色距离度量;c1,i为在区域r1上像素i的颜色值;f(c1,i)为c1,i在区域中出现的概率;σ2为空间权重强度,控制空间信息的影响;Φsaliency是将像素点的显著性进行归一化处理.这样,通过得到的每块区域的显著性结果就可以得到整幅图像的背景分割结果.效果见图4,可以发现背景颜色在右侧图像中呈现白色.因此,通过统计背景像素点的颜色值就可以得到当前颜色是否符合标准.
图4 背景颜色检测Fig.4 The detection of background color
为了验证本算法的有效性,对本算法进行检测性能分析.另外,在已有核心算法基础上,把本算法集成到社保数据采集系统中,进行应用开发.为了保证监督训练算法的通用性,本算法采用LFW(Faceinthewild)进行特征点检测训练,总共有12万张已经标注的照片,然后用训练后的模型进行质量分析和检测.
2.1 质量检测性能分析
测试图片为5万张,这些照片已经通过社保人员进行手工筛选分为两部分:其中正常照片49 550张,不符合制卡标准的照片450张.成功检测出423张不合格照片,检出率为94%.部分检测出来的不合格照片如图5所示.目前,没有成功检出的照片主要是人像亮度、明暗度不符合要求的照片,这也是后续需要进一步研究的问题.
图5 部分检测出来的照片和不合格原因Fig.5 Parts of the detected image and the unqualified reason
2.2 在金保工程中的应用
对于上述算法,和社保数据采集系统进行集成.整个系统采用MVC(Modelviewcontroller)设计模式.使用MVC可以降低整个程序耦合性,提高独立性,提高可维护性.整个系统主要包括平台服务层、应用组件层和平台应用层.如图6所示.
图6 社保数据零星采集系统架构图Fig.6 The architecture diagram of social security data scattered collection
图6中:1) 平台服务层主要提供版本管理、数据接口、消息服务和引擎服务等整个系统的基础性能;2) 应用组件层主要包括质量检测核心模块、人脸检和背景替换等核心技术;3) 平台应用层主要是开放给用户的各种操作界面和功能模块,提供客户端和服务器端版本.数据库管理系统采用Oracle,从而支持海量人像照片的存储.数据库操作采用DAO实现.DAO层是使用了hibernate连接数据库、操作数据库.
核心算法采用JNI(Javanativeinterface[14])技术实现,实现Java语言和其他语言写的代码交互[14].系统首先采用C++生成动态链接库.然后通过JNI技术调用动态链接库完成质量检测.系统运行结果如图7所示.
图7 社保数据零星采集系统运行截图Fig.7 The screenshot of the run of social security data scattered collection
针对已有社保系统无法对上传照片质量进行智能分析问题,提出了基于人脸特征点检测和图像稳定性的人像质量检测算法,该算法可根据社保质量标准对照片合格性进行判断.另外一方面,在已有网络开发技术基础上开发了支持人像质量检测的社保数据采集系统.系统解决了用户上传照片的质量评判标准问题,极大地方便了用户和社保单位,提高了工作效率.目前,现有社保数据采集系统都只是局限在数据采集和管理,无法支持在线认证功能.近年来,随着深度学习技术的飞速发展,通过人脸识别技术实现社保业务系统的身份认证已经成为可能.因此,在后续工作中,需要重点研究人脸识别和活体检测技术,对现有社保业务系统进一步升级和智能化,从而使业务系统支持在线认证,使社保用户在家就完成社保认证,方便用户操作.
[1] 殷生勇.筑牢社保信息安全“防火墙”[J].中国人力资源社会保障,2010(8):36-37.
[2] 赵锡铭.金保工程建设情况和下一步构想[J].电子政务,2008(Z1):21-22.
[3] 徐慧琼.基于J2EE标准的社保统一征缴MIS的设计[J].机械工程与自动化,2012(4):47-48.
[4] 薛成龙.面向社保业务的信息采集与认证系统的设计与实现[D].哈尔滨:哈尔滨工业大学,2013.
[5] 杨文.基于Tuxedo和.NET架构的社会保障信息系统关键技术的研究与实现[D].长沙:国防科学技术大学,2006.
[6] 陈园园,陶飞.社保信息系统中数据迁移的实现[J].苏州市职业大学学报,2011,22(2):27-30.
[7] 黄晓梅.构件技术在可重构的社保系统核心平台中的研究与应用[D].南京:南京航空航天大学,2004.
[8] 张平.社保联网审计系统中关键技术的研究[D].哈尔滨:哈尔滨工程大学,2006.
[9] 张剑华,张自然,汪晓妍,等.基于结构显著性的医学图像质量评价[J].浙江工业大学学报,2015,43(6):636-641.
[10] 于爱华,白煌,孙斌斌,等.基于优化投影矩阵的人脸识别技术研究[J].浙江工业大学学报,2016,44(4):392-398..
[11] 张美玉,侯向辉,任炜彬,等.基于非线性最小乘的人脸姿态估计算法[J].浙江工业大学学报,2016,44(1):34-38.
[12]XIONGX,DEITF.Superviseddescentmethodanditsapplicationstofacealignment[C]//ComputerVisionandPatternRecognition.LosAlamitos:IEEEComputerSocietyPress,2013:532-539.
[13]CHENGM,MITRANJ,HUANGX,etal.Globalcontrastbasedsalientregiondetection[J].IEEEtransactionsonpatternanalysis&machineintelligence,2015,37(3):409-416.
[14]DEVEGOWDAA,PALANIAPPANS,VERMAA.TrackingspecificJavanativeinterfaceinvocationsofsystemandlibrarycalls[J].Medicalphysics,2015,38(6):3608.
(责任编辑:陈石平)
Portrait image quality assessment algorithm combined with supervised descent optimization and saliency
DAI Jinfeng1, LIU Zhi2, JIANG Huihui2, YAN Zhiwen3
(1.Yangzhong Bureau of human resources and social security, Zhenjiang 212200, China;2.College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310023, China;3.Fuyang High school, Hangzhou 311499, China)
Focusing on the problem that because of lacking of image quality assessment, the social security portrait collection system can not get standardized portrait image to make the cards, an image quality assessment algorithm is proposed in this paper. Firstly, the supervised descent optimization algorithm is used to detect face feature points. Secondly, the standard of social security portrait is used to analyze the image size based on detected feature points. Finally, the saliency method is used to detect the image background in order to judge whether the background is qualified or not. Experiment results show the proposed algorithm can automatically detect the unqualified portrait images. It can solve the problem that the uploaded images cannot be used to make cards due to unqualified images. In addition, the JNI technology and MVC design pattern are used to develop the social security data acquisition system.
social security data collection; portrait quality assessment; supervised descent optimization algorithm; saliency analysis
2016-09-26
浙江省自然科学基金资助项目(LY16F020033)
戴金锋(1966—),男,江苏扬中人,高级工程师,主要从事社保业务系统分析与设计,E-mail: 19531661@qq.com.
TP391
A
1006-4303(2017)02-0179-05