美文网首页验证码识别技术python学习
(开源)居然能用这个识别12306验证码

(开源)居然能用这个识别12306验证码

作者: _Coriander | 来源:发表于2020-05-29 20:23 被阅读0次

    打算做一回标题党(其实就是补充辣个项目的一些使用技巧

    PS:为了不影响讲解效果,模型 下载放置于文章末尾

    本文使用
    [https://github.com/kerlomz/captcha_trainer] 项目进行训练
    [https://github.com/kerlomz/captcha_platform] 项目进行部署

    一般来说,大家伙儿肯定是想不到它居然还自带裁图,并且可自动以批次传入预测,只不过需要修改一波参数,后面会提及需要修改的地方。

    用深度学习正经的训练,先来一波训练集

    首先把图片拆成小图,做好标注,如下图:

    image.png image.png

    因为是九宫格形态,识别的时候可以切割预处理把多张图片作为一个有序批次传入识别。
    如下图CorpParams参数,分两部分裁剪,一是中文标签图,二是8张小图。

    FieldParam:
      Category: ['航母', '雨靴', '毛线', '安全帽', '调色板', '海鸥', '日历', '网球拍', '公交卡', '沙包', '风铃', '红豆', '路灯', '鞭炮', '黑板', '菠萝', '高压锅', '手掌印', '拖把', '本子', '烛台', '文具盒', '盘子', '海报', '创可贴', '漏斗', '电饭煲', '苍蝇拍', '蜡烛', '啤酒', '档案袋', '狮子', '排风机', '双面胶', '中国结', '茶盅', '金字塔', '剪纸', '卷尺', '锅铲', '牌坊', '钟表', '冰箱', '锣', '海苔', '蚂蚁', '开瓶器', '跑步机', '挂钟', '蒸笼', '仪表盘', '话梅', '印章', '老虎', '护腕', '锦旗', '樱桃', '热水袋', '珊瑚', '龙舟', '耳塞', '棉棒', '订书机', '茶几', '药片', '篮球', '蜥蜴', '绿豆', '电子秤', '沙拉', '薯条', '红酒', '蜜蜂', '口哨', '辣椒酱', '打字机', '红枣', '刺绣', '电线', '铃铛']
      Resize: [60, 30]
      ImageChannel: 3
      ImageWidth: 293
      ImageHeight: 190
      MaxLabelNum: 1
      ReplaceTransparent: False
      HorizontalStitching: False
      OutputSplit: ","
      CorpParams: [
        {
          "start_pos": [118, 0],
          "interval_size": [0, 0],
          "corp_num": [1, 1],
          "corp_size": [60, 30]
        },
        {
          "start_pos": [5, 40],
          "interval_size": [5, 5],
          "corp_num": [4, 2],
          "corp_size": [66, 66]
        }
      ]
    

    输入:

    image.png

    返回:
    其中首个结果为60x30的文字标签[锣],其余为下方小图[红枣/茶盅/黑板/蜥蜴/锣/锣/茶盅/黑板],分别以从左至右的顺序。
    {"message": "锣,红枣,茶盅,黑板,蜥蜴,锣,锣,茶盅,黑板", "code": 0, "success": True, "uid": "6d5517e8-a1a3-11ea-b053-c8d3ff4317e4"}

    模型下载地址:
    https://github.com/kerlomz/captcha_platform/releases

    image.png

    使用 https://github.com/kerlomz/captcha_platform 项目进行部署:
    将下载后的 12306.zip 解压,得到 graphmodel 两个路径。
    放置于 captcha_platform 项目根目录即可,若不想安装环境可以使用链接中的编译版进行部署。

    Windows:
    双击 captcha_platform_tornado.exe 或 使用命令行执行(若遇闪退)

    image.png

    Ubuntu:
    使用./captcha_platform_tornado 启动即可,可配合 nohup 后台运行。

    image.png

    MacOS:
    使用方法与Ubuntu一致。

    image.png

    喜欢的话可以Star笔者的开源项目,本文的模型将文字标签与小图混合训练为一个模型,大小1.5mb左右,整图(293x190)识别速度约15ms左右。

    相关文章

      网友评论

        本文标题:(开源)居然能用这个识别12306验证码

        本文链接:https://www.haomeiwen.com/subject/dmjfzhtx.html