【百度大脑新品体验】戴口罩无感智能检测
才能我浪费99 发布于2020-04 浏览:3761 回复:17
2
收藏
最后编辑于2022-04

疫情后期,出入公共场所仍需佩戴口罩。为减少接触、避免人员过密,通过人体分析的口罩检测能力可实现无现场工作人员的智能识别,提高企事业单位管理能力、提高通行效率、降低人工检查导致交叉感染的可能性。

1.功能描述:

人体检测和属性识别新增“是否戴口罩”属性,适合室内外的监控场景,正面、侧面角度抓拍识别效果优。可用于判断人员佩戴口罩情况,适用于疫情期间公共场所口罩佩戴情况检查,各类工厂安全生产规范着装检测。

支持云服务API、私有化部署多种服务形态。

2.平台接入

人流量统计动态版接入网址:

https://console.bce.baidu.com/ai/?fromai=1#/ai/body/overview/index

界面如下图所示:

点击创建应用,输入应用名,点击确认。

点击管理应用,查看APIKEY和SecretKey,在后续的代码中替换对应的内容即可执行。

3.调用攻略(Python3)及评测

3.1首先认证授权:

在开始调用任何API之前需要先进行认证授权,具体的说明请参考:

http://ai.baidu.com/docs#/Auth/top

具体Python3代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python

import urllib
import base64
import json
#client_id 为官网获取的AK, client_secret 为官网获取的SK
client_id =【百度云应用的AK】
client_secret =【百度云应用的SK】

#获取token
def get_token():
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
token_content = response.read()
#print (token_content)
if token_content:
token_info = json.loads(token_content)
token_key = token_info['access_token']
return token_key

3.2百度人体检测接口调用:

详细说明请参考: https://ai.baidu.com/ai-doc/BODY/Ak3cpyx6v

说明的比较清晰,这里就不重复了。

大家需要注意的是:
API访问URL:https://aip.baidubce.com/rest/2.0/image-classify/v1/body_attr
因为本次主要为检测人员是否佩戴口罩,所以设置Type=face_mask

Python3调用代码如下:

#佩戴口罩检测
def body_mask(filename):
    request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_attr"
    
    # 二进制方式打开图片文件
    f = open(filename, 'rb')
    img = base64.b64encode(f.read())
    
    params = dict()
    params['image'] = img
    params['type'] = 'face_mask'
    params = urllib.parse.urlencode(params).encode("utf-8")
    #params = json.dumps(params).encode('utf-8')
    
    access_token = get_token()
    request_url = request_url + "?access_token=" + access_token
    request = urllib.request.Request(url=request_url, data=params)
    request.add_header('Content-Type', 'application/x-www-form-urlencoded')
    response = urllib.request.urlopen(request)
    content = response.read()
    if content:
        content=content.decode('utf-8')
        #print(content)
        data = json.loads(content)
        print(data)
        for body in data['person_info']:
            if body['attributes']['face_mask']['name']=='无口罩':
                print("无口罩,不准进入")
            elif body['attributes']['face_mask']['name']=='戴口罩':
                print("戴口罩,可以进入")
            else:
                print("请重新检测")


4.功能评测:

具体效果如下:

戴口罩,可以进入

无口罩,不准进入

5.测试结论和建议
经过测试发现人体检测对于是否佩戴口罩的检测效果非常好,可以放在公共场所的入口对人员进行检测。甚至可以与闸机等设备联动,自动控制,加快效率。

收藏
点赞
2
个赞
共17条回复 最后由用户已被禁言回复于2022-04
#19worddict回复于2020-07
#18 大手拉小手0123回复
感觉穿戴设备要发力  

已经有很多了

0
#18大手拉小手0123回复于2020-07
#17 worddict回复
应该会越来越多

感觉穿戴设备要发力

 

0
#17worddict回复于2020-07
#16 大手拉小手0123回复
期待有更多的新产品出现

应该会越来越多

0
#16大手拉小手0123回复于2020-07
#15 wangwei8638回复
还没有手机部署

期待有更多的新产品出现

0
#15wangwei8638回复于2020-07
#14 大手拉小手0123回复
估计应该快了吧

还没有手机部署

0
#14大手拉小手0123回复于2020-07
#13 wangwei8638回复
现在戴口罩能解锁吗

估计应该快了吧

0
#13wangwei8638回复于2020-07

现在戴口罩能解锁吗

0
#12大手拉小手0123回复于2020-07
#11 才能我浪费99回复
现在的确是用这个功能的时候

应用在哪个方面

0
#11才能我浪费99回复于2020-07
#8 worddict回复
现在正好用得上

现在的确是用这个功能的时候

0
#10worddict回复于2020-07

看效果识别的非常准确

0
#9worddict回复于2020-07

功能非常强大

0
#8worddict回复于2020-07

现在正好用得上

0
#7大手拉小手0123回复于2020-06

现在来看很实用,很不错

0
#5才能我浪费99回复于2020-06

可以对进入办公楼的人进行检测

0
#4才能我浪费99回复于2020-06

可以放在建筑的入口

0
#3才能我浪费99回复于2020-04

应该会有很不错的应用前景

1
#2才能我浪费99回复于2020-04

测试效果很好

1
TOP
切换版块