SourceBook-Dataset
SourceBook-Dataset copied to clipboard
处理不完全由分辨率低造成的模糊
模型对完全由于分辨率不足造成的模糊效果已经很好了。但今天碰到这样的书,提高分辨率有所改进但不能完全解决看起来比较费力的问题。这种类型的模糊在一些扫描书还挺常见,不知道该如何做出训练样本用于专门的训练?这种模糊似乎是字上缺失了一部分像素,导致笔画看起来断断续续的。
原图
原图_x2(使用本模型)
首先我认为使用real-esrgan是无法训练出补全缺失笔画的模型的,这需要使用其他针对文字优化的训练项目。而这就正是问题的关键了:其他项目并没有像real-esrgan一样有完善的代码、训练底模和实用的推理程序。
具体的情况如下: 产生笔画缺失的原因其实非常简单:降低分辨率后,为了让文字清晰,调整了对比度。 书籍印刷所使用的宋体字(或者类似风格字体),横画比竖画更加纤细。在降低分辨率后,横划本应得到灰阶,但是调整对比度后浅灰色被映射为白色,笔画就缺失了。 而我目前的数据集实际上已经模拟了这个过程,sourcehan的低分辨率图像就是降低分辨率后直接二值化处理的。图中左中右三部分分别为我早期训练数据中的低分辨率、使用当前模型放大、高分辨率原图已经丢失请忽略最右。实际上如果二值化阈值更高,就可以模拟出缺失笔画的情况。但是这个图的放大结果已经很糟糕了,所以我认为分辨率过低的文本图片不应当作为real-esrgan的训练集。随后给数据集加大了字号。
明白了。
如果是这个原因我也觉得缺失笔画很难用 real-esrgan 这种通用的图片超分辨模型解决。我看到的对文字有专门优化的工作主要是处理比较短的文本,这种整页的文字的情况还没看到过。
另一个思路或许是 OCR 识别后用识别出来的结果替换原字,但 OCR 的准确度是个问题,有公式的时候就更不好做了。