win10系统下调通SeetaFace1.0人脸识别引擎

调试人脸识别引擎SeetaFace1.0

1、目的


       目前计算机视觉技术已经比较成熟,相关的开源项目与算法很多,可以将这些开源算法进行整合,进而做成一个小项目,以供日后学习与研究。本实验主要将利用人脸识别开源项目SeetaFace,结合使用OpenCV工具,结合VS2019与Qt实现一个人脸识别的小项目。最后对实验系统进行测试评估与总结。

2、相关知识与技术介绍
2.1、OpenCV简介

    OpenCV(Open Source Computer Vision Library),是一个开源的可以跨平台运行的计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效,由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

    OpenCV的设计理念是所包含的函数能以最快的速度进行编译,之所以使用C代码进行编写,就是希望能够利用多核处理器的优势达到最快的运行速度。它构建了一个方便开发人员使用的、简单易懂的计算机视觉框架,在这个基础上,开发人员能都更方便的设计出更复杂的计算机视觉相关程序。OpenCV是由Intel发起的项目,其中的源代码都是开源免费的代码,因此可以用于科研人员的研究领域,也可以用于商业领域。

2.2、SeetaFace简介

    SeetaFace是由中科院山世光老师带领的人脸识别研发组基于C++代码研发的人脸识别算法。SeetaFace人脸识别引擎包括了搭建一套全自动人脸识别系统所需的三个核心模块,即:人脸检测模块SeetaFace Detection、面部特征点定位模块SeetaFace Alignment以及人脸特征提取与比对模块SeetaFace Identification。

    其中,SeetaFace Detection采用了一种结合传统人造特征与多层感知机(MLP)的级联结构,在FDDB上达到了84.4%的召回率(100个误检时),并可在单个i7 CPU上实时处理VGA分辨率的图像。

    面部特征点定位模块SeetaFace Alignment通过级联多个深度模型(栈式自编码网络)来回归5个关键特征点(两眼中心、鼻尖和两个嘴角)的位置,在AFLW数据库上达到state-of-the-art的精度,定位速度在单个i7 CPU上超过200fps。

    人脸识别模块SeetaFace Identification采用一个9层的卷积神经网络(CNN)来提取人脸特征,在LFW数据库上达到97.1%的精度(注:采用SeetaFace人脸检测和SeetaFace面部特征点定位作为前端进行全自动识别的情况下),特征提取速度为每图120ms(在单个i7 CPU上)。

3、系统环境搭建与实验结果(vs2019+OpenCV3.4.1+Qt3.15.0)

       通过对上述的理论知识的了解学习,接下来进行系统的环境搭建,然后进行具体的实验。然后对实验结果做一定的分析。

3.1、系统的总体设计方案

       首先使用摄像头读取采集的图像,经过人脸检测模块框检测出人脸,然后使用面部特征点定位(人脸对齐)模块对5个面部关键特征点(两眼中心,鼻尖和两个嘴角)进行标记显示,最后使用人脸特征提取与比对模块进行人脸特征提取和比对。在系统中设置一个阈值0.7,若比对后的相似度大于0.7,就认定为同一个人并触发警报系统。系统的功能框图如图6所示。

图像采集
人脸检测模块
特征点定位模块
特征提取与对比模块
身份验证
3.2、配置系统环境
3.2.1、配置OpenCV

    OpenCV中包含很多图像处理的算法,因此学会正确使用OpenCV也是人脸识别研究的一项重要工作。在 VS中应用OpenCV,需要进行手动配置,下面给出在VS2019中配置OpenCV3.4.1的详细步骤。

  1. 下载并安装OpenCV3.4.1与VS2019软件(以官网下载为准)

  2. 配置OpenCV环境变量

    此电脑–>(右键)属性–>高级系统设置–>环境变量–>(双击)系统变量中的path–>在变量里添加相应的路径。
    添加的路径为:D:\opencv341\opencv\build\x64\vc14\bin(使用自己的电脑上的路径)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zL20Mvon-1593854116388)(en-resource://database/578:1)]

  3. 配置VS的工程目录与链接库

    需要配置包含目录和库目录,首先打开,视图->解决方案管理器->(右键)项目->属性->VC++目录。

    • 配置包含目录

      添加:"…opencv\build\include;…opencv\build\include\opencv;…opencv\build\incude\opencv2"即可,省略号部分换成自己电脑的路径。

      在这里插入图片描述

    • 配置库目录

      添加“D:\opencv341\opencv\build\x64\vc14\lib”即可,注意换成自己电脑的目录。

      在这里插入图片描述

    • 配置链接表

      针对Debug配置添加“opencv_world341d.lib”,若在Release下,就添加“opencv_world341.lib”。

      在这里插入图片描述
      上述三步配置要注意每次新建工程都要重新配置,但也可以只配置一次,达到以后都不用单独配置的效果,那么就在属性管理器–>展开项目–>Debug|x64(或者Release|x64)–>(右键)进新建属性文件,然后后续操作和前面三步一样

3.2.2、配置SeetaFace

首先,在开源项目平台GitHub下载SeetaFace开源项目。下载链接:https://github.com/seetaface/SeetaFaceEngine,点击下载项目,项目里自带doc格式的配置文档,具体配置请参考GitHub中的配置文档,这里就不再说明如何配置。点击“Download”下载即可。目前SeetaFace2也已经出来了(在GitHub上),点击上面的链接就能找到,目前只是提供一些动态库,没有完全开源代码,有兴趣的可以去试试。

在VS2019中新建三个dll(动态链接库)项目,将SeetaFace的三个模块FaceDetection、FaceAlignment和FaceIdentification分别制作成DLL项目,然后将生成的lib和dll文件保存下载,以便在项目中直接添加使用。在这里就不详细地进行具体配置说明了。

3.2.3、配置Qt插件
  • 方法1[强烈建议]

    点此
    地址直接下载Qt插件,如果速度慢可以复制下载地址用其他软件下载,下载完成后双击即可直接安装,你需要先关闭Visual Studio软件(注意不要下载最新版本的,里面都有对应VS版本的插件自己选择对应的下载,选择错误会安装失败,也会出现没有“Qt GUI Application”的选项)成功后需要进入管理扩展将已安装的“Qt VS Tools”的自动更新的选项勾去掉

  • 方法2[不建议]

    a)首先启动Visual Studio 2019,如需登录,可跳过,并选择“继续但无需代码”来启动
    b)从菜单栏依次点击“扩展->管理扩展”,打开界面后,先点联机,在输入框搜索Qt,安装Qt Visual Studio Tools,此方法安装比较慢,但是成功后会找不到“Qt GUI Application”选项。所以不建议使用此方法安装。

3.3 实验结果

按照上述的方法配置环境,最终可以建立一个比较简单且完整的Qt+VS的这么一个可视化小程序。
图四
感觉还不错的,在调试中在Qt这一块花的时间挺多的,不过开心的是,终于可以看到好的结果了,读者如果在阅读时有问题或调式程序有问题时可以留言讨论。

项目地址
GitHub: https://github.com/YouthJourney/SeetaFace1.0-VS2019-Qt5.13.0
百度网盘:
链接:https://pan.baidu.com/s/1GJElYJtfF5EowD62qZ2Mnw
提取码:uez3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hong_Youth

您的鼓励将是我创作的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值