Multi-label Instance-level Generalised Visual Grounding in Agriculture¶
会议: ECCV 2026
论文: ECCV 2026 Poster
代码: https://github.com/MHaghighat98/WeedVG-gRefCW
领域: 多模态VLM
关键词: 广义视觉定位, 指代表达式理解, 农业视觉, 分层多标签学习, 多模态数据集
一句话总结¶
本文构建了首个面向农业田间场景的广义视觉定位基准 gRef-CW(8,034 张高分辨率图像、82,592 条模板化指代标注,含图像级与实例级负样本),并给出模块化框架 Weed-VG——在 GroundingDINO 之上把定位拆成「全局存在性检测 + 实例相关性排序」两级、用层级约束把两者绑定,测试集 Top-1 达 62.42%、Neg-Acc 达 78.35%,而四个通用定位基线零样本评测的 Top-1 最高只有 34.88%、Neg-Acc 不足 26%。
研究背景与动机¶
农业场景里的视觉语言模型已经能写图像描述、能答视觉问答,AgriBench、AgroBench、AgEval、AgMMU、MIRAGE 这类基准也把作物病害识别、农艺推理这些任务评了个遍,但视觉定位(Visual Grounding,VG)——按一句自然语言在图上把目标框出来——在农业里几乎是空白。这不是一个可有可无的能力:定位是精细视觉语言理解的核心环节,能反哺 VQA(让回答落在具体区域上),更直接对应精准农业的真实需求——判断某类作物或杂草这一块地里到底有没有、有多少、具体是哪几株,进而支撑选择性除草、变量施肥、灌溉与采收。传统检测器只能输出预定义的类别集合,而广义视觉定位(generalised Visual Grounding,gVG)允许一句查询对应零个或多个目标,天然贴合这种「先问有没有、再问是哪几株」的作业方式。
问题是,把现有 gVG 方法直接搬到田间图上会塌。GroundingDINO 在含杂草的农业图像上 mAP 只有 33.9;AgroBench 上开源 VLM 的杂草识别接近随机,最好的模型也只有 55.17% 准确率;InstanceVG 这类强调实例感知的方法小目标定位常常失败。这些数字背后是三个具体的、彼此纠缠的难点。第一,作物与杂草在幼苗期外观高度相似,而且对通用模型来说它们属于训练时从未见过的新类别,只靠颜色、形状、纹理这种物体级特征根本分不开,唯一可用的区分线索是实例级信息——这一株在哪、多大。第二,尺度跨度极大:实例面积只占整图的 0.01%–0.97%,gRef-CW 里 84.7% 的实例属于 tiny 或 small 档,标准 IoU 回归损失在这种量级下梯度极不稳定、收敛很慢。第三,田间是密集且拥挤的:30.7% 的图像里超过 10 个实例,部分场景超过 30 个;同时「目标不存在」是常态而非例外,模型必须学会拒绝,而不是随手抓一个长得像的东西交差。
要系统研究这些难点,前提是先有一个能测的基准,而这恰恰是缺失的一环:现有农业多模态基准评的是识别与推理,没有一个是按 VG 协议设计的,更没有把「目标可能不在图里」写进标注。本文因此做了两件事。一是把 CropAndWeed 数据集的 CropOrWeed9 子集转成 gRef-CW:为每个可辨认的实例生成一条「(尺寸) (类别) in the (位置)」的模板化指代句,并用 Replace(换类别)与 Swap(同类内互换尺寸/位置属性)两种策略合成负样本,让「图里没有这类目标」也成为可评测的标签。二是把 gVG 显式拆成两级:先用图像级句表判断这幅图里到底有没有被指代的类别(Level-0 存在性检测),再在同一层级下给每个候选框打相关性分数(Level-1 实例相关性),并用 max 形式的层级约束把两者绑死——存在性没学好,实例级损失就压不下去。核心 idea:把广义视觉定位拆成图像级存在性检测与实例级相关性排序两级,用 \(L_{\text{lvl1}}^{\text{constrained}} = \max(L_{\text{lvl1}}, L_{\text{lvl0}})\) 让「不存在的目标无法被定位」,再配一套距离/尺寸感知的匹配与插值驱动的框回归,稳住极端尺度变化下的候选框优化。
方法详解¶
整体框架¶
Weed-VG 是一个模块化框架,它的定位能力来自一个现成的 grounding 模型,本文只在其上增加两级打分与一套更稳的回归/匹配策略——这意味着基座可以替换(论文用 GroundingDINO 做实例验证),而不需要重新设计一个检测器。输入是一张田间图像和两句文本:一句通用文本(如 "plant or vegetation")用来驱动 grounding 模型生成候选框,一句指代文本(如 "medium weed in the top right")是要定位的具体查询。候选框的视觉特征与指代文本的特征分别投影到共享嵌入空间后,经 Multi-Head Cross-Attention(MHCA)与 FFN 得到对齐的多模态相关性 logits,再由 Hierarchical Relevance Scoring(HRS)模块分成两级:Level-0 用固定的图像级句子词表做多分类,判断「这张图里有没有被指代的类别」;Level-1 给每个候选框打一个指代分数,把句子级相似度与词级相似度按一个可学习的权重融合起来。训练时,层级约束用存在性损失给实例级损失设下界,保证逻辑一致(不存在的东西不能被定位);定位分支则用距离/尺寸感知的匹配代价分配候选框与真值,再用插值驱动的 InterpIoU 回归框坐标。推理时,模型先输出该查询的存在性判定,存在才按指代分数排序候选框给出 Top-1/Top-k,不存在则输出背景(正确拒绝)——这同时决定了它在 Recall 与 Neg-Acc 两个方向上的表现。数据侧则由 gRef-CW 提供两级标签:图像级的「有没有该类」与实例级的「哪一株是这个指代」。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["gRef-CW:多级文本标注<br/>与负样本构造"] --> B["图像 + 通用文本<br/>→ grounding 模型出候选框"]
B --> C["两级相关性打分<br/>存在性与实例相关性"]
C --> D["层级约束执行<br/>存在性作实例级下界"]
D --> E["距离/尺寸感知匹配<br/>与插值回归"]
E --> F["存在性判定 + 实例框<br/>Top-1 / Top-k / Neg-Acc"]
关键设计¶
1. gRef-CW:多级文本标注与负样本构造
农业 VG 缺的第一样东西不是模型而是数据:没有带负样本、带实例级指代的基准,就无法测出模型到底会不会「拒绝」。gRef-CW 从 CropAndWeed 的 CropOrWeed9 子集构造,标签统一映射为 8 类作物(Maize、Sugar beet、Bean、Pea、Sunflower、Soy、Potato、Pumpkin)加 1 个统一的杂草类——选这个子集是因为论文原工作发现「所有作物联合训练 + 统一杂草类」比单作物模型更能分清作物与杂草。标注流程是四步:过滤掉小于 16×16 像素、人眼也无法辨认的实例;为每个留下的实例抽取三类属性——类别、位置(按框中心落在 3×3 网格的哪一格,如 top-left / bottom-center)、尺寸(按框面积分四档:tiny < 2k px²、small 2k–20k px²、medium 20k–208k px²、large ≥ 208k px²);把属性填进固定模板 "(Size) (Category) in the (Position)" 生成正样本指代句;最后用两种策略造负样本——Replace 替换句子里的类别词(crop → weed),Swap 在同一类别内互换两个属性(small → large,top left → bottom right)。
这样的标注同时解决了两件事。把位置和尺寸写进句子,等于给模型注入了物体外观之外唯一可靠的区分线索:两株幼苗长得一样,但「bottom right 的那株 tiny 杂草」在语言上是唯一的。而负样本把「拒绝」变成可训练、可评测的能力:测试集从 11,997 个候选里按类别替换、尺寸互换、位置互换三类各取约三分之一,共 9,186 条负句(3,706 条类别负、3,294 条尺寸负、2,186 条位置负),其余保持为正;负句与正句共用同一标注格式,于是存在与不存在两种条件可以在同一套指标下评测。最终数据集体量是 8,034 张图、78,288 个实例、82,592 条标注(78,288 条实例级 + 4,304 条图像级),按 70:15:15 划分,并保证「只含作物 / 只含杂草 / 两者都有 / 两者都没有」四类图像在划分中均衡。与 RefCOCO 系列相比,它的图像更大(边长约 1,445)、实例更小(归一化面积 0.01–0.97)、句子更长(平均 6.34 词)、类别更少但长尾更严重——84.7% 的实例是 tiny/small,30.7% 的图像超过 10 个实例;这也是通用模型在这里掉点的直接原因。(原文给出的 11,997 个候选与三类负样本的 3,706/3,294/2,186 之间不能整除,⚠️ 以原文为准。)
2. 两级相关性打分:存在性与实例相关性
标准指代定位只回答「哪一个框」,广义设定下问题变成了两个:这幅图里有没有、以及如果有,是哪几个。HRS 把这两问拆成两级共享同一套视觉-文本特征的打分。Level-0 把「有没有」建模成在图像级句子词表上的多分类:对词表里的每个句子 \(t_k\),取它和所有候选框得分的最大值作为池化 logit,再在词表上做 softmax 得到图像级类别概率。
取最大值而不是平均,是因为只要图中存在一个与该句高度匹配的区域,「该类存在」的判断就应该成立——这正对应存在性检测的语义。Level-1 则给每个候选框算一个指代分数,融合两个粒度:句子级相似度把句子压成一个向量后与候选框特征算温度缩放的余弦相似度(温度可学习,初始化为 0.07),负责整体语义;词级相似度把候选框特征与每个词元分别比对得到一个相似度矩阵,再做最大池化,负责把 "tiny"、"weed"、"bottom right" 这些词逐一落到框上。两者的权重不写死,而是用全局文本特征过一个 MLP + Sigmoid 动态生成:
这个权重是必要的,因为不同句子里承载区分信息的成分不同——「tiny weed in the bottom right」里类别词、尺寸词、位置词都在起作用,而模型需要自己决定这一次该更信整句还是更信某个词元。实例级用 BCE 损失优化,因为它天然容纳「一个查询对应 0 个、1 个或多个正实例」的 multi-positive 情形;句子级特征则由词元嵌入经 valid-mask 最大池化得到,保留每个 token 在通道上的最大响应。(缓存文本中公式 (2) 的运算符有缺失,此处按语义补全,⚠️ 以原文为准。)
3. 层级约束执行:存在性作实例级下界
两级拆开打分带来一个新的风险:实例级排序可以「自顾自」地学,即使图像级的存在性判断完全错了,某个候选框仍可能拿到很高的指代分——对负样本来说,这等于把背景里的另一株作物当成目标交出去。本文用一条硬约束把这个逻辑依赖写进损失:实例级损失不能低于图像级损失,即取两者的最大值作为下界。
梯度上的效果是:当存在性还没学好(\(L_{\text{lvl0}}\) 大)时,实例级损失被顶住无法继续下降,等于把 Level-1 的优化推迟到存在性稳定之后;反过来,一旦存在性可靠,这个 max 就退化成普通的实例级损失,不再干扰排序。消融给了很干净的证据:去掉这一项,Neg-Acc 从 78.35 掉到 41.60(几乎腰斩),而 Top-1(59.87)、[email protected](53.87)、mIoU(55.83)几乎没有变化——说明它专门承担「拒绝」能力,而不是靠牺牲定位质量换来的。这条设计也解释了为什么「多标签」是本文的关键词:监督信号本身就是分层的多标签,图像级的存在性标签与实例级的相关性标签必须自洽。
4. 距离/尺寸感知匹配与插值回归
农业 VG 的定位分支面对的是同一个尺度问题:预测框和真值框常常几乎不重叠,标准 IoU 类损失此时梯度接近零,收敛又慢又不稳。本文先用一个联合匹配代价把候选框分配给真值实例,代价同时考虑重叠、中心距离与相对尺度:
第一项是标准 IoU 重叠,第二项惩罚两个框中心的平方 L2 距离,第三项刻画宽高的相对差异。权重 \(\lambda_c = 2.0\)、\(\lambda_s = 0.5\) 是经验选取的:尺度跨度极大时中心误差容易主导匹配,所以优先保证中心对齐,同时保留一定的尺寸感知。回归损失则用插值驱动的方式:先把预测框与真值框线性插值出一个中间框,再用它构造一个辅助 IoU 项。
\(\alpha = 0.99\) 沿用 InterpIoU 原文的设置(⚠️ 系数以原文为准)。关键在于 \(L_{\text{IoU}}(B_{\text{int}}, B_{\text{gt}})\) 这一项:即便预测框和真值几乎不重叠,插值框与真值之间仍有可观的重叠,于是梯度不会归零,而是平滑地把预测往目标推——不引入任何手工设计的几何惩罚项,就缓解了 0.01% 面积量级下的梯度不稳。消融显示,把这一整套(插值回归 + 配套匹配)换回 GroundingDINO 原本的 GIoU,测试集 mIoU 掉 9.53、Top-1 掉 13.27,小实例上尤其明显。
一个完整示例¶
取一张含 20–30 个实例的测试图(落在 gRef-CW 的 21–30 密度档),输入指代句 "tiny weed in the bottom right"。系统先用通用文本 "plant or vegetation" 让 GroundingDINO 吐出数百个候选框;指代句经文本编码器变成词元序列与一个句子向量,每个候选框的视觉特征与它们分别投影、过 MHCA 与 FFN,得到对齐后的多模态特征。接下来两件事并行发生。Level-1 侧:每个候选框与整个句子算一个温度缩放的余弦相似度 \(S_{\text{sent}}\),与每个词元算相似度后取最大池化得 \(S_{\text{word}}\),再由 MLP+Sigmoid 从全局文本特征生成的 \(w_s\) 把两者加权成 \(S_{\text{ref}}\)。Level-0 侧:拿图像级句表("No crops are present in this image"、"No weeds are present in this image"、"No crops or weeds are visible in this image" 等)逐句与所有候选框比对,每句取最大响应,softmax 后得到「这张图里有没有杂草」的判定。
现在分两种情况。若这是一条负样本(比如原句是 "tiny crop in the bottom right",被 Replace 换成了 weed),Level-0 会给出很低的杂草存在概率,层级约束随即把这张图的实例级分数整体压住,模型输出「无目标」,这条样本正确计入 Neg-Acc——而不是像基线那样退而求其次指向背景里另一株真值框。若这是正样本,存在性判定通过,\(S_{\text{ref}}\) 最高的候选框即为 Top-1,如果它与真值的 IoU ≥ 0.5 就记一次 Top-1 命中;全部候选框连同各自的分数参与 [email protected] 与 mIoU 的计算(Top-5 看的是排序前列里有没有正确的框)。也正是在这个例子上能看出两级设计的代价与收益:一个正确实例常常已在候选集合里([email protected] 不低),难的是把它排到第一——所以 Top-1 与 [email protected] 之间的差距才是这篇文章真正在攻的指标。
损失函数 / 训练策略¶
总损失由层级多标签约束损失与框回归损失相加构成(⚠️ 缓存文本中公式 (6)(7) 的加号缺失,此处按语义补全,以原文为准):
两个权重的取值按图像类型自适应,反映不同类型图的监督重点:同时含多个指代目标的混合图取 \((\lambda_0, \lambda_1) = (1.0, 2.5)\),把重心放在实例区分上;只有单一类别的图取 \((1.0, 2.0)\);而空图取 \((1.0, 0)\),只优化存在性——既然图里没有任何目标,强行施加实例级约束只会制造噪声。
训练分两阶段进行,因为端到端联合训练会出现明显的回归性能下降。第一阶段从原始 grounding 模型 checkpoint 初始化,只微调最后一个 decoder 层与 box head,用 InterpIoU 训 100 个 epoch,先把框回归调稳;第二阶段只训练投影/注意力层与 HRS 模块,用两级标签训 60 个 epoch,专注学分层语义与实例级区分。batch size 为 4,正好对应四种图像类型(只含作物 / 只含杂草 / 两者都有 / 两者都没有)各一;由于图像同时含作物和杂草时既没有负句标注、层级标签又不允许为空,训练引入了一个特殊 token [EMPTY] 来占位。优化器是 AdamW,cosine annealing 调度,初始学习率 \(2 \times 10^{-4}\);数据增强用 Copy–Paste 增加实例多样性,另加随机旋转与颜色抖动模拟视角、光照与植株外观变化。测试时最大编码长度 64 token。推理开销是 10 FPS(97.6 ms/图)、1.5 GB 显存,实验在 NVIDIA A100 与 RTX PRO 6000 Blackwell 上完成。
实验关键数据¶
主实验¶
评测协议值得先说清楚,因为这篇论文的比较方式与常规不同。gRef-CW 上用三个维度刻画能力:[email protected](检索,判断目标实例是否出现在候选集合中)、Top-k 准确率(排序,Top-1 要求得分最高的框与真值 IoU ≥ 0.5)、mIoU(定位精度,衡量框有多准)。由于基线对分数阈值极其敏感、在 gRef-CW 上大量漏检,作者重新实现了各基线,使它们在给定实例句时评估全部候选框,而不是只看过阈值的那几个。此外本文提出 Negative Accuracy(Neg-Acc):一个基于 GIoU、不需要阈值的指标,只在「确实不存在目标」的句子上评测,判对的定义是预测框与任意真值框的最大 GIoU ≤ 0,即模型确实指向了背景。Neg-Acc 单独看没有意义,必须与 Recall 联合起来读——它俩一起构成一次「条件理解」的考试:有目标时能检出、无目标时能弃权,两者同时达标才算真的理解了指代句。还有一个必须说明的边界:四个基线都是零样本评测(HRS 之外的方法无法在多层标签上微调,直接比方法优劣并不公平),Weed-VG 则在 gRef-CW 上训练过,所以这张表测的是领域鸿沟与「农业场景的新基线」,而不是同训练条件下的方法排名。
| 模型(Test 集) | Top-1 | Top-5 | [email protected] | mIoU | Neg-Acc |
|---|---|---|---|---|---|
| MDETR | 10.16 | 12.97 | 7.78 | 54.19 | 3.32 |
| GroundingDINO-T | 11.92 | 31.99 | 20.34 | 17.44 | 2.88 |
| GroundingDINO-L | 20.38 | 43.49 | 28.73 | 23.68 | 7.52 |
| SAM3 | 34.88 | 66.80 | 46.65 | 32.76 | 25.53 |
| Weed-VG(本文) | 62.42 | 82.45 | 55.44 | 57.25 | 78.35 |
验证集趋势一致(Weed-VG:Top-1 63.01、Top-5 81.64、[email protected] 55.71、mIoU 58.12)。
尺度分层的结果更能说明问题症结。把测试集按实例尺寸拆开看(下表给出最能说明尺度落差的 tiny 与 large 两档,Top-1 准确率):
| 模型 | 作物 Tiny | 作物 Large | 杂草 Tiny | 杂草 Large | 作物 tiny→large 落差 |
|---|---|---|---|---|---|
| MDETR | —(该尺度无有效检测) | 11.71 | —(同左) | 13.09 | — |
| GroundingDINO-T | 0.00 | 31.64 | 0.31 | 43.32 | 31.6 |
| GroundingDINO-L | 1.67 | 59.44 | 0.83 | 65.20 | 57.8 |
| SAM3 | 13.42 | 71.33 | 16.17 | 78.62 | 57.9 |
| Weed-VG(本文) | 54.66 | 71.90 | 53.44 | 76.79 | 17.2 |
场景密度的分析同样指向「排序不稳」这个病根:SAM3 在稀疏场景(1–10 个实例)里作物 mIoU 有 49.58(Test),密度超过 30 个实例后掉到 25.81,[email protected] 从 84.77 崩到 31.26,说明候选框一多就互相干扰;Weed-VG 在 >30 实例的最拥挤场景下作物 mIoU 仍有 47.58、杂草 mIoU 50.00,对应的 [email protected] 为 44.42 / 31.71。
消融实验¶
| 配置(Test 集) | Top-1 | Top-5 | [email protected] | mIoU | Neg-Acc | 说明 |
|---|---|---|---|---|---|---|
| Sentence-only | 49.29 | 74.06 | 50.53 | 49.35 | 74.12 | 只用句子级相似度,Top-1 掉 13.13、mIoU 掉 7.9 |
| Word-only | 36.19 | 67.61 | 44.20 | 39.22 | 71.55 | 只用词级线索,掉得更狠 |
| w/o Query Projection | 33.20 | 58.02 | 38.43 | 35.39 | 69.83 | 去掉共享空间投影,Top-1/mIoU 塌得最多 |
| w/o Hierarchical Constraint | 59.87 | 80.57 | 53.87 | 55.83 | 41.60 | 定位/召回几乎不变,Neg-Acc 腰斩 |
| w/o InterpIoU | 49.15 | 73.28 | 44.61 | 47.72 | 75.88 | 换回 GIoU,mIoU 掉 9.53、Top-1 掉 13.27 |
| Full Model | 62.42 | 82.45 | 55.44 | 57.25 | 78.35 | 完整模型 |
关键发现¶
- 贡献最大的是文本-视觉共享投影:去掉 Query Projection 后 Top-1 从 62.42 掉到 33.20(-29.22),mIoU 掉 21.86,是全部消融项里最严重的。这说明实例级定位高度依赖把视觉与文本特征投到一个同时编码图像级与实例级上下文的共享可学空间;投影一旦没有,后面所有相似度计算都建立在错位的表示上。
- 句子级与词级缺一不可:Sentence-only 掉 13.13 个 Top-1、Word-only 直接掉到 36.19,单独任一支路都不足以支撑定位。可解读为:句子级提供「这句话整体指什么」,词级提供「tiny / bottom right」这种落到具体框上的锚点,二者互补而非冗余。
- 层级约束是「拒绝」能力的唯一来源:去掉它 Neg-Acc 从 78.35 跌到 41.60,而 Top-1、[email protected]、mIoU 基本不动。这是一条代价极低、收益极具体的约束——它不改善定位,只让模型在目标不存在时敢于说「不在」。
- 插值回归的价值集中在小目标:换回 GIoU 后 mIoU 掉 9.53、Top-1 掉 13.27,论文指出小实例上退化尤为明显,与「面积占比低至 0.01% 时标准 IoU 梯度失效」的动机对得上。
- 尺度是通用模型最大的短板,而非排序本身:GDINO-T 在 tiny 作物上 Top-1 为 0.00,GDINO-L 也只有 1.67;SAM3 靠密集候选把 tiny 提到 13.42,但它 large 档有 71.33,落差 58 个百分点。Weed-VG 把作物 tiny→large 的落差压到 17 个百分点——这也是它能同时把 Top-1、[email protected]、mIoU 一起抬起来的原因:它同时修了「检索不到」和「排不对」两种失败,而不是单点冲高一个指标。
- 一个反直觉的现象:MDETR 的 mIoU(54.19)远高于 GroundingDINO-L(23.68),[email protected](7.78)却只有后者的四分之一。这说明 MDETR 一旦检索到正确实例,框画得很准,但它极少能检索到;而 mIoU 与 [email protected] 的联合解读在这里是必要的,单看任何一个都会得出错误结论。
亮点与洞察¶
- 把「拒绝」做成一个一等公民指标:Neg-Acc 用 GIoU ≤ 0 定义「正确指向背景」,绕开了阈值选择,并且要求与 Recall 联读才有效。相比只报 Recall/AP 的常规做法,这一对指标能直接暴露「靠狂撒候选框刷高召回」的假象——表里基线 Neg-Acc 普遍只有 3–7.5%,正是这种假象的量化证据。
- 层级约束用 max 而不是加权求和:\(\max(L_{\text{lvl1}}, L_{\text{lvl0}})\) 在梯度上等价于「存在性没学好就冻结实例级优化」,实现上零成本、无需额外超参,而且消融证明它几乎不影响定位指标。这种「用损失形式表达逻辑依赖」的做法可以迁移到任何「先判定后排序」的级联任务(如检索中的存在性门控、多标签分类中的层级约束)。
- 把位置和尺寸写进语言模板,而不是塞进模型结构:gRef-CW 用 "(Size) (Category) in the (Position)" 这种极简模板给模型提供实例级线索,绕开了「让模型自己从像素里猜哪一株」的难题。这对任何「类内差异小、必须靠空间属性区分」的场景(遥感、医学切片、工业质检)都是可直接复用的数据构造思路。
- 模板化标注的一体两面:模板带来的代价是语言多样性差、无法评测自由文本表达(作者自己承认),但收益是标注完全程序化、属性可控,从而能用 Replace/Swap 精确制造三类负样本——这恰恰是自由标注做不到的。数据集的可控性与语言的自然性在这里是一个明确的取舍。
局限与展望¶
- 依赖基座模型的候选质量:Weed-VG 不产生候选框,而是消费 grounding 模型的输出。论文明确承认「依赖初始候选质量」——如果基座压根没框住那株 tiny 幼苗,后面的 HRS 再准也无法把它排上去。第二阶段的性能天花板由第一阶段决定。
- 极端密度下仍然退化:超过 30 个实例的场景中,作物 mIoU 47.58、杂草 [email protected] 只有 31.71,明显低于稀疏场景(63.92 / 69.02)。密集遮挡与候选框互相干扰的问题只是被缓解,没有被解决。
- 标注形式限制了评测范围:模板句只有「尺寸 + 类别 + 位置」三个槽位,无法评测更自由的表达("the weed that looks a bit yellow on the lower right"),也无法测试模型对上下文、生长阶段等更丰富语义的理解。作者提出可以把这套多级标注方案迁移到通用基准上,但标注成本很高。
- 类别与环境覆盖面窄:仅 8 类作物 + 1 个统一杂草类,且图像全部来自 CropAndWeed、均为俯视视角;跨地域、跨季节、跨作物体系的泛化能力没有验证。这一点在论文的「未来工作」里被列为需要更大规模农业数据集的原因。
- 比较协议上的保留意见:基线均为零样本、Weed-VG 为训练后模型,作者也承认「不做方法层面的直接对比以确保公平」。因此表 1 只能读作领域鸿沟的量化与基线参考,不能读作 HRS 与其他 gVG 方法设计的优劣比较。此外基线只有四个(MDETR、GroundingDINO-T/L、SAM3),没有 GLIP 类或 InstanceVG 的实测数字,覆盖面偏窄。
- 可改进方向:(1) 让第二阶段具备反馈给候选生成的能力(如把 HRS 的分数回灌给候选框生成或做迭代精修),而不是单向消费;(2) 用更强的文本编码器或自由文本模板扩增,减轻模板句带来的语言偏差;(3) 把 Level-0 的句表从「类别存在」扩展成「属性组合存在」,让存在性判断也能处理属性级负样本(本文的三类负样本中,位置互换这类恰恰是 Level-0 最不敏感的)。
相关工作与启发¶
- vs 经典指代数据集(RefCOCO / RefCOCO+ / RefCOCOg / ReferItGame):它们假设每句查询在图中恰好有一个目标,且没有负样本;gRef-CW 则把「零个目标」写进标注,图像更大(约 1,445)、实例更小(归一化面积低至 0.01)、句子更长,并把实例密度推高到 30.7% 的图超过 10 个实例。代价是标注为模板生成、语言多样性不及人工标注——这也是本文自陈指标不能与经典基准直接横向比较的原因。
- vs GroundingDINO / GLIP 类开放集检测器:它们用文本提示做开放词汇检测,是 Weed-VG 的基座与基线;本文的差别在于不改检测器结构,而是在其上叠加两级相关性打分与匹配/回归策略。表 1 里 GroundingDINO 从 T 扩到 L 参数变大、Top-1 从 11.92 升到 20.38,仍落后 SAM3,说明单纯放大检测器不能解决实例歧义——这正是 HRS 这类「排序侧」设计要补的位置。
- vs MDETR:MDETR 也做多模态对齐,但它的负样本处理与 gVG 不同;在 gRef-CW 上它呈现「框准但找不到」的极端形态(mIoU 54.19 / [email protected] 7.78),说明它的对齐在密集同类实例中无法定位到正确的那一株。
- vs gREC / gRES 系列(如 InstanceVG):它们把广义指代理解为「零个或多个目标」,与本文任务设定一致,但论文指出这类方法在小目标上经常失败,且无法直接消费本文的多级标签(因为缺少 HRS 这样的结构),这也是本文不做直接方法对比的原因。
- vs 农业多模态基准(AgriBench / AgroBench / AgMMU / MIRAGE 等):它们评识别与推理,不评定位。本文的可迁移启发是:在任何一个「类内差异小、必须靠实例级属性区分」的领域,先把领域基准立起来(带负样本),再去设计排序侧的模块,往往比直接搬通用模型更有效。
评分¶
- 新颖性: ⭐⭐⭐⭐ 首个农业广义视觉定位基准 + 把 gVG 拆成存在性/相关性两级并用 max 约束绑定的做法清晰有效,但各组件(对比式相似度、层级多标签、InterpIoU)多为已有技术的组合与迁移。
- 实验充分度: ⭐⭐⭐⭐ 有主结果、尺度分层、密度分层、负样本分解与完整消融,Neg-Acc 指标设计有说服力;扣分在于基线仅四个且全为零样本,与训练后的 Weed-VG 不可直接比较,也没有跨数据集泛化实验。
- 写作质量: ⭐⭐⭐⭐ 动机与数据集构造交代得具体(含属性阈值与负样本数量),模块图清楚;但缓存全文中的多条公式存在符号损坏((2)(6)(7)),且各类负样本数量与候选总数不能整除,细节上需要读者自行核对原文。
- 价值: ⭐⭐⭐⭐ 对精准农业的「选择性除草 / 长势监测」有直接落地价值,数据集与 Neg-Acc 指标可被后续工作复用;局限是类别与场景覆盖面窄、标注模板化,跨域推广还需更大规模的数据集支撑。