Baidu EasyDL的尝试

  • 利用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()

你可能感兴趣的:(Baidu EasyDL的尝试)