使用SciKit-Image和SciKit-Learn进行图像预处理和聚类 – 需要一些建议

我有一大堆1930-40年代的官方文件图像,这些图像有彩色也有黑白,质量普遍较低(通常< 250 kB)。这些是医院、市政机构等官方机构使用的标准表格的照片,这些表格是手写或打字填写的个人信息。我在这篇文章的末尾放置了两个典型的例子。(请注意,这些是空白表格 – 我宁愿不将含有个人信息的表格放在网上。)

我需要做的就是整理这些文件集合,使相同类型的文件都归为一组。我不知道有多少种不同的类型。或者,我可以首先尝试寻找某一种特定类型文件的所有实例。我想象前一种方法是聚类方法,而后一种是相似性方法。

关于聚类方法,我的想法是(1)预处理图像以增强有用信息,(2)从每个图像中提取特征向量,(3)将这些特征向量输入聚类算法。我想使用SciKit-Image和SciKit-Learn库来完成这三项任务。我已经做了一些研究和阅读以熟悉这个主题和可能性,但我不知道从哪里开始,并且有一些基本问题。

  • 预处理。哪些方法被证明是有用的?有太多选项:二值化、灰度化、去倾斜、去噪、模糊、裁剪、缩放…
  • 特征提取。我认为,如果图像中最有趣的特征(角点、线条、网格、图片、标志)能够被捕捉到特征向量中是有帮助的 – 换句话说,如果特征基于所谓的兴趣点。同样,是否有特定的方法在这方面被证明是有帮助的?表示图像为特征向量的最佳方式是什么,我如何提取有趣的特征?
  • 聚类。我看到SciKit-Learn提供了多种聚类算法。哪些最适合我的任务?哪些是最适合开始的 – 比如k-means?

关于相似性任务,我没有明确的想法如何接近,或者这是否可能。任何帮助都欢迎…

我意识到这是一个相当广泛的问题。总的来说,我想得到一些反馈,看我的方法是否有意义,是否可能产生有用的结果。此外,我非常感谢任何指向示例、现有流程或一般好的建议的指导!

示例:

示例表格1

示例表格2


回答:

我认为如果你手动确定文件类型的数量,然后通过确定与你识别的类别的相似性来寻找匹配,你的任务会容易得多。

作为相似性指数,我会追求以下两种策略之一:

1)基于表格的常量部分进行图像注册。

2)基于短语/关键词的匹配。从你的例子中,“Antrag auf Krankenhausaufname”可以通过pytesseract从图像中轻松提取,即使没有对图像进行任何预处理:

from PIL import Imageimport pytesseractimg = Image.open("test.jpg")text = pytesseract.image_to_string(img, lang="deu")print text

这会产生:

Zur Bendmmg für den Veru'dxerlenl ’Die." Antragudm’n in! der Krln Iren In n: vorAu/wdum du Krankenhnu an zlnzuru'dlemAntrag auf Krankenhausaufnahme._ ‚x, - >A Namp des Mitgligds:V'orname: - 'Ehefrau: „_Kind :Arbeitgeber :Behandelt seit arbeitsgnfähig seitGehikhlq? ja _ nein i sBelördemnq durch Kunkenkranwagen — Mxelklahwagen — Ist‘ -- nichl — eflordarllch. r- „ -Arbeilsunh‘” Folge eine: Irüheren Arbgttsunlalls’l Un‘allvemlchefleBerulxkvankheifl Verkghßq Spodunlall. Schlägerei. TrunksuchflVevsorgungslaideI-J Fundemwirkung? Folge emer Irühercn. nichlbehobene" Krankhen7.AZuInfimJn Inlmmidnn gKrankheitsbezeichnung ')x WM.-."/Begründung: __.___.

显然,你可以通过匹配你知道可靠地从文档中提取的短语来匹配文档。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注