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

我要开发同款
匿名用户2018年02月01日
30阅读
开发技术Python
所属分类人工智能、机器学习/深度学习
授权协议Apache

作品详情

基于深度学习的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即可. 运行前,可以更改对应的模型文件名称. 一个简单示例如下:

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论