信息科学
科技创新导报 Science and Technology Innovation Herald
150
①基金项目:本文获江苏省淮安市国际合作科技项目(项目编号:HAC201618)资助。
DOI:10.16660/jki.1674-098X.2018.09.150
基于Emgu CV的GPU加速人脸识别
①
李刚 孙平
(淮阴师范学院 江苏淮安 223300)
摘 要:Emgu CV是.NET平台下对OpenCV图像处理库的封装,可以实现人脸识别的判断。本文着重讨论了在.NET 下基于Emgu CV利用GPU加速技术实现了静态图像的人脸检测、人脸识别、人脸比对,以及视频流中的人脸识别。该软件获得我校技术进步二等奖,实验结果证明本程序运行稳定,结果可靠,识别速度快。关键词:Emgu CV GPU加速 人脸检测 人脸识别中图分类号:TP39 文献标识码:A 文章编号:1674-098X(2018)03(c)-0150-04 Abstract: Emgu CV is OpenCV image processing library encapsulation on platform, that can be used to realize face recognition judgment. This article emphatically introduced Emgu CV graphics library for face detection, face match, and face recognition in image and in video as well, with the assist of GPU speeding technology. This implemented procedure was granted 2nd prize in the Advanced Technologies in Huaiyin Normal University. Long-time running demos show the procedure worked stably, reliably and quickly.Key Words: Emgu CV; GPU; Face Detection; Face Recognition
人脸识别作为一种成熟而新颖的生物特征识别技术,具有识别精度高,识别速度快,使用方便,不易被仿冒等优点,与虹膜识别、指纹扫描等这些生物特征识别技术相比,人脸识别技术在各个应用方面都表
现出得天独厚的技术优势,而且成本低廉,易于推广使用,企业用户的接受程度非常高。本文基于Emgu CV图像库,利用GPU加速技术设计实现了静态图像中的人脸识别的检测与识别、登陆认证,以及在动态视频流中进行人脸识别的实现方法。
1 实现方法
Emgu是跨平台的支持OpenCV直接进行函数调用的图形图像函数处理库,可以在Mono编译并可以在Windows、Linux、Mac OS X、iPhone、iPad和Android各类平台设备上编译运行。Mono的优点在于它可以被交叉编译并能够支持跨平台的移动设备,包括iOS、Android、Windows Phone、Mac OS X和Linux。Emg u能够支持的语言,包括C#、VB.NET、C++和Python。Emgu CV库包含四个核心组成部
分(如图1所示),Emgu.Util.dll封装dotnet人脸识别接口,Emgu.CV.dll可完成人脸识别中的图像处理,Emgu.CV.Ul.dll初始化人脸识别的用户界面,Emgu CV.GPU.dll调用计算机GPU加速人脸识别的匹配速度,进而提高识别精度。1.1 调用GPU加速处理摄像头数据
GPU的图形计算性能比CPU更强大,CPU是通用运算器,而GPU更适合于浮点数运算。GPU的特点是处理密集型数据和并行数据计算,因此CUDA非常适合需要大规模并行计算的领域。NVIDIA提供了调用GPU的CUDA核心接口,因此在人脸识别的图像处理过程中可以调用GPU加速处理,可以大大缩短程序运行时间。人脸识别算法中需要运行大量的浮点运算,GPU运算单元数量多的优势会特别明显。目前已
经有较多平台的NVIDIA显卡都可以支持CUDA的加速调用。CUDA工具集核心是一个极快速的C语言编译器,在GPU中集成了超过128个可单独计算的ALU,这个显著特点直接决定了GPU非常适合并行计算,
而且
表1 部分GPU浮点运算性能的对比
信息科学
科技创新导报 Science and Technology Innovation Herald
151
在数值计算方面GPU的运算速度远远超过CPU的运算速度。本文采用多种机型的计算机进行GPU加速运算能力的测试计算对比,如表1所示当前常见的GPU的运算性能。CUDA目前可以支持C、C++、FORTRAN、Python等4类开发语言。CUDA由于GPU的高速计算与优异的图像处理能力已广泛的应用在计算机图形图像处理、科学数值计算、物理空间模拟等众多科学领域。1.2 人脸识别方法
Emgu CV提供图像处理与可支持的各种编程语言间相互通信的交互接口,可以快速调用,将图像转换为数据XML文件或位图,便于各种算法进行调用和访问。
1.2.1 人脸检测
无论是静态图像还是摄像头捕捉到的人像,在人脸图像中的双眼、鼻与口一般是构成一定的结构分布特征。首先可以根据平滑直方图对图像进行简单分割,然后可以根据一定的灰度空间定位人脸中的双眼,调用GPU进行同步加速,达到快速识别人脸检测的目的,建立256个Haar特征,Haar分类器对特征进行筛选,一旦该特征通过了分类器的筛选,则可以判定该区域为人脸,这样基本就可以确定大致的人脸范围区域(如图2所示)。
1.2.2 人脸图像的灰度处理
灰度图像与黑白图像不同,在计算机图像中黑白图像只有黑白两种颜。但是灰度图像在黑与白之间还有许多不同等级的颜深度。因此在数字图像领域之外,黑白图像也可以表示灰度图像。在一些关于数字图像的文章中就将单图像看作是灰度图像或黑白图像。计算机灰度
(Gray scale )数字图像是每个像素只有一个采样颜的图像。灰度图像一般表示为从黑到白的变化灰度,通常采用二值化法对任何颜的不同深浅,甚至可以是不同亮度上的不同颜进行采样。二值化是一种图像分割的方法,当前常用的二值化方法有:双峰法、P参数法、迭代法和OTSU法等。在进行图象二值化操作的时候把大于灰度阈值的像素灰度设为灰度极大值,把小于这个阈值的像素灰度设为灰度极小值。基于灰度的数学期望的二值化方法是一种十分有价值的方法,在其基础上进行进一步的处理是非常有效和便利的。使用二值化修正算法对取得的人脸图像进行修正,使其此时达到人脸二值化所要求的水平。
1.2.3 人脸图像直方图算法
对于任何一个灰度图像,令i n 表示灰度i 的出现频率,则图像中灰度为i 的像素出现的概率可以表示为
是图像中所有的灰度数,是图像中所有像素的数量,p 是归一化到[]1..0区
间的图像直方图。把c 可以看作为对应于p 的累计概率
函数, 则可有,()()∑==i j x j p i c 0
,而且c 是人脸图像的归一化直方图。再令()x T y =的变换,对原始图像中的每个灰度值,其累计概率函数可以在所有值范围内实现线性转换:
()()i c x T y i i ==。T 变换将不同等级灰度值映射到0~1区
域,如果需要再将灰度值映射回它们最初的域,只需要对
灰度结果执行简单的逆变换:()min min max +-⋅='i i y y 。这就是在灰度图像上使用直方图均衡化的常用方法。通过这种方法分别获取图像RGB颜值的红、绿和蓝
图2 摄像头人脸识别的学习与人脸匹配的比对
图1 Emgu CV图像处理函数库结构
科技创新导报 Science and Technology Innovation Herald
152
分量,也可以实现对彩图像的快速处理。本文在人脸识别中,如图3所示,首先将摄像头获得的彩图像灰度处理后转换为灰度图像,再利用直方图算法进行人脸匹配的比对,根据两次获得的人脸特征比较判断是否人脸匹配,实现人脸识别的认证登陆。
1.2.4 近似插值算法
采用近似算法进行近似填充插值操作,可以明显提高图像的分辨率,其作用是减少人脸识别的误差。假设摄像头只有130万像素,分辨率为720P (即1280×720像素),当人脸图像转换为灰度图像后进行直方图处理进行人脸匹配比对时可能会出现由于精度不够而产生人脸匹配的误差。图像的分辨率对于人脸识别的正确率有很大的影响,实验结果表明低分辨率情况下人脸识别的准确率低于80%。常用的近似算法有贪心算法、线性规划方法、半正定规划的松弛和取整、随机算法等,本文中采用随机算法。随机算法(randomized algorithm)中使用了随机函数,而且函数返回值直接或间接影响算法的执行过程或执行结果,即算法运行过程中的某步运算涉及一个随机决策,或者说其中的一个决策依赖于某个随机事件。这样做可以使随机算法可以有效地弥补摄像头像素的不足。
1.2.5 视频流提取
视频流是视频的一般表现形式,视频是由大量的帧图片组成,因此在动态视频中进行人脸识别需要首先实现视频流的提取。如图1所示采用EMGUCV图像库调用视频流中实现提取人脸图像的方法。系统读取
导入MPEG或AVI 视频的同时需要创建一个查表,查表就是本文快速获得访问视频各帧的起点地址的重要的数据结构,用于
存储视频帧的逻辑块地址(logic block address),在GPU协助下采用硬件比较器可以快速查MPEG视频流内帧的起始地址,通过硬件支持快速随机存取到MPEG流逻辑的开始地址。如图4所示,对获取到的帧图像进行上问所述的人脸检测、匹配、识别,实现动态视频流的人脸识别方法。
1.3 开发应用体会
实验中使用的视频文件的分辨率一般为720P ,视频帧速为30帧/s,在人脸识别实验中发现,当前标配计算机的CPU和GPU性能表现,程序需要至少50MB的缓冲区空间用于人脸特征匹配比对,否则将会很容易导致程序运行时缓冲区溢出的致命错误,所以除非计算机拥有足够大的内存,程序运行时对内存的占用峰值超过200MB,这就需要为RAM不足的计算机进行算法优化,以提高人脸识别的程序健壮性与可移植性。
2 结语
随着互联网技术的迅速发展,信息安全问题受到人们越来越密切的关注。保护自身安全和个人隐私已经成为当前人们最为关心的热门话题。基于密码、个人识别码、磁卡和钥匙等传统的安全防范措施已不能
够完全满足人们的安全需要。在这样的技术背景下,生物特征识别技术应运而生,即通过利用人体固有的生理特征或行为特征属性来进行身份的鉴别或确认。人脸识别作为一种新兴的生物特征识别技术,与复杂的虹膜识别、指纹扫描技术相比,人脸识别同样识别精度高,识别速度快,不易仿冒,而且
人脸数据资料更加易于获得,
成本更低,使用跟家简单方
图4 视频中的人脸检测与人脸识别
图3 实现人脸检测与识别的认证登陆(下转154页)
模块一定要留有一个专门的区块时用于读者和开发者进行意见沟通,一般同一个读者在浏览类似网站时,不会只浏览一个网站,而是会有针对性地对风格类似的网站同事进行浏览,选择其认为最科学最准确的一家作为自己参考的选择,在浏览不同网站时,读者能够感受同样内容的不同呈现方式和不同网页更新的特点,如果读者愿意将这方面内容与开发者共享,那么可以帮助开发者更加接近读者的所思所想,在网页维护过程中更加贴合读者的需求,使网页的创作界面和资料整理形式,更加符合大多数人的喜爱,以提高网页的浏览量和受众面。同时在网页提供留言平台也有助于网站开发者们给读者留下更好的印象。
(3)交互功能。
利用互联网进行网上交互是时下年轻人最熟悉的交互方式。随着互联网传输技术的升级,现在能够通过互联网传输的媒体已经从最初的文本,发展到视频音频图像等多媒体传输方式,在传输和接收的速度上有了很大的提升,实现了远程高速信息交互,用户通过互联网即时交互方式,能够随时随地的利用互联网,对网页周刊的内容进行查看和下载,网站维护人员通过电子函件列表的形式,及时的对该期杂志的内容进行推广,通过线上带动线下的形式帮助期刊提升客户浏览量。也可以通过线下带动线上的方式,
在客户预订的杂志信函中增加最近网站的推广内容和将要推广内容吸引读者在网页上进行相关内容的阅读,通过线上线下相结合的方式,发挥双方的优势,提高用户量,让企业在未来的发展中得到多种用户增加的方式。
(4)公共服务。
原先由于纸质媒体受限于传播渠道单一,无法发挥更多的公共服务作用,而目前随着网络用户的增加,网页开发者们可以通过网页维护新增亮点,吸引读者并发挥纸质传媒不能发挥的公共服务功能,帮助读者更好地享受到网络信息技术带给生活的便利。
3 科技期刊网站建设已处理好的关系
期刊网站建设是未来网站杂志发展的新重点,在期刊网络高速发展的今天,开发者们需要更好地利用互联网技术,才能巩固生存地位,加快相关的网络空间开发,跟上信息发展步伐。将自身的特点结合最新的网络传播技术以更加生动活跃的形式展现给读者。
4 结语
网站浏览是目前最流行的信息获取形式,科技信息日新月异,只有网站的更新频率,才能使相关工作者能够及时得到准确的信息。
参考文献
[1] 程维红,任胜利,路文如,等.中国科技核心期刊网站建设
现状[J].中国科技期刊研究,2011(5):649-655.
iphone人脸识别[2] 杨阳,任佳妮,武茜,等.省级科技情报机构网站建设现状
调查研究[J].情报探索,2015(12):91-94.
[3] 于杰,刘志强,徐海丽,等.上海市科技期刊网站建设现状
分析[J].中国科技期刊研究,2013(6):1056-1059.
(上接152页)
便,在企业应用与市场推广方面具有独到的优势,企业与个人用户接受程度都非常高,更加便于推广使用。
参考文献
[1] 张翠平, 苏光大.人脸识别技术综述[J].中国图象图形学
报:A版,2000,5(11):885-894.
[2] 严严,章毓晋.基于视频的人脸识别研究进展[J].计算机
学报,2009,32(5):878-884.
[3] 王跃明.三维人脸识别研究综述[J].计算机辅助设计与
图形学学报,2014,20(7):819-826.
[4] 王映辉.人脸识别:原理、方法与技术[M].北京:科学出版
社,2010.
[5] Mark S.Nixon.特征提取与图像处理(第2版)[M].北京:电
子工业出版社,2010.
[6] 沈理.人脸识别原理及算法——动态人脸识别系统研
究[M].北京:人民邮电出版社,2014.
[7] 赵扬扬.一种用于人脸识别的非迭代GLRAM算法[J]. 西
安电子科技大学学报:自然科学版,2014,41(2):177-183.
[8] R a ndom i ze d a l gor it h m[E B/OL].ht t p://
/wiki/Randomized_algorithm.
[9] D u a n Ji n,Z hou C hu n g u a n g.S u r vey o f3D f a c e
model based tracking and recognition[J].Mini Micro Systems,2004,25(5):886-890.
科技创新导报Science and Technology Innovation Herald 154
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论