<div align="center">
# ViewFaceCore
[![Nuget](https://img.shields.io/nuget/v/ViewFaceCore)](https://www.nuget.org/packages/ViewFaceCore/)
[![GitHub license](https://img.shields.io/github/license/ViewFaceCore/ViewFaceCore)](https://github.com/ViewFaceCore/ViewFaceCore/blob/main/LICENSE)
![GitHub stars](https://img.shields.io/github/stars/ViewFaceCore/ViewFaceCore?style=flat)
![GitHub forks](https://img.shields.io/github/forks/ViewFaceCore/ViewFaceCore)
<br/>
—— [💎 关于](#1-关于) | [⭐ 快速开始](#2-快速开始) | [📄 基本说明](#4-基本说明) | [🐟 API](#5-viewfacecore-api) | [🔎 参考文档](#6-参考文档) | [❓ 常见问题](#7-常见问题) | [📦 使用许可](#8-使用许可) ——
</div>
## 1. 关于
- 一个基于 [SeetaFace6](https://github.com/SeetaFace6Open/index) 的 .NET 人脸识别解决方案
- 本项目受到了 [SeetaFaceEngine.Net](https://github.com/iarray/SeetaFaceEngine.Net) 的启发
- 开源、免费、跨平台 (win/linux)
## 2. 快速开始
### 2.1 受支持的 .NET 框架 和 操作系统
| 目标框架 |最低版本 | 操作系统 |
| :-: |:-: | :-: |
| .NET Framework |4.0 | win ( x64/x86 ) |
| .NET Standard |2.0 | win ( x64/x86 ) |
| .NET / .NET Core |3.1、5.0、6.0、7.0 | win ( x64/x86 )、linux ( arm/arm64/x64 ) |
### 2.2 简单的人脸信息检测
以 Windows x64平台 为例,一个简单的人脸检测Demo。
1. 使用 [nuget](https://www.nuget.org) 安装依赖
| 包名称 | 最小版本 | 生成文件夹 | 说明 |
| :- | :-: | - | - |
| [ViewFaceCore](https://www.nuget.org/packages/ViewFaceCore/) | [![](https://img.shields.io/nuget/v/ViewFaceCore.svg)](https://www.nuget.org/packages/ViewFaceCore) | —— | ViewFaceCore .NET 核心库 |
| [ViewFaceCore.all_models](https://www.nuget.org/packages/ViewFaceCore.all_models) | [![](https://img.shields.io/nuget/v/ViewFaceCore.all_models.svg)](https://www.nuget.org/packages/ViewFaceCore.all_models) | `viewfacecore\models` | 人脸检测的模型支持(图省事可以直接安装这个) |
| [ViewFaceCore.runtime.win.x64](https://www.nuget.org/packages/ViewFaceCore.runtime.win.x64) | [![](https://img.shields.io/nuget/v/ViewFaceCore.runtime.win.x64.svg)](https://www.nuget.org/packages/ViewFaceCore.runtime.win.x64) | `viewfacecore\win\x64` | Windows-x64 的本机运行时,其它平台自行选择安装,可安装多个 |
| [ViewFaceCore.Extension.SkiaSharp](https://www.nuget.org/packages/ViewFaceCore.Extension.SkiaSharp) | <span style="display:inline-block;width:150px"> [![](https://img.shields.io/nuget/v/ViewFaceCore.Extension.SkiaSharp.svg)](https://www.nuget.org/packages/ViewFaceCore.Extension.SkiaSharp) </span> | —— | SkiaSharp图像处理扩展,ImageSharp、SkiaSharp、System.Drawing三选一 |
2. 获取人脸信息
```csharp
using SkiaSharp;
using System;
using ViewFaceCore.Core;
using ViewFaceCore.Model;
namespace ViewFaceCore.Demo.ConsoleApp
{
internal class Program
{
private readonly static string imagePath = @"images/Jay_3.jpg";
static void Main(string[] args)
{
using var bitmap = SKBitmap.Decode(imagePath);
using FaceDetector faceDetector = new FaceDetector();
FaceInfo[] infos = faceDetector.Detect(bitmap);
Console.WriteLine($"识别到的人脸数量:{infos.Length} 个人脸信息:\n");
Console.WriteLine($"No.\t人脸置信度\t位置信息");
for (int i = 0; i < infos.Length; i++)
{
Console.WriteLine($"{i}\t{infos[i].Score:f8}\t{infos[i].Location}");
}
Console.ReadKey();
}
}
}
```
更多案例可以下载源码查看Demo。
## 3. 二次开发
### 3.1 项目结构
```shell
├─Bridges #Bridges
│ ├─Linux ##Linux平台ViewFaceBridge项目
│ ├─Shared ##共享库
│ └─Windows ##Linux平台ViewFaceBridge项目
├─Examples #一些案例
│ ├─ViewFaceCore.Demo.ConsoleApp ##控制台项目案例
│ ├─ViewFaceCore.Demo.VideoForm ##Winform摄像头人脸识别项目
│ └─ViewFaceCore.Demo.WebApp ##ASP.NET Core web项目
├─Extensions #扩展包项目
│ ├─ViewFaceCore.Extension.DependencyInjection ##依赖注入扩展
│ ├─ViewFaceCore.Extension.ImageSharp ##ImageSharp图像处理扩展项目
│ ├─ViewFaceCore.Extension.Shared ##共享项目
│ ├─ViewFaceCore.Extension.SkiaSharp ##SkiaSharp图像处理扩展项目
│ └─ViewFaceCore.Extension.SystemDrawing ##System.Drawing图像处理扩展项目
├─Models #模型项目
├─Runtimes #对应各个平台的运行时
├─SeetaFace
│ └─index #SeetaFace源码,build文件夹需要放到这个目录下面
├─Tests #测试项目,包含各种单元测试
└─ViewFaceCore #ViewFaceCore源码
```
### 3.2 开发环境
- Visual Studio 2022,需要安装.NET4/4.5支持([如何在Visual Studio 2022中安装.NET4/4.5?](https://www.quarkbook.com/?p=1311 "如何在Visual Studio 2022中安装.NET4/4.5?"))
- Windows 10/11
- Ubuntu 20.04 (WSL)、Debian 10/11等
### 3.3 编译SeetaFace6
#### 3.3.1 我对编译SeetaFace6不感兴趣~~~
即中科视图开源的SeetaFace6人脸识别引擎,如果你对编译这块不感兴趣,可以直接下载下面编译好的链接库,放入src/SeetaFace/index目录下面。
二进制文件地址:https://github.com/ViewFaceCore/SeetaFace6OpenBinary/releases
放置好之后的目录结构应该是这样的:
```shell
src
└─SeetaFace
└─index
└─build
├─bin
│ ├─x64
│ └─x86
├─cmake
├─include
├─lib
│ ├─arm
│ ├─arm64
│ ├─x64
│ └─x86
└─lib64
```
#### 3.3.2 我要编译SeetaFace6
1. SeetaFace6官方编译方式
参考:https://github.com/SeetaFace6Open/index#%E7%BC%96%E8%AF%91%E4%BE%9D%E8%B5%96
2. 使用项目中的编译脚本
参考:https://github.com/ViewFaceCore/ViewFaceCore/blob/main/docs/SeetaFace_Build.md
### 3.4 编译SeetaFaceBridge
#### 3.4.1 编译Windows环境下的SeetaFaceBridge
通过3.3.1或者3.3.2小节,完成SeetaFace6编译之后,就可以在VS中直接右键->构建SeetaFaceBridge了。
#### 3.4.2 编译Linux环境下的SeetaFaceBridge
前提条件也是需要通过3.3.1或者3.3.2小节,完成SeetaFace6的编译。
有三种方式可以编译Linux环境下的SeetaFaceBridge,WSL、Remote Linux、交叉编译。具体步奏就不一一介绍了,选择自己比较熟悉或者喜欢的方式,building~
### 3.5 编译ViewFaceCore
就像编译C#的Hello World一样简单。
## 4. 基本说明
### 4.1 各平台Runtime
为了兼容各个平台,我们分别编号好了各个平台的SeetaFace6以及ViewFaceBridge(用于通过C#调用C++写的SeetaFace6)。并打包好,发布到nuget上面。使用时,按需安装对应平台的nuget包。比如windows x64平台,安装对应的nuget包`ViewFaceCore.runtime.win.x64`。runtime可以同时安装多个平台,但是不能不安装,至少需要安装一个当前平台对应的runtime。
支持的平台以及nuget包如下表所示:
| Nuget包名 | 版本 | 输出目录 | 说明 |
| ------------ | ------------ |------------ | ------------ |
| ViewFaceCore.runtime.win.x
没有合适的资源?快使用搜索试试~ 我知道了~
C# 超简单的人脸识别库 .zip
共388个文件
cs:102个
csproj:35个
bat:27个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 88 浏览量
2024-05-12
07:05:04
上传
评论
收藏 299.07MB ZIP 举报
温馨提示
人脸识别 人脸识别系统主要包括四个组成部分,分别为:人脸图像采集及检测、人脸图像预处理、人脸图像特征提取以及匹配与识别。 人脸图像采集及检测 人脸图像采集:不同的人脸图像都能通过摄像镜头采集下来,比如静态图像、动态图像、不同的位置、不同表情等方面都可以得到很好的采集。当用户在采集设备的拍摄范围内时,采集设备会自动搜索并拍摄用户的人脸图像。 人脸检测:人脸检测在实际中主要用于人脸识别的预处理,即在图像中准确标定出人脸的位置和大小。人脸图像中包含的模式特征十分丰富,如直方图特征、颜色特征、模板特征、结构特征及Haar特征等。人脸检测就是把这其中有用的信息挑出来,并利用这些特征实现人脸检测。 主流的人脸检测方法基于以上特征采用Adaboost学习算法,Adaboost算法是一种用来分类的方法,它把一些比较弱的分类方法合在一起,组合出新的很强的分类方法。 人脸检测过程中使用Adaboost算法挑选出一些最能代表人脸的矩形特征(弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器,再将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,有效地提高分类器的检测速度。
资源推荐
资源详情
资源评论
收起资源包目录
C# 超简单的人脸识别库 .zip (388个子文件)
build.win.vc.x64_gpu.bat 4KB
build.win.vc.x86.bat 4KB
build.win.vc.x64.bat 4KB
pack.all.bat 3KB
pack.all.bat 972B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 432B
pack.bat 407B
pack.bat 407B
pack.bat 407B
pack.bat 407B
pack.bat 407B
pack.bat 407B
packages.config 5KB
nlog.config 3KB
App.config 1KB
app.config 158B
bridge.cpp 18KB
str.cpp 5KB
ViewFaceNative.PInvoke.cs 28KB
MainForm.cs 22KB
MainForm.designer.cs 21KB
Program.cs 14KB
UserInfoForm.cs 13KB
UserInfoForm.Designer.cs 12KB
UnitTest1.cs 12KB
UnitTest1.cs 12KB
ViewFaceNative.Initialization.cs 12KB
UserManageForm.cs 11KB
UnitTest1.cs 10KB
Program.cs 9KB
ViewFaceAsyncExtensions.cs 8KB
ViewFaceCoreExtension.cs 8KB
ViewFaceAsyncExtensions.cs 8KB
DataGridViewExtension.cs 7KB
UserManageForm.Designer.cs 6KB
FaceImage.cs 5KB
FaceRecognizer.cs 5KB
FaceAntiSpoofing.cs 4KB
ViewFaceFactory.cs 4KB
FaceDetectConfig.cs 4KB
ViewFaceSkiaSharpExtension.cs 4KB
FaceTrackerConfig.cs 4KB
Resources.Designer.cs 4KB
FaceQuality.cs 4KB
FaceLandmarker.cs 4KB
ViewFaceCoreHostExtensions.cs 3KB
ViewFaceImageSharpExtension.cs 3KB
FaceAntiSpoofingConfig.cs 3KB
FaceTracker.cs 3KB
MemberInfoExtension.cs 3KB
RuntimeInformation.Extension.cs 3KB
FaceRecognizeConfig.cs 3KB
FaceDetector.cs 3KB
ViewFaceSystemDrawingExtension.cs 3KB
UserInfo.cs 3KB
QualityType.cs 3KB
ViewFaceFactory.cs 3KB
FormHelper.cs 3KB
EnumUtil.cs 2KB
FaceTrackInfo.cs 2KB
EyeStateResult.cs 2KB
ViewFaceCoreOptions.cs 2KB
EyeStateDetector.cs 2KB
GenderPredictor.cs 2KB
GlobalConfig.cs 2KB
BaseViewFace.cs 2KB
MaskDetector.cs 2KB
FaceRect.cs 2KB
CacheManager.cs 2KB
AgePredictor.cs 2KB
FaceInfo.cs 2KB
QualityResult.cs 2KB
FaceMarkPoint.cs 2KB
DefaultDbContext.cs 1KB
Base64.cs 1KB
AssemblyInfo.cs 1KB
AssemblyInfo.cs 1KB
PoseExConfig.cs 1KB
Program.cs 1KB
QualityConfig.cs 1KB
Program.cs 1KB
FaceInfo.cs 1KB
HomeController.cs 1KB
Settings.Designer.cs 1KB
EnumExtension.cs 1KB
共 388 条
- 1
- 2
- 3
- 4
资源评论
野生的狒狒
- 粉丝: 2515
- 资源: 2149
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功