【问题标题】:Detect all the rectangles in an image using CNN使用 CNN 检测图像中的所有矩形
【发布时间】:2018-09-03 05:12:23
【问题描述】:

给定一张表格图像,我需要检测所有空单元格。我在网上找不到任何关于此的研究。这真的是 CNN 的问题吗?我曾尝试使用一些图像处理技术,如霍夫变换,但无法达到预期的效果。在图像处理方面还有其他建议吗?

到目前为止,我的 CNN 方法: 我使用 RectLabel 标记软件创建了一个非常小的数据集,并使用 Tensorflow 对象检测 API 训练了一个 ssd 网络。由于数据集较小,结果与预期的一样,准确率非常低。我需要有关如何在不手动使用 RectLabel 软件的情况下增加数据集大小的建议。

编辑: Example input image

我需要检测表格中的可填充单元格并忽略其中包含文本的单元格

【问题讨论】:

  • empty cells 到底是什么意思?您能否提供一些示例输入图像和所需的输出。
  • 嗯,乍一看,我会说 CNN 是一个糟糕的选择。我们需要一些示例图片来为您提供更好的建议。
  • @hkchengrex 我已经用输入图像编辑了问题。

标签: tensorflow image-processing machine-learning computer-vision conv-neural-network


【解决方案1】:

在我看来,解决这个问题的最佳方法是使用传统的计算机视觉和算法方法。您可能可以这样做:遍历每一行并使用哈希表来跟踪空单元格(所有白色像素)和非空单元格(不是所有白色像素)。最后,结果将是哈希表中的数字。这将花费 O(n) 时间和 O(m) 空间,其中 n 是像素数,m 是细胞数。

如果您坚持使用 CNN,那么您需要收集许多(1000 多张可能就足够了)细胞表图片(就像您的示例一样)。然后,您应该选择一个网络(记住速度/准确性的权衡)。你像通常的监督训练一样训练你的网络。然后您可以在测试数据上对其进行测试。

学习方法可能会产生误报,因此我推荐算法方法,因为它的计算量不是很大。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 2016-09-19
    • 2011-08-22
    • 2020-04-21
    • 1970-01-01
    • 2013-03-23
    • 2018-01-27
    相关资源
    最近更新 更多