CN107122653A - 一种图片验证码处理方法及装置 - Google Patents

一种图片验证码处理方法及装置 Download PDF

Info

Publication number
CN107122653A
CN107122653A CN201710328683.7A CN201710328683A CN107122653A CN 107122653 A CN107122653 A CN 107122653A CN 201710328683 A CN201710328683 A CN 201710328683A CN 107122653 A CN107122653 A CN 107122653A
Authority
CN
China
Prior art keywords
identifying code
identified
models
sample set
image
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.)
Pending
Application number
CN201710328683.7A
Other languages
English (en)
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.)
Hunan Xinghan Shuzhi Technology Co Ltd
Original Assignee
Hunan Xinghan Shuzhi Technology 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 Hunan Xinghan Shuzhi Technology Co Ltd filed Critical Hunan Xinghan Shuzhi Technology Co Ltd
Priority to CN201710328683.7A priority Critical patent/CN107122653A/zh
Publication of CN107122653A publication Critical patent/CN107122653A/zh
Pending legal-status Critical Current

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/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Character Discrimination (AREA)

Abstract

本发明公开了一种图片验证码处理方法及装置,所述图片验证码处理方法包括:对样本集进行预处理;预处理后的样本集聚类产生K‑Means模型;通过K‑Means模型得到样本集的多维数组数据,利用PCA法对多维数组数据降维并取出数据的典型特征,得到PCA模型;降维后的多维数组数据经过SVM训练,得到SVC模型;利用K‑Means模型、PCA模型对待识别验证码图像进行处理,利用SVC模型识别处理后的待识别验证码图像,并将识别过程封装成验证码识别接口;将封装好的验证码识别接口打包成Webservice,提供给Webservice客户端调用。本发明能够处理复杂多变的验证码图像,识别正确率高,可实现跨平台调用。

Description

一种图片验证码处理方法及装置
技术领域
本发明涉及计算机数据处理领域,特别涉及一种图片验证码处理方法及装置。
背景技术
验证码(CAPTCHA)是一种区分用户是计算机或人的公共全自动程序。在CAPTCHA测试中,作为服务器的计算机会自动生成一个问题由用户来解答,这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。
由于验证码可以防止恶意破解密码、刷票、论坛灌水等现象,一定程度上保障了网站的信息安全。然而,在大数据时代,数据的自动采集尤为重要,其常常需要经过验证码的这一道关卡。另一方面,为网站信息安全保驾护航的验证码,必须经受得起自动破解识别程序的考验,因此,验证码必须经过各种自动化测试才能达到高度的安全性。
现有的验证码识别技术,大多识别正确率不高,对于复杂多变的验证码比如噪音点、噪音直线、字符扭曲、字符相连、字符倾斜等情况都未给出系统而科学的解决方案,且无法实现跨平台调用。如在识别字符所在位置固定的验证码时,可以采用定像素宽度切割技术,但此技术仅适合字符位置固定的验证码,通用程度不高。
因此,亟需一种图片验证码处理方法及装置。
发明内容
发明的目的:为了解决现有验证码识别技术存在的识别正确率低、无法科学处理复杂验证码的技术问题,提供了一种图片验证码处理方法及装置,能够解决验证码存在噪音点、噪音直线、字符扭曲变形、字符相连、字符旋转等问题,去噪声效果好,识别正确率高,能够实现跨平台调用。
为达到上述目的,本发明采用的技术方案是:提供了一种图形验证码处理方法,包括以下过程:
步骤1:在Python中,对样本集中的验证码样本图像进行预处理;
步骤2:预处理后的样本集聚类产生K-Means模型;通过K-Means模型得到样本集的多维数组数据,利用PCA主成分分析法对多维数组数据降维,并取出数据的典型特征,得到PCA模型;降维后的多维数组数据经过SVM机器学习训练,得到SVC模型;
步骤3:利用K-Means模型、PCA模型对待识别验证码图像进行处理,利用SVC模型对处理后的待识别验证码图像进行识别,并将识别过程封装一个验证码识别接口;
步骤4:将封装好的验证码识别接口打包成Webservice,提供给Webservice客户端调用。
进一步地,所述对样本集中的验证码样本图像进行预处理,包括以下过程:
获取至少500张验证码样本图像,形成样本集;所述验证码样本图像数量越多越好;
对样本集中每张验证码样本图像进行预处理,预处理后的验证码样本图像均为单个字符;所述预处理包括去除孤立噪点、去除干扰直线、倾斜校正、图像切割中的一种或几种,所述去除孤立噪点采用周边像素计数法或滤波除噪法,所述滤波除噪法采用中通滤波除噪;所述去除干扰直线采用颜色差异法或HoughLine直线检测法,所述HoughLine直线检测法引入直线宽度阈值,阈值以上的直线保留,阈值以下的直线去除;所述倾斜校正采用仿射变换法;所述图像切割采用等间隔切割或投影切割。
进一步地,所述预处理后的样本集聚类产生K-Means模型,包括以下过程:
获取样本集和样本集对应字符集;
对预处理后的样本集进行尺度不变特征转换,得到样本集SIFT特征;
将样本集SIFT特征进行聚类,得到K-Means模型。
进一步地,所述通过K-Means模型得到样本集的多维数组数据,利用PCA主成分分析法对多维数组数据降维,并取出数据的典型特征,得到PCA模型,包括以下过程:
利用K-Means模型对样本集SIFT特征分别进行聚类、预测,聚类得到K-Means聚类结果数据,预测得到该SIFT特征的预测值并进行统计,将统计结果存入K-Means聚类结果数据中,形成多维数组数据;
利用PCA主成分分析法对多维数组数据降维,取出数据的典型特征,得到PCA模型。
进一步地,所述利用K-Means模型、PCA模型对待识别验证码图像进行处理,利用SVC模型对处理后的待识别验证码图像进行识别,包括以下过程:
加载待识别验证码图像与PCA模型、K-Means模型以及SVC模型;
将待识别验证码图像进行预处理,通过尺度不变特征转换得到其SIFT特征;
利用K-Means模型对待识别验证码图像SIFT特征进行预测,得到该SIFT特征的预测值并进行统计,将统计结果存入多维数组数据中,形成待识别验证码图像测试数据;
利用PCA模型对待识别验证码图像测试数据降维;
利用SVC模型对降维后的待识别验证码图像测试数据进行识别,并给出识别结果。
本发明还提供了一种图片验证码处理装置,包括:
图像预处理模块,用于在Python中,对样本集中的验证码样本图像进行预处理;
模型建立模块,用于将预处理后的样本集聚类产生K-Means模型;通过K-Means模型得到样本集聚类结果数据,利用PCA主成分分析法对样本集聚类结果数据降维,并取出数据的典型特征,得到PCA模型;降维后的样本集聚类结果数据经过SVM机器学习训练,得到SVC模型;
模型识别模块,用于利用K-Means模型、PCA模型对待识别验证码图像进行处理,利用SVC模型对处理后的待识别验证码图像进行识别,并将识别过程封装一个验证码识别接口;
服务调用模块,用于将封装好的验证码识别接口打包成Webservice,提供给Webservice客户端调用。
进一步地,所述图像预处理模块,具体用于:
获取至少500张验证码样本图像,形成样本集;
对样本集中每张验证码样本图像进行预处理,预处理后的验证码样本图像均为单个字符;所述预处理包括去除孤立噪点、去除干扰直线、倾斜校正、图像切割中的一种或几种。
进一步地,所述模型建立模块,具体用于:
获取样本集和样本集对应字符集;
对预处理后的样本集进行尺度不变特征转换,得到样本集SIFT特征;
将样本集SIFT特征进行聚类,得到K-Means模型。
进一步地,所述模型建立模块,具体用于:
利用K-Means模型对样本集SIFT特征分别进行聚类、预测,聚类得到K-Means聚类结果数据,预测得到该SIFT特征的预测值并进行统计,将统计结果存入K-Means聚类结果数据中,形成多维数组数据;
利用PCA主成分分析法对多维数组数据降维,取出数据的典型特征,得到PCA模型。
进一步地,所述模型识别模块,具体用于:
加载待识别验证码图像与PCA模型、K-Means模型以及SVC模型;
将待识别验证码图像进行预处理,通过尺度不变特征转换得到其SIFT特征;
利用K-Means模型对待识别验证码图像SIFT特征进行预测,得到该SIFT特征的预测值并进行统计,将统计结果存入多维数组数据中,形成待识别验证码图像测试数据;
利用PCA模型对待识别验证码图像测试数据降维;
利用SVC模型对降维后的待识别验证码图像测试数据进行识别,并给出识别结果。
本发明的有益效果是:本发明通过对样本集进行尺度不变特征转换、聚类、PCA主成分分析和SVM机器学习训练,得到验证码图像样本集的K-Means模型、PCA模型以及SVC模型,并利用上述模型对待识别验证码图像进行识别,能够处理复杂多变的验证码图像,且识别正确率95%以上;同时,将识别过程封装为验证码识别接口,并打包成Webservice提供给Webservice客户端调用,可实现跨平台调用,通用性好,具有一定的应用前景。
附图说明
图1是本发明实施例1图片验证码处理方法的实现流程图。
图2是本发明实施例1图片验证码处理方法步骤2的具体流程图。
图3是本发明实施例1图片验证码处理方法步骤3的具体流程图。
图4是本发明实施例3图片验证码处理装置的结构框图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
实施例1
参照图1-3,本实施例公开了一种图片验证码的处理方法,包括以下过程:
步骤1:在Python中,利用OpenCV包对样本集中的验证码样本图像进行预处理;具体包括以下过程:
步骤1.1:获取2000张验证码样本图像,形成样本集;所述验证码样本图像的获取方式为人工标注;
步骤1.2:对样本集中每张验证码样本图像进行预处理,预处理后的验证码样本图像为单个字符;所述预处理包括去除孤立噪点、去除干扰直线、倾斜校正、图像切割中的一种或几种;
步骤2:预处理后的样本集聚类产生K-Means模型;通过K-Means模型得到样本集的多维数组数据,利用PCA主成分分析法对多维数组数据降维,并取出数据的典型特征,得到PCA模型;降维后的多维数组数据经过SVM机器学习训练,得到SVC模型;具体包括以下过程:
步骤2.1:获取样本集和样本集对应字符集;获取方式为人工标注;
步骤2.2:对预处理后的样本集进行尺度不变特征转换,得到样本集SIFT特征;
步骤2.3:将样本集SIFT特征进行聚类,得到K-Means模型;
步骤2.4:利用K-Means模型对样本集SIFT特征分别进行聚类、预测,聚类得到K-Means聚类结果数据,预测得到该SIFT特征的预测值并进行统计,将统计结果存入K-Means聚类结果数据中,形成多维数组数据;
步骤2.5:扩大待训练的数据集;将待训练的数据集扩大4倍,所述待训练的数据集包括样本集和样本集对应字符集,目的是为了弥补样本集过小的缺陷,使得到的模型更加准确;
步骤2.6:按照给定的比例参数将样本集分为训练集与测试集,此处比例参数设定0.85,即训练集在样本集的占比为0.85;
步骤2.7:利用PCA主成分分析法对多维数组数据降维,取出数据的典型特征,得到PCA模型;
步骤2.8:将训练集中的多维数组数据与样本集对应字符集数据一一对应,进行SVM支持向量机训练,得到SVC模型。
步骤3:利用K-Means模型、PCA模型对待识别验证码图像进行处理,利用SVC模型对处理后的待识别验证码图像进行识别,并将识别过程封装成一个验证码识别接口;具体包括以下过程:
步骤3.1:加载待识别验证码图像、PCA模型、K-Means模型以及SVC模型;所述待识别验证码图像存在背景噪点、字符倾斜等问题;
步骤3.2:将待识别验证码图像进行预处理,通过尺度不变特征转换得到其SIFT特征;所述待识别验证码图像的预处理过程为:先进行灰度化处理,二值化后,再进行投影切割,得到的字符独立不含噪音,虽然还有倾斜,但已基本可用于训练SVC模型;
步骤3.3:利用K-Means模型对待识别验证码图像SIFT特征进行预测,得到该SIFT特征的预测值并进行统计,将统计结果存入多维数组数据中,形成待识别验证码图像测试数据;
步骤3.4:利用PCA模型对待识别验证码图像测试数据降维;
步骤3.5:利用SVC模型对降维后的待识别验证码图像测试数据进行识别,并给出识别结果;
步骤3.6:将上述过程打包,整体封装为验证码识别接口。
步骤4:将封装好的验证码识别接口打包成Webservice,提供给Java的Webservice客户端调用;具体包括以下过程:
步骤4.1:将封装好的验证码识别接口打包成Webservice;
步骤4.2:运行python服务器端的Webservice,新建一个Webservice的project;
步骤4.3:输入服务器端python的Webservice地址;
步骤4.4:新建一个ApplicationProxy对象;
步骤4.5:调用getImageValue_test()方法,完成跨平台调用。
本实施1对于复杂多变的验证码诸如噪音点、噪音直线、字符扭曲变形、字符相连、字符旋转等各种情况都提出了解决办法,并且经过验证可得到较为理想的去噪效果,具有以下优点:
(1)图像预处理(验证码样本图像和待识别验证码图像)包括但不限于去除孤立噪点、去除干扰直线、倾斜校正、图像切割等过程,为得到字符清晰的二值化验证码图片,不同的验证码图像可采用不同的解决方案,灰度化、二值化、倾斜校正、切割,可以看成切片式的编程,对于不同类型验证码,组合不同的图像处理方法即可。
(2)开创性的用色彩聚类(K-Means)去除穿越字符的干扰直线。
(3)在训练机器学习模型时,采用先进的SIFT聚类,PCA主成分分析降维,极大地提高了模型的识别正确率。
(4)能处理不同特征的验证码,还可以通过Webservice跨语言跨平台进行调用。
实施例2
本实施例公开了一种图片验证码处理方法,包括以下过程:
步骤1:在Python中,利用OpenCV包对样本集中的验证码样本图像进行预处理;具体包括以下过程:
步骤1.1:获取4000张验证码样本图像,形成样本集;所述获取方式为人工标注;
步骤1.2:对样本集中每张验证码样本图像进行预处理,预处理后的验证码样本图像为单个字符;所述预处理包括去除孤立噪点、去除干扰直线、倾斜校正、图像切割中的一种或几种;
步骤2:预处理后的样本集聚类产生K-Means模型;通过K-Means模型得到样本集的多维数组数据,利用PCA主成分分析法对多维数组数据降维,并取出数据的典型特征,得到PCA模型;降维后的多维数组数据经过SVM机器学习训练,得到SVC模型;具体包括以下过程:
步骤2.1:获取样本集和样本集对应字符集;
步骤2.2:对预处理后的样本集进行尺度不变特征转换,得到样本集SIFT特征;
步骤2.3:将样本集SIFT特征进行聚类,得到K-Means模型;
步骤2.4:利用K-Means模型对样本集SIFT特征分别进行聚类、预测,聚类得到K-Means聚类结果数据,预测得到该SIFT特征的预测值并进行统计,将统计结果存入K-Means聚类结果数据中,形成多维数组数据;
步骤2.5:扩大待训练的数据集;将待训练的数据集扩大6倍,所述待训练的数据集包括样本集和样本集对应字符集,目的是为了弥补样本集过小的缺陷,使得到的模型更加准确;
步骤2.6:按照给定的比例参数将样本集分为训练集与测试集,此处比例参数设定0.9,即训练集在样本集的占比为0.9;
步骤2.7:利用PCA主成分分析法对多维数组数据降维,取出数据的典型特征,得到PCA模型;
步骤2.8:开始SVM训练,将训练集中的多维数组数据与样本集对应字符集数据一一对应,进行SVM支持向量机训练,得到SVC模型。
步骤3:利用K-Means模型、PCA模型对待识别验证码图像进行处理,利用SVC模型对处理后的待识别验证码图像进行识别,并将识别过程封装成一个验证码识别接口;具体包括以下过程:
步骤3.1:加载待识别验证码图像与PCA模型、K-Means模型以及SVC模型;所述待识别验证码图像存在背景噪点、直线干扰、字符倾斜等问题;
步骤3.2:将待识别验证码图像进行预处理,通过尺度不变特征转换得到其SIFT特征;所述待识别验证码图像的预处理过程为:先进行灰度化处理,二值化后,再进行投影切割,从而得到独立的字符;
步骤3.3:利用K-Means模型对待识别验证码图像SIFT特征进行预测,得到该SIFT特征的预测值并进行统计,将统计结果存入多维数组数据中,形成待识别验证码图像测试数据;
步骤3.4:利用PCA模型对待识别验证码图像测试数据降维;
步骤3.5:利用SVC模型对降维后的待识别验证码图像测试数据进行识别,并给出识别结果;
步骤3.6:将上述过程整体封装为验证码识别接口。
步骤4:将封装好的验证码识别接口打包成Webservice,提供给C++的Webservice客户端调用;具体包括以下过程:
步骤4.1:将封装好的验证码识别接口打包成Webservice;
步骤4.2:运行python服务器端的Webservice;
步骤4.3:输入服务器端python的Webservice地址;
步骤4.4:新建一个ApplicationProxy对象;
步骤4.5:调用getImageValue_test()方法,完成跨平台调用。
实施例3
参照图4,本实施例公开了一种图片验证码处理装置,包括:
图像预处理模块,用于在Python中,对样本集中的验证码样本图像进行预处理;
模型建立模块,用于将预处理后的样本集聚类产生K-Means模型;通过K-Means模型得到样本集聚类结果数据,利用PCA主成分分析法对样本集聚类结果数据降维,并取出数据的典型特征,得到PCA模型;降维后的样本集聚类结果数据经过SVM机器学习训练,得到SVC模型;
模型识别模块,用于利用K-Means模型、PCA模型对待识别验证码图像进行处理,利用SVC模型对处理后的待识别验证码图像进行识别,并将识别过程封装一个验证码识别接口;
服务调用模块,用于将封装好的验证码识别接口打包成Webservice,提供给Webservice客户端调用。
所述图像预处理模块,具体用于:
获取至少500张验证码样本图像,形成样本集;
对样本集中每张验证码样本图像进行预处理,预处理后的验证码样本图像均为单个字符;所述预处理包括去除孤立噪点、去除干扰直线、倾斜校正、图像切割中的一种或几种。
所述模型建立模块,具体用于:
获取样本集和样本集对应字符集;
对预处理后的样本集进行尺度不变特征转换,得到样本集SIFT特征;
将样本集SIFT特征进行聚类,得到K-Means模型;
利用K-Means模型对样本集SIFT特征分别进行聚类、预测;聚类得到K-Means聚类结果数据,预测得到该SIFT特征的预测值并进行统计,将统计结果存入K-Means聚类结果数据中,形成多维数组数据;
扩大待训练的数据集,所述待训练的数据集包括样本集和样本集对应字符集;目的是为了弥补样本集过小的缺陷,使得到的模型更加准确;
按照给定的比例参数将样本集分为训练集与测试集;
利用PCA主成分分析法对多维数组数据降维,取出数据的典型特征,得到PCA模型;
开始SVM训练,将训练集中的多维数组数据与样本集对应字符集数据一一对应,进行SVM支持向量机训练,得到SVC模型。
所述模型识别模块,具体用于:
加载待识别验证码图像与PCA模型、K-Means模型以及SVC模型;
将待识别验证码图像进行预处理,通过尺度不变特征转换得到其SIFT特征;
利用K-Means模型对待识别验证码图像SIFT特征进行预测,得到该SIFT特征的预测值并进行统计,将统计结果存入多维数组数据中,形成待识别验证码图像测试数据;
利用PCA模型对待识别验证码图像测试数据降维;
利用SVC模型对降维后的待识别验证码图像测试数据进行识别,并给出识别结果。
所述调用识别模块,具体用于:
将封装好的验证码识别接口打包成Webservice;
运行python服务器端的Webservice;
输入服务器端python的Webservice地址;
新建一个ApplicationProxy对象;
调用getImageValue_test()方法,完成跨平台调用。
注意,上述内容仅为本发明的较佳实施例。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种图片验证码处理方法,其特征在于,包括以下过程:
步骤1:在Python中,对样本集中的验证码样本图像进行预处理;
步骤2:预处理后的样本集聚类产生K-Means模型;通过K-Means模型得到样本集的多维数组数据,利用PCA主成分分析法对多维数组数据降维,并取出数据的典型特征,得到PCA模型;降维后的多维数组数据经过SVM机器学习训练,得到SVC模型;
步骤3:利用K-Means模型、PCA模型对待识别验证码图像进行处理,利用SVC模型对处理后的待识别验证码图像进行识别,并将识别过程封装一个验证码识别接口;
步骤4:将封装好的验证码识别接口打包成Webservice,提供给Webservice客户端调用。
2.根据权利要求1所述的图片验证码处理方法,其特征在于,所述对样本集中的验证码样本图像进行预处理,包括以下过程:
获取至少500张验证码样本图像,形成样本集;
对样本集中每张验证码样本图像进行预处理,预处理后的验证码样本图像均为单个字符;所述预处理包括去除孤立噪点、去除干扰直线、倾斜校正、图像切割中的一种或几种。
3.根据权利要求1所述的图片验证码处理方法,其特征在于,所述预处理后的样本集聚类产生K-Means模型,包括以下过程:
获取样本集和样本集对应字符集;
对预处理后的样本集进行尺度不变特征转换,得到样本集SIFT特征;
将样本集SIFT特征进行聚类,得到K-Means模型。
4.根据权利要求1所述的图片验证码处理方法,其特征在于,所述通过K-Means模型得到样本集的多维数组数据,利用PCA主成分分析法对多维数组数据降维,并取出数据的典型特征,得到PCA模型,包括以下过程:
利用K-Means模型对样本集SIFT特征分别进行聚类、预测;聚类得到K-Means聚类结果数据,预测得到该SIFT特征的预测值并进行统计,将统计结果存入K-Means聚类结果数据中,形成多维数组数据;
利用PCA主成分分析法对多维数组数据降维,取出数据的典型特征,得到PCA模型。
5.根据权利要求1所述的图片验证码处理方法,其特征在于,所述利用K-Means模型、PCA模型对待识别验证码图像进行处理,利用SVC模型对处理后的待识别验证码图像进行识别,包括以下过程:
加载待识别验证码图像与PCA模型、K-Means模型以及SVC模型;
将待识别验证码图像进行预处理,通过尺度不变特征转换得到其SIFT特征;
利用K-Means模型对待识别验证码图像SIFT特征进行预测,得到该SIFT特征的预测值并进行统计,将统计结果存入多维数组数据中,形成待识别验证码图像测试数据;
利用PCA模型对待识别验证码图像测试数据降维;
利用SVC模型对降维后的待识别验证码图像测试数据进行识别,并给出识别结果。
6.一种图片验证码处理装置,其特征在于,包括:
图像预处理模块,用于在Python中,对样本集中的验证码样本图像进行预处理;
模型建立模块,用于将预处理后的样本集聚类产生K-Means模型;通过K-Means模型得到样本集的多维数组数据,利用PCA主成分分析法对多维数组数据降维,并取出数据的典型特征,得到PCA模型;降维后的多维数组数据经过SVM机器学习训练,得到SVC模型;
模型识别模块,用于利用K-Means模型、PCA模型对待识别验证码图像进行处理,利用SVC模型对处理后的待识别验证码图像进行识别,并将识别过程封装一个验证码识别接口;
服务调用模块,用于将封装好的验证码识别接口打包成Webservice,提供给Webservice客户端调用。
7.根据权利要求6所述的图片验证码处理装置,其特征在于,所述图像预处理模块,具体用于:
获取至少500张验证码样本图像,形成样本集;
对样本集中每张验证码样本图像进行预处理,预处理后的验证码样本图像均为单个字符;所述预处理包括去除孤立噪点、去除干扰直线、倾斜校正、图像切割中的一种或几种。
8.根据权利要求6所述的图片验证码处理装置,其特征在于,所述模型建立模块,具体用于:
获取样本集和样本集对应字符集;
对预处理后的样本集进行尺度不变特征转换,得到样本集SIFT特征;
将样本集SIFT特征进行聚类,得到K-Means模型。
9.根据权利要求6所述的图片验证码处理装置,其特征在于,所述模型建立模块,具体用于:
利用K-Means模型对样本集SIFT特征分别进行聚类、预测;聚类得到K-Means聚类结果数据,预测得到该SIFT特征的预测值并进行统计,将统计结果存入K-Means聚类结果数据中,形成多维数组数据;
利用PCA主成分分析法对多维数组数据降维,取出数据的典型特征,得到PCA模型;
10.根据权利要求6所述的图片验证码处理装置,其特征在于,所述模型识别模块,具体用于:
加载待识别验证码图像与PCA模型、K-Means模型以及SVC模型;
将待识别验证码图像进行预处理,通过尺度不变特征转换得到其SIFT特征;
利用K-Means模型对待识别验证码图像SIFT特征进行预测,得到该SIFT特征的预测值并进行统计,将统计结果存入多维数组数据中,形成待识别验证码图像测试数据;
利用PCA模型对待识别验证码图像测试数据降维;
利用SVC模型对降维后的待识别验证码图像测试数据进行识别,并给出识别结果。
CN201710328683.7A 2017-05-11 2017-05-11 一种图片验证码处理方法及装置 Pending CN107122653A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710328683.7A CN107122653A (zh) 2017-05-11 2017-05-11 一种图片验证码处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710328683.7A CN107122653A (zh) 2017-05-11 2017-05-11 一种图片验证码处理方法及装置

Publications (1)

Publication Number Publication Date
CN107122653A true CN107122653A (zh) 2017-09-01

Family

ID=59727040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710328683.7A Pending CN107122653A (zh) 2017-05-11 2017-05-11 一种图片验证码处理方法及装置

Country Status (1)

Country Link
CN (1) CN107122653A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101810A (zh) * 2018-08-14 2018-12-28 电子科技大学 一种基于ocr技术的文字验证码识别方法
CN109740336A (zh) * 2018-12-28 2019-05-10 北京云测信息技术有限公司 一种图片中的验证信息的识别方法、装置及电子设备
CN110956177A (zh) * 2019-11-22 2020-04-03 成都市映潮科技股份有限公司 一种混合型验证码的识别方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933445A (zh) * 2015-06-26 2015-09-23 电子科技大学 一种基于分布式K-means的海量图像分类方法
CN105740886A (zh) * 2016-01-25 2016-07-06 宁波熵联信息技术有限公司 一种基于机器学习的车标识别方法
CN105956560A (zh) * 2016-05-06 2016-09-21 电子科技大学 一种基于池化多尺度深度卷积特征的车型识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933445A (zh) * 2015-06-26 2015-09-23 电子科技大学 一种基于分布式K-means的海量图像分类方法
CN105740886A (zh) * 2016-01-25 2016-07-06 宁波熵联信息技术有限公司 一种基于机器学习的车标识别方法
CN105956560A (zh) * 2016-05-06 2016-09-21 电子科技大学 一种基于池化多尺度深度卷积特征的车型识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
埃德温会馆: ""Python识别网站验证码"", 《HTTP://WWW.360DOC.COM/CONTENT/15/0605/15/6789490_475859862.SHTML》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101810A (zh) * 2018-08-14 2018-12-28 电子科技大学 一种基于ocr技术的文字验证码识别方法
CN109101810B (zh) * 2018-08-14 2021-07-06 电子科技大学 一种基于ocr技术的文字验证码识别方法
CN109740336A (zh) * 2018-12-28 2019-05-10 北京云测信息技术有限公司 一种图片中的验证信息的识别方法、装置及电子设备
CN110956177A (zh) * 2019-11-22 2020-04-03 成都市映潮科技股份有限公司 一种混合型验证码的识别方法及系统

Similar Documents

Publication Publication Date Title
CN109344838B (zh) 发票信息自动快速识别方法、系统以及装置
CN109086756A (zh) 一种基于深度神经网络的文本检测分析方法、装置及设备
CN105678612A (zh) 移动端原始凭证电子化智能填单系统及方法
CN109815960A (zh) 基于深度学习的翻拍图像识别方法、装置、设备及介质
CN109977191A (zh) 问题地图检测方法、装置、电子设备和介质
WO2021232670A1 (zh) 一种pcb元件识别方法及装置
CN110348360A (zh) 一种检测报告识别方法及设备
CN106033544A (zh) 基于模板匹配的试卷内容区域提取方法
CN107122653A (zh) 一种图片验证码处理方法及装置
CN112381175A (zh) 一种基于图像处理的电路板识别与分析方法
CN104282028A (zh) 一种频谱和倒谱信息融合的模糊图像检测方法
Engin et al. Offline signature verification on real-world documents
CN113762274B (zh) 一种答题卡目标区域检测方法、系统、存储介质及设备
CN108491787A (zh) 一种用于财务报表的日期检测与识别方法及装置
CN112036522A (zh) 基于机器学习的书法单字评价方法、系统及终端
CN115908142B (zh) 一种基于视觉识别的接触网微小部件验损方法
CN110135225A (zh) 样本标注方法及计算机存储介质
CN115859128B (zh) 一种基于档案数据交互相似度的分析方法和系统
CN111462388A (zh) 一种票据检验方法、装置、终端设备及存储介质
CN107516370A (zh) 一种票据识别的自动化测试及评价方法
CN110287911A (zh) 一种发票的内容识别方法、装置、设备及存储介质
CN111199050A (zh) 一种用于对病历进行自动脱敏的系统及应用
CN111105549A (zh) 光学字符识别方法、装置及计算机存储介质
CN110110622B (zh) 一种基于图像处理的医疗文本检测方法、系统和存储介质
Akanksh et al. Automated invoice data extraction using image processing

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhou Zhongcheng

Inventor after: Liao Shujie

Inventor after: Chen Junliang

Inventor after: Li Dan

Inventor before: Zhou Zhongcheng

Inventor before: Liao Shujie

Inventor before: Chen Junliang

Inventor before: Li Dan

Inventor before: Zhang Shengdong

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wu Xiao

Inventor before: Zhou Zhongcheng

Inventor before: Liao Shujie

Inventor before: Chen Junliang

Inventor before: Li Dan

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170901