- 利用Baidu EasyDL定制训练物体识别模型
EastDl
ai baidu -
ai baidu 下开放了许多的接口
ai sdk
-
图像识别接口里已经包含了常用的一些 通用物体识别等api,但这些api只有内容没有位置
image.png
- 自定义物体识别带有位置(left,top,width,height)
- 参考官方教程,建库,上传图片,标准,等待训练,等待审核
- 审核通过后还贴心的有H5接口,扫描一个效果还可以
-
训练深度不够(只有20张图片),识别出的结果有很多
许多
-
利用置信度进行过滤
过滤后
-
调用api:能识别出东西,效果还不好(数据集太少)
api识别
- api调用代码
import json
import requests
import base64
import cv2
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=xcXGxVhYbrGXk7QQ9C9qoCst' \
'&client_secret=1ukcXnKG8rUMOgQsMTWaaRnn913ijdGz'
response = requests.get(host)
content = response.json()
access_token = content["access_token"]
# print( access_token )
# tImg = r'E:\wangzhiyan\Pictures\Camera Roll\WIN_20180731_17_01_20_Pro.jpg'
tImg = r'E:\wangzhiyan\Pictures\Camera Roll\WIN_20180801_13_21_26_Pro.jpg'
# image = open(r'E:\wangzhiyan\Pictures\Camera Roll\WIN_20180801_13_21_26_Pro.jpg', 'rb').read()
image = open(tImg, 'rb').read()
data = {'image': base64.b64encode(image).decode()}
request_url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/detection/m_apple" + "?access_token=" + access_token
response = requests.post(request_url, data=json.dumps(data))
content = response.json()
# print(content)
print( content['results'][0] )
a = cv2.imread( tImg )
for obj in content['results']:
loc = obj['location']
pt1 = ( loc['left'], loc['top'] )
pt2 = ( loc['left']+loc['width'], loc['top'])
pt3 = ( loc['left']+loc['width'], loc['top']+loc['height'])
pt4 = ( loc['left'], loc['top']+loc['height'])
cv2.line( a, pt1,pt2, (0,0,255) )
cv2.line( a, pt2,pt3, (0,0,255) )
cv2.line( a, pt3,pt4, (0,0,255) )
cv2.line( a, pt4,pt1, (0,0,255) )
break
cv2.imshow( "a", a )
cv2.waitKey()
网友评论