开源人工智能平台二次开发实践

2022-06-23 01:08傅馨竹吴高静彭皓钰诸冬婷
无线互联科技 2022年7期
关键词:图像识别开源百度

傅 骏,傅馨竹,吴高静,彭皓钰,诸冬婷

(1.四川工程职业技术学院 材料工程系,四川 德阳 618000;2.德阳市第五中学,四川 德阳 618000;3.四川工程职业技术学院 经济管理系,四川 德阳 618000)

0 引言

项目组在完成省级大学生创新创业课题“掌心的彝器——助力传统文化”的过程中,调用百度AI 开放功能——图像识别,通过选用Python 语言,探索了其SDK 和API 的使用流程,处理了对素材的要求,并提取了结果及其显示方式(图片或文本),最后采用Tkinter设计了用户交互界面GUI,在标签Label 中显示结果或写入文件[1-2]。

1 使用流程

1.1 获得使用权限

在https://login.bce.baidu.com/ 申请账号并登录,然后在控制台中创建应用,选中全部开源功能,系统将自动生成APPID,API Key 及Secret Key,便获得了各项功能的免费使用权限,可以查看各项功能的使用权限及次数说明。

1.2 通过代码访问

通过“技术文档”选择API 或SDK 的代码,加入APPID,API Key 及Secret Key。根据提示提供图片,部分功能需要图片的Base64 格式,加上print 语句打印结果,提供的结果是列表和字典,编写代码提取需要的信息。

1.3 GUI 界面

采用Tkinter 设计用户交互界面GUI,在标签Label中显示原图片,在另外的标签Label 上显示结果或写入图片。

2 关键技术

百度AI 提供了图像识别的两种开源实现途径功能,分别通过SDK 或API 访问,二者的使用方法各有千秋。使用API 需要先获取令牌,过程稍显复杂,对用户要求较高且在访问的过程中,要保持网络畅通。

2.1 图片素材格式

动物识别、植物识别、菜品识别等可以直接使用图片,如jpg,png 格式等;人脸检测、人脸比对需要提供Base64 格式。将图片转化为Base64 格式的代码为:

2.2 SDK 访问

(1)拷贝“快速入门”和“接口说明”中的代码,一共两段代码输入到Python。

(2) 修改APPID、API Key、Secret Key及图片example.jpg。

(3)将最后1 行client.animalDetect(image)修改为2 行:

2.3 API 访问

按照https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu 的提示获取访问令牌,再按各类识别进入不同的网址,如动物识别的网址为animal、植物识别则为plant。

2.4 结果提取

百度AI 的识别结果,以列表和字典两种类型混合显示。根据用户设置的参数不同,两种类别的识别结果所包含的字段也不同,一般包括name,score 或probability。要注意识别结果score 或probability,有的为字符型,有的为数字型。

2.5 结果写为图片

对图像特效、图像增强,结果还需要再次写成图片。写成jpg 格式的代码是,

2.6 GUI 界面设计

采Python 原生Tkinter 设计用户交互界面GUI。一般将窗体设计为尺寸不可变。在设计时,要随时注重用户体验,提示出错信息,显示结果简介,字体字号清晰。

3 结语

开源人工智能平台能够避免用户接触高深的数学原理,有助于推广人工智能技术的应用。项目组基于百度AI 开放功能——图像识别和EasyDL 平台,选用Python 语言,巧妙地结合开源平台的API 和SDK 功能,进行了二次开发,获得了一系列成果。

猜你喜欢
图像识别开源百度
Robust adaptive UKF based on SVR for inertial based integrated navigation
基于Resnet-50的猫狗图像识别
五毛钱能买多少头牛
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
百度年度热搜榜
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
开源计算机辅助翻译工具研究