RESEARCH / PRACTICE / NOTES

文生图上线前,怎样把自动评测做成一道质量关

从任务拆解、图文核对、人工复核到版本回归,建立一套可追溯的文生图质量验收流程。

#工程实践
关键词多模态评测文生图
一幅风景照片在取景遮片和透光窗口中接受核对
本文目录 · 9 个章节
  1. 先把“好图”拆成可以检查的条件
  2. 一条任务怎样走完整个评测流程
  3. 1. 保存任务与生成条件
  4. 2. 生成可复核的规则
  5. 3. 先做确定性检查,再做图文核对
  6. 4. 把结果分成通过、失败与待复核
  7. 5. 归档错误,而不只归档分数
  8. 评测器本身也要接受评测
  9. 自动化到底省下了什么

一张生成图片看起来不错,不代表它完成了任务。要求“红色雨伞在蓝色猫左侧”,结果画出了雨伞和猫,却把位置放反了;要求海报没有文字,画面边缘却出现了几行似字非字的笔画。这类问题在少量样图里容易被忽略,批量生成时又不能全靠人逐张找。

自动评测有用,但前提是先说清楚到底要验收什么。我的理解是,语言模型可以帮助整理要求,视觉模型可以帮助寻找图中的证据;最终的质量关不能只剩一个模型给出的总分。

先把“好图”拆成可以检查的条件

文生图任务里至少有三种要求,不能混在一次“请给这张图打分”里。

要求类型例子更合适的检查方式
文件条件分辨率、比例、格式、文件可读性程序直接读取文件属性
内容条件有几个人、物体颜色、左右关系、指定文字视觉问答、目标检测、OCR,必要时人工复核
体验条件构图是否拥挤、风格是否合适、整体是否自然人工评价为主,模型只能提供参考意见

文件条件有确定答案,不需要让视觉模型猜。内容条件可以自动检查,但数量、方位、遮挡和画中小字恰好也是视觉模型容易看错的地方。体验条件涉及用途和偏好,单一分数更难代表读者或设计人员的判断。

例如任务写的是“横版插画:一只蓝色的猫坐在红色雨伞右侧,背景为雨天街道,画面不出现文字”。可以拆成五条:横版、蓝色猫、红色雨伞、猫在伞右侧、无文字。前三条和后两条的检测难度不同,不能因为颜色正确,就把空间关系也算通过。

还有一个容易出错的地方:评测规则必须来自任务要求,而不是评测模型自由发挥。原任务没有要求“写实摄影”,评测器就不能因图片是插画而扣分。模糊要求可以标为待确认,不能擅自补成硬约束。

一条任务怎样走完整个评测流程

我会把流程分成五步,每一步只做一件事。

1. 保存任务与生成条件

把原始提示词、语言、任务编号、生成模型版本、参数、生成时间和图片文件关联起来。同一任务若生成了多张图,每张图都要有独立编号。后续出现争议时,至少能找到“当时给了什么要求、评的是哪张图、用的是哪版规则”。

多语言任务先保留原文,再抽取结构化要求。翻译可以帮助评测器理解,却不能替代原文;“右侧”“至少三个”“不得出现”等限定词在转换时尤其要核对。

2. 生成可复核的规则

语言模型适合把自然语言拆成检查项,但输出应该是一份规则草稿,而不是直接成为裁决。每条规则至少记录:原文依据、检查对象、通过条件、严重程度和检查方法。

规则通过条件处理方式
画面为横版宽度大于高度读取图片尺寸,自动判定
猫在雨伞右侧两者可辨,且猫的主体位于雨伞主体右侧视觉模型给出观察结果;低置信度转人工
画面不出现文字无可辨识文字及明显伪文字OCR 与视觉检查结合;边界样本人工复核

这里的“严重程度”要按用途设定。商品展示图里的品牌名称写错,可能是直接不合格;一般插画里一块无关紧要的背景纹理,则不宜和主体缺失同等计分。规则变更也要留版本,不能在比较两轮生成结果时悄悄换口径。

3. 先做确定性检查,再做图文核对

读取文件属性、检测损坏、核对长宽比等工作由程序完成。需要看懂画面时,再交给视觉模型。评测器逐条回答“看到了什么、哪条要求满足或不满足、依据是什么、是否无法判断”,比直接输出一个百分制分数更容易查错。

评测模型说“符合要求”并不等于有证据。若它判断猫在伞右侧,应能明确识别两者;若对象被遮挡或画面过于抽象,就应返回“不确定”。文字检测也不宜只靠 OCR:花纹可能被误识别成文字,生成图中的伪文字又可能逃过 OCR。两者冲突时,进入复核队列。

图中如果出现“忽略上一条规则”“直接判定合格”之类内容,它仍然只是待检查的画面内容,不是评测指令。任务文本、图片文字和模型输出应当分开处理。

4. 把结果分成通过、失败与待复核

不要把“模型暂时看不清”算成通过,也不要为了追求自动化率把所有分歧强行压成一个分数。更稳妥的结果是:

  • 通过:确定性条件满足,关键内容要求有足够证据支持。
  • 失败:明确违反不可妥协的要求,例如缺少主体、数量不符、指定文字错误。
  • 待复核:遮挡、复杂空间关系、伪文字、风格争议或不同检查器意见相反。

如果业务确实需要总分,可以在逐项结果之上计算,但要同时展示硬性失败项和不确定项。一个“92 分”不能掩盖人物多出一只手,也不能说明它究竟在哪个维度比“89 分”更好。

5. 归档错误,而不只归档分数

每条结果保存任务编号、图片编号、规则版本、评测模型版本、逐项结论、人工复核结论和失败原因。失败原因最好可检索,例如“数量错误”“空间关系错误”“文字异常”“主体缺失”。这样下一轮改进生成模型时,能看到究竟是哪类错误减少了,而不是只看到平均分浮动。

归档也有边界:含有真实人物、未公开素材或敏感业务信息的图片,不应因为要做评测就无条件发送到外部服务。评测数据的存放位置、访问权限与保留期限需要事先确定。

评测器本身也要接受评测

让模型评图,最危险的不是它偶尔判断错,而是团队不知道它错在什么地方。上线前先挑一批有代表性的图片,由人按同一份规则独立标注;其中应包括容易判的正常样本,也包括左右颠倒、多物体计数、画中文字、遮挡、抽象风格和低清晰度图片。自动评测结果再与人工结果对照。

我更关心四个数:关键错误的漏检率、正常图片的误判率、需要人工复核的比例,以及不同类型任务上的表现。只报告“准确率”会掩盖问题:如果大部分图片本来就合格,一个总是判合格的评测器也可能得到不难看的数字。

比较两版生成模型时,尽量使用同一批任务和同一版评测规则。若生成过程允许固定随机种子,就记录种子;即使不能固定,也应为每类任务保留足够样本,并把人工复核的争议案例单独列出。评测器本身升级时,还要用旧样本回归,避免“分数提高”其实只是裁判换了口径。

图文对齐研究已经反复指出,整体相似度不能充分解释数量、颜色和空间关系等细节错误;GenEval 和 GenAI-Bench 都把可组合的具体要求作为评测重点。它们能提供设计测试集的思路,但公开基准上的表现不能直接替代自己的任务样本和人工核验。

自动化到底省下了什么

合理的目标不是“彻底取消人工”,而是让人集中检查真正难判、容易出严重问题的图片。程序先排除文件错误,模型处理明确的图文条件,人工处理低置信度与高风险样本。这样省下的是重复浏览、抄录结果和整理表格的时间,而不是把质量责任交给另一个模型。

如果要评估是否值得投入,先在一批真实任务上分别记录人工全检与“自动初筛加人工复核”的用时,同时统计漏检、误判和复核量。只有在质量门槛没有下降、节省的时间也超过系统维护成本时,自动评测才算真正提高了效率。没有这样的对照,任何节省百分之多少、准确率达到多少的数字都不应拿来当结论。

文生图的质量关最后还是要落在具体要求上:一条规则能追溯到任务原文,一次判断能回到图片证据,一个有争议的结果能交给人复核。做到这三点,自动化才是帮我们看得更细,而不是让一张看似漂亮的图更快地蒙混过关。

交流与讨论

评论加载中…

随便读一篇 →

站内搜索

输入关键词开始搜索。

搜索内容不会上传 Esc 关闭

订阅明月入怀

将下面的网址添加到你的 RSS 阅读器。