使用百度EasyDL定制AI训练平台实现图像识别分类

2022-01-07 08:26:17 浏览数 (2)

项目需求

如下图所示,图片内容是吊牌分为吊牌,是水洗标分为水洗,不包含这两项标为其他

从上万张图片中挑出吊牌和水洗图片

把混在一起的图片进行分类挑出

实现方案:使用EasyDL定制AI训练平台的图像分类算法,训练模型并调用训练后的模型api,对本地图像进行分类操作

图像数据

创建图像分类数据集 上传图片 ——》在线标注

等我标完200个图片之后,发现一个更方便的方法,

建议多看文档,多摸索摸索

因为我这边就三个标签,把对应标签下的图片分好,用标签名命名文件夹并压缩为zip格式,直接上传压缩包就可以自动标注了

模型处理

EasyDL定制AI训练平台

按照官方文档 训练模型 步骤一步步操作即可,都是图形化界面可以说是相当方便了,我选的公有云API部署,其他部署方式还没试,按步骤训练模型检验模型即可

我个人三个标签下每个标签放了100张左右(分的不是太细,100多和90几),

最后训练和检验结果还可以,正确率可以达到95%

训练好之后就可以发布模型了,只有发布了之后才可以调用 官方说法通常的审核周期为T 1,即当天申请第二天可以审核完成,我的模型发布之后10分钟不到就审核完成了

模型使用

最后是模型使用,前面说了我是用的公有云API部署 所以使用的化也要调用自己设置的公有云API,这个官方文档里也有操作说明

因为我个人使用python3,官方文档的demo还是python2的,有点不适用

放在这里有兴趣的可以自己瞅瞅,还可以选择其他语言 图像分类API调用文档

下面是我自己在python3环境下的改写

代码语言:javascript复制
# 先获取api token
# encoding:utf-8
import requests 
# access_token: 要获取的Access Token;
# expires_in: Access Token的有效期(秒为单位,一般为1个月);

# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'
response = requests.get(host)
if response:
    print(response.json())
代码语言:javascript复制
# 单张图片test

# encoding:utf-8
# import urllib2
from urllib.request import urlopen
import base64
import json
import urllib
pic_path = r"D:Jupyter Notebook水洗标INSE-17.jpg"

'''
easydl图像分类
'''

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

with open(pic_path, 'rb') as f:
    base64_data = base64.b64encode(f.read())
    s = base64_data.decode('UTF8')

params = {"image": s, "top_num": "3"}
params = json.dumps(params)
access_token = response.json()['access_token']
request_url = request_url   "?access_token="   access_token

session = requests.Session()
headers = {'Content-Type': 'application/json'}
r = session.post(request_url, data=params, headers=headers)
print(r.text)

输出结果如下,对应各标签score

根据score对图片文件打标分类即可,是真的好用而且还是免费,还有其他很多模型开放,可以研究研究!而且很多免费 低代码实现人工智能算法!加油吧!少年!!!

0 人点赞