接入 Qwen2.5-VL,基于显式空间关系图的 VLM 空间推理诊断实验
1. 为什么要做这一阶段?
在前几个阶段中,我们已经完成了 SRG-CD 的基础实验闭环:
第一阶段,我们从 VSR 数据集中筛选空间关系样本,构建 caption-level Spatial Relation Graph,并生成 relation flip、object swap、wrong SRG 等结构化反事实样本。
第二阶段,我们接入 OWL-ViT,对图像中的 subject 和 object 进行开放词汇检测,构建 BBox-SRG。
第三阶段,我们进一步实现 Geometry v2,用几何规则对 left/right、above/below、near/far、inside/outside 等空间关系进行显式诊断。
到这里,SRG-CD 已经不只是一个 caption 数据集,而是具备了三层信息:
caption-level relation bbox-level visual evidence geometry-level diagnostic result但是,真正的问题还没有回答:
视觉语言模型到底能不能稳定理解这些空间关系?更进一步:
VLM 是只会判断一句 caption 看起来像不像对, 还是能够识别空间关系图中的结构性冲突?因此,阶段四的目标就是接入一个真实 VLM,对 SRG-CD 构造出的空间关系样本进行系统诊断。
本阶段选择的模型是:
Qwen2.5-VL-7B-Instruct我们不是简单问模型“这张图是什么”,而是围绕空间关系构造了五类诊断任务:
1. original caption true/false 2. relation_flip caption true/false 3. object_swap caption true/false 4. structured_srg_check 5. wrong_srg_conflict这五个任务分别对应从普通图文一致性,到关系方向反转,再到主体-客体交换,最后到显式空间关系图冲突检测。
这也是 SRG-CD 与普通 VQA / image-caption matching 任务的区别:我们关心的不是模型是否会“描述图像”,而是模型在结构化空间反事实条件下是否可靠。
2. 实验数据:100 条均衡 VLM 评测子集
本阶段没有直接用全部 976 条 BBox-SRG 成功样本,而是先从中筛选了 100 条高质量 VLM 评测子集。
筛选目标包括:
1. BBox-SRG 构建成功; 2. 覆盖 horizontal / vertical / distance / containment 四类关系; 3. 同时包含 label=True 和 label=False; 4. 同时包含 Geometry v2 diagnostic_correct=True 和 False; 5. 尽量保持关系类型、标签和诊断结果的均衡。最终子集分布如下:
Total selected: 100 horizontal : 25 vertical : 25 distance : 25 containment : 25 label=True : 48 label=False : 52 Geometry v2 correct : 51 Geometry v2 incorrect : 49这个分布非常适合做诊断实验,因为它避免了模型只在某一类关系上表现好,或者数据本身被某一类标签主导。
换句话说,这个 100 条子集不是为了追求“大”,而是为了追求“结构均衡”和“诊断有效”。
3. 五类诊断任务设计
3.1 Original caption 判断
第一类任务是最接近传统图文一致性判断的任务。
给定图像和原始 caption,例如:
The bed is right of the potted plant.我们询问模型:
Does the image support this statement?这类任务用于测试 VLM 是否能判断图像是否支持原始空间关系描述。
它是最基础的一层能力。
3.2 Relation flip 反事实
第二类任务是 relation flip。
例如原始关系是:
bed right of potted plantrelation flip 后变成:
bed left of potted plant它考察的是模型是否对空间关系方向敏感。
如果模型真的理解 left/right、above/below 等空间关系,那么 relation flip 后的判断应该发生变化。
3.3 Object swap 反事实
第三类任务是 object swap。
例如:
The bed is right of the potted plant.进行 object swap 后,可能变成:
The potted plant is left of the bed.这个任务比 relation flip 更难。
因为它不只是判断方向,还需要同时处理:
subject identity object identity relation direction role reversal这类任务主要暴露 VLM 的 object-role binding 问题,也就是模型是否真的把“谁在谁的哪边”绑定清楚了。
3.4 Structured SRG check
第四类任务不再只输入自然语言 caption,而是显式输入结构化关系:
Subject: bed Relation: right of Object: potted plant然后询问模型这个结构化空间关系是否被图像支持。
这个任务用于测试:
VLM 是否能稳定理解显式 Spatial Relation Graph 表达。如果模型只能处理自然语言,但不能处理结构化图关系,那么它在这个任务上就会下降。
3.5 Wrong SRG conflict
第五类任务是本阶段最关键的诊断项。
我们给模型一个 caption relation 和一个 deliberately wrong SRG relation,然后问:
Does the proposed graph relation conflict with the caption relation?例如:
Caption relation: The bed is right of the potted plant. Proposed graph relation: The bed is left of the potted plant.模型需要判断这两个关系是否冲突。
这个任务不只是视觉判断,而是结构一致性判断。它要求模型理解:
caption relation graph relation relation conflict因此,wrong_srg_conflict 是最能体现 SRG-CD 价值的任务。
4. 实验设置
本阶段使用的模型是:
Qwen2.5-VL-7B-Instruct运行环境为:
AutoDL RTX 4090 conda env: gdino torch: 2.5.1 + cu121 transformers: 4.51.3 model source: ModelScope local snapshot模型推理输出被约束为 JSON 格式:
{"answer": "yes" or "no", "reason": "one short sentence"}这样做有两个好处:
第一,便于自动解析。
第二,能够保留模型的一句简短理由,方便后续做错误案例分析。
最终在 100 条样本上,五个任务全部完成,解析率均为 100%。
5. Dataset-label evaluation:以数据集标签为评价标准
第一套评价使用的是原始 VSR label 和 counterfactual expected_label。
这套评价回答的问题是:
Qwen2.5-VL 是否复现了数据集给出的标签?结果如下:
original accuracy = 81.00% relation_flip accuracy = 58.00% object_swap accuracy = 52.00% structured_srg_check accuracy = 67.00% wrong_srg_conflict accuracy = 51.00% parse_rate = 100.00%从这个结果可以看到,Qwen2.5-VL 在 original caption 判断上表现较好,准确率达到 81%。
但是一旦进入结构化反事实任务,性能明显下降:
relation_flip 下降到 58% object_swap 下降到 52% wrong_srg_conflict 只有 51%这说明模型虽然能够较好地完成普通 caption 判断,但在空间关系反事实和结构冲突判断上并不稳定。
尤其是 wrong_srg_conflict 接近随机水平,说明模型并不能可靠识别“错误空间关系图”和 caption 之间的冲突。
6. 按关系类型分析:distance 和 containment 是弱点
进一步按关系类型分析,可以看到不同空间关系族之间差异非常明显。
在 dataset-label evaluation 下,各关系类型的 wrong_srg_conflict accuracy 是:
horizontal : 76.00% vertical : 84.00% containment : 36.00% distance : 8.00%这个结果非常关键。
它说明 Qwen2.5-VL 对 horizontal / vertical 这类方向性关系相对敏感,尤其是 left/right、above/below 这类关系比较容易被模型处理。
但是对于 distance 关系,例如:
near far from next to模型几乎无法可靠识别结构冲突。
distance 的 wrong_srg_conflict 只有 8%,这接近完全失效。
containment 关系也不稳定,只有 36%。
因此可以得到一个重要结论:
VLM 对方向性空间关系的结构冲突判断较强, 但对距离关系和包含关系的结构冲突判断明显较弱。这也说明,如果只报告总体准确率,会掩盖不同关系类型之间的巨大差异。
SRG-CD 的价值之一,就是能够把这种差异拆出来。
7. Geometry-label evaluation:以 BBox-SRG / Geometry v2 为视觉真值
在分析错误案例时,我们发现了一个更重要的问题:
数据集标签、图像几何证据、VLM 回答并不总是一致。例如某个样本中,原始 caption 是:
The bed is right of the potted plant.数据集 label 是 False。
但是 Qwen2.5-VL 回答 yes,并给出理由:
The bunk beds are positioned to the right of the potted plant.也就是说,从模型视觉判断角度看,它认为图像确实支持这句话。
这就带来一个问题:
如果数据集标签和显式几何证据冲突,那么模型回答和谁一致才算对?因此,我们又做了第二套评价:Geometry-label evaluation。
这套评价不再直接使用 VSR 原始 label,而是根据 BBox-SRG / Geometry v2 重新计算视觉标签。
它回答的问题是:
Qwen2.5-VL 是否符合显式几何证据?重算后的结果如下:
original accuracy = 60.00% relation_flip accuracy = 71.00% object_swap accuracy = 54.00% structured_srg_check accuracy = 50.00% wrong_srg_conflict accuracy = 51.00% parse_rate = 100.00%这套结果和 dataset-label evaluation 明显不同。
其中最明显的是:
original 从 81% 降到 60% relation_flip 从 58% 升到 71%这说明:模型并不是简单地“复现数据集标签”,而是更接近某种视觉判断;但这种视觉判断和我们的显式几何规则也并不完全一致。
这正是 SRG-CD 发现的关键问题:
VLM response、dataset label、geometry evidence 三者之间存在系统性不一致。8. Geometry v2 正确与否会显著影响 VLM 评测解释
进一步把样本按照 Geometry v2 是否诊断正确分组,可以看到差异非常明显。
在 visual-label evaluation 中:
Geometry correct=True: original 86.27% relation_flip 76.47% object_swap 58.82% structured_srg_check 68.63% wrong_srg_conflict 52.94% Geometry correct=False: original 32.65% relation_flip 65.31% object_swap 48.98% structured_srg_check 30.61% wrong_srg_conflict 48.98%这个结果说明:
当 Geometry v2 本身判断稳定时,Qwen2.5-VL 的 original 和 structured_srg_check 表现也明显更好。
但是当 Geometry v2 与样本标签或视觉证据不一致时,模型表现会显著下降。
这说明我们不能只问:
VLM 答对了吗?而应该进一步问:
VLM 的回答和 dataset label 一致吗? VLM 的回答和 bbox geometry 一致吗? dataset label 和 bbox geometry 本身一致吗?这三个问题不能混为一谈。
SRG-CD 的核心意义,就是把这三者拆开分析。
9. Relation flip 与 Object swap 的差异
在 visual-label evaluation 下:
relation_flip accuracy = 71.00% object_swap accuracy = 54.00%这个差异说明,Qwen2.5-VL 对 relation flip 的处理明显好于 object swap。
这符合直觉。
relation flip 主要考察关系方向变化,例如:
left of <-> right of above <-> below inside <-> outside模型只需要判断关系方向是否改变。
而 object swap 需要模型同时绑定 subject 和 object:
A left of B和:
B right of A在语义上可能等价,但模型必须正确处理角色交换和关系反转。
这更容易暴露 object-role binding 的问题。
因此,object_swap 接近随机水平并不是偶然现象,它说明 VLM 在空间关系中的主体-客体绑定仍然不稳定。
10. Wrong SRG conflict 是最强诊断项
无论使用 dataset-label 还是 visual-label,wrong_srg_conflict 的准确率都是:
51.00%这几乎就是随机水平。
这说明 Qwen2.5-VL 并不擅长判断:
一个显式空间关系图是否与 caption 发生结构冲突。尤其是在 distance 和 containment 关系上,模型表现更差。
这也给 SRG-CD 提供了非常强的研究动机:
传统 caption 判断不能充分暴露 VLM 的空间推理缺陷; 显式 SRG conflict diagnosis 能更细粒度地发现模型的不可靠性。换句话说,模型可能会判断一句话“看起来对”,但它不一定能判断一个结构化空间关系图和这句话是否逻辑冲突。
这正是我们想诊断的能力缺口。
11. 错误案例分析:模型有时答错,也有时“数据集标签错”
错误案例中有一类非常值得关注。
例如:
Caption: The bed is right of the potted plant. Dataset label: False Qwen answer: yes Qwen reason: The bunk beds are positioned to the right of the potted plant.从 dataset-label evaluation 看,Qwen 是错的。
但从模型理由和 BBox-SRG 几何关系看,它可能并没有错。
这说明有些样本的原始 label 与图像几何证据之间可能存在冲突。
这类案例非常重要,因为它说明 SRG-CD 不只是一个 VLM 评测工具,也可以作为数据集诊断工具:
检测 dataset label、caption relation、bbox geometry 是否一致。因此,本阶段的实验发现可以概括为:
SRG-CD 不仅能发现 VLM 的空间推理错误, 还可以发现 benchmark label 与视觉几何证据之间的不一致。这使得项目从“模型评测”进一步扩展到了“数据-模型联合诊断”。
12. 阶段四核心结论
本阶段实验可以总结为五点。
第一,Qwen2.5-VL 在普通 original caption 判断上表现较强,dataset-label accuracy 达到 81%。
第二,一旦进入结构化反事实诊断,模型性能显著下降。relation_flip、object_swap、wrong_srg_conflict 分别只有 58%、52%、51%。
第三,object_swap 比 relation_flip 更难,说明主体-客体角色绑定是 VLM 空间推理中的重要弱点。
第四,wrong_srg_conflict 接近随机水平,说明模型很难可靠判断显式空间关系图和 caption 之间是否存在结构冲突。
第五,dataset label、geometry evidence 和 VLM response 之间存在系统性不一致。使用 Geometry-label 重新评价后,original、relation_flip 等任务的结果发生明显变化,说明传统单一标签评价不足以解释 VLM 的空间推理行为。
最终可以得到阶段四的核心结论:
Qwen2.5-VL 可以较好完成普通图文一致性判断, 但在显式空间关系图冲突检测和结构化反事实诊断上仍然不稳定。 SRG-CD 通过引入 BBox-SRG、Geometry v2 和 counterfactual diagnosis, 能够比传统 caption-level evaluation 更细粒度地揭示 VLM 的空间推理可靠性问题。13. 当前项目进度
截至阶段四,SRG-CD 已经完成了一个较完整的研究闭环:
Stage 1: Caption-level SRG-Bench v0.1 Stage 2: BBox-SRG construction with OWL-ViT Stage 3: Geometry v2 spatial relation diagnosis Stage 4: Qwen2.5-VL structured counterfactual diagnosis目前已经得到的核心输出包括:
data/srg_bench_v01/vlm_eval_subset_100.jsonl results/vlm/qwen_vl_eval_subset_100.jsonl results/tables/qwen_vl_eval_summary.csv results/tables/qwen_vl_eval_group_metrics.csv results/tables/qwen_vl_eval_geometry_metrics.csv results/tables/qwen_vl_eval_error_cases.csv results/tables/qwen_vl_eval_visual_summary.csv results/tables/qwen_vl_eval_visual_group_metrics.csv results/tables/qwen_vl_eval_visual_geometry_metrics.csv results/tables/qwen_vl_eval_visual_error_cases.csv这些结果说明,SRG-CD 已经具备了:
数据构建 显式关系图建模 几何诊断 VLM 推理评测 反事实分析 错误案例导出六个核心能力。
14. 下一步计划
下一阶段可以继续做三件事。
第一,增加更多 VLM 对比实验。例如:
Qwen2.5-VL-3B InternVL LLaVA GPT-4o / GPT-4.1 vision这样可以比较不同模型在 SRG-CD 上的空间推理可靠性。
第二,改进 wrong_srg_conflict prompt。目前模型在这个任务上接近随机,后续可以比较:
caption-only conflict prompt SRG-text prompt JSON graph prompt step-by-step relation comparison prompt从而判断模型到底是不会空间推理,还是不适应当前 prompt 格式。
第三,进一步清洗 dataset-label 与 geometry-label 不一致的样本,构建一个更可靠的 SRG-Bench v0.2。
尤其是那些:
dataset label = False bbox geometry supports caption VLM also says yes的样本,可能需要人工复核。
15. 总结
阶段四是 SRG-CD 项目中非常关键的一步。
在这一阶段中,我们不再停留在“构建空间关系图”,而是把显式 SRG 真正用于 VLM 空间推理诊断。
实验结果表明,Qwen2.5-VL 在普通 caption 判断上具有较强能力,但在 relation flip、object swap 和 wrong SRG conflict 这些结构化反事实任务上明显不稳定。
更重要的是,实验揭示了一个比单纯模型错误更深的问题:
dataset label、geometry evidence、VLM response 三者之间并不总是一致。这说明 VLM 空间推理可靠性研究不能只依赖传统标签准确率,而需要显式建模空间关系结构,并结合几何证据和反事实诊断进行分析。
这也是 SRG-CD 的核心思想:
用显式空间关系图,把 VLM 的空间推理错误从“答错了”拆解为: 关系方向错误、 主体客体绑定错误、 结构图冲突识别失败、 数据标签与视觉几何不一致。相比普通图文一致性评测,SRG-CD 提供了一种更结构化、更可解释、更适合研究 VLM 空间推理可靠性的诊断框架。
