立项背景与目标
背景: 跨模态检索(Cross-Modal Retrieval)是视觉-语言理解领域的核心任务,包含两类方向:
- I2T(Image-to-Text): 给定一张图片,从候选文本库中检索最匹配的文本描述
- T2I(Text-to-Image): 给定一段文本,从候选图像库中检索最匹配的图片
传统的跨模态检索方法通常依赖大规模标注数据对模型进行微调训练(training-based),计算成本高、周期长,且跨领域泛化能力有
限。本项目探索一种**完全无训练(Training-Free)**的跨模态检索新范式——直接利用多模态大模型(MLLM)的语义理解和推理能力
,结合层次化的上下文嵌入策略,在不进行任何模型微调的情况下,达到甚至超越有训练方法的检索精度。
目标:
1. 构建一个完整的、模块化的无训练跨模态检索流水线
2. 通过多维度图像描述生成和层次化语义嵌入,提升检索召回率
3. 引入 MLLM 重排序(Reranking)机制,在粗排的基础上做精细化语义匹配
4. 在 Flickr30K 和 COCO 2017 等标准数据集上验证方案的有效性
5. 通过一系列消融实验,系统分析各模块对最终性能的影响
软件功能
1. 图像多维度描述生成: 利用VL模型对每张图片从多个语义角度生成描述文本,为后续向量检索提供丰富的语义覆盖
2. 嵌入粗排: 采用自研嵌入策略,将多维度描述编码为高质量向量,计算图文相似度矩阵,输出 R@1/5/10 评估指标,并导出 Top-K 候选集供精排使用
3. MLLM Bidirectional Reranking: 在粗排 Top-K 候选集的基础上,对候选结果进行深度语义重排序,同时支持 I2T 和 T2I 两个方向
4. 自动化实验流水线: 通过 main.py 统一调度三阶段流程,自动进行 GPU 显存管理,支持大规模数据集批量处理
5. 稳定性测试: 对重排序模块进行多次重复推理,统计模型输出的一致性和稳定性
核心功能模块介绍
模块一:Stage1 - 图像描述生成(stage1_captioning.py)
- 功能: 对数据集中的每张图片,利用 Qwen3模型生成四个独立维度的详细描述
模块二:Stage2 - HCE 粗排与评估(stage2_HCE.py)
- 功能: 采用层次化上下文嵌入策略进行图文粗排检索,计算相似度矩阵并评估性能
- 核心类: CaptionRetrievalEvaluatorFast
模块三:Stage3-进行重排序Reranking
核心设计思路:
1. Training-Free 范式:
全程无需模型微调,直接利用预训练模型的语义理解和推理能力。这大幅降低了计算门槛,并使方案具备良好的零样本跨域迁移能力。
2. 多维度视觉语义分解: 传统方法通常只用一个简单描述来表示图片,信息损失严重。本方案用多个不同角度的详细描述来覆盖图片
的多个语义维度,大幅扩充了检索向量的语义信息量。
3. 自研嵌入策略: 不同于简单的"单句编码→单向量"策略,HCE 同时利用了:
- 细粒度层面: 每句独立编码保留细节语义
- 全局层面: 拼接所有描述形成全景视角
4. MLLM 驱动的重排序: 粗排阶段的向量相似度计算速度快但语义理解浅;精排阶段引入多模态大模型,同时输入查询和多个候选,利用模型的深度语义推理能力进行精细排序,显著提升最终准确率。
5. 模块化与可扩展性: 三阶段完全解耦,每个阶段可独立替换模型或调整策略,便于后续迭代优化。