【问题标题】:How to train a CNN to decode a multi length captcha如何训练 CNN 解码多长度验证码
【发布时间】:2019-07-18 00:54:05
【问题描述】:

您好,我是图像分类的初学者。我的任务是使用简单的 keras 深度学习模型来解码验证码。一开始我选择了一个简单的卷积神经网络,它给了我很好的准确性,因为我的验证码长度固定为 6。但是当我有一个 5 个字母的验证码时,准确性很差。即使在缺席的情况下,该模型也有力地预测了第 6 名。我应该如何解决这个问题?请帮忙。

我想到的一些问题是:

  1. 最后可以有多个输出层吗?

  2. 是否可以在不提及验证码的最大长度的情况下对该模型的数据进行预处理?

  3. 我看到几个站点在 CNN 模型上具有循环神经网络层。但作为一个初学者,这非常令人困惑。这是一个好的解决方案吗?

提前致谢。

【问题讨论】:

    标签: python tensorflow keras deep-learning conv-neural-network


    【解决方案1】:

    理想情况下,您的问题归结为识别验证码的多个字母,其中验证码可以包含任意数量的字母。你可以按照How to Recognise multiple objects in the same image的建议使用Yolo

    如果你想按照你所说的进行,你可以先制作一个模型来检测验证码中的字母数量,然后继续解码多长度验证码

    【讨论】:

    • 或者您可以指定 Captcha 的固定长度(例如 15 个字符),然后读取它(只要它是)并用一些填充序列的其余部分(15 - 验证码的长度)您会知道必须在后处理中删除的中性符号(例如“/”)
    • 非常感谢@Manmeet。您的回答很有意义,但是对于后一部分,您认为我必须使用单个字母图像来训练网络,还是就像我只需要根据 yolo 网络检测到的字母数量来重塑输出一样?
    • 感谢您的回复@Novak。你的方法看起来很有趣,我一定会试试这个并回复你。
    • @user1896293 您可以使用标准的 mnist 分类器来检测字母,然后使用 yolo 来识别验证码中的字母。
    • 感谢@ManmeetSingh 也计划尝试您的方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    • 2021-03-25
    相关资源
    最近更新 更多