基于深度学习的 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/image和data/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.prototxt和src/words/model/words_solver.prototxt文件进行修改.具体修改方法可参考其他模型.

1.4 开始训练

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

同理:

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

测试

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

web-demo

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

C语言编程:一本全面的C语言入门教程(第三版)

C语言编程:一本全面的C语言入门教程(第三版)

(美)Stephen Kochan / 张小潘 / 电子社博文视点资讯有限公司 / 2006年 / 59.00元

本书是极负盛名的C语言入门经典教材,其第一版发行至今已有20年的历史。本书内容详实全面,由浅入深,示例丰富,并在每个章节后面附有部分习题,非常适合读者自学使用。除此之外,《C语言编程》一书对于C语言标准的最新进展、C语言常见开发工具以及管理C语言大型项目等重要方面,也进行了深入浅出的说明。一起来看看 《C语言编程:一本全面的C语言入门教程(第三版)》 这本书的介绍吧!

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

在线压缩/解压 JS 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具