测试开源C#人脸识别模块ViewFaceCore(4:口罩检测、性别预测、年龄预测)

  ViewFaceCore模块中的MaskDetector类支持识别人脸是否戴了口罩或有遮挡,主要调用PlotMask函数执行口罩检测操作,其函数原型如下所示:

	PlotMaskResult PlotMask<T>(T image, FaceInfo info)public class PlotMaskResult{//// 摘要://     评估分数public float Score { get; set; }//// 摘要://     是否检测成功public bool Status { get; set; }//// 摘要://     是否戴口罩public bool Masked { get; set; }}

  调用MaskDetector进行口罩检测主要包括以下步骤:
  1)调用faceDetector类获取图片的人脸信息;
  2)调用MaskDetector类的PlotMask函数,根据返回值中的Masked属性获取指定人脸是否戴口罩或者被遮挡。

  根据上述步骤编写了MaskDetector类的测试程序(本文中的所有测试用图均来自百度图片),测试效果截图如下所示:
在这里插入图片描述
在这里插入图片描述
  ViewFaceCore模块中的GenderPredictor类支持基于人脸预测性别,主要调用PredictGender函数执行预测人脸性别,其函数原型如下所示:

	public Gender PredictGender<T>(T image, FaceMarkPoint[] points)//// 摘要://     性别public enum Gender{//// 摘要://     未知 或 识别失败。[Description("未知")]Unknown = -1,//// 摘要://     男性[Description("男")]Male,//// 摘要://     女性[Description("女")]Female}

  调用GenderPredictor进行性别预测主要包括以下步骤:
  1)调用faceDetector类获取图片的人脸信息;
  2)调用FaceLandmarker类获取人脸关键点信息;
  3)调用GenderPredictor类的PredictGender函数,根据返回值获取指定人脸的性别。

  根据上述步骤编写了GenderPredictor类的测试程序,测试效果截图如下所示,可以看到部分图片中的识别还是会出现问题:
在这里插入图片描述

在这里插入图片描述
  ViewFaceCore模块中的AgePredictor类支持基于人脸预测年龄,主要调用PredictAge函数预测人脸年龄,其函数原型如下所示:

	public int PredictAge<T>(T image, FaceMarkPoint[] points) 

  调用AgePredictor进行年龄预测主要包括以下步骤:
  1)调用faceDetector类获取图片的人脸信息;
  2)调用FaceLandmarker类获取人脸关键点信息;
  3)调用AgePredictor类的PredictAge函数获取指定人脸的年龄。

  根据上述步骤编写了AgePredictor类的测试程序,测试效果截图如下所示,感觉大部分人脸的预测结果都不准确,尤其是儿童图片的预测结果差别较大。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考文献:
[1]https://github.com/ViewFaceCore/ViewFaceCore
[2]https://github.com/seetafaceengine/SeetaFace6/tree/master/docs


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部