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

SeetaFaceEngine库包括三个模块:人脸检测(detection)、面部特征点定位(alignment)、人脸特征提取与比对(identification)。

人脸检测模块:基于一种结合经典级联结构和多层神经网络的人脸检测方法实现,其所采用的漏斗型级联结构(Funnel-Structured Cascade,FuSt)专门针对多姿态人脸检测而设计,其中引入了由粗到精的设计理念,兼顾了速度和精度的平衡。FuSt级联结构在顶部由多个针对不同姿态的快速LAB级联分类器构成,紧接着是若干个基于SURF特征的多层感知机(MLP)级联结构,最后由一个统一的MLP级联结构(同样基于SURF特征)来处理所有姿态的候选窗口,整体上呈现出上宽下窄的漏斗形状。从上往下,各个层次上的分类器及其所采用的特征逐步变得复杂,从而可以保留人脸窗口并排除越来越难与人脸区分的非人脸候选窗口。

面部特征点定位:采用一种由粗到精的自编码器网络(Coarse-to-Fine Auto-encoder Networks, CFAN )方法实现。CFAN级联了多级栈式自编码器网络,其中的每一级都刻画从人脸表观到人脸形状的部分非线性映射。具体来说,输入一个人脸区域(由人脸检测模块得到),第一级自编码器网络直接从该人脸的低分辨率版本中快速估计大致的人脸形状S0。然后,提高输入人脸图像的分辨率,并抽取当前人脸形状S0(相应提升分辨率)各特征点位置的局部特征,输入到下一级自编码器网络来进一步优化人脸对齐结果。以此类推,通过级联多个栈式自编码器网络,在越来越高分辨率的人脸图像上逐步优化人脸对齐结果。CFAN方法实现了5个面部关键特征点(两眼中心,鼻尖和两个嘴角)的精确定位。

人脸特征提取与比对:采用深度卷积神经网络VIPLFaceNet实现,一个包含7个卷积层与2个全连接层的DCNN。VIPLFaceNet将5x5的卷积核拆分为两层3x3的卷积核,从而增加了网络深度,而并没有增加计算量;VIPLFaceNet还减少了每个卷积层的kernel数目以及FC2层的节点数。同时,通过引入Fast Normalization Layer(FNL),加速了VIPLFaceNet的收敛速度,并在一定程度上提升了模型的泛化能力。特征比对可简单采用Cosine计算相似度,然后进行阈值比较(验证应用)或排序(识别应用)即可。

以上内容摘自:http://mp.weixin.qq.com/s?__biz=MzI1NTE4NTUwOQ==&mid=2650325457&idx=1&sn=5fa67f028980b3f451d1e2b568d49cbf&chksm=f235a6dbc5422fcd7eefff058dfaccaeca2b3b0000ccee0edaf523a3db7740967c018cd25d00&scene=1&srcid=0914vg7OKyrgGSOr8Vv2RzIF#wechat_redirect&utm_source=tuicool&utm_medium=referral
这三个模块,每个模块都可以单独生成一个动态库,在源码的每个模块的examples目录下给出了在

windows vs2013下的工程,为了便于以后测试和调试,这里将3个工程全部放在了新建的Face_Test工程下,

可以在x64 debug/release下直接生成相应的动态库,图如下:

GitHub:https://github.com/fengbingchun/Face_Test

人脸识别引擎SeetaFaceEngine简介及在windows7 vs2013下的编译相关推荐

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

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

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

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

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

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

  4. python开源的人脸识别库_什么是 SeetaFace 开源人脸识别引擎

    区分不同的人是很多智能系统的必备能力.为实现此目的,一种可能的技术手段是通过对人脸的光学成像来感知人.识别人,即所谓的人脸识别技术.经过几十年的研发积累,特别是近年来深度学习技术的涌现,人脸识别取得了 ...

  5. SeetaFace开源人脸识别引擎

    开源网址 目前,SeetaFace开源人脸识别引擎已全部发布在Github上供国内外同行和工业界使用,项目网址为:https://github.com/seetaface/SeetaFaceEngin ...

  6. 【SeetaFace】中科院山世光老师开源的Seetaface人脸识别引擎测试

    Seetaface发布了第二个版本--Seetaface2: https://github.com/seetaface/SeetaFaceEngine2 SeetaFace2 Engine conta ...

  7. C# 实现人脸识别一 (运用虹软人脸识别引擎)

    知识背景: 下载虹软人脸识别引擎 下载地址: http://www.arcsoft.com.cn/ai/arcface.html 目前虹软人脸识别引擎有3个平台,其中Windows与iOS是基于C++ ...

  8. SeetaFace开源人脸识别引擎介绍

    深度学习大讲堂致力于推送人工智能,深度学习方面的最新技术,产品以及活动.请关注我们的知乎专栏! 区分不同的人是很多智能系统的必备能力.为实现此目的,一种可能的技术手段是通过对人脸的光学成像来感知人.识 ...

  9. C/C++人脸识别引擎 SeetaFace2打造“刷脸时代”

    SeetaFace2 人脸识别引擎包括了搭建一套全自动人脸识别系统所需的三个核心模块,即:人脸检测模块 FaceDetector.面部关键点定位模块 FaceLandmarker 以及人脸特征提取与比 ...

最新文章

  1. asp.net mvc处理css和js版本问题
  2. java 枚举使用例子_Java枚举详解及使用实例(涵盖了所有典型用法)
  3. 我用AI回怼美女汽车销售系列[yolo车牌识别](二)
  4. Hbase Interface HConnection
  5. canal 历史数据如何处理_MySQL日志解析工具Canal的使用
  6. S3上备份的json文件转存成parquet文件
  7. (五)cobbler自定义系统安装
  8. 网页授权前端 java_在开发网页授权获取用户基本信息时code是null
  9. 中国计算机学会(CCF)推荐中文科技期刊目录
  10. 2021年总结:回顾这不平凡的一年
  11. 【UI界面开发】基本组件——滑杆
  12. PHP红包搭建步骤,PHP 生成微信红包代码简单
  13. [‘1‘,‘2‘,‘3‘].map(parseInt)结果讲解
  14. 计算机网络————IP地址分类以及网络地址的计算
  15. Webex助力Innokids消除沟通隔阂,成就无边界创作
  16. 120行代码爬取电子书网站
  17. JAVA 中IO总结 之前篇阻塞、非阻塞
  18. ByteCTF2021安全范儿高校挑战赛线上Misc-《HearingNotBelieving》
  19. [附源码]JSP+ssm计算机毕业设计大媛小南美味佳肴网站8p0nh【源码、数据库、LW、部署】
  20. java 创建目录及文件_java中如何在系统目录下创建文件夹和文件

热门文章

  1. Paper9:Fast RCNN
  2. 基于运动信息的物体检测(背景差分法、帧间差分法和光流法)。
  3. Matlab视频流处理:读取,播放,保存
  4. 机器学习—决策树构造算法的python实现
  5. visual studio spy使用实现后台按键_多种精华液应该如何叠加使用?
  6. cv_bridge中的编码模式与实现
  7. 设置IDEA最多同时打开的窗口数量为100
  8. vim学习笔记(四)
  9. Linux多线程管理: 多线程编程
  10. 【Python】解析Python中类的使用