[开源+模型] 用深度学习识别12306验证码,识别率超98%

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

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

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

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

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

首先把图片拆成小图,做好标注,如下图:
[开源+模型] 用深度学习识别12306验证码,识别率超98%_第1张图片

[开源+模型] 用深度学习识别12306验证码,识别率超98%_第2张图片

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

model.yaml部分配置如下:

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]
    }
  ]

下载模型包中 model 路径下有全部的 yaml 配置

输入:
[开源+模型] 用深度学习识别12306验证码,识别率超98%_第3张图片

返回:
其中首个结果为60x30的文字标签[锣],其余为下方小图[红枣/茶盅/黑板/蜥蜴/锣/锣/茶盅/黑板],分别以从左至右的顺序。
{"message": "锣,红枣,茶盅,黑板,蜥蜴,锣,锣,茶盅,黑板", "code": 0, "success": True, "uid": "6d5517e8-a1a3-11ea-b053-c8d3ff4317e4"}
使用的时候可以根据逗号进行拆分,0,1,2,3,4,5,6,7,8
与将索引后8个预测值与索引0进行匹配判断,再根据索引计算出坐标即可,妈妈再也不用担心过年回家抢不到票,而去交携程的智商税了。

模型下载地址:
https://github.com/kerlomz/captcha_platform/releases
[开源+模型] 用深度学习识别12306验证码,识别率超98%_第4张图片

使用 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左右。

你可能感兴趣的:(验证码识别,验证码,CNN)