【第十二届“泰迪杯”数据挖掘挑战赛】【2024泰迪杯】B题基于多模态特征融合的图像文本检索—解题全流程(持续更新)

news2024/11/25 1:30:05

2024 年(第 12 届)“泰迪杯”数据挖掘挑战赛B题 解题全流程(持续更新)

-----基于多模态特征融合的图像文本检索

一、写在前面:

  1. ​ 本题的全部资料打包为“全家桶”, “全家桶”包含:模型数据、全套代码、训练好的模型权重、结果csv、教程、详细实验过程PPT、教学视频、成品论文(还在写作中,后续跟新至文件中)(赠品)基于正式数据的毕设级项目多模态图文互检系统
  2. 达到“以赛促学”的目的,从0到1,从环境配置开始,到模型构建、数据准备、模型训练、模型recall_TOP1、5、10召回验证、文到图预测、图到文预测、预测结果后处理为result.csv。全流程教学,良心制作
  3. 本题基于Chinese Clip 多模态图文互检模型进行微调模型、知识蒸馏,根据赛题示例数据进行模型训练。
  4. 对比A题B题C题,B题C题偏难,相对选择人少,容易获奖,并且论文非常好写出创新和模型对比优化等核心部分。

二、结果展示:

2.1 任务一 构建图文互检多模态大模型以及评价指标展示:

在这里插入图片描述
在这里插入图片描述

本题模型的验证集就是附件一的全部数据(1k个对图文,分别构成了训练集和验证集),在验证集上的召回验证结果:

在这里插入图片描述

2.2 任务二文到图检索结果展示:

展示问题二 利用附件 2 中“word_test.csv”文件的文本信息, 对附件 2 的 ImageData 文件夹的图像进行图像检索,并罗列检索相似度较高的前五张图像,(预测结果的样例展示:)

在这里插入图片描述

result2.csv:

在这里插入图片描述

在这里插入图片描述

任务三 图到文检索结果展示:

在这里插入图片描述
在这里插入图片描述

result2.csv:

在这里插入图片描述

三、解题流程:

3.1 【样例数据】附件一 1k个图文对 数据分析与预处理

1、查看文本数据,句子长度,根据句子长度与句子的特征进行文本处理:

在这里插入图片描述

针对短文本,可以不用做处理,一般表示的就是这张图片的主体意思,针对长文本,需要使用句子特征(如【】,()、《》)进行提取,再根据命名实体识别、句子“主题式概括”进行罗列该图片的主体意思

再对图id与文本id进行重新id编码

处理结果如下所示:

在这里插入图片描述

2、进行模型构建训练的数据,本着样例数据少,1k个图文对,就不划分训练集和验证集数据了,直接训练集是1k个图文对,验证集也是1k个图文对,分别处理为对应的clip模型数据,jsonl,tsv格式:

在这里插入图片描述

其中tsv数据格式: 不是将图片以大量的小文件方式存放,而是将训练/验证/测试图片以base64形式分别存放在${split}_imgs.tsv文件中。文件每行表示一张图片,包含图片id(int型)与图片base64,以tab隔开,

最后经过序列化代码,对模型数据进行序列化,转换为模型训练的输如数据。进行模型训练

3.2 模型训练

1、根据序列化的训练数据,选择模型合适的预训练权重,进行模型训练,(主要的坑在于该Chinese Clip模型的库文件配置不详、环境配置不详,并且训练的方式只能是分布式,就是一个机子没有分布式,都得填入伪分布式配置,就会导致训练失败),模型的训练环境要求、以及所需库文件版本,在教学视频和教程中有详细描述,并且整理为clipenv_requirements.txt。
在这里插入图片描述

3.3 任务二的结果预测:

1、针对任务二的“文到图检索”,首先需要对附件二的图数据、文本数据(依旧需要处理,如上3.1的文本数据处理。针对长短文本的处理),进行制作为tsv、jsonl格式

2、送入模型,进行特征提取,输出每个图片的特征矩阵、每个文本的特征矩阵数据

3、根据特征数据,进行预测,对每个文本id进行预测近似的5个图片id

4、根据预测结果,将文本id与图片id,根据前期处理的对照表,进行名称配对,使用pands进行表格处理,得到result1.csv

3.4 任务三的结果预测:

1、针对任务二的“图到文检索”,如任务二流程一样,数据准备

2、模型特征提取

3、根据特征数据,进行预测,对每个图片id进行预测近似的5个文本id

4、配对、result2.csv

四、全家桶内容展示

正式数据出来后也会更新全家桶的内容。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

五、tips

在这里插入图片描述

获取全家桶:

“https://afdian.net/item/8cc7f3dae8d111eeb7b05254001e7c00“

历时5天晚上抽空制作,精心打磨,保证物有所值,

后续(时间不定,可能比赛结束后,用时一周时间,全家桶赠品,后续跟新)会基于这个写一个可以做毕设或者课题申请、大创等展示作品,基于streamlit开发展示界面,效果类似于如下:(你完全可以收集一些专业领域的图文对、例如旅游、科研器材等,进行模型训练,然后填入该训练的模型权重,基于你的训练数据,进行图文互检的功能,这不又省了一个毕设了吗2333,创新点就可以是模型迁移、模型知识蒸馏等对比实验提高了一点评价指标。)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1545797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

万亿功能性食品市场爆火,北美膳食健康品牌GNITE如何抓住“朋克养生”年轻人!

近几年,年轻人的养生意识不断提升,“吃出健康”理念盛行,在中国年轻人独有的“懒养生”理念加持下,功能性软糖精准击中年轻人的健康焦虑,助眠、美白、护眼、补铁、减脂……等产品在新消费领域兴起,消费热度…

svn如何合并代码以及解决合并冲突的问题(把分支代码合并到主版本)

1.选择主版本的文件夹。 ​​​​​​​ 2.选择合并一个不同的分支 3.选择主分支的路径和要合并的代码范围 4.点解next 选择这两个选项 5.然后点击Test merge,查看能否和并成功 有红色的提示,说明是有冲突的, 都是黑色说明能够合并成功 …

C语言数据类型——常量

目录 常量(Constant) 宏常量(Macro Constant) const常量​编辑 常量(Constant) 在程序中不能改变其值的量 包括: 整形(如:89,22……) *默认…

【STM32嵌入式系统设计与开发】——11Exit(外部中断应用实验)

这里写目录标题 一、任务描述二、任务实施1、ActiveBeep工程文件夹创建2、函数编辑(1)主函数编辑(2)USART1初始化函数(usart1_init())(3)USART数据发送函数( USART1_Send_Data(&…

人工智能在产业中应用

一、从人工智能说起 (一) 关联关系发现 1. 推荐匹配 在信息爆炸的时代,我们每天都面临着信息的轰炸,无数电影、歌曲、帖子、商品呈现在我们的眼前。海量内容虽然丰富多彩,但同时也让我们感到目不暇接、应接不暇。就在这时,有一…

基于朴素贝叶斯算法和vue分离式架构的新闻数据情感分析可视化

基于朴素贝叶斯算法和vue分离式架构的新闻数据情感分析可视化 作品简介一、技术栈二、功能三、系统展示 作品简介 在本篇博客中,我将带您探索一个基于Python的新闻数据分析项目,其中涉及爬虫、可视化、情感分析等多种技术,并通过整合Django和…

无货源违规又现,现在还能做抖音小店吗?无货源商家该怎么调整?

大家好,我是电商花花。 最近好像又有很多人的店铺被查无货源违规,店铺还被扣12分,也申诉不了。 如果想要长期的做下去,就不要秀那些花里胡哨的操作,也不要为了短暂的自然流量而进行违规操作,为什么你的店…

【解决navicat登录报 insufficient privileges 错误】

今天使用navicat sysdba角色登录报 insufficient privileges 以下是解决方案: 1、使用管理员身份打开cmd登录 sqlplus sys/admin as sysdba2、给system用户授权 grant sysdba to system;登录navicat

【快刊合集】计算机类SCI,IEEE出版社,中科院2/1区TOP,分数逐年攀升!!

本期推荐 【SciencePub学术】本期,小编给大家推荐的是1本计算机类的甄选好刊,该期刊隶属于IEEE出版社旗下,最新的影响因子已达到7,是1本业内认可度非常高的期刊。 01 期刊基本信息 【期刊简介】IF:7.5-8.0&#xff0…

Redis桌面客户端

3.4.Redis桌面客户端 安装完成Redis,我们就可以操作Redis,实现数据的CRUD了。这需要用到Redis客户端,包括: 命令行客户端图形化桌面客户端编程客户端 3.4.1.Redis命令行客户端 Redis安装完成后就自带了命令行客户端&#xff1…

Python学习:循环语句

Python循环语句 概念 循环语句是编程中常用的结构,用于多次执行相同或类似的代码块。Python中有两种主要的循环语句:for循环和while循环。 for循环: for循环用于遍历一个序列(如列表、元组、字符串等)中的元素&#x…

开放式耳机性价比高的品牌有哪些呢?五大高性价比选购清单

不入耳开放式蓝牙耳机近两年开始火起来了,因为它佩戴的舒适性和安全性两方面受到了很多人的关注。开放式的设计,就算不放进耳朵里也能听歌,同时加上它独特的空气传导的传声途径,整体的音质还是很不错的。不压耳,不涨耳…

服务器基础知识(物理服务器云服务器)

今天我们来介绍一下服务器的基础知识 一、服务器硬件基础知识 组件说明中央处理器(CPU)CPU是服务器的大脑,负责执行计算任务和指令。服务器通常配备多个CPU核心,以支持并行处理和提高性能。关键的CPU性能指标包括时钟频率、核心数…

喜获千万元价值补贴,探索 AI 领域新应用:Zilliz 全力支持 AI 初创企业

价值 1000 万元的大额补贴!得到领先全行业的向量数据库团队支持!尽享独家生态资源!「Zilliz AI 初创计划」正式开启! 「Zilliz AI 初创计划」是 Zilliz 面向 AI 初创企业推出的一项扶持计划,预计提供总计 1000 万元的 …

数据容器-dict以及总结-Python

师从黑马程序员 字典的定义 同样使用{},不过存储的元素是以个个的:键值对,如下语法: #定义字典 my_dict1{"王力宏":99,"周杰伦":88,"林俊杰":77} #定义空字典 my_dict2{} my_dict3dict() print(f"字典1…

RoDLA: Benchmarking the Robustness of Document Layout Analysis Models

RoDLA: Benchmarking the Robustness of Document Layout Analysis Models 相关链接:arxiv 关键字:Document Layout Analysis、Robustness Benchmarking、Perturbation Taxonomy、Mean Perturbation Effect、Mean Robustness Degradation 摘要 在现实世…

java反编译luyten使用,以及中文乱码,如何解决

第一步:打开软件,点击file,可以选择.class文件,也可以选择jar包 2.点击save保存.java文件 3.解决中文乱码问题,设置下面两个参数,中文乱码解决 下载地址:https://github.com/deathmarine/Luyten…

MySQL进阶-----索引的结构与分类

目录 前言 一、认识索引 二、索引结构 1.概述 2. 二叉树 3 .B-Tree 4.BTree 5.Hash 三、索引的分类 1 .索引分类 2 .聚集索引&二级索引 前言 索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维…

基于Spring Boot的云上水果超市的设计与实现

摘 要 伴随着我国社会的发展,人民生活质量日益提高。于是对云上水果超市进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套云上水果超市,帮助商家进行…

golang+vue微服务电商系统

golangvue微服务电商系统 文章目录 golangvue微服务电商系统一、项目前置准备二、项目简介三、代码GItee地址 golang、vue redis、mysql、gin、nacos、es、kibana、jwt 一、项目前置准备 环境的搭建 官方go开发工程师参考地址:https://blog.csdn.net/qq23001186/cat…