项目简介
本项目是基于Python和Keras框架的验证码识别系统,借助卷积神经网络(CNN)实现对台铁订票网站验证码的自动识别。通过生成模仿验证码图像作为训练数据,并结合真实验证码训练,达成了验证码的高精度识别。
项目的主要特性和功能
- 验证码生成:模仿台铁验证码样式,生成含随机旋转、颜色变化和干扰线条的大量训练数据。
- 模型训练:训练多个CNN模型,包括识别5码验证码的模型、识别6码验证码的模型以及判断验证码是5码还是6码的模型。
- 数据增强:对真实验证码进行旋转、剪切和缩放等操作,增加训练数据的多样性。
- 在线测试:在台铁订票网站进行在线测试,评估模型在真实环境中的识别效果。
安装使用步骤
环境准备
- 安装Python 3.x环境。
- 安装所需的Python库:TensorFlow(或TensorFlow GPU版本)、Keras、Pillow、NumPy。
数据准备
- 运行
captcha_gen.py
生成模仿验证码的训练和验证数据。 - 运行
captcha_scrawl.py
从台铁网站抓取真实验证码,并手动标注。 - 运行
data_augment.py
对真实验证码进行数据增强。
模型训练
- 运行
train_cnn_imitate_5.py
和train_cnn_imitate_6.py
训练识别5码和6码验证码的模型。 - 运行
train_cnn_imitate_56.py
训练判断验证码是5码还是6码的模型。 - 运行
train_cnn_real_5.py
和train_cnn_real_6.py
使用真实验证码训练模型。
模型测试
- 运行
demo_cnn.py
使用测试集评估模型的识别效果。 - 运行
demo_online.py
在台铁网站上进行在线测试,评估模型在真实环境中的表现。
注意事项
- 本项目仅供学术研究使用,请勿用于非法用途。
- 训练过程可能需要较长时间,建议使用GPU加速训练。
- 在线测试时,请确保遵守相关法律法规,避免对网站服务器造成过大负担。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】