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

news2024/11/25 5:44:48

  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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/794801.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker容器命令(有点详细)

文章目录 Docker 容器容器运行背后启停命令run交互模式需不需要接/bin/bash createexecattachpstoplogscprmcommitexportimportsystem对比export、saveimport、loadcommit、exportimport Docker 容器 Docker 容器是 Docker 平台中的一个基本概念&#xff0c;它是 Docker 技术的…

SpringCloud学习路线(12)——分布式搜索ElasticSeach数据聚合、自动补全、数据同步

一、数据聚合 聚合&#xff08;aggregations&#xff09;&#xff1a; 实现对文档数据的统计、分析、运算。 &#xff08;一&#xff09;聚合的常见种类 桶&#xff08;Bucket&#xff09;聚合&#xff1a; 用来做文档分组。 TermAggregation&#xff1a; 按照文档字段值分组…

【计算机网络】2.1——物理层(编码波形、奈氏准则和香农公式计算)

物理层 基本概念 概念 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流 为数据链路层屏蔽了各种传输媒体的差异 数据链路层只需要考虑如何完成本层的协议和服务&#xff0c;而不必考虑网络具体的传输媒体是什么 物理层协议主要任务 机械特性 指明接口所…

区块链学习笔记

区块链技术与应用 数组 列表 二叉树 哈希函数 BTC中的密码学原理 cryptographic hash function collsion resistance(碰撞抵抗) 碰撞指的是找到两个不同的输入值&#xff0c;使得它们的哈希值相同。也就是说&#xff0c;如果存在任意两个输入x和y&#xff0c;满足x ≠ y…

利用Stable diffusion Ai 制作艺术二维码超详细参数和教程

大家有没有发现最近这段时间网上出现了各种各样的AI艺术二维码&#xff0c;这种二维码的出现&#xff0c;简直是对二维码的“颠覆式创新”&#xff0c;直接把传统的二维码提升了一个维度&#xff01;作为设计师的我们怎么可以不会呢&#xff1f; 今天就教大家怎么制作这种超有艺…

Python基于PyTorch实现卷积神经网络回归模型(CNN回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 卷积神经网络&#xff0c;简称为卷积网络&#xff0c;与普通神经网络的区别是它的卷积层内的神经元只覆…

使用EasyPoi实现Excel的按模板样式导出

1&#xff0c;横向遍历 #fe 使用#fe命令可以实现集合数据的横向拓展&#xff0c;比如模板代码是 {{#fe:maths t.score}}导出的excel里面就会显示会自当前列&#xff0c;向右拓展&#xff0c;效果可参见下面的导出文件截图 2&#xff0c;横向遍历值 v_fe 使用v_fe命令可以实现…

vue3+ts+elementui-plus二次封装弹框

一、弹框组件BaseDialog <template><div classmain><el-dialog v-model"visible" :title"title" :width"dialogWidth" :before-close"handleClose"><!-- 内容插槽 --><slot></slot><template…

分布式理论:CAP理论 BASE理论

文章目录 1. CAP定理1.1 一致性1.2 可用性1.3 分区容错1.4 矛盾 2. BASE理论3. 解决分布式事务的思路4. 扩展 解决分布式事务问题&#xff0c;需要一些分布式系统的基础知识作为理论指导。 1. CAP定理 Consistency(一致性): 用户访问分布式系统中的任意节点&#xff0c;得到的…

【LeetCode】1143.最长公共子序列(闫氏dp可视化无分析)

class Solution { public:int longestCommonSubsequence(string text1, string text2) {int len1 text1.size(), len2 text2.size();text1 " " text1;text2 " " text2; //以上三行代码需要注意&#xff0c; //第一行是求string长度的方法 //第二行是…

使用3ds Max粒子系统创建飞天箭雨特效场景

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 设置箭头 步骤 1 打开 3ds Max。 打开 3ds Max 步骤 2 我使用多边形建模技术制作了一个简单的箭头&#xff0c;我将 在教程中使用。.max您可以从 下载部分。 箭头.max 步骤 3 将此箭头重命名为静态…

如何安装多个版本的python,python可以装两个版本吗

这篇文章主要介绍了可不可以在同一台计算机上安装多个python版本&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获&#xff0c;下面让小编带着大家一起了解一下。 1、不同版本的python不能安装到同一台计算机上 可以的&#…

绿水青山,水质监测需要智能网关

“ 绿水青山就是金山银山&#xff0c;随着国家在环保领域的持续发力&#xff0c;水作为环境监管极其重要的一极&#xff0c;尤其是河湖水系的监管&#xff0c;也越来越严格&#xff0c;监测布点密度不断加大。水质自动监测站作为河湖断面监测和水质判断比较权威的工具&#xff…

LabVIEW开发谐振器陀螺仪仿真系统

LabVIEW开发谐振器陀螺仪仿真系统 陀螺仪是INS系统中最重要的传感器。它们的性能&#xff08;如精度和偏置稳定性&#xff09;决定了INS系统的水平。陀螺仪按原理分为三类&#xff1a;角动量守恒、萨格纳克效应和科里奥利效应。旋转坐标系中的移动物体受到的力与旋转坐标系的角…

微信小程序 样式和全局配置

WXSS wxss 把屏幕分为750个物理像素&#xff0c;大屏大&#xff0c;小屏小&#xff0c;随着设备不一致自动适配 推荐使用iPhone6作为标准&#xff0c;1个rpx 0.5个px&#xff0c;把px乘以2就是rpx的参数 import 导入外部样式表 import /common/common.wxss 样式 权重一…

Pytorch个人学习记录总结 09

目录 损失函数与反向传播 L1Loss MSELOSS CrossEntropyLoss 损失函数与反向传播 所需的Loss计算函数都在torch.nn的LossFunctions中&#xff0c;官方网址是&#xff1a;torch.nn — PyTorch 2.0 documentation。举例了L1Loss、MSELoss、CrossEntropyLoss。 在这些Loss函数…

Andrew算法求凸包模板

前置知识 向量的叉乘: 设 a ⃗ ( x a , y a , z a ) , b ⃗ ( x b , y b , z b ) \vec a(x_a,y_a,z_a), \vec b(x_b, y_b,z_b) a (xa​,ya​,za​),b (xb​,yb​,zb​), 令 a ⃗ \vec a a 和 b ⃗ \vec b b 的叉乘为 c ⃗ \vec c c , 有: c ⃗ ∣ i j k x a y a z a x b y…

微软对Visual Studio 17.7 Preview 4进行版本更新,新插件管理器亮相

近期微软发布了Visual Studio 17.7 Preview 4版本&#xff0c;而在这个版本当中&#xff0c;全新设计的扩展插件管理器将亮相&#xff0c;并且可以让用户可更简单地安装和管理扩展插件。 据了解&#xff0c;目前用户可以从 Visual Studio Marketplace 下载各式各样的 VS 扩展插…

[DASCTF 2023 0X401七月暑期挑战赛] viphouse复现

这个题想了好久&#xff0c;无果&#xff0c;终于看到WP。照着作了一遍。WP里没有详细解释&#xff0c;所以复现得很辛苦。 程序有5个菜单和1个初始化程序&#xff1a; init 先从os.random读8个字节放到src处login 读入用户名密码&#xff0c;其中密码栈里设的0x40可以读入0x…

【Ap模块EM】08-怎么让Execution Management成为第一个执行的进程?

前面的文章,我们讲述了ubuntu系统上电执行的流程,那么在Ap AutoSAR中Execution Management怎么成为第一个被执行的进程呢额?就是让它取代传统的init进程,成为ubuntu系统第一个执行的进程? 我们可以通过符号链接 symbolic link去实现,这个类似于windows系统中的某个exe文件…