版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章前言1.1课题背景1.1.1课题的来源随着金融贸易和安全门户控制应用的迅速发展,生物识别已经重新引起了人们的注意。
就目前而言,视觉系统和计算机视觉又取得了新的突破,技术上的成熟与进步成为面部识别这项技术又一个新的飞跃,中高性能自动识别技术的实现的代价得到了大幅度的下降,\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"作为生物识别,人脸识别中使用最广泛的方法之一,近年来出现了人脸识别技术。
却又不大为人所知的新兴技术。
大众们更多是通过科幻影视作品来对这项现在相对成熟的技术有认识。
转移到计算机,将其与警方数据库中的数据进行比较,找到犯罪记录和嫌疑人的详细信息。
而这并非是空穴来风情节。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"现如今,国外面部识别技术在一些国家重要的机关部门已经有了很广泛且相对成熟完善的应用以及应用技术。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"我国这项技术新兴和发展与上世纪末,较之于国外的成果目前还不是那么完善,但是发展速度和发展前景相当可观。现在为止在金融,物业管理,公安,网络安全等这些方面有着相当普遍的应用。1.2人脸识别技术的研究意义1.2.1极具挑战性的课题\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"作为机器视觉领域中极具复杂度和挑战性的方向,面部识别这一技术不论是在应用还是研究上都有着巨大的潜力。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"人脸识别技术作为一个生命力旺盛的学科,涵盖了许多其他科目,诸如计算机视觉,数字图像处理,数学,神经学等等。
多年的科学成果也让这一学科展现了蓬勃的生命力和发现前景,但计算机人脸识别如果真正要大规模投入到人们的日常生活还需要有很长的路要走。
这是因为面部特尤其是五官位置大同小异,而且脸部是一个灵活的物体,面部细微的表情各异,妆容和外界光照的变化等这些不可控条件都会给识别的准确性带来了一定程度的困难。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"如何准确识别大量目标,满足实时性要求已经成为这一课题的有一个新的难关。1.2.2面部平面形状识别和面部特殊定位技术\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"进过对人的面部的检测后,人脸有区分度的特征的检测将主要把五官的位置以及一些较为突出的地方如颧骨眉骨等有明显差异的器官或区域的的位置等其他信息作出记录。
图像灰度处理,灰度积分投影曲线分析,可变形模板,分割算法,霍夫变换,主动特征模型和
基于傅里叶小波变换等等都是应用于这一模块的主要技术手段。对于\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"可变形模板这一概念的提出,所针对的问题就是把送入与检测的人脸图像对面部特征信息有一个初步的提取。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"所构建的模型的参数所对应的是面部特征不稳定的部分,比如图像曝光强度等,这部分最后将图片的极最值和像素灰度散布的强弱的动态相互作用进行校正。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"模板的可塑性会将已有的数据进行完全的应用,结果中所需要的特征形状就可以更加明显的显现。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"因为可变形模板使用优化算法来最大程度上降低参数空间中的能量函数,因此该算法的主要缺点如下:一、计算时间长;\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"其次,对参数初始值的依赖性很高,很容易陷入局部最小值。为了解决这两个难题,这里应用到由宏观到微观的校正算法:\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"第一步,充分利用面部构造的不同之处,将面部特征差异最大化,频率特征以及面部图像灰度分布的峰谷,将五官诸如耳鼻等所处的位置以及中心点所在用矩形作出标记,记录。
第二步,优化调整模板的输入值,进而在运算速度和准确的上对面部识别有一个较为显著的提升。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"作为人脸上区分度较高的部位,眼睛的准确定位可以关系到识别的成功与否。
根据区域增长眼睛定位技术,这项技术,\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"能够迅速判断出眼睛所处位置,并对眼在脸中等偏上的位置这个特点加以利用,让识别的目的性和精准度提升。
该算法使用根据面部分块的扫描方针。
然后将两个初始的长方形添加进来,并让矩形能够完全容纳眼睛。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"实验表明,该算法对面部特征有较强的容错性,面部表情的不同,以及脸部的斑痘痘等均不会对结果造成影响,但如果眼睛中有较重的阴影,定位将是不准确的。
面部有装饰的话如女性的妆容,佩戴的眼睛等等也会对最终结果产生影响。1.2.3对于人脸轮廓的分析以及步骤\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5684.2225/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"通过以视觉为基础进而对识别作出分析,分析内容有对面部的扫描和区域划分,五官位置的确认,
面部分类,以及面部识别,其中面部识别还可以细分为对肤色,皮肤的光滑程度和皱纹的分布。由下图内容可知,可以得出结论,在面部扫描和跟踪,对人脸上有区分度的部位的识别的必要工作。
是后续工作的基础,起着关键的作用。虽然面部识别并不是每个感知系统所必须的,不过我们能够确定如果要以提高人脸识别分析的准确性为目的的话就必须要对系统的数据库的数据进行完善更新,语音识别甚至手写识别的可靠性和准确性。
计算机识别对用户身份的最直接应用是基于特定用户的环境设置,例如用户的独有的生活方式,消息的传输以及对于个人信息的保护。1.2.4基于几何特征的人脸识别方法由于这些大部件的形状,面部由大部分的嘴,眼睛和鼻子组成。在尺寸上有着诸多不同之处,而这恰恰就是将人与人区分开的特征之一。
通常通过面部图像的灰度的映射来实现线的自动且有效的提取。这是由于:
面部部分的映射对应于位置。进而实现对面部五官的位置进行锁定。视频输入视频输入人脸检测和跟踪面部特征定位人脸识别表情分析性别判断种族判断年龄判别唇读身份信息情感状态性别信息种族信息年龄信息唇形类别1.3\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"国内外人脸识别发展概述\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"目前面部识别技术已经在很多领域得到了应用,并且有着至关重要的影响,面部的识别始于上世纪七十年代,历经多年的积累而厚积薄发,\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"这一领域的成果也已经相当可观,世界范围内的研究形势也是一片大好。1.3.1国外的发展概况文献中发现的机器自动面部识别的研究始于1966年的PRED的Bledsoe,这是一种1990年在日本开发的肖像识别机。您可以在1秒内从3,500人快速识别您要找的人。在西方还有国家成立了Feret(FaceRecognitionTechnology)和1993年,\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"美国国防部高级研究计划局分别使用半自动和全自动算法。这一程序需要人工操作进而指向图像中人脸的中心位置,然后识别它。在机场稍后进行的测试中,系统发出了许多误报,一些外国大学由卡内基梅隆大学领导。麻省理工大学MIT等,英国的雷丁大学但是,对测试验证系统的实现还没有很多深入的研究。1.3.2国内的发展概况\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"随着国外人脸识别算法的不断发展,我国大量研究人员从事相关的学习和研究,取得了较为显着的科研成果。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"例如,清华大学,华中科技大学,上海交通大学,四川大学等,他们在模式识别,人工智能,
机器视觉等方面积累了丰富的经验,特别是近年来第二代居民身份证的普及,嵌入式技术的持续发展,\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"3G}4G网络的到来使我们的人脸识别技术能够应用于更多领域。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"人脸识别系统现在在许多研究领域中发挥着非常重要的作用,尤其是在政府机构的安全方面,
如网络安全,银行,海关安全,财产管理安全,军事安全,智能身份证,
智能门禁控制,驾驶员驾驶执照验证,电脑登录系统。
在国家863计划中,相应国家在这方面也取得了很大进展和可喜成绩。“面像检测与识别核心技术”
通过对结果的识别和初步应用,这意味着中国现在在人脸识别方面发挥着关键作用,这一课题囊括了诸多该领域的顶尖技术开发者。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"对将要识别的图像需要降噪,我们称之为预处理,该技术的作用可是说是意义非凡。因为面部识别说使用的图片要求有正脸,所以需要识别的面部图像的拍摄时间也不同,并且所使用的摄影设备不同。
系统可以接受和识别在不同时间拍摄的照片,识别率仍然很高。在计算机中,存储了2,300个人的正照片,每个人拍照并使用相隔1-7年且间隔时间长的照片。首选率最高可达50%。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"评审委员会认为,就目前而言国内的人才以及知识储备已经在世界上名列前茅。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"本文将人脸识别系统划分为模块,描述了每个模块的功能,重点介绍了图像预处理模块。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"详细介绍了各子模块的功能和算法,并介绍了补偿光和灰度图像。高斯平滑,直方图均衡,图像对比度增强和图像预处理模块在整个系统中起着至关重要的作用。
\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"第二章系统需求分析和解决方案选择\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"在着手于研究这一模块之前,我们搜索了许多前人编写的论文和源程序。在开发过程中,我们将数据中的算法结合起来,突破了我们自己的一些想法,使程序面向面。
这幅画很容易辨认。2.1可行性分析在开发软件的人,我们已经识别了很多文件和程序的源和以往所写的,在其发展的时候,
计算相结合的信息和已采取了一些程序可以很容易确定图像的人类的脸。2.1.1技术可行性对于图像的多样性,我们也有多种的选择性。在面部区域的确定中,在色差上作出区分通常被提取出来。
面部区域的颜色提取更准确,成功率超过95%,工作迅速减少。图像明暗程度的不稳定不可避免地会被动接受外界诸如光照强度和能见度的影响,使图像的亮度不能达到要求,这是一般会对光线进行补偿,从而达到对图像处理的条件。高斯平滑:\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"未经预处理的图片的获取和输入是一个缜密的过程,但是外界干扰的影响不可避免,高斯白噪声就是较为常见的干扰。
诸如此类的影响的存在就使得图像必须平滑,以消除噪音。灰的转换:
对于灰色过程,我们必须确保尽可能少地丢失图像信息。
在灰化之前,在不可避免的失真情况下最大程度上保真,以便在它发生之前找到更合理的灰色值。灰平衡:
在灰的转化之后,建立了灰的平衡,可以基于灰的分布。更好的比较:
增加处理区域和周围图像之间的对比度使得它们更加可见,主要通过像素的累积。2.1.2操作可行性这一人脸识别软件可以在如下环境下作出反应:中央处理单元:不得低于五百兆;主寸不得低于128兆。
安装有Windows98、WindowsMe、WindowsXP、WindowsNT等操作系统中的其中一种。
此外,需要相机进行随机拍摄和识别。\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"假若系统的软硬件有足够强大的功能,人脸识别软件就可以用于人脸识222别。2.2需求分析2.2.1应用程序的功能需求分析识别人脸作为该软件最主要的功能,识别过程的第一步就是将经过上述步骤的图片进行系统输入(也称为图像预处理)获取的最初脸图像进行一系列处理。
预处理这一步骤在全部的设计中占有相当大的比重,后续操作的进行也与这一步的操作结果直接挂钩,仅在预处理模块能够很好地执行这两个重要的模块的后特征定位和提取的情况下。所以,接下来所提及的模块功能是本程序的正常运行所必须具备的:1.图像获取功能:这一部分的作用是面部识别的先导工作,顾名思义就是首先不论是由输入设备还是从数据库中,要将图片输入并显示到操作界面上为后续工作做准备。2.图像预处理功能:\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"这一部分的功能大致是由图像光线补偿,灰度变化处理,傅里叶变换,降低高斯白噪声,二值化变换等一系列复杂数学手段组成。3.人脸定位功能:这一部分的主要功能就是将经过上一步处理的图像的面部五官等其他特征明显的部位作出标志,为下一步的功能正常进行作出铺垫。4.特征提取功能:\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"这一部分的主要作用就是将上一步已有明显标记的位置重点处理,并将其中明显特征收集提取。5.识别功能:\t"C:/Users/ADMINI~1/AppData/Local/Temp/Rar$EXa5244.19859/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"这一部分的主要作用就是将处理完成的图像与已有人像进对比。2.3预处理方案选择2.3.1设计方案原则的选择处理模块的运行方式由下给出:1、为了防止我们的技术不至于太古老,过于陈旧无法跟上时代,学习采用先进的前沿科技。2、对于技术的把控,我们十分严格,运用较为主流的技术保证,用以保证应用程序的安全和可靠。3、时刻对自己的技术不断革新,强化完善不足的地方,循序渐进的提升。4、应用程序要对目前我们掌握的技术充分加以利用,尽量减少或杜绝不必要的再投资浪费。5、编写的代码必须要做到精准并且易读,于人于己都要做到,代码的注释必须清晰易懂,这样做不仅有利于程序开发者后期提供读取的方便,还能为人们的解读提供便利。2.3.2图像文件格式选择在程序开发中,为使图片中的面部区分度高的区域的选定和特征提取更加的便利精准,我们所采用的是32位图。2.3.3开发工具选择我们这次软件设计所采用的语言运行环境是MicrosoftVisualC++6.0。这是一款今年来由微软公司研发并提供的新型的视觉可用的编程环境。这一语言可以在多钟平台和交叉平台下完美的运行,于此同时还能将编辑、连接器、洗涤器等精巧的程序工具结合起来,形成一个完美的视觉发展环境。用户不必从事视窗下应用程序的编辑、汇编、测试和精炼,这样就可以在Windows系统下对软件模块的降噪、编辑、细化和测试等编译一系列得步骤正常进行。2.3.4算法研究图像预处理是整个人脸识别过程中十分重要的一环,这一部分可分为对图片的灰度处理、对光线的补偿、高斯平滑处理、改变所选中图片的对比度并将其增强。接下来本文将软件运用到的功能详细进行阐述。1.光线补偿:不论是日光还是照明灯光所带来的光线和角度问题的原因,所以照出来的图像可能会存在由于光线不平衡的情况而造成一些颜色上的不均衡不协调,目的要消除或是降低这种整个图像中存在的颜色上的不均衡让最终结果更加真实,这里用到的消灭问题的办法可以如下:把图片中的全部像素的亮度按照降序作出整理,并取前百分之十的像素,之后对其进行数学延展,将像素亮度系数提高至256。本质上这一操作过程就是对图像红绿蓝的值的改善。2.图像灰度处理:这一步是把是对本来的彩色图片转换为灰色,运用下面的过程来对所获取的照片进行灰度处理:(1)图像对比度增强(2)像素比例调整(3)灰度的线性变换。为了将我们所获取的图片的特征更加明显的显现出来,将图片的对比的程度增强是必要的手段,这一手段的主要内容就是将图片的灰度值作出一个详细的统筹,在所获取的信息中,那些比设定中“低”的更小的信息,则可以把他们视为有内容的信息将冗余的成分删除,位于中部位置的,将对比度调高,并将所得到的新信息置于数据库。3.高斯平滑:图片获取中,因为会有外界的不确定因素影响,例如传输过程中数据丢失、储存等,图像中经常发生不规则的随机噪音,这影响到图像的质量,因此需要对图像进行耳语处理以消除噪音。然而,如果图像本身的细节,如边界轮廓、线条等,不能适当地软化,以减少噪音和保持图像的细节,如果在这样的条件下用到这一手段,那么就会有平滑不当,原图的轮廓,细节会有出入。4.均衡直方图:通过使用点运算进而达到使输入能够转化为在任一灰度级上都会有类似此类的像素点的输出的图片是这一模块的基本目的之一,这一模块的转换的完成主要是利用灰度均衡的来进行的。DB=f(DA)=H(u)du(2-1)
第三章系统的概要设计这一模块的系统各模块的功能和相关原理和结构设计的流程在接来来的部分作出阐述。本模块的系统流程的大体框架下面以给出。用户用户从“文件”菜单中选择“打开”从“文件”菜单中选择“打开”这一选项在在点击“打开”所弹出的对话框中选择要打开的位图,点击“确定”,应用程序显示所要打开的位图获取特征参数获取特征参数人脸定位图象预处理识别获取脸部区域人脸定位图象预处理识别获取脸部区域输出输出识别结果图3-1总体结构设计流程图提前处理的图片的步骤大致可以如下:预处理预处理图像灰度化图像灰度化均衡直方图图像对比度增强二值化光线补偿图3-2预处理层次图3.1各模块功能概述上方所述是本文总体讨论的分步处理模块。接下來将要对系统中的每个部分结构功能组成作出解释:1.从图像获取模块摄像设备所拍摄的相片主要供这一部分使用,同时我们所需要的要处理的图像还可以从数据库中获取,被我们选中的图片可以在我们的系统中,能够更加方便的被识别出来。2.人脸区域获取通过皮肤色彩的多样性来实施图片特征的得到,是系统从图像里获取面部框架特性主要的方式,物种皮肤颜色通过数学方法来按部就班的对色彩转进行逐一转化的,此类根据脸部色彩差异的思想的建立选取一个恰当的对比空间空间是一个相当重要的步骤3.图像预处理模块对被采用的对象的适当处理可以称为图像馈送校正,并且预处理步骤允许图像中的显着特征清楚地显示在图像中。该模块有五个子模块。然后逐一解释。(1)光线补偿因为系统所识别到的图片是随机的这就可能会使所获取的图片存在光线不平衡的问题,这同时也会影响我们对图片特征的提取,必要对图像进行光线补偿是时系统中要用到YcrCB色彩空间的必要条件,将我们所选取的图像的各部分特征尽量多的展现出来,YcrCB作为一种色彩斑斓的三围立体,在图像人脸识别这一领域有着广泛的应用。(2)灰度变化把彩色图像转换为黑白色图像的这个流程我们称之为图像灰度化的过程,如果要想将所选取的图像的信息更加具象化,简明,信息更加全面的表现出来这一过程是必经之路,不得不说的是,图像的一些信息也会在这一过程中丢失。因正因如此,我们才需要在转化过程中尽可能的将图像的复杂的信息用一些简单的过程信息来表示。(3)高斯平滑处理对待处理的图片进行平滑处理需要用到高斯平滑处理,在图像收集过程和对图片处理中会出现不可控因素对结果产生干扰,这就使得图像通常在图像收集过程中产生不规则的噪声,图像打印可以生成数据,如图像传输、存储等。这影响了图像的质量。制造噪音的过程叫做闪光。滑动可以降低图片在视觉上的干扰和不稳定性,同时,图像的高频分量更容易识别。流体可以穿过十字架。随着波动水平的变化,会得到处理质量更高的结果。(4)对比度增强接下来要做的步骤就是将相片的对比度提高,把对比度拉大突出对比的程度。这个过程是直接面向来自原始图像的全部像素并能直接对像素进行接下来的工作步骤。通过增强函数对像素的灰度级进行运算是这一处理过程的主要手段并之后将运算出来的结果作为该像素的新灰度值。将不同函数的解析式应用到程序中我能会得到有差别的最终结果。(5)二值化图像二值化的最基础的目标是把获取到的多结构灰度图片转化成计算机能够识别的图像,这样能够分析理解和识别并简化计算所带来的不便和繁重的计算任务。我们把通过一系列的算法或通过一个既定的值来最终改变图像的像素的颜色的手段称之为二值化,二值化的功能是使整张图片画面内只出两个值,分别是黑和白,经过二值化处理的图片通常来讲就是有由黑色区域和白色区域组成,表示像素的时候我们可以用比特,“1”用来表示黑色,“0”则一般表示白色,显然表示方法不唯一10也可分别表示白和黑,我们就把这类图像叫做二值图像。特征的提取离不开图像的二值化,这使特征提取更加方便。(6)直方图均衡使每一输入图片变成在每个灰度级别都会有同样的象素点数是直方图均衡化的方向,这一处理过程的核心内容是将原本的图片的灰度直方图把原本灰度计较聚集的某一个或某几个区域变成灰度比较分散覆盖面积比较广的有序的飞分散,这一过程的进展大致方向是:将直方图变换式来进行直方图的均衡处理,直方图变换式公式是:(3-1)我们这里所用到的方法也不尽然完美,存在些许不足:
1)均衡化之后图片的灰度降低,原图中并不明显的内容会漏掉;2)对于不同的输入图片,在均衡后的色差反差会有大幅提高。3.1.1人脸定位模块所谓人脸的定位就是把人脸的有代表性的特殊位置如脑门,鼻子,嘴部等等这些部位的位置突出出来,在本系统中,定位的特征是眼睛,鼻尖和下巴这些位置。因为眼睛所处的位置具有对称性,所以标记出来并不难,至于鼻子,其位置在眼睛与嘴巴之间,也有较为特殊的位置,因此也不难标记,后续的鼻子和嘴巴的具体位置也能相应的被标明了。3.1.2特征提取模块本模块的工作方式可以按一下操作逐一展开:(1)对矩形框中的两瞳孔之间的尺寸作出计算(2)眼睛的倾角度(3)瞳孔以及下颚的重心位置(4)将每一部分的特征用方框作出定位数据结算后会得到相应的特征数据,将之放入数据库为后期处理做准备。3.1.3识别模块与数据库中的原有的数据以及数据作出对比并获取与特征大幅度接近的参数是这一模块的工作原理,接下来对该参数作出接下来的分析。假如分析所得在我们所确认的范围以内,就可以把所得结果认为是我们所需要的。然后从数据库存中整理出与该人面部的信息,并将这些信息输出。假如数据库中没有相应的信息,则给出提示是否对存库作为样本。
第四章系统的详细设计1、启动系统,并1、启动系统,并进入人脸识别系统内部界面。2、按操作步骤,进行拍摄,并将获取后的图片进行保存。1、对图片经过光线补偿处理、将图片进行灰度处理、实现图片对比度增强,二值化变换等一系列预处理。2、把图片中经过处理的人脸进行位置标定,分别标记出眼睛嘴巴鼻子的位置。3、对定位好的人脸图片进行特征提取操作。1、对人脸完成识别。2、结束并推出程序。输出4.1模块工作方式4.2数据处理内容流程4.2.1位图详细设计VC++这一编程环境没有为编译者提供较为方便的DIB绘制方法,所以只能靠编译者自己来创建一个实用的DIB类了。我们所用到的系统创造了专门的类DIB来处理与设备没有联系的位图,下表给出的操作函数就是处理位图的。
表4-1Dib类的部分功能函数功能ClearMemory()释放内存CopyHandle()拷贝内存块LoadDIB()加载位图信息ReadDIBFile()读取位图文件信息LightingCompensate()进行光线补偿PixelOffset()修正像素值PaintDIBTrue()绘制DIB对象GetColorNumber()获取颜色总数GetHeight()获取DIB高度GetWidth()获取DIB宽度GetSize()获取图像数据缓冲区中的字节数GetBitCount()获取颜色位数GetBiBitCount()获取字节数4.3图像点处理详细设计作为一种既简单但是有不可或缺的重要技术,图像点运算能够变图像数据占据的灰度范围作出改变和调整,经过不同采集方式或从不同数据库中得到的输入信息会产生与进入系统的数据相对应的output,同样的像素点的灰度值也是input决定output。这里所用到的处理方式与上述局部运算的区别之处就是局部运算所最终得出的output是由多个input共同起作用的。本处的处理方式对于空间的改变作用不计。点运算能够根据既定的方向来改变任意图像的灰度直方图。我们知道灰度等级的不同会是随着既定的运算法则的变化而变化的,除去这些法则外,对于像素点的增加则可以看做是点运算的原理。输入与输出的函数式关系可用下式其中A为inputB为output:(4-1)上式中f代表是的是灰度改变的运算法则,这一法则对输入灰度值和输出灰度值之间的变化做出的改变,运算是否得出结果的标准就是灰度变换函数值能否稳定。点运算另一种情况下也可以被称作对比度增强亦或是对比度拉伸或灰度变换,这一运算的作用能够使数字化的软件正常运行。接下来我们会对数据处理解决各图像点处理模块做出理论和编程实现。4.3.1光线补偿1.算法思想:由于皮肤颜色以及其他的色彩信息容易受到外界环境如不同的光照条件,图片获取装置等一系列条件的影响,光线补偿这一想法的提出就显得尤为重要,一般而而言我们所说的颜色上出现泛黄,偏冷,偏暖这些情况就是就是我们所处理的整张图片会在全部色彩上偏离原有的色彩而想其他方向整体搬移。这种所谓的色彩偏差现象在我们生活中的艺术照中较为普遍。要减少甚至消除这种在图片中有的在颜色上的误差,要用到全部图片中的每个像素亮度(都是通过数学校正后的亮度)并将这些像素按亮到暗的顺序整理,将前十分之一定位目标像素,假如我们所取得像素数量达到一定数目以上假设200,被选中就得就可以称之为参考系,把色彩的红绿蓝分量值都改为255。图片内另外所有像素点的色彩值也都会根据这一像素比例来调节尺度。2.具体实现光线补偿功能:大致了解了光线补偿的功能算法及操作方向后,就能够通过以下的操作来完成功能实现:代码如下hDIBTemp=gDib.CopyHandle(hDIB);gDib.LightingCompensate(hDIB);GlobalUnlock(hDIB);Invalidate();光线补偿功能的主要代码如下: for(i=0;i<height;i++) for(intj=0;j<width;j++) { //获取像素偏移 lOffset=this->PixelOffset(i,j,wBytesPerLine); //得到蓝色分量 *(lpData+lOffset)=colorb; //绿色分量 colorb=*(lpData+lOffset+1); colorb*=co; if(colorb>255) colorb=255; *(lpData+lOffset+1)=colorb; //红色分量 colorb=*(lpData+lOffset+2); colorb*=co; if(colorb>255) colorb=255; *(lpData+lOffset+2)=colorb; }(1)光线补偿的效果图如下所示:图4-1原图图4-2光线补偿效果图4.3.2图像灰度化1.算法思想(1)彩色转换成灰度对图片进行灰度处理会用到下式:(4-2)式子中,gray即为像素灰度值。(2)灰度比例变换灰度比例变换一般就是将原像素的灰度乘上缩放因子,截止到区间[0,255]。(3)灰度线性变换因为成像时曝光度不够或者曝光过度,最终生成的图像会出现对比度不够的问题,这样的后果就是最终图像里的一些细节会模糊难以分辨。对图片像素灰度做线性延伸,能够明显的使图像的观感得到提升。灰度线性变换算数公式为:(4-3)上式字母f所表示的是图像像素灰度,g是经过线性变换后的灰色值。这种变换把位于区间[a,b]的灰度值搬移到灰度区间[c,d],原来不位于[a,b]区间的灰度值会留来原来的区间。这里a,b,c,d,f,g均为[0,255]之间的整数值。由此可得,a被搬移到为c,b被映射为d。(4)灰度线性截断灰度线性截断思路是:假如像素的灰度值比a小,那么这一像素灰度为c;假如原像素的灰度在b以上,那么像素值为d。2.具体实现灰度化功能大致了解图像灰度处理的工作流程后,接下来的工作就是通过对程序进行编码来实现图像灰度化(1)编辑菜单IDR_MAINFRAM,先在其中添加一菜单项,将其命名为”图像灰度化”,并将其ID号设为ID_READY_SCALE,对应文件FaceDetectView.Cpp中的函数ReadyLightingconpensate()实现.(2)现该模块的核心代码如下:获取蓝色分量ColorB=*(lpData+lOffset);获取绿色分量 ColorG=*(lpData+lOffset+1);获取红色分量 ColorR=*(lpData+lOffset+2);计算灰度值 gray=(ColorG*50+ColorR*39+ColorB*11)/100; 显示灰度图像 *(lpData+lOffset)=gray; *(lpData+lOffset+1)=gray; *(lpData+lOffset+2)=gray;其中lpData是图片数据区,lOffset是图片像素的偏移,gray是图像的灰度值(3)图像灰度化效果图:图4-3图像灰度化效果图
4.3.3高斯平滑1.算法思想在对本节内容介绍之前,首先要对模板操作有个了解。所谓模板操作就是在数字图像处理的过程中会频繁使用到的计算方法,在图像的平滑、锐化以及细化等等的一系列操作中模板操作都发挥着重要的作用。比如:一种普遍的平滑算法是将原来图像中一个像素的灰度值以及其四周相邻的八个像素的灰度值的加和,之后求取平均值以此来用作新图中的灰度值,可用以下方法:(4-4)我们通常把上式成为模板。位于中部的点即为元素中心元素,这即为要处理的数字,如下矩阵即为样板:(4-5)那么这种处理方式可称:把初始任意像素的灰度值与其四周围着的八个值做加和之后将得出的新数对其求平均并以这一新值为这一方阵像素的灰度值。假若中心位置交换意义即为中心灰度值与其上面的值乘以二做加和赋予新的中心值,而所表示的意义恰与上相反。一般情况下边界以外的值在计算时不做处理,因此经过计算后的新值相较之前的值会有偏差,一般来说会偏小,举例为:当模板是原图灰度值矩阵是时,经过模板操作后的图像为“-”即为对边界处可操作性较弱的像素点,通常的方法就是对原来图片的图像灰度进行复制,之后对图像就不做处理。模板操作完成了一种对领域计算,即对于单个像素点操作输出不单对本像素灰度会产生影响,并且该领域的值会与其他点的值有关。接下来把平滑的用途和解决方法作出介绍。在对于图片获取的过程中,图像会因为外界不确定因素的影响致使图像中一般会有一些误差存在,如不规则噪声,在传输或者存储时发生的数据的错误丢失等等,所有这些不确定因素都会对成像质量造成影响。对噪声点的修复叫做平滑处理,平滑能够减少成像时的视觉噪声,将图像中的高频段分量消除,原本相对较隐晦的低频分量会变得易于识别。但是噪声点一般都是相对独立的点,噪声点的像素灰度值与其相邻的灰度值有着明显的差异,灰度值会在这个点周围骤变值高频带区域。卷积的作用之一就是对图片进行降噪,平滑的频率截止点是受卷积核的大小跟卷积系数共同作用影响的。低通滤波器的显著功能有大致分一下几点:1卷积核的横纵向数一般为单数,常规状态是三阶方阵;2卷积系数以中心点做中央的n阶方阵;3卷积系数中不存在负数;4相距中心较远在边界意外的的卷积系数的值不参与运算;5经过卷积得出的运算数据不会对图片的亮度产生影响。在x轴方向上的成像以及图片的二值化处理经过卷积平滑后会呈现出一个令人满意的输出。X轴上成像的曲线会滤除在y轴上不稳定不规则的锯齿条纹,经过二值化处理的图像会有更多的像素点集中分布,下面给出的是一些高频的卷积核:1/91/91/91/101/101/101/162/161/161/91/91/91/101/51/102/164/162/161/91/91/91/101/101/101/162/161/16LP1LP2LP3一般情况下我们将图像做如下处理:把像素中心位置四周八个点的像素值乘于每个矩阵所对应的系数后求出加和得到一个值,并求出这个值与中心点像素值的乘积,把最后得到的这个值付给中心点像素值。通常情况下,对于向异的噪声都会有相应的算法与之对应。这里所用到的卷积算法就是高斯卷积核,即为如上所述的卷积核的LP3。经过二维高斯函数采样可以得到最终的卷积。高斯平滑算法具有显著的优越的地方,比如经过平滑后图像会更加清晰,减少失真,使算法具有更高的容错性和普适性,这样能对多种噪声干扰作出屏蔽。特别提醒:算法不能再图片边界点出对之作出平滑处理,所以处理对象的范围要在边界点内部。2.具体实现高斯平滑功能了解高斯平滑的工作依据后,就能通过程序设计来完成对图像的编译:其代码的核心部分有下给出: Template(tem,3,3,xishu); Invalidate(TRUE);其中tem是模板参数,xishu是模板系数;Template()完成对图像进行平滑降噪的,代码是:for(m=i-((tem_h-1)/2);m<=i+((tem_h-1)/2);m++){ for(n=j-((tem_w-1)/2);n<=j+((tem_w-1)/2);n++) sum+=Gray[m][n]*tem[(m-i+((tem_h-1)/2))*tem_w+n-j+((tem_w-1)/2)]; }sum=(int)sum*xishu; 计算绝对值 sum=fabs(sum); 如果小于0,强制赋值为0if(sum<0)sum=0; 如果大于255,强制赋值为255if(sum>255) sum=255;HeightTemplate[i][j]=sum;3.高斯平滑效果图:见下图4-4图4-4高斯平滑效果图4.3.4灰度均衡1.算法思想这里所提及的名称能够让“直方图均衡”所代替,经上述所提的点运算把输入经计算最终输出没有杂乱分量的生成图像。这里所提到的方法能够十分高效的把图像变为标准的待处理模块。根据所处理图片的像素灰度值我们可以归纳出下式:(4-6)上式中H即为直方图,分式中的分母为输入材料的大小,我们假定输入数据Pr(r)所表示的为概率分布的大小,输出后的数据用Ps(S)来计算,其中计算法则为s=f(r),整合数学知识我们可以用下式表示:(4-7)经计算后若要让输出的图像数据达到标准要求那么还需一下计算:(4-8)对其两端求取原函数:(4-9)这里所用到的计算式即为像素转换公式以上所提及的是被归一化后所总结归纳得出的,至于没有经过这一过程的输入,需要做到的就是将红绿蓝的像素值调至最大,表达式如下:(4-10)对于离散图像转换式为:(4-11)式中Hi为第i级灰度的像素个数。2.编程实现在灰度均衡操作同样不需要改变DIB的调色板和文件夹,只要把指向DIB像素起始位置的指针和DIB高度、宽度信息传递给子函数就可以完成灰度均衡变换工作,其核心代码如下:*(lpData+lOffset)=state;//显示灰度均衡*(lpData+lOffset+1)=state;*(lpData+lOffset+2)=state;
3.效果图图4-5灰度均衡效果图4.3.5图像对比度增强1.算法思想:输入图片均衡直方图经过以上步骤,接下来的工作就是将图片对比度进一步调高,进而扩大它们的差值。将计算灰度值的结果做出比照,区分最终数据是否相关是以所设定级值为基准线,低于这一值的则认为有用,其余信息可将之滤除。位于两基准线中间的数据,将对比度升高,并作为新的样板数据纳入数据库。衡量这一部分工作成功与否的表示就是是否将图像特征最终呈现。2.编码实现:添加“实现图像对比度增强”菜单项的事件处理程序,其代码如下;lOffset=gDib.PixelOffset(i,j,gwBytesPerLine);获取图像灰度增强函数intstate=IncreaseContrast(ZFT[k][k1],100);显示灰度增强后的图像*(lpData+lOffset)=state;*(lpData+lOffset+1)=state;*(lpData+lOffset+2)=state;这里所提到的IncreaseContras()能够将对比度提升,对比度的强弱由n控制,并与其值的大小呈正相关,其中n是非负的,重要代码段为:if(pByte<=Low) return0; 获得中间数据,并进行对比增强处理 elseif((Low<pByte)&&(pByte<High)) returnint(((pByte-Low)/Grad)); 如果数据很大,设置为255 else return255;3.效果图图4-6对比度增强效果图
4.4编程时的问题解决4.1光线补偿将图片中像素;亮度逐一作出调整是一个很大的工程,起初,用到的方法是设置一个基准值进而将将多幅待测图像与该值比对,处理后的结果还算过关,这一方法的缺陷暴露在我将更多的图片输入后,本来所设置的基准值就显得作用不明显,这一问题在运用全局统计时得到了解决。4.2高斯平滑如前面所述,采用这一步的必要性就是削弱噪声,通过对模板的操作来对这一用能投入运用,所以模板参数的敲定是尤为关键的。模板参数能够直接决定得出结果的质量。这就要求在程序编写是所选定的参数不是一蹴而就的,因为存在的可能性一定是多样的,多组次的选择确定选择区间并用数学方向筛选出最优值。起初的值选定为1/91/91/91/91/91/91/91/91/9形式,但是,得到的效果却是令人失望。后来又用了1/101/101/101/101/51/101/101/101/10效果有了提升,但改进的程度不明显。最终所选定的数据为1/162/161/162/164/162/161/162/161/16实验证明这确实是最优结果。4.3均衡直方图起初灰度的分布并不集中,图像中有区分度的部分也被掩盖,原本想经过高斯平滑后进行灰度变换,最终结果并不如预期那样理想。但之后按部就班的进行了多次实验,也的确找到了均衡的方法,后续的试验检测结果也证明了结论的正确性。
第五章系统结构在本文说述的运行程序中,接下来要做的就是对各个部分和模块及其在整体中发挥的作用所和对应的名称进行描述:1、CFaceDetectView:这是不需要手动输入的是始终在应用程序里的。其中所包含的选项可以满足大部分问题的解决。CFaceDetectView.h文件和CFaceDet
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版交通设施地形图保密及规划合同3篇
- 二零二五版建筑工程施工图纸审查招标投标合同书3篇
- 二零二五年度花展工程花卉品种研发与专利申请合同3篇
- 二零二五年度绿色建筑项目采购合同3篇
- 二零二五版XX个人商业秘密保护合同样本3篇
- 二零二五年度私人墓地购置与墓园墓碑雕刻人才培养合同3篇
- 二零二五年度金融机构贷款担保与信用管理合同3篇
- 二零二五版家庭水电维修与改造兼职合同3篇
- 二零二五版废旧电线电缆回收与资源化利用合同3篇
- 二零二五年度食品行业环境保护设施租赁合同2篇
- DISC性格与能力测试题及答案解析
- 年产12万吨装配式智能钢结构项目可行性研究报告模板-立项备案
- TB 10106-2023铁路工程地基处理技术规程
- 三年级下册综合实践活动教学设计- 岭南水果|粤教版 52张
- 沪教版数学六年级(上)第二章分数课课练和单元练习卷及参考答案
- 承包意向书2024年
- 小学心理健康教师资格考试面试2024年下半年试题与参考答案
- (正式版)QC∕T 1206.2-2024 电动汽车动力蓄电池热管理系统 第2部分:液冷系统
- (正式版)CB∕T 4550-2024 船舶行业企业安全设备设施管理规定
- 完整版肺癌护理查房课件
- 正规光伏屋顶租赁合同
评论
0/150
提交评论