200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Python调用百度API进行动植物识别

Python调用百度API进行动植物识别

时间:2024-06-16 22:59:22

相关推荐

Python调用百度API进行动植物识别

Python调用百度API进行动植物识别

1. 作者介绍2. 百度API动植物识别接口介绍2.1 百度API2.2 动植物识别中用到的技术2.2.1 深度学习3. 实验过程3.1 实验环境3.2 数据集3.3 实验步骤3.4 完整实验代码3.5 实验结果与分析4. 参考

1. 作者介绍

何昕,女,西安工程大学电子信息学院,级硕士研究生

研究方向:计算机视觉

电子邮件:979839448@

孟莉苹,女,西安工程大学电子信息学院,级硕士研究生,张宏伟人工智能课题组

研究方向:机器视觉与人工智能

电子邮件:2425613875@

2. 百度API动植物识别接口介绍

2.1 百度API

百度API是百度平台对外开放的一系列应用程序接口。开发人员能够调用API与搜索平台直接交互,基于API开发自己的应用程序。目前百度开放的API涵盖了图像技术、语音技术、文字识别、人脸与人体识别,AR与VR,自然语言处理、知识图谱等接口,并且有些接口是可以免费使用的。

本次实验使用的是百度API中动物识别与植物识别两个接口。

2.2 动植物识别中用到的技术

2.2.1 深度学习

深度学习是目前图像领域非常主流和热门的算法。它是机器学习的一种,区别于传统的浅层学习,深度学习的不同之处在于:

(1) 强调了模型结构的深度;

(2) 明确了特征学习的重要性

目前我们比较熟悉的典型的深度学习算法有卷积神经网络(CNN)、循环神经网络(RNN)、生成对抗网络(GAN)以及深度强化学习(RL)。

这些网络都有非常优秀的学习能力,覆盖范围广,泛化能力强,有着很高的上线,并且还有很好的可移植性。

所以深度学习很适合用来进行图像的特征提取与匹配,这也是为什么目前大部分的图像检测与识别都会使用深度学习网络的原因。

3. 实验过程

3.1 实验环境

Python版本:3.6

IDLE:Pycharm

集成环境:Anaconda3

API:百度动/植物识别API

第三方库:requests库,百度api库

3.2 数据集

因为百度AI开放平台给出的是已经训练好的模型,所以我只用准备测试集,但是目前可找的数据集并不符合我的测试要求,所以我自己准备了一套小的数据集。里面分别有不同种类的动物20张,不同种类的植物20张。

3.3 实验步骤

1.搜索百度AI开放平台,登录账号,点击控制台

2.搜索需要使用的功能

3.进入功能页面后点击立即使用

4.点击创建应用,然后选择需要用到的接口,这里已经选用了图像识别的接口,如果无法使用可以点击下面的免费领取来领取需要的接口资源

5.然后我们就会得到使用这个端口的AppID、API Key 和Secret Key

6.接下里打开配置好环境的pycharm,根据百度AI开放平台提供的教程,获取使用端口的token(该教程在百度AI开放平台的API参考文档中)

#获取access token #encoding:utf-8import requests #client_id 为官网获取的AK, client_secret 为官网获取的SKhost = '/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'response = requests.get(host)if response:print(response.json())

上述代码运行结果如下,这里我们需要的是access token。

7.最后我们便可以来使用这个端口进行动植物识别了。由于这个端口拥有动物识别和植物识别两个功能的token,所以我们可以使用这一个token来进行动物识别和植物识别。

3.4 完整实验代码

这里是动物识别的代码,植物识别类似。

# encoding:utf-8import requestsimport base64#动物识别request_url = "/rest/2.0/image-classify/v1/animal"#二进制方式打开图片文件f = open('图片路径', 'rb')img = base64.b64encode(f.read())params = {"image":img}access_token = '你的access token'request_url = request_url + "?access_token=" + access_tokenheaders = {'content-type': 'application/x-www-form-urlencoded'}response = requests.post(request_url, data=params, headers=headers)if response:print (response.json())

3.5 实验结果与分析

识别相似的动植物时也有比较好的准确率,但是在识别桃花的图片时发生了误判,将其识别为美人梅,可能与我的图片清晰度有关。

4. 参考

百度AI开放平台技术文档

AI知识库:一文看懂深度学习/ https://easyai.tech/ai-definition/deep-learning/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。