- main.py: 用于训练
- runYolo.py: 用于模型识别
- generateCapter: 用于生成训练用的训练集
训练好的pt文件在runs/detect/train2/best.pt,正确率高达90%(训练20次的时候其实mAP50已经99.5%了)
其实针对腾讯的验证码识别分类是比较简单的,其实我个人有两种方案:
方案一: 纯Yolo:使用Yolo在进行目标识别的同时且对其目标进行分类。
方案二: Yolo+CNN:其实就是ddddocr的方案,先用Yolo框选出其文字,只负责目标识别。而CNN负责针对框选文字进行分类
这里我只列出了方案一,因为方案一基本够用了,正确率也够高了。而训练集的话其实没必要傻乎乎的手动进行标注,如果学过人工智能基础的都知道,我们最终目的是为了让神经网络捕获其目标特征,那么我们为什么必须要用原来的目标特征了?难道不能自己通过程序生成及其相似特征的数据进行学习吗?并且生成的同时还自动进行标注了,这不挺好?这里我就使用了这个思路,而且训练效果也非常的不错。
训练集没有用到腾讯的任何验证码,所有训练集均由自制generateCapter.py生成。
本项目基于 MIT + Non-Commercial License 发布,仅限学习与研究使用,禁止商业用途。