调用豆包API实现图像内容识别
1、作者介绍
张丹丹,女,西安工程大学电子信息学院,2024级研究生
研究方向:滑坡地质灾害监测
电子邮件:1483540189@qq.com
乔幸荣,女,西安工程大学电子信息学院,2024级研究生,张宏伟人工智能课题组
研究方向:模式识别与智能系统
电子邮件:2029518801@qq.com
2、图像内容识别技术
图像识别:是一种计算机视觉技术,使计算机能够通过分析和理解数字图像中的内容来识别和分类对象。以下是图像识别的几个基本概念:
1.特征提取:图像识别的第一步是从图像中提取有意义的特征。特征可以是边缘、纹理、颜等。
2.特征匹配:将提取的特征与预先定义的特征库进行比较,以找到最匹配的对象。
3.分类:通过机器学习算法(如神经网络、支持向量机等)对特征进行分类,从而识别图像中的对象。
3、图像识别的原理
- 预处理
图像预处理是图像识别的基础步骤,旨在提升图像质量,突出重要特征,并为后续的特征提取和分类奠定良好的基础。常见的图像预处理操作包括去噪、灰度化、二值化、滤波和边缘检测等。 - 特征提取
特征提取是从图像中提取能够代表图像内容的关键信息,是实现图像分类和识别的关键步骤。常用的特征提取方法包括SIFT、SURF和HOG等。 - 特征选择
特征选择的目的是从提取的特征中选择最具代表性的特征,以减少计算量和提高识别速度。常用的特征选择方法包括:主成分分析(PCA),线性判别分析(LDA),递归特征消除(RFE)。
4、火山引擎接口配置
1.接口配置
首先访问火山引擎官网:火山引擎
2.创建Api-key
进入之后,在左侧的栏目,找到API Key管理,点击创建API Key,可以看到这是已经生成了一个API Key.
3.进入火山方舟在左侧栏目中找到在线推理,点击创建推理接入点,然后选择对应所需要的大模型数据。此处用的是Doubao-1.5-vision-pro 模型。模型不仅可以处理文字问答,它还可以对图像进行识别和回答相应的问题。
4.进入火山方舟在左侧栏目中找到在线推理,点击创建推理接入点,然后选择我们对应所需要的大模型数据。此处用的是Doubao-1.5-vision-pro 模型。
5、代码实现
1.安装库
pip install volcengine-python-sdk
2.文字问答接口实现
步骤1:导入Ark类用于创建客户端。
步骤2:定义chat_dance函数,函数里创建Ark客户端实例,使用指定模型与服务端交互,发送用户消息 “你好,请问你是豆包 AI 吗”。
步骤3:获取服务端回复并打印第一条回复内容。
步骤4:通过if __name__ =='__main__'
调用chat_dance函数。
from volcenginesdkarkruntime import Ark
def chat_dance():
while True:
str = input()
if str == 'exit':
break
client = Ark(api_key='')
response = client.chat.completions.create(
model="",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": str},
],
}
],
)
print(response.choices[0].message.content)
chat_dance()
if __name__ == '__main__':
chat_dance()
3.图像内容识别
from volcenginesdkarkruntime import Ark
# 初始化 Ark 客户端,直接在代码中使用您的 AK 和 SK
client = Ark(
base_url="https://ark.cn-beijing.volces.com/api/v3",
ak="",
sk=""
)
response = client.chat.completions.create(
model="",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这是哪里?"},
{
"type": "image_url",
"image_url": {
"url": "https://m.qpic.cn/psc?/V11Y2N8h3OXkqt/TmEUgtj9EK6.7V8ajmQrENiiGwGx*4LG5gDPt4Y2BIUm2mXIONOKBxLGmBXbgBVOefQzAPAi7*PvuHGI3AxDpX.SvxO7rGvnSj36ZjYQEic!/b&bo=sAQgA7AEIAMDFzI!&rf=viewer_4"
},
},
],
}
],
)
try:
choice = response.choices[0]
print(f"finish_reason: {choice.finish_reason}")
print(f"moderation_hit_type: {choice.moderation_hit_type}")
print(f"index: {choice.index}")
print(f"logprobs: {choice.logprobs}")
content = choice.message.content
# 设定每行显示的字符数,这里设为50,可按需调整
line_length = 50
while content:
print(content[:line_length])
content = content[line_length:]
except (IndexError, AttributeError):
print("无法正确获取结果或结果格式不符合预期")
结果展示:
1.
2.
3.
6、 问题与分析
1.pip install volcengine-python-sdk无法安装包
报错信息:
报错原因:由于 Windows 系统有最长路径限制,可能会导致安装失败。
解决方法: