CN111125669B - 滑动操作人机识别方法、装置、电子设备及存储介质 - Google Patents
滑动操作人机识别方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111125669B CN111125669B CN201911302373.3A CN201911302373A CN111125669B CN 111125669 B CN111125669 B CN 111125669B CN 201911302373 A CN201911302373 A CN 201911302373A CN 111125669 B CN111125669 B CN 111125669B
- Authority
- CN
- China
- Prior art keywords
- sliding
- vertical lines
- machine
- sliding operation
- index
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及计算机技术领域,提供了一种滑动操作人机识别方法、装置、电子设备及存储介质,所述方法包括:为滑动操作过程中间隔相同时间段产生的各滑动线条分别生成对应的垂线;垂线与相应时间段产生的滑动线条的交点为相应时间段产生的滑动线条的末尾点;根据与各滑动线条分别对应的垂线的分布情况,确定所述滑动操作的人机识别结果。需要说明的是,由于滑动操作过程中生成的垂线的分布情况能够反映滑动操作过程中滑动操作的稳定性情况,而滑动操作的稳定性情况能够反映滑动操作为机器操作的可能性,因此,本发明实施例根据与各滑动线条分别对应的垂线的分布情况确定滑动操作人机识别结果的处理方式,能够较为准确地确定滑动轨迹是否为机器操作。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种滑动操作人机识别方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的发展,网站或系统承载着越来越多用户或企业的信息,若网站或系统没有对不法分子的访问采取预防措施,将会存在网络安全隐患,有可能导致用户或企业的经济损失。
滑动验证码作为一种安全认证技术,由于其方便用户理解和使用,因此被广泛运用在人机验证中,其能够实现网络对访问者的身份认证,防止不法分子访问网站或系统。与此同时,滑动验证码作在满足对身份安全验证需求的同时,也受到了攻击者们的重点关注,各种被开发出来模仿人类行为的攻击工具开始挑战着滑动验证码的安全性。
攻击者可以通过攻击工具产生类人轨迹批量操作以绕过检测,并在对抗过程中不断升级其伪造数据以持续绕过同样升级的检测技术。因此,在双方都不断升级的技术对抗中,如何在与攻击者的攻击工具的对抗中占据优势,就显得尤为重要。针对上述相关技术中的问题,目前尚未提出有效的解决方案。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种滑动操作人机识别方法,能够较为准确地确定滑动操作是否为机器操作。
本发明还提供了一种滑动操作人机识别装置。
本发明还提供了一种智能设备。
本发明还提供了一种电子设备。
本发明还提供了一种非暂态计算机可读存储介质。
根据本发明一个实施例提供的滑动操作人机识别方法,包括:
在滑动验证码的滑动操作过程中,为间隔预设时间段产生的滑动线条分别生成对应的垂线;
根据与各滑动线条分别对应的垂线的分布情况,确定所述滑动操作的人机识别结果。
根据本发明一个实施例提供的滑动操作人机识别方法可知,由于滑动操作过程中生成的各垂线的分布情况能够反映滑动操作过程中滑动操作的稳定性情况,而滑动操作的稳定性情况能够准确反映滑动操作为机器操作的可能性,因此,本发明实施例根据在滑动过程中生成的与各滑动线条分别对应的垂线的分布情况确定滑动操作人机识别结果的处理方式,能够较为准确地确定滑动轨迹是否为机器操作。
根据本发明一个实施例,所述根据与各滑动线条分别对应的垂线的分布情况,确定所述滑动操作的人机识别结果,具体包括:
根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的一种或多种,确定所述滑动操作的人机识别结果;其中,各垂线的长度与相应时间段内滑动操作的滑动速率有关。
根据本发明一个实施例,所述根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的一种或多种,确定所述滑动操作的人机识别结果,具体包括:
根据两两相邻的垂线的四个端点组成的四边形的面积分布情况,确定所述滑动操作的人机识别结果。
根据本发明一个实施例,所述根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的一种或多种,确定所述滑动操作的人机识别结果,具体包括:
根据各垂线的总数量、相邻垂线间的距离的分布情况、垂线长度的分布情况和相邻垂线间平行关系的分布情况中的一种或多种,确定所述滑动操作的人机识别结果。
根据本发明一个实施例,所述根据各垂线的总数量、相邻垂线间的距离的分布情况、垂线长度的分布情况和相邻垂线间平行关系的分布情况中的一种或多种,确定所述滑动操作的人机识别结果,具体包括:
根据第一机器识别指标、第二机器识别指标、第三机器识别指标和第四机器识别指标中的一种或多种确定所述滑动操作的人机识别结果;
其中,第一机器识别指标、第二机器识别指标、第三机器识别指标和第四机器识别指标的确定过程包括:
确定滑动操作过程中生成的垂线的第一数量,并根据所述第一数量与第一区间集合中各子区间的匹配结果,确定第一机器识别指标;
确定两两相邻的垂线的距离中等于第一数值的第二数量,并根据第二数量与第二区间集合中各子区间的匹配结果,确定第二机器识别指标,或,确定两两相邻的垂线的距离之间的差值,并根据各差值之和与第三区间集合中各子区间的匹配结果,确定第二机器识别指标;
确定各垂线长度中等于第二数值的第三数量,并根据第三数量与第四区间集合中各子区间的匹配结果,确定第三机器识别指标,或,确定两两相邻的垂线长度的差值,并根据各差值之和与第五区间集合中各子区间的匹配结果,确定第三机器识别指标;
确定两两相邻的垂线之间的平行关系为平行的第四数量,并根据第四数量与第六区间集合中各子区间的匹配结果,确定第四机器识别指标;
其中,所述第一数值为各距离中出现频率最高的值;所述第二数值为各长度中出现频率最高的值;所述第一区间集合中的各个子区间为根据滑动验证码的滑动操作总长度和滑动操作的速度分布统计值确定的;所述第二区间集合中的各个子区间、所述第三区间集合中的各个子区间、所述第四区间集合中的各个子区间、所述第五区间集合中的各个子区间和所述第六区间集合中的各个子区间均为根据滑动操作过程中包含的时间段的数量确定的。
根据本发明一个实施例,所述根据第一机器识别指标、第二机器识别指标、第三机器识别指标和第四机器识别指标中的一种或多种确定所述滑动操作的人机识别结果,具体包括:
根据第一关系模型确定所述滑动操作的人机识别结果指标;第一关系模型为:Index=k1*a*Index1+k2*b*Index2+k3*c*Index3+k4*d*Index4;确定满足条件Index≥Q,则所述滑动操作的人机识别结果为机器操作,否则,所述滑动操作的人机识别结果为人为操作;
其中,Index表示所述滑动操作的人机识别结果指标,Index1表示第一机器识别指标,Index2表示第二机器识别指标,Index3表示第三机器识别指标,Index4表示第四机器识别指标,a、b、c和d分别表示第一至第四机器识别指标的权重,a+b+c+d=1;k1、k2、k3和k4分别表示第一至第四机器识别指标的参与控制因子,当相应的机器识别指标参与识别控制时,相应的参与控制因子为1,当相应的机器识别指标未参与识别控制时,相应的参与控制因子为0,其中,k1、k2、k3和k4中至少有一个取值为1,预设识别阈值Q的取值与参与识别控制的机器识别指标的数量以及参与识别控制的机器识别指标的取值有关。
需要说明的是,本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的滑动操作人机识别方法的流程图;
图2是本发明一实施例提供的滑动验证码的一种示意图;
图3和图4是本发明一实施例提供的滑动轨迹的一组对比示意图;
图5和图6是本发明一实施例提供的滑动轨迹的另一组对比示意图;
图7、图8和图9是本发明一实施例提供的滑动轨迹的又一组对比示意图;
图10是本发明一实施例提供的滑动验证码的另一种示意图;
图11是本发明一实施例提供的滑动操作人机识别装置的结构示意图;
图12是本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的滑动操作人机识别方法可以用于鼠标滑动、触控板滑动或者压感设备滑动等滑动操作场景,本发明实施例对此不作限定。
图1示出了本发明一实施例提供的滑动操作人机识别方法的流程图,参见图1,本发明实施例提供的滑动操作人机识别方法,包括:
步骤101:为滑动操作过程中间隔相同时间段产生的各滑动线条分别生成对应的垂线;其中,垂线与相应时间段产生的滑动线条的交点为相应时间段产生的滑动线条的末尾点;
在本步骤中,需要说明的是,滑动轨迹的人机识别可以为显式的验证操作,例如图2所示,出现一个滑动条,进行滑动验证码的滑动操作。此外,滑动轨迹的人机识别还可以为隐式的验证操作。例如,可以是在用户的日常操作中插入检测流程,举例来说,可以检测例如屏幕下拉、翻页等这些会产生滑动轨迹的滑动操作是人为操作还是机器操作。
在本步骤中,需要说明的是,在滑动操作过程中,每间隔相同时间段(例如为0.01、0.02、0.05秒等)为该时间段内产生的滑动线条生成对应的垂线。需要说明的是,对于同一轨迹线,其间隔时间需要相同。
如图3所示,在滑动验证码的滑动操作过程中,每间隔相同时间段就会产生一段滑动线条,相应地,每产生的一段滑动线条时,就会为产生的滑动线条生成对应的垂线(如第一个垂线为L1,后面依次为L2、L3、L4、L5等),每个垂线与相应时间段产生的滑动线条的交点(也称垂足)为相应时间段产生的滑动线条的末尾点。
在本步骤中,垂线是指垂直于每个时间段内产生的滑动线条的垂线。也即,垂线与相应时间段内产生的滑动线条之间的角度为90°。需要说明的是,由于间隔的时间段较小,一般小于0.06秒,因此,不管整个滑动轨迹为直线还是为曲线,均可以将一个时间段内产生的滑动线条看作为直线,因此可以做与该滑动线条垂直的垂线。在本步骤中,垂线的长度与相应时间段内滑动操作的滑动速率有关,滑动速率越大,垂线长度越长,滑动速率越小,垂线长度越短。如图3所示,在为间隔相同时间段产生的滑动线条分别生成对应的垂线时,可以以相应时间段产生的滑动线条的末尾点为始点,同时向上和向下生成垂线。其中,垂线的长度由相应时间段内的滑动速率确定,假设相应时段内的滑动速率的均值为S1,则可以查询预设数据表,查询与滑动速率S1对应的长度,进而在为间隔相同时间段产生的滑动线条分别生成对应的垂线时,可以以查询得到的垂线长度为约束条件,确定垂线向上和向下延伸的端点。
此外,需要补充说明的是,如图3所示,当相应时间段内产生的滑动线条不再水平时,相应的垂线也不再竖直,也即垂线随着相应时间段内产生的滑动线条的平直情况而发生变化,但垂线始终垂直于相应时间段内产生的滑动线条。
在本步骤中,需要说明的是,在整个滑动长度固定的情况下,由于间隔时间相同,因此,滑动速率越快,两个相邻垂线之间的距离也就越大。两个相邻垂线之间的距离一般指两个相邻垂线与对应的滑动线条的垂足之间的距离。此外,可以理解的是,滑动速率越快,最终生成的垂线的数量也越少。
在本步骤中,需要说明的是,在滑动操作过程中,由不同时间段产生的各个滑动线条共同组成了滑动轨迹。
步骤102:根据与各滑动线条分别对应的垂线的分布情况,确定所述滑动操作的人机识别结果。
在本步骤中,需要说明的是,垂线的分布情况可以包括:各垂线的总数量、各垂线间的距离、各垂线的长度、各垂线间的平行关系等等。其中,关于各垂线间的距离的含义以及各垂线长度的含义已经在上面步骤101中给出了具体解释说明。另外,各垂线间的平行关系是指两两相邻的垂线是否为平行关系。需要说明的是,根据两两相邻的垂线是否为平行关系可以确定由各个滑动线条组成的滑动轨迹是否平直。
由于滑动操作过程中生成的垂线的分布情况能够反映滑动操作过程中滑动操作的稳定性情况(包括滑动速率快慢、滑动速率是否稳定、滑动操作是否平直等),而滑动操作的稳定性情况能够准确反映滑动操作为机器操作的可能性,因此滑动操作过程中生成的垂线的分布情况,能够反映滑动操作为机器操作的可能性。
例如,假设整个滑动操作过程中只生成了一条垂线或一条垂线也没有生成,则说明滑动速率非常快,这说明该滑动轨迹有较大概率为机器操作产生的。又如,假设整个滑动操作过程中生成的各垂线间的距离较为一致或均匀,则说明整个滑动过程中的滑动速率较为一致或均匀,这样说明该滑动轨迹有较大概率为机器操作产生的。又如,假设整个滑动操作过程中生成的各垂线的长度基本一致,则说明整个滑动过程中的滑动速率较为一致或均匀,这说明该滑动轨迹有较大概率为机器操作产生的。又如,假设两两相邻的垂线组成的四边形的面积的大小相同或相近,则说明整个滑动过程中的滑动速率较为一致或均匀,这说明该滑动轨迹有较大概率为机器操作产生的。又如,假设整个滑动操作过程中生成的多个垂线之间完全平行,则说明整个滑动过程中的滑动速率完全一致,这说明该滑动轨迹有较大概率为机器操作产生的。此外,在某些情况下,还可以同时根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的两种、三种或四种确定滑动操作的人机识别结果,以尽量保证人机识别结果的准确性。
根据上面描述可知,由于滑动操作过程中生成的各垂线的分布情况能够反映滑动操作过程中滑动操作的稳定性情况,而滑动操作的稳定性情况能够准确反映滑动操作为机器操作的可能性,因此,本发明实施例根据在滑动过程中生成的与各滑动线条分别对应的垂线的分布情况确定滑动操作人机识别结果的处理方式,能够较为准确地确定滑动轨迹是否为机器操作。
进一步地,基于上述实施例的内容,在本实施例中,所述根据与各滑动线条分别对应的垂线的分布情况,确定所述滑动操作的人机识别结果,具体包括:
根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的一种或多种,确定所述滑动操作的人机识别结果;其中,各垂线的长度与相应时间段内滑动操作的滑动速率有关。
在本实施例中,在根据与各滑动线条分别对应的垂线的分布情况,确定由各滑动线条组成的滑动轨迹的人机识别结果时,可以分别采用如下几种处理方式:
A1、根据滑动操作过程中生成的各垂线的总数量确定所述滑动操作的人机识别结果;
A2、根据滑动操作过程中生成的各垂线间的距离确定所述滑动操作的人机识别结果;
A3、根据滑动操作过程中生成的各垂线的长度确定所述滑动操作的人机识别结果;
A4、根据滑动操作过程中生成的各垂线间的平行关系确定所述滑动操作的人机识别结果;
A5、根据各垂线的总数量和各垂线间的距离确定所述滑动操作的人机识别结果;
A6、根据各垂线的总数量和各垂线的长度确定所述滑动操作的人机识别结果;
A7、根据各垂线的总数量和各垂线间的平行关系确定所述滑动操作的人机识别结果;
A8、根据各垂线间的距离和各垂线的长度确定所述滑动操作的人机识别结果;
A9、根据各垂线间的距离和各垂线间的平行关系确定所述滑动操作的人机识别结果;
A10、根据各垂线的长度和各垂线间的平行关系确定所述滑动操作的人机识别结果;
A11、根据各垂线的总数量、各垂线间的距离和各垂线的长度确定所述滑动操作的人机识别结果;
A12、根据各垂线的总数量、各垂线间的距离和各垂线间的平行关系确定所述滑动操作的人机识别结果;
A13、根据各垂线的总数量、各垂线的长度和各垂线间的平行关系确定所述滑动操作的人机识别结果;
A14、根据各垂线间的距离、各垂线的长度和各垂线间的平行关系确定所述滑动操作的人机识别结果;
A15、根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系确定所述滑动操作的人机识别结果。
对于第A1处理方式:
在本实施例中,需要说明的是,可以根据滑动操作过程中生成的各垂线的总数量,确定由各滑动线条组成的滑动轨迹的人机识别结果。由于机器滑动操作过程中滑动速率较大,滑动较快,而人为滑动操作过程中滑动速率较小,滑动较慢,因此可以通过滑动速率的大小来确定是否为机器操作。其中,滑动速率的大小在本实施例中靠生成的垂线的数量体现。对于相同长度的滑动验证码来说,生成的垂线数量越小,则说明滑动速率越高,进而越说明是机器操作的可能性比较大。如图3和图4所示的一组对比例,其中,图3中的垂线数量较大,图4中的垂线数量较小,由此可知,图3对应的滑动速率较低,图4对应的滑动速率较高,因此,图3和图4相比,图3是人为操作的可能性比较大,图4是机器操作的可能性比较大。
举例来说,假设根据滑动验证码的滑动操作总长度和人为滑动操作的速度分布统计值确定整个滑动操作平均可能出现的垂线数量为35。如图3所示所示的情形,由于垂线数量为32,比较接近于整个滑动操作平均可能出现的垂线数量,因此,图3所示的情形为人为操作的可能性比较大,而对于图4所示的情形,由于垂线数量为4,远远小于整个滑动操作平均可能出现的垂线数量,因此,图4所示的情形为机器操作的可能性比较大。需要说明的是,垂线数量越小,表示滑动速率越高,进而表示机器操作的可能性越大。
对于第A2处理方式:
在本实施例中,需要说明的是,可以根据滑动操作过程中生成的各垂线间的距离,确定由各滑动线条组成的滑动轨迹的人机识别结果。由于每产生一条垂线所间隔的时间段相同,因此当两两相邻垂线之间的距离存在不同时,说明滑动操作过程中的滑动速率存在变化,一般情况下,机器操作的滑动速率较为一致或稳定,而人为操作的滑动速率则较为随机或波动,因此,可以通过各垂线间的距离来判断滑动速率的稳定性,进而根据滑动速率的稳定性判断结果来确定是否为机器操作。如图5和图6所示的一组对比例,其中,图5中的两两相邻的垂线之间的距离波动性比较大,不太一致,而图6中的两两相邻的垂线之间的距离波动性比较小,比较一致,由此可知,图5对应的滑动速率则较为随机或波动,图6对应的滑动速率较为一致或稳定,因此,图5和图6相比,图5是人为操作的可能性比较大,图6是机器操作的可能性比较大。
举例来说,如图5所示,在滑动操作过程产生的垂线中,假设两两相邻垂线间的距离为(3,2,2,2,1,1,1,3,2,1,1,1,2,2,1,1,1,1,1,1,2,2,1,1,1,1,1,2,1,1,2,2),由于该距离集合中,距离为3的数量为2,距离为2的数量为11,距离为1的数量为19,也即数量最多的1占比为19/32=0.59,小于预设的距离波动稳定性判断阈值0.6。由此说明其不满足距离波动稳定性条件,因此,可以认为各垂线间的距离的一致性不太好,也即说明滑动速率比较波动或滑动速率变化性比较大,进而说明相应的滑动操作是人为操作的可能性比较大。
如图6所示,在滑动操作过程产生的垂线中,假设两两相邻垂线间的距离为(1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1),由于该距离集合中,距离为2的数量为4,距离为1的数量为33,也即数量最多的1占比为33/37=0.89,大于预设的距离波动稳定性判断阈值0.6,由此说明,其满足距离波动稳定性条件,因此,可以认为各垂线间的距离的一致性比较好,也即说明滑动速率固定或滑动速率变化性比较小,进而说明相应的滑动操作是机器操作的可能性比较大。
对于第A3处理方式:
在本实施例中,需要说明的是,可以根据滑动操作过程中生成的各垂线的长度,确定由各滑动线条组成的滑动轨迹的人机识别结果。由于各垂线的长度与相应时间段内滑动操作的滑动速率有关,因此可以根据滑动操作过程垂线的长度分布情况来判断滑动过程中的滑动速率变化情况,进而根据滑动速率变化情况确定是机器操作是可能性较大还是人为操作的可能性较大。举例来说,当在滑动操作过程中的滑动速率较为一致,变化较小时,确定为机器操作的可能性比较大,此时体现在垂线分布上就是各垂线长度分布一致,也即当各垂线长度分布一致时,确定为机器操作的可能性比较大。而当在滑动操作过程中的滑动速率较为波动和随机,变化较大时,确定为人为操作的可能性比较大,此时体现在垂线分布上就是各垂线长度分布差异较大或者长度分布不均匀,也即当各垂线长度分布差异较大或者长度分布不均匀时,确定为机器操作的可能性比较大。依然参照如图5和图6所示的一组对比例,其中,图5中各垂线长度分布不均匀,而图6中各垂线长度分布较为均匀,由此可知,图5对应的滑动速率则较为随机或波动,图6对应的滑动速率较为一致或稳定,因此,图5和图6相比,图5是人为操作的可能性比较大,图6是机器操作的可能性比较大。
对于第A4处理方式:
在本实施例中,需要说明的是,可以根据滑动操作过程中生成的各垂线间的平行关系确定所述滑动操作的人机识别结果。
在本实施例中,需要说明的是,由于机器滑动操作过程中滑动较为平稳,得到的滑动轨迹比较趋近于直线,而人为滑动操作过程中滑动不太平稳,得到的滑动轨迹比较趋近于曲线。基于此,在本实施例中,为每个预设时间段产生的滑动线条生成对应的垂线,由于相应的垂线始终与相应时间段产生的滑动线条垂直,因此可知,当相邻时间段产生的两个滑动线条之间不再平直时,相邻的垂线之间的平行关系将为不平行。因此,可以根据各垂线间的平行关系来确定是否为机器操作。举例来说,若各垂线间的平行关系均为平行,则说明整个滑动轨迹为直线,因此说明滑动操作为机器操作的可能性比较大。若各垂线间的平行关系存在大比例的不平行,则说明整个滑动轨迹为不为直线,也即整个滑动轨迹存在较大的波折,因此说明滑动操作为人为操作的可能性比较大。
举例来说,由于各垂线之间的平行关系能够反映轨迹的平直性,因此,可以根据各垂线之间的平行关系确定是否为机器操作。一般来说,机器操作相较于人为操作来说,更具平直性。因此,如果由各个时间段内产生的滑动线条组成的滑动轨迹较为平直的话,则说明滑动操作为机器操作的可能性比较大,而如果由各个时间段内产生的滑动线条组成的滑动轨迹较为不平直的话,则说明滑动操作为机器操作的可能性比较小。如图5所示情形,存在较大比例的垂线之间的平行关系为不平行,因此,图5所示的情形对应的滑动轨迹不太平直。而对于图6所示情形,各垂线之间的平行关系基本都是平行,因此,确定图5所示情形为人为操作的可能性比较大,图6所示情形为机器操作的可能性比较大。
对于第A5处理方式:
在本实施例中,需要说明的是,可以根据各垂线的总数量和各垂线间的距离,确定由各滑动线条组成的滑动轨迹的人机识别结果。正如上面描述可知,由于各垂线的总数量和各垂线间的距离均可以用于进行人机识别,因此,如果综合运用这两个因素,识别结果将会更加准确。
举例来说,对于图5和图6所示情形,正如上面描述,根据两两相邻垂线间的距离分布情况,可以得到图5所示情形各垂线间的距离的一致性不太好,也即说明滑动速率比较波动或滑动速率变化性比较大,进而说明相应的滑动操作是人为操作的可能性比较大。图6所示情形各垂线间的距离的一致性比较好,也即说明滑动速率固定或滑动速率变化性比较小,进而说明相应的滑动操作是机器操作的可能性比较大。在此基础上,进一步结合垂线的数量,图5中垂线的数量为33,图6中垂线的数量为38,需要说明的是,在同样的滑动验证码滑动长度条件以及同样的间隔时间条件下,垂线的数量越少,说明滑动速率越快,而机器操作的滑动速率一般要快于人为操作的滑动速率。因此可知,从垂线数量这一因素考虑,图5是人为操作的可能性比较大,图6是机器操作的可能性比较大。由此可知,综合考虑各垂线间的距离以及垂线的数量可以得到更为准确和更加可信的识别结果:图5所示情形为人为操作,图6所示的情形为机器操作。
对于第A6处理方式:
在本实施例中,需要说明的是,可以根据各垂线的总数量和各垂线的长度,确定由各滑动线条组成的滑动轨迹的人机识别结果。正如上面描述可知,由于各垂线的总数量和各垂线的长度均可以用于进行人机识别,因此,如果综合运用这两个因素,识别结果将会更加准确。
举例来说,对于图5所示情形,正如上面描述,各垂线长度分布不均匀,也即说明滑动速率变化性比较大,进而说明相应的滑动操作是人为操作的可能性比较大。而图6中各垂线长度分布较为均匀,也即说明滑动速率变化性比较小,进而说明相应的滑动操作是机器操作的可能性比较大。在此基础上,进一步结合垂线的数量,图5中垂线的数量为33,图6中垂线的数量为38,需要说明的是,在同样的滑动验证码滑动长度条件以及同样的间隔时间条件下,垂线的数量越少,说明滑动速率越快,而机器操作的滑动速率一般要快于人为操作的滑动速率。因此可知,从垂线数量这一因素考虑,图5是人为操作的可能性比较大,图6是机器操作的可能性比较大。由此可知,综合考虑各垂线的长度以及垂线的数量可以得到更为准确和更加可信的识别结果:图5所示情形为人为操作,图6所示的情形为机器操作。
对于第A7处理方式:
在本实施例中,需要说明的是,可以根据各垂线的总数量和各垂线间的平行关系确定所述滑动操作的人机识别结果。
举例来说,由于各垂线之间的平行关系能够反映轨迹的平直性,因此,可以根据各垂线之间的平行关系确定是否为机器操作。一般来说,机器操作相较于人为操作来说,更具平直性。因此,如果由各个时间段内产生的滑动线条组成的滑动轨迹较为平直的话,则说明滑动操作为机器操作的可能性比较大,而如果由各个时间段内产生的滑动线条组成的滑动轨迹较为不平直的话,则说明滑动操作为机器操作的可能性比较小。如图5所示情形,存在较大比例的垂线之间的平行关系为不平行,因此,图5所示的情形对应的滑动轨迹不太平直。而对于图6所示情形,各垂线之间的平行关系基本都是平行,因此,确定图5所示情形为人为操作的可能性比较大,图6所示情形为机器操作的可能性比较大。在此基础上,进一步结合垂线的数量,图5中垂线的数量为33,图6中垂线的数量为38,需要说明的是,在同样的滑动验证码滑动长度条件以及同样的间隔时间条件下,垂线的数量越少,说明滑动速率越快,而机器操作的滑动速率一般要快于人为操作的滑动速率。因此可知,从垂线数量这一因素考虑,图5是人为操作的可能性比较大,图6是机器操作的可能性比较大。由此可知,综合考虑各垂线间的平行关系和各垂线的总数量可以得到更为准确和更加可信的识别结果:图5所示情形为人为操作,图6所示的情形为机器操作。
对于第A8处理方式:
在本实施例中,需要说明的是,可以根据滑动操作过程中生成的各垂线间的距离和各垂线的长度,确定由各滑动线条组成的滑动轨迹的人机识别结果。
举例来说,对于图5和图6所示情形,正如上面描述,根据两两相邻垂线间的距离分布情况,可以得到图5所示情形各垂线间的距离的一致性不太好,也即说明滑动速率比较波动或滑动速率变化性比较大,进而说明相应的滑动操作是人为操作的可能性比较大。图6所示情形各垂线间的距离的一致性比较好,也即说明滑动速率固定或滑动速率变化性比较小,进而说明相应的滑动操作是机器操作的可能性比较大。在此基础上,进一步结合垂线的长度分布情况。对于图5所示情形,各垂线长度分布不均匀,也即说明滑动速率变化性比较大,进而说明相应的滑动操作是人为操作的可能性比较大。而图6中各垂线长度分布较为均匀,也即说明滑动速率变化性比较小,进而说明相应的滑动操作是机器操作的可能性比较大。由此可知,综合考虑各垂线间的距离和各垂线的长度可以得到更为准确和更加可信的识别结果:图5所示情形为人为操作,图6所示的情形为机器操作。
此外,在本发明的其他实施例中,在根据滑动操作过程中生成的各垂线间的距离和各垂线的长度,确定由各滑动线条组成的滑动轨迹的人机识别结果时,还可以采用如下方式实现:
根据两两相邻的垂线的四个端点组成的四边形的面积分布情况,确定由各滑动线条组成的滑动轨迹的人机识别结果。
在本实施例中,如图7(图7中水平方向的粗横线为滑动轨迹,竖直方向的细竖线为垂线)所示,两两相邻的垂线的四个端点A、B、C和D可以组成一个四边形,类似地,图7中其他任意两两相邻的垂线的四个端点可以组成一个四边形。
在本实施例中,需要说明的是,由于两两相邻的垂线的四个端点组成的四边形的面积的大小,是由两两相邻的垂线之间的距离以及两个垂线的长度决定的,因此,两两相邻的垂线的四个端点组成的四边形的面积能综合反映垂线间的距离和垂线长度这两个因素对滑动轨迹造成的影响,因此,根据面积分布情况,能够得到较为准确的人机识别结果。此外,两两相邻的垂线的四个端点组成的四边形的面积也便于计算,计算结果也便于比较,因此,根据两两相邻的垂线的四个端点组成的四边形的面积分布情况,能够较为准确和方便地确定由各滑动线条组成的滑动轨迹的人机识别结果。
如图7所示,将两两相邻的垂线组成四边形(这里将两两相邻的垂线组成四边形是指利用两两相邻的垂线的四个端点组成四边形),并计算每个四边形的面积,然后根据所有四边形的面积的分布情况,确定由各滑动线条组成的滑动轨迹的人机识别结果。举例来说,如果两两相邻的垂线组成的四边形的面积大致相同,或,分布均匀,则可以说明整个滑动操作过程中速率较为稳定或均匀,因此,说明该滑动操作为机器所为的可能性比较大。
例如,假设共得到H个四边形,而面积相同的四边形的个数为G,则如果G/H的结果大于预先设定的阈值(例如为0.6),则说明整个滑动操作过程的滑动速率较为一致或较为均匀,进而也说明滑动操作为机器所为的可能性比较大。
又如,两两相邻的垂线组成的四边形中面积相同的四边形所占比例越高,则说明滑动操作为机器所为的可能性越大。
在本实施例中,如图7所示,由于两两相邻的垂线组成的四边形中面积相同的四边形所占比例较高,因此图7是机器操作的可能性比较大。
而对于图8和图9所示情形,由于两两相邻的垂线组成的四边形中面积相同的四边形所占比例较低,因此图8和图9为人为操作的可能性比较大。
在本实施例中,对于A9-A15所示情形不再一一举例说明,需要说明的是,当同时根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的两种、三种或四种来确定由各滑动线条组成的滑动轨迹的人机识别结果时,得到的人机识别结果较为准确。
进一步地,基于上述实施例的内容,在本实施例中,所述根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的一种或多种,确定所述滑动操作的人机识别结果,具体包括:
根据各垂线的总数量、相邻垂线间的距离的分布情况、垂线长度的分布情况和相邻垂线间平行关系的分布情况中的一种或多种,确定所述滑动操作的人机识别结果。
在本实施例中,可以根据相邻垂线间的距离的分布情况来确定滑动操作是否为机器操作。举例来说,如果相邻垂线间的距离分布较为一致或均匀,则可以确定滑动操作为机器操作的可能性比较大。例如,假设滑动操作过程中产生了多条垂线,两两相邻垂线间的距离为(2,2,2,2,2,2,2,2,2,2)或(4,4,4,3,3,3,3,2,2,2),则说明相邻垂线间的距离分布较为一致或均匀。由于机器操作的滑动速率较为一致或稳定,而人为操作的滑动速率则较为随机或波动,因此,可以通过判断滑动速率的稳定性来确定是否为机器操作,也即可以通过判断相邻垂线间的距离的均匀性分布情况来确定是否为机器操作。
在本实施例中,可以根据各垂线长度的分布情况来确定滑动操作是否为机器操作。举例来说,如果各垂线的长度分布较为一致或均匀,则可以确定机器操作的可能性比较大。例如,假设滑动操作过程中产生了多条垂线,各垂线的长度为(6,6,6,6,6,6,6,6,6,6)或(4,4,4,5,5,5,5,5,6,6),则说明各垂线的长度分布较为一致或均匀。由于各垂线的长度与相应时间段内滑动操作的滑动速率有关,而对于机器操作来说在相应时间段内的滑动速率一般比较稳定,因此,当在滑动操作过程中的滑动速率较为一致,变化较小时,确定机器操作的可能性比较大,当在滑动操作过程中的滑动速率较为波动和随机,变化较大时,确定人为操作的可能性比较大。
在本实施例中,可以根据相邻垂线间平行关系的分布情况确定滑动操作是否为机器操作。举例来说,如果相邻垂线间平行关系中为平行的垂线所占比例较大,确定机器操作的可能性比较大。例如,假设滑动操作过程中产生了多条垂线,相邻垂线间的平行关系为(平行,平行,平行,平行,平行,平行,平行,平行,平行,平行)或(平行,平行,平行,平行,不平行,不平行,平行,平行,平行,平行),则说明相邻垂线间平行关系中为平行的垂线所占比例较大,因此确定机器操作的可能性比较大。可以理解的是,当根据各垂线的总数量、相邻垂线间的距离的分布情况、垂线长度的分布情况和相邻垂线间平行关系的分布情况中的一种进行滑动操作人机识别时,可以直接采用相应的阈值比较法,例如,当各垂线数量小于预设值时,确定滑动操作为机器操作,否则确定滑动操作为人为操作。又如,当相邻垂线间的距离为某一相同值的比例大于某一阈值(例如80%)时,确定滑动操作为机器操作,否则确定滑动操作为人为操作等等。
可以理解的是,当根据各垂线的总数量、相邻垂线间的距离的分布情况、垂线长度的分布情况和相邻垂线间平行关系的分布情况中的多种(这里多种包括两种、三种或四种)进行滑动操作人机识别时,可以先确定每一因素对应的指标值,然后结合多种因素的指标值以及合理的阈值进行判断。例如,下面表1所示的指标值取值规则,假设各垂线间平行关系的结果较大比例为平行,则对应的指标值为8分,此外,假设各垂线间的距离一致性较好,则对应的指标值为8分;如果这两个个因素同时参与判断,则可以将这两个指标值进行求和,然后选取一个合理的阈值进行判断。由于这几个指标值的和为8+8=16,假设预先确定的与这两种因素结合情况对应的判断阈值为15,则可以确定滑动操作的人机识别结果为机器操作。可以理解的是,当各垂线间的距离的一致性比较好时,说明滑动速率固定或滑动速率变化性比较小,进而说明相应的滑动操作是机器操作的可能性比较大,此外,由于各垂线间平行关系的结果较大比例为平行,因此说明滑动轨迹的平直性较好,因此结合这两点推断相应的滑动操作为机器操作。
表1
在本实施例中,需要说明的是,上面表1所示情况仅为举例说明,并不具有限制作用。
进一步地,基于上述实施例的内容,在本实施例中,所述根据各垂线的总数量、相邻垂线间的距离的分布情况、垂线长度的分布情况和相邻垂线间平行关系的分布情况中的一种或多种,确定所述滑动操作的人机识别结果,具体包括:
根据第一机器识别指标、第二机器识别指标、第三机器识别指标和第四机器识别指标中的一种或多种确定所述滑动操作的人机识别结果;
其中,第一机器识别指标、第二机器识别指标、第三机器识别指标和第四机器识别指标的确定过程包括:
确定滑动操作过程中生成的垂线的第一数量,并根据所述第一数量与第一区间集合中各子区间的匹配结果,确定第一机器识别指标;
确定两两相邻的垂线的距离中等于第一数值的第二数量,并根据第二数量与第二区间集合中各子区间的匹配结果,确定第二机器识别指标,或,确定两两相邻的垂线的距离之间的差值,并根据各差值之和与第三区间集合中各子区间的匹配结果,确定第二机器识别指标;
确定各垂线长度中等于第二数值的第三数量,并根据第三数量与第四区间集合中各子区间的匹配结果,确定第三机器识别指标,或,确定两两相邻的垂线长度的差值,并根据各差值之和与第五区间集合中各子区间的匹配结果,确定第三机器识别指标;
确定两两相邻的垂线之间的平行关系为平行的第四数量,并根据第四数量与第六区间集合中各子区间的匹配结果,确定第四机器识别指标;
其中,所述第一数值为各距离中出现频率最高的值;所述第二数值为各长度中出现频率最高的值;所述第一区间集合中的各个子区间为根据滑动验证码的滑动操作总长度和滑动操作的速度分布统计值确定的;所述第二区间集合中的各个子区间、所述第三区间集合中的各个子区间、所述第四区间集合中的各个子区间、所述第五区间集合中的各个子区间和所述第六区间集合中的各个子区间均为根据滑动操作过程中包含的时间段的数量确定的。
在本实施例中,需要说明的是,可以根据滑动操作过程中生成的垂线的第一数量与第一区间集合中各子区间的匹配结果,确定第一机器识别指标。举例来说,假设根据滑动验证码的滑动操作总长度和人为滑动操作的速度分布统计值确定整个滑动操作平均可能出现的垂线数量为10,则可以确定第一区间集合中的各子区间为{(0,2),(2,4),(4,6),(6,8),(8,10)}。由于垂线数量越小,表示滑动速率越高,进而表示机器操作的可能性越大,因而对应的第一机器指标越大。因此,与各子区间对应的第一机器识别指标可以设置为{10,8,6,4,2}。例如,假设滑动操作过程中生成的垂线的第一数量为0,由于第一数量0对应的第一区间集合中的子区间为子区间(0,2),而子区间(0,2)对应的第一机器识别指标为10,因此,可以确定第一机器识别指标为10。可以理解的是,滑动操作过程中生成的垂线的第一数量为0,说明滑动速率极快,因此说明滑动操作为机器所为的可能性比较大。需要说明的是,由于机器滑动操作过程中的滑动速率较大,滑动较快,而人为滑动操作过程中的滑动速率较小,滑动较慢,因此可以通过滑动速率的大小来确定是否为机器操作。其中,滑动速率的大小在本实施例中靠生成的垂线的数量体现。对于相同长度的滑动验证码来说,生成的垂线数量越小,则说明滑动速率越高,进而越说明是机器操作的可能性比较大。
此外,在本实施例中,可以根据两两相邻的垂线的距离中等于第一数值的第二数量与第二区间集合中各子区间的匹配结果,确定第二机器识别指标。举例来说,假设滑动验证码的滑动操作过程中包含的时间段的数量为10(假设一个时间段为0.1s,则整个滑动过程耗时为1s),则可以确定第二区间集合中的各子区间为{(0,2),(2,4),(4,6),(6,8),(8,10)}。由于两两相邻的垂线的距离中与出现频率最高的距离相同的数量越多,则表示滑动速率越一致或稳定,进而表示机器操作的可能性越大,因而对应的第二机器指标越大。因此,与各子区间对应的第二机器识别指标可以设置为{2,4,6,8,10}。例如,假设两两相邻垂线间的距离为(4,4,2,2,2,4,4,4,4,4),在这种情况下,滑动操作过程中两两相邻的垂线的距离中等于第一数值的第二数量为7,由于第二数量7对应的第二区间集合中的子区间为子区间(6,8),而子区间(6,8)对应的第二机器识别指标为8,因此,可以确定第二机器识别指标为8。可以理解的是,滑动操作过程中两两相邻的垂线的距离中等于第一数值(出现频率最高的值4)的第二数量为7(所有两两相邻的垂线的距离中70%的距离一致),说明整个滑动过程的滑动速率较为稳定,因此可以说明滑动操作为机器所为的可能性比较大。
此外,在本实施例中,还可以根据两两相邻的垂线的距离之间的差值之和与第三区间集合中各子区间的匹配结果,确定第二机器识别指标。举例来说,假设滑动验证码的滑动操作过程中包含的时间段的数量为10(假设一个时间段为0.1s,则整个滑动过程耗时为1s)且相邻时间段之间距离波动统计值为1,则可以确定第三区间集合中的各子区间为{(0,2),(2,6),(6,10),(10,12),(12,16)}。由于两两相邻的垂线的距离之间的差值之和越小,则表示滑动速率越一致或稳定,进而表示机器操作的可能性越大,因而对应的第二机器指标越大。因此,与各子区间对应的第二机器识别指标可以设置为{10,8,6,4,2}。例如,假设两两相邻垂线间的距离为(4,4,2,2,2,2,4,4,4,4),在这种情况下,滑动操作过程中两两相邻的垂线的距离之间的差值之和为4,由于4对应的第三区间集合中的子区间为子区间(2,6),而子区间(2,6)对应的第二机器识别指标为8,因此,可以确定第二机器识别指标为8。可以理解的是,滑动操作过程中两两相邻的垂线的距离之间的差值之和为4(只有个别距离出现了较小的波动),说明整个滑动过程的滑动速率较为稳定,只有微小的变化和波动,因此可以说明滑动操作为机器所为的可能性比较大。
此外,在本实施例中,可以根据滑动操作过程中各垂线长度中等于第二数值的第三数量与第四区间集合中各子区间的匹配结果,确定第三机器识别指标。举例来说,假设滑动验证码的滑动操作过程中包含的时间段的数量为10,则可以确定第四区间集合中的各子区间为{(0,2),(2,4),(4,6),(6,8),(8,10)}。由于各垂线长度中与出现频率最高的长度相同的数量越多,则表示滑动速率越一致或稳定,或,表示滑动速率越一致或稳定,或,表示滑动速率以及滑动速率越一致或稳定,进而表示机器操作的可能性越大,因而对应的第三机器指标越大。因此,与各子区间对应的第三机器识别指标可以设置为{2,4,6,8,10}。例如,假设各垂线的长度为(6,6,6,6,6,6,6,6,6,5),在这种情况下,滑动操作过程中各垂线长度中等于第二数值的第三数量为9,由于第三数量9对应的第四区间集合中的子区间为子区间(8,10),而子区间(8,10)对应的第三机器识别指标为10,因此,可以确定第三机器识别指标为10。可以理解的是,滑动操作过程中各垂线长度中等于第二数值(出现频率最高的值6)的第三数量为9(所有垂线中90%的垂线长度一致),说明整个滑动过程的滑动速率较为稳定,因此可以说明滑动操作为机器所为的可能性比较大。
此外,在本实施例中,还可以根据滑动操作过程中两两相邻的垂线长度的差值之和与第五区间集合中各子区间的匹配结果,确定第三机器识别指标;举例来说,假设滑动验证码的滑动操作过程中包含的时间段的数量为10且相邻时间段之间垂线高度的波动统计值为1,则可以确定第五区间集合中的各子区间为{(0,2),(2,6),(6,10),(10,12),(12,16)}。由于两两相邻的垂线的高度之间的差值之和越小,则表示滑动速率越一致或稳定,进而表示机器操作的可能性越大,因而对应的第三机器指标越大。因此,与各子区间对应的第三机器识别指标可以设置为{10,8,6,4,2}。例如,假设各垂线的长度为(6,6,6,6,6,6,6,6,5,5),在这种情况下,滑动操作过程中两两相邻的垂线长度的差值之和为1,由于1对应的第五区间集合中的子区间为子区间(0,2),而子区间(0,2)对应的第三机器识别指标为10,因此,可以确定第三机器识别指标为10。可以理解的是,滑动操作过程中两两相邻的垂线长度的差值之和为2(只有个别垂线长度出现了极小的波动),说明整个滑动过程的滑动速率较为稳定,只有微小的变化和波动,因此可以说明滑动操作为机器所为的可能性比较大。
此外,在本实施例中,还可以两两相邻的垂线之间的平行关系为平行的第四数量与第六区间集合中各子区间的匹配结果,确定第四机器识别指标。举例来说,假设滑动验证码的滑动操作过程中包含的时间段的数量为10,则可以确定第六区间集合中的各子区间为{(0,2),(2,4),(4,6),(6,8),(8,10)}。由于两两相邻的垂线之间的平行关系为平行的数量越大,则表示滑动轨迹平直性越好,进而表示机器操作的可能性越大,因而对应的第四机器指标越大。因此,与各子区间对应的第四机器识别指标可以设置为{2,4,6,8,10}。例如,假设两两相邻的垂线之间的平行关系为(平行,平行,平行,平行,平行,平行,平行,平行,不平行,平行),在这种情况下,两两相邻的垂线之间的平行关系为平行的数量为9,由于9对应的第六区间集合中的子区间为子区间(8,10),而子区间(8,10)对应的第四机器识别指标为10,因此,可以确定第四机器识别指标为10。可以理解的是,滑动操作过程中两两相邻的垂线之间的平行关系为平行的数量为9(只有个别时间段的滑动线条出现了倾斜),说明整个滑动过程的产生的滑动轨迹较为平直,只有极微小的波动,因此可以说明滑动操作为机器所为的可能性比较大。
进一步地,基于上述实施例的内容,在本实施例中,所述根据第一机器识别指标、第二机器识别指标、第三机器识别指标和第四机器识别指标中的一种或多种确定所述滑动操作的人机识别结果,具体包括:
根据第一关系模型确定所述滑动操作的人机识别结果指标;第一关系模型为:Index=k1*a*Index1+k2*b*Index2+k3*c*Index3+k4*d*Index4;
确定满足条件Index≥Q,则所述滑动操作的人机识别结果为机器操作,否则,所述滑动操作的人机识别结果为人为操作;
其中,Index表示所述滑动操作的人机识别结果指标,Index1表示第一机器识别指标,Index2表示第二机器识别指标,Index3表示第三机器识别指标,Index4表示第四机器识别指标,a、b、c和d分别表示第一至第四机器识别指标的权重,a+b+c+d=1;k1、k2、k3和k4分别表示第一至第四机器识别指标的参与控制因子,当相应的机器识别指标参与识别控制时,相应的参与控制因子为1,当相应的机器识别指标未参与识别控制时,相应的参与控制因子为0,其中,k1、k2、k3和k4中至少有一个取值为1。
在本实施例中,预设识别阈值Q的取值与参与识别控制的机器识别指标的数量以及参与识别控制的机器识别指标的取值有关。例如,对于上面的例子,当第一至第四机器识别指标的取值均为{2,4,6,8,10}时,假设第一至第四机器识别指标均参与了识别控制,则预设识别阈值Q的取值可以确定为12。这种情况下,当有两项机器识别指标取值为6时,就可以确定相应的操作为机器操作。不过需要说明的是,预设识别阈值的具体取值可以根据相应网站或系统的安全验证级别进行设定。例如,某网站或系统对安全验证级别要求较高,则预设识别阈值可以设置的低一些,以避免漏判。又如,某网站或系统对安全验证级别要求不太高且对用户体验要求较高,则预设识别阈值可以设置的高一些,以避免容易出现误判而降低用户体验。
在本实施例中,可以根据四个机器识别指标中的任意一种、任意两种或三种或四种确定滑动操作的人机识别结果。需要说明的是,当采用四个机器识别指标中的两种或三种或四种确定滑动操作的人机识别结果时,可以根据相应的机器识别指标的重要度为相应的机器识别指标赋予不同的权重。例如,当各垂线间的距离的一致或均匀性相对于垂线数量的多少对于判断是否为机器操作更为重要时,可以将第二机器识别指标的权重设置的较大一点,而将第一机器识别指标的权重设置的较小一点,从而使得判断更具合理性,进而使得人机识别结果更为准确。
在本实施例中,需要说明的是,本实施例提供的滑动操作人机识别,不但适用于如图2所示的直线轨迹和如图10所示的折线轨迹,而且还适用于曲线轨迹(如S型曲线轨迹,蛇形曲线轨迹等)。对于曲线轨迹来说,也跟上面描述的方案类似,完全可以根据滑动过程中对应生成的垂线的数量、各垂线距离之间的分布均匀性、各垂线长度之间的分布均匀性进行人机判断。需要说明的是,本实施例中由于每隔较短时间就为这段时间产生的滑动线条生成对应的垂线,因此,即便是曲线轨迹也不会有所影响,因为即便对于曲线轨迹,在较短的时间内产生的滑动线条也可以近似看作为直线,因此可以为其生成对应的垂线。
基于相同的发明构思,本发明另一实施例提供了一种滑动操作人机识别装置,参见图11,本实施例提供的滑动操作人机识别装置,包括:生成模块21和识别模块22,其中:
生成模块21,用于为滑动操作过程中间隔相同时间段产生的各滑动线条分别生成对应的垂线;其中,垂线与相应时间段产生的滑动线条的交点为相应时间段产生的滑动线条的末尾点;
识别模块22,用于根据与各滑动线条分别对应的垂线的分布情况,确定所述滑动操作的人机识别结果。
基于上述实施例的内容,在本实施例中,所述识别模块22,具体用于:
根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的一种或多种,确定所述滑动操作的人机识别结果;其中,各垂线的长度与相应时间段内滑动操作的滑动速率有关。
基于上述实施例的内容,在本实施例中,所述识别模块22,具体用于:
根据两两相邻的垂线的四个端点组成的四边形的面积分布情况,确定所述滑动操作的人机识别结果。
基于上述实施例的内容,在本实施例中,所述识别模块22,具体用于:
根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的一种或多种,确定所述滑动操作的人机识别结果;其中,各垂线的长度与相应时间段内滑动操作的滑动速率有关。
基于上述实施例的内容,在本实施例中,所述识别模块22,具体用于:
根据各垂线的总数量、相邻垂线间的距离的分布情况、垂线长度的分布情况和相邻垂线间平行关系的分布情况中的一种或多种,确定所述滑动操作的人机识别结果。
基于上述实施例的内容,在本实施例中,所述识别模块22,具体用于:
根据第一机器识别指标、第二机器识别指标、第三机器识别指标和第四机器识别指标中的一种或多种确定所述滑动操作的人机识别结果;
其中,第一机器识别指标、第二机器识别指标、第三机器识别指标和第四机器识别指标的确定过程包括:
确定滑动操作过程中生成的垂线的第一数量,并根据所述第一数量与第一区间集合中各子区间的匹配结果,确定第一机器识别指标;
确定两两相邻的垂线的距离中等于第一数值的第二数量,并根据第二数量与第二区间集合中各子区间的匹配结果,确定第二机器识别指标,或,确定两两相邻的垂线的距离之间的差值,并根据各差值之和与第三区间集合中各子区间的匹配结果,确定第二机器识别指标;
确定各垂线长度中等于第二数值的第三数量,并根据第三数量与第四区间集合中各子区间的匹配结果,确定第三机器识别指标,或,确定两两相邻的垂线长度的差值,并根据各差值之和与第五区间集合中各子区间的匹配结果,确定第三机器识别指标;
确定两两相邻的垂线之间的平行关系为平行的第四数量,并根据第四数量与第六区间集合中各子区间的匹配结果,确定第四机器识别指标;
其中,所述第一数值为各距离中出现频率最高的值;所述第二数值为各长度中出现频率最高的值;所述第一区间集合中的各个子区间为根据滑动验证码的滑动操作总长度和滑动操作的速度分布统计值确定的;所述第二区间集合中的各个子区间、所述第三区间集合中的各个子区间、所述第四区间集合中的各个子区间、所述第五区间集合中的各个子区间和所述第六区间集合中的各个子区间均为根据滑动操作过程中包含的时间段的数量确定的。
基于上述实施例的内容,在本实施例中,所述识别模块22,具体用于:
根据第一关系模型确定所述滑动操作的人机识别结果指标;第一关系模型为:Index=k1*a*Index1+k2*b*Index2+k3*c*Index3+k4*d*Index4;
确定满足条件Index≥Q,则所述滑动操作的人机识别结果为机器操作,否则,所述滑动操作的人机识别结果为人为操作;
其中,Index表示所述滑动操作的人机识别结果指标,Index1表示第一机器识别指标,Index2表示第二机器识别指标,Index3表示第三机器识别指标,Index4表示第四机器识别指标,a、b、c和d分别表示第一至第四机器识别指标的权重,a+b+c+d=1;k1、k2、k3和k4分别表示第一至第四机器识别指标的参与控制因子,当相应的机器识别指标参与识别控制时,相应的参与控制因子为1,当相应的机器识别指标未参与识别控制时,相应的参与控制因子为0,其中,k1、k2、k3和k4中至少有一个取值为1,预设识别阈值Q的取值与参与识别控制的机器识别指标的数量以及参与识别控制的机器识别指标的取值有关。
由于本实施例提供的滑动操作人机识别装置可以用于执行上述实施例所述的滑动操作人机识别方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
基于相同的发明构思,本发明另一实施例提供了一种智能设备,该智能设备包括如上面实施例所述的滑动操作人机识别装置。
本发明实施例中提到的智能设备可以为手机、平板、电脑、遥控器、操作控制装置、远程控制装置、云端服务器等智能设备。
由于本实施例提供的智能设备包括上面实施例所述的滑动操作人机识别装置,因此其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图12,所述电子设备具体包括如下内容:处理器301、存储器302、通信接口303和通信总线304;
其中,所述处理器301、存储器302、通信接口303通过所述通信总线304完成相互间的通信;所述通信接口303用于实现各相关设备之间的传输;
所述处理器301用于调用所述存储器302中的计算机程序,所述处理器执行所述计算机程序时实现上述滑动操作人机识别方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:为滑动操作过程中间隔相同时间段产生的各滑动线条分别生成对应的垂线;其中,垂线与相应时间段产生的滑动线条的交点为相应时间段产生的滑动线条的末尾点;根据与各滑动线条分别对应的垂线的分布情况,确定所述滑动操作的人机识别结果。
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述滑动操作人机识别方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:为滑动操作过程中间隔相同时间段产生的各滑动线条分别生成对应的垂线;其中,垂线与相应时间段产生的滑动线条的交点为相应时间段产生的滑动线条的末尾点;根据与各滑动线条分别对应的垂线的分布情况,确定所述滑动操作的人机识别结果。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的滑动操作人机识别方法。
在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种滑动操作人机识别方法,其特征在于,包括:
为滑动操作过程中间隔相同时间段产生的各滑动线条分别生成对应的垂线;其中,垂线与相应时间段产生的滑动线条的交点为相应时间段产生的滑动线条的末尾点;
根据与各滑动线条分别对应的垂线的分布情况,确定所述滑动操作的人机识别结果;所述根据与各滑动线条分别对应的垂线的分布情况,确定所述滑动操作的人机识别结果,具体包括:根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的一种或多种,确定所述滑动操作的人机识别结果;其中,各垂线的长度与相应时间段内滑动操作的滑动速率有关;
所述根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的一种或多种,确定所述滑动操作的人机识别结果,具体包括:
根据两两相邻的垂线的四个端点组成的四边形的面积分布情况,确定所述滑动操作的人机识别结果。
2.根据权利要求1所述的滑动操作人机识别方法,其特征在于,所述根据各垂线的总数量、各垂线间的距离、各垂线的长度和各垂线间的平行关系中的一种或多种,确定所述滑动操作的人机识别结果,具体包括:
根据各垂线的总数量、相邻垂线间的距离的分布情况、垂线长度的分布情况和相邻垂线间平行关系的分布情况中的一种或多种,确定所述滑动操作的人机识别结果。
3.根据权利要求2所述的滑动操作人机识别方法 ,其特征在于,所述根据各垂线的总数量、相邻垂线间的距离的分布情况、垂线长度的分布情况和相邻垂线间平行关系的分布情况中的一种或多种,确定所述滑动操作的人机识别结果,具体包括:
根据第一机器识别指标、第二机器识别指标、第三机器识别指标和第四机器识别指标中的一种或多种确定所述滑动操作的人机识别结果;
其中,第一机器识别指标、第二机器识别指标、第三机器识别指标和第四机器识别指标的确定过程包括:
确定滑动操作过程中生成的垂线的第一数量,并根据所述第一数量与第一区间集合中各子区间的匹配结果,确定第一机器识别指标;
确定两两相邻的垂线的距离中等于第一数值的第二数量,并根据第二数量与第二区间集合中各子区间的匹配结果,确定第二机器识别指标,或,确定两两相邻的垂线的距离之间的差值,并根据各差值之和与第三区间集合中各子区间的匹配结果,确定第二机器识别指标;
确定各垂线长度中等于第二数值的第三数量,并根据第三数量与第四区间集合中各子区间的匹配结果,确定第三机器识别指标,或,确定两两相邻的垂线长度的差值,并根据各差值之和与第五区间集合中各子区间的匹配结果,确定第三机器识别指标;
确定两两相邻的垂线之间的平行关系为平行的第四数量,并根据第四数量与第六区间集合中各子区间的匹配结果,确定第四机器识别指标;
其中,所述第一数值为各距离中出现频率最高的值;所述第二数值为各长度中出现频率最高的值;所述第一区间集合中的各个子区间为根据滑动验证码的滑动操作总长度和滑动操作的速度分布统计值确定的;所述第二区间集合中的各个子区间、所述第三区间集合中的各个子区间、所述第四区间集合中的各个子区间、所述第五区间集合中的各个子区间和所述第六区间集合中的各个子区间均为根据滑动操作过程中包含的时间段的数量确定的。
4.根据权利要求3所述的滑动操作人机识别方法,其特征在于,所述根据第一机器识别指标、第二机器识别指标、第三机器识别指标和第四机器识别指标中的一种或多种确定所述滑动操作的人机识别结果,具体包括:
根据第一关系模型确定所述滑动操作的人机识别结果指标;第一关系模型为:Index=k1*a*Index1+k2*b*Index2+k3*c*Index3+k4*d*Index4;
确定满足条件Index≥Q,则所述滑动操作的人机识别结果为机器操作,否则,所述滑动操作的人机识别结果为人为操作;
其中,Index表示所述滑动操作的人机识别结果指标,Index1表示第一机器识别指标,Index2表示第二机器识别指标,Index3表示第三机器识别指标,Index4表示第四机器识别指标,a、b、c和d分别表示第一至第四机器识别指标的权重,a+b+c+d=1;k1、k2、k3和k4分别表示第一至第四机器识别指标的参与控制因子,当相应的机器识别指标参与识别控制时,相应的参与控制因子为1,当相应的机器识别指标未参与识别控制时,相应的参与控制因子为0,其中,k1、k2、k3和k4中至少有一个取值为1,预设识别阈值Q的取值与参与识别控制的机器识别指标的数量以及参与识别控制的机器识别指标的取值有关。
5.一种滑动操作人机识别装置,其特征在于,包括:
生成模块,用于为滑动操作过程中间隔相同时间段产生的各滑动线条分别生成对应的垂线;其中,垂线与相应时间段产生的滑动线条的交点为相应时间段产生的滑动线条的末尾点;
识别模块,用于根据与各滑动线条分别对应的垂线的分布情况,确定所述滑动操作的人机识别结果。
6.一种智能设备,其特征在于,包括如权利要求5所述的滑动操作人机识别装置。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述滑动操作人机识别方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述滑动操作人机识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911302373.3A CN111125669B (zh) | 2019-12-17 | 2019-12-17 | 滑动操作人机识别方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911302373.3A CN111125669B (zh) | 2019-12-17 | 2019-12-17 | 滑动操作人机识别方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125669A CN111125669A (zh) | 2020-05-08 |
CN111125669B true CN111125669B (zh) | 2022-03-01 |
Family
ID=70500064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911302373.3A Active CN111125669B (zh) | 2019-12-17 | 2019-12-17 | 滑动操作人机识别方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125669B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155298A (zh) * | 2015-04-21 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 人机识别方法及装置、行为特征数据的采集方法及装置 |
CN107679374A (zh) * | 2017-08-23 | 2018-02-09 | 北京三快在线科技有限公司 | 一种基于滑动轨迹的人机识别方法及装置,电子设备 |
CN108985041A (zh) * | 2018-05-17 | 2018-12-11 | 厦门二五八网络科技集团股份有限公司 | 一种基于滑动验证的验证码识别输入方法及系统 |
CN109033793A (zh) * | 2018-07-11 | 2018-12-18 | 北京京东金融科技控股有限公司 | 滑动验证码人机识别方法及装置、电子设备及可读介质 |
CN109902474A (zh) * | 2019-03-01 | 2019-06-18 | 北京奇艺世纪科技有限公司 | 一种滑动验证码中移动对象的移动轨迹的确定方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10382415B2 (en) * | 2014-04-21 | 2019-08-13 | Ohio University | Application engagement identification using a dynamic pattern |
-
2019
- 2019-12-17 CN CN201911302373.3A patent/CN111125669B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155298A (zh) * | 2015-04-21 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 人机识别方法及装置、行为特征数据的采集方法及装置 |
CN107679374A (zh) * | 2017-08-23 | 2018-02-09 | 北京三快在线科技有限公司 | 一种基于滑动轨迹的人机识别方法及装置,电子设备 |
CN108985041A (zh) * | 2018-05-17 | 2018-12-11 | 厦门二五八网络科技集团股份有限公司 | 一种基于滑动验证的验证码识别输入方法及系统 |
CN109033793A (zh) * | 2018-07-11 | 2018-12-18 | 北京京东金融科技控股有限公司 | 滑动验证码人机识别方法及装置、电子设备及可读介质 |
CN109902474A (zh) * | 2019-03-01 | 2019-06-18 | 北京奇艺世纪科技有限公司 | 一种滑动验证码中移动对象的移动轨迹的确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111125669A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3506185A1 (en) | Method for training model and information recommendation system | |
TW201928708A (zh) | 模型整合方法及裝置 | |
CN113574325B (zh) | 通过选择控制设置来控制环境的方法和系统 | |
Mott et al. | Approximate statistics of gapped alignments | |
JP6595718B2 (ja) | クレジット点数モデルトレーニング方法、クレジット点数計算方法、装置及びサーバー | |
US20170155664A1 (en) | Method and apparatus for identifying malicious account | |
CN108228722B (zh) | 破碎化区域采样点的地理空间分布均匀度检测方法 | |
US9542458B2 (en) | Systems and methods for processing and displaying user-generated content | |
CN112633973A (zh) | 一种商品推荐方法及其相关设备 | |
WO2019218476A1 (zh) | 一种数据的导出方法及设备 | |
CN110830445A (zh) | 一种异常访问对象的识别方法及设备 | |
CN110659807B (zh) | 一种基于链路的风险用户识别方法及装置 | |
CN108400928A (zh) | 一种即时通讯异常用户处理方法及装置 | |
CN110659268A (zh) | 基于聚类算法的数据填充方法、装置及计算机设备 | |
CN111125670B (zh) | 滑动轨迹人机识别方法、装置、电子设备及存储介质 | |
Matsui et al. | Crowdordering | |
CN111125669B (zh) | 滑动操作人机识别方法、装置、电子设备及存储介质 | |
WO2017028791A1 (zh) | 一种公众号推荐方法及系统 | |
CN110580265B (zh) | Etl任务的处理方法、装置、设备及存储介质 | |
CN107220530B (zh) | 基于用户业务行为分析的图灵测试方法及系统 | |
US20140214826A1 (en) | Ranking method and system | |
US20220163951A1 (en) | Manufacturing a product using causal models | |
CN111142663A (zh) | 一种手势识别方法及手势识别系统 | |
CN113221519B (zh) | 用于处理表格数据的方法、装置、设备、介质和产品 | |
CN106570003A (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 |