SourceBook——使用GAN提高扫描书籍分辨率

前段时间我在构思类似的东西,已经要准备着手了,结果一不小心被人抢了先,就分享出来吧。

这个项目基于流行的Real-ESRGAN,下面是处理前后的对比(原始文件为png格式,此处演示的经过jpeg压缩),效果还是不错的,不过对AI超分辨率见得多了的人一定能感觉到熟悉的“GAN味”。

目前发现的问题:训练使用的字体包括思源宋、黑和蒹葭文楷,对大多数正文字体效果都可以,但对于和上述字体差异过大的字体(如艺术字体,或超细、超粗体)效果没那么好;因为模型是基于文字训练的,对于真正的图片(文中插图)可能会起到反效果。将来也许可以套一个版面分析的程序(如PP-Structure)然后对不同的内容使用专门的模型……不过我更期待ai能真正意义上消灭扫描书籍。


项目主页: tumuyan/SourceBook-Dataset: image datasets & model for text/book super-resolution (github.com)
某论坛发布帖: 书之溯源 SourceBook v1.0.1 恢复书本身的模样 可以将低分辨率的扫描书恢复为高分辨率 - 『精品软件区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

9 个赞

我之前就发现Real-ESRGAN虽然处理漫画会过度,但是处理文字有奇效,尤其是它默认是x4,其他大多是x2,所以处理扫描文字的效果最好。我是用这个处理了一些来看。
这个项目看来是专门对文本进行了训练,效果应该会更好。

1 个赞

我也是某天面对superlib上质量令人发指的扫描图片,突发奇想用Real-ESRGAN跑了一下,结果效果意外的还行,然后才萌生了训练一个模型的想法。

1 个赞

这个项目还是略显保守,只训练了x2,而没有像原版那样默认x4。而实际上古早的扫描本往往分辨率很低,x4最好,太大了大不了再缩小。
另外它无法修复二值化带来的笔画缺失,感觉还是有改进的余地。

不过看作者的意思二值化的笔画缺失很难修复了,于是似乎是低分辨率的灰度扫描本比二值化过的更有价值了。

想要修复笔画缺失需要更激进的做法,恐怕得是像pix2pix这样的图片翻译模型,以文字的原有图片和OCR结果为输入,输出和其他文字风格统一的正确字形图片。问题是OCR结果本身是否值得相信也是个问题。

(Ps:如果真有这样的模型的话,曾经如同弱智吧提问的“我下载的电子书【扫描版本】要怎么改字体”恐怕要得到解决了:joy:

刚试了一下这个,报错了(在Windows虚拟机里运行的):

vkCreateInstance failed -9
invalid gpu device

大陆地区的书籍,百分之九十以上用的都是书宋。其中又以方正书宋为大头。尤其是90年代~10年代之间,大量的书籍都是使用方正系的软件排版,所以方正书宋更是占绝对的主导。在此之外,近年来书籍的编辑也在尝试使用其他的字体以打破陈俗之气。

1 个赞

invalid gpu device
显卡报错,Real-ESRGAN为了加速是要调用显卡的(多半是CUDA),虚拟机估计搞不定(除非做了显卡直通)

1 个赞

感谢分享;尝试了,效果是还行,前后对比明显,但是好像对显卡负荷特别高,而且速度也特别慢,比如,114页就花费了105分钟,平均一页得一分钟,对电脑负荷特别高,发热,风扇狂转。为了清晰化一本书三百多页的书,我的笔记本这样工作了几个小时,现在似乎有点后遗症了,风扇老出噪音,也可能是机子老了的缘故… :smiling_face_with_tear:

我的旧笔记本也这样。

从finereader 10换到finereader 11后,新软件运行快速如飞。

第二天硬盘完全挂了。我纳闷:有病毒吗?还能伤硬盘?这么厉害?

拿去检查。内置硬盘的连接完全烂掉了。没办法,换新电脑。

谢谢反馈。那你的代价好大。我后来电脑也工作不了,风扇噪音巨响,还异常死机,只好去电脑维修店看了下,花点钱换了个散热硅脂,现在运转倒是还算正常… 以后跑这类高负荷程序得更小心一些了…

感謝分享,您帖子中2个对比图,优化的效果很明显有改进。而优化前的情况,恰好是我遇到的几本书–扫描的pdf–的情况,勉强能看,但的确模糊。我看到有人用老马的工具,把pdf转为图片,然后,用老马的软件对图片进行处理,再合并为pdf。这个过程可以改善pdf的模糊,但过程比较耗时。
请问您介绍这个软件是怎么操作的呢?去githu看了一下,没看懂。好像这个方法也是处理图片,不能直接用于对一本扫描的pdf书籍的优化。不过,这2个对比图,的确是改善得令人垂涎三尺啊。

把图片文件夹拖到 run.bat 上就可以运行。

不过这个比老马啊!老马!的那个comicenhancer要费时间很多。而且我一般会先用sourcebook降噪,再用comicenhancer处理一遍。

png → jpeg 格式,图片大小会小很多

我这台电脑运行ABBYY FineReader15中的OCR,整台电脑都要卡死了,然后我看了一下任务管理器,CPU使用率达到了100%。散热器呼呼一直转,还好CPU没烧掉。

训练使用的字体包括思源宋、黑和蒹葭文楷

找到一篇介绍以前活字设计的文章。
用徐明体来训练,不知效果会不会改善?