opencv - 文本文档中的 block 方案检测

标签 opencv computer-vision object-detection

我有文本文档的图像。它包括文本和 block 方案。主要问题是检测 block 计划。我认为有两种方法可以解决这个任务:1)检测构成方案的几何图元; 2) 检测整个方案。

我该如何解决这个任务,请给我一些方法。

更新 1 我尝试检测文档 block 方案的放置位置。示例如下图所示。我没有尝试检测 block 方案中的文本。

UPDATE 2 主要问题是我应该找到不同种类的 block 计划。甚至是 block 计划的一部分。

Example image

最佳答案

您可以执行 1) 对象检测 2) 语义分割。我会建议分割,因为边界提取对您的应用至关重要。

我假设您将文档页面作为图像。

以下是涉及分割的项目所涉及的步骤。

数据集

  1. 收集解决您问题所需的页面图像并执行 预处理步骤,例如调整图像大小以引入所有图像 您的数据集到一个共同的形状,并减少执行的计算次数。务必保持 sample 的可变性。
  2. 现在您必须注释您感兴趣的图像区域并用名称标记它们。这里为图像的某些区域分配一个类(如分类)。为此,您可以使用以下工具。

Labelme --(我的建议)

Vgg Annotation tool --(用 html 编写的高度可移植的工具,但功能不如 labelme)

型号

您可以使用 U-Net 模型来完成您的任务。 Unet Paper .它非常容易实现,但在大多数现实世界的任务(例如您的任务)中表现非常稳健。

我们在工作中做过类似的事情。这是blog post .我们已经详细解释了从数据收集阶段到结果的管道中涉及的步骤。

关于文档布局分析的文献。

  1. https://arxiv.org/pdf/1804.10371.pdf -- 他们使用带有 ResNet-50 的 U-Net 作为编码器。与以前的方法相比,他们取得了非常好的结果
  2. https://github.com/leonlulu/DeepLayout--这是使用 Deep Lab v2 模型进行语义分割的页面布局分析工具的 Python 实现。

结论

此处介绍的方法可能看起来乏味且耗时,但在您测试时它对文档中的可变性非常稳健。如果您有任何问题,请在下方评论。

关于opencv - 文本文档中的 block 方案检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53601859/

相关文章:

image-processing - SURF兴趣点参数

c++ - Hausdorff 距离目标检测

opencv - Ubuntu Opencv Camera settings V4L2 error 不支持曝光控制

python - OpenCV和Python:对象跟踪并将被跟踪的对象保存为图像

image - 使用 OpenCV 从图像中逐个分离日语字符的算法

opencv - HOG 特征描述符训练如何工作?

c++ - OpenCV - 网络摄像头 imshow 不显示实时提要,而是灰色屏幕

opencv - 在图像底部不是背景的一部分的情况下如何改进 Grabcut?

machine-learning - Tensorflow 对象检测 API

tensorflow - tensorflow对象检测API中的超参数优化