百度easydl之图像分类构建是否佩戴口罩模型

2020-02-14

今天试了下百度esaydl的图像分类方面的功能,其优点是主需要上传自己的数据集,不需要关注模型训练,就可以得到相应的结果。最后得到的模型可以调用云api在本地进行运行。

网址:https://ai.baidu.com/easydl/app/1/models

1、登录该平台

百度easydl之图像分类构建是否佩戴口罩模型_第1张图片

2、点击创建模型:

百度easydl之图像分类构建是否佩戴口罩模型_第2张图片

填入相关信息即可。

3、上传数据集

百度easydl之图像分类构建是否佩戴口罩模型_第3张图片

上传的格式是.zip压缩格式,同时不同类别的图片处于相应的文件夹下,文件夹的名字就是其所代表的类别。这里的数据集是我自己从百度上爬取的,总共分为两类,一类为yes,即佩戴了口罩,另一类为no,即没有佩戴口罩,其中示例图片:

百度easydl之图像分类构建是否佩戴口罩模型_第4张图片百度easydl之图像分类构建是否佩戴口罩模型_第5张图片

我自己的图片是yes有178张,no有47张,上传之后有效的是183张。

4、训练模型

百度easydl之图像分类构建是否佩戴口罩模型_第6张图片

选择创建好的模型,选择公有云部署,选择高精度,点击开始训练即可。高性能是为了平衡速度和精度,而最后一个Auto transfer关注于细粒度分类。

5、训练完成后可以在我的模型中查看结果

百度easydl之图像分类构建是否佩戴口罩模型_第7张图片

点击完成评估结果:

百度easydl之图像分类构建是否佩戴口罩模型_第8张图片

百度easydl之图像分类构建是否佩戴口罩模型_第9张图片

 

6、可以校验我们的模型

百度easydl之图像分类构建是否佩戴口罩模型_第10张图片

7、就可以申请发布我们的模型啦

百度easydl之图像分类构建是否佩戴口罩模型_第11张图片

百度easydl之图像分类构建是否佩戴口罩模型_第12张图片

这里需要配置权限,然后新建一个Easydl console。配置好后点击已完成配置:

百度easydl之图像分类构建是否佩戴口罩模型_第13张图片

输入相关信息之后会弹出一个二维码:

百度easydl之图像分类构建是否佩戴口罩模型_第14张图片

这里我把电脑上的图片照了一张,上传进行测试,结果还是不错的。

8、调用api进行本地测试。

百度easydl之图像分类构建是否佩戴口罩模型_第15张图片

我们查看API文档,这里面有具体的教我们怎么去使用,大致分为两步:第一步,获取access_token,以python为例:

# encoding:utf-8
import requests

# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【这里是easydl console中的】&client_secret=【这里是easydl console中的】'
response = requests.get(host)
if response:
    print(response.json())

我们可以得到json格式的响应,然后找到access_token复制下来即可。

接着就可以调用API进行本地测试了:

# encoding:utf-8
import requests
import base64
import json

with open("C:\\Users\\Administrator\\Desktop\\test.jpg", 'rb') as f:
    base64_data = base64.b64encode(f.read())

request_url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/classification/testmask"

params = {
    "image":str(base64_data,encoding="utf-8"),
    "top_num":"5",
}
data=json.dumps(params)
access_token = '【这里是获得的acess_token】'
request_url = request_url + "?access_token=" + access_token
headers = {"'Content-Type'":'application/json'}
response = requests.post(url=request_url, headers=headers,data=data)
content = response.text
if content:
    print(content)

说明:要发送post请求,带上请求头,参数带上两个,一个是base64格式的图片数据,另一个是返回分类数量,执行结果:

有需要的留言我上传数据集。

你可能感兴趣的:(百度easydl之图像分类构建是否佩戴口罩模型)