本项目是一个基于深度学习的端到端验证码识别系统。 采用 CNN (卷积神经网络) 提取图像空间特征,Bi-LSTM (双向长短期记忆网络) 学习序列上下文信息,并结合 CTC (Connectionist Temporal Classification) 损失函数解决输入图像与输出标签长度不对齐的问题。 无需对验证码进行繁琐的字符级切割,即可直接输入整图并输出识别结果。
端到端识别:输入整张验证码图片,直接输出完整的字符序列。 动态长度支持:得益于 CTC 算法,能够灵活处理不定长或字符发生粘连的验证码。 多维评估指标:除了严苛的“整图完全匹配率 (Exact Match Accuracy)”外,还引入了字符级的 Precision、Recall 和 F1-Score,提供细粒度的模型性能评估。 轻量易部署:模型结构紧凑,参数量适中,支持在普通 CPU 环境下高效完成训练与推理。
命名规范:图片文件名为验证码的真实标签(例如,图片 2b827.png 表示图中的验证码字符为 "2b827")。 图像尺寸:所有输入图像在送入网络前,将统一被转为单通道灰度图,并 Resize 为 宽度:200 x 高度:50。 自动拆分:代码内置了 train_test_split,默认按照 9:1 的比例随机划分训练集 (90%) 与验证/测试集 (10%)。
https://github.com/AakashKumarNain/CaptchaCracker/raw/master/captcha_images_v2.zip