【计算机视觉】SeetaFace Engine开源C++人脸识别引擎

时间:2023-03-09 17:53:43
【计算机视觉】SeetaFace Engine开源C++人脸识别引擎

SeetaFace Engine是一个开源的C++人脸识别引擎,它可以在不依赖第三方的条件下载CPU上运行。他包含三个关键部分,即:SeetaFace
Detection,SeetaFace
Alignment
和SeetaFace Identification,这三个步骤对建造一个真实可靠的人脸识别应用系统来说是充要的。

  • SeetaFace Detection采用漏斗形级联结构来进行多视图人脸检测,这种方法能在检测的准确度和速度之间达到良好的折衷平衡。对于FDDB数据集,SeetaFace
    Detection能够以高的速度得到业界先进的准确度。
  • SeetaFace Alignment级联产生多级栈式的自编码器网络来实时检测特征点(在单个i7 CPU上超过200
    fps),且至少能在一些AFLW数据集上得到业界先进的准确度。
  • SeetaFace Identification是基于AlexNet CNN的一种针对人脸识别的实现,在准确性(在LFW数据库上能达到97.1%)和速度(在单个i7
    CPU上大约需要120 ms)上均有良好的表现。

这个人脸识别引擎是由中国科学院计算研究所的VisualInformation Processing and Learning (VIPL)团队开发的。所有的代码均用C++实现,且不依赖任何第三方的库。它的代码完全开源,免费为任何学术或商业产品使用。

这个开源人脸识别引擎可从以下地址获得:https://github.com/seetaface/SeetaFaceEngine。

开源的源代码内附有四个例子(并附有visual studio工程文件),分别在FaceAlignmentFaceDetectionFaceIdentification的examples文件夹内。要想成功跑起这几个例子,首先得确保你的电脑中安装了OpenCV。opencv的下载地址是:http://opencv.org/downloads.html。安装了opencv之后,将project的properties里和opencv相关的值修改为你的安装目录里对应的值,例子就可以跑通了。我在vs2015下编译时,还出现了fopen报错,参考http://jingyan.baidu.com/article/ce436649fd61543773afd32e.html成功解决了问题。

修改例子后,我得到了以下的输出:

【计算机视觉】SeetaFace Engine开源C++人脸识别引擎

【计算机视觉】SeetaFace Engine开源C++人脸识别引擎

【计算机视觉】SeetaFace Engine开源C++人脸识别引擎

【计算机视觉】SeetaFace Engine开源C++人脸识别引擎

【计算机视觉】SeetaFace Engine开源C++人脸识别引擎