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

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

Info

Publication number
CN111079117B
CN111079117B CN201911187708.1A CN201911187708A CN111079117B CN 111079117 B CN111079117 B CN 111079117B CN 201911187708 A CN201911187708 A CN 201911187708A CN 111079117 B CN111079117 B CN 111079117B
Authority
CN
China
Prior art keywords
verification code
lenet
ssd
characters
images
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911187708.1A
Other languages
English (en)
Other versions
CN111079117A (zh
Inventor
刘彪
王骁
秦嘉伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai 30wish Information Security Co ltd
Original Assignee
Shanghai 30wish Information Security Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai 30wish Information Security Co ltd filed Critical Shanghai 30wish Information Security Co ltd
Priority to CN201911187708.1A priority Critical patent/CN111079117B/zh
Publication of CN111079117A publication Critical patent/CN111079117A/zh
Application granted granted Critical
Publication of CN111079117B publication Critical patent/CN111079117B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Hardware Design (AREA)
  • Character Discrimination (AREA)

Abstract

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

Description

一种基于LeNet和SSD的点触式验证码自动识别方法
技术领域
本发明涉及计算机信息处理技术领域,具体为一种基于LeNet和SSD的点触式验证码自动识别方法。
背景技术
目前我们在使用浏览器访问网站或使用组织内部业务系统时,有很多业务场景中需要登录以识别用户身份,软件开发商通常会加入人机交互操作环节,以防止用户恶意登录和使用系统,随着技术的快速发展,人机交互验证的形式在不断升级,特别是各种验证码技术也在不断加强,除了字符识别验证码,滑块拖动验证码、图片点触验证码、智力题目解答等等。
字符验证码通常先显示出多个扭曲的字母或数字,要求用户识别这些文字,用户在识别后,在登陆系统中通过输入装置,通常为键盘输入文字,提交给登陆系统,登陆系统在收到用户输入的文字信息后,进行检查,如果用户输入的文字与显示的歪曲的文字是一致,登陆系统就判定这个用户合法用户。
滑动验证码要求用户拖动屏幕上的鼠标滑块,滑动滑块至一个指定的位置,准确滑动到正确位置,系统才认为是合法用户,过程先是登陆系统显示出一个图像,图像中的左侧有一个可以滑动的滑块,这里我们称之为滑块,在图像中的右侧,有一个凹槽,用户拖动滑块,使其到达凹槽的位置,然后结束拖动动作,结束运作时的滑块的位置被提交到登陆系统中,登陆系统在收到位置信息后,进行检查,如果滑块所在的位置与凹槽的位置偏差小于某个阈值,并且滑动的轨迹、速度变化等符合一定的规则,才认为是合法操作。
点触式验证码是在字符型验证码的基础上进行了升级,通常网站服务器端生成一个带背景的图片,利用汉字图形库随机生成扰动后的汉字,在图片中的随机位置嵌入这些汉字,登录时要求用户按照顺序点击图片中的文字。用户正确识别汉字并在正确的位置点出,则校验通过。
LeNet是最早的卷积神经网络之一,并且推动了深度学习领域的发展。在许多次成功的迭代后,这项由 Yann LeCun 完成的开拓性成果被命名为 LeNet5。LeNet5 的架构基于这样的观点:图像的特征分布在整张图像上,以及带有可学习参数的卷积是一种用少量参数在多个位置上提取相似特征的有效方式。早期美国大多数银行就是用它来识别支票上面的手写数字。
SSD (Single Shot MultiBox Detector)物体检测模型,与现在流行的检测模型一样,将检测过程整个成一个独立的深度神经网络,便于训练与优化,同时提高检测速度。SSD采用 VGG16 的基础网络结构,使用前面的前 5 层,然后利用 astrous 算法将 fc6 和fc7 层转化成两个卷积层。再增加了 3 个卷积层,和一个池化层。不同层次的 featuremap 分别用于 default box 的偏移以及不同类别得分的预测,最后通过 nms得到最终的检测结果。
与其他单级方法相比,SSD具有更好的精度,优于FasterR-CNN模型。SSD 将输出一系列离散化的边界框,这些边界框是在不同层次上的特征图上生成的,并且有着不同的宽高比。在预测期间,网络针对每个默认框中的每个存在对象类别生成分数,并且对框进行调整以更好地匹配对象形状。另外,网络组合来自具有不同分辨率的多个特征图的预测,以适应处理各种尺寸的对象。
当下我们访问到的很多网站和系统都部署了点触式验证码,相较于普通的字符型验证码确实有有效的拦截了大部分的恶意的访问。但是验证码的存在,对第三方测试、RPA(即Robotic Process Automation软件流程自动化,指用软件自动化方式实现在各个行业中本来是人工操作计算机完成的业务)、科研单位大规模有效的收集科研数据、打通组织内部多个系统等工作造成了困扰。而点触式验证码其融合的文字的形状、大小、颜色和位置都是高度变化的,其识别精度难以保证,现有滑动验证效率低。因此,需要对现有技术进行改进。
发明内容
针对现有技术的不足,本发明提供了一种基于LeNet和SSD的点触式验证码自动识别方法。
为实现以上目的,本发明通过以下技术方案予以实现:一种基于LeNet和SSD的点触式验证码自动识别方法,包括如下步骤:
步骤一,使用Charls等抓包工具抓取验证码识别过程的请求与响应,分析响应结构,使用HttpURLConnection实现识别文字获取、图片获取、参照javascript模拟碎片图合成过程的自动化,完成web交互的自动化;
步骤二,利用Matlab处理矩阵图像的优势,用.m处理图像DBSCAN聚类、二值化、dialation膨胀、输出待识别图像等功能,并封装为jar文件供自动化程序调用;
步骤三,制作文字验证码图片数据集,预处理验证码图片生成与原验证码相似的已标注验证码图片,对验证码进行标注作为训练样本;
步骤四,使用TensorFlow搭建改进的LeNet和SSD神经网络模型,并利用准备好的训练样本集训练相应的神经网络模型,自动化程序使用将模型pb文件及训练好的参数集data文件部署在独立的识别服务器,自动化程序根据模型及参数完成识别过程;
步骤五,利用训练好的卷积神经网络模型及参数预测文字位置,并识别文字;
步骤六,将识别成功的字符及其坐标结果提交服务器,完成识别过程。
优选的,步骤四中改进的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值。
有益效果
本发明提供了一种基于LeNet和SSD的点触式验证码自动识别方法。具备以下有益效果:
该基于SSD和LeNet的点触式验证码识别方法,能够自动识别点触式验证码的字符及其背景图中所处的位置,并通过一系列的web自动交互完成验证过程,该方法根据使用的深入自我学习强化,不断提升识别精度。
附图说明
图1为本发明的工作原理图;
图2为本发明的LeNet改进图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提供一种技术方案:一种基于LeNet和SSD的点触式验证码自动识别方法,其特征在于,包括如下步骤:
步骤一,使用Charls等抓包工具抓取验证码识别过程的请求与响应,分析响应结构,使用HttpURLConnection实现识别文字获取、图片获取、参照javascript模拟碎片图合成过程的自动化,完成web交互的自动化;
步骤二,利用Matlab处理矩阵图像的优势,用.m处理图像DBSCAN聚类、二值化、dialation膨胀、输出待识别图像等功能,并封装为jar文件供自动化程序调用;
步骤三,制作文字验证码图片数据集,预处理验证码图片生成与原验证码相似的已标注验证码图片,对验证码进行标注作为训练样本;
步骤四,使用TensorFlow搭建改进的LeNet和SSD神经网络模型,并利用准备好的训练样本集训练相应的神经网络模型,自动化程序使用将模型pb文件及训练好的参数集data文件部署在独立的识别服务器,自动化程序根据模型及参数完成识别过程;
步骤五,利用训练好的卷积神经网络模型及参数预测文字位置,并识别文字;
步骤六,将识别成功的字符及其坐标结果提交服务器,完成识别过程。
步骤四中改进的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大幅减少了定位所需的时间。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (1)

1.一种基于LeNet和SSD的点触式验证码自动识别方法,其特征在于,包括如下步骤:
步骤一,使用Charls抓包工具抓取验证码识别过程的请求与响应,分析响应结构,使用HttpURLConnection实现识别文字获取、图片获取、参照javascript模拟碎片图合成过程的自动化,完成web交互的自动化;
步骤二,利用Matlab处理矩阵图像的优势,用.m处理图像DBSCAN聚类、二值化、dialation膨胀、输出待识别图像功能,并封装为jar文件供自动化程序调用;
步骤三,制作文字验证码图片数据集,预处理验证码图片生成与原验证码相似的已标注验证码图片,对验证码进行标注作为训练样本;
步骤四,使用TensorFlow搭建改进的LeNet和SSD神经网络模型,并利用准备好的训练样本集训练相应的神经网络模型,自动化程序使用将模型pb文件及训练好的参数集data文件部署在独立的识别服务器,自动化程序根据模型及参数完成识别过程;
步骤五,利用训练好的卷积神经网络模型及参数预测文字位置,并识别文字;
步骤六,将识别成功的字符及其坐标结果提交服务器,完成识别过程;
步骤四中改进的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值。
CN201911187708.1A 2019-11-28 2019-11-28 一种基于LeNet和SSD的点触式验证码自动识别方法 Active CN111079117B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911187708.1A CN111079117B (zh) 2019-11-28 2019-11-28 一种基于LeNet和SSD的点触式验证码自动识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911187708.1A CN111079117B (zh) 2019-11-28 2019-11-28 一种基于LeNet和SSD的点触式验证码自动识别方法

Publications (2)

Publication Number Publication Date
CN111079117A CN111079117A (zh) 2020-04-28
CN111079117B true CN111079117B (zh) 2024-02-13

Family

ID=70312020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911187708.1A Active CN111079117B (zh) 2019-11-28 2019-11-28 一种基于LeNet和SSD的点触式验证码自动识别方法

Country Status (1)

Country Link
CN (1) CN111079117B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114626047A (zh) * 2022-03-04 2022-06-14 北京百度网讯科技有限公司 基于人机交互的验证方法、装置和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147629A (zh) * 2017-04-27 2017-09-08 宇龙计算机通信科技(深圳)有限公司 一种短信验证方法、设备及存储介质
CN109993169A (zh) * 2019-04-11 2019-07-09 山东浪潮云信息技术有限公司 一种基于端到端的字符型验证码识别方法
WO2019174130A1 (zh) * 2018-03-14 2019-09-19 平安科技(深圳)有限公司 票据识别方法、服务器及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10505957B2 (en) * 2015-12-29 2019-12-10 Oath Inc. User verification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147629A (zh) * 2017-04-27 2017-09-08 宇龙计算机通信科技(深圳)有限公司 一种短信验证方法、设备及存储介质
WO2019174130A1 (zh) * 2018-03-14 2019-09-19 平安科技(深圳)有限公司 票据识别方法、服务器及计算机可读存储介质
CN109993169A (zh) * 2019-04-11 2019-07-09 山东浪潮云信息技术有限公司 一种基于端到端的字符型验证码识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张铮 ; 王顺帆 ; 董雷 ; .基于深度学习的验证码识别.湖北工业大学学报.2018,(02),全文. *
王驿钊 ; 黄曼莉 ; 陈舜儿 ; 黄红斌 ; 刘伟平 ; .基于改进Faster R-CNN算法的光纤端子序号识别系统.光通信技术.2019,(05),全文. *

Also Published As

Publication number Publication date
CN111079117A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN112052787B (zh) 基于人工智能的目标检测方法、装置及电子设备
CN109005145B (zh) 一种基于自动特征抽取的恶意url检测系统及其方法
CN112069485B (zh) 基于用户行为的安全处理方法、装置及设备
CN108595583B (zh) 动态图表类页面数据爬取方法、装置、终端及存储介质
CN109978893B (zh) 图像语义分割网络的训练方法、装置、设备及存储介质
CN112347244B (zh) 基于混合特征分析的涉黄、涉赌网站检测方法
US8718383B2 (en) Image and website filter using image comparison
CN108566399B (zh) 钓鱼网站识别方法及系统
CN109063456B (zh) 图像型验证码的安全性检测方法及系统
CN113139536B (zh) 一种基于跨域元学习的文本验证码识别方法、设备及存储介质
CN110879881B (zh) 基于特征组分层和半监督随机森林的鼠标轨迹识别方法
CN102035883A (zh) 一种在网络设备中用于优化网页的方法和设备
US11030726B1 (en) Image cropping with lossless resolution for generating enhanced image databases
CN110826457B (zh) 一种复杂场景下的车辆检测方法及装置
CN115941322B (zh) 基于人工智能的攻击检测方法、装置、设备及存储介质
CN108156130B (zh) 网络攻击检测方法和装置
CN111079117B (zh) 一种基于LeNet和SSD的点触式验证码自动识别方法
CN110941829B (zh) 一种基于生成对抗网络的大规模硬件木马库生成系统及方法
CN109145723A (zh) 一种印章识别方法、系统、终端装置及存储介质
CN113962199A (zh) 文本识别方法、装置、设备、存储介质及程序产品
CN111368835A (zh) 验证码自动识别方法及装置
CN116305103A (zh) 一种基于置信度差异的神经网络模型后门检测方法
CN112818114A (zh) 信息的分类方法、检测方法、计算设备及存储介质
CN111191242A (zh) 漏洞信息确定方法、装置、计算机可读存储介质及设备
CN106097403B (zh) 一种基于图像曲线推算的网络受保护指数数据的获取方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant