Zero-shot Composed Text-Image Retrieval

本文探讨了组合图像检索(CIR)问题,提出了一种基于Transformer的模型TransAgg,利用大规模图像-文本数据自动构建训练集,有效融合多模态信息。实验结果显示,新方法在零样本场景下表现出色,与最先进的模型相比性能相当或更优。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、摘要

        在本文中,我们考虑了组合图像检索 (CIR) 的问题,它旨在训练一个模型,该模型可以融合多模态信息,例如文本和图像,以准确检索与查询匹配的图像,扩展搜索能力。

二、介绍

        最近的研究表明,视觉-语言模型在大规模数据集上联合训练取得了巨大进步,我们提出了组合图像检索(CIR)任务,旨在利用图像和文本信息来检索满足用户需求的目标图像,弥补了传统图像和文本检索的不足(手动构建文本-图像三元组数据集相比于收集文本-图像对通常非常昂贵,需要大量人力)。

贡献:

        (i) 使用可扩展的流程,通过简单地利用大规模的图像-文本配对数据集(例如LAION-5B的一个子集),自动构建用于训练CIR模型的数据集。

        (ii) 引入了一种基于Transformer的自适应聚合模型TransAgg,采用简单而高效的融合机制,能够自适应地将来自不同模态的信息结合起来。

        (iii) 进行了大量的消融研究,以探究提出的数据构建流程的有效性,以及TransAgg中核心组件的有效性。

        (iv) 在公开基准测试中,在零样本情景下评估模型性能(在自动构建的数据集上进行训练,然后直接在目标下游数据集上进行推理(如CIRR和FashionIQ)),我们提出的方法在性能上要么与现有的最先进模型相媲美,要么显著优于其。 

三、相关工作

1. 图像检索

        标准的图像检索包括图像到图像检索和文本到图像检索。现有的图像检索研究主要分为两类:

        一种是使用双塔结构,依赖于特征提取器获取文本或图像特征并使用余弦相似度进行检索

        另一种是通过多模态编码器计算图像-图像或文本-图像对的相似度。然而,这些模型无法有效利用不同模态的互补信息进行细粒度查询。

2. 组合图像检索

        组合图像检索(CIR)考虑根据参考图像和相关说明检索图像问题。针对组合图像检索问题,现有研究主要关注通过融合多模态信息来生成最优的多模态表示,其中包括使用残差和门控模块、利用视觉-语言预训练Transformer以及采用CLIP模型和两阶段训练过程等方法。

四、方法

        在本节中,我们首先在第 3.1 节中制定组合图像检索的问题,然后在第 3.2 节中提供我们提出的架构的详细信息。 在第 3.3 节中,我们描述了为 CIR 任务自动构建训练集的两个想法,即 Laion-CIRTemplate 和 Laion-CIR-LLM

4.1 总体框架

        在组合图像检索问题中,训练数据由三元组(Ir, It, t)组成,其中Ir是参考图像,It是目标图像,t是与参考图像相关的文本描述。目标是训练一个模型,该模型接受参考图像和文本描述作为输入,并生成一个能够检索目标图像的组合查询,该查询可以检索到一个目标图像 It​。

### Docker Compose 使用指南 Docker Compose 是一种用于定义和运行多容器 Docker 应用程序的工具。它允许用户通过 `docker-compose.yml` 文件来配置应用程序的服务、网络和卷等内容,并可以通过单一命令启动或停止整个应用环境。 #### 配置文件结构 以下是典型的 `docker-compose.yml` 文件的基本结构: ```yaml version: '3' # 版本号,指定使用的 Compose 文件版本 services: # 定义服务部分 web: image: nginx:latest # 使用官方 Nginx 镜像 ports: - "8080:80" # 映射主机端口到容器内部端口 volumes: - ./html:/usr/share/nginx/html # 将本地目录挂载到容器内的路径 environment: - NGINX_HOST=example.com # 设置环境变量 networks: - frontend # 连接到名为frontend的自定义网络 networks: # 自定义网络部分 frontend: driver: bridge # 使用桥接模式驱动器 volumes: # 卷部分 (如果需要持久化数据) db_data: ``` 此示例展示了如何设置一个基于 Nginx 的 Web 服务器以及其关联的网络和服务关系[^1]。 #### 常见选项说明 - **build**: 指定构建镜像的位置或者上下文。 - **cgroup_parent**: 设定容器所属 cgroups 组织单元父级名称。 - **container_name**: 手动命名容器而非默认随机生成的名字。 - **devices**: 添加设备映射给容器访问特定硬件资源的能力。 - **tmpfs**: 创建临时文件系统供容器使用而不写入磁盘存储。 - **external_links**: 跨项目链接其他已存在的独立容器实例。 - **links**: 已被废弃功能,在旧版中用来建立服务间依赖连接。 - **network_mode**: 控制网络栈行为比如 host 或者 none 类型。 - **restart**: 容器退出后的重启策略例如 always/no/unless-stopped 等。 - **security_opt**: 提供额外的安全参数调整 SELinux/AppArmor 规则。 - **userns_mode**: 用户命名空间隔离机制设定。 这些字段提供了丰富的灵活性去定制每个单独的服务需求。 #### 启动与管理命令 要启动由 compose 描述的应用场景可以简单执行如下指令: ```bash docker-compose up -d --build ``` 这会以后台守护进程形式拉取最新镜像重新编译必要组件并激活全部所需服务[^2]。 对于已经处于活动状态下的某个具体服务想要进入交互终端查看日志调试问题,则可采用两种方式实现: 1. 利用 docker-compose exec 方法直接定位至目标 service name 下; 2. 如果知道确切 container id/name ,那么可以直接调用通用 docker CLI 实现相同效果。 另外值得注意的是当涉及到敏感信息传递时建议利用 `.env` 文件集中管理变量减少硬编码风险[^4]。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值