C# 人脸识别库 0.2
ViewFaceCore 0.2
超简单的 C# 人脸识别库
前言:
首先谢谢大家对这个库的关注,前一篇博文得到了大家的 支持 和 Star,十分开心。本想尽快实现大家的期待的活体检测功能,但是前段时间太忙了,是在抱歉!!!
、GitHub & Important
- 本次更新的内容在 antispoofing 分支 上。
- 活体检测需要 fas_first.csta 、fas_second.csta 两个模型
- 为方便使用,这两个模型也被包含在 Nuget 包中,0.2.x 版本在 70M+ 的大小
- 如果没有需要活体检测的需要,请继续使用 0.1.x 版本
- 0.2.x 版本将继续添加新的功能,也会继续包含必须的模型文件
- 0.1.x 版本将保持现有功能,并进行 bug 修复等工作
- 0.2.x 源代码在 antispoofing 分支
- 0.1.x 源代码在 master 分支
一、ViewFaceCore 介绍
这是基于 SeetaFace6 人脸识别开发的 .NET 平台下的人脸识别库
这是一个基于 .NET Standard 2.0 开发的库
这个库已经发布到 NuGet ,你可以一键集成到你的项目
更多请参见 C# 人脸识别库 。
二、更新
本次更新内容
- 添加了 活体检测 相关的方法
- 修复了识别结果部分未判断的 bug
- 修改了部分结构
更新后无需修改之前的代码。
三、使用
1. 新增方法:
| 方法名 | 返回值 | 参数列表 | 备注 |
| AntiSpoofing | AntiSpoofingStatus | Bitmap bitmap, FaceInfo info, FaceMarkPoint[] points, bool global | 检测单帧图片 |
| AntiSpoofingVideo | AntiSpoofingStatus | Bitmap bitmap, FaceInfo info, FaceMarkPoint[] points, bool global | 检测视频帧图片 |
- 这两个方法也是对应到 SeetaFace6 中 活体检测相关方法。
- 如果检测失败则返回 AntiSpoofingStatus.Error。
- AntiSpoofing 的返回值 可能为 AntiSpoofingStatus.Real、AntiSpoofingStatus.Spoof 或 AntiSpoofingStatus.Fuzzy。
- AntiSpoofingVideo 的返回值 可能为 AntiSpoofingStatus.Real、AntiSpoofingStatus.Spoof、AntiSpoofingStatus.Fuzzy或 AntiSpoofingStatus.Detecting。
- AntiSpoofingStatus.Detecting 说明传入的图片数量还不够检测,需要继续调用此方法传入 Bitmap。
AntiSpoofingStatus 枚举的各个值的含义注释中都有说明
关于 global 参数:活体检测方法默认是局部检测,如果要全局检测请使用 global 参数指定
- false: 局部活体检测 - 是对具体人脸的成像细节通过算法分析,区别是一次成像和二次成像,如果是二次成像则认为是出现了攻击。【需要 fas_first.csta 模型 】
- true: 全局活体检测 - 就是对图片整体做检测,主要是判断是否出现了活体检测潜在的攻击介质,如手机、平板、照片等等。【需要 fas_first.csta 、fas_second.csta 模型 】
| 方法名 | 返回值 | 参数列表 | 备注 |
| AntiSpoofingVideo | AntiSpoofingStatus | Bitmap[] bitmap, FaceInfo info, FaceMarkPoint[] points, bool global | 检测单帧图片 |
此方法可以让你检测视频中的人脸,你需要读取视频,比提取每一帧图像,然后指定要检测的人脸索引,即可进行检测。
四、参与项目
你需要按照 SeetaFace6 文档 说明,并下载相关的开发包以及模型
- 可以将开发包的 lib 目录 和 include 目录 放至 C:\vclib\seeta 下 ,所有模型文件放到 C:\vclib\seeta\model 目录下
- 然后按照 github 上的编译指引进行编译。
- 也可以放在自定义的目录中
- 此时需要配置 ViewFace 项目中各个路径,确保各个依赖引用能被正确的加载。
- 修改 ViewFaceCore 项目的编译命令,确保生成时可以将最新的文件复制到生成目录。
五、也许…
- 此项目还未实现 SeetaFace6 中的许多特性,也许:
想起 GitHub 密码,持续更新…
删除代码仓库跑路…
- 如果在使用过程中遇到问题,你也许可以:
人脸跟踪、人脸属性、质量评估、眼睛状态 Coming soon ...
C# 人脸识别库 0.2的更多相关文章
- [深度学习工具]·极简安装Dlib人脸识别库
[深度学习工具]·极简安装Dlib人脸识别库 Dlib介绍 Dlib是一个现代化的C ++工具箱,其中包含用于在C ++中创建复杂软件以解决实际问题的机器学习算法和工具.它广泛应用于工业界和学术界,包 ...
- Python的开源人脸识别库:离线识别率高达99.38%
Python的开源人脸识别库:离线识别率高达99.38% github源码:https://github.com/ageitgey/face_recognition#face-recognitio ...
- Python的开源人脸识别库:离线识别率高达99.38%(附源码)
Python的开源人脸识别库:离线识别率高达99.38%(附源码) 转https://cloud.tencent.com/developer/article/1359073 11.11 智慧上云 ...
- face_recognition开源人脸识别库:离线识别率高达99.38%
基于Python的开源人脸识别库:离线识别率高达99.38%——新开源的用了一下感受一下 原创 2017年07月28日 21:25:28 标签: 人脸识别 / 人脸自动定位 / 人脸识别开源库 / f ...
- C# 人脸识别库
.NET 人脸识别库 ViewFaceCore 这是基于 SeetaFace6 人脸识别开发的 .NET 平台下的人脸识别库这是一个使用超简单的人脸识别库这是一个基于 .NET Standard 2. ...
- Java 基于ArcFace人脸识别2.0 服务端Demo
源代码传送:https://github.com/itboyst/ArcSoftFaceDemo 开发环境准备: ###开发使用到的软件和工具: Jdk8.mysql5.7.libarcsoft_fa ...
- 基于Python的开源人脸识别库:离线识别率高达99.38%
项目地址:https://github.com/ageitgey/face_recognition#face-recognition 本文的模型使用了C++工具箱dlib基于深度学习的最新人脸识别方法 ...
- 基于Arcface 免费离线人脸识别 2.0 Demo C#
本来打算做个C#版demo,但没用成功.使用虹软最新人脸识别技术开发完成 过程如下: 1. 传入一张单人脸照片: 2.调用检测人脸函数ASFDetectFaces,成功返回人脸信息的指针: 3.使用 ...
- C# ArcFace 免费人脸识别 2.0 demo
**配置过程:** 1. 到[虹软官网](https://ai.arcsoft.com.cn/index.htm?utm_source=csdn&utm_medium=referral)下载S ...
随机推荐
- macos的两个快捷键和一个小tip
学校的linux协会介绍了一个免费的light轻量级加速器,昨天晚上十点左右的时候着手研究,发现其实就是一个代理服务器.在配置这个代理服务器的时候碰到了一些困难并最终都解决了.下面记录一下配置过程学到 ...
- 记录一次Flink作业异常的排查过程
最近2周开始接手apache flink全链路监控数据的作业,包括指标统计,业务规则匹配等逻辑,计算结果实时写入elasticsearch. 昨天遇到生产环境有作业无法正常重启的问题,我负责对这个问题 ...
- Java二次复习笔记(1)
Java二次复习笔记(1) Java采用的默认字符编码集是Unicode. byte=byte+byte报错,值为int,而byte+=byte不报错.同样short = short+short报错, ...
- 多语言工作者の十日冲刺<3/10>
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺--第三天(05.02) 作业正文 ...
- 一位老程序员说,有这份python3的开发指南,月薪能突破20K
推荐视频: AI人工智能识别技术_第一节AI人工智能识别技术_第二节Python基础案例之教你如何查询对方IP_第一节Python基础案例之教你如何查询对方IP_第二节 有程序员说,这份python3 ...
- JavaWeb网上图书商城完整项目--过滤器解决中文乱码
我们知道,如果是POST请求,我们需要调用request.setCharacterEncoding(“utf-8”)方法来设计编码:如果是GET请求,我们需要自己手动来处理编码问题.如果我们使用了En ...
- 恕我直言你可能真的不会java第7篇:像使用SQL一样排序集合
在开始之前,我先卖个关子提一个问题:我们现在有一个Employee员工类. @Data @AllArgsConstructor public class Employee { private Inte ...
- HttPclient 以post方式发送json
使用HttpClient 以POST的形式发送json字符串 步骤: 1.url .parameters 2.创建httpClient对象 3.创建HttpPost对象 4.为post对象设置参数 5 ...
- ZooKeeper 数据模型:节点的特性与应用
zk的基础知识基本分为三大模块 数据模型 ACL 权限控制 Watch 监控 数据模型 默认配置文件 # The number of milliseconds of each tick tickTim ...
- 二.5vue服务器展示
1.展示服务器列表前端页面 (1)写视图模版views/resources/servers.vue <template> <div class="resources-ser ...