0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于三维图形识别技术的三维人脸识别系统

电子设计 来源:电子产品世界 作者:李火明 2021-03-24 12:35 次阅读

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

国外三维人脸识别的典型方法主要是利用深度图像自身的几何特征,利用深度图像处理技术,分析面貌曲面的曲率等几何特征,对面貌曲面进行凹凸区域的分割、正侧面轮廓边缘的提取。最早对三维图像面貌识别的研究有Lapreste 提出的基于轮廓线的方法,通过对人脸面貌曲率的分析,提取轮廓线上的特征点,利用轮廓线作为特征进行面貌的识别。Lee&Milios 从人脸面貌深度图像中抽取凸区域,这些凸区域形成了特征集,计算出所有凸区域相关的扩展高斯图,两幅面貌特征的匹配就是利用这些扩展高斯图像进行的。当然还有很多基于轮廓线和凸区域的改进方法,例如凸凹点多阶段融合过程方法、轮廓线的欧氏距离识别方法、轮廓线曲率比较方法等等。但这些方法还停留在理论研究的层次,没有实质的自动化系统的出现。国内三维人脸识别的研究也相应地展开,但与国外的研究相比还处于刚起步的状态。目前,三维数据获取已经成为可能,并已经成熟的在实际工作中使用(如三维激光扫描技术、CT成像技术、结构光方法等),使得三维图形识别技术得到了应用的可能,可以迅速地完成人头三维面貌数据获取。这也为我们的研究提供了实现的基础。

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

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

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

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

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

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

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

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

① 人脸检测与分割。从任意的场景中、视频数据中检测人脸的存在,提取出一个人脸及各个区域部分。在人脸上自动标记出我们需要的特征点, 例如外眼点、内眼点、眉间点、鼻下点、颌下点、嘴角点等等,如图1。

图1 人脸特征分布示意图

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

图2 三维人脸模型

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

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

技术路线与设计方案

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

图3 系统用例图

(1) 供系统管理人员使用的管理平台。主要检测进行人脸三维数据的获取和预处理以及三维特征点的选择和存储等功能。利用Visual C++和OPENGL开发的三维模型的管理系统,通过激光扫描仪或结构光拍摄相机获得原始的人脸三维模型,由于得到的三维数据坐标不统一,为了便于计算使用,要进行坐标的统一,通过平台实现对原始模型的光滑平顺,坐标变换,根据分辨率要求,生成三维面貌表面数据。由于人脸

的三维特征点的选取工作不要求太强的实时性,故可以采取手工选取的方式,由系统管理员通过平台对特征点进行标定。全部标定结束后,记录入后台数据库中。当然管理平台还具备其他的功能,例如新用户的添加、用户的删除、信息修改等常用数据库管理功能。

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

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

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

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

图4 系统设计方案示例图

结语

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

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3589

    浏览量

    63363
  • 人脸识别
    +关注

    关注

    76

    文章

    3953

    浏览量

    80549
收藏 人收藏

    评论

    相关推荐

    VC和MATLAB混合编程绘制三维图形设计

    VC和MATLAB混合编程绘制三维图形设计 
    发表于 11-26 10:41

    基于安芯一号SLH89F5162的真三维立体图形显示

    Display,也称为体显示),其中全息三维显示和体显示属于真三维显示技术。全息三维显示在动态显示方面需要高分辨的、高速的空间光调制器,目前尚无法满足动态全息
    发表于 10-19 15:16

    三维曲线导入到三维图形控件中

    三维线条图做了一个同心圆曲线,怎么才能把它导入到三维图形控件中呢?如图
    发表于 10-27 13:49

    java中怎么调用matlab绘制三维图形

    各位大侠,请问在java中怎么调用matlab绘制三维图形啊?求教具体步骤……
    发表于 11-18 17:14

    labview无法加载三维图形控件

    打开LabVIEW 2013经典--经典图形--三维曲面图,前面板显示无法加载控件,应怎么解决?
    发表于 12-19 10:40

    关于三维图的问题

    请问各位大神,如何在labview做的三维图中确定鼠标的坐标,也就是鼠标每点一次相应点的个坐标能显示出来。。。求各位大神帮帮忙。
    发表于 09-26 18:05

    三维图片控件的问题

    各位大神,请问该如何在三维图片控件里面画出扇形呢?跪谢,,,是用创建网格函数吗?
    发表于 10-22 20:32

    三维逆向工程的成果及应用案例

    `三维逆向工程的成果及应用案例何为逆向工程?为适应现代先进制造技术的发展,需将实物样件或手工模型转化为Sence数据,以便利用快速成形系统、计算机辅助系统等对其进行处理,并进行修改和优
    发表于 03-02 15:12

    LabVIEW导入三维图加载不出来的原因

    程序没有报错,但是三维图加载不出来,在首次编程的时候三维图成功导入并且是可以加载的,如第一张图所示,但是保存后再打开就加载不出三维图了,或是一片灰色,如第二张图所示,请各位勇士大神帮帮忙,感谢感谢。
    发表于 04-27 15:49

    三维快速建模技术三维扫描建模的应用

    `三维快速建模技术三维扫描建模的应用随着数字化测量的发展,三维激光扫描仪能够快速地以多角度、高效、高精度方式获取物体的表面三维数据,可以用
    发表于 08-07 11:14

    labview三维图片控件发布到web不显示

    labview三维图片控件发布到web不显示,其他的显示都是正常的。就是一个三维图片的页面不能显示出来,怎么解决。
    发表于 08-21 13:29

    基于FPGA+DSP的三维图像信息处理系统设计

      三维图像信息处理一直是图像视频处理领域的热点和难点,目前国内外成熟的三维信息处理系统不多,已有的系统主要依赖高性能通用PC完成图像采集、预处理、重建、构型等囊括底层和高层的处理工作
    发表于 06-24 06:11

    三维设计应用案例

    三维CAD的使用,不仅能提高设计质量,还能缩短设计周期,创作良好的经济效益和社会效益。所以,越来越多的企业将三维CAD作为企业进行产品设计和创新最通用的手段和工具。而随着我国计算机技术的迅速发展
    发表于 07-03 07:06

    如何设计三维图形加速系统

    随着图形处理的巨额运算量,CPU变得不堪重负。此时,需要使用特定的硬件设备来为嵌入式CPU承担图形处理的任务。具有三维图形硬件加速能力的ARM+FPGA架构嵌入式图形
    发表于 10-18 07:47

    光线追踪如何实现实时三维图形

    什么是光线追踪?光线追踪如何实现实时三维图形
    发表于 02-26 07:03