记一次OCR识别训练
前言
如果有需要某日校园打卡的小伙伴会注意到,每隔一段时间会有图片需要进行验证(根据内部消息透露,这个是根据设备码进行绑定的,防止自动,不过也是留了一点余地,大概两周可能才会出现一次)
既然选择了auto,必然不能每两周自己打开验证啊,本着探索的精神(bushi),我觉得自己训练一下然后选择就好了
训练
这里我选用的是哲哥的项目ddddocr训练工具,我想有些用python做爬虫项目的小伙伴还是用过ddddocr识别验证码的,毕竟简单免费嘛哈哈哈,训练的条件以及步骤可以自行进入项目查看,还是需要一些门槛的。当然训练也是需要数据集的,我这里大概爬了一千多张带有正确名字hash值的图片
训练起来一千多的训练集可能不算很多,不过已经够用了,但是我在训练过程中还是遇到了问题,我的准确度很低,只有0.27,导致无法结束训练,于是修改配置文件将准确度改成0.25导出模型进行测试
我本来以为0.27正确率会非常低,但是进行验证的时候发现,远比我想象的要高,基本喂给它的图片都能给出正确答案
部署
当然完成训练之后我们就要想办法用起来,如果仅仅只是简单的在本机上进行识别未免太过浪费电脑资源了,于是我找到了哲哥的另一个项目使用ddddocr的最简api搭建项目,支持docker,搭建一个api以方便使用,需要的时候直接调用就好了。部署还是非常简单的,如果需要调用自己的模型就比较麻烦,因为是直接调用的ddddocr,所以需要去python的模块里面修改代码,在调用ddddocr的时候加入参数import_onnx_path
和charsets_path
,填的就是导出的模型位置,最好还是绝对路径,避免找不到。
在部署完之后我们直接访问我们服务器ip加上默认端口9898就能够实现调用api识别图片了
http://xxx.xxx.xxx.xxx:9898/ocr/b64/json