当前位置: 首页 > web >正文

VGVLP思路探索和讨论

OVD 与查询文本的动态交互

动机

在候选框产生阶段,是先根据 NLP 工具从表达式中提取一个“类别词”(如“狗”“桌子”),再调用 OVD(如 Detic)检测对应类别的所有框;而后续的 GradCAM 热图仅作为二次打分参考。这种“先提取类别,再检测类别,再融合热图” 的流程,潜在存在两方面不足:

  1. 类别提取不精确:单一的名词抽取会丢失表达式中的关键信息(如外观、上下文、数量、位置等),导致 OVD 产生大量噪声框,甚至漏检真实目标。
  2. OVD 与文本语义脱节:OVD 只关心类别标签,无法感知表达式中的限定词或修饰词(如“红色的”“在左边的”“穿着白衬衫的”等),因此无法动态调整 proposal 生成策略。

如果能让 OVD 的候选框生成也“感知”到更丰富的文本信息(不仅仅是类别),就有可能:

  • 更精确地生成“语义对齐度更高”的初始候选框;
  • 降低后续热图融合阶段需要过滤的冗余候选框数目;
  • 整体减少两阶段筛选所带来的误差累积。

思路

在 OVD(如 Detic、OWL-ViT 等开放词汇检测器)的输入阶段,引入一条“文本条件分支”,使得 OVD 在生成物体候选框时同时参考查询文本的整体语义——包括类别、属性、空间关系等。这可以从以下两个角度入手实现:

  1. 文本嵌入引导的特征调制

    • 将查询文本(整个表达式)输入文本编码器(可共享 CLIP 文本分支或 VLP 自身的文本编码器),得到一个全局文本特征向量 t∈Rd\mathbf{t}\in\mathbb{R}^dtRd

    • 在 OVD 的骨干网络某些关键层(如特征金字塔网络 FPN、或检测头),使用 t\mathbf{t}t 对卷积特征图 F∈RC×H×W\mathbf{F}\in\mathbb{R}^{C\times H\times W}FRC×H×W 做条件调制(conditional modulation)。

      • 例如,将 t\mathbf{t}t 映射为通道注意力权重 a∈RC\mathbf{a}\in\mathbb{R}^CaRC,然后做逐通道乘法:F~c=ac⋅Fc\widetilde{\mathbf{F}}_c = a_c \cdot \mathbf{F}_cFc=acFc
      • 或者将 t\mathbf{t}t 与特征图做多头自注意力(cross-attention),让文本语义直接对图像特征进行加权,以强化最有可能对应表达式的区域响应。
    • 这样,OVD 在生成 region proposals(候选框)时,特征图已经被文本“指导”,更倾向于检测与表达式整体语义匹配度高的区域。

  2. 候选类别动态筛选与排序

    • 与原来只提取一个类别不同,先将查询整体通过依存句法/命名实体识别等 NLP 模型,提取多个“潜在实体词”与“修饰词组合”:例如,“穿着红色衬衫的男人”可拆分为 {“男人”,属性:“红色衬衫”};“左侧两只黑猫”拆分为 {“猫”,属性:“黑色”“左侧”“数量=2”}。
    • 使用 CLIP 或 VLP 文本 encoder,将每个“候选实体 + 修饰词”合并为一句提示语(prompt),如 “a photo of a man wearing red shirt” / “two black cats on the left”。对 OVD 的类别词汇表(COCO/Detic 等)做转译映射后,分别计算提示语与类别嵌入的相似度,选出 TopK 个最相关类别作为检测类别。
    • OVD 不再只接受单一类别(如“man”),而是利用 TopK 候选词、修饰词和空间提示,一次性生成多个语义条件下的候选框,然后在后续阶段聚合这些候选框。
  • OVD 可插入文本条件分支:目前 Detic、OWL-ViT、GLIP 等开放词汇检测器在训练或推理阶段,都有一个文本嵌入→图像特征查询的过程(通常是把类别标签拼成 “a photo of {label}”),并通过 CLIP 或自有融合模块,计算文本-视觉相似度对 RoI 进行分类。只需把这一步由单一的“标签文本”替换为“完整表达式文本”或“多种 Prompt 文本”,并让模型在特征层面(CNN feature 或 transformer patch feature)加入文本引导,就可以做到“根据完整查询动态调整检测结果”。

  • 无需全新训练大规模数据:如果已有的 OVD 已经包含“文本→候选框”模块,我们只需把它当作可微调(或者在推理时引入额外逐层特征融合)模块,添加几层轻量化的跨模态 attention 即可。例如,在 FPN 上向每个位置注入文本语义的通道注意力权重;或者在 RPN 阶段,对 anchors 做文本注意力加权。这些改动并不需要重新从零训练整个检测器,只需在包含少量(甚至零样本)图文对上做轻微微调或直接推理即可。

使用可学习的融合模块进行微调

动机

在候选框与热图融合阶段采用简单的加权打分公式

gk  =  1Akα  ×  sk  ×  rk g_k \;=\; \frac{1}{A_k^\alpha} \; \times \; s_k \; \times \; r_k gk=Akα1×sk×rk

其中:

  • AkA_kAk:表示第 kkk 个候选框的面积,用来“抑制过大框”偏好;
  • sks_ksk:表示 OVD 对该框的置信度;
  • rkr_krk:表示 GradCAM 热图在该框区域的总热度。

这种方法虽然直观,但存在手动超参调节线性耦合的局限:

  1. 权重共享与线性假设:公式里认为 sks_kskrkr_krk 乘积即可最优组合,没有考虑它们之间可能存在复杂的“非线性关联”,也未考虑“文本与候选框语义对齐度”这一路径;
  2. 超参数敏感α\alphaα、候选框置信度阈值 θ\thetaθ 都是手动调节,适用于一个数据集/模型组合,但面对不同语言现象、图像场景会失灵;
  3. 违背零样本极限:如果想要更智能,需要引入可微调模块,违背“完全不使用任何视觉定位标注”零样本设定。但若放宽到“小规模微调”,又能兼顾更强性能。

因此,引入可学习的融合模块,让系统能够在“少量标注数据”上微调比手动公式更鲁棒。

思路

可学习融合结构设计
  1. 输入特征设计
    对于每个候选框 kkk,构建一个多模态特征向量 xk\mathbf{x}_kxk,包含至少以下几部分:

    • 热图分布特征 rkr_krk:可以是框内热图之和,也可以细化为多尺度的统计直方图(如热区分布、均值、方差等);
    • OD 置信度向量 sks_ksk:不仅仅是一个 scalar,还可包含 “类别 embedding ck∈Rd\mathbf{c}_k \in \mathbb R^dckRd + 置信度值” 两部分;
    • 框几何信息xk1,yk1,xk2,yk2,areakimage area{x_{k1}, y_{k1}, x_{k2}, y_{k2}, \frac{\text{area}_k}{\text{image area}}}xk1,yk1,xk2,yk2,image areaareak,以便网络感知框大小、位置、长宽比;
    • 语义对齐分 ϕk\phi_kϕk:通过 CLIP 或 VLP 将候选框的“裁剪图像 Patch” 与查询表达式文本做一次类似 dot-product 相似度计算,得到此框与表达式在语义空间的相似度。

    这样,x∗k∈RD∗feat\mathbf{x}*k \in \mathbb R^{D*{\text{feat}}}xkRDfeat 可全面反映 “热度 + 置信度 + 几何 + 语义” 4 条信号。

  2. 融合网络结构
    可设计为一个轻量的 Multi-Layer Perceptron(MLP)或小型 Transformer 层,输出一个 得分映射 gklearnedg_k^{\text{learned}}gklearned,再选分数最高的框作为最后预测。

    • MLP 方案示例

      hk=ReLU(W1xk+b1)gklearned=W2hk+b2\begin{aligned}\mathbf{h}_k &= \text{ReLU}(\mathbf{W}_1 \mathbf{x}_k + \mathbf{b}_1) \\g_k^{\text{learned}} &= \mathbf{W}_2 \mathbf{h}_k + b_2\end{aligned} hkgklearned=ReLU(W1xk+b1)=W2hk+b2

      其中 W∗1∈RH×D∗feat,,W2∈R1×H\mathbf{W}*1 \in \mathbb R^{H\times D*{\text{feat}}},,\mathbf{W}_2\in\mathbb R^{1\times H}W1RH×Dfeat,,W2R1×HHHH 为隐藏维度(如 256 或 512)

    • 小型 Transformer 方案:将一张图片所有 x∗k∗k=1N{ \mathbf{x}*k }*{k=1}^Nxkk=1N 视为一个序列,输入 LLL 层 Multi-Head Self-Attention + MLP 预测,每个框最终得到一个得分。通过 查询-候选框交叉注意力,可让得分网络自己学习“哪些候选框之间需要互相抑制”或“组合决策”——更强鲁棒性。

  3. 微调策略

    • 冻结 VLP 与 OVD:仅微调融合网络(MLP 或 Transformer),大幅度减少参数量(<2< 2<2M)。
    • 损失函数:使用标准的定位回归交叉熵(对每张图像,仅给出一个 GT 框,train 时令 GT 框对应的候选框 label=1,其余 label=0),再做二分类 softmax 或直接回归边框偏差也可;如果已有若干定位标注,可扩展做交叉熵+IoU 约束。
    • 训练数据:可用 RefCOCO/+ 的 train split 上的“图-表达-框”三元组,几千到万级样本即可能使得融合网络收敛。

基于 DETR/MDETR 的“一步到位”视觉定位

目前最接近“单阶段视觉-语言定位”的公共方案是 MDETR(Modulated Detection for End-to-End Multi-Modal Understanding,图文定位 Transformer)。它在 DETR(DEtection TRansformer)基础上引入“文本查询”做多模态融合,直接输出一个或多个对应给定文本表达式的边界框。因此,我们可以借鉴 MDETR,将 GroundVLP 改造为:

给定一张图片 + 一个查询表达式(Referring Expression),Transformer 网络直接预测一个边界框,无需先调用 Open-Vocabulary Detector

MDETR 的大致工作流程
  • 图像特征提取:使用 CNN(如 ResNet)或 Vision Transformer,将图片划分成若干 patch / grid,提取一系列视觉 tokens vii=1N{v_i}_{i=1}^Nvii=1N
  • 文本特征提取:使用文本 Encoder(如 BERT、RoBERTa 或 CLIP 的 Text Encoder),将查询表达式编码为文本 tokens tjj=1M{t_j}_{j=1}^Mtjj=1M
  • 多模态交叉注意力:将 vi{v_i}vitj{t_j}tj 同时送入一个多层“多模态 Transformer”中,网络通过跨模注意力(Cross-Attention)让视觉与文本特征充分交互
  • 检测头(Decoder Queries):与 DETR 类似,引入一组固定数目的“查询向量”(Detection Queries),每个查询向量都做跨模注意力,最终映射成一组输出向量;这些向量经头部网络回归出“边界框坐标 + 文本匹配置信度”
  • 匹配与损失:通过 Hungarian Matching,将预测出的若干框与 GT 文本-框 对一一匹配,优化包含“文本-图像对齐”和“框回归”在内的多任务损失

对于零样本场景,只需把“训练阶段”改为 纯 ITM(Image-Text Matching)+检测数据 预训练,而在推理阶段不需要 GT 定位标注,也能给出“文本+图片→定位框”结果。GroundVLP 本质也是在利用 预训练的图文一致性预训练的检测能力。MDETR 则给出了一个“端到端双模态 DETR 架构”的实现路径。

Loss 设计

  • 因为 MDETR 本身需要“文本-框”对齐做监督,此处也可借鉴:

    1. Box Regression Loss:让网络把与文本最匹配的槽位预测到 GT 框。(需要在训练时给定“GT表述-GT框”)
    2. Text-Object Matching Loss:对每个预测槽位,网络还要给出一个“置信度”,表示该槽位与 GT 文本匹配的概率;
    3. Negative Slot 监督:其它与文本不匹配的 Slot 贴标签 0。
  • 如果想“真零样本”:可预先在大规模无需标注“文本→框”对应关系的数据(如 COCO Captions + COCO 检测)做混合预训练,让模型先学到“图文+检测”能力;推理时直接给出定位。

  • 视觉 Backbone:可以选用 ResNet-50 + FPN(如 DETR),或者 ViT(如 Deformable DETR)。

  • 文本 Encoder:可以优先使用 CLIP 的 Text Encoder,以便与 CLIP 中已有的“文本-视觉相似度”统一;若想更深入融合,也可直接用 BERT / RoBERTa,然后再做一次嵌入对齐。

  • 多模态 Encoder:借鉴 MDETR,至少要有 L=6 层 Transformer,其中每层包含:

    1. 对视觉特征做 Self-Attn;
    2. 对文本特征做 Self-Attn;
    3. 文本与视觉之间的 Cross-Attn(即 Visual Query 关注 Text Key/Value,或 Text Query 关注 Visual Key/Value);
    4. FFN + 归一化层。
  • Detection Decoder:如 DETR 的 Decoder,直接进行 N=100 个 Query→Attention→FFN→回归。

  • 输出 Head:每个 Decoder Slot 输出一个(x,y,w,h)(x,y,w,h)(x,y,w,h) + “Text-Match Score”(s)(s)(s),再做 Softmax 交叉熵判断哪个 Slot 与文本最匹配。

训练与微调策略

预训练
  • 预训练数据

    • Image-Text Matching (ITM):使用 COCO Captions、Flickr30k Captions、LAION400M 等大规模无检测标注的图文对;网络学习“给定图像+文本,是否匹配”任务。
    • Open-Vocabulary 检测数据:COCO Detection、Visual Genome Detection、LVIS 等含有检测标注但不含“指代表达式-框对”,允许网络学习“视觉特征→边框回归”能力。
  • 联合预训练任务

    1. ITM Loss:给网络一对“图像+文本”,期望预测出匹配/不匹配。
    2. Detection Loss:随机在图像中选取类别标签(如 COCO 类别),将“类别文本”送入文本分支,网络需要输出对应的框集合。也可直接用 COCO 标注“将图像→检测框”当作 DETR 训练。
    3. 跨模对齐增强:在预训练阶段,让文本和视觉在交叉注意力中互相模仿(Contrastive Loss),提升多模态对齐能力。

这样,模型学会了:

  • “给图 + 文本(任意自然语言描述),先学习能否匹配”;
  • “给图 + 单一类别名称 → 预测框”;
  • 这两者结合后,模型大概能做到“给图 + 表达式 → 回归出最可能匹配的一个或若干框”。
在下游定位数据上做弱微调(Weakly Supervised Fine-tuning)
  • 数据:RefCOCO/RefCOCO+(约 20 万表达式-框对),Flickr30k Entities(约 30 万实体短语与对应框)。

  • 微调任务

    1. Referring Expression Comprehension (REC):给“图+完整表达式”,让模型在 N 个 Decoder Slot 中,将与表达式匹配的 Slot 回归到 GT 框;损失同 DETR:Box L1 + GIoU + Text-Match CE。
    2. Phrase Grounding(可选):需要把一句话中多个短语分别定位到多个框。可以在 Decoder 最后一层,把每个 Entity Phrase 分配给一个 Query Slot → 回归;或先把整句拆成多个“图+Phrase”对,一次训练一个 Phrase。
  • 冻参策略:冻结视觉 Backbone 与文本 Encoder(如 CLIP Text),仅微调多模态 Encoder 与 Decoder、输出 Head

为什么要加关系推理/场景图

  1. 多对象交互
    在一句描述里,如果涉及到“人给狗喂食”“杯子放在桌子上”“猫躲在沙发后面”等关系,只靠 GradCAM 热图往往只关注“最显著的单体词”,而对“谁在做什么”这一动态或相对位置关系抓得不够,只能算出“这张图里有一个人、一个狗、一个桌子”,却很难知道“哪只狗正被哪个人在喂”。
  2. 遮挡与上下文补全
    当目标被部分遮挡时,单纯的热图常常分布在可见部分,OVD 也可能因遮挡而漏掉目标。此时,如果能“知道”语境里其他对象、彼此关系和场景布局——例如“狗在沙发后面”“椅子上放着一只手套”,就能用上下文填补遮挡信息,对定位打分更加稳健。

因此,引入一个场景图(Scene Graph)或者关系推理(Relational Reasoning)模块,让系统在选框阶段或打分阶段,多考虑“候选盒子之间的语义关系是否和句中描述吻合”,就能在复杂交互、遮挡环境下大幅提高定位精度。

流水线概览
  1. 文本解析(Structured Query Extraction)

    • 对输入的“指代表达式” QQQ(例如 “wearing a red hat next to a sitting dog”)先做依存句法及语义角色标注,抽取出若干三元组 (主体,  关系,  客体)(\text{主体},\;\text{关系},\;\text{客体})(主体,关系,客体)

    • 例如从“a man holding a red ball next to a sitting dog” 可以得到两条主谓宾:

      1. (man,  holding,  ball)(\text{man},\;\text{holding},\;\text{ball})(man,holding,ball)
      2. (dog,  sitting,  —)(\text{dog},\;\text{sitting},\;\text{—})(dog,sitting,) 或者 KaTeX parse error: Expected 'EOF', got '_' at position 26: …l},\;\text{next_̲to},\;\text{dog…——具体提取策略可参考 off‐the‐shelf NLP 库(如 SpaCy + SRL)。
  2. 生成 OVD 候选框

    • 先用 NLP 抽出的“核心名词”(man、ball、dog)分别触发 Detic,得到 {boxk}k=1N\{\text{box}_k\}_{k=1}^N{boxk}k=1N,附带原始置信度 sks_ksk
    • 同时为每个候选框 kkk 记录它的“类别标签” c^k\hat{c}_kc^k,例如某框被判定为“dog”或“ball”或“person”。
  3. 场景图生成(Scene Graph Generation)

    • 采用一个预训练的开源场景图检测模型(如 Neural‐Motifs、Graph R‐CNN、或基于 Transformer 的 SGG 模型)直接在图像上预测出一张 Scene Graph。
    • 这个 SGG 模块的输出包含一系列节点(image regions 对应的实体,如 “person: box_a”、“dog: box_b”、“ball: box_c”……)以及节点之间的(关系 Triplet,比如 (boxa,holding,boxc)(\text{box}_a, \text{holding}, \text{box}_c)(boxa,holding,boxc)KaTeX parse error: Expected 'EOF', got '_' at position 26: …}_c, \text{next_̲to}, \text{box}…)。
    • 整个 SGG 模型在训练时只用 Visual Genome、COCO VG、Open‐Images 等公开的关系标注数据微调好,在下游仍保持“零标注”状态——届时直接加载预训练权重,不再触碰 RefCOCO 之类的显式“定位+关系”标注。
  4. 文本三元组 ↔ 场景图对齐(Relational Matching)

    • 将第 1 步从文本里解析出的三元组 {(主体i,  关系i,  客体i)}\{(\text{主体}_i,\;\text{关系}_i,\;\text{客体}_i)\}{(主体i,关系i,客体i)} 与第 3 步 SGG 输出的所有检测到的 (boxu,  r^uv,  boxv)(\text{box}_u,\;\hat{r}_{uv},\;\text{box}_v)(boxu,r^uv,boxv) 做匹配。

    • 匹配标准示例:

      1. 文本“三元组”里主体词 “man” 与 SGG 中节点类别相同且置信度最高的 Box 匹配。
      2. 文本关系词 “holding” 先在预定义的关系词汇表里和 SGG 输出的关系类别(“holds”、“grasping”等)做近义匹配(可用 WordNet/CLIP Embedding 相似度)。
      3. 文本客体“ball”同样匹配到 SGG 节点。
      4. 如果 ∃\exists 一对 (boxu,  boxv)(\text{box}_u,\;\text{box}_v)(boxu,boxv) 满足 “SGG 分类为 person ↔ ball” 且关系 label 为“holding” 或近似,则认为这个候选对对应该文本三元组。
    • 对于每条文本三元组,都能找到一组满足条件的 (u,v)(u,v)(u,v)。如果某条三元组在候选框列表里找不到对应节点,就认为当前候选盒子组合不满足“关系约束”,在后续打分时要大幅打折。

  5. 关系‐热图‐置信度联合打分

    • 每个候选框 kkk 都有 sks_ksk(OVD 置信度)、rkr_krk(GradCAM 热度)、AkA_kAk(面积惩罚)。这里再引入一个“关系一致度” ρk\rho_kρk

    • ρk\rho_kρk 的计算思路:

      1. 如果候选框 kkk 对应的实体参与到了 SGG ⟨node⟩ → ⟨relation⟩ → ⟨node⟩ 中,且与文本里某条三元组 (subject,  pred,  object)(\text{subject},\;\text{pred},\;\text{object})(subject,pred,object) 完全“类别+关系+类别”对齐,则 ρk≈1\rho_k\approx1ρk1

      2. 如果该框没有参与任何与文本三元组匹配的关系,则 ρk≈0\rho_k \approx 0ρk0。可以将它定义为 0 或者一个很小的正数 ϵ\epsilonϵ

      3. 若只部分匹配,例如“主体类别对上了,但关系没对上”,则 ρk=0.5\rho_k = 0.5ρk=0.5 之类的中间分。具体分数可设计为:

        ρk=max⁡(u,v)∈候选 pairs[  1(类别一致)⋅cos⁡(文中关系 embedding, SGG 关系 embedding)].\rho_k = \max_{(u,v) \in \text{候选 pairs}} \Bigl[\;\mathbf{1}(\text{类别一致}) \cdot \cos(\text{文中关系 embedding},\, \text{SGG 关系 embedding})\Bigr]. ρk=(u,v)候选 pairsmax[1(类别一致)cos(文中关系 embedding,SGG 关系 embedding)].

    • 最终,给每个候选框 kkk 计算一个综合打分

      Gk  =  skβ1  ×  rkβ2  ×  (1Ak+ϵ)β3  ×  ρkβ4,G_k \;=\; s_k^{\beta_1} \;\times\; r_k^{\beta_2} \;\times\; \bigl(\tfrac{1}{A_k + \epsilon}\bigr)^{\beta_3} \;\times\; \rho_k^{\beta_4}, Gk=skβ1×rkβ2×(Ak+ϵ1)β3×ρkβ4,

      其中 βi\beta_iβi 均可通过在 Val 集上做少量超参调优(不做 RefCOCO test 微调),整体仍算作“零样本”,因为你只在 Val 上用数百张图片做 β\betaβ 搜索,不会泄露 Test Split 信息。

    • 按照 GkG_kGk 排序即可输出 Top-1 框;如果 ∃\exists 多个三元组(长句里有两个或更多关系描述),则对每个三元组分别输出满足关系的候选对,最后综合合并结果。

零样本/弱监督条件下的可行性
  • 场景图模型完全“离线预训练”
    只要你选用一个已经在 Visual Genome/COCO VRD/Visual Relationship Detection(VRD)之类的大数据集上预训练好的 SGG 模型,就能在绝对不碰 RefCOCO/RefCOCO+g 定位标注的前提下,直接在测试时调用它提取关系,保证“零样本”。
  • 文本解析与关系匹配不动训练
    文本解析(句法依存、SRL、HOI 关系近义匹配)都只用“通用 NLP 预训练模型”(如 SpaCy+BERT)输出,不触碰 RefCOCO 标注。
  • 打分超参只在 Val 上调优
    (β1,β2,β3,β4)(\beta_1,\beta_2,\beta_3,\beta_4)(β1,β2,β3,β4) 的组合限定在超小网格(比如 {0.5, 1.0, 2.0}\{0.5,\,1.0,\,2.0\}{0.5,1.0,2.0}),只在 RefCOCO val split(不到 5k 样本)上做验证,绝不背离“零样本”的标准。Test 时再直接复用最佳参数即可。

只要严格做到:

  • SGG 模型从不在 RefCOCO train split 上微调;
  • 文本→三元组匹配逻辑不需要 RefCOCO 标注,那就在 Test 时可以算作“完全零样本”流程。
潜在收益
  1. 多关系场景显著提升

    • 如表达式中包含“左边的人在给右边的孩子打伞”“拿着红球的人正坐在沙发边上”等复杂交互关系时,单纯的热图往往会在抽象关键词(“人”“球”“沙发”)上分散,而难以直接定位“哪个人”“哪个球”。加入 ρk\rho_kρk 后,可以让模型更聚焦到“正确的那对对象关系”。
    • 尤其在 RefCOCOg 这种句子较长、描述细节多的任务上,关系匹配能在多次交叠的热图响应中淘汰掉大量错误候选框,将真正满足“holding”或“next_to”关系的框对排在最前面。
  2. 遮挡场景补全

    • 当数据中“ball”被部分遮挡时,OVD 可能没能给出高置信度的“ball”盒子,但 SGG 模型若捕捉到“person–holding–object”这样的结构,就可能把“object”节点预测出来并标记为“ball”——即使遮挡也能推断它在桌子边或人手里,然后用 ρk\rho_kρk 补偿让这个候选框在综合得分中击败那些只是“热度稍弱的裸露目标”。
  3. 仅需少量额外计算

    • SGG 模型和 NLP 解析的时间开销相比“每条都 2 次反向的 GradCAM”要可控得多,而且这些流程可以并行在 GPU 上跑。通常一次 SGG 推理≈50–80 ms、一次 GradCAM≈80 ms,关系匹配只需在少量候选框间做字符串/嵌入相似度比较即可。
    • 超参 βi\beta_iβi 调整只在 Val 阶段做一次,测试时仅做一次查表决策,前向并不增加太多延迟。

需要注意的

  1. 场景图预测精度受限

    • 目前公开的 SGG 模型在 COCO/Visual Genome 上对“常见关系”能达到 35%–45% mAP,但对“长尾关系”“细粒度动作”表现较弱。换句话说,你可能会在“桌子上拿着笔的人”这种场景里,SGG 预测出 “person–holding–something” 但没给出 “something” = “pen”,或者状态判断不准确。
    • 如果 ρk\rho_kρk 依据的 SGG 关系本身不可靠,就会把一些误判推分,反而影响整体定位精度。因此要选择或微调一个对常见“人—物—物”交互较为鲁棒的 SGG 模型,甚至可以先在 VRD 数据集上做一次简单微调(只用 VRD,不碰 RefCOCO),以提升 SGG 对“人/动物/常见用品”关系的检测率。这样在下游真正零样本测试时,SGG 自身的泛化才更好。
  2. 文本关系解析歧义

    • 有时候一句话里面的关系很隐晦:例如“the dog under the table next to the boy”里既有“dog under table”也有“table next_to boy”,NLP 三元组抽取可能把“under”当成“next_to”的同级关系,或者提取顺序不对,导致后续 SGG 匹配出现混淆。
    • 需要做一些启发式或结构化约束,明确指定“邻近”“在下面”“持有”等关系的优先级,或者直接用 CLIP‐based 相似度对表意关系做二次筛选。
  3. 系统整体复杂度与失效情况下的 fallback

    • 如果 SGG 模型在某张图里完全预测不到任何文本中提到的关系,那 ρk\rho_kρk 就都是 0,此时候选框全靠 sks_kskrkr_krk 打分。必须做一个“当关系一致度 ρk\rho_kρk 全部为 0 时,退化到原始加权公式”的保护逻辑。
    • 整个 pipeline 增加了 SGG+文本解析模块,部署复杂度略增,但由于所有模型都可并行化,实际推理延迟在 100–150 ms 范围内仍算可接受。
http://www.xdnf.cn/news/18965.html

相关文章:

  • STL库——vector(类函数学习)
  • 算法编程实例-快乐学习
  • Git:基本使用
  • 校园勤工俭学微信小程序的设计与实现:基于数字化服务生态的赋能体系构建
  • 10分钟快速搭建 SkyWalking 服务
  • 机器学习笔记
  • 【C语言】小游戏:关机程序
  • 【Linux 进程】进程程序替换
  • RAG中使用到的相关函数注释——LangChain核心函数
  • AI出题人给出的Java后端面经(二十仨)(不定更)
  • 【AI论文】FutureX:面向未来预测任务中大语言模型智能体的前沿动态基准测试
  • 【科研绘图系列】R语言在海洋生态学中的应用:浮游植物糖类组成与溶解性有机碳的关系
  • 永磁同步电机无速度算法--传统脉振方波注入法(1)
  • LangGraph
  • 【更新至2024年】2000-2024年各地级市绿色专利数据
  • 【lucene】spancontainingquery
  • 主流的 AI Agent 开发框架
  • 矩阵的秩几何含义
  • WPS 智能文档,5分钟上手!
  • 云蝠智能 Voice Agent:多语言交互时代的AI智能语音呼叫
  • 支持向量机(第二十九节课内容总结)
  • JMM 浅析
  • StandardScaler()进行0,1标准化时fit_transform与transform的区别
  • HTML的form表单
  • 子串:和为K的子数组
  • 记一个Mudbus TCP 帮助类
  • from中烟科技翼支付 面试题1
  • 财报出炉,李宁也被“靠边站”了
  • 摄像头模块的技术原理
  • WeakAuras Lua Script (My Version)