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

2023-11-11

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下直接生成相应的动态库,图如下:



GitHubhttps://github.com/fengbingchun/Face_Test

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 超详细的tomcat的下载安装和配置教程

    tomcat运行的前提是安装并配置了JDK 若没有安装配置JDK 先去安装配置JDK 如下链接 JDK 1 8的下载安装和环境变量的配置 详细步骤 一 下载tomcat 1 进入tomcat的下载 tomcat下载官网 2 点击进入 点击
  • FastDFS在Docker集群安装

    一 简介 FastDFS是由国人余庆所开发 其项目地址 https github com happyfish100 FastDFS是一个轻量级的开源分布式文件系统 主要解决了大容量的文件存储和高并发访问的问题 文件存取时实现了负载均衡 Fa
  • 基于Matlab模拟宇宙射线μ

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab仿真内容点击 智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统 信号
  • springboot+react实现前后端交互

    一 搭建springboot后台 1 创建一个Springboot项目 然后导入pom依赖 本着一切从简的原则 如果不连接数据库的话 有个spring boot starter web的依赖就够用了
  • webpack5 loader

    文章目录 作用 基本使用 内联loader loader执行顺序 loader pitch 中断 pitch pitch示例 自定义loader 查找loader loader方法参数 同步loader return方式 this call
  • mysql - 索引

    索引的分类 主键索引 唯一索引 普通索引 组合索引 以及全文索引 主键索引 非空唯一索引 一个表只有一个主键索引 在 innodb 中 主键索引的B 树包含表数据信息 PRIMARY KEY key 唯一索引 不可以出现相同的值 可以有NU
  • React 组件与状态

    企业项目实战 gt 第二部分 gt React 基础回顾 React 组件与 State 什么是组件 组件是什么 每个程序员都有自己的理解 在传统语言中 组件的定义一般来说是一个从特定的组件类中派生出来的特定的对象 而在早期的前端开发者眼里
  • 复变函数第三章-复变函数的积分

    3 复变函数的积分 3 1 概念 3 2 柯西 古萨基本定理 3 3 复合闭路定理 3 4 原函数与不定积分 3 5 柯西积分公式 3 6 解析函数的高阶导数 3 7 调和函数 3 复变函数的积分 3 1 概念 闭曲线积分 Cf z dz
  • React是什么,React的优点、缺点

    React是什么 React的优点 缺点 与Vue对比 在React源码中的React哲学里有这样一句话 我们认为 React是用JavaScript构建快速响应的大型的Web应用程序的首选方案 由此可见 关键在于快速响应 大型web应用
  • 为了一张图

    我的作业图
  • Quartus系列:Quartus II 功能仿真设置流程

    1 新建一个波形文件 2 右键点击Name下空白框 在弹出的菜单中选择 Inert gt Insert Node or Bus 如果已经知道端口名称和端口类型 直接在弹出的对话框中键入Name后 相应的信息会自动识别到对话框中 如下 如果不
  • MVVM模式下,ViewModel和View,Model有什么区别

    摘自正美的5群 Model 很简单 就是业务逻辑相关的数据对象 通常从数据库映射而来 我们可以说是与数据库对应的model View 也很简单 就是展现出来的用户界面 基本上 绝大多数软件所做的工作无非就是从数据存储中读出数据 展现到用户界
  • Java EnumSet allOf()方法具有什么功能呢?

    转自 Java EnumSet allOf 方法具有什么功能呢 下文笔者讲述Java中EnumSet allOf 方法的功能简介说明 如下所示 EnumSet allOf 方法的功能 返回枚举集合中所有的值 EnumSet allOf 方法
  • 【附源码】用手写数字字母为例,演示“一行代码不写,完成大多数分类任务”

    基于MATLAB 2021a 录制的深度学习之图像分类 新手保姆级入门课程 就算是小学生跟着操作都能懂了 掌握了这个 很多分类任务都是换汤不换药了 一行代码不写就可以完成手写数字和字母共计36类图片的分类 按照此方法 理论上可以一行代码不写
  • Web小白基础教程-第三篇-HTML基础常用标签名(一)

    谈起Html就不得不简单说一说Web网页制作 Web标准的构成分为三个部分 HTML CSS和JavaScript 三层分离 互相独立 HTML Web的结构部分 通俗点来说就是Web页面上的元素和内容 CSS Web的表现部分 通俗点来说
  • java 使用redis记录logback日志,由自定义Appender与Jedis的使用实现。

    需求 1 获取日志的产生的线程名称 记录器名称 上下文产生时间 日志发生时间 自定义日志的信息 2 将获取的信息以json的形式保存到redis中 思路 1 配置logback使用自定义Appender实现 来获取对应的日志信息 2 配置一
  • C盘中哪些文件可以删除?

    C盘中哪些文件可以删除 第一大类 所有带 开头和结尾的隐藏文件都可以删 这类文件一般都是升级系统留下的卸载程序 占用空间非常大且无大用 因此删除掉并不会对系统造成任何影响 不过这类文件都是隐藏文件 因此要找到必需在 文件夹选项 检查 中开启
  • vue2.0生命周期—码虫

    1 下面是我对生命周期的一些理解 首先我们先看一下Vue生命周期图 2 它可以分为八个阶段 钩子函数 函数描述 beforeCreate 组件实例刚被创建 组件属性计算之前 如data属性等 created 组件实例创建完成 属性已绑定 但
  • 播放4K视频需要什么样的配置

    我们知道 相对于标清视频和高清视频 HD 4K视频是一个新的高度 4K分辨率属于超高清分辨率 在此分辨率下 观众将可以看清画面中的每一个细节 每一个特写 影院如果采用4096 2160分辨率 无论在影院的哪个位置 观众都可以清楚地看到画面的
  • 人脸识别引擎SeetaFaceEngine简介及在windows7 vs2013下的编译

    SeetaFaceEngine是开源的C 人脸识别引擎 无需第三方库 它是由中科院计算所山世光老师团队研发 它的License是BSD 2 SeetaFaceEngine库包括三个模块 人脸检测 detection 面部特征点定位 alig