综合设计——多源异构数据采集与融合应用综合实践
综合设计 ——多源异构数据采集与融合应用综合实践
这个项目属于哪个课程 | <班级的链接> |
---|---|
组名、项目简介 | 组名:黑马楼:直面爬虫 项目需求:实现宠物具体种类的识别 项目目标:根据用户上传的文本和图片识别具体的宠物种类 项目开展技术路线:html,css,js,flask |
团队成员学号 | 102202113许煊宇,102202103王文豪,102202148路治,102202129林伟宏,102102151黄靖,172209028伊晓,102202102王子聪,102202116李迦勒 |
这个项目的目标 | 根据用户上传的文本和图像,识别图像内容和文本信息,确定具体的宠物种类(例如:贵宾犬,比熊犬等) |
其他参考文献 | 如何使用Python和大模型进行数据分析和文本生成 Python 调用常见大模型 API 全解析 |
项目介绍
名称:福宠
背景:宠物在人们的生活中扮演着越来越重要的角色,对于宠物的准确识别和分类有助于宠物饲养者更好地了解宠物的品种等信息,同时也有利于宠物相关产业的精细化管理。
意义:传统的宠物识别方法主要依赖人工观察和经验判断,效率较低且准确性难以保证。随着大模型技术在图像识别和自然语言处理领域的快速发展,利用计算机视觉和自然语言处理技术实现宠物信息的自动识别和分类成为可能。本项目旨在设计并实现一个综合的宠物信息识别与分类系统,通过整合图像分类和文本分析技术,提高宠物信息识别的准确性和效率。
功能需求:
1.用户上传图片和文本:用户能够上传宠物的照片,并填写相关描述文本(生活习惯,性格特征等)。
2.图像处理与分析:通过调用星火认知大模型(图片理解)识别宠物种类(如狗、猫等)。
3.文本分析与匹配:通过调用星火认知大模型(spark4.0 ultra)分析文本描述,以补充图像分类的结果。
4.比对和分类:将图像和文本信息与本地数据库中的宠物信息进行比对,得出最终的宠物分类。
5.展示结果:将识别的宠物类型呈现给用户。
6.反馈机制:用户可以对分类结果提供反馈,帮助优化系统。
个人分工
调用讯飞星火大模型的图像理解,对图片进行初步的识别
数据收集与预处理
- 收集大量宠物图片数据,确保数据集的多样性和代表性。
- 对图像数据进行预处理,如调整图像大小、归一化处理,以提高模型的训练效果。
模型选择与训练
- 利用讯飞大模型的AI接口进行宠物图像分类模型的训练。
- 优化接口调用参数,提高模型的准确性和鲁棒性。
将图像理解的功能整合到软件中
- API集成:讯飞大模型,通过API将图像识别功能集成到软件中
- 功能测试:确保图像识别功能按预期工作。
- 性能测试:测试软件的性能,包括响应时间和资源消耗。
- 用户测试:进行用户测试,收集反馈并根据反馈进行调整。
部分代码如下
def gen_params(appid, question):
"""
通过appid和用户的提问来生成请参数
"""
data = {
"header": {
"app_id": appid
},
"parameter": {
"chat": {
"domain": "image",
"temperature": 0.5,
"top_k": 4,
"max_tokens": 2028,
"auditing": "default"
}
},
"payload": {
"message": {
"text": question
}
}
}
return data
def main(appid, api_key, api_secret, imageunderstanding_url,question):
wsParam = Ws_Param(appid, api_key, api_secret, imageunderstanding_url)
websocket.enableTrace(False)
wsUrl = wsParam.create_url()
ws = websocket.WebSocketApp(wsUrl, on_message=on_message, on_error=on_error, on_close=on_close, on_open=on_open)
ws.appid = appid
#ws.imagedata = imagedata
ws.question = question
ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})
def getText(role, content):
jsoncon = {}
jsoncon["role"] = role
jsoncon["content"] = content
text.append(jsoncon)
return text
def getlength(text):
length = 0
for content in text:
temp = content["content"]
leng = len(temp)
length += leng
return length
def checklen(text):
#print("text-content-tokens:", getlength(text[1:]))
while (getlength(text[1:])> 8000):
del text[1]
return text
if __name__ == '__main__':
#text.clear
while(1):
Input = input("\n" +"问:")
question = checklen(getText("user",Input))
answer = ""
print("答:",end = "")
main(appid, api_key, api_secret, imageunderstanding_url, question)
getText("assistant", answer)
# print(str(text))
取得成效
在一定程度上能够识别出图像中动物的具体种类或者相似的几种,通过对提供的文本的分析能够进一步得出较为准确的结果。
总结
从需求分析到最终部署,每一步都要求团队成员之间有良好的沟通和协作。
首先,明确的目标和需求分析是项目成功的基石。只有深入了解用户需求,才能设计出真正有价值的功能。这要求我们与用户紧密沟通,不断迭代我们的理解。
其次,技术选型至关重要。选择合适的图像识别技术和框架,可以极大地影响项目的效率和最终结果。这需要我们不断学习最新的技术动态,以确保我们的解决方案是前沿的。
数据的质量和处理方式对模型的性能有着直接的影响。数据预处理和标注工作虽然繁琐,但却是提高模型准确性的关键步骤。
集成阶段,我学到了如何将复杂的技术问题转化为用户友好的功能。这不仅涉及到技术实现,还包括用户体验设计,确保技术成果能够以直观、易用的方式呈现给用户。
测试是确保软件质量的关键环节。通过功能测试、性能测试和用户测试,我们可以发现并修复问题,优化用户体验。
最后,我认识到持续的维护和更新对于保持软件的长期价值至关重要。随着技术的发展和用户需求的变化,我们需要不断地更新我们的模型和软件,以适应新的挑战。
总的来说,这个项目让我更加理解了从理论到实践的转化过程,以及在实际工作中解决问题的重要性。