• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

三维人脸识别系统的设计思路

发布: 2008-2-03 16:29 | 作者: 李华明 | 来源: CSAI | 查看: 376次 | 进入软件测试论坛讨论

领测软件测试网 一、 序言

  基于生物特征的身份认证技术近年来发展迅速,这其中,利用人脸特征进行身份验证又是最自然直接的手段,相比其它人体生物特征它具有直接、友好、方便的特点,易于为用户所接受。因此计算机人脸识别技术是生物特征最为活跃最有挑战性的领域之一。它结合了认知科学、图象处理、计算机图形学、机器视觉和模式识别等多个研究领域,研究的成果有着广阔的应用前景。

  计算机人脸识别由于有着广泛的应用前景而成为计算机模式识别领域的一个十分活跃的研究课题。计算机人脸识别技术也就是利用计算机分析人脸图像,进而从中提取出有效的识别信息,用来"辨?quot;身份的一门技术。人脸识别技术应用背景广泛,例如:可用于公安系统的罪犯身份识别、驾驶执照及护照等与实际持证人的核对、银行及海关的监控系统及自动门卫系统等。特别是在非接触环境和不惊动被检测人的情况下,人脸识别技术的优越性远远超过已有的虹膜、指纹等检测方法。在众多科研人员的不懈努力下,迄今为止在计算机人脸识别方面已经取得许多科研成果,产生了一系列的方法与理论,但均存在着这样或那样的限制,如识别率易受姿态、表情、光照等因素的影响。它的困难体现在:

  (1)人脸塑性变形(如表情等)的不确定性;

  (2)人脸模式的多样性(如胡须、发型、眼镜、化妆等);

  (3)图像获取过程中的不确定性(如光照的强度、光源方向等)。

  识别人脸主要依据人脸上的特征,也就是说依据那些在不同个体之间存在较大差异而对于同一个人则比较稳定的度量。由于人脸变化复杂,因此特征表述和特征提取十分困难。这诸多因素使得人脸识别成为一项极富挑战性的课题。

  通常的面貌识别系统多是针对二维照片或动态视频序列进行研究,以图象处理技术为基础,但是,基于二维照片进行识别存在严重的障碍,无法解决上述的问题对识别的影响。产生这些问题的主要原因是人的面貌本身是三维的,而照片是对三维面貌进行平面投影的结果,在此过程中必然丢掉一部分重要信息。采用三维识别与传统的方法最大的区别就在于,人脸的信息可以更好的表现和存储,例如人脸的特征点的深度信息及点之间的拓扑结构等等。通过更全面的信息,可以较好的解决识别过程中的误识率和虚警率问题,同时由于三维人脸模型具备光照无关性和姿态无关性的特点,能够正确反映出人脸的基本特性,同时人脸主要的三维拓扑结构不受表情的影响,从而形成相对稳定的人脸特征表述。因此基于三维人脸模型的识别方法可以很好的解决目前在这一领域存在的研究瓶颈。国外研究者已经开始研究三维的面貌识别系统,但研究很不充分,并且针对实际应用系统的研究更少。正是基于这样的原因,我们开始了三维人脸识别系统的研究

  二、 三维人脸识别过程及系统功能

  真正的三维面貌鉴别是自80年代末期开始,目前已经取得了一定的进展。国外三维人脸识别的典型方法主要是利用深度图象自身的几何特征,利用深度图象处理技术,分析面貌曲面的曲率等几何特征,对面貌曲面进行凹凸区域的分割、正侧面轮廓边缘的提取。最早对三维图象面貌识别的研究有Lapreste 提出的基于轮廓线的方法,通过对人脸面貌曲率的分析,提取轮廓线上的特征点,利用轮廓线作为特征进行面貌的识别。Lee&Milios 从人脸面貌深度图象中抽取凸区域,这些凸区域形成了特征集,计算出所有凸区域相关的扩展高斯图,两幅面貌特征的匹配就是利用这些扩展高斯图象进行的。当然还有很多基于轮廓线和凸区域的改进方法,例如:凸凹点多阶段融合过程方法、轮廓线的欧氏距离识别方法、轮廓线曲率比较方法等等。但这些方法还停留在理论研究的层次,没有实质的自动化系统的出现。

  对于国内而言,三维人脸识别的研究也相应的展开,但与国外的研究相比还处于刚起步的状态。目前,三维数据获取已经成为可能,并已经成熟的在实际工作中使用(如三维激光扫描技术、CT成像技术、结构光方法等),使得三维图形识别技术得到了应用的可能,可以迅速地完成人头三维面貌数据获取。这也为我们的研究提供了实现的基础。

  总的来说,要实现一个自动的人脸识别系统主要要完成以下的4个功能:

  ① 人脸检测(Detection)与分割(Segmentation)。从任意的场景中检测人脸的存在并进行定位,提取出一个人脸。

  ② 人脸的规范化(Normalization)。校正人脸在尺度、光照和旋转等方面的变化。

  ③ 人脸表征(Face Representation)。采用某种方法表示出数据库中的已知人脸和检测出的人脸,通常的方法有几何特征、代数特征、特征脸、固定特征模板等。

  ④ 人脸识别(Recognition)。根据人脸的表征方法,选择适当的匹配策略将得到的人脸与数据库中的已知人脸相比较。

  我们研究的基于三维模型的人脸识别方法,与以往的系统的最主要区别就在于:人脸库中记录的不是象以前一样,记录着每个人的各种姿势、位置、表情的头部照片,而是存储的一个人脸的三维空间模型。由这个区别引申出人脸的表征和识别的方法也与二维识别方法不同。

  由人脸表征的区别,三维人脸识别系统也分两类,一是纯三维之间的对比,例如通过多角度拍照,系统自动构建人脸的三维模型,与库中的三维模型进行比较。这种方法中人脸的表征是一个基于三维的特征向量。由于人脸的三维重构目前还是一个正在研究的领域,其过程依然是一个病态的过程。因此我们没有选择这种方法进行我们的系统开发。第二种系统是通过三维模型增强了的二维之间的对比。即通过对三维模型的变化,我们可以找到和成像环境一致的三维模型的位置,通过他的平面投影得到一个二维的图片,和原有的照片进行二维上的比较,实现识别的过程。在选择人脸表征时,使用了实时性最好的特征点表示法。使用人脸关键特征点所形成的几何特征来对人进行区别。

  由这个主导思想,产生的新的人脸识别系统的主要功能如下:

  ① 人脸检测与分割。从任意的场景中、视频数据中检测人脸的存在,提取出一个人脸及各个区域部分。在人脸上自动标记出我们需要的特征点, 例如外眼点、内眼点、眉间点、鼻下点、颌下点、嘴角点,等等。这个领域的研究目前已经出现了许多的成熟的方法,在这里就不一一介绍了。

  

  ② 人脸的规范化。计算出人脸在尺度和旋转等方面的变化,得到摄像过程中人脸的实际位置,将库中的人脸三维模型也变化到同样的位置。这是几何特征识别的一个关键的问题。由于人脸的几何特征的相似性比较,受人脸拍摄角度的影响很大,当人脸偏转超过一定的角度的时候,许多重要的特征点在二维上不可见了,因此也无法计算出对应的特征向量。如果不能将人脸模型和照片保持在同样的偏转环境下,识别的可信性就不具备。

  

  经过一定水平及仰俯偏转三维人脸模型

  正常的三维人脸模型

  对这个问题的解决可以结合人类学、面貌测量学多年来由统计而来的经验公式来完成。

  ③ 人脸表征。采用标记出的特征点的几何特性(例如:特征点分布欧氏距离、B样条曲面等方法)表示出数据库中的已知人脸和检测出的人脸。对同一个照片的特征点采取多层次描述的方法,形成多个几何特征向量,这种多层次描述的方法可以有效的降低人脸识别过程中的误识现象的出现。同样,识别的过程也是采取多分类器合作的模式识别方法。

  ④ 人脸识别。根据获得的人脸照片特征点,计算出人脸的偏转角度,同时计算出多个特征向量,从数据库中取出已知的人脸特征点信息,构建出三维人脸特征点拓扑模型,对此模型进行偏转,使之与二维人脸照片的拍摄环境一致。计算出三维模型的多个特征向量,通过面貌特征的多层次描述、多分类器合作的模式识别方法,对投影结果与二维相应照片进行相似性度量。在进行识别时,对每个分类器设定一个阀值,对所有的特征向量的结果也设置一个阀值,一旦所有的度量结果都达到阀值的要求,即认定此次识别是成功的,否则继续从数据库中读数据,进行识别。

  三、 技术路线与设计方案

  为了实现上面的研究内容,我们选择了一个可行的解决方案。使用Microsoft的Visual Studio作为系统的开发平台,利用他提供的强大的图形图象处理功能,使用OPENGL专业三维引擎,最后配合Oracle数据库对异构数据的管理功能,实现我们的系统。其中,人脸三维数据的获取采用加拿大polhemus公司生产的手持式三维激光扫描仪FastSCAN以及Inspeck公司基于结构光栅拍摄的三维数据建模设备(Inspeck)。整个系统的用例图如下所示:

  

  系统用例图

  其中的关键技术如下:

  1) 供系统管理人员使用的管理平台。主要进行人脸三维数据的获取和预处理以及三维特征点的选择和存储等功能。利用Visual C++和OPENGL开发的三维模型的管理系统,通过激光扫描仪或结构光拍摄相机获得原始的人脸三维模型,由于得到的三维数据坐标不统一,为了便于计算使用,要进行坐标的统一,通过平台实现对原始模型的光滑平顺,坐标变换,根据分辨率要求,生成三维面貌表面数据。由于人脸的三维特征点的选取工作不要求太强的实时性,故可以采取手工选取的方式,由系统管理员通过平台对特征点进行标定。全部标定结束后,记录入后台数据库中。当然管理平台还具备其他的功能,例如新用户的添加、用户的删除、信息修改等常用数据库管理功能。

  2) 基于Visual C++、OPENGL和DirectShow开发出人脸的自动化识别系统。首先通过DirectShow对视频流进行分析,自动检测出人脸的存在并从图象中将其分割出来。找到人脸后,使用VC实现的ASM主动形状模型对人脸特征点进行自动的标定。得到特征点后,根据主要的特征点位置,计算出拍摄角度。对三维数据的进行读取,读取后使用OPENGL构建出人脸的抽象三维模型,同时按照拍摄角度的变化模型。当三维模型的平面投影和二维照片中人脸的旋转角度相同时,通过多特征向量生成、多分类器判别及阀值设定的方法实现识别。

  3) 底层数据库使用Oracle数据库,利用它良好的异构数据存储性和大量数据的处理能力,实现系统需要使用到的三维空间信息和属性信息的统一存贮,以及对海量数据的查询检索。

  4) 不论是管理平台还是自动识别系统,对人脸数据库的读取都通过数据库中间件完成,统一的进行信息读取、维护、操作。

  最终形成一个基于三维数据库中间件的三层C/S体系的应用程序。这个设计方案可以用下图表示:

  

  系统设计方案示例图

  四、 总结

  这个系统与已有的各种人脸识别系统的最大的区别就在于,数据库中记录的是三维人脸模型,而不是象目前各种库中存储的人脸的多姿态照片。通过三维深度信息的投影变化解决人脸识别中多姿态的问题。利用物体几何拓扑的不变性原理,排除大部分人脸表情对识别的影响,而且由于采用的方法与照片的明暗程度无关,可以解决人脸识别过程中受拍摄环境光照强度的影响。因此可以达到较理想的人脸识别效果。

  基于三维模型的人脸识别的方法研究刚刚开始,上述的只是我的一个思路,还有很多的问题要解决,同时也具有很多的缺点。希望大家提出宝贵的意见,谢谢。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 识别系统


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网