(给DotNet加星标,提升.Net技能)
转自:View12138 cnblogs.com/view12138/p/ViewFaceCore.html
.NET人脸识别库ViewFaceCore
这是基于SeetaFace6 人脸识别开发的.NET 平台下的人脸识别库
这是一个使用超简单的人脸识别库
这是一个基于.NET Standard 2.0 开发的库
这个库已经发布到 NuGet ,你可以一键集成到你的项目
此项目可以免费商业使用
开源
- 开源协议:Apache-2.0
- GitHub地址:https://github.com/View12138/ViewFaceCore
一、示例
示例项目地址:WinForm 摄像头人脸检测
示例项目效果:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iM4IWNwEWY3EWOjFzY3AjMkhTO3IWZ4QmN0kjZ4MDMk9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
二、使用
一分钟在你的项目里集成人脸识别
1、创建你的 .NET 应用
.NET Standard >= 2.0
.NET Core >= 2.0
.NET Framework >= 4.6.1^2
2、使用 Nuget 安装 ViewFaceCore
Author : View
Version >= 0.1.1
此 Nuget 包会自动添加依赖的 C++ 库,以及最精简的识别模型。
如果需要其它场景的识别模型,请下载SeetaFace6 模型文件
3、在项目中编写你的代码
- 按照 说明 自己编写
- 或者参考以下代码
简单的调用示例
三、说明
命名空间:ViewFaceCore.Sharp : 人脸识别类所在的命名空间
属性说明:
方法说明:
using System.Drawing;
四、实现
此项目受到了 SeetaFaceEngine.NET项目的启发
https://github.com/iarray/SeetaFaceEngine.Net
这个项目本质上来说还是调用了 SeetaFace 的 C++ 类库来实现的人脸识别功能。针对本人遇到过的相关的类库的使用都不太方便,而且使用的 SeetaFace 的版本较老,故萌生了自己重新开发的想法。
本项目在开发完成之后为了方便调用,采用了 Nuget 包的形式,将所有需要的依赖以及最小识别模型一起打包。在使用时非常简单,只需要 nuget 安装,编写代码,运行即可,不需要多余的操作。
首先查看 SeetaFace ,已经更新到了v3(v6即v3)(上面前辈的项目是基于v1开发的),最新版本暂时没有开源,但是可以免费商用。然后是根据以前的经验和 SeetaFace6 文档的指导,以及前辈的项目,做了以下操作。
1、对SeetaFace6 的接口进行了 C++ 形式的封装
目前主要实现了 人脸检测,关键点提取,特征值提取,特征值对比几个人脸识别中的基础接口。有了这几个接口,可以完整的实现一套人脸识别和验证的流程。
2、采用 C# 对上诉接口进行了导入
因为C++的项目测CPU架构区分x86和x64,所以C# 层也需要区分架构封装
3、采用 C# 的面向对象的封装
因为C#的项目默认都是 AnyCPU,所以为了简化调用,在这一层封装的时候增加了架构判断,当在你的项目中引用的时候,不用做任何修改。
且因为C++的C#导入方法在和原生的C#写法略有差异,且数据的转换和传递比较麻烦,所以类库中对外隐藏了 C# 导入层。并使用大家都更熟悉的C#的面向对象的方式进行进一步的封装和简化。
五、最后
此项目还未实现 SeetaFace6 中的许多特性,也许:
- 想起 GitHub 密码,持续更新…
- 删除代码仓库跑路…
如果在使用过程中遇到问题,你也许可以:
- 在 GitHub 报告Bug…
- 向我发送邮件[email protected]
- EOF -
推荐阅读 点击标题可跳转
.NET 关于人脸识别引擎分享
C#30分钟完成百度人脸识别
C#离线人脸识别使用ArcFace 2.0开发
看完本文有收获?请转发分享给更多人
关注「DotNet」加星标,提升.Net技能
好文章,我在看❤️