Giter Club home page Giter Club logo

captcha_reader's Introduction

CAPTCHA_Reader

验证码识别与训练 脚手架

这个项目对验证码识别中常用的 四个步骤三个)(获取文件 => 降噪 => 切割 => 识别)进行了简单的封装,减少开发的复杂程度。并提供了一些现成的解决方案。

欢迎就使用中遇到的问题提出 Issue 进行讨论。

如果需要最开始的 PHP 脚本的版本,已经移动到 script/tooOldVersion ,可自行获取

Install use Composer

composer require kurisu/captcha_reader

对各种验证码的支持

  • 正方教务系统验证码 验证码字典样本数为500条 ,不加上网络延时的耗时在0.14s - 0.2s之间

    • 测试集测试的结果:
    • 200个测试样本 中 整体识别正确率 87%,单个字母识别正确率到 96.5%
  • 青果教务系统验证码 验证码字典样本数为200条左右,不加上网络延时的耗时在 0.15s - 0.25s之间

    • 测试集测试的结果:
    • 200个测试样本 中 整体识别正确率 90%,单个字母识别正确率到 96.875%
  • neea.edu.cn 验证码字典样本数为 1500条左右,不加上网络延时的耗时在 0.6s - 0.7s之间

    • 测试集测试的结果:
    • 200个测试样本 中 整体识别正确率 54.5%,单个字母识别正确率到 80%
    •    
  • 天翼校园网认证验证码 验证码字典样本数为 2800条左右,不加上网络延时的耗时在 0.45s - 0.5s之间

    • 测试集测试的结果:
    • 200个测试样本 中 整体识别正确率 48.5%,单个字母识别正确率到 82.875%

Examples

在线测试效果待添加,可以尝试根据下面的 Get Started Now 测试效果

Get Started Now

Online 在线

  • 运行指令 git clone https://github.com/Kuri-su/CAPTCHA_Reader.git
  • 在根目录下执行 composer update
  • 不用管 sample,training,vendor文件夹, 直接进入 src/App/index.php 下,仿照该文件的调用方式即可,例示代码段如下:

需要复制可以跳转到 link

  • 运行结果

Local 本地

在识别本地的验证码的模式,代码与上面Online模式相似,只需要调用 entrance方法的时候第二个参数传 local 即可,例示代码段如下:

需要复制可以跳转到 link


How To Use

识别部分

切换识别方案

修改 src/Config/app.php 中的 useGroup

切换识别方案中使用的类

继承 CAPTCHAReader\src\App\Abstracts\Load 抽象类,实现相应的方法,完成装饰器的构建,然后替换配置文件中的组件类即可。

替换字典

修改配置文件中相应方案的dictionary的值即可

训练部分

配置文件中的 studyGroup 下的 键名 对应使用的 学习样本组测试样本组 ,然后下面的四个类是使用的组件类。

样本集 & 测试集

已标记 学习样本集

已标记 测试样本集

  • 正方 & 青果 & neea & 天翼 已打包 link

目录结构


Update plan

  • ✔️ 更有效率的字典训练方法
  • ✔️ 使代码更加oop,更加可复用
  • ✔️ 增加对青果验证码的支持
  • ✔️ 增加对 neea 的支持
  • ✔️ 增加对 天翼校园网认证验证码 的支持
  • ✔️ 打包为composer包,方便其他项目引用
  • 🔜 补全文档
  • 🕧 PHP拓展的方式重写核心函数,降低核心函数的时间复杂度
  • 🕧 使用 pthreads 多线程识别
  • 做完上面几种验证码的就结束支持,挨个支持各个验证码太累了,影响效率的是标记各个验证码,每种最少要标记将近1000个,如果有相关需求的请关注其他神经网络方案(资源消耗并不会多出多少)。
  • 真是个倒霉孩子写这东西,打码工人累死了

LICENSE

WTFPL

captcha_reader's People

Contributors

kuri-su avatar kurisu-lib avatar

Watchers

 avatar

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.