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 模型 】
2. 扩展方法
引用 ViewFaceCore.Sharp.Extends 命名空间,即可使用一下扩展方法:
方法名 | 返回值 | 参数列表 | 备注 |
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 ...
posted on 2020-07-16 16:03 View12138 阅读(6239) 评论(13) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!