使用深度学习识别图形验证码
在 8.1 节和 8.2 节,我们了解了使用 OCR 技术和图像处理技术识别验证码的方法,但这些方法有个共同的缺点,就是正确率不够高。从本节开始,我们来学习使用深度学习识别验证码的方法,包括对基本的图形验证码的识别和对滑动验证码缺口的识别。
本节中我们先学习使用深度学习识别图形验证码的方法。
总结
本节介绍了利用深度学习模型识别图形验证码的整体流程,最终我们成功训练出模型,并得到了深度学习模型文件。往这个模型中输入一张图形验证码,它便会预测出其中的文本内容。
至此,我们还可以基于本节介绍的内容进行进一步的优化。
-
由于本节各个环节使用的验证码都是由 captcha 库生成的,验证码风格也都是事先设定好的,所以模型的识别正确率会比较高。但如果输入其他类型的验证码,例如文本形状、文本数量、干扰线样式和本节的不同,模型识别的正确率可能并不理想。为了让模型能够识别更多的验证码,可以多生成一些不同风格的验证码来训练模型,这样得到的模型会更加健壮。
-
当前模型的预测过程是通过命令行执行的,这在实际使用时可能并不方便。可以考虑将预测过程对接 API 服务器,例如对接 Flask、Django、FastAPI 等,把预测过程实现为一个支持 POST 请求的 API,这个 API 可以接收一张验证码图片,并返回验证码的文本信息,这样会使模型更加方便易用。