未来智讯 > 人脸语音识别论文 > 人脸识别签到系统分析与设计

人脸识别签到系统分析与设计

发布时间:2018-12-01 01:06:04 文章来源:未来智讯    
    人脸识别签到系统分析与设计作者: 李世涛   [摘 要]人脸识别技能发展到今天,已经很成熟,然而由于达到正确且精确识别人脸需要加入的硬件软件成本都很大,所以其在中小型公司和单位中的应用并不普及。本系统则通过PCA和HMM两种识别技能相联合的方式实现高正确度,高精确度人脸识别,并在此基础上实现签到功能。
  [关键词]人脸识别签到系统;PCA;HMM
  中图分类号:TP3-05 文献标识码:A 文章编号:1009-914X(2015)05-0236-01
  1 引言
  由于每个人的人脸或多或少是有差异这一特性和计算机数据海量而且细致入微的特点决定了人脸识别是一种很有效的分别识别技能,基于人脸识别技能的应用近来几年也越来越多起来。应用最广泛是安检系统,公安刑侦部门的罪犯备案系统,以及奥运馆的人脸识别报警系统等等。
  传统的人脸识别技能主要是基于可见光图像的人脸识别,这也是人们最熟悉的识别方式,已有30多年的研发历史。但这种方式有着难以克服的缺陷,尤其在环境光照发生变化时,识别效果会急剧降落,无法满足实际系统的需要。解决光照问题的方案有三维图像人脸识别,和热成像人脸识别。但目前这两种技能还远不成熟,识别效果不尽人意。
  近来迅速发展起来的一种解决方案是基于主动近红外图像的多光源人脸识别技能。它能够克服光线变化的影响,已经取得了卓越的识别本能,在精度、稳定性和速度方面的总体系统本能超过三维图像人脸识别。这项技能在近两三年发展迅速,使人脸识别技能逐步走向实用化。
  出版社2002
  2 功能需求
  本系统应实现的功能模块包括:系统登录模块管理;人脸模板录入模块,自动识别签到模块,信息管理系统。而在人脸摹本录入系统中又包括摄像头数据采集,存储;模板图像采集存储,特征值文件生成与存储;姓名语音提示的录入及其存储。自动识别模块包括摄像头数据采集,多帧采集,实时检测识别,信息入库等子模块。
  基于以上对管理系统的要求,开发一个人脸识别签到管理系统,应能实现的功能如下:
  1、可以进行系统登录管理,用户能够通过输入用户名和密码登录系统,系统需要对信息进行有效的验证。
  2、可以进行人脸模板录入,对录入的模板进行及人员信息存储,并根据模板生成特征文件,存储特征文件。
  3、可以录入识别提示语音,在系统自动检测到员工签到的时候播报。给员工一个反馈。
  4、可以提供自动识别签到功能,并存储视频文件,存储识别结果,给出签到识别提示。
  5、可以设置相关数据文件的存储方式,位置等。
  3 系统设计
  3.1 系统设计原理
  本系统在设计中使用了面向对象的设计原理,是因为:
  1.面向对象设计不再是单纯的从代码的第一行一直编到最终一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。
  2.所谓的对象是一种抽象的名称,用来对应实现世界存在的"东西"。一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出如今窗口对象中,因此按钮对象、菜单对象就是窗口的组件之一。对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。用户无需知道其任何细节,操作是封闭的,对象之间能通过函数调用相互通讯。
  3.类可视为一个产品模具、一个模块。在面向对象设计中,类是对象的原型,是对象的制作器。类的观念是面向对象程序设计最重要的特征。所谓类,是指由数据结构及其相关操作所变成的聚集,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概述了对象的共同性质和数据。
  4.面向对象设计的核心是类的设计。
  5.设计的人脸识别签到系统也是建立在一系列类基础之上的,其编程的思维是:先根据一定的需要创建一系列的子类或直接调用VC提供的基类,编制程序时,由这些类派生出相应的对象,所派生出的对象继承了其父类所有的功能,而且具有很好的封装性,这样就可利用派生出的对象像搭积木一样来设计自己的程序。打个比方,就比如要制造一台机器,最初要制造各种零件的模具,然后用制造好的模具生产出所需的零件,所有这些做完后,剩下的就不过如何把这些零件组装起来,这样一台机器就很容易制造出来了。实际编程也是如此。每个表单都是由一定数量的对象按某一种方式组合在一同的,程序编制的核心是类的设计。
  3.2 功能模块设计
  模块化便是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个总体,能够完成指定的功能满足用户的需求。为了降低软件系统的复杂性,提高可理解性、可维护性,必须把系统划分成为多个模块。然而模块不能任意划分,应尽量保持其独立性。模块的独立性指每个模块只可完成系统要求的独立的自功能,并且与其他模块的联系最少且接口大略。模块独立的观念是模块化、抽象、信息隐藏和部分化观念的直接结果。模块独立性很重要,主要有两条理由:
  1、有效的模块化软件对照容易开发出来,这个优点尤其重要。
  2、独立的模块化对照容易测试和维护。
  模块独立程度能够由两个定性标准度量,这两个标准分辨称为内聚和巧合。巧合衡量不同模块互相间彼此依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素互相联合的紧密程度。
  从以上两点能够得出结论:好的模块是具有高内聚低耦合的特点。
  3.3 系统模块详细设计
  人脸识别检测类图描述了系统中主要功能类的属性,操作及其之间的关系。
  人脸检测类是别类基本属性和操作是一样的,都是依赖自身的特征模版哭和待测人脸库作为匹配源,对输入图像源进行抠图,检测,并识别。不过内部实现不同,算法不同。检测类主要是识别出图像的人脸区域。而人脸识别类则是识别出人脸模板是模版库中那个模板源的模板(最相似)。
  自动识别类则是从检测类和识别类中继承而来,集成了检测和识别功能,同时能够从数据源取帧,并对帧数据进行检测,抠图,识别。同时能够批改取帧频率等等。
  摄像头实时数据类则是对摄像头数据进行设置的一个类,主要包括设置摄像头的帧频,帧大小(宽高)并提供数据信息给自动检测识别类。
  采集存储类:主要是对信息数据的采集和存储,包括设置存储的位置,存储文件的文件名,文件备份的位置等等。
  摄像头实时源数据存储是存储摄像头实时数据的类,能够设置存储文件大小,设置存储采样频率。
  人脸模板存储类:负责存储人脸模板信息。设置人脸模板存储方式,人脸模板信息的校验方式等。
  人脸模板录入模块主要是对人脸模板进行录入并存储模板以及备份相关信息。其中数据源录入包括视频流录入和图片录入两种,只要是能够用于检测的图像源都能够作为数据源。存储方式则包括两种,特征值文件和图片文件,特征值文件是用于识别匹配的数据源,而图片源则是用于人员管理的时候能够查看相关的图片。
  归纳
  人脸识别模块包括人脸自动识别和视频文件管理两个局部。人脸自动识别是从视频流中获取视频帧,检测抠图并提取特征值且与模板文件进行匹配识别。而视频文件管理则是对视频流进行存储的过程。包括设置存储位置,对文件名的设置,对文件大小的设置等等。
  参考文献
  [1] 李赫雄,许宏泰,唐家才.SQL Server 2000应用程序开发[M].北京:邮电出版社,2001.3.
  [2] D.S.Malik.C++编程――数据结构与程序设计方法[M].北京:电子工业出版社,2003.6.
  [3] 郑莉,傅仕星,张瑞丰.C++语言程序设计学生用书[M].北京:清华大学出版社,2004.6.
转载请注明来源。原文地址:https://www.7428.cn/page/2018/1201/49623/
 与本篇相关的热门内容: