您当前的位置:首页 > 计算机 > 编程开发 > 人工智能

如何安装并使用SeetaFace 开源人脸识别代码【中科院计算机所山世光老师团队研发】

时间:11-13来源:作者:点击数:

最近因为导师接到了一个关于人脸识别的开发项目,需要我们去寻找一些开源的可以二次开发的人脸识别程序。(说白了就是想白嫖,直接调用人家的接口不香吗,可是那得花钱),这时候就在看到网友推荐的SeetaFace开源的人脸识别的代码。下面分几个章节介绍下。

简介

SeetaFace Engine是一个开源的人脸识别引擎(官网:Github),由中科院计算所 山世光 研究员带领的人脸识别研究组研发。它的特点主要是:

  • C++实现
  • 不依赖第三方库
  • 它包含了人脸相关的一整套过程,包括:人脸检测、人脸对齐、人脸识别
  • 基于Windows开发

seetaface分为FaceDetection(人脸检测)、FaceAlignment(人脸对齐)、FaceIdentification(人脸识别)三个模块,三个模块相互独立,综合利用起来即可实现最终的人脸识别功能。

上述提供的代码是2016年开源的,算是第一版,不过在2019年又开源了商用级SeetaFace2人脸识别算法,项目地址Github.

目前我只跑了下2016年版本的代码,后面有时间再看看第二版的代码。

Github上有详细的安装过程,不过在安装的过程中还是有些坑,自己走了一遍。

1.源项目是基于Visual studio2013开发的,我之前安装的是Visual studio2010,有些内容支持不了,倒置后来卸载重装,如果大家跑代码的时候最好是VS2013及其以上版本,附赠VS2019使用详解

2.Opencv版本号的选择。因为我是基于VS2013进行开发,所以Opencv选择2.4.13版本进行开发。如果自己的VS版本不是2013,在开发过程中一定要百度一番对应的OPencv版本号。Opencv下载地址

3.C++ 包含目录、库目录、附加依赖项。这部分属于环境搭配,主要就耗在这部分。具体建议参考Github上的SeetaFace_config.docx文件进行安装,非常详细了。

4.其实在安装过程中还有一些问题,比较琐碎,基本就是靠搜索引擎找到答案的,当然肯定不是百度,是Google。

5.如果有感兴趣的伙伴在安装的过程中遇到困难,欢迎留言,看到我会尽快回复的。

效果展示

先从Github下载并解压安装包。

1.FaceDetection
在这里插入图片描述

在 examples 文件夹中包含了一个示例工程,配置好opencv后可以直接跑(opencv仅是用来读图的,算法部分并没有用到opencv)。下面的工程会编译生成一个库文件(FaceDetection.dll,在\examples\x64\Release路径下),上面的工程则是个测试工程,我们可以模仿。

在这里插入图片描述

人脸识别检测:

在这里插入图片描述
2、FaceAlignment

工程文件目录和上述的类似,下面的工程会编译生成一个库文件(FaceAlignment.dll,在\examples\x64\Release路径下),上面的工程则是个测试工程,我们可以模仿。人脸对齐会在人脸检测的基础上,找出人脸5个点(眼、鼻、嘴)。算法中还有个函数,可以把方框中的人脸截取出来并对齐(即摆正,可以看下面第3部分的实验效果)。

在这里插入图片描述

人脸五官识别:

在这里插入图片描述
3、FaceIdentification

其主要为计算两张图片中人脸的相似度。输入为两张图片,经过前面人脸检测,人脸对齐,得到人脸的特征,输出为人脸相似度。

作者提供的人脸相似度试验,同一张照片,其相似度可为1。

博主以自己不同环境下拍摄的照片做实验,可得到如下图所示的结果。可以发现,几乎都在0.6分以上。

在这里插入图片描述

然后又对比了博主与另外一个人不同环境下的脸,结果如下图所示,可以发现相似度都在0.5以下

在这里插入图片描述

那么,可以得出这样的结论:相似度在0.7分以下,为不同的人脸,0.7分以上为同一个人的脸。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门