基于深度学习的 12306 验证码识别程序 captcha-12306

码农软件 · 软件分类 · 机器学习/深度学习 · 2019-08-05 20:58:17

软件介绍

基于深度学习的12306验证码识别程序。

1.1 准备工作

  • 下载caffe并编译, 具体可参考官方文档, 此处不再赘述.

  • 修改src/config.py中的caffe根目录和项目根目录.

  • pip安装easydict, skimage等.

1.2 数据

  • 通过运行src/tools/download_image.py, 会将12306验证码下载至data/download/all目录.

  • 下载完成后, 通过运行src/tools/cut_image.py, 会将其裁剪为图片和文字两部分, 分别放在data/download/image目录和data/download/words目录.

  • 修改src/image/scripts/words.py文件main方法中cut方法的参数(其参数为data/download/words中子目录的words_*中的数字), 它的目的是处理data/download/words中的所有子文件, 对多个词语进行分割并调整大小为固定值.

  • 然后手工对其进行分类, 分别放至data/imagedata/words目录. 可以将其分为两部分,分别放在对应的train和test目录.比如,一个示例目录如下:

    -image
    --test
    ---蜡烛
    ----1-1.jpg
    ---沙漠
    ----2-1.jpg
    --train
    ---蜡烛
    ----1-2.jpg
    ---沙漠
    ----2-2.jpg

图片部分

  • 运行src/image/scripts/create_data.py, 将会生成图片部分对应的train.txt和test.txt, 里面包含着训练和测试文件及其类别列表.

  • 运行src/image/scripts/create_lmdb.sh, 将会生成图片部分对应的lmdb文件.

文字部分

  • 运行src/words/scripts/create_data.py, 将会生成文字部分对应的train.txt和test.txt, 里面包含着训练和测试文件及其类别列表.

  • 运行src/words/scripts/create_lmdb.sh, 将会生成文字部分对应的lmdb文件.

1.3 参数

可以根据实际情况对src/image/model/image_solver.prototxtsrc/words/model/words_solver.prototxt文件进行修改.具体修改方法可参考其他模型.

1.4 开始训练

src/image/scripts/image_train.shsrc/image/scripts/image_finetune_train.sh脚本分别用来进行从头训练/微调训练, 训练方法可参考caffe模型训练方法.

同理:

src/words/scripts/words_train.shsrc/words/scripts/words_finetune_train.sh脚本分别用来进行从头训练/微调训练, 训练方法可参考caffe模型训练方法.

测试

src/web提供了一个web测试界面, 运行index.py即可. 运行前, 可以更改对应的模型文件名称. 一个简单示例如下:

web-demo

本文地址:https://www.codercto.com/soft/d/11728.html

Hit Refresh

Hit Refresh

Satya Nadella、Greg Shaw / HarperBusiness / 2017-9-26 / USD 20.37

Hit Refresh is about individual change, about the transformation happening inside of Microsoft and the technology that will soon impact all of our lives—the arrival of the most exciting and disruptive......一起来看看 《Hit Refresh》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具