Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
dianYu 1a27ee7b0b | 1 year ago | |
---|---|---|
result | 1 year ago | |
.gitignore | 1 year ago | |
LICENSE | 1 year ago | |
README.md | 1 year ago | |
code_utils.py | 1 year ago | |
image_utils.py | 1 year ago | |
model.py | 1 year ago | |
test.py | 1 year ago | |
train.py | 1 year ago |
[3] 验证码生成参考类
[1] Python3.6.1 or >=3.5
[2] TensorFlow 1.2
[3] numpy
通过训练CNN(卷积神经网络)对4位验证码识别,其中字符有0-9a-zA-Z共计62种,但是预测结果不区分大小写,所以最终预测结果为36种。验证码由多个字体、颜色、干扰线随机生成。
[1] 整体结构
model.py 整个神经网络结构
code_utils.py 将字符转换为一维数组以及一维数组转换为字符的工具类
image_utils.py 读取图片,处理图片数据的工具类
train.py 主程序类,其中包括参数设置以及整个神经网络训练流程控制
test.py 提取大量的测试label测试神经网络的最终效果
[2] 以下为缺少文件夹:
test-images 所有测试验证码图片在这个文件夹 密码:9g3i
train-images 所有训练验证码图片在这个文件夹 密码:obit
以下是对100万张训练验证码进行训练,20万张不参与训练的测试验证码测试出的结果
一般的验证码系统都会去掉类似的字符(例如:i, l, o, 1, 0...),为了更全面的测试,所以我选择将这些难以识别的字符也添加进去测试,可以看出有这些难以辨别的字符时,连人类也很难去完全预测正确(下图,第一行为预测值,第二行为真实值)
最终结果: 四个字符同时正确率: 90.02% 单个字符正确率: 97.42%
*说明:本项目仅用于学习,勿用于网络攻击及验证码暴力破解
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》