A Glance Is All You Need: Single-Pass Fine-Grained Image Captioning with SimLoss
Suryaansh Jain, Rahasya Barkur, Vishal G, Ryan Rossi, Franck Dernoncourt, Jack Wang, Koustava Goswami, Nedim Lipka, Puneet Mathur, Samyadeep Basu, Seunghyun Yoon
cs.CV
2026-09-01
UMass 与 Adobe 提出 SimLoss:用冻结图像嵌入的 InfoNCE 对齐 VLM 隐藏状态,训练不需要细粒度描述。FFT 变体在 IIW-400 上 Precision 0.8485、F1 0.7023,与五阶段 CapMAS 几乎持平,A100 上单次推理快约 20 倍。
现在的视觉语言模型写图片描述很流畅,但经常漏掉真正让一张图「长得像自己」的东西:材质、纹理、数量、空间关系。一句「桌上有盏灯」没错,可灯座是不是陶瓷、旁边有没有线圈本,模型经常不说。
要这些细节,常见做法是把推理做成流水线。CapMAS 会先采样多条描述,拆成原子命题,逐条对着图核验,再用核过的内容重写。论文测到 CapMAS 在 A100 上每张图要 115.31 秒,单次前向的 Qwen2.5-VL-7B 只要 8.66 秒。
监督也不对口。MS COCO 人工描述平均 10.0 词,评测用的 ImageInWords IIW-400 人工描述平均 171.2 词,大约长 17 倍。直接拿 CapMAS 的输出当伪标签也不干净:处理后平均 29.3 条原子命题里,有 7.0 条被判假,事实率 0.766。模仿它会把大约四分之一的幻觉一起学进去。
问题于是变成:能不能在训练里把「看一眼就记住细节」这件事学会,推理时仍然只跑一次,而且不要细粒度人工描述、也不要流水线伪标签。
SimLoss 的核心判断是:一条好的细粒度描述应该让源图像更容易被辨认。泛泛的描述和很多相似图都兼容;写到材质、数量、空间关系,源图才该从候选里脱颖而出。描述被看成有损信道,目标是保留图像与描述之间的互信息。离散文本上直接最大化互信息不好做,所以把监督提前到解码之前的连续表示。
训练时冻结的 Qwen3-VL-Embed 给每张图一个图像嵌入,当作目标。可训练的 Qwen2.5-VL-7B 吃同一张图和固定提示「Describe this image in detail.」,对隐藏状态做均值池化,再经两层 MLP 投到嵌入空间。批次内用 InfoNCE:正样本是这张图的嵌入与这张图的 VLM 表示,负样本是批次里其他图。梯度只更新 LoRA 和投影头,基座权重和嵌入模型都冻着。
这一步不需要任何描述文本。COCO 图拿来用,COCO 的 caption 直接丢掉。投影路径和生成路径共享 LoRA,对比损失改的是解码器稍后会读到的表示,并不规定怎么措辞。推理时嵌入模型和投影头全部卸掉,只剩带 LoRA 的原模型,一次前向出描述。
两条实例化:
对照覆盖四类:零样本 Qwen2.5-VL-7B、五阶段 CapMAS、用 PPO 优化分解命题 F1 再加 CLIP 和 CIDEr 的 FeedQuill,以及给 GRPO 加随机遮挡或 YOLO 目标遮挡的 PAPO。
评测跟 CapMAS 同一套双指标,在 IIW-400 上跑。Precision 是把描述拆成原子命题、由 GPT-4o 对照图像和 IIW 参考判真的比例;Recall 是只凭描述、不看图去答一套人工核过的选择题;F1 是二者调和平均。另外报 CLAIR(0–1,LLM 判断是否在说同一张图)、词数和 A100 时延。
| 方法 | Precision | Recall | F1 | 词数 | A100 秒/图 |
| Qwen2.5-VL-7B | 0.7884 | 0.6002 | 0.6815 | 348 | 8.66 |
| CapMAS | 0.8467 | 0.6003 | 0.7025 | 190 | 115.31 |
| FeedQuill | 0.7966 | 0.5967 | 0.6823 | 164 | 8.97 |
| PAPO+YOLO | 0.7936 | 0.5969 | 0.6813 | 182 | 7.30 |
| SimLoss FFT | 0.8485 | 0.5991 | 0.7023 | 115 | 5.77 |
| SimLoss GRPO | 0.8227 | 0.6015 | 0.6949 | 133 | 6.58 |
Recall 几乎是一条平线,全场都在 0.595–0.602。F1 的差距几乎全部来自 Precision。SimLoss FFT 的 Precision 0.8485 是全场最高,比 CapMAS 的 0.8467 略高,F1 只低 0.0002,时延从 115.31 秒降到 5.77 秒,测得 20.0 倍。描述从基线的 348 词收到 115 词,标准差从 47 收到 13。
SimLoss GRPO 的 Recall 0.6015 和 CLAIR 0.858 是全场最高,Precision 掉到 0.8227,F1 0.6949。黑盒奖励能把覆盖面略微拉开,也更容易写进「看起来像那么回事」却没被图撑住的细节。
定性上,FFT 更常把场景写成前景、中景、背景,会读出车厢上的「MILSPED AML」,会把铠甲写成 chainmail hauberk 和 red surcoat。覆盖相同的案例里,它用大约三分之一的词答对同样多的题,多出来的基线文字主要是编号提纲、收尾复述和象征解读。反过来,两张漂流木驼鹿都被写成了鹿:写得更具体,细分类错误也会被放大。
对要落地细粒度描述的人,这篇给了一条很具体的路径:训练时用冻结图像嵌入当教师,推理时不要多阶段校验。不需要 IIW 那种超长人工描述,也不需要先跑一遍 CapMAS 产伪标签。单卡 A100 上从约两分钟一张图回到约六秒,精度还略高。
细粒度不等于写长。基线 348 词 Precision 只有 0.7884,FFT 115 词到 0.8485,Recall 几乎不动,多出来的字很多是空转。
这是训练目标的替换,不是新架构。基座还是 Qwen2.5-VL-7B,改的是 LoRA 和投影头。Recall 全场持平,说明「把人会问到的视觉证据写全」这件事,嵌入对齐并没有真正推上去,推上去的是少写没撑住的话。如果产品要的是覆盖率而不是干净短描述,GRPO 变体或外挂轻量校验更对症。
作者写得很清楚:不再依赖描述标签,就改去依赖冻结嵌入教师。教师的偏差和粒度决定哪些区分会被奖励。跨域换教师、FFT 精度和 GRPO 召回怎么拼,论文只点了方向,没有做。
更扎眼的是 Recall 全场持平。如果细粒度的定义是「把图上的区分性证据写进文字」,评测里那套人工选择题几乎没被任何方法推动。F1 接近 CapMAS,主要是 Precision 涨了、句子变短变稳。把这说成「恢复了多阶段校验的质量」,前提是接受「质量等于原子命题事实率」。
评测本身也有循环。论文在附录里批评 LLM judge 有讨好偏差,真阳性约 96%、真阴性低于 25%;而他们自己的 Precision 就是 GPT-4o 在判原子命题。SimLoss 训练时确实没用 judge,但「最高精度」这块奖牌,发奖的还是同类 judge。
实验只在 IIW-400 上。训练图来自 COCO,评测是超详细自然语言描述。没有报告温度、批次大小、投影头结构的消融,也没有换嵌入教师的对照。定性里驼鹿被写成鹿,说明更具体不一定更对。