- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于GPU加速人脸识别实现
基于GPU加速人脸识别实现
摘要:Emgu CV是.NET平台下对OpenCV图像处理库的封装,可以实现人脸识别的判断。该文着重讨论了在.NET下基于Emgu CV利用GPU加速技术实现了静态图像的人脸检测、人脸识别、人脸比对,以及视频流中的人脸识别。该软件获得我校技术进步二等奖,实验结果证明该程序运行稳定,结果可靠,识别速度快。
关键词:EMGUCV,人脸检测,人脸识别
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2018)12-0185-03
Abstract: Emgu CV is OpenCV image processing library encapsulation on DotNet platform, used in face recognition method. This article emphatically introduced EmguCV graphics library applied in face detection, face match, and face recognition in image and in video, with the assist of GPU speeding technology. This implemented procedure was granted 2nd prize in the Advanced Technologies in Huaiyin Normal University. Long-running demos show the procedure worked stably, reliably and quickly.
Key words: EmguCV; Face Detection; Face Recognition
1 背景
人?识别作为一种新兴的生物特征识别技术,识别精确度高,使用方便,识别速度快,不易仿冒,与虹膜识别、指纹扫描、掌形扫描等技术相比,人脸识别技术在应用方面具有独到的优势,基础资料易于获得,成本低,易于推广使用,企业用户接受程度非常高。该文基于EmguCV图像库设计实现了人脸识别的检测与识别、登录认证,以及在视频流中的人脸识别方法。
2 实现方法
Emgu是一个跨平台的、封装OpenCV的图像处理库,允许OpenCV函数调用。原生兼容的语言有C#、VB、C++、Python等等,交叉编译器可以在Mono编译并运行在Windows、Linux、Mac OS X、iPhone、iPad和Android设备上。众所周知,Mono的好处是,它可以被交叉编译,因此能够在任何平台上运行Mono支持,包括iOS、Android、Windows Phone、Mac OS X和Linux。Emgu完全由C#编写,已经花了很多的努力,有一个纯C#实现自头必须移植,而想要用C++实现,增加一个头文件就可以实现。当然,Emgu可以支持几个不同的语言,包括C#、VB.NET、C++和Python。Emgu cv的核心由四块组成(如图1所示),Emgu.Util.dll负责.net的接口和封装,Emgu.CV.dll负责图像处理,Emgu.CV.Ul.dll负责UI初始化,Emgu CV.GPU.dll负责调用GPU进行图像处理。
2.1 调用GPU打开摄像头
NVIDIA提供了调用GPU的CUDA核心的接口。在图像处理的过程中可以借助GPU进行加速,大大缩短了程序运行所需要的时间。GPU有着比CPU更佳的图形计算性能,CPU是通用运算器,而GPU更适合于浮点数运算。人脸识别算法使用了大量的浮点数运算,GPU的运算单元数量的优势会更加的明显(如表1所示)。目前只有G80、G92、G94、G96、GT200、GF100、GF110、GK100、GK104、GK107平台的NVidia显卡才能使用CUDA,工具集的核心是一个C语言编译器。G80中拥有128个单独的ALU,因此非常适合并行计算,而且数值计算的速度远远优于CPU。由于GPU的特点是处理密集型数据和并行数据计算,因此CUDA非常适合需要大规模并行计算的领域。目前CUDA除了可以用C语言开发,也已经提供FORTRAN的应用接口,未来可以预计CUDA会支持C++、Java、Python等各类语言。可广泛应用于图形动画、科学计算、地质、生物、物理模拟等领域。
2.2 人脸识别方法
Emgu CV提供了图像与编程语言交互的接口,可以方便地把图像转换为位图以及数据XML,便于采用多种算法来进行识别。
1)人脸检测
调用haarcascade_frontalface_default
文档评论(0)