我有文本文档的图像。它包括文本和 block 方案。主要问题是检测 block 计划。我认为有两种方法可以解决这个任务:1)检测构成方案的几何图元; 2) 检测整个方案。
我该如何解决这个任务,请给我一些方法。
更新 1 我尝试检测文档 block 方案的放置位置。示例如下图所示。我没有尝试检测 block 方案中的文本。
UPDATE 2 主要问题是我应该找到不同种类的 block 计划。甚至是 block 计划的一部分。
最佳答案
您可以执行 1) 对象检测 2) 语义分割。我会建议分割,因为边界提取对您的应用至关重要。
我假设您将文档页面作为图像。
以下是涉及分割的项目所涉及的步骤。
数据集
- 收集解决您问题所需的页面图像并执行 预处理步骤,例如调整图像大小以引入所有图像 您的数据集到一个共同的形状,并减少执行的计算次数。务必保持 sample 的可变性。
- 现在您必须注释您感兴趣的图像区域并用名称标记它们。这里为图像的某些区域分配一个类(如分类)。为此,您可以使用以下工具。
Labelme --(我的建议)
Vgg Annotation tool --(用 html 编写的高度可移植的工具,但功能不如 labelme)
型号
您可以使用 U-Net 模型来完成您的任务。 Unet Paper .它非常容易实现,但在大多数现实世界的任务(例如您的任务)中表现非常稳健。
我们在工作中做过类似的事情。这是blog post .我们已经详细解释了从数据收集阶段到结果的管道中涉及的步骤。
关于文档布局分析的文献。
- https://arxiv.org/pdf/1804.10371.pdf -- 他们使用带有 ResNet-50 的 U-Net 作为编码器。与以前的方法相比,他们取得了非常好的结果
- https://github.com/leonlulu/DeepLayout--这是使用 Deep Lab v2 模型进行语义分割的页面布局分析工具的 Python 实现。
结论
此处介绍的方法可能看起来乏味且耗时,但在您测试时它对文档中的可变性非常稳健。如果您有任何问题,请在下方评论。
关于opencv - 文本文档中的 block 方案检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53601859/