想象这样一个场景:你要聘请一位 AI 做你的城市导游。旧版笔试很简单,考官递上一张照片问:“这是什么水果?”“图里有几只猫?”考生凭颜色和形状就能蒙对大半。可一旦站到真实街头,游客指着招牌问“这家店几点关门”,AI 当场傻眼——因为答案清清楚楚写在招牌上,而它从来不需要看字。这正是传统 VQA 基准的尴尬:它的题库里,考“读字”的题目几乎为零。 TextVQA 就是为了补上这块拼图而诞生的“识字路考”。它把多模态模型请进真实街景考场,题目必须读取路牌、菜单、价签上的场景文字,再结合图片上下文才能作答。它考察的不是背诵题库,而是 OCR 识别与视觉推理的协同作战——这也是文档理解、票据识别等真实应用的核心能力。 本文将沿用“AI 导游资格考试”这个比喻,从考试设计者视角拆解 TextVQA:它为何诞生、如何出题、怎样阅卷、模型又如何闯关。读完你会明白,为什么每个多模态大模型评测榜单,都要单独列一项 TextVQA 分数。

岗位关联

掌握 TextVQA 基准,等于掌握多模态模型“读图识字”能力的标尺——这是你评估、调试和选型视觉语言模型时最实用的度量衡之一,直接关系到文档理解、路牌识别、购物辅助等真实场景。

目录
  1. 可视化演示
  2. 基准起源
  3. 任务定义
  4. 数据集构建
  5. 评测指标
  6. 模型挑战
  7. 方法演进
  8. 价值意义
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

演示TextVQA基准如何让模型读取图像中的文字并结合视觉上下文回答问题,分步展示OCR检测与视觉推理的协同管道,并对比不同题型与模型方案的准确率。

本节配有交互动效(进入视口后自动加载,约 3KB)。

TextVQA 关键 文字识别:OCR读取场景文字 视觉推理:结合上下文问答 组合题:文字+视觉最困难 OCR+推理 协同提升准确率

基准起源

假设你要考核一位 AI 导游的从业资格。旧版考试长这样:递上照片问“这是什么水果”“图里有几只猫”。考生靠颜色、形状就能蒙对大半,因为考卷从未出现过“招牌上写着什么”这类问题。考官们渐渐发现:自己的题库在真实世界面前,漏掉了最要命的一项技能——认字。

这套“旧版考试”就是传统 VQA(视觉问答)基准:给模型一张图和一个问题,让它输出答案。VQA 基准推动了无数模型进步,但研究者统计题库后发现,需要读取图中文字才能作答的题目占比几乎为零——模型就算完全不识字,也能在考试中拿高分。

2019 年,研究团队发布论文《Towards VQA Models That Can Read》,正式推出 TextVQA 基准。论文指出传统 VQA 偏重物体识别,对场景文字(如路牌、店招、价签上的文字)覆盖严重不足。TextVQA 的定位是补上这块短板:所有问题都围绕图像中真实出现的文字设计,逼着模型学会“读”。

TextVQA 的诞生,就像考官把“识字路考”正式写进导游资格大纲。它传递的信号很明确:认得出苹果不算本事,读得出“营业至 22 时”,才是合格导游的入场券。

Pread=∣Qtext∣∣Qall∣≈0\displaystyle P_{\text{read}} = \frac{|\mathcal{Q}_{\text{text}}|}{|\mathcal{Q}_{\text{all}}|} \approx 0
这个式子想表达:旧题库里“必须读字才能答对”的问题占比趋近于零,所以模型从没被逼着学认字。
  1. 分子 |Q_text|旧试题中需要读文字才能回答的问题数量,统计上趋近于零。
    ∣Qtext∣≈0\displaystyle |\mathcal{Q}_{\text{text}}| \approx 0
  2. 分母 |Q_all|题库中所有问题的总数,即传统 VQA 的完整试题集。
    ∣Qall∣>105\displaystyle |\mathcal{Q}_{\text{all}}| > 10^{5}
  3. 比值 P_read文字问题占比极小,导致模型形成“不识字也能过”的侥幸心理。
    ∣Qtext∣∣Qall∣≈0\displaystyle \frac{|\mathcal{Q}_{\text{text}}|}{|\mathcal{Q}_{\text{all}}|} \approx 0

任务定义

新考试的题型设计得很巧妙:考题给出一张街景照,问“这家店几点关门”。答案不在画面中央的招牌之外——它清清楚楚写在招牌上,可考生得先“看见字”,再“看懂字”,最后把“22时”和“关门”这个动作连起来。

形式上,TextVQA 仍是标准的视觉问答:输入一张图像 I 和一个自然语言问题 Q,输出一段文本答案。与普通 VQA 的区别在于,正确答案的线索主要藏在图像中的场景文字里,而非物体的颜色、形状或类别。

于是任务可以被拆成三个子问题:一是 OCR 识别——图像上有哪些文字、分别在哪;二是选择——哪段文字与问题相关;三是推理——把文字与视觉对象(如门面、餐品)联合起来得出结论。模型输出的答案是开放文本,可能是“22时”这样的原文抄录,也可能是“不营业”这样的推理结果。

这就像导游面对游客提问时,先在脑内检索“我看到了什么字、看到了什么东西”,再挑一个最有把握的答案说出口。题不难,难在每一步都要做对。

a^=arg⁡max⁡a∈AP(a∣I,Q)\displaystyle \hat{a} = \arg\max_{a \in \mathcal{A}} P(a \mid I, Q)
模型就像考生面对一题多解的选择题:把所有候选答案在心里过一遍,选出“看到这张图、听到这个问题”时最有把握的那个。
  1. 条件概率 P(a|I,Q)给定图像 I 与问题 Q,模型为每个候选答案 a 估算的合理程度。
    P(a∣I,Q)\displaystyle P(a \mid I, Q)
  2. 答案空间 A所有可能答案组成的集合,在 TextVQA 中是开放式的短文本。
    a∈A\displaystyle a \in \mathcal{A}
  3. argmax 取最大从候选中选取概率最高的答案作为模型输出 â。
    a^=arg⁡max⁡a∈AP(a∣I,Q)\displaystyle \hat{a} = \arg\max_{a \in \mathcal{A}} P(a \mid I, Q)

数据集构建

一场好考试背后是一本好题库。TextVQA 的考官们从 COCO 数据集里挑出 2.8 万张真实街景照片——餐厅、超市、地铁站——全是文字密集的“天然考场”。他们先请标注者把所有文字框出来、写下来,再请另一批人对着照片提问,且问题必须“不读字就答不出”。

数据集构建分为三层:图像筛选、OCR 标注、人工提问。图像来自 COCO 数据集,覆盖大量含场景文字的真实照片;标注者借助 OCR 工具并人工校正,标出每处文字的位置与内容;问题编写者根据文字内容设计自然语言问题。

最终 TextVQA v1 包含 28,408 张图像与 45,336 道问题,平均每张图约 1.6 个问题。测试集的答案由多位人工标注者提供,作为评分基准。题目的“含金量”在于:问题必须同时涉及文字与视觉上下文,例如“这家餐厅卖什么”需要同时读招牌和看菜品。

题库的底色决定了考试的含金量。TextVQA 把考场搬进真实街景,每一题都像游客随手拍下的困惑——这正是它比其他合成数据更“值钱”的地方。

∣Q∣∣I∣=45,33628,408≈1.6\displaystyle \frac{|\mathcal{Q}|}{|\mathcal{I}|} = \frac{45{,}336}{28{,}408} \approx 1.6
平均每张图约有 1.6 道题,说明题库密度恰到好处:既保证场景多样,又避免同一张图反复出题导致记忆作弊。
  1. 问题总数 |Q|人工编写的 45,336 道题,全部要求结合场景文字作答。
    ∣Q∣=45,336\displaystyle |\mathcal{Q}| = 45{,}336
  2. 图像总数 |I|28,408 张 COCO 场景图,保证了街道、店铺、菜单等场景多样性。
    ∣I∣=28,408\displaystyle |\mathcal{I}| = 28{,}408
  3. 平均题数比两者相除得到平均每张图的题目密度,约 1.6 道。
    ∣Q∣∣I∣≈1.6\displaystyle \frac{|\mathcal{Q}|}{|\mathcal{I}|} \approx 1.6

评测指标

考卷设计好了,阅卷规则也得讲究。开放式答案没有唯一的“标准答案”:“22时”“22点”“晚上十点”都对。若只认一个参考答案,考生和阅卷老师都会崩溃。TextVQA 的解法是“人工陪审团”:每个问题征集 10 位标注者的答案,模型答案只要与其中 3 人一致,就记满分。

TextVQA 沿用标准 VQA 准确率作为核心指标。其设计哲学是:参考答案不是一个点,而是一个集合。通过多数人投票的方式,既宽容了表述差异,又保留了客观可比性。

具体计算时,统计 10 个人类答案中与模型输出完全一致的数量 c,得分 = min(1, c/3)。3 人及以上一致得 1 分,少于 3 人则按比例给分。例如模型答“22:00“,有 2 位标注者也写”22:00”,得 2/3 ≈ 0.67 分。这一指标成为后续众多多模态模型榜单的标准尺。

这套阅卷规则像极了生活中“多数人认可”的共识机制:3 位游客点头,导游这个回答就算过关。既放过了无伤大雅的措辞差异,又筛掉了真正离谱的错误。

Acc(a^)=min⁡(1,c3)\displaystyle \text{Acc}(\hat{a}) = \min\left(1, \frac{c}{3}\right)
阅卷规则可以概括为“三人成虎式宽容”:只要 10 位标注者里有 3 位认可模型答案,这道题就按满分计——措辞差异被容忍,明显错误被筛掉。
  1. 一致数 c遍历 10 位标注者的答案,统计与模型答案完全相同的人数。
    c=∑i=1101[a^=ai]\displaystyle c = \sum_{i=1}^{10} \mathbb{1}[\hat{a} = a_i]
  2. 归一化 c/3以“3 人一致”为满分基准,少于 3 人按比例得分。
    c3\displaystyle \frac{c}{3}
  3. min 上限截断得分封顶为 1,避免标注者高度一致时分数虚高。
    min⁡(1,c3)\displaystyle \min\left(1, \frac{c}{3}\right)

模型挑战

拿到新考卷,AI 导游们集体翻车。翻车的原因逃不开三关:第一关看清字——招牌歪了、被树枝挡住、灯光昏暗,OCR 就认错;第二关读懂字——“营业中”和“已打烊”一字之差,语义天壤之别;第三关字图联动——知道“今日特价”四个字,还得认出特价的是哪道菜。

这三关对应三个技术挑战:OCR 识别鲁棒性、文字语义理解、跨模态融合。早期模型常出现“字是读出来了,可答非所问”的尴尬——因为 OCR 文本与视觉特征没有打通。

跨模态融合的关键是注意力机制。模型将 OCR 文字 token 与视觉区域特征映射到同一空间,动态计算“当前问题最该关注哪个字、哪个区域”。例如问“几点关门”,注意力应集中在“22时”上;问“卖什么”,注意力则应转移到“面馆”与相邻的菜品区域。

注意力像导游的视线管理:读时间看钟表,读菜单看价签,视线落对地方,答案自然浮现。

Attn(Q,K,V)=softmax(QK⊤dk)V\displaystyle \text{Attn}(Q, K, V) = \text{softmax}\left(\frac{Q K^{\top}}{\sqrt{d_k}}\right) V
注意力机制像导游的视线管理:游客问什么,眼神就聚焦到什么。分数高的一对被重点关注,最终把“该看的字”和“该看的景”加权汇成一条线索。
  1. Q 与 K 的点积计算问题特征与文字/视觉特征之间的相似度分数。
    QK⊤\displaystyle Q K^{\top}
  2. 缩放因子 √d_k除以特征维度的平方根,防止分数过大导致 softmax 饱和。
    QK⊤dk\displaystyle \frac{Q K^{\top}}{\sqrt{d_k}}
  3. softmax 归一化把相似度转成和为 1 的注意力权重,突出最重要的信息。
    softmax(QK⊤dk)\displaystyle \text{softmax}\left(\frac{Q K^{\top}}{\sqrt{d_k}}\right)
  4. 加权聚合 V按权重汇总文字与视觉信息,得到融合特征作为推理依据。
    Attn(Q,K,V)\displaystyle \text{Attn}(Q,K,V)

方法演进

第一代考生答题很笨:把图上的字全部抄进答案,复制粘贴了事。这样的“生字本”毫无灵魂——模型不知道每个字长在哪、是什么字体、属于哪个招牌。直到学霸模型登场,才把“生字本”升级成“记忆卡片”。

以 M4C(Multimodal Multi-Copy Mesh)为代表的模型,重新设计了 OCR token 的表示方式。它不把 OCR 文本当普通字符串,而是把每个文字 token 编码成四条信息的融合体。

M4C 中,OCR token 的最终表示由四类特征逐元素相加得到:FastText 词向量提供语义、字符级 CNN 编码拼写细节、PHOC 描述字符形状结构、Faster R-CNN 检测框特征记录其视觉位置。此后,答案通过迭代解码生成,模型甚至可以直接“复制”某个 OCR token 作为答案——因为 TextVQA 的答案经常就写在图里。后续工作进一步引入针对图文关系的预训练任务,把“识字”能力预装进模型。

记忆卡片的哲学是:一个字的“意思、长相、位置”缺一不可。当模型答题时能同时调用这些信息,“从图里抄答案”就升级为“看着图答答案”。

eocr=eword+echar+ephoc+edet\displaystyle e_{\text{ocr}} = e_{\text{word}} + e_{\text{char}} + e_{\text{phoc}} + e_{\text{det}}
一个 OCR token 的表示,是“意思、拼写、形状、位置”四张卡片的叠加。模型答题时相当于同时翻开四张卡片,而不是只看一张。
  1. 词向量 e_word用 FastText 编码文字 token 的语义信息。
    eword\displaystyle e_{\text{word}}
  2. 字符特征 e_char字符级 CNN 提炼拼写构成,抵抗字体形变干扰。
    echar\displaystyle e_{\text{char}}
  3. 形状描述 e_phocPHOC 编码字符结构,捕捉文字的形状指纹。
    ephoc\displaystyle e_{\text{phoc}}
  4. 检测特征 e_detFaster R-CNN 输出的视觉框特征,记录文字在画面中的位置。
    edet\displaystyle e_{\text{det}}
  5. 逐元素相加四路特征求和,得到携带语义与位置的统一表示。
    eword+echar+ephoc+edet\displaystyle e_{\text{word}} + e_{\text{char}} + e_{\text{phoc}} + e_{\text{det}}

价值意义

识字路考上线后,AI 导游圈被重新洗牌。原本在旧考试里拿高分的“优等生”纷纷现出原形——不是它们变笨了,而是考卷终于考到了它们从没练过的技能。更深远的意义在于,这场考试把整个行业的目光拽向了“读图识字”。

TextVQA 的价值早已超出单一数据集。它是多模态模型评测生态中的“识字量尺”:文档理解、票据识别、自动驾驶路牌读取等场景,都直接受益于“读字 + 推理”能力的可量化评估。

在实际应用中,评估一个多模态大模型能不能胜任文档类任务,先看它在 TextVQA 上的分数已成为行业惯例。它催生的 OCR 预训练、跨模态融合等技术,与后来的 Document VQA、表格理解等基准一脉相承,共同构成视觉语言评测的完整拼图。

考试的意义不在分数,而在镜子。TextVQA 这面镜子照出了行业认知的盲区:AI 能“看见”世界,但离“读懂”世界还很远。现在,每一份多模态模型评测报告上的 TextVQA 分数,都是这场路考留下的时代注脚。

Gap=AccVQA−AccTextVQA≈0.4\displaystyle \text{Gap} = \text{Acc}_{\text{VQA}} - \text{Acc}_{\text{TextVQA}} \approx 0.4
同一个模型,在普通 VQA 上能到 75 分上下,在 TextVQA 上早期只有 35 分左右——这约 40 分的落差,就是“读字”这块短板的真实尺寸。
  1. 普通 VQA 准确率同一模型在传统 VQA 基准上可达 70%~80%。
    AccVQA≈0.75\displaystyle \text{Acc}_{\text{VQA}} \approx 0.75
  2. TextVQA 准确率早期强模型在 TextVQA 上仅 20%~40%。
    AccTextVQA≈0.35\displaystyle \text{Acc}_{\text{TextVQA}} \approx 0.35
  3. 能力差距约 40% 的差距暴露了“读字”是多模态模型的最大短板。
    AccVQA−AccTextVQA≈0.4\displaystyle \text{Acc}_{\text{VQA}} - \text{Acc}_{\text{TextVQA}} \approx 0.4

AI 应用场景

财务报销票据理解

阶段:模型评测与选型

解决的问题:传统 OCR 只能把发票上的字“抠”出来,却答不出“这顿午饭花了多少钱”这类语义问题。TextVQA 式的“读字 + 理解 + 查询”协同能力,恰好是票据理解的核心诉求。

具体案例:某财务 SaaS 公司在选型时,用 TextVQA 作为标尺横向对比多个视觉语言模型,专门统计“拍发票问总额”的准确率,筛出表现最好的模型上线,把报销录入时间从 5 分钟压缩到 30 秒。

自动驾驶路牌读取

阶段:模型能力评测

解决的问题:自动驾驶需要实时读取限速牌、禁行标志,还要与地图、路况等视觉信息融合判断。TextVQA 风格的题目(如问“这里限速多少”并要求结合路况)提供了标准化的评测方式。

具体案例:某自动驾驶团队在仿真环境中用 TextVQA 式样本测试感知系统的“读字推理”链路,发现模型对倾斜、反光路牌识别率低,据此加强了数据增强,使限速识别准确率提升 12%。

视障辅助问答应用

阶段:应用效果评估

解决的问题:在无障碍阅读类产品中,用户拍下药品包装问“一天吃几次”,模型必须读到说明书上的文字并理解剂量。TextVQA 的指标与题型为这类应用提供了现成的评测基准。

具体案例:开发者沿用 TextVQA 的评测思路构建内部回归测试集,持续追踪“读药盒文字”能力,避免模型版本升级后出现“读字能力倒退”。

Python 演示

python82 行
"""TextVQA 风格评测的最简演示: 模拟数据 + 准确率指标 + 双模型对比。""" MOCK_DATA = [    {        "image_id": "store_001",        "ocr_tokens": ["营业中", "22时", "面馆"],        "question": "这家店几点关门?",        "human_answers": ["22时", "22点", "22:00", "晚上十点", "22时",                          "22时", "22时", "十点", "22:00", "晚上十点"],    },    {        "image_id": "store_002",        "ocr_tokens": ["今日特价", "牛肉面", "28元"],        "question": "牛肉面多少钱?",        "human_answers": ["28元", "28", "28元", "二十八元", "28元",                          "28块", "28元", "28元", "28元", "28"],    },    {        "image_id": "store_003",        "ocr_tokens": ["已打烊", "明日9时"],        "question": "这家店现在营业吗?",        "human_answers": ["不营业", "没有", "打烊了", "不营业", "已打烊",                          "不营业", "关门", "不营业", "没开", "关门了"],    },    {        "image_id": "store_004",        "ocr_tokens": ["营业时间", "9:00", "22:00"],        "question": "这家店几点关门?",        "human_answers": ["22:00", "22点", "22时", "晚上十点", "22:00",                          "22:00", "22:00", "十点", "22:00", "晚上十点"],    },]  def vqa_accuracy(model_answer, human_answers):    """计算 TextVQA 风格准确率: min(1, 一致人数 / 3)"""    match_count = sum(1 for ans in human_answers if ans == model_answer)    return min(1.0, match_count / 3.0)  def simple_reader_model(question, ocr_tokens):    """极简基线: 只取第一个含数字的 token, 忽略问题语义与视觉布局"""    digit_tokens = [t for t in ocr_tokens if any(ch.isdigit() for ch in t)]    if "几点关门" in question and digit_tokens:        return digit_tokens[0]    if "多少钱" in question and digit_tokens:        return digit_tokens[0]    if "营业" in question:        if any(("打烊" in t or "不营业" in t) for t in ocr_tokens):            return "不营业"        return "营业中"    return "不知道"  def keyword_reader_model(question, ocr_tokens):    """增强基线: 结合问题关键词挑选正确的文字 token"""    if "关门" in question:        return next(t for t in ocr_tokens if "22" in t)    if "开门" in question:        return next(t for t in ocr_tokens if "9" in t)    return simple_reader_model(question, ocr_tokens)  def evaluate(model, name):    total = 0.0    print("== %s ==" % name)    for item in MOCK_DATA:        pred = model(item["question"], item["ocr_tokens"])        acc = vqa_accuracy(pred, item["human_answers"])        total += acc        print("  Q: %s -> %s | acc=%.2f" % (item["question"], pred, acc))    print("  整体准确率: %.2f\n" % (total / len(MOCK_DATA)))  def main():    print("=== TextVQA 风格基准评测演示 ===")    evaluate(simple_reader_model, "无推理基线")    evaluate(keyword_reader_model, "关键词增强模型")  if __name__ == "__main__":    main()
目的:用一个小型模拟数据集复现 TextVQA 的评测流程——计算标准准确率、对比“只会抓第一个数字”的弱模型与“能按问题语义挑字”的强模型,直观展示为什么“读字 + 推理”缺一不可。
  1. match_count = sum(1 for ans in human_answers if ans == model_answer)统计 10 位标注者中与模型答案完全一致的人数。
  2. return min(1.0, match_count / 3.0)按 VQA 规则归一化并封顶,3 人一致即 1 分。
  3. digit_tokens = [t for t in ocr_tokens if any(ch.isdigit() for ch in t)]先粗筛出含数字的文字 token,模拟“只会找数字”的朴素策略。
  4. if "几点关门" in question and digit_tokens:用关键词做最简单的语义匹配,但不看 token 的顺序与位置。
  5. if any(("打烊" in t or "不营业" in t) for t in ocr_tokens):检测否定语义词,判断店铺是否营业。
  6. return next(t for t in ocr_tokens if "22" in t)强模型会结合问题中的“关门”去挑含"22"的 token,而不是盲选第一个。
  7. total += acc逐题累加准确率,最后除以题目数得到整体分数。

常见误区

误区TextVQA 考的不就是文字识别吗?把 OCR 算法调准,考试分数自然就上去了。

正解TextVQA 考的是“读字 + 看图 + 推理”的完整闭环。OCR 只是把文字从像素变成字符串,模型还要判断哪段文字与问题相关、如何与视觉对象关联。现实中许多模型 OCR 结果很准,却因为把“面馆”当作“几点关门”的答案而失分——生字全认识,句子没读懂,照样不及格。

为何常见:TextVQA 名字里带"Text",且公开评测榜常与 OCR 技术并列出现,让人误以为它是纯粹的 OCR 指标。

误区TextVQA 上拿到 90% 准确率,说明模型读图推理已经超过人类了。

正解该指标的满分线是“3 位标注者一致”,本身是一个宽容的共识分数,不是严格的推理得分。人类在 TextVQA 上大约能做到 85% 左右,而 90% 的模型仍可能是在高频答案上“取巧”。分数只能说明模型与人类答案的重合度高,并不等于它真的“理解”了画面。

为何常见:人们习惯把数值排名直接等同于能力排名,忽略了指标本身的构造逻辑。

误区两万多张图、四万多道题,规模这么大,拿它来预训练视觉语言模型肯定够用。

正解TextVQA 的定位是评测基准,体量远远小于预训练语料;且题目集中在街景与日常场景的英文文字,存在明显的领域偏置。拿它训练容易过拟合“路牌题”,换到中文菜单、快递单、表格就失灵。正确用法是当作“期末考试”,而不是“教材”。

为何常见:看到“数据集 + 上万规模”就联想到训练,忽略了“出题”与“喂饭”的根本区别。

误区评测很简单啊,把现成的 VQA 模型在 TextVQA 测试集上跑一遍就行。

正解普通 VQA 模型没有专门的 OCR 文字输入通道,图像中的文字经缩放后变成“一团糊”,模型根本读不出来。要在 TextVQA 上得分,架构必须显式引入文字检测、OCR 特征与融合模块。这正是该基准倒逼模型架构升级的原因,也是它作为“试金石”的价值所在。

为何常见:人们默认深度学习模型是“通用函数”,忽略了输入表示设计对特定任务的决定性影响。

误区TextVQA 的答案都写在图上,把 OCR 文字拼接进问题,不需要看图像内容。

正解许多题目必须“字图联合”才能作答:问“哪个是今日特价菜”,需要把“今日特价”标签与旁边菜品对象对齐;问“店还开着吗”,要结合“营业中”与店内灯光。纯文本输入丢失了空间布局信息,答案容易张冠李戴。

为何常见:观察到“答案藏在文字中”的表象,就忽略了视觉上下文在定位与消歧中的关键作用。

面试题

Q1. TextVQA 基准的核心考察目标是什么?

单选题 · easy

  • A.图像中的物体识别精度
  • B.图像中文字的读取与理解← 正确答案
  • C.图像生成的图像质量
  • D.语音识别的准确率

答案:B。TextVQA 的定位正是补传统 VQA 的短板——读图里的字。它考的是场景文字的读取与理解,而非物体识别(那是传统 VQA 的强项),更与图像生成、语音识别无关。

Q2. TextVQA 的题目形式是什么?

单选题 · easy

  • A.仅包含图像与标签
  • B.仅包含文本段落
  • C.图像加问题输出答案← 正确答案
  • D.语音视频输出文本

答案:C。TextVQA 属于视觉问答,输入是一张图像和一个自然语言问题,输出是开放式短文本答案。它既不是纯图像分类,也不是纯文本任务,更与语音视频无关。

Q3. TextVQA 的问题主要围绕什么来设计?

单选题 · easy

  • A.图像中的场景文字内容← 正确答案
  • B.图像中的物体颜色
  • C.图像拍摄的时间和地点
  • D.随机生成的模板句子

答案:A。数据集构建时,人工提问者必须围绕图中真实出现的场景文字设计问题,确保“不读字就答不出”,这是 TextVQA 与普通 VQA 题库最本质的差异。

Q4. TextVQA 评测指标中,模型得分 = min(1, c/3),其中 c 指什么?

单选题 · mid

  • A.模型输出答案的字符数
  • B.十位标注者中一致人数← 正确答案
  • C.图像中文字区域的数量
  • D.问题中单词的总数

答案:B。c 是 10 位人工标注者中与模型答案完全一致的人数,即“多数人认可度”。它不关心答案长短,也不关心图上有多少文字、问题有多少单词。

Q5. 早期标准 VQA 模型在 TextVQA 上表现差,最主要的原因是什么?

单选题 · mid

  • A.数据集图片数量太少
  • B.模型缺少文字特征通道← 正确答案
  • C.问题难度设置太高
  • D.答案文本种类繁杂

答案:B。普通 VQA 模型没有为 OCR 文字设计显式的输入表示,图像中的字会被缩放成模糊像素,模型根本“看不见字”。这属于架构缺陷,而不是数据量、难度或答案种类的问题。

Q6. M4C 模型中,OCR token 的四类特征是按什么方式组合的?

单选题 · mid

  • A.逐项相乘
  • B.取均值处理
  • C.逐元素相加← 正确答案
  • D.随机选择

答案:C。M4C 将 FastText 词向量、字符 CNN、PHOC、检测框特征四路表示逐元素相加,得到携带语义、拼写、形状与位置的统一 token 向量。

Q7. 关于 TextVQA 的准确率公式,下列说法正确的是?

单选题 · mid

  • A.必须与所有标注者完全一致才得分
  • B.三位以上一致即得满分← 正确答案
  • C.答案字数越多得分越高
  • D.唯数值型答案能够得分

答案:B。公式 min(1, c/3) 中,c 达到 3 就封顶为 1 分。它不要求全部一致,不看字数,也不限定答案类型——文字、数字、符号都行。

Q8. TextVQA 对多模态模型评估的价值包括哪些?

多选题 · mid

  • A.补充传统基准的读字短板← 正确答案
  • B.提供文档理解参考指标← 正确答案
  • C.完全替代人工评测体系
  • D.推动场景文字应用评估← 正确答案

答案:ABD。TextVQA 补上了传统 VQA 对场景文字的盲区,其分数成为文档理解等任务的参考指标,也推动了票据、路牌等应用的落地评估。但它依赖人工标注答案,并不能替代人工评测体系。

Q9. 在 TextVQA 任务上,模型面临的挑战有哪些?

多选题 · hard

  • A.场景文字识别鲁棒性问题← 正确答案
  • B.文字视觉对象跨模态融合← 正确答案
  • C.文字语义理解与推理能力← 正确答案
  • D.图像文件压缩传输效率

答案:ABC。模型要过三关:看清字(OCR 鲁棒性)、读懂字(语义理解)、字图联动(跨模态融合)。图像文件的压缩传输属于工程问题,与 TextVQA 的推理能力无关。

Q10. 模型输出答案“22点”,10 位标注者中有 3 人写“22点”、2 人写“22:00“、3 人写”22时“、2 人写”十点”。该模型的准确率是多少?

单选题 · extreme

  • A.0.3 分
  • B.0.5 分
  • C.1.0 分← 正确答案
  • D.0.8 分

答案:C。c = 与模型答案完全一致的标注者人数 = 3(写“22点”的 3 人)。得分 = min(1, 3/3) = 1.0。其余答案哪怕语义相同,只要字符串不一致就不计入 c——这正体现了“精确匹配”的评分特点。