scu-captcha

SCU captcha recongnition based on Pytorch


Keywords
pip, scu-captcha
License
MIT
Install
pip install scu-captcha==0.0.5

Documentation

SCU_Captcha

Powered by Github GitHub repo size GitHub top language GitHub

声明

  • 本项目只适用于编程学习用途,请在下载后24小时内删除!
  • 不得随意传播本项目至任何公开场合(包括但不限于QQ群、微信群、贴吧论坛等)
  • 因用户使用或修改项目源码而产生的一切责任与本人无关,本人不负任何连带责任
  • 若不同意以上使用条例,请停止clone本项目并不得通过任何途径使用本项目
  • 本项目源码以及条例解释权归本人所有

简介

针对于Sichuan University的JWC验证码特化训练的轻量级深度学习模型,基于Pytorch,模型为CNN(卷积神经网络)。

  • 用于快速识别此类验证码
  • 模型大小20M左右,有更精简的可能,不过没有时间进一步优化。

准确率

训练集 测试集 实际使用于JWC
98.915001% 98.715001% 大约90%

训练过程中一直在修改超参数,所以错误率有较多波动,实际使用时JWC还是会有更大的误差,毕竟数据集不完全一致,但是通过多次重复足够使用了。

  • 训练集8万个,测试集2万个,根据JWC网站的统计,只包含如下字符:2345678abcdefgmnpwxy,共20个字符随机排列组合生成的4位验证码。

  • 数据集采用谷歌的Kaptcha生成。

  • 实际使用时魔改了此Github仓库的代码用于渲染生成:

    Readme Card

    因为魔改实在过于丑陋,就不放本人的源代码在这里了。

  • 此处提供1万数据量的数据集,有需要可以取用,后续有需要可以提供10万的数据集到网盘:

    Readme Card

使用方法

安装

  • 本项目基于Pytorch,所以使用前需要安装Pytorch,所以如果没安装过Pytorch,你还需要大约1GB的空间安装Pytorch,具体安装请参见Pytorch官网
  • 当拥有pytorch环境后,安装就变得极为简单,通过如下代码即可安装:
    pip install scu_captcha
    

使用

  • 随后就可以通过使用如下代码导入本包的两个组件

    from scu_captcha import imgLoader,Predict

    导入后,即可使用这两个函数进行验证码识别。

  • 对于一张图片,imgLoader提供两种方式进行图片加载,分别是通过相对路径导入或二进制图片文件直接导入,然后将得到的对象输入Predict函数即可返回对应字符串:

    # 直接使用二进制方式预测
        session = requests.session() # 使用网络请求库
        # 通过网络请求获得验证码二进制图像
        byte_Captcha = session.get(url=captcha_url, headers=header).content
        img = imgLoader(byte_Captcha) # 导入二进制图片
        res = Predict(img) # 进行预测,并输出预测的str到res对象
    # 使用相对路径导入图片预测
        # 此处为输出到图片,如果图片本身就存在,则无需此步骤
        with open("captcha.jpg", "wb") as f: 
            f.write(byte_Captcha)
        # 根据相对路径读入文件
        img = imgLoader("captcha.jpg")
        res = Predict(img) # 进行预测,并输出预测的str到res对象

    具体用法也可参见TEST.py

结语

  • 才疏学浅,模型用得不好还请您指正
  • 如果觉得有用(比如计网课设,爬虫,抢课脚本)等等用到了本模型,还请关照一下给个star哦~