如何在进行OCR之前验证图像是否包含背景噪声 [英] How to verify if the image contains noise in background before ‘OCR’ing

查看:0
本文介绍了如何在进行OCR之前验证图像是否包含背景噪声的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要从几种类型的图像中提取文本。 我可以根据背景的噪声将图像手动分类为3类:

  1. 无噪音的图像。
  2. 背景中有一些轻微噪音的图像。
  3. 背景噪音很大。

对于类别1的图像,我可以毫不费力地应用OCR。→基本大小写。

对于第二类图像和一些第三类图像,我可以通过应用以下方法来提取文本:

  • 灰度、高斯模糊、大津阈值
  • 变形打开以消除噪点并反转图像 →然后执行文本提取。

对于OCR任务,一种去噪方法显然不适用于所有图像。那么,有没有办法对图像的背景噪声水平进行分类呢?

欢迎所有建议。 提前谢谢。

推荐答案

根据您的评论other question以下是一些您可以尝试的方法。下面的一些想法组合应该会有所帮助。

图像嵌入和向量聚类

手册

使用预先训练好的网络,例如在ImageNet上的resnet(可能工作不好)或在MNIST/EMNIST上训练的简单预先训练好的网络。

Extract and concat一些层将权重向量向网络末端展平。应用降维和应用最近邻/近似最近邻算法来查找最接近的匹配。设置簇数3,因为您有3种类型的图像。

对于最近的邻居,从knn开始。GitHub中还有许多库可以提供帮助,例如faissannoy等。

有关详细信息,请访问

https://github.com/topics/nearest-neighbor-search

https://github.com/topics/approximate-nearest-neighbor-search

如果上面的结果不够好try finetuning只有最后几层MNIST/EMNIST训练的网络。

使用现有库

有关分组/查找相似图像的信息,请查看

https://github.com/jina-ai/jina

您应该能够在GitHub上使用标签neural-searchimage-search找到更多相似性群集。

https://github.com/topics/neural-search

https://github.com/topics/image-search

OCR

  • 尝试easyocr,因为它比上次使用OCR时的tesserect更适合我。
  • 首先对整个文档运行它,以查看是否满足要求。
  • 如果可能,在附近没有其他文本的情况下,使用不那么紧密的裁剪,而在文本周围使用一些/大填充。另一种方法是在紧密裁剪的文本中尝试在所有方向上填充,以查看这是否会改善OCR结果。
  • 有关tesserect,请参阅improving quality文档中提到的工具是否有帮助。

分类

噪声消除

  • 这里也可以使用神经网络。用1类图像训练denoising autoencoder,通过添加模拟2类和3类图像的噪声来损坏1类图像。这样,神经网络将对3种图像类别进行分类,而不需要手动创建数据集,在后处理中,可以根据类别类型使用另一种神经网络或图像处理方法来去除噪声。图片来源,https://keras.io/examples/vision/autoencoder/

  • 在GitHub上尝试现有的库或预先训练的网络,以消除整个文档/裁剪区域中的噪音。查看rembg它是否适用于文本文档。

这篇关于如何在进行OCR之前验证图像是否包含背景噪声的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆