主要观点:这是一个关于破解 4Chan CAPTCHA 的项目,旨在通过机器学习提升对 TensorFlow 的理解并训练能可靠解决 4Chan CAPTCHA 的模型。
关键信息:
- 介绍了 4Chan 及其 CAPTCHA 的相关术语,包括普通 CAPTCHA 和滑块 CAPTCHA。
- 获取数据的过程,包括从 4Chan 抓取 CAPTCHA 及通过商业服务获取其解决方案,还提到了生成合成数据的方法。
- 构建模型,采用基于研究的 LSTM CNN 架构,处理数据时要确保 CAPTCHA 图像为 300x80 像素,训练过程中不同阶段模型性能的变化及合适的 epoch 数。
- 在 TensorFlow.js 中使用模型,遇到 Python 3.12 下转换器不工作及 TensorFlow.js 不支持 Keras 3 等问题并解决。
- 实际应用中模型在真实 4Chan CAPTCHA 上表现良好,成功率超 90%,且对 4 字符 CAPTCHA 也有相同效果。
重要细节: - 抓取 4Chan CAPTCHA 时需处理
ttl
(过期时间约 2 分钟)和cd
(冷却时间,初始 5 秒后逐渐增加),且数据获取过多会导致质量下降和 throttling。 - 商业 CAPTCHA 服务虽能解决大部分 CAPTCHA,但仍有 10%左右错误,通过特定配置可改善。
- 生成合成数据时要分离背景和字符,注意 4Chan CAPTCHA 包含的字符范围,按规律组合生成合成 CAPTCHA 并标注。
- 训练数据包括约 500 手解图像和约 50,000 合成图像,随机分 90/10 为训练和评估集,训练约 45 秒每 epoch。
- 在 TensorFlow.js 中要注意转换器对 Python 版本的要求及 Keras 版本的适配,通过设置环境变量和指定模型格式来解决。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。