微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 基于三维的人脸定位系统的研究

基于三维的人脸定位系统的研究

时间:09-17 来源:互联网 点击:
技术路线与设计方案  

为了实现上面的研究内容,我们选择了一个可行的解决方案。使用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 系统设计方案示例图

结语

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top