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

Posted

技术标签:

【中文标题】用于 OCR 的场景文本图像超分辨率【英文标题】:Scene Text Image Super-Resolution for OCR 【发布时间】:2021-02-24 18:10:36 【问题描述】:

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

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

我们尝试过的方法

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

How to improve image quality to extract text from image using Tesseract How to improve image quality? [closed] Image quality improvement in Opencv

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

1.TSRN

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

2。神经增强

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

3. ISR

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

更新 1

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

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

最后,从这个discussion 我们遇到this research work 这似乎真的足够好。还没试过。

更新 2

    [方法]:通过核估计和噪声注入实现真实世界的超分辨率 试过这个方法。有希望。但是,在我们的情况下不起作用。 Code.

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

我的查询

是否有任何有效的解决方法来解决此类情况?任何可以改善此类模糊低分辨率像素的方法,无论文本是在前面还是相机角度?

【问题讨论】:

这似乎是一个关于失焦的问题。你可以查看this和this 我尝试过失焦去模糊滤镜,但遗憾的是效果不够好。我用过skimage.restoration.wiener 和skimage.restoration.unsupervised_wiener。 :( 您面临的问题是由于与图像中倾斜视角的距离发生变化,导致散焦不均匀。所以一个简单的散焦处理是行不通的,因为它需要一个均匀的散焦。 点。但是,如果我裁剪特定的模糊部分(例如带下划线的红色标记)怎么办? 超出范围的问题。您的工作基于什么 OCR 架构?也许有一些我们可以改进的固有网络结构 【参考方案1】:

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

该方法分为两个阶段。第一阶段超分辨率的现实退化

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

第二阶段超分辨率模型

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

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

【讨论】:

感谢您的信息。我会看看。同时,请您解释一下是什么让您认为这种方法非常适用于此类情况?实际上我有点困惑,因为在我看来这只是我已经提到的另一种解决方案。 好的,我很快就尝试在 Windows 中使用 this 进行模糊图像和像素化,但遗憾的是根本没有改善。 :(

以上是关于用于 OCR 的场景文本图像超分辨率的主要内容,如果未能解决你的问题,请参考以下文章

MZSR:用于 Zero-Shot 超分辨率的元转换学习

MZSR:用于 Zero-Shot 超分辨率的元转换学习

图像超分辨率重建概述

最新最全Diffusion Models论文代码汇总(图像生成图像分割图像翻译超分辨率重建医疗影像自然语言处理视频生生成时间序列生成3D点云生成文本语音转换音频生成等)

深度原理与框架-图像超分辨重构-tensorlayer

JPEG压缩图像超分辨率重建算法