调用华为云API实现口罩识别

1.作者介绍

范小雨,女,西安工程大学电子信息学院,2024级研究生
研究方向:机器视觉与人工智能
电子邮件:1019044907@qq.com

高金年,男,西安工程大学电子信息学院,2024级研究生,张宏伟人工智能课题组
研究方向:机器人与智能装备控制技术
电子邮件:2432529790@qq.com

2.华为人脸检测API

2.1 API介绍

应用程序编程接口(英语:Application Programming Interface,简称:API),是一些预先定义的函数。
目的:让应用程序开发人员得以调用一组例程功能,而无须考虑其底层的源代码为何、或理解其内部工作机制的细节。

2.2 人脸检测与口罩检测

人脸检测是对输入图片进行人脸检测和分析,输出人脸在图像中的位置、人脸关键点位置和人脸关键属性。华为云口罩检测属于人脸检测的扩展功能,通过深度学习算法分析图像中的人脸区域,判断是否佩戴口罩。

2.3 主要特性

检测内容:人脸位置、口罩佩戴状态(是/否)、置信度。
适用场景:公共场所安防、疫情防控、智能门禁等。

2.4 约束限制

1、 只支持识别JPG、PNG、JPEG、BMP格式的图片。
2、 为保证识别效果,人脸图片建议要求如下:
a) 光照大于200lux、无反光强光阴影现象。
b) 人脸无遮挡、整体清晰无拖尾抖动等运动模糊。
c) 侧脸不超过30°、俯仰角小于15°、偏转角小于15°、图片中人脸保持竖置正脸。
3、由于过大图片对识别算法精度无明显提升,同时会导致时延较长,建议传入图片小于1MB,一般500KB左右足够。图片中人脸像素建议120*120以上。

3.实验过程

3.1 获取API

1.注册华为云账号,进行实名认证,开通服务。
在这里插入图片描述

3.2登录人脸识别管理控制台:

单击页面右上角的用户名,并选择“我的凭证”。进入“我的凭证”页面。
在这里插入图片描述

3.3单击“访问秘钥”页签下的“新增访问密钥”。弹出“新增访问密钥”对话框。

在这里插入图片描述

3.4 AK/SK认证,下载文件credentials.csv

在这里插入图片描述

3.5调试接口

显示“调试成功”即可。
在这里插入图片描述
在这里插入图片描述
注:本次实验使用base64的图片格式,python实现代码后附。
image_base64:图像数据,base64编码后图像大小不得超过8MB,图片为JPG/JPEG/BMP
/PNG格式。
attributes (人脸关键属性):
本案例中使用base64的图片格式,python实现代码后附。attributes (人脸关键属性,比如头部姿态):2:年龄 4:装束(帽子、眼镜) 6:口罩 7:发型 8:胡须 11:图片类型 12:质量 13:表情 21:人脸图片旋转角(顺时针偏转角度),支持0°、90°、180°和270°图片旋转。

4.实验结果

4.1代码实现

#############下载需要的库
import base64
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkfrs.v2.region.frs_region import FrsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkfrs.v2 import *
###############导入AK和SK
if __name__ == "__main__":ak = "输入获得的AK"sk = "输入获得的SK"  # ak和sk读取credentials = BasicCredentials(ak, sk) \client = FrsClient.new_builder() \.with_credentials(credentials) \.with_region(FrsRegion.value_of("cn-north-4"))  \   .build()f = open('C:\\图片路径\\图片名称.png', 'rb')   # 图片路径读取img = base64.b64encode(f.read())   # 图片转换为base64格式try:request = DetectFaceByBase64Request()  # 人脸在图像中的位置request.body = FaceDetectBase64Req(attributes="6",   # 人脸关键属性,这里的6代表口罩。image_base64="asdfghjkl")     # 图片的base64编码response = client.detect_face_by_base64(request)print(response)      # 输出结果except exceptions.ClientRequestException as e:  # 有误情况的输出print(e.status_code)print(e.request_id)print(e.error_code)print(e.error_msg)

注:本次实验使用base64的图片格式,图片的base64编码导出方法如下:
在这里插入图片描述
访问在线 Base64 转换网站(如 base64.guru)。
上传图片文件,网站会自动生成 Base64 编码。
复制结果(格式为data:image/png;base64,iVBORw0KGgo…)。

4.2运行结果

1.输入一张佩戴了口罩的图片:

在这里插入图片描述
输出结果包括以下2个部分:
在这里插入图片描述
1、 人脸在图片中的位置。(红线所示)
2、 人脸的特征:是否佩戴口罩mask,是(输出:yes);否(输出:none)。(方框所示)

2.输入一张未佩戴口罩的图片:

在这里插入图片描述
输出结果包括以下2个部分:
在这里插入图片描述
1.人脸在图片中的位置。(红线所示)
2.人脸的特征:是否佩戴口罩mask,是(输出:yes);否(输出:none)。(方框所示)

3 输入多人佩戴口罩的图片

在这里插入图片描述
输出结果:
在这里插入图片描述
输出三个结果,说明该人脸口罩检测可以识别多人面部特点。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++中的单例模式及具体应用示例

AI 摘要 本文深入探讨了C中的单例模式及其在机器人自主导航中的应用,特别是如何通过单例模式来管理地图数据。文章详细介绍了单例模式的基本结构、优缺点以及在多线程环境中的应用,强调了其在保证数据一致性和资源管理中的重要性。 接着,文章…

【STM32】从新建一个工程开始:STM32 新建工程的详细步骤

STM32 开发通常使用 Keil MDK、STM32CubeMX、IAR 等工具来创建和管理工程。此处是 使用 Keil MDK5 STM32CubeMX 创建 STM32 工程的详细步骤。 新建的标准库工程文件已上传至资源中,下载后即可直接使用。 标准库新建 STM32 工程的基本目录结构:STD_STM…

Java 大视界 -- 基于 Java 的大数据实时流处理中的窗口操作与时间语义详解(135)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

Fastdata极数:中国民宿行业发展趋势报告2025

2024年,中国游客出行次数大幅上涨,旅游相关支出也复苏强劲。2025年中国旅游业还将持续稳健的复苏及增长。同时,中国旅游业将见证一场深刻的变革,这场变革的推动力是消费者对旅游期望的转变,经济因素和年轻人全新价值观…

【自定义微信小程序拉下选择过滤组件】searchable-select

【自定义微信小程序拉下选择过滤组件】searchable-select 组件说明 点击输入框获取焦点,输入内容,自动匹配搜索结果,点击搜索结果,自动填充搜索结果。 组件使用 将组件文件夹放在项目中。在需要使用的页面的json文件中&#x…

推理大模型的后训练增强技术-Reasoning模型也进化到2.0了,这次居然学会用工具了

论文题目:START: Self-taught Reasoner with Tools 论文链接:https://arxiv.org/pdf/2503.04625 论文简介 Reasoning模型也进化到2.0了,这次居然学会用工具了!✨ 最近有个叫START的方法,让大模型也能学着用工具&#…

Idea集成docker通过ca加密实现镜像打包

​ Idea集成docker实现镜像打包_ideadocker镜像打包-CSDN博客 ​ 之前通过这种方式虽然可以实现idea通过maven打jar包的同时把docker镜像也进行打包,但是这种方式存在很大漏洞,就是服务器的2375端口大开,任何人拿着idea通过这种方式都可以连…

SOC与电压的关系

与电池相关的参数都与SOC有关,也就是电池剩余容量的百分比即荷电状态。 SOC百分之二十时,对应3.2V,SOC80%时对应3.3V。

塔能科技:做节能界的“催化剂”,加速工厂能源改造变革

在全球坚定不移地迈向可持续发展的宏大进程中,节能降耗早已从一种发展理念,深度融入到经济社会发展的每一个脉络之中,成为企业在激烈市场竞争中实现降本增效的核心策略,更是推动整个社会朝着绿色、低碳、循环方向转型的关键支撑点…

【算法学习之路】11.并查集

并查集 前言一.简介二.基础并查集三.基础并查集题目12 四.种类并查集(扩展域并查集)五.种类并查集的题目 前言 我会将一些常用的算法以及对应的题单给写完,形成一套完整的算法体系,以及大量的各个难度的题目,目前算法也…

【微服务】SpringBoot整合LangChain4j 操作AI大模型实战详解

目录 一、前言 二、Langchain4j概述 2.1 Langchain4j 介绍 2.1.1 Langchain4j 是什么 2.1.2 主要特点 2.2 Langchain4j 核心组件介绍 2.3 Langchain4j 核心优势 2.4 Langchain4j 核心应用场景 三、SpringBoot 整合 LangChain4j 组件使用 3.1 前置准备 3.1.1 获取apik…

【图片批量转换合并PDF】多个文件夹的图片以文件夹为单位批量合并成一个PDF,基于wpf的实现方案

项目背景: 多个图片分布在不同文件夹,如何以文件夹为单位批量合并成一个PDF,还要保证文件夹里面图片大小和顺序 实现功能: 1、单张图片的转换PDF:一张图临时转一下 2、多张图片转换成PDF:多张图单独转成PDF 3、多级目录多张图转换成PDF:多级目录多张图单独转成多个PDF…

因果推荐|可解释推荐系统的反事实语言推理

论文:https://arxiv.org/pdf/2503.08051 代码:GitHub - kylokano/CausalX 很新的论文,南大五天前挂到arxiv的,代码基于Recbole,没给全但是提供了足够的验证。 1 动机 可解释推荐不仅提供高质量的推荐,而…

Zabbix安装(保姆级教程)

Zabbix 是一款开源的企业级监控解决方案,能够监控网络的多个参数以及服务器、虚拟机、应用程序、服务、数据库、网站和云的健康状况和完整性。它提供了灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,从而能够快速响应服务器问题。Zabbix 基于存储的数据提供…

【spring boot 实现图片验证码 前后端】

导入hutool依赖 <!--hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.36</version>获取验证码接口 Autowiredprivate Captcha captcha;private final static Long VALIDA…

arthas基础命令

文章目录 1. help2. cat3. grep4. pwd5. cls6. session7. reset8. version9. history10. quit11. stop12. keymapArthas 命令行快捷键后台异步命令相关快捷键小结 1. help 作用&#xff1a;查看命令帮助信息 2. cat 作用&#xff1a;打印文件内容&#xff0c;和linux里的cat命…

痉挛性斜颈护理宝典:重拾生活平衡

痉挛性斜颈会给患者的生活带来诸多不便&#xff0c;有效的健康护理对缓解症状、提升生活质量十分关键。 在日常活动方面&#xff0c;患者应保持正确的姿势。站立和坐姿要挺直脊背&#xff0c;避免长时间低头或歪头&#xff0c;减少颈部肌肉的额外负担。睡眠时&#xff0c;选择高…

虚拟定位 1.2.0.2 | 虚拟定位,上班打卡,校园跑步模拟

Fake Location是一款运行于安卓平台上的功能强大、简单实用的虚拟定位软件。它能够帮助用户自定义位置到地图上的任意地方&#xff0c;以ROOT环境运行不易被检测&#xff0c;同时也支持免ROOT运行。提供路线模拟、步频模拟、WIFI模拟等方式&#xff0c;支持反检测。 大小&…

C++基础 [五] - String的模拟实现

目录 前言 string类的模拟实现 成员函数的实现 构造函数 拷贝构造函数 赋值运算符重载 析构函数 元素访问的实现 operator[ ] Iterator - 迭代器 容量大小的实现 size capacity reserve ​编辑resize 内容修改的实现 push_back append operator(char ch) …

嵌入式硬件--开发工具-AD使用常用操作

ad16.1.12 1.如何显示/隐藏其他图层 在pcb界面点击L--试图界面中找到“视图选项”--单层模式选择 not in single layer mode 在pcb界面点击L--试图界面中找到“视图选项”--单层模式选择 gray scale other layers 【Altium】AD如何只显示一层&#xff0c;隐藏其他层显示&…