口罩识别实战教程

本文涉及的产品
视觉智能开放平台,视频通用资源包5000点
视觉智能开放平台,图像通用资源包5000点
视觉智能开放平台,分割抠图1万点
简介: 人脸人体识别技术是基于阿里云深度学习算法,结合图像或视频的人脸检测、分析、比对以及人体检测等技术,为您提供人脸人体的检测定位、人脸属性识别和人脸比对等能力。本教程介绍如何使用Alibaba Cloud SDK for Java对图片中的人物进行口罩检测。

口罩识别实战教程

人脸人体识别技术是基于阿里云深度学习算法,结合图像或视频的人脸检测、分析、比对以及人体检测等技术,为您提供人脸人体的检测定位、人脸属性识别和人脸比对等能力。本教程介绍如何使用Alibaba Cloud SDK for Java对图片中的人物进行口罩检测。

前提条件

在开始之前,请确保完成以下步骤:

  1. 开通人脸人体能力,请参见上述开发前准备。
    image.png
  2. 在您的Java工程中添加人脸人体能力的pom依赖:
<!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-facebody -->
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-facebody</artifactId>
    <version>1.0.8</version>
</dependency>

口罩识别

DetectMask可以对输入图片中面积最大的人脸进行口罩检测。
例如要识别下面的图片中的人物是否戴了口罩。
image.png
示例代码如下:

import com.aliyun.CommonConfig;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.facebody.model.v20191230.DetectMaskRequest;
import com.aliyuncs.facebody.model.v20191230.DetectMaskResponse;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;

public class DetectMaskDemo {
    private static DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "<access key id>", "<access key secret>");
    private static IAcsClient client = new DefaultAcsClient(profile);
    public static void main(String[] args) {

        String wearMaskSampleImgURL = "https://visionapi-test.oss-cn-shanghai.aliyuncs.com/mask_1.jpg";
        detectMask(wearMaskSampleImgURL);
    }
    /**
     * 口罩识别
     * @param wearMaskSampleImgURL 图片URL地址
     */
    private static void detectMask(String wearMaskSampleImgURL) {
        DetectMaskRequest detectMaskRequest = new DetectMaskRequest();
        detectMaskRequest.setImageURL(wearMaskSampleImgURL);
        try {
            DetectMaskResponse detectMaskResponse = client.getAcsResponse(detectMaskRequest);
            System.out.println("口罩识别:");
            System.out.println(new Gson().toJson(detectMaskResponse));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }
    }
}

代码返回结果类似如下:

{
    "requestId": "3DFE230C-CB35-4F92-981F-F70D078E0C8D",
    "data": {
        "mask": 2,
        "faceProbability": 0.57101476
    }
}

从返回结果中得到的该图片识别结果如下:

  • 图片中的人物戴了口罩。
  • 检测结果的可信度为0.57101476。

其中,返回结果中参数mask取值如下:

  • 0:没有检测出人脸或人脸清晰度不够。
  • 1:没有戴口罩。
  • 2:有戴口罩。
  • 3:口罩没有带好。
相关文章
|
机器学习/深度学习 固态存储 安全
表情识别-情感分析-人脸识别(代码+教程)
表情识别-情感分析-人脸识别(代码+教程)
|
虚拟化 Android开发 云计算
6个VMware桌面虚拟化的替代方案
6个VMware桌面虚拟化的替代方案
904 1
|
Java Serverless Spring
org.springframework.boot.loader.JarLaunche
org.springframework.boot.loader.JarLaunche
1085 3
|
Oracle Java Unix
Java/JDK下载、安装与环境变量配置超详细教程(2022更新)保姆级,秒会
Java/JDK下载、安装与环境配置超详细教程(2022更新)保姆级,小白秒会[学习必备,建议收藏]。包含JDK8、JDK11、JDK17、JDK19等,本文将从JDK的下载与安装讲起,在从配置到第一个HelloWrold实践结束。在观看本文前我们需要知道JDK是什么,有什么作用?JDK是Java的开发工具包,包括JVM虚拟机,核心类库,开发工具。
27211 0
Java/JDK下载、安装与环境变量配置超详细教程(2022更新)保姆级,秒会
|
SQL 消息中间件 存储
PostgreSQL CDC的最佳实践
PostgreSQL CDC的最佳实践
PostgreSQL CDC的最佳实践
|
IDE 开发工具 Python
dsw
dsw
470 0
|
12月前
|
SQL 大数据 程序员
聊聊 SQL 语句中的占位符
大家都知道,在 SQL 语句中,可以使用 LIKE 进行模糊查询,但可能大家不知道的是,LIKE 语句的占位符除了 % 占位符之外,还有 _ 占位符,理解这些占位符可以帮助我们更有效地构造查询并进行字符串匹配,提高程序性能
744 0
|
12月前
|
JavaScript 索引
Vue中对象或数组数据更新但视图不刷新问题的解决策略
Vue中对象或数组数据更新但视图不刷新问题的解决策略
841 0
|
传感器 大数据 数据处理
大数据处理中的流计算技术:实现实时数据处理与分析
【7月更文挑战第30天】随着分布式系统、云原生技术、数据安全与隐私保护技术的不断发展,流计算技术将在更多领域得到应用和推广,为大数据处理和分析提供更加高效、智能的解决方案。
1101 3
|
设计模式 JavaScript 开发者
Vue设计模式:工厂模式
Vue设计模式:工厂模式

热门文章

最新文章