Giter VIP home page Giter VIP logo

swjtu-verif-code's Introduction

##基于神经网络的swjtu教务网登录验证码识别系统
###说明 参照mnielsen教程实现的一个简单BP神经网络,在此向mnielsen表示感谢!

加入了一些优化措施的分支,在BP和SGD算法的基础上,加入了正则化、参数初始化优化、cross-entropy损失函数
此分支稳定后会merge到master分支
plian分支无优化,更加简单

###识别效果 目前,字母分割准确率不高为主要问题,分割错误率大于5%
分割后的单个字母识别正确率能够达到99.5%
综合起来,最终准确率能够超过90%
后期考虑在字母分割阶段加入神经网络识别过程,提高整体正确率

###主要源文件

源文件               功能              
pic_crawler.py 验证码训练数据爬取
data_generator.py 生成训练/验证/测试数据
preprocessor.py 输入数据预处理
data_loader.py 从pickle中加载训练数据
network.py BP神经网络
dean_login.py 登录测试

data目录下的swjtu_verif.pkl.gz为处理好的训练数据,包含200k张训练图片(单个字符)以及验证和测试图片。network.json为已经训练好的网络参数,直接使用神经网络识别验证码时会从该文件中加载网络参数。

###示例: 1.安装依赖

git clone [email protected]:wzbazinga/swjtu-verif-code.git
cd swjtu-verif-code
pip install -r requirements.txt

2.作为api调用

from dean_login import login

res,session=login('username','password')  #res:登录结果,session:登录成功后获取的requests.Session对象
if res:
    response=session.get('http://jiaowu.swjtu.edu.cn/student/score/ScoreNew.jsp')
    print response.text
else:
    print 'oops'

3.准确率测试

from dean_login import benchmark

benchmark('username','password') #1000次实际登录测试(单进程,单线程)

4.训练

from data_loader import load_data
from network import Network

training,validate,test=load_data() #建议将swjtu_verif.pkl.gz解压后使用load_data_raw函数加载数据,否则速度比较慢
net=Network([17*17,20,26]) #也可不带参数,不带参数时网络结构为[17*17,20,26]
net.SGD(training,40,50,0.5,2.0,test,test_accuracy=True) #随机梯度下降算法,除training外的参数可不带

代码目前还很buggy

swjtu-verif-code's People

Contributors

zhewang95 avatar

Stargazers

 avatar

Watchers

James Cloos avatar Gua avatar  avatar llz avatar  avatar

Forkers

bruceqfwang

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.