aaronshan / 12306 Captcha
Licence: apache-2.0
基于深度学习的12306验证码识别
Stars: ✭ 254
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to 12306 Captcha
Tensorflow Demos
all kinds of demos of tensorflow code
Stars: ✭ 89 (-64.96%)
Mutual labels: cnn-model, captcha
Captcha Tensorflow
Image Captcha Solving Using TensorFlow and CNN Model. Accuracy 90%+
Stars: ✭ 660 (+159.84%)
Mutual labels: cnn-model, captcha
Rnn ctc
Recurrent Neural Network and Long Short Term Memory (LSTM) with Connectionist Temporal Classification implemented in Theano. Includes a Toy training example.
Stars: ✭ 220 (-13.39%)
Mutual labels: captcha
Decaptcha
Recognize captcha by machine learning. 机器学习识别图片验证码(专门应付本科毕业设计)
Stars: ✭ 192 (-24.41%)
Mutual labels: captcha
Sppnet Pytorch
A simple Spatial Pyramid Pooling layer which could be added in CNN
Stars: ✭ 198 (-22.05%)
Mutual labels: cnn-model
Captcha solver
Universal python API to captcha solving services
Stars: ✭ 152 (-40.16%)
Mutual labels: captcha
Sinesp Client
Consulta de placas de veículos na base de dados do SINESP Cidadão sem a necessidade do preenchimento de captchas
Stars: ✭ 181 (-28.74%)
Mutual labels: captcha
Video Classification Cnn And Lstm
To classify video into various classes using keras library with tensorflow as back-end.
Stars: ✭ 218 (-14.17%)
Mutual labels: cnn-model
Vincent Ai Artist
Style transfer using deep convolutional neural nets
Stars: ✭ 176 (-30.71%)
Mutual labels: cnn-model
Friendly Challenge
The widget and docs for the proof of work challenge used in Friendly Captcha. Protect your websites and online services from spam and abuse with Friendly Captcha, a privacy-first anti-bot solution.
Stars: ✭ 207 (-18.5%)
Mutual labels: captcha
Tlg joincaptchabot
Telegram Bot to verify if users that join a group, are humans. The Bot send an image captcha for each new user, and kick any of them that can't solve the captcha in a specified time.
Stars: ✭ 226 (-11.02%)
Mutual labels: captcha
Cintruder
Captcha Intruder (CIntrud3r) is an automatic pentesting tool to bypass captchas.
Stars: ✭ 192 (-24.41%)
Mutual labels: captcha
12306验证码识别
1. 训练
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即可. 运行前, 可以更改对应的模型文件名称. 一个简单示例如下:
其他
-
在实际应用中, 会使用从百度/搜狗/谷歌等图片搜索引擎中爬取图片并做处理的方式来完成图片分类收集工作. 比如爬取关键词为档案袋的图片, 再进一步做处理. 以解决从12306下载并裁剪-手工分类效率太低及样本量不足的问题, 提升效率。
-
此外, 项目里对文字部分的分割也不是很完美. 对图片的分类也是裁剪并逐个进行的, 这样的响应效率不会很高. 可以使用目标检测的方式, 对整个验证码图片做目标检测, 同时检测8个图片及文字部分. 以加快检测速度.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].