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++人脸识别引擎的更多相关文章

  1. 人脸识别引擎SeetaFaceEngine简介及在windows7 vs2013下的编译

    SeetaFaceEngine是开源的C++人脸识别引擎,无需第三方库,它是由中科院计算所山世光老师团队研发.它的License是BSD-2. SeetaFaceEngine库包括三个模块:人脸检测( ...

  2. 人脸识别引擎SeetaFaceEngine中Identification模块使用的测试代码

    人脸识别引擎SeetaFaceEngine中Identification模块用于比较两幅人脸图像的相似度,以下是测试代码: int test_recognize() { const std::stri ...

  3. 人脸识别引擎SeetaFaceEngine中Alignment模块使用的测试代码

    人脸识别引擎SeetaFaceEngine中Alignment模块用于检测人脸关键点,包括5个点,两个眼的中心.鼻尖.两个嘴角,以下是测试代码: int test_alignment() { std: ...

  4. 人脸识别引擎SeetaFaceEngine中Detection模块使用的测试代码

    人脸识别引擎SeetaFaceEngine中Detection模块用于人脸检测,以下是测试代码: int test_detection() { std::vector<std::string&g ...

  5. 人脸识别引擎SeetaFace编译 ubuntu

    00.SeetaFace简介 SeetaFace Engine is an open source C++ face recognition engine, which can run on CPU ...

  6. 【计算机视觉】基于OpenCV的人脸识别

    一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenCV 已被广泛运用在各种项目上,从 ...

  7. Android打开相机进行人脸识别,使用虹软人脸识别引擎

    上一张效果图,渣画质,能看就好 功能说明: 人脸识别使用的是虹软的FreeSDK,包含人脸追踪,人脸检测,人脸识别,年龄.性别检测功能,其中本demo只使用了FT和FR(人脸追踪和人脸识别),封装了开 ...

  8. 关于人脸识别引擎FaceRecognitionDotNet的实例

    根据我上篇文章的分享,我提到了FaceRecognitionDotNet,它是python语言开发的一个项目face_recognition移植.结果真是有喜有忧,喜的是很多去关注了,进行了下载,我看 ...

  9. 开源图片文字识别引擎——Tesseract OCR

    Tessseract为一款开源.免费的OCR引擎,能够支持中文十分难得.虽然其识别效果不是很理想,但是对于要求不高的中小型项目来说,已经足够用了. 文字识别可应用于许多领域,如阅读.翻译.文献资料的检 ...

随机推荐

  1. 转微软最新的Web服务器Katana发布了版本3

    作者 Jonathan Allen ,译者 邵思华 发布于 2014年8月28日 Katana是微软对OWIN(基于.NET的开放Web接口)标准自行开发的一套实现方案,它是一种相对于IIS及Syst ...

  2. declare/typeset

    用来生命变量的,作用完全一样. 不像C语言那样严谨的语法,变量在使用前必须声明. 但是在shell中对变量的声明要求并不高,因为shell弱化了变量的类概念,所以shell被称为弱类型语言, 声明变量 ...

  3. 8-3编码器,3-8译码器的verilog实现

    在数字系统中,由于采用二进制运算处理数据,因此通常将信息变成若干位二进制代码.在逻辑电路中,信号都是以高,低电平的形式输出.编码器:实现编码的数字电路,把输入的每个高低电平信号编成一组对应的二进制代码 ...

  4. 区块链阶段1-Linux基础- 2 Linux文件系统

    2.1 什么是文件系统 文件系统是操作系统在磁盘或分区上组织文件的方法和数据结构.负责对磁盘空间进行组织和分配,存储文件数据,并对其提供保护和检索服务.学习Linux,首先需要了解整个 Linux 文 ...

  5. 怎么把分化成元,并且保留两位小数,用vue来做

    <el-table-column prop="amount" label="申请提现金额" width="120" align=&qu ...

  6. docker技术入门(2)

    接上一篇文章 [容器技术]Docker容器技术入门(一) 今天接着上次聊一聊有关Docker网络.数据存储相关的技术点 Docker网络模式 01 Dokcer 通过使用 Linux 桥接提供容器之间 ...

  7. DB2 sqlCode-668

    客户端调用命令 CALL SYSPROC.ADMIN_CMD('reorg table tablename')

  8. SPM(Software Project Management)课程感想

    今天要说的是软件项目管理课程学习后的一些心得体会.这学期我选修了软件项目管理课程,进行了共8周的学习.   其实,进入大三后,我们开设了各种专业选修课,通过对各种课程的学习,我见识到了丰富多样的知识体 ...

  9. springboot+vue实现文件上传

    https://blog.csdn.net/mqingo/article/details/84869841 技术: 后端:springboot 前端框架:vue 数据库:mysql pom.xml: ...

  10. MQTT教學(一):認識MQTT

    http://swf.com.tw/?p=1002 本系列文章旨在補充<超圖解物聯網IoT實作入門>,採用Arduino.ESP8266和Node.js實作MQTT物聯網通訊實驗. MQT ...