用于 OCR 的场景文本图像超分辨率

M.I*_*nat 15 python ocr opencv text-recognition generative-adversarial-network

我正在研究 OCR 系统。我在识别ROI内的文本时面临的一个挑战是抖动运动效果镜头或由于角度位置无法聚焦的文本。请考虑以下演示示例

在此处输入图片说明

如果您注意到文本(例如标记为红色),在这种情况下 OCR 系统无法正确识别文本。但是,这种情况也可能在没有角度拍摄的情况下出现,其中图像太模糊以至于 OCR 系统无法识别或部分识别文本。有时它们很模糊,有时分辨率很低像素化。例如

在此处输入图片说明

我们尝试过的方法

首先,我们尝试了 SO 上可用的各种方法。但遗憾的是没有运气。

接下来,我们尝试了以下三种最有前途的方法。

1.TSRN

最近的一项研究工作(TSRN)主要关注此类案例。它的主要直觉是引入超分辨率(SR)技术作为预处理。到目前为止,这种实现看起来是最有前途的。但是,它无法在我们的自定义数据集上发挥作用(例如上面的第二张图片,蓝色文本)。以下是他们演示中的一些示例:

在此处输入图片说明

2. 神经增强

在查看其页面上的插图后,我们相信它可能会起作用。但遗憾的是它也无法解决这个问题。然而,即使是他们展示的例子,我也有点困惑,因为我也无法复制它们。我在 github上提出了一个问题,在那里我更详细地演示了这一点。以下是他们演示中的一些示例:

在此处输入图片说明

3. 情监侦

实现中希望最小的最后选择。也没有运气。

更新 1

  • [方法]:除此之外,我们还尝试了一些传统的方法,例如Out-of-focus Deblur Filter(Wiener 滤波器和无监督的Weiner 滤波器)。我们还检查了Richardson-Lucy方法。但这种方法也没有改进。

  • [方法]:我们已经检查了基于 GAN 的 DeBlur 解决方案。DeblurGAN我试过这个网络。吸引我的是Blind Motion Deblurring机制的方法。

最后,从这次讨论中,我们遇到了这项研究工作,这似乎非常好。还没试过这个。

在此处输入图片说明

更新 2

  1. [方法]:通过核估计和噪声注入的真实世界超分辨率 尝试了这种方法。有希望。但是,在我们的案例中不起作用。代码

  2. [方法]:照片修复 与上述所有方法相比,它在OCR的超文本分辨率方面表现最好,令人惊讶。它极大地去除了噪声、模糊等,使图像更加清晰,更好地增强了模型的泛化能力。代码

我的查询

是否有任何有效的解决方法来处理此类情况?可能改善这种方法的任何模糊低分辨率像素的文本是否在前面,由于摄像机的角度?

zha*_*hen 2

目前,有一种解决方案:通过内核估计和噪声注入实现真实世界超分辨率。作者提出了一个退化框架RealSR,为超分辨率学习提供逼真的图像。它是一种很有前途的抖动或运动效果图像超分辨率方法。

该方法分为两个阶段。第一阶段超分辨率真实降级

是根据真实数据估计退化并生成逼真的 LR 图像。

第二阶段超分辨率模型

就是根据构建的数据训练SR模型。

你可以看看这篇Github文章: https: //github.com/jixiaozhong/RealSR