测试开源C#人脸识别模块ViewFaceCore(1:人脸检测)

  微信公众号“dotNET跨平台”中的文章《C# 超简单的离线人脸识别库》介绍了封装了SeetaFace6 的 C#开源人脸识别模块ViewFaceCore,关于SeetaFace6 的介绍请见参考文献3.ViewFaceCore同时支持.net framework和 .NET Core,具备人脸检测、活体检测、人脸特征提取和对比、人脸追踪、口罩检测等功能,本文测试基于ViewFaceCore的人脸检测基本用法。
  新建Winform项目,通过NuGet包管理器添加ViewFaceCore引用,由于本机为64位系统,还需添加ViewFaceCore.all_models、ViewFaceCore.Extension.SkiaSharp和ViewFaceCore.runtime.win.x64的引用。

测试开源C#人脸识别模块ViewFaceCore(1:人脸检测)_第1张图片
  ViewFaceCore.all_models为内容齐全的离线模型包,ViewFaceCore根据用途不同,提供有对应的离线模型包,主要包括以下:
测试开源C#人脸识别模块ViewFaceCore(1:人脸检测)_第2张图片
  人脸检测主要依托ViewFaceCore.Core.FaceDetector类中的Detect函数,该函数的声明如下。Detect函数返回输入图象中识别出的人脸信息集合。FaceInfo对象中最重要的两个属性Location(人脸位置)和Score(人脸置信度),通过人脸位置可以标识出图片中的人脸。

	//
        // 摘要:
        //     识别 image 中的人脸,并返回人脸的信息。
        //
        // 参数:
        //   image:
        //     人脸图像信息
        //
        // 返回结果:
        //     人脸信息集合。若 System.Array.Length == 0 ,代表未检测到人脸信息。如果图片中确实有人脸,可以修改 DetectorConfig
        //     重新检测。
        public static FaceInfo[] Detect<T>(this FaceDetector viewFace, T image) where T : class

  基于上述内容,编写了简单的导入图片识别人脸,并用红框标识人脸位置的测试程序,代码比较简单就不在贴出来了。下面是运行效果截图(图片来自百度图片)。
测试开源C#人脸识别模块ViewFaceCore(1:人脸检测)_第3张图片
测试开源C#人脸识别模块ViewFaceCore(1:人脸检测)_第4张图片

参考文献:
[1]https://www.sohu.com/a/693747105_121124365
[2]https://github.com/ViewFaceCore/ViewFaceCore
[3]https://github.com/seetafaceengine/SeetaFace6

你可能感兴趣的:(dotnet编程,c#,ViewFaceCore,人脸检测)