CN109858211A - 一种基于滑动轨迹的人机识别方法及装置,电子设备 - Google Patents

一种基于滑动轨迹的人机识别方法及装置,电子设备 Download PDF

Info

Publication number
CN109858211A
CN109858211A CN201910041447.6A CN201910041447A CN109858211A CN 109858211 A CN109858211 A CN 109858211A CN 201910041447 A CN201910041447 A CN 201910041447A CN 109858211 A CN109858211 A CN 109858211A
Authority
CN
China
Prior art keywords
sliding trace
time window
coding
feature
time
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.)
Granted
Application number
CN201910041447.6A
Other languages
English (en)
Other versions
CN109858211B (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.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online 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 Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201910041447.6A priority Critical patent/CN109858211B/zh
Publication of CN109858211A publication Critical patent/CN109858211A/zh
Application granted granted Critical
Publication of CN109858211B publication Critical patent/CN109858211B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种基于滑动轨迹的人机识别方法,属于计算机技术领域,用于解决现有技术中的人机识别方法识别机器模拟用户输入滑动轨迹时存在的准确率低的问题。所述方法包括:确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的特征编码基于至少一个时间窗口的参考分布特征;确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征;若基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹。本申请实施例公开的方法,可以有效提升识别机器模拟滑动轨迹的准确率。

Description

一种基于滑动轨迹的人机识别方法及装置,电子设备
本申请为申请号:201710731092.4,发明名称为《一种基于滑动轨迹的人机识别方法及装置、电子设备》的专利申请的分案申请。原申请的申请日为:2017年8月23日。
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于滑动轨迹的人机识别方法及装置,电子设备。
背景技术
登录移动终端或移动终端上的应用、网站时,通常需要进行用户真实身份鉴定,而基于滑动轨迹对用户进行真实身份识别已经是很常见的一种用户识别方法。从某种程度上讲,通过滑动轨迹进行身份验证能够提高恶意攻击登录/注册接口的难度,但仍然可以通过机器模拟用户滑动轨迹的方式进行破解。现有技术中基于滑动轨迹识别真人操作或机器模拟用户操作时,主要通过监控并检测具有异常的登录/注册行为的源I P(例如,通过同一源I P频繁进行滑动轨迹验证),并限制恶意攻击源I P的方式防止对登录/注册接口的恶意访问。但是,这种方式适用于恶意攻击者重复使用相同的源I P的情况,如果恶意攻击者频繁切换I P,则将无法准确识别是否为机器模拟用户滑动轨迹。
可见,现有技术中在基于滑动轨迹的人机识别方法至少存在识别准确率低的问题。
发明内容
本申请实施例提供一种基于滑动轨迹的人机识别方法,解决现有技术中的人机识别方法识别机器模拟用户输入滑动轨迹时存在的准确率低的问题。
为了解决上述问题,第一方面,本申请实施例提供了一种基于滑动轨迹的人机识别方法,包括:
确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的特征编码基于至少一个时间窗口的参考分布特征;
确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征;
若基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹;
其中,所述参考分布特征为所述历史滑动轨迹的预设维度特征编码基于所述至少一个时间窗口的正态分布参数;所述待验证分布特征为所述实时滑动轨迹的预设维度特征编码基于所述至少一个时间窗口的正态分布参数。
第二方面,本申请实施例提供了一种基于滑动轨迹的人机识别装置,包括:
参考分布特征确定模块,用于确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的特征编码基于至少一个时间窗口的参考分布特征;
待验证分布特征确定模块,用于确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征;
识别模块,用于若所述待验证分布特征确定模块确定的基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征确定模块确定的参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹;
其中,所述参考分布特征为所述历史滑动轨迹的预设维度特征编码基于所述至少一个时间窗口的正态分布参数;所述待验证分布特征为所述实时滑动轨迹的预设维度特征编码基于所述至少一个时间窗口的正态分布参数。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的基于滑动轨迹的人机识别方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请实施例所述的基于滑动轨迹的人机识别方法的步骤。
本申请实施例公开的基于滑动轨迹的人机识别方法,通过确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的特征编码基于至少一个时间窗口的参考分布特征;确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征;若基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹,解决了现有技术中的人机识别方法识别机器模拟用户输入滑动轨迹时存在的准确率低的问题。相对于现有技术中仅根据源I P识别机器模拟滑动轨迹,本申请实施例公开的方法,通过基于时间窗口从不同维度描述真人滑动轨迹的分布特征,并将实时滑动轨迹的分布特征与真人滑动轨迹的分布特征进行匹配,可以有效提升识别机器模拟滑动轨迹的准确率。
同时,通过基于不同时间窗口分别对滑动轨迹分布特征进行描述和匹配,对于慢速攻击的机器和快速攻击的机器均具有很好的识别效果,进一步提升了机器识别的鲁棒性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一的基于滑动轨迹的人机识别方法的流程图;
图2是本申请实施例二的基于滑动轨迹的人机识别方法的流程图;
图3是本申请实施例二的滑动轨迹示意图;
图4是本申请实施例三的基于滑动轨迹的人机识别方法的流程图;
图5是本申请实施例四基于滑动轨迹的人机识别装置结构示意图之一;
图6是本申请实施例四基于滑动轨迹的人机识别装置结构示意图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
本申请公开的一种基于滑动轨迹的人机识别方法,如图1所示,该方法包括:步骤100至步骤120。
步骤100,确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的特征编码基于至少一个时间窗口的参考分布特征。
具体实施时,采集通过验证的用户在过去一段时间内的滑动轨迹数据,并对每段滑动轨迹基于预设维度进行特征编码,得到预设维度特征编码。具体实施时,所述预设维度特征编码包括但不限于:角度编码、速度编码中的任意一项或全部。
然后,基于至少一个时间窗口分别统计各预设维度特征编码的参考分布特征,和/或基于验证通过的历史滑动轨迹统计各维度特征编码的总体的参考分布特征。具体实施时,所述至少一个时间窗口为不同时长的时间窗口,如包括两个时间窗口,其中,一个5分钟的时间窗口和一个1小时的时间窗口。时间窗口长度的根据具体业务需求确定。不同长度的时间窗口可以用于识别不同类的机器访问,时间短的窗口可以及时识别短时间内大量的机器访问(如一分钟内上百次),时间长的窗口可识别比较克制的机器访问(比如半个小时每分钟固定5分钟访问)。
具体实施时,用户的滑动轨迹特征编码基于不同时间窗口的分布特征符合正态分布,如所述历史滑动轨迹的预设维度特征编码基于所述至少一个时间窗口符合正态分布,所述实时滑动轨迹的预设维度特征编码基于所述至少一个时间窗口符合正态分布。因此,可以通过基于时间窗口对滑动轨迹的预设维度的特征编码进行分析,确定所述预设维度的特征编码基于所述时间窗口的正态分布参数。具体实施时,根据用户的用户历史滑动轨迹,可以获取所述滑动轨迹每个维度的特征编码,然后,基于不同的滑动时间窗口对所述特征编码进行统计,可以得到每个特征编码的与时间窗口对应的编码特征分布值表,即包括:特征维度类型、时间窗口、特征编码、分布值的编码特征分布值表。最后,根据编码特征分布值表可以得到每个编码的相应维度特征分别对应不同时间窗口的正态分布参数。例如,可以得到某一特征维度的某个特征编码在某个时间窗口的累计出现次数的正态分布的参数如(μtτc,σtτc)。根据编码特征分布值表还可以得到某个特征维度分别对应不同时间窗口的所有特征编码的总体正态分布参数。例如,可以得到某一特征维度的所有特征编码在某个时间窗口的累计出现次数的正态分布的参数如其中,μ是服从正态分布的随机变量的均值,参数σ是此随机变量的方差。
步骤110,确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征。
具体实施时,为了识别机器模拟滑动轨迹,设备会实时获取输入的滑动轨迹,并确定每条滑动轨迹的预设维度的特征编码,并通过滑动所述至少一个时间窗口,统计不同预设维度的每个特征编码的分布特征,作为待验证分布特征。如前所述,用户的滑动轨迹特征编码基于不同时间窗口的分布特征符合正态分布,即所述实时滑动轨迹的预设维度特征编码基于所述至少一个时间窗口符合正态分布。因此,可以通过基于时间窗口对待验证实时滑动轨迹的预设维度的特征编码进行分析,确定所述预设维度的特征编码基于所述时间窗口的正态分布参数。即所述待验证分布特征可以为所述实时滑动轨迹的预设维度特征编码基于所述至少一个时间窗口的正态分布参数。
在用户验证过程中,实时采集用户的滑动轨迹数据,并对待验证用户的每段实时滑动轨迹基于预设维度进行特征编码,得到预设维度特征编码。例如,基于角度或速度对实时滑动轨迹进行特征编码,得到实时滑动轨迹的角度编码或速度编码。具体实施时,统计实时滑动轨迹的预设维度特征编码的分布特征采用的时间窗口和统计历史滑动轨迹的预设维度特征编码的分布特征采用的时间窗口相同。实时滑动轨迹的预设维度特征编码的待验证分布特征可以为所述预设维度的某个特征编码在不同时间窗口内的累积出现次数。
步骤120,若基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹。
获取到实时滑动轨迹的预设维度特征编码的基于不同时间窗口的待验证分布特征和历史滑动轨迹的参考分布特征之后,通过比较实时滑动轨迹对应的待验证分布特征和历史滑动轨迹对应的参考分布特征,确定所述实时滑动轨迹是否为机器模拟滑动轨迹。如果实时滑动轨迹对应的待验证分布特征与历史滑动轨迹对应的参考分布特征不匹配,则确定所述实时滑动轨迹为机器模拟滑动轨迹。如果实时滑动轨迹对应的待验证分布特征和历史滑动轨迹对应的参考分布特征匹配,确定所述实时滑动轨迹是为真人滑动轨迹。
具体实施时,对于将实时滑动轨迹的每个特征编码的基于某一时间窗口的待验证分布特征分别与该特征编码的相应时间窗口的参考分布特征进行匹配。如果不存在该特征编码的参考分布特征,则将该特征编码的待验证分布特征与总体参考分布特征进行匹配。只要一个特征编码对应的待验证分布特征分别与该特征编码的参考分布特征不匹配,则确认所述实时滑动轨迹为机器模拟滑动轨迹。
具体实施时,如果预设维度包括多个,则各个维度的特征编码分别进行匹配。
本申请实施例公开的基于滑动轨迹的人机识别方法,通过确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的特征编码基于至少一个时间窗口的参考分布特征;确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征;若基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹,解决了现有技术中的人机识别方法识别机器模拟用户输入滑动轨迹时存在的准确率低的问题。相对于现有技术中仅根据源IP识别机器模拟滑动轨迹,本申请实施例公开的方法,通过基于时间窗口从不同维度描述真人滑动轨迹的分布特征,并将实时滑动轨迹的分布特征与真人滑动轨迹的分布特征进行匹配,可以有效提升识别机器模拟滑动轨迹的准确率。并且,通过基于不同时间窗口分别对滑动轨迹分布特征进行描述和匹配,对于慢速攻击的机器和快速攻击的机器均具有很好的识别效果,进一步提升了机器识别的鲁棒性。
实施例二
如图2所示,基于实施例一,本申请的另一具体实施例中公开的基于滑动轨迹的人机识别方法包括:步骤200至步骤220。
步骤200,确定验证通过的历史滑动轨迹的角度编码,及所述实时滑动轨迹的角度编码基于至少一个时间窗口的参考分布特征。
具体实施时,确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的特征编码基于至少一个时间窗口的参考分布特征,包括:针对不同维度,分别执行以下操作:根据用户的历史滑动轨迹数据,确定每个历史滑动轨迹的预设维度的特征编码和所述特征编码对应的时间戳;根据所述特征编码的维度和对应的时间戳,通过滑动至少一个时间窗口,分别确定各维度的每个特征编码基于每个所述时间窗口的单一参考分布特征、各维度的全部特征编码基于每个所述时间窗口的总体参考分布特征。
以所述预设维度编码包括角度编码、所述至少一个时间窗口为一个5分钟时间窗口和一个1小时时间窗口为例,确定验证通过的历史滑动轨迹的角度编码基于至少一个时间窗口的参考分布特征时:首先,根据用户的历史滑动轨迹数据,确定每个历史滑动轨迹的角度编码和各所述角度编码对应的时间戳;然后,通过滑动5分钟时间窗口和1小时时间窗口,分别确定每个角度编码基于5分钟时间窗口和1小时时间窗口的单一参考分布特征、所有角度编码分别基于5分钟时间窗口和1小时时间窗口的总体参考分布特征。
首先,采集通过验证的所有用户在过去一段时间内(如三个月)的滑动轨迹数据,并对每段滑动轨迹基于角度进行特征编码,得到角度编码。
具体实施时,当所述预设维度特征编码包括角度编码时,确定滑动轨迹的特征编码包括子步骤S201至子步骤S204。
子步骤S201,将滑动轨迹归一化到预设长度。
具体实施时,当用户需要登录应用或网站、或解锁设备时,对于设置了通过滑动轨迹进行身份识别的应用场景,系统会实时采集用户的滑动轨迹并进行存储。通过调用设备的系统接口可以获取用户的滑动轨迹数据。具体实施时,获取到的滑动轨迹数据为按照时间先后顺序排列的触摸点坐标,以及该触摸点的时间戳。例如,获取到的滑动轨迹数据可以表示为:{[x0,y0,ts0],[x1,y1,ts1],…,[xN,yN,tsN]},其中x和y为触摸点的坐标,ts为以毫秒为单位的时间戳。
具体实施时,通过调用系统接口获取的滑动轨迹数据是离散的触摸点,为了得到平滑的滑动轨迹数据,通常需要对所述滑动轨迹数据进行插值处理,生成连续的滑动轨迹,这样可以得到任意一个X坐标在滑动轨迹中对应的Y坐标。具体实施时,可以采用常用的插值的方法如:线性插值、二次插值、B样条插值等,对获取得离散的触摸点进行的插值。
然后,对插值处理后的滑动轨迹进行归一化操作。具体实施时,对插值处理后的滑动轨迹进行归一化操作包括:将插值处理后得到的滑动轨迹缩放到预设标准长度。具体实施时,所述标准长度根据设备上滑动轨迹的平均长度或者需要检测的用户滑动操作的期望长度或者设备的尺寸确定。例如,当需要识别机器模拟滑动轨迹进行解锁操作时,可以将解锁滑块的最大滑动长度设置标准长度。本申请实施例对标准长度的设置方法不做限定。
对滑动轨迹进行归一化时,可以将标准长度设置为1,采用等比例缩放的方式对待归一化的滑动轨迹上的每个坐标点的坐标值分别进行等比例缩放。例如,对X坐标进行归一化时,可以通过公式:(x-xmin)/(xmax-xmin)对X坐标进行归一化,其中,xmin是待归一化的滑动轨迹中x坐标最小值,xmax是待归一化的滑动轨迹中x坐标最大值。对Y坐标进行归一化时,可以通过公式:(y-ymin)/(ymax-ymin)对Y坐标进行归一化,其中,ymin是待归一化的滑动轨迹中y坐标最小值,ymax是待归一化的滑动轨迹中y坐标最大值。如果标准长度设置为L,则可以通过公式:xmin+(x-xmin)*L/(xmax-xmin)对X坐标进行归一化。
通过对滑动轨迹进行归一化处理,可以有效避免由于采集滑动轨迹的设备不同,采集到的滑动轨迹的起始时间和x和y坐标的幅度具有不确定性,带来的进行滑动轨迹编码的不确定性。
子步骤S202,按照预设方向坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点。
所述预设方向包括:横轴方向或纵轴方向。具体实施时,可以按照横坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点;也可以按照纵坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点。
本实施例中,以按照横坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点为例,具体说明滑动轨迹分割方法。具体实施时,假设需要在滑动轨迹上确定9个分割点,如图3所示,所述分割点表示为Pi=(xi,yi),i∈{0,1,…,8},则xi=xmin+i*(xmax-xmin)/8,其中,xmax为归一化后的滑动轨迹的最大横坐标,xmin为归一化后的滑动轨迹的最小横坐标,i为分割点的顺序号。
子步骤S203,确定相邻分割点之间的连线与指定方向之间的角度。
具体实施时,所述指定方向可以为横轴方向,也可以为纵轴方向,本实施例中,以指定方向为横轴方向举例说明相邻分割点之间的连线与指定方向之间的角度的确定方法。
确定相邻分割点之间的连线与指定方向之间的角度,实际上是确定一段滑动轨迹的相对于指定方向的总体运动方向。具体实施时,可以通过公式:θi=tan-1(|yi+1-yi|/|xi+1-xi|)计算分割点i+1和分割点i之间的连线与横轴方向的夹角θi,其中,i∈{0,1,…,7}。
子步骤S204,将所述分割点对应的角度依序映射到预设角度区间,将映射到的角度区间的标识序列作为所述滑动轨迹的角度编码。
所述预设角度区间为将360度按照预设方式划分得到的不相交的角度范围。
通过执行前述步骤,将获得当前滑动轨迹上前8个分割点对应的8个角度,将前述步骤得到的角度按照分割点对应的横坐标或纵坐标由小到大的顺序进行排列,将得到一个角度序列,如:θ0θ1θ2θ3θ4θ5θ6θ7。然后,将所述角度序列中的每个角度依序映射到预设的角度区间,得到每个角度对应的角度区间的标识,将映射到的角度区间的标识序列作为所述滑动轨迹的角度编码。
具体实施时,预先将角度全域θ(即360周角)以某种方式切分为m个不相交的区间,切分得到的区间记为Ij,j∈{1,2,…,m}。以m=9为例,假设切分方式为等角度切分,则得到的角度区间分别为:I1=[0,40],I2=[41,80],I3=[81,120],...,I8=[321,360]。然后,将上述步骤得到的每一个角度θi映射到上述区间中,使得当θi∈Ij时,θi对应的滑动轨迹分段的分段编码Ai=j。将分割点对应的角度依序映射到预设角度区间之后,将得到整个滑动轨迹的角度编码,例如表示为A0A1A2A3A4A5A6A7。该编码中包含了滑动过程中每一段滑动轨迹的角度变化信息。
对于每一条滑动轨迹,通过执行子步骤S201至子步骤S204,都可以获得该段滑动轨迹的角度编码。
具体实施时,对于每一个角度编码,将该段滑动轨迹的起始点的时间戳作为所述角度编码的时间戳。
至此,对于获取的所有用户的历史滑动轨迹,经过前述处理后,每段滑动轨迹都将确定一个角度编码,以及该角度编码对应的时间戳。
然后,根据角度编码对应的时间戳,通过滑动至少一个时间窗口,分别确定每个角度编码基于每个所述时间窗口的单一参考分布特征、全部特征编码基于每个所述时间窗口的总体参考分布特征。
具体实施时,根据所述特征编码的维度和对应的时间戳,通过滑动至少一个时间窗口,分别确定各维度的每个特征编码基于每个所述时间窗口的单一参考分布特征,包括:对于每一个所述特征编码,通过将至少一个时间窗口以相应步长从前向后滑动,依序确定该特征编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成所述特征编码基于各所述时间窗口的累计值列表;根据每个所述累计值列表分别确定当前维度相应特征编码的基于相应时间窗口的单一参考分布特征。
当所述预设维度特征编码包括:角度编码时,首先,对于每一个角度编码,通过将至少一个时间窗口以相应步长从前向后滑动,依序确定该角度编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成所述角度编码基于各所述时间窗口的累计值列表;然后,根据每个所述累计值列表分别确定当前维度相应特征编码的基于相应时间窗口的单一参考分布特征。
具体实施时,首先确定获取的历史滑动轨迹的所有角度编码,例如,{(A1A2A3A4A5A6A7A8,1498188714),…}。然后,通过将至少一个时间窗口以相应步长从前向后滑动以统计每个角度编码在不同时间段内的会出现次数。
下面以所述至少一个时间窗口为1小时时间窗口,预设步长为10分钟,历史滑动轨迹对应的时间为3月1日0时0分起90天为例,具体说明通过将至少一个时间窗口以相应步长从前向后滑动以统计每个角度编码在不同时间段内的会出现次数的方案。
具体实施时,时间窗口从3月1日0时0分开始滑动,所述时间窗口的当前位置对应的时间段为3月1日0时0分至3月1日1时0分,首先统计确定的所有角度编码中,每个编码在3月1日0时0分至3月1日1时0分出现的次数。例如,统计得到角度编码A1A2A3A4A5A6A7A8在3月1日0时0分至3月1日1时0分出现的次数为10次。然后,时间窗口以10分钟为步长进行滑动,所述时间窗口的当前位置对应的时间段为3月1日0时10分至3月1日1时10分,此时,统计确定的所有角度编码中,每个编码在3月1日0时10分至3月1日1时10分出现的次数。依此类推,以预设步长滑动所述时间窗口,直至所述时间窗口的当前位置对应的时间段为5月31日23时0分至6月1日0时0分,即滑动窗口滑动了12960(90天*24小时*6次)个位置。
1小时时间窗口每滑动一次,会得到每个角度编码在所述时间窗口当前位置对应的时间段内的出现次数。当1小时时间窗口滑动至历史滑动轨迹的采样结束时间后,所有角度编码已经统计完成。最后,对于每个角度编码,将1小时时间窗口依序确定该角度编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,组成所述角度编码基于1小时时间窗口的累计值列表。
具体实施时,时间窗口也可以进针对设定时间段进行统计。例如,仅统计每天早上6点到晚上21点之间对应的角度编码,那么经过每10分钟滑动一次时间窗口之后,可以通过滑动后的8100(90天*15小时*6次)个时间窗口位置分别统计每个角度编码的出现次数,得到8100个出现次数。
具体实施时,预设步长根据待滑动的时间窗口的大小确定,如果时间窗口为5分钟,则预设步长可以设置为30秒,即每次滑动30秒。
如果预设时间窗口包括多个,如一个5分钟时间窗口和一个1小时时间窗口,则需要通过每个时间窗口对历史滑动轨迹的分别角度编码进行滑动扫扫描,统计滑动后的时间窗口中,各角度编码基于不同时间窗口的出现次数。
以统计角度编码A1A2A3A4A5A6A7A8在预设时间窗口的出现次数为例,若预设步长为30秒,仅统计每天早上6点到晚上21点之间对应的角度编码,通过5分钟时间窗口扫描后,将得到滑动后的32400(90天*15小时*12*2次)个5分钟时间窗口对应的时间段中统计的出现次数。然后,由这32400个次数依序构成角度编码A1A2A3A4A5A6A7A8的5分钟时间窗口对应的累计值列表。
若预设步长为10分钟,通过1小时时间窗口扫描后,将得到滑动后的8100(90天*15小时*6次)个1小时时间窗口对应的时间段中统计的出现次数。然后,由这8100个次数依序构成角度编码A1A2A3A4A5A6A7A8的1小时分钟时间窗口对应的累计值列表。
具体实施时,如果角度编码有多个,针对每一个编码都可以得到多个滑动后的32400(90天*15小时*12*2次)个5分钟时间窗口对应的时间段中统计的出现次数和8100(90天*15小时*6次)个1小时时间窗口对应的时间段中统计的出现次数。
最后,根据每个所述累计值列表分别确定每个角度编码的基于相应时间窗口的单一参考分布特征。
如果具体实施时,有两个时间窗口,如一个5分钟时间窗口和1个1小时时间窗口,对于每个角度编码,都将得到两个累计值列表:一个是由5分钟时间窗口滑动扫描得到的累计值列表,表示为list_5m;另一个是由1小时时间窗口滑动扫描得到的累计值列表,表示为list_1h。通过对每个累计值列表中的数据进行分析,可以得到每个角度编码基于不同时间窗口的单一参考分布特征。
真人的滑动轨迹的角度编码特征通常是符合正态分布的,具体实施时,可以通过每个累计值列表中的出现次数的均值和方差,得到该累计值列表对应的角度编码的正态分布参数,作为该角度编码基于相应时间窗口的单一参考分布特征,例如表示为(μtτc,σtτc),其中,μ是累计值列表对应的角度编码出现次数的均值,参数σ是累计值列表对应的角度编码出现次数的方差。例如,通过对累计值列表list_5m中的数据进行分析,可以得到角度编码A1A2A3A4A5A6A7A8基于5分钟时间窗口的单一参考分布特征;通过对累计值列表list_1h中的数据进行分析,可以得到角度编码A1A2A3A4A5A6A7A8基于1小时时间窗口的单一参考分布特征。
具体实施时,根据所述特征编码的维度和对应的时间戳,通过滑动至少一个时间窗口,分别确定各维度的全部特征编码基于每个所述时间窗口的总体参考分布特征,包括:针对不同维度,分别执行以下操作:通过将至少一个时间窗口以相应步长从前向后滑动,依序确定当前维度的全部特征编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成当前维度的全部特征编码基于各所述时间窗口的累计值列表;根据每个所述累计值列表分别确定当前维度的全部特征编码的基于相应时间窗口的总体参考分布特征。
当所述预设维度特征编码包括:角度编码时,首先,将通过将至少一个时间窗口以相应步长从前向后滑动,依序确定全部角度编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成全部角度编码基于各所述时间窗口的累计值列表;然后,根据每个所述累计值列表分别确定全部角度编码基于相应时间窗口的总体参考分布特征。
通过将至少一个时间窗口以相应步长从前向后滑动,依序确定全部角度编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成全部角度编码基于各所述时间窗口的累计值列表的方法,参见确定一个角度编码的累计值列表的方法,此处不再赘述。根据累计值列表中的数据,确定每个累计值列表对应基于相应时间窗口的总体参考分布特征的方法,参见确定单一参考分布特征的具体方法,此处不再赘述。具体实施时,如果通过两个时间窗口对角度编码进行扫描统计,其中,一个是5分钟时间窗口,另一个是1小时时间窗口,则通过滑动5分钟时间窗口进行扫描后,将得到一个累计值列表,通过滑动1小时分钟时间窗口进行扫描后,将得到另一个累计值列表。
如果以正态分布参数作为参考分布特征,具体实施时,可以通过每个累计值列表中全部角度编码的出现次数的均值和方差,得到该累计值列表对应的角度编码的正态分布参数,作为角度编码基于相应时间窗口的总体参考分布特征,例如表示为其中,μ是累计值列表中所有角度编码出现次数的均值,参数σ是累计值列表所有角度编码出现次数的方差。
步骤210,确定待验证实时滑动轨迹的角度特征编码,及所述实时滑动轨迹的角度编码基于所述预设时间窗口的待验证分布特征。
具体实施时,确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征,包括:针对每个所述预设维度,分别执行以下操作:确定实时滑动轨迹的当前维度的当前特征编码和所述特征编码对应的时间戳;以所述当前特征编码对应的时间戳作为结束时间,确定与所述至少一个时间窗口对应的当前时间窗口;确定所述当前特征编码在每个所述当前时间窗口内实时累计的出现次数,作为当前维度的所述当前特征编码基于相应时间窗口的待验证分布特征。
当所述预设维度特征编码为角度编码时,确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征,即确定待验证实时滑动轨迹的角度特征编码,及所述实时滑动轨迹的角度编码基于所述预设时间窗口的待验证分布特征。
具体实施时,首先,确定实时滑动轨迹的当前角度编码和所述当前角度编码对应的时间戳。
在用户验证过程中,实时采集用户的滑动轨迹数据,并对待验证用户的每段实时滑动轨迹基于角度进行特征编码,得到当前角度编码。确定滑动轨迹的当前角度编码的具体方法与确定历史滑动轨迹的角度编码相同,此处不再赘述。具体实施时,可以将每段滑动轨迹的起始坐标的时间戳作为该段滑动轨迹的角度编码对应的时间戳。
然后,以所述当前角度编码对应的时间戳作为结束时间,确定与所述至少一个时间窗口对应的当前时间窗口。
以当前特征编码对应的时间戳为ts为例,如果预设时间窗口为5分钟时间窗口,则确定时间段为(ts-300,ts)对应的5分钟时间窗口为当前时间窗口。如果预设时间窗口还包括1小时时间窗口,则确定确定时间段(ts-3600,ts)对应的1小时时间窗口为当前时间窗口。如果预设时间窗口包括5分钟时间窗口和1小时时间窗口,则当前时间窗口也包括两个:一个5分钟当前时间窗口和一个1小时当前时间窗口。
最后,确定所述当前角度编码在每个所述当前时间窗口内实时累计的出现次数,作为所述当前角度编码基于相应时间窗口的待验证分布特征。
具体实施时,以当前角度编码表示为A1A2A3A4A5A6A7A8、预设时间窗口为5分钟时间窗口和1小时时间窗口为例。由于时间窗口有两个,因此,需要基于两个时间窗口对角度编码A1A2A3A4A5A6A7A8次数分别进行统计。
具体实施时,借助键值数据库redis对当前角度编码A1A2A3A4A5A6A7A8在每个时间窗口内出现的次数及进行统计。滑动轨迹的编码数据以“编码类型”+“编码值”+“时间窗口”作为键,以一系列小的累计窗口的数据作为值存储在键值数据库中。其中,每个累计窗口保存有该累计窗口内的当前累计值、开始时间戳和结束时间戳。不同的时间窗口对应不同的累计窗口大小,例如,5分钟的时间窗口可以对应20秒的累计窗口,1小时的时间窗口可以对应1分钟的累计窗口。例如,redis数据中的一个角度编码的一条数据的存储格式为:(A_A1A2A3A4A5A6A7A8_5M,{“开始时间戳”:1498188714,”结束时间戳”:1498188774,“当前累计值”:10})。
下面以当前角度编码的时间戳为t、角度编码表示为A1A2A3A4A5A6A7A8、时间窗口为5分钟为例,具体说明确定预设时间窗口内当前角度编码的出现次数的技术方案。首先,读取redis数据库,查询当前角度编码对应的键A_A1A2A3A4A5A6A7A8_5M是否在redis数据库中。如果不在则直接返回0;如果存在,则将A_A1A2A3A4A5A6A7A8_5M对应的值取出。值是一系列长度为20秒累计窗口(即累计窗口的结束时间戳减去开始时间戳等于20秒)组成的列表,具体实施时,将值中剩余的累计窗口的当前累计值进行加总,作为当前角度编码A1A2A3A4A5A6A7A8的在5分钟时间窗口内的出现次数,作为所述出现次数作为所述当前角度编码A1A2A3A4A5A6A7A8基于5分钟时间窗口的待验证分布特征。
确定所述当前特征编码在每个所述当前时间窗口内实时累计的出现次数,作为当前维度的所述当前特征编码基于相应时间窗口的待验证分布特征的之前,还包括:删除所述当前维度的当前特征编码在每个所述当前时间窗口以外预设时间之前的出现次数。例如,将A_A1A2A3A4A5A6A7A8_5M对应的值取出之后,首先必须抛弃值中当前时间之前预设时间段内的累计窗口的当前累计值,如当前时间前10分钟(即开始时间戳大于当前时间戳t-600秒)之内的累计窗口内该角度编码的当前累计值,然后将值中剩余的累计窗口的当前累计值进行加总,作为当前角度编码A1A2A3A4A5A6A7A8的在5分钟时间窗口内的出现次数,作为所述出现次数作为所述当前角度编码A1A2A3A4A5A6A7A8基于5分钟时间窗口的待验证分布特征。
具体实施时,redis数据库中的角度编码数据是根据实时采集的滑动轨迹编码生成的。
具体实施时,确定所述当前特征编码在每个所述当前时间窗口内实时累计的出现次数,作为当前维度的所述当前特征编码基于相应时间窗口的待验证分布特征的之前,还包括:判断预设数据库中是否已经对所述当前维度的所述当前特征编码在每个所述当前时间窗口内的出现次数进行实时累计;如果否,则在所述预设数据库中初始化对所述当前维度的所述当前特征编码的实时累计操作,并将所述出现次数设置为1。
以预设时间窗口为5分钟窗口为例,当根据实时采集的滑动轨迹数据确定了一个角度编码之后,将生成一个格式为(A_A1A2A3A4A5A6A7A8_5M)的键,其中,A1A2A3A4A5A6A7A8为当前角度编码。然后,通过键(查询A_A1A2A3A4A5A6A7A8_5M是否在redis数据库中。如果不在则初始化空的列表作为值,然后初始化一个以当前时间戳t为开始时间戳,t+20秒作为结束时间戳,且累计值为1的累计窗口,把这个窗口添加到值中,并将值写入到redis数据库中。如果键在redis数据库中,则将值取出,取值中最后一个累计窗口,如果该累计窗口的结束时间戳大于当前事件戳t,则将该累计窗口得累计值加1,将值写入到redis中;否则需要初始化一个以当前时间戳t为开始时间戳,t+20秒作为结束时间戳,且累计值为1的累计窗口并添加到值中,将值写入到redis中。在值写入到数据库之前还需要把值中累计窗口的开始时间戳大于当前时间戳t-600秒的累计窗口剔除,然后再写入。
最后,统计各角度编码在所述预设时间窗口的待验证分布特征。
具体实施时,统计实时滑动轨迹的预设维度特征编码的分布特征采用的时间窗口和统计历史滑动轨迹的时间编码的参考分布特征采用的时间窗口相同。实时滑动轨迹的角度编码的待验证分布特征可以为所述角度编码在各个时间窗口内的累计出现次数。
步骤220,若基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹。
具体实施时,若基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹,包括:当不存在与所述待验证分布特征对应的所述预设维度的特征编码相同的所述历史滑动轨迹的特征编码时,若基于某一所述时间窗口的所述待验证分布特征与基于所述时间窗口的所述总体参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹;当存在与所述待验证分布特征对应的所述预设维度的特征编码相同的所述历史滑动轨迹的特征编码时,若基于某一所述时间窗口的所述待验证分布特征与相应维度的相应特征编码基于相同时间窗口的单一参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹。
当预设维度特征编码为角度编码时,如前所述,如果实时滑动轨迹的角度编码为A1A2A3A4A5A6A7A8,以具体实施时,通过5分钟时间窗口和1小时时间窗口分别滑动统计角度编码A1A2A3A4A5A6A7A8的待验证分布特征为例,将得到两个待验证分布特征,分别记为num_5m和num_1h。在将待验证分布特征和参考分布特征进行匹配时,需要对基于相同时间窗口获取的分布特征分别进行匹配,当基于所有时间窗口或取的分布特征均匹配时,才认为待验证分布特征对应的实时滑动轨迹为真人滑动轨迹,否则,认为待验证分布特征对应的实时滑动轨迹为机器模拟滑动轨迹。
具体实施时,首先确定根据历史滑动轨迹确定的角度编码中是否存在角度编码A1A2A3A4A5A6A7A8。如果存在,则进一步判断该角度编码基于不同时间窗口的待验证分布特征和该角度编码基于不同时间窗口的单一参考分布特征;如果不存在,说明该角度编码在历史上为出现过,则进一步匹配该角度编码基于不同时间窗口的待验证分布特征和所有角度编码基于不同时间窗口的总体参考分布特征。以根据历史滑动轨迹确定的角度编码中包括角度编码A1A2A3A4A5A6A7A8、角度编码A1A2A3A4A5A6A7A8基于5分钟时间窗口获取的单一参考分布特征为(μt1τc,σt1τc)、角度编码A1A2A3A4A5A6A7A8基于1小时时间窗口获取的单一参考分布特征为(μt2τc,σt2τc)举例,如果num_5m与(μt1τc,σt1τc)匹配,且num_1h与(μt2τc,σt2τc)匹配,则认为所述实时滑动轨迹为真人滑动轨迹,否则,确定所述待验证实时滑动轨迹为机器模拟滑动轨迹。
如果根据历史滑动轨迹确定的角度编码中不包括角度编码A1A2A3A4A5A6A7A8,则将num_5m与基于5分钟时间窗口获取的总体参考分布特征进行匹配,将num_1h与基于1小时时间窗口获取的总体参考分布特征进行匹配,并且,当num_5m和num_1h中任意一个匹配不成功,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹。
具体实施时,当将待验证分布特征和参考分布特征进行匹配时,可以结合3σ原理,判断待验证分布特征(如当前角度编码在各时间窗口的累计出现次数)是否在根据参考分布特征确定的区间(如[0,μtτc+3σtτc])内,如果是,则匹配成功。具体实施时,如果待验证分布特征大于μtτc+3σtτc,说明是机器模拟滑动轨迹,要进行拦截。而待验证分布特征较小说明异常,例如在这段时间窗口内,特征编码未出现或出现的次数比较少,虽然数据异常,但不构成攻击的情况,可以认为是真人滑动轨,因此不进行拦截迹。
本申请实施例公开的基于滑动轨迹的人机识别方法,通过首先确定验证通过的历史滑动轨迹的角度编码,及所述历史滑动轨迹的角度编码基于至少一个时间窗口的参考分布特征;并确定待验证实时滑动轨迹的角度编码,及所述实时滑动轨迹的角度编码基于所述至少一个时间窗口的待验证分布特征;并对基于相同时间窗口的所述待验证分布特征与所述参考分布特征进行匹配,以确定所述待验证实时滑动轨迹是否为机器模拟滑动轨迹,解决了现有技术中的人机识别方法识别机器模拟用户输入滑动轨迹时存在的准确率低的问题。相对于现有技术中仅根据源I P识别机器模拟滑动轨迹,本申请实施例公开的方法,通过基于时间窗口从不同维度描述真人滑动轨迹的分布特征,并将实时滑动轨迹的分布特征与真人滑动轨迹的分布特征进行匹配,可以有效提升识别机器模拟滑动轨迹的准确率。并且,通过基于不同时间窗口分别对滑动轨迹分布特征进行描述和匹配,对于慢速攻击的机器和快速攻击的机器均具有很好的识别效果,进一步提升了机器识别的鲁棒性。
通过将滑动轨迹分段后,对每段轨迹的滑动方向进行编码,使得确定的角度编码更能体现滑动轨迹的特征,进一步提升验证的准确率。在对实时滑动轨迹的特征编码进行性能分析时,通过删除较早记录的特征编码的出现次数,可以防止陈旧数据对验证结果带来的不良影响,进一步提升验证的准确率。
实施例三
如图4所示,基于实施例一和实施例二,本申请的另一具体实施例中公开的基于滑动轨迹的人机识别方法包括:步骤400至步骤420。
步骤400,确定验证通过的历史滑动轨迹的速度编码,及所述实时滑动轨迹的速度编码基于至少一个时间窗口的参考分布特征。
以所述预设维度特征编码包括速度编码、所述至少一个时间窗口为一个5分钟时间窗口和一个1小时时间窗口为例,确定验证通过的历史滑动轨迹的预设维度特征编码基于至少一个时间窗口的参考分布特征时:首先,根据用户的历史滑动轨迹数据,确定每个历史滑动轨迹的速度编码和各所述速度编码对应的时间戳;然后,通过滑动5分钟时间窗口和1小时时间窗口,分别确定每个速度编码基于5分钟时间窗口和1小时时间窗口的单一参考分布特征和所有速度编码分别基于5分钟时间窗口和1小时时间窗口的总体参考分布特征。
首先,采集通过验证的所有用户在过去一段时间内(如三个月)的滑动轨迹数据,并对每段滑动轨迹基于速度进行特征编码,得到速度编码。
具体实施时,当所述预设维度特征编码包括速度编码时,确定滑动轨迹的特征编码包括子步骤S401至子步骤S404。
子步骤S401,将滑动轨迹归一化到预设长度。
将滑动轨迹归一化到预设长度的具体实施方式参见实施例二,此处不再赘述。
子步骤S402,按照预设方向坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点。
按照预设方向坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点的具体实施方式参见实施例二,此处不再赘述。
子步骤S403,确定相邻分割点间的相对时长。
本申请实施例中,为了进一步确定滑动轨迹的每一段随时间的变化关系,首先根据分割点的时间戳确定相邻分割点间的相对时长。具体实施时,可以通过公式:ts’=ts-tsmin得到某一分割点的相对时长,其中,ts为某一分割点的时间戳,tsmin为所有分割点中的最小时间戳。相邻分割点之间的相对时长表征了滑动轨迹在相邻分割点之间滑动花费的时间,通过相对时长可以更准确的描述滑动轨迹的速度特征。
由于将滑动轨迹归一化到预设长度时,为了得到平滑的滑动轨迹,对滑动轨迹进行了插值处理,因此,分割点可能是插值的点。为了确定相邻分割点间的相对时长,需要确定每个分割点的时间戳。具体实施时,可以通过插值函数拟合插入的坐标点的时间戳。以根据X坐标和时间戳之间的关系进行插值为例详细说明插值点的时间戳的获取方法。假设分割点为(x0,ts0),(x1,ts1),...,(xi,tsi),(xi+1,tsi+1),...,(xN,tsN),其中,部分分割点是原始采样点,具有时间戳,部分分割点是插值点,不具备时间戳。对于插入到原始采样点xi和xi+1之间的插值点,其时间戳表示为ts,并且ts∈[tsi,tsi+1]。其对应的x坐标可以采用线性拟合,拟合为x=xi+(ts-tsi+1)*(xi+1-xi)/(tsi+1-tsi)。如若已知两点(xi=1,tsi=12),(xi+1=2,tsi+1=14),以及插值点的横坐标,根据上述公式可以得到插值点的时间戳。
子步骤S404,将所述相邻分割点间的相对时长依序映射到预设时间区间,将映射到的时间区间的标识序列作为所述滑动轨迹的速度编码。
具体实施时,首先根据历史滑动轨迹分割得到的分割点间的相对时长确定所述预设时间区间。根据历史滑动轨迹分割得到的分割点间的相对时长确定所述预设时间区间,包括:确定历史滑动轨迹的所有相邻分割点的相对时长;将所述相对时长按照从小到大的顺序排列,得到时长序列;取所述时长序列m等分位处的相对时长,作为时间区间节点,其中,m为大于3的整数。
具体实施时,通过统计每条历史滑动轨迹在分割得到的相邻分割点之间所花的时间,可以获得一个时间长度集合。然后,对所述时间长度集合中的时间长度进行排序,得到时长序列。之后,取所述时长序列各个n等分位处的值作为时间区间节点。假设统计所有历史滑动轨迹的相邻分割点之间的时间长度集合为:{1,1,2,2,5,5,8,8,12,12,21,24,34,54,66,83},当n=8时,确定的时间区间节点为:[1,2,5,8,12,24,54]。进一步的,根据所述时间区间节点确定时间区间。以时间区间节点表示为Sj为例,j∈{0,1,…,7},前7个区间为Ij=[Sj,Sj+1),第8个区间为I7=[S7,+∞)。具体实施时,n根据需要的精度和设备的运算性能综合确定。
最后,将当前滑动轨迹上相邻分割点间的相对时长依序映射到预先建立的时间区间,将映射到的时间区间的标识序列作为所述滑动轨迹的速度编码。以当前滑动轨迹的第一个分割点和第二个分割点间的相对时长为T1为例,如果T1∈Ij,其分段编码C1=j。依此类推,最终得到当前滑动轨迹的速度编码C0C1C2C3C4C5C6C7,该编码中包含了滑动过程中分段的速度信息。
对于每一条滑动轨迹,通过执行子步骤S401至子步骤S404,都可以获得该段滑动轨迹的速度编码。
具体实施时,对于每一个速度编码,将该段滑动轨迹的起始点的时间戳作为所述速度编码的时间戳。
至此,对于获取的所有用户的历史滑动轨迹,经过前述处理后,每段滑动轨迹都将确定一个速度编码,以及该速度编码对应的时间戳。
然后,根据速度编码对应的时间戳,通过滑动至少一个时间窗口,分别确定每个速度编码基于每个所述时间窗口的单一参考分布特征、全部特征编码基于每个所述时间窗口的总体参考分布特征。
具体实施时,根据所述特征编码的维度和对应的时间戳,通过滑动至少一个时间窗口,分别确定各维度的每个特征编码基于每个所述时间窗口的单一参考分布特征,包括:对于每一个所述特征编码,通过将至少一个时间窗口以相应步长从前向后滑动,依序确定该特征编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成所述特征编码基于各所述时间窗口的累计值列表;根据每个所述累计值列表分别确定当前维度相应特征编码的基于相应时间窗口的单一参考分布特征。
当所述预设维度特征编码包括:速度编码时,首先,对于每一个速度编码,通过将至少一个时间窗口以相应步长从前向后滑动,依序确定该速度编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成所述速度编码基于各所述时间窗口的累计值列表;然后,根据每个所述累计值列表分别确定当前速度编码的基于相应时间窗口的单一参考分布特征。
根据速度编码对应的时间戳,通过滑动至少一个时间窗口,分别确定每个速度编码基于每个所述时间窗口的单一参考分布特征、全部特征编码基于每个所述时间窗口的总体参考分布特征的具体实时方式,参见实施例二中确定每个角度编码基于每个所述时间窗口的单一参考分布特征、全部特征编码基于每个所述时间窗口的总体参考分布特征的具体实施方式,此处不再赘述。
步骤410,确定待验证实时滑动轨迹的速度编码,及所述实时滑动轨迹的速度编码基于所述预设时间窗口的待验证分布特征。
确定待验证实时滑动轨迹的速度编码的具体实时方式参见根据历史互动轨迹确定速度编码的具体实施方式,此处不再赘述。
确定所述实时滑动轨迹的速度编码基于所述预设时间窗口的待验证分布特征的具体实施方式参见所述实时滑动轨迹的角度编码基于所述预设时间窗口的待验证分布特征的具体实施方式,受申请文件篇幅所限,此处不再赘述。
如果所述预设时间窗口包括两个时间窗口,如:一个5分钟时间窗口和一个1小时时间窗口,则经过本步骤,将得到实时滑动轨迹对应的速度编码基于5分钟时间窗口的待验证分布特征和基于1小时时间窗口的待验证分布特征。
步骤420,若基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹。
具体实施时,通过速度编码的基于预设时间窗口的待验证分布特征与所述参考分布特征进行匹配,识别机器模拟滑动轨迹的具体实施方式,参见通过角度编码的基于预设时间窗口的待验证分布特征与所述参考分布特征进行匹配,识别机器模拟滑动的具体实施方式,此处不再赘述。
具体实施时,如果预设维度特征编码即包括角度编码又包括速度编码,则在进行机器模拟滑动轨迹识别时,需要对不同维度的特征编码对应的分布特征分别进行匹配,并且仅当所有维度的分布特征都分别匹配成功时,才确定所述实时滑动轨迹为真人滑动轨迹;否则,只要有一个维度的分布特征匹配不成功,即认为所述实时滑动轨迹为机器模拟滑动轨迹。
本申请实施例公开的基于滑动轨迹的人机识别方法,通过首先确定验证通过的历史滑动轨迹的速度编码,及所述历史滑动轨迹的速度编码基于至少一个时间窗口的参考分布特征;并确定待验证实时滑动轨迹的速度编码,及所述实时滑动轨迹的速度编码基于所述至少一个时间窗口的待验证分布特征;并对基于相同时间窗口的所述待验证分布特征与所述参考分布特征进行匹配,以确定所述待验证实时滑动轨迹是否为机器模拟滑动轨迹,解决了现有技术中的人机识别方法识别机器模拟用户输入滑动轨迹时存在的准确率低的问题。相对于现有技术中仅根据源I P识别机器模拟滑动轨迹,本申请实施例公开的方法,通过基于时间窗口从不同维度描述真人滑动轨迹的分布特征,并将实时滑动轨迹的分布特征与真人滑动轨迹的分布特征进行匹配,可以有效提升识别机器模拟滑动轨迹的准确率。并且,通过基于不同时间窗口分别对滑动轨迹分布特征进行描述和匹配,对于慢速攻击的机器和快速攻击的机器均具有很好的识别效果,进一步提升了机器识别的鲁棒性。
通过将滑动轨迹分段后,对每段轨迹的滑动速度进行编码,使得确定的速度编码更能体现滑动轨迹的特征,进一步提升验证的准确率。
实施例四
相应的,本申请实施例公开的一种基于滑动轨迹的人机识别装置,如图5所示,所述装置包括:
参考分布特征确定模块500,用于确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的特征编码基于至少一个时间窗口的参考分布特征;
待验证分布特征确定模块510,用于确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征;
识别模块520,用于若所述待验证分布特征确定模块510确定的基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征确定模块500确定的参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹;
其中,所述参考分布特征为所述历史滑动轨迹的预设维度特征编码基于所述至少一个时间窗口的正态分布参数;所述待验证分布特征为所述实时滑动轨迹的预设维度特征编码基于所述至少一个时间窗口的正态分布参数。
可选的,如图6所示,所述参考分布特征确定模块500包括:
第一特征编码确定单元5001,用于根据用户的历史滑动轨迹数据,确定每个历史滑动轨迹的预设维度的特征编码和所述特征编码对应的时间戳;
第一参考分布特征确定单元5002,用于根据所述特征编码的维度和对应的时间戳,通过滑动至少一个时间窗口,分别确定各维度的每个特征编码基于每个所述时间窗口的单一参考分布特征;
第二参考分布特征确定单元5003,用于根据所述特征编码的维度和对应的时间戳,通过滑动至少一个时间窗口,分别确定各维度的全部特征编码基于每个所述时间窗口的总体参考分布特征。
可选的,所述第一参考分布特征确定单元5002进一步用于:
针对不同维度,分别执行以下操作:
对于每一个所述特征编码,通过将至少一个时间窗口以相应步长从前向后滑动,依序确定该特征编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成所述特征编码基于各所述时间窗口的累计值列表;
根据每个所述累计值列表分别确定当前维度相应特征编码的基于相应时间窗口的单一参考分布特征。
可选的,所述第二参考分布特征确定单元5003进一步用于:
针对不同维度,分别执行以下操作:
通过将至少一个时间窗口以相应步长从前向后滑动,依序确定当前维度的全部特征编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成当前维度的全部特征编码基于各所述时间窗口的累计值列表;
根据每个所述累计值列表分别确定当前维度的全部特征编码的基于相应时间窗口的总体参考分布特征。
可选的,如图6所示,所述待验证分布特征确定模块510包括:
第二特征编码确定单元5101,用于针对每个所述预设维度,分别确定实时滑动轨迹的当前维度的当前特征编码和所述特征编码对应的时间戳;
当前时间窗口确定单元5102,用于针对每个所述预设维度,以所述当前特征编码对应的时间戳作为结束时间,确定与所述至少一个时间窗口对应的当前时间窗口;
待验证分布特征确定单元5103,用于针对每个所述预设维度,确定所述当前特征编码在每个所述当前时间窗口内实时累计的出现次数,作为当前维度的所述当前特征编码基于相应时间窗口的待验证分布特征。
可选的,如图6所示,所述待验证分布特征确定模块510还包括:
累计单元5104,用于判断预设数据库中是否已经对所述当前维度的所述当前特征编码在每个所述当前时间窗口内的出现次数进行实时累计;
所述累计单元5104,还用于如果预设数据库中未对所述当前维度的所述当前特征编码在每个所述当前时间窗口内的出现次数进行实时累计,则在所述预设数据库中初始化对所述当前维度的所述当前特征编码的实时累计操作,并将所述出现次数设置为1。
可选的,如图6所示,所述待验证分布特征确定模块510还包括:
累计管理单元5105,用于删除所述当前维度的当前特征编码在每个所述当前时间窗口以外预设时间之前的出现次数。
可选的,如图6所示,所述识别模块520包括:
第一匹配单元5201,用于当不存在与所述待验证分布特征对应的所述预设维度的特征编码相同的所述历史滑动轨迹的特征编码时,若基于某一所述时间窗口的所述待验证分布特征与基于所述时间窗口的所述总体参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹;
第二匹配单元5202,用于当存在与所述待验证分布特征对应的所述预设维度的特征编码相同的所述历史滑动轨迹的特征编码时,若基于某一所述时间窗口的所述待验证分布特征与相应维度的相应特征编码基于相同时间窗口的单一参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹。
可选的,所述预设维度特征编码包括:角度编码;当所述预设维度特征编码包括角度编码时,确定滑动轨迹的特征编码包括:
将滑动轨迹归一化到预设长度;
按照预设方向坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点;
确定相邻分割点之间的连线与指定方向之间的角度;
将所述分割点对应的角度依序映射到预设角度区间,将映射到的角度区间的标识序列作为所述滑动轨迹的角度编码;
其中,所述预设方向包括:横轴方向或纵轴方向;所述预设角度区间为将360度按照预设方式划分得到的不相交的角度范围。
可选的,所述预设维度特征编码包括:速度编码;当所述预设维度特征编码包括速度编码时,确定滑动轨迹的特征编码包括:
将滑动轨迹归一化到预设长度;
按照预设方向坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点;
确定相邻分割点间的相对时长;
将所述相邻分割点间的相对时长依序映射到预设时间区间,将映射到的时间区间的标识序列作为所述滑动轨迹的速度编码;
其中,所述预设方向包括:横轴方向或纵轴方向;根据历史滑动轨迹分割得到的分割点间的相对时长确定所述预设时间区间。
可选的,所述根据历史滑动轨迹分割得到的分割点间的相对时长确定所述预设时间区间,包括:
确定历史滑动轨迹的所有相邻分割点的相对时长;
将所述相对时长按照从小到大的顺序排列,得到时长序列;
取所述时长序列m等分位处的相对时长,作为时间区间节点,其中,m为大于3的整数。
本申请实施例公开的基于滑动轨迹的人机识别装置,通过首先确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的预设维度特征编码基于至少一个时间窗口的参考分布特征;并确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的所述预设维度特征编码基于所述至少一个时间窗口的待验证分布特征;并对基于相同时间窗口的所述待验证分布特征与所述参考分布特征进行匹配,以确定所述待验证实时滑动轨迹是否为机器模拟滑动轨迹,解决了现有技术中的人机识别方法识别机器模拟用户输入滑动轨迹时存在的准确率低的问题。相对于现有技术中仅根据源IP识别机器模拟滑动轨迹,本申请实施例公开的方法,通过基于时间窗口从不同维度描述真人滑动轨迹的分布特征,并将实时滑动轨迹的分布特征与真人滑动轨迹的分布特征进行匹配,可以有效提升识别机器模拟滑动轨迹的准确率。并且,通过基于不同时间窗口分别对滑动轨迹分布特征进行描述和匹配,对于慢速攻击的机器和快速攻击的机器均具有很好的识别效果,进一步提升了机器识别的鲁棒性。
通过将滑动轨迹分段后,对每段轨迹的滑动方向和滑动速度分别进行编码,使得确定的特征编码更能体现滑动轨迹的特征,进一步提升验证的准确率。在对实时滑动轨迹的特征编码进行性能分析时,通过删除较早记录的特征编码的出现次数,可以防止陈旧数据对验证结果带来的不良影响,进一步提升验证的准确率。
相应的,本申请还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例一至实施例三所述的基于滑动轨迹的人机识别方法。所述电子设备可以为移动终端、智能电话、导航仪、个人数字助理、平板电脑等。
本申请还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例一至实施例三所述的基于滑动轨迹的人机识别方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请提供的一种基于滑动轨迹的人机识别方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

Claims (26)

1.一种基于滑动轨迹的人机识别方法,其特征在于,包括:
确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的特征编码基于至少一个时间窗口的参考分布特征;
确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征;
若基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹;
其中,所述参考分布特征为所述历史滑动轨迹的预设维度特征编码基于所述至少一个时间窗口的正态分布参数;所述待验证分布特征为所述实时滑动轨迹的预设维度特征编码基于所述至少一个时间窗口的正态分布参数。
2.根据权利要求1所述的方法,其特征在于,所述预设维度特征编码包括:角度编码。
3.根据权利要求1所述的方法,其特征在于,所述确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的特征编码基于至少一个时间窗口的参考分布特征的步骤,包括:
根据用户的历史滑动轨迹数据,确定每个历史滑动轨迹的预设维度的特征编码和所述特征编码对应的时间戳;
根据所述特征编码的维度和对应的时间戳,通过滑动至少一个时间窗口,分别确定各维度的每个特征编码基于每个所述时间窗口的单一参考分布特征、各维度的全部特征编码基于每个所述时间窗口的总体参考分布特征。
4.根据权利要求3所述的方法,其特征在于,所述根据所述特征编码的维度和对应的时间戳,通过滑动至少一个时间窗口,分别确定各维度的每个特征编码基于每个所述时间窗口的单一参考分布特征的步骤,包括:
针对不同维度,分别执行以下操作:
对于每一个所述特征编码,通过将至少一个时间窗口以相应步长从前向后滑动,依序确定该特征编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成所述特征编码基于各所述时间窗口的累计值列表;
根据每个所述累计值列表分别确定当前维度相应特征编码的基于相应时间窗口的单一参考分布特征。
5.根据权利要求3所述的方法,其特征在于,所述根据所述特征编码的维度和对应的时间戳,通过滑动至少一个时间窗口,分别确定各维度的全部特征编码基于每个所述时间窗口的总体参考分布特征的步骤,包括:
针对不同维度,分别执行以下操作:
通过将至少一个时间窗口以相应步长从前向后滑动,依序确定当前维度的全部特征编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成当前维度的全部特征编码基于各所述时间窗口的累计值列表;
根据每个所述累计值列表分别确定当前维度的全部特征编码的基于相应时间窗口的总体参考分布特征。
6.根据权利要求1所述的方法,其特征在于,所述确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征的步骤,包括:
针对每个所述预设维度,分别执行以下操作:
确定实时滑动轨迹的当前维度的当前特征编码和所述特征编码对应的时间戳;
以所述当前特征编码对应的时间戳作为结束时间,确定与所述至少一个时间窗口对应的当前时间窗口;
确定所述当前特征编码在每个所述当前时间窗口内实时累计的出现次数,作为当前维度的所述当前特征编码基于相应时间窗口的待验证分布特征。
7.根据权利要求6所述的方法,其特征在于,所述确定所述当前特征编码在每个所述当前时间窗口内实时累计的出现次数,作为当前维度的所述当前特征编码基于相应时间窗口的待验证分布特征的步骤之前,还包括:
判断预设数据库中是否已经对所述当前维度的所述当前特征编码在每个所述当前时间窗口内的出现次数进行实时累计;
如果否,则在所述预设数据库中初始化对所述当前维度的所述当前特征编码的实时累计操作,并将所述出现次数设置为1。
8.根据权利要求6所述的方法,其特征在于,所述确定所述当前特征编码在每个所述当前时间窗口内实时累计的出现次数,作为当前维度的所述当前特征编码基于相应时间窗口的待验证分布特征的步骤之前,还包括:
删除所述当前维度的当前特征编码在每个所述当前时间窗口以外预设时间之前的出现次数。
9.根据权利要求1所述的方法,其特征在于,所述若基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹的步骤,包括:
当不存在与所述待验证分布特征对应的所述预设维度的特征编码相同的所述历史滑动轨迹的特征编码时,若基于某一所述时间窗口的所述待验证分布特征与基于所述时间窗口的所述总体参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹;
当存在与所述待验证分布特征对应的所述预设维度的特征编码相同的所述历史滑动轨迹的特征编码时,若基于某一所述时间窗口的所述待验证分布特征与相应维度的相应特征编码基于相同时间窗口的单一参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹。
10.根据权利要求2至9任意一项所述的方法,其特征在于,当所述预设维度特征编码包括角度编码时,确定滑动轨迹的特征编码包括:
将滑动轨迹归一化到预设长度;
按照预设方向坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点;
确定相邻分割点之间的连线与指定方向之间的角度;
将所述分割点对应的角度依序映射到预设角度区间,将映射到的角度区间的标识序列作为所述滑动轨迹的角度编码;
其中,所述预设方向包括:横轴方向或纵轴方向;所述预设角度区间为将360度按照预设方式划分得到的不相交的角度范围。
11.根据权利要求1至9任意一项所述的方法,其特征在于,所述预设维度特征编码包括:速度编码;当所述预设维度特征编码包括速度编码时,确定滑动轨迹的特征编码包括:
将滑动轨迹归一化到预设长度;
按照预设方向坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点;
确定相邻分割点间的相对时长;
将所述相邻分割点间的相对时长依序映射到预设时间区间,将映射到的时间区间的标识序列作为所述滑动轨迹的速度编码;
其中,所述预设方向包括:横轴方向或纵轴方向;根据历史滑动轨迹分割得到的分割点间的相对时长确定所述预设时间区间。
12.根据权利要求11所述的方法,其特征在于,所述根据历史滑动轨迹分割得到的分割点间的相对时长确定所述预设时间区间的步骤,包括:
确定历史滑动轨迹的所有相邻分割点的相对时长;
将所述相对时长按照从小到大的顺序排列,得到时长序列;
取所述时长序列m等分位处的相对时长,作为时间区间节点,其中,m为大于3的整数。
13.一种基于滑动轨迹的人机识别装置,其特征在于,包括:
参考分布特征确定模块,用于确定验证通过的历史滑动轨迹的预设维度特征编码,及所述历史滑动轨迹的特征编码基于至少一个时间窗口的参考分布特征;
待验证分布特征确定模块,用于确定待验证实时滑动轨迹的所述预设维度特征编码,及所述实时滑动轨迹的特征编码基于所述至少一个时间窗口的待验证分布特征;
识别模块,用于若所述待验证分布特征确定模块确定的基于某一所述时间窗口的所述待验证分布特征与所述参考分布特征确定模块确定的参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹;
其中,所述参考分布特征为所述历史滑动轨迹的预设维度特征编码基于所述至少一个时间窗口的正态分布参数;所述待验证分布特征为所述实时滑动轨迹的预设维度特征编码基于所述至少一个时间窗口的正态分布参数。
14.根据权利要求13所述的装置,其特征在于,所述预设维度特征编码包括:角度编码。
15.根据权利要求13所述的装置,其特征在于,所述参考分布特征确定模块包括:
第一特征编码确定单元,用于根据用户的历史滑动轨迹数据,确定每个历史滑动轨迹的预设维度的特征编码和所述特征编码对应的时间戳;
第一参考分布特征确定单元,用于根据所述特征编码的维度和对应的时间戳,通过滑动至少一个时间窗口,分别确定各维度的每个特征编码基于每个所述时间窗口的单一参考分布特征;
第二参考分布特征确定单元,用于根据所述特征编码的维度和对应的时间戳,通过滑动至少一个时间窗口,分别确定各维度的全部特征编码基于每个所述时间窗口的总体参考分布特征。
16.根据权利要求15所述的装置,其特征在于,所述第一参考分布特征确定单元进一步用于:
针对不同维度,分别执行以下操作:
对于每一个所述特征编码,通过将至少一个时间窗口以相应步长从前向后滑动,依序确定该特征编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成所述特征编码基于各所述时间窗口的累计值列表;
根据每个所述累计值列表分别确定当前维度相应特征编码的基于相应时间窗口的单一参考分布特征。
17.根据权利要求15所述的装置,其特征在于,所述第二参考分布特征确定单元进一步用于:
针对不同维度,分别执行以下操作:
通过将至少一个时间窗口以相应步长从前向后滑动,依序确定当前维度的全部特征编码在所述时间窗口滑动过程中各个位置对应的时间段内的累计出现次数,生成当前维度的全部特征编码基于各所述时间窗口的累计值列表;
根据每个所述累计值列表分别确定当前维度的全部特征编码的基于相应时间窗口的总体参考分布特征。
18.根据权利要求14所述的装置,其特征在于,所述待验证分布特征确定模块包括:
第二特征编码确定单元,用于针对每个所述预设维度,分别确定实时滑动轨迹的当前维度的当前特征编码和所述特征编码对应的时间戳;
当前时间窗口确定单元,用于针对每个所述预设维度,以所述当前特征编码对应的时间戳作为结束时间,确定与所述至少一个时间窗口对应的当前时间窗口;
待验证分布特征确定单元,用于针对每个所述预设维度,确定所述当前特征编码在每个所述当前时间窗口内实时累计的出现次数,作为当前维度的所述当前特征编码基于相应时间窗口的待验证分布特征。
19.根据权利要求18所述的装置,其特征在于,所述待验证分布特征确定模块还包括:
累计单元,用于判断预设数据库中是否已经对所述当前维度的所述当前特征编码在每个所述当前时间窗口内的出现次数进行实时累计;
所述累计单元,还用于如果预设数据库中未对所述当前维度的所述当前特征编码在每个所述当前时间窗口内的出现次数进行实时累计,则在所述预设数据库中初始化对所述当前维度的所述当前特征编码的实时累计操作,并将所述出现次数设置为1。
20.根据权利要求18所述的装置,其特征在于,所述待验证分布特征确定模块还包括:
累计管理单元,用于删除所述当前维度的当前特征编码在每个所述当前时间窗口以外预设时间之前的出现次数。
21.根据权利要求13所述的装置,其特征在于,所述识别模块包括:
第一匹配单元,用于当不存在与所述待验证分布特征对应的所述预设维度的特征编码相同的所述历史滑动轨迹的特征编码时,若基于某一所述时间窗口的所述待验证分布特征与基于所述时间窗口的所述总体参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹;
第二匹配单元,用于当存在与所述待验证分布特征对应的所述预设维度的特征编码相同的所述历史滑动轨迹的特征编码时,若基于某一所述时间窗口的所述待验证分布特征与相应维度的相应特征编码基于相同时间窗口的单一参考分布特征不匹配,则确定所述待验证实时滑动轨迹为机器模拟滑动轨迹。
22.根据权利要求14至21任意一项所述的装置,其特征在于,当所述预设维度特征编码包括角度编码时,确定滑动轨迹的特征编码包括:
将滑动轨迹归一化到预设长度;
按照预设方向坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点;
确定相邻分割点之间的连线与指定方向之间的角度;
将所述分割点对应的角度依序映射到预设角度区间,将映射到的角度区间的标识序列作为所述滑动轨迹的角度编码;
其中,所述预设方向包括:横轴方向或纵轴方向;所述预设角度区间为将360度按照预设方式划分得到的不相交的角度范围。
23.根据权利要求13至21任意一项所述的装置,其特征在于,所述预设维度特征编码包括:速度编码;当所述预设维度特征编码包括速度编码时,确定滑动轨迹的特征编码包括:
将滑动轨迹归一化到预设长度;
按照预设方向坐标间距相等的方式,在归一化后的滑动轨迹上确定多个分割点;
确定相邻分割点间的相对时长;
将所述相邻分割点间的相对时长依序映射到预设时间区间,将映射到的时间区间的标识序列作为所述滑动轨迹的速度编码;
其中,所述预设方向包括:横轴方向或纵轴方向;根据历史滑动轨迹分割得到的分割点间的相对时长确定所述预设时间区间。
24.根据权利要求23所述的装置,其特征在于,所述根据历史滑动轨迹分割得到的分割点间的相对时长确定所述预设时间区间的步骤,包括:
确定历史滑动轨迹的所有相邻分割点的相对时长;
将所述相对时长按照从小到大的顺序排列,得到时长序列;
取所述时长序列m等分位处的相对时长,作为时间区间节点,其中,m为大于3的整数。
25.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12任意一项所述的基于滑动轨迹的人机识别方法。
26.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至12任意一项所述的基于滑动轨迹的人机识别方法的步骤。
CN201910041447.6A 2017-08-23 2017-08-23 一种基于滑动轨迹的人机识别方法及装置,电子设备 Active CN109858211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910041447.6A CN109858211B (zh) 2017-08-23 2017-08-23 一种基于滑动轨迹的人机识别方法及装置,电子设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910041447.6A CN109858211B (zh) 2017-08-23 2017-08-23 一种基于滑动轨迹的人机识别方法及装置,电子设备
CN201710731092.4A CN107679374B (zh) 2017-08-23 2017-08-23 一种基于滑动轨迹的人机识别方法及装置,电子设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710731092.4A Division CN107679374B (zh) 2017-08-23 2017-08-23 一种基于滑动轨迹的人机识别方法及装置,电子设备

Publications (2)

Publication Number Publication Date
CN109858211A true CN109858211A (zh) 2019-06-07
CN109858211B CN109858211B (zh) 2021-02-19

Family

ID=61134362

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910041447.6A Active CN109858211B (zh) 2017-08-23 2017-08-23 一种基于滑动轨迹的人机识别方法及装置,电子设备
CN201710731092.4A Active CN107679374B (zh) 2017-08-23 2017-08-23 一种基于滑动轨迹的人机识别方法及装置,电子设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710731092.4A Active CN107679374B (zh) 2017-08-23 2017-08-23 一种基于滑动轨迹的人机识别方法及装置,电子设备

Country Status (1)

Country Link
CN (2) CN109858211B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188529A (zh) * 2019-05-28 2019-08-30 北京奇艺世纪科技有限公司 一种异常滑动轨迹的检测方法、装置及电子设备
CN111062022A (zh) * 2019-11-15 2020-04-24 北京三快在线科技有限公司 基于扰动视觉反馈的滑块验证方法、装置、电子设备
CN111666968A (zh) * 2020-04-21 2020-09-15 北京奇艺世纪科技有限公司 人机识别方法及装置、电子设备、计算机可读存储介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033793A (zh) * 2018-07-11 2018-12-18 北京京东金融科技控股有限公司 滑动验证码人机识别方法及装置、电子设备及可读介质
CN110717154A (zh) * 2018-07-11 2020-01-21 中国银联股份有限公司 运动轨迹的特征处理方法、设备以及计算机存储介质
CN109413047B (zh) * 2018-09-29 2021-02-26 武汉极意网络科技有限公司 行为模拟的判定方法、系统、服务器及存储介质
CN109543393A (zh) * 2018-10-23 2019-03-29 武汉极意网络科技有限公司 行为验证方法及装置
CN109600361B (zh) * 2018-11-26 2021-05-04 武汉极意网络科技有限公司 基于哈希算法的验证码防攻击方法、装置、电子设备及非暂态计算机可读存储介质
CN109543394B (zh) * 2018-11-29 2021-11-23 深圳市口袋网络科技有限公司 一种功能触发方法、系统、装置及计算机可读存储介质
CN110046647A (zh) * 2019-03-08 2019-07-23 同盾控股有限公司 一种验证码机器行为识别方法及装置
CN109977651A (zh) * 2019-03-14 2019-07-05 广州多益网络股份有限公司 基于滑动轨迹的人机识别方法、装置及电子设备
CN110689400B (zh) * 2019-08-29 2022-02-25 苏宁云计算有限公司 一种基于屏幕分割的人机相似轨迹检测方法及装置
CN111125670B (zh) * 2019-12-17 2022-03-01 美的集团股份有限公司 滑动轨迹人机识别方法、装置、电子设备及存储介质
CN111125669B (zh) * 2019-12-17 2022-03-01 美的集团股份有限公司 滑动操作人机识别方法、装置、电子设备及存储介质
CN113553568A (zh) * 2020-04-23 2021-10-26 京东数字科技控股有限公司 人机识别方法、滑块验证方法、装置、介质和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013166517A1 (en) * 2012-05-04 2013-11-07 Complete Genomics, Inc. Methods for determining absolute genome-wide copy number variations of complex tumors
CN105574398A (zh) * 2015-12-10 2016-05-11 魅族科技(中国)有限公司 一种验证码验证方法及装置
CN105989268A (zh) * 2015-03-02 2016-10-05 苏宁云商集团股份有限公司 一种人机识别的安全访问方法和系统
CN106155298A (zh) * 2015-04-21 2016-11-23 阿里巴巴集团控股有限公司 人机识别方法及装置、行为特征数据的采集方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815515A (zh) * 2016-12-12 2017-06-09 微梦创科网络科技(中国)有限公司 一种基于轨迹验证的验证码实现方法及装置
CN106991315A (zh) * 2017-03-02 2017-07-28 袁精侠 手势验证的验证方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013166517A1 (en) * 2012-05-04 2013-11-07 Complete Genomics, Inc. Methods for determining absolute genome-wide copy number variations of complex tumors
CN105989268A (zh) * 2015-03-02 2016-10-05 苏宁云商集团股份有限公司 一种人机识别的安全访问方法和系统
CN106155298A (zh) * 2015-04-21 2016-11-23 阿里巴巴集团控股有限公司 人机识别方法及装置、行为特征数据的采集方法及装置
CN105574398A (zh) * 2015-12-10 2016-05-11 魅族科技(中国)有限公司 一种验证码验证方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
谭宏强等: "《基于滑动窗口及局部特征的时间序列符号化方法》", 《计算机应用研究》 *
钟清流等: "《基于统计特征的时序数据符号化算法》", 《计算机学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188529A (zh) * 2019-05-28 2019-08-30 北京奇艺世纪科技有限公司 一种异常滑动轨迹的检测方法、装置及电子设备
CN111062022A (zh) * 2019-11-15 2020-04-24 北京三快在线科技有限公司 基于扰动视觉反馈的滑块验证方法、装置、电子设备
CN111062022B (zh) * 2019-11-15 2022-05-06 北京三快在线科技有限公司 基于扰动视觉反馈的滑块验证方法、装置、电子设备
CN111666968A (zh) * 2020-04-21 2020-09-15 北京奇艺世纪科技有限公司 人机识别方法及装置、电子设备、计算机可读存储介质

Also Published As

Publication number Publication date
CN107679374A (zh) 2018-02-09
CN107679374B (zh) 2019-03-15
CN109858211B (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
CN107679374B (zh) 一种基于滑动轨迹的人机识别方法及装置,电子设备
CN106991315A (zh) 手势验证的验证方法及系统
CN112016538A (zh) 视频处理方法、装置、计算机设备和存储介质
CN104965876B (zh) 一种基于位置信息进行用户工作单位挖掘的方法及装置
CN111614690A (zh) 一种异常行为检测方法及装置
CN107430631B (zh) 从位置报告确定语义地点名称
CN113726783B (zh) 异常ip地址识别方法、装置、电子设备及可读存储介质
CN109977651A (zh) 基于滑动轨迹的人机识别方法、装置及电子设备
CN110246503A (zh) 黑名单声纹库构建方法、装置、计算机设备和存储介质
CN110276977A (zh) 一种公交站点匹配方法、装置、设备及可读存储介质
CN113326991A (zh) 自动授权方法、装置、计算机设备及存储介质
Li et al. Mining periodicity from dynamic and incomplete spatiotemporal data
CN112819611A (zh) 欺诈识别方法、装置、电子设备和计算机可读存储介质
CN111291843B (zh) 信息采集方法及系统
CN108923967B (zh) 一种去重流量记录方法、装置、服务器及存储介质
CN111325255B (zh) 特定人群圈定方法、装置、电子设备及存储介质
CN109413047A (zh) 行为模拟的判定方法、系统、服务器及存储介质
CN116305076B (zh) 基于签名的身份信息注册样本在线更新方法、系统及存储介质
CN111949696A (zh) 一种全要素关联分析方法及装置
CN109492357B (zh) 身份认证方法、设备及计算机存储介质
CN111339829B (zh) 用户身份鉴定方法、装置、计算机设备和存储介质
CN107016316B (zh) 一种条形码的识别方法和装置
Maeda et al. Guidelines for using the Q test in meta-analysis
CN115119197A (zh) 基于大数据的无线网络风险分析方法、装置、设备及介质
CN110458707B (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