前言

    今天给大家推荐一个C#开源的、免费的、跨平台的、使用简单的离线人脸识别库:ViewFaceCore。

官方介绍

  • 一个基于 SeetaFace6 的 .NET 人脸识别解决方案

  • 本项目受到了 SeetaFaceEngine.Net 的启发

  • 开源、免费、跨平台 (win/linux)

SeetaFace6项目介绍

SeetaFace6 是一个高效、准确的开源人脸识别与分析项目。

GitHub源码地址:https://github.com/SeetaFace6Open/index

支持.NET 框架 和 操作系统

5e2b72f4f24b28b4c9d78faad811ea8d.png

简单的人脸信息检测

以 Windows x64平台 为例,一个简单的人脸检测Demo。

使用 nuget 安装依赖

486aa0ef31fa0ddb57f3be736af5e116.png

获取人脸信息

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();
        }
    }
}

图形库扩展

ViewFaceCore本身不依赖任何图形库,但是为了调用方便,我们开发了三个常见图形库扩展。如下表所示: 

5a76431df0fe870cc9547c2abf901b51.png

在使用过程中,可以选择任意一个自己熟悉或者当前项目中已经用到的图形库扩展使用。但是,图形库扩展不能安装多个,只能三者选其一!!!

模型设置

我们封装好了每个人脸识别功能对应的模型,并打包发布至nuget。在使用时,只需要安装对应模型的nuget包即可。nuget包如下表所示: 

cc86124fe33e06cb1691a3d8aabbbd91.png

Github源码地址

-

技术群:添加小编微信并备注进群

小编微信:mm1552923   

公众号:dotNet编程大全    

https://github.com/ViewFaceCore/ViewFaceCore

更多推荐