首页 / 专利库 / 人工智能 / 人工智能 / 机器学习 / 强化学习 / 一种基于LeNet和SSD的点触式验证码自动识别方法

一种基于LeNet和SSD的点触式验证码自动识别方法

阅读:73发布:2020-05-11

专利汇可以提供一种基于LeNet和SSD的点触式验证码自动识别方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于LeNet和SSD的点触式验证码自动识别方法,包括如下步骤:步骤一,使用Charls等抓包工具抓取验证码识别过程的 请求 与响应,分析响应结构,使用HttpURLConnection实现识别文字获取、图片获取、参照javascript模拟碎片图合成过程的自动化,完成web交互的自动化;步骤二,利用Matlab处理矩阵图像的优势,用.m处理图像DBSCAN聚类、二值化、dialation膨胀、输出待识别图像等功能,并封装为jar文件供自动化程序调用。该基于SSD和LeNet的点触式验证码识别方法,能够自动识别点触式验证码的字符及其背景图中所处的 位置 ,并通过一系列的web自动交互完成验证过程,该方法根据使用的深入自我学习强化,不断提升识别 精度 。,下面是一种基于LeNet和SSD的点触式验证码自动识别方法专利的具体信息内容。

1.一种基于LeNet和SSD的点触式验证码自动识别方法,其特征在于,包括如下步骤:
步骤一,使用Charls等抓包工具抓取验证码识别过程的请求与响应,分析响应结构,使用HttpURLConnection实现识别文字获取、图片获取、参照javascript模拟碎片图合成过程的自动化,完成web交互的自动化;
步骤二,利用Matlab处理矩阵图像的优势,用.m处理图像DBSCAN聚类、二值化、dialation膨胀、输出待识别图像等功能,并封装为jar文件供自动化程序调用;
步骤三,制作文字验证码图片数据集,预处理验证码图片生成与原验证码相似的已标注验证码图片,对验证码进行标注作为训练样本;
步骤四,使用TensorFlow搭建改进的LeNet和SSD神经网络模型,并利用准备好的训练样本集训练相应的神经网络模型,自动化程序使用将模型pb文件及训练好的参数集data文件部署在独立的识别服务器,自动化程序根据模型及参数完成识别过程;
步骤五,利用训练好的卷积神经网络模型及参数预测文字位置,并识别文字;
步骤六,将识别成功的字符及其坐标结果提交服务器,完成识别过程。
2.根据权利要求1所述的一种基于LeNet和SSD的点触式验证码自动识别方法,其特征在于:步骤四中改进的LeNet神经网络模型包括conv1 - pool1 - conv2 - pool2 - conv3 - pool3 - fc1 - fc2 - outpout,在经典的LeNet原来7层网络的基础上,增加一个卷积层conv3,和一个池化层pool3。
3.根据权利要求2所述的一种基于LeNet和SSD的点触式验证码自动识别方法,其特征在于:第三层卷积层根据输入图像采用动态大小的过滤器,保证第三层池化后与经典LeNet保持一致的输出,再与fc1全连接,在本次改进的LeNet中,优化器使用Adam,学习率为0.1。
4.根据权利要求1所述的一种基于LeNet和SSD的点触式验证码自动识别方法,其特征在于:文字在图片中的定位基于SSD网络完成,采用GB2312所包含汉字图库训练获训练筛选最优特征提取卷积核组。
5.根据权利要求1所述的一种基于LeNet和SSD的点触式验证码自动识别方法,其特征在于:在SSD中同时加入自适应阈值策略,通过文字区域大小与识别率的对应关系,自动设置prior box的min_size,max_size和aspect_ratio值。

说明书全文

一种基于LeNet和SSD的点触式验证码自动识别方法

技术领域

[0001] 本发明涉及计算机信息处理技术领域,具体为一种基于LeNet和SSD的点触式验证码自动识别方法。

背景技术

[0002] 目前我们在使用浏览器访问网站或使用组织内部业务系统时,有很多业务场景中需要登录以识别用户身份,软件开发商通常会加入人机交互操作环节,以防止用户恶意登录和使用系统,随着技术的快速发展,人机交互验证的形式在不断升级,特别是各种验证码技术也在不断加强,除了字符识别验证码,滑拖动验证码、图片点触验证码、智题目解答等等。
[0003] 字符验证码通常先显示出多个扭曲的字母或数字,要求用户识别这些文字,用户在识别后,在登陆系统中通过输入装置,通常为键盘输入文字,提交给登陆系统,登陆系统在收到用户输入的文字信息后,进行检查,如果用户输入的文字与显示的歪曲的文字是一致,登陆系统就判定这个用户合法用户。
[0004] 滑动验证码要求用户拖动屏幕上的鼠标滑块,滑动滑块至一个指定位置,准确滑动到正确位置,系统才认为是合法用户,过程先是登陆系统显示出一个图像,图像中的左侧有一个可以滑动的滑块,这里我们称之为滑块,在图像中的右侧,有一个凹槽,用户拖动滑块,使其到达凹槽的位置,然后结束拖动动作,结束运作时的滑块的位置被提交到登陆系统中,登陆系统在收到位置信息后,进行检查,如果滑块所在的位置与凹槽的位置偏差小于某个阈值,并且滑动的轨迹、速度变化等符合一定的规则,才认为是合法操作。
[0005] 点触式验证码是在字符型验证码的基础上进行了升级,通常网站服务器端生成一个带背景的图片,利用汉字图形库随机生成扰动后的汉字,在图片中的随机位置嵌入这些汉字,登录时要求用户按照顺序点击图片中的文字。用户正确识别汉字并在正确的位置点出,则校验通过。
[0006] LeNet是最早的卷积神经网络之一,并且推动了深度学习领域的发展。在许多次成功的迭代后,这项由 Yann LeCun 完成的开拓性成果被命名为 LeNet5。LeNet5 的架构基于这样的观点:图像的特征分布在整张图像上,以及带有可学习参数的卷积是一种用少量参数在多个位置上提取相似特征的有效方式。早期美国大多数行就是用它来识别支票上面的手写数字。
[0007] SSD (Single Shot MultiBox Detector)物体检测模型,与现在流行的检测模型一样,将检测过程整个成一个独立的深度神经网络,便于训练与优化,同时提高检测速度。SSD采用 VGG16 的基础网络结构,使用前面的前 5 层,然后利用 astrous 算法将 fc6 和 fc7 层转化成两个卷积层。再增加了 3 个卷积层,和一个池化层。不同层次的 feature map 分别用于 default box 的偏移以及不同类别得分的预测,最后通过 nms得到最终的检测结果。
[0008] 与其他单级方法相比,SSD具有更好的精度,优于FasterR-CNN模型。SSD 将输出一系列离散化的边界框,这些边界框是在不同层次上的特征图上生成的,并且有着不同的宽高比。在预测期间,网络针对每个默认框中的每个存在对象类别生成分数,并且对框进行调整以更好地匹配对象形状。另外,网络组合来自具有不同分辨率的多个特征图的预测,以适应处理各种尺寸的对象。
[0009] 当下我们访问到的很多网站和系统都部署了点触式验证码,相较于普通的字符型验证码确实有有效的拦截了大部分的恶意的访问。但是验证码的存在,对第三方测试、RPA(即Robotic Process Automation软件流程自动化,指用软件自动化方式实现在各个行业中本来是人工操作计算机完成的业务)、科研单位大规模有效的收集科研数据、打通组织内部多个系统等工作造成了困扰。而点触式验证码其融合的文字的形状、大小、颜色和位置都是高度变化的,其识别精度难以保证,现有滑动验证效率低。因此,需要对现有技术进行改进。

发明内容

[0010] 针对现有技术的不足,本发明提供了一种基于LeNet和SSD的点触式验证码自动识别方法。
[0011] 为实现以上目的,本发明通过以下技术方案予以实现:一种基于LeNet和SSD的点触式验证码自动识别方法,包括如下步骤:步骤一,使用Charls等抓包工具抓取验证码识别过程的请求与响应,分析响应结构,使用HttpURLConnection实现识别文字获取、图片获取、参照javascript模拟碎片图合成过程的自动化,完成web交互的自动化;
步骤二,利用Matlab处理矩阵图像的优势,用.m处理图像DBSCAN聚类、二值化、dialation膨胀、输出待识别图像等功能,并封装为jar文件供自动化程序调用;
步骤三,制作文字验证码图片数据集,预处理验证码图片生成与原验证码相似的已标注验证码图片,对验证码进行标注作为训练样本;
步骤四,使用TensorFlow搭建改进的LeNet和SSD神经网络模型,并利用准备好的训练样本集训练相应的神经网络模型,自动化程序使用将模型pb文件及训练好的参数集data文件部署在独立的识别服务器,自动化程序根据模型及参数完成识别过程;
步骤五,利用训练好的卷积神经网络模型及参数预测文字位置,并识别文字;
步骤六,将识别成功的字符及其坐标结果提交服务器,完成识别过程。
[0012] 优选的,步骤四中改进的LeNet神经网络模型包括conv1 - pool1 - conv2 - pool2 - conv3 - pool3 - fc1 - fc2 - outpout,在经典的LeNet原来7层网络的基础上,增加一个卷积层conv3,和一个池化层pool3。
[0013] 优选的,第三层卷积层根据输入图像采用动态大小的过滤器,保证第三层池化后与经典LeNet保持一致的输出,再与fc1全连接,在本次改进的LeNet中,优化器使用Adam,学习率为0.1。
[0014] 优选的,文字在图片中的定位基于SSD网络完成,采用GB2312所包含汉字图库训练获训练筛选最优特征提取卷积核组。
[0015] 优选的,在SSD中同时加入自适应阈值策略,通过文字区域大小与识别率的对应关系,自动设置prior box的min_size,max_size和aspect_ratio值。
[0016] 有益效果本发明提供了一种基于LeNet和SSD的点触式验证码自动识别方法。具备以下有益效果:
该基于SSD和LeNet的点触式验证码识别方法,能够自动识别点触式验证码的字符及其背景图中所处的位置,并通过一系列的web自动交互完成验证过程,该方法根据使用的深入自我学习强化,不断提升识别精度。
附图说明
[0017] 图1为本发明的工作原理图;图2为本发明的LeNet改进图。

具体实施方式

[0018] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019] 请参阅图1-2,本发明提供一种技术方案:一种基于LeNet和SSD的点触式验证码自动识别方法,其特征在于,包括如下步骤:步骤一,使用Charls等抓包工具抓取验证码识别过程的请求与响应,分析响应结构,使用HttpURLConnection实现识别文字获取、图片获取、参照javascript模拟碎片图合成过程的自动化,完成web交互的自动化;
步骤二,利用Matlab处理矩阵图像的优势,用.m处理图像DBSCAN聚类、二值化、dialation膨胀、输出待识别图像等功能,并封装为jar文件供自动化程序调用;
步骤三,制作文字验证码图片数据集,预处理验证码图片生成与原验证码相似的已标注验证码图片,对验证码进行标注作为训练样本;
步骤四,使用TensorFlow搭建改进的LeNet和SSD神经网络模型,并利用准备好的训练样本集训练相应的神经网络模型,自动化程序使用将模型pb文件及训练好的参数集data文件部署在独立的识别服务器,自动化程序根据模型及参数完成识别过程;
步骤五,利用训练好的卷积神经网络模型及参数预测文字位置,并识别文字;
步骤六,将识别成功的字符及其坐标结果提交服务器,完成识别过程。
[0020] 步骤四中改进的LeNet神经网络模型包括conv1 - pool1 - conv2 - pool2 - conv3 - pool3 - fc1 - fc2 - outpout,在经典的LeNet原来7层网络的基础上,增加一个卷积层conv3,和一个池化层pool3,第三层卷积层根据输入图像采用动态大小的过滤器,保证第三层池化后与经典LeNet保持一致的输出,再与fc1全连接,在本次改进的LeNet中,优化器使用Adam,学习率为0.1,具有学习训练功能,文字在图片中的定位基于SSD网络完成,采用GB2312所包含汉字图库训练获训练筛选最优特征提取卷积核组,在SSD中同时加入自适应阈值策略,通过文字区域大小与识别率的对应关系,自动设置prior box的min_size,max_size和aspect_ratio值,使得上述参数动态调整,不再依赖人工设置,相比于通过滑动窗口逐一检查文字区域的方式,在文字的位置预测上使用SSD大幅减少了定位所需的时间。
[0021] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下。
[0022] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈