使用百度AI平台人脸识别-检测人脸并标出位置信息(Python)
普通程序员如何在一小时内快速上手做AI呢?
这是一个最好的时代,也是一个最坏的时代;这是一个智慧的年代,这是一个愚蠢的年代;这是一个信任的时期,这是一个怀疑的时期。这是一个光明的季节,这是一个黑暗的季节;这是希望之春,这是失望之冬;人们面前应有尽有,人们面前一无所有;人们正踏上天堂之路,人们正走向地狱之门。
这是一个AI的时代,也是一个调包的时代。
这回就用调包工具Python来体验一下吧。
懂开发的上手,整个流程不超过一小时。
STEP 0:
打开百度智能云网站
https://login.bce.baidu.com/
登陆百度账号,通常都有吧,没有就注册一个。
进入之后注册成为企业或者个人,就是填写一些信息。由于我已经注册过了就没法截图了,这里略过不表。
注册完之后,接着左上角的产品服务打开,选择人脸识别:
出现的界面如下,可以看到人脸识别都是免费使用的。
再选择创建应用:
创建也是跟注册一样,简单填写一些信息,跳转到管理应用:
得到了AppID,API Key,Secret Key 三个请求SDK必备的参数。
再点击上面的管理按钮:
STEP 1:
下载SDK
https://ai.baidu.com/sdkbfr
下载好SDK的demo,查看文档去配置启动文件,填入前面的三个参数,看文档调用对应的功能,确认入参和返回值。
STEP 2:
查看文档
https://cloud.baidu.com/doc/FACE/s/ek37c1qiz
新建AipFace
AipFace是人脸识别的Python SDK客户端,为使用人脸识别的开发人员提供了一系列的交互方法。
参考如下代码新建一个AipFace:
fromaipimportAipFace""" 你的 APPID AK SK """APP_ID =你的 App IDAPI_KEY =你的 Api KeySECRET_KEY =你的 Secret Keyclient = AipFace(APP_ID, API_KEY, SECRET_KEY)
在上面代码中,常量APP_ID在百度云控制台中创建,常量API_KEY与SECRET_KEY是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。
注意:如您以前是百度云的老用户,其中API_KEY对应百度云的Access Key ID,SECRET_KEY对应百度云的Access Key Secret。
三个参数配置一下:
fromaipimportAipFaceimportbase64importjson""" 你的 APPID AK SK """APP_ID =xxxAPI_KEY =yyySECRET_KEY =zzzclient = AipFace(APP_ID, API_KEY, SECRET_KEY)f = open(./pic/muscle.jpg,rb)base64_data = base64.b64encode(f.read())读取文件内容,转换为base64编码image = base64_data.decode()f.close()imageType ="BASE64"""" 调用人脸检测 """result = client.detect(image, imageType)json_res = json.dumps(result,ensure_ascii=False)fh = open(./pic/muscle.txt,w)fh.write(json_res)fh.close()
参考的文档是人脸检测:
部分返回值说明截取,具体看官方文档。
使用的图片依然是chris街健男的:
api接口返回输出的结果是json,前面代码将结果保存到文件。接口返回虽是json,但是python要用json格式转一下,先保存到txt里。
结果如下:
{"error_code":0,"error_msg":"SUCCESS","log_id":6555001452017,"timestamp":1620893651,"cached":0,"result": {"face_num":1,"face_list": [{"face_token":"a73784562a2dad2f41a8fa0aa8985fb4","location": {"left":357.06,"top":186.71,"width":113,"height":107,"rotation":8},"face_probability":1,"angle": {"yaw":25.66,"pitch":23.8,"roll":-1.98}}]}}
以上就是百度AI平台的人脸识别使用python接入SDK的过程。
整个流程与调用阿里、微信的SDK都类似,举一反三的。
总结:
(1)注册平台账号
(2)记下id、key、secret之类的
(3)下载SDK的demo,对着文档一顿操作
调试一两个接口到可用,其它都是举一反三了。