使用CNN检测图像中的所有矩形

时间:2018-09-03 05:12:23

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

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

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

编辑:   Example input image

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

1 个答案:

答案 0 :(得分:0)

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

如果您坚持使用CNN,则需要收集许多(一千个就足够了)单元格工作表图片(例如您的示例)。然后,您应该选择一个网络(请牢记速度/准确性之间的权衡)。您可以像通常的有监督训练一样训练网络。然后,您可以在测试数据上对其进行测试。

学习方法可能会产生误报,因此我建议使用算法方法,因为它的计算量不太大。