夜雨聆风学习资料网

ARTICLE · 1103076

让 AI 从论文里提图:找到图注,不等于找到图

让 AI 从论文里提图:找到图注,不等于找到图
匿名 · 电力电子方向在读博士 · IEEE 期刊审稿人

读论文时想把一张电路图、一条效率曲线挪进自己的笔记或汇报里,很多人的第一反应是"让工具自动把图抠出来"。这件事听起来是纯技术活:PDF 里的图有图注、有位置,按图注定位裁出来不就行了。

我做了一版这样的提取脚本,跑完几十篇论文之后得到一个反直觉的结论:找到图注和找到图,是两件不同的事。更麻烦的是,它出错的方式全都长得像成功。脚本会正常打印"共 N 张图"然后退出,图里少了一半、裁成一片空白、或者内容被当成白边裁掉,都不会报一个错。

所以提图能不能交给自动化,不取决于工具强不强,取决于两件事:你有没有一组自己实测过的判据,以及你愿不愿意逐张人眼看。

一、"图注"这个判据,比你以为的脆

最开始我用的判据是标点:真图注的数字后面带句点(Fig. 2. Proposed system),正文引用不带(Fig. 2 shows ...)。这条规则在大多数期刊上确实好使。

然后遇到一篇,图注写法是 Fig. 1 (a) Conventional ...,数字后面直接跟子图标签,没有句点。按标点判,这一篇的图注一张都认不出来,脚本"成功"地返回了 0 张图。这不是崩溃,是它安静地什么都没找到。

后来把判据换成位置判据:不看标点,看图注上方一小段距离内有没有水平重叠的图形元素。正文里的 Fig. 2 shows ... 上方是别的文字或上一段,不会有图形;真图注上方必定紧贴着图。这一条比标点、比维护一长串动词列表都稳。

有一条实测值必须容忍:图注文字块与图区的边界框经常互相重叠十来磅(图块自带留白,或者图注把图里的子标签并了进来)。所以筛图区时,上边界要用图注的底边而不是顶边,否则主图元素会被整块误杀,一张都出不来。

二、五类"看起来正常"的失败

脚本不会告诉你它错了,只会给你一个尺寸数字。下面这几类都是实测遇到过的:

失败类型
脚本的表现
怎么发现
只裁到半张
出图正常、尺寸也正常,就是右边的子图没了
图横向跨栏时,图区按栏切分只并到了一半。判据:出图宽度不到图注跨度的一半(实测图注横跨约 250 磅,出图只有 110 磅)
整张图没进清单
清单从图 1 直接跳到图 3,中间没有任何报错
靠编号跳号发现。跨双栏的整幅拓扑图最容易整个漏掉,而它往往恰好是最想要的那张
子图被切
一张 2×3 的子图大图,左列被裁在框外
数子图标签:出图里该出现的 (a)(b)(c) 是否都在
裁成空白
输出一张几乎空白的图,只留一行子图标签
某些页用"只渲染指定矩形"的方式出图会得到空白;改成整页渲染一次、再按像素裁就正常了
内容被当白边裁掉
一张两千多像素宽的彩色图,被裁成六百多像素宽、四十多像素高
判白边用了亮度。彩色图里的黄、绿区域亮度很高,会被整块当成白边。改成按三通道最小值判背景,彩色与黑白图才对得上同一套阈值

这五条有一个共同点:它们都不抛错。"空白图"和"这个位置本来没内容"在输出上长得一模一样;"裁掉白边"和"裁掉内容"在尺寸数字上也分不出来。

三、定判据之前,先做一次对照

从这件事里我抽出一条可迁移的做法:任何"自动提取"的判据,先拿一份已知答案的样本测一遍。

具体到这里就是:提图之前先自己翻一遍论文,手数一下大概有几张图、哪张是真要的,留作对照答案;再让脚本跑同一篇,两边对不上,就说明判据有问题,而不是论文有问题。

反向的检验同样重要。脚本说"没有"的时候,要确认是真的没有,而不是它没找到。这和判断一个长任务是不是卡死是同一类问题:找不到输出,不等于没有输出。

顺带一个只在批处理时才会露头的坑:脚本的临时文件路径如果不带进程号,同时跑两篇就会互相抢同一个文件,报"权限拒绝"。这类只在并发下出现的毛病要在一开始就排掉,否则几十篇跑一半才炸。

四、坑与边界
环节
能不能交给自动化
边界在哪
定位候选图区
能,而且比人快得多
几十篇一起做时,这一段的收益最大
判断"这张是不是我要的图"
能辅助
按图注关键词粗分类(电路图 / 样机 / 曲线 / 波形)很好用,最终选哪张由人定
判断"裁全了没有、有没有裁白"
不能
脚本只知道自己的输出尺寸,不知道自己裁掉的是白边还是内容
最后验收
不能外包
逐张过一眼是三秒钟的事,也是唯一能拦住上面所有静默失败的环节
五、可以直接照着做的五条
  1. 提图之前先手数一遍:这篇大概几张图、哪张是真要的,留作对照答案。
  2. 判图注真伪别用标点,用位置:看图注上方是否紧贴图形元素。
  3. 输出必须带编号,靠跳号发现整张漏图;出图后每一张都过一眼,不放过任何一个"过扁 / 过高 / 空白"的尺寸告警。
  4. 裁白边按通道最小值判,不按亮度;彩色图与黑白图共用一套阈值。
  5. 把最后一关留给自己:自动提图负责把候选图摆到你面前,验收永远是人的事。

你有没有被这类"看起来正常"的自动结果坑过?欢迎留言说说。

相关学习资料