【问题标题】:How to segment handwritten digits [closed]如何分割手写数字[关闭]
【发布时间】:2020-10-13 03:48:46
【问题描述】:

我正在处理handwritten digit recognition 的问题。基本上,我们需要识别文档中的某些字段,例如金额、帐号、手机号码等。

手写数字识别可分为2个步骤

  1. 数字分割
  2. 分段数字的识别

对于step-2,我们可以使用一些相关的MNIST 模型,但问题是如何分割数字。我试过OpenCV contours,但只有当数字用空白像素分隔时才有用,即当它们不相互接触时,但用户经常用接触或连接的数字写数字

谁能为此任务推荐一些基于深度学习或非深度学习的方法

示例图片

【问题讨论】:

    标签: python deep-learning mnist opencv-contour handwriting-recognition


    【解决方案1】:

    对于基于深度学习的方法,您可以使用 mask rcnn。这是一种非常强大的方法,可用于检测、定位和分割。该算法足够强大,可以识别不同的类,即使它们靠得很近。

    它将在数字周围生成边界框并对它们进行分类。

    请查看this repository,因为我的解释不公平。

    它还包含示例供您学习。唯一可能会减慢您的速度是您必须对图像进行注释。但是使用迁移学习可以减少实际用于训练的数据量。

    这里有一些更相关的链接:

    Training MaskRCNN on your own dataset

    Implementation on your own dataset

    To understand more about MaskRCNN

    Transfer Learning

    当然会有关于上述主题的更好的文章,但这些是我用过的。希望其他人会向您推荐它们。

    【讨论】:

    • 你好@zibbyboo,谢谢你的建议,你想说我应该训练一个像Mask-RCNN这样的对象检测模型,通过准备一个标记来识别单个数字0-9(10个对象类)数据集
    • 是的,bcoz MNIST 在所有 img 中都有一个类,当您测试它们时,您只需输入一个数字即可获得输出。将您的问题视为从单个图像中识别多个类。完成所有类的预测后,您可以将结果从左到右拼接以输出。通过例子来解释。您的模型会将图像中的类识别为 4,4,2,0,0,0 并添加,然后您需要添加一些算法以简单地将结果显示为 442000。关于 / 和 -,您也可以将它们添加为类,因此如果它们被检测到,它们可以被忽略或合并。
    • 我会试一试,一旦物体检测模型检测到数字,就可以使用边界框的 x 坐标来排列它们
    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 2014-08-08
    • 2021-10-26
    • 2013-05-12
    • 1970-01-01
    相关资源
    最近更新 更多