赞
踩
微信公众号“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的引用。
ViewFaceCore.all_models为内容齐全的离线模型包,ViewFaceCore根据用途不同,提供有对应的离线模型包,主要包括以下:
人脸检测主要依托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
基于上述内容,编写了简单的导入图片识别人脸,并用红框标识人脸位置的测试程序,代码比较简单就不在贴出来了。下面是运行效果截图(图片来自百度图片)。
参考文献:
[1]https://www.sohu.com/a/693747105_121124365
[2]https://github.com/ViewFaceCore/ViewFaceCore
[3]https://github.com/seetafaceengine/SeetaFace6
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。