其实识别计算题验证码和识四六位定长验证码原理是一样的,利用深度学习识别的话方法有很多,可以利用RNN,可以利用目标检测,但是这里我就拿最简单的CNN来举例,这种简单的方式希望能引导大家,去实现更多的方式,先来看下数据集
准备数据集,我的数据集是这样的,数据集总数有300多张,但是有200多张是重复的,真正能提供特征的话只有100多张,不过需要识别的只需要前三位就够了,数据集的分布分别为, 1-9的数字 ,3位运算符(没有除法),1-9的数字,即使全部排列组合,也没有多少数据集,当然,我没有采样到全部的数据集,需要数据集的话,私聊博主就可以。
1、搭建数据Loader
由于图片本身没有太多的形变,平移,干扰等,所以不太需要数据增强,数据增强的话,反而可能成为降低准确率的一种可能性,当然我没试过数据增强哈,感兴趣的小伙伴可以试一下,我这里将10位数字和3位符号全部转化为独热编码的形式,这样子,一张图像对应的标签就是3 * 13大小的one-hot标签,这里的*由于文件名不支持