基于JavaCV的人脸检测系统

来源 :科学与技术 | 被引量 : 0次 | 上传用户:wuzhen16885168
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:人脸检测是指使用计算机在动态的场景或复杂的背景中检测出人脸的存在,并确定所有人脸的位置与大小的过程。人脸检测技术是人脸识别、表情识别、人脸跟踪等技术的重要前提条件,同时在模式识别、人机交互、智能监控、视频检索等领域也有广泛的应用。
  JavaCV在OpenCV基础上提供了进行人脸识别的API。本文介绍了PC上使用Eclipse集成开发环境搭建了基于JavaCV的人脸检测的算法及其系统。
  关键词:人脸检测;JavaCV;OpenCV
  一、 人脸检测现状分析
  人脸检测问题最初来源于人脸识别,任何一个自动的人脸识别系统首先必须对人脸进行准确的定位,因此实时而有效的人脸检测显得尤为重要。跟其他生物特征识别方法相比,人脸识别具有更加直接、方便、友好的特点,因其非侵犯性更容易被用户所接受。而且,通过对人脸的表情、姿势等作分析,还能获得其他识别系统难以获得的信息,因此人脸识别成为最有潜力的生物身份验证手段。早期的人脸识别研究主要针对具有较强约束条件的人脸图像(如无背景的图像),因此假设人脸容易获得或在手工交互下运用,而人脸检测问题并未得到重视。
  近年来,随着信号处理理论和计算机的出现及其发展,人们开始用摄像机获取环境图像并将其转换成数字信号,用计算机实现对视觉信息的处理,这就形成了计算机视觉。计算机视觉是当前计算机科学中的一个非常活跃的领域,其基本假设是:可以用计算的方式来模拟人类的视觉机制。
  人脸的自动识别是一种重要的生物特征识别技术,与其它身份识别方法相比,人脸识别具有直接、方便、友好等特点,因而人脸自动识别问题的研究不仅具有重要的应用价值,而且具有重要的理论意义。现在,随着科学技术和电子商务的发展,人脸检测的应用背景已经远远超出了人脸识别系统的范畴,在基于内容的检索、数字视频处理、计算机视觉、人机交互等方面都有着重要的应用价值。
  人脸识别通过计算机提取人脸的特征,并根据这些特征进行身份验证。人脸与其他生物特征(指纹、虹膜等)一样与生俱来不可改变,它们所具有的唯一性和不易被复制的良好特性为身份鉴别提供了必要的前提,同其他生物特征识别技术相比,人脸识别技术具有操作简单、结果直观、隐蔽性好的优越性。人脸识别一般包括三个步骤:人脸检测、人脸特征提取和人脸的识别与验证。其处理流程如图1所示。
  图1 人脸识别的一般步骤
  二、 使用JavaCV进行人脸识别的方法
  人脸检测一种主流的方法就是类haar adaboost方法,OpenCV中也是用的这种方法。这种方法可以推广到刚性物体的检测,前提是要训练好级联分类器(比如说用类haar特征),一旦训练数据弄好了,直接调用OpenCV中的类CascadeClassifier,用它的几个简单的成员函数就可以完成检测功能。
  2.1 Adaboost算法简介
  Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。使用Adaboost分类器可以排除一些不必要的训练数据特徵,并将关键放在关键的训练数据上面。Adaboost 算法是1995 年提出的一种快速人脸检测算法,是人脸检测领域里程碑式的进步,这种算法根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高。
  Adaboost算法是目前在人脸检测方面检测速度较快、检测效果较好的一种检测方法,它是一种把弱分类器采用级聯的方式训练成为强分类器的方法。这些弱分类器只需要满足比随机猜测好一点,就能通过不断的修正每个弱分类器的权值,即挑选那些比较好的分类器,抛弃不好的分类器,从而最终形成由这些弱分类器组成的强分类器,相比较其他的方法而言,Adaboost方法对每个弱分类器的权值的形成都是无人值守的,完全自动化的,因而Adaboost算法有着比较好的易用性。大量的实验证明,Adaboost算法是有效的将多弱分类器强化成为强分类器的一种方法,经过训练的分类器具有比较好的分类效果,而且速度较快。
  2.2 Google识图
  本系统采用Google识图技术,Google识图的关键技术叫做感知哈希算法(Perceptual Hash Algorithm),它的作用是对每张图片生成一个"指纹"(fingerprint)字符串,然后比较不同图片的指纹,结果越接近,说明图片越相似。
  下面是一个最简单的实现:
  第一步,缩小尺寸。
  将图片缩小到8x8的尺寸,总共64个像素。这一步的作用是去除图片的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。
  第二步,简化色彩。
  将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。
  第三步,计算平均值。
  计算所有64个像素的灰度平均值。
  第四步,比较像素的灰度。
  将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。
  第五步,计算哈希值。
  将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序就行了。
  得到指纹以后,就可以对比不同的图片,看看64位中有多少位是不一样的。在理论上,这等同于计算"汉明距离"(Hamming distance)。如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。图2给出了Google识图的流程图   图2 Google识图的流程图
  这种算法的优点是简单快速,不受图片大小缩放的影响,缺点是图片的内容不能变更。如果在图片上加几个文字,它就认不出来了。所以,它的最佳用途是根据缩略图,找出原图。
  本论文就是在此基础上运用人脸识别算法找出静态图片人脸位置后,进行截图,并根据其他静态图片的人脸截图进行相似度比对,判别是否同一人。
  三、实验分析和研究
  本系统应用JavaCV进行人脸识别,于静态的图片上截取人脸后,使用Google识图的原理,将图片与其他静态图片的头像进行比对,当相似度在一定范围内时,则认为为同一人。
  而在视频等动态图中寻找人脸,我们是使用了ffmpeg的软件对视频按时间进行截图,命名方式就是以时间命名,之后的人脸比对就是静态图片之间的人脸比对了,当发现与要求人物所在图片时,根据图片取名字,即可得到当前人物在视频中出现的时间,以此给出结果。
  图3给出了本系统进行比对的流程图。
  图3 系统人脸识别的流程
  本系统可较好地实现人脸的识别和判断,但由于本身的学习数据不足,并不是每个人脸都能检测出来。特别是在图片边界上的人脸,也就是被遮挡了部分的人脸,基本检测不出来。还有,在人眼不是特别正的情况下,也不易检测,这应为训练数据不充分或OpenCV算法的原因。另外,本系統中拍摄图片时的光线强度和人脸的相对倾斜都对系统的人脸识别有一定的影响,这也有待系统算法的改进。
  四、结论
  本文使用JavaCV进行人脸图像的采集、处理和检验,基本实现了人脸的识别和检验。但系统还存在一些不足,可在下面两点进一步改进,首先需要改进人脸的识别,使得在图片中的人脸搜寻准确率提高。其次,在进行人脸图片比对时,应使用不易被光线影响的计算人脸特征值的算法进行计算,减少某些因素的影响,提高系统识别准确率。
  参考文献:
  [1] 苏草,林亚明.基于人脸识别的移动终端课堂考勤系统[J].计算机光盘软件与应用, 2014(4):112-113
  [2] 秦小文,等.基于OpenCV的图像处理[J], 电子测试,2011(7):51-53
  [3] 曹莹,等. AdaBoost算法研究进展与展望[J], 自动化学报,2013(6):89-92
  [4] 黑吧安全网. 利用OpenCV实现人脸检测[J/OL].2014-6. www.myhack58.com/Article/68/2014/49692.htm
  [5]阮一峰. 相似图片搜索的原理[J/OL].2013-3. www.ruanyifeng.com/blog/2011/07/principle_of_similar_image_search.html
  作者简介:
  陶建航(1991.10-),男,汉族,浙江温州人,本科学生,研究方向:手机及网络系统开发与应用
  张琪(1972.9-),男,汉族,江苏南京人,硕士,副教授,研究方向:物联网及其应用技术等;
其他文献
我公司波音737-300飞机多次出现增压故障,严重影响了航班的整点率,给公司形象和效益均造成了负面影响,机组反映也是比较强烈。在当前工程部提出放心工程的形式下,作为机务维护部门,我们有必要做好此方面故障的研讨,提高排故水平,减少故障的发生,缩短排故时间,使得我们在保障飞行安全、提高航班正点率方面做的更好。下面我根据以前出现的一些故障的现象及排故措施方面做一个小结。  一、组成及功用  控制系统包括
期刊
摘要:目的 建立用GC法测定丁香罗勒油中丁香酚的含量。方法 OV-1弹性石英毛细管色谱柱(30m×0.32mm×0.25μm)为固定相,FID检测器,进样口温度230℃, 检测器温度250℃, 采用程序升温,柱温100℃, 保持1min,然后以15℃/min的速率升至220℃保持8min; 载气为氮气,以正十八烷为内标,按内标法计算丁香酚含量。结果 丁香酚进样量在0.5~4.5 mg /ml 范围
期刊
【摘要】伴随着科技的发展VARIAN 23EX直线加速器的应用范围不断扩大,它的自身优势为造福社会提供者巨大的便利。但是,伴随着VARIAN 23EX直线加速器的广泛应用,其中存在的故障问题也在不断的增多。因此,笔者结合自身的工作经验,以及对于VARIAN 23EX直线加速器的认识,来综合分析其在工作当中出现的问题进行会中,其中,发现在VARIAN 23EX直线加速器故障当中,针对出现问题频率最高
期刊
摘要:在回顾历史文化街区保护的发展历程的基础上,为使文化历史遗产和城市风貌在城市更新中得到积极保护,本文研究如何运用三维时态信息化技术,研发三维时态城市规划管理系统,为历史街区维护和管理工作提供科学的数据依据和技术支撑。  关键字:三维 时态 规划 信息 城市历史 保护规划  1、绪论  1.1、背景  《天津市城市总体规划(2005-2020年)》确定了中心城区14片历史文化街区,分别为估衣街、
期刊
随着社会的不断发展,我国浅层存在的矿产资源已经被大量的消耗。想要实现经济的持续发展是不可能的,所以我们需要借助相应的技术向更深层次的矿产资源进发。在进行深层矿产资源开采的时候,因为存在各种条件因素的影响,迫切需要找到科学有效的采矿技术。目前我国大部分大型矿山一般使用的采矿技术就是地下深孔采矿技术,地下深孔采矿技术是一种高效的、大规模的采矿技术。目前我国大部分学者和专家进行了技术的研发,在原来的技术
期刊
摘要:在一个企业当中,物资的供应往往是最重要的一个环节,所以一旦在物资供应上出现了什么问题,那么整个企业的循环程序就能够说是将近瘫痪了。如此一来,对一个企业来说,如何去创建一个能够高速运作并且切实可行的完备的物资供应系统就变得尤其重要了,同时完善的物资供应系统对企业的循环发展有着非常重要的作用。而在下文中就会深入讨论在现代物资供应中存在的严峻考验以及解决的具体方法,同时还会对现如今快速发展的信息化
期刊
摘要:随着我国建设项目以及工程技术的快速发展,液压挖掘设备已经被广泛应用在各类型的民用建设以及国家水利电力工程的施工项目中,借以提升工程建设的质量与效率。经研究分析,虚拟样机仿真及设计项目的运作,可以提早发现液压挖掘机在实际工作中所可能遇到的问题,进而采取有效措施将其避免,这样便可以在一定程度上降低机械设备的研发成本。本文就液压挖掘机工作装置虚拟样机仿真的相关内容进行深入研究,以期能为实践项目的运
期刊
摘要:随着电力工程管道工程的快速发展,管道焊接技术显现出来的地位也越来越重要,相应的技术也在不断的更新发展。电力管道焊接技术,一方面要对本身的技术革新发展,另一方面焊接团队必须具有高水平、高素质。本文就针对电力工程管道焊接技术存在的问题,提出相应的解决对策。  关键词:管道;焊接技术;问题;对策  在电力开发的后期,管道方面的问题也越来越突出,这对管道铺设的要求也会随之严格。管道的安全运行与其焊接
期刊
摘要:实际上,规范的接地要求与广播电视设备的安全运行之间存在着密切的关系。只有不定期检查全部的接地保护装置,才能妥善处理接地保护中的实际问题。本文结合实际状况,分析了接地系统的类型,探讨了地的连接方式与使用原则,试析了接地级的制作方法,阐述了接地不良的负作用及解决办法,指出了如何检修接地系统,希望能够对广播发射系统中的接地系统研究的实践工作发挥较为重要的指导和借鉴作用,希望能够取得预期的成效。  
期刊
摘要:锂离子因为其优异性能在各方面得到广泛的应用,但是在使用过程中,锂离子电池的热稳定性、安全性以及生命周期受到多种因素的影响,本文对于锂离子的动力电池热模型以及电能测试进行研究,对于提升电池安全性能的方式进行探讨。  关键词:锂离子电池;热安全型;进展  1、前言  1995年索尼公司开发了用于电动车的锂离子蓄电池,当前的锂离子电池以其大功率密度和高充放电效率具有广泛的用途,当前的广泛应用于电动
期刊