天天看点

crnn验证码识别

Crnn验证码识别

早期的验证码破解主要对字符检测,切割,后对单个字符的识别。该方法只能对传统的背景清晰,文字较为端正简单的验证码进行识别,无法适应复杂背景的验证码文字。该验证码识别采用样本自动生成及加入相应网站验证码图片,crnn进行训练识别。

训练样本的自动生成

<1>:生成验证码词库,比如字符只有0-9 a-z A-Z 零-拾加减乘?则相应的字就

有031a2,b2431,IZ,E0,零-拾=? 等(根据需求随机设置字符个数,再随机

设置字符)。尽可能多地生成的样本词库,包含各种验证码格式。

<2>:自动生成验证码文字训练图片样本,收集不包含文字的背景图片(至少上万

张),对图片进行切割,挑选整理记录平坦可以写入文字的区域。随机从背

景图片库中选出一张图片,随机从词库中选出一些词组,与背景图片分割

的块进行匹配,选好字体,颜色,大小,变换,旋转等信息,将文字写入

背景块中。 扣取旋转背景块矩形框作为一个个样本。

生成样本如图:

crnn验证码识别

训练样本的对应网站图片标签生成

. . . . 打码平台获取及人工标注等
           

验证码识别流程图

crnn验证码识别

验证码识别效果

crnn验证码识别

实验结果

目前验证码涉及字符为数字,英文大小写,中文数字运算,自动生成样本50万,平台

收集30万,主要针对京东,淘宝,一号店,微信公众号等常见网站平台,测试集准确率 80%以上,不同平台图片复杂程度不一识别准确率略有差异。

继续阅读