CN110889103B - 滑块验证的方法和系统及其模型训练方法 - Google Patents

滑块验证的方法和系统及其模型训练方法 Download PDF

Info

Publication number
CN110889103B
CN110889103B CN201811047750.9A CN201811047750A CN110889103B CN 110889103 B CN110889103 B CN 110889103B CN 201811047750 A CN201811047750 A CN 201811047750A CN 110889103 B CN110889103 B CN 110889103B
Authority
CN
China
Prior art keywords
verification
models
feature
training
sample data
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
CN201811047750.9A
Other languages
English (en)
Other versions
CN110889103A (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.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding 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 Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN201811047750.9A priority Critical patent/CN110889103B/zh
Publication of CN110889103A publication Critical patent/CN110889103A/zh
Application granted granted Critical
Publication of CN110889103B publication Critical patent/CN110889103B/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
    • 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/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供了一种滑块验证模型的训练方法,包括:获取多条滑动轨迹的样本数据;基于所述样本数据得到每条滑动轨迹的多个特征集合;分别利用所述多个特征集合训练得到多组验证模型;其中,所述多组验证模型用于分别对待验证滑动轨迹的不同特征集合进行验证,以基于多种验证结果得到最终验证结果。本公开还提供了一种滑块验证模型的训练系统、滑块验证方法和系统。

Description

滑块验证的方法和系统及其模型训练方法
技术领域
本公开涉及互联网技术领域,更具体地,涉及滑块验证方法和系统及其模型训练方法。
背景技术
随着科技的发展,互联网已经渗透至人们生活的方方面面,为了保障用户的信息和财产安全,许多情况下需要用户进行安全验证,以区分是机器或者是人类进行的操作,其中,相较于传统的验证码要识别字母、数字或者点选文字图像等方式,滑块验证以其便捷、用户体验友好、简单有效等优点越来越多地受到人们的关注。但是随着黑客技术的发展,很多黑客会把机器先伪装成人移动滑块完成验证,然后再对服务端进行攻击。所以如何利用滑动轨迹判断到底是人还是机器就变成了一个非常重要的课题。
在实现本发明公开构思的过程中,发明人发现现有技术中至少存在如下问题:
现有的滑块验证方法都非常简单,主要是通过一些简单的规则来判断,例如判断滑动轨迹是否笔直,鼠标的横纵坐标有没有变化等。这些简单规则仅仅可以分辨出伪装的非常粗糙的轨迹,对于那些模仿的非常像人类的轨迹是无法分辨的。
发明内容
有鉴于此,本公开提供了一种滑块验证模型的训练方法,包括:获取多条滑动轨迹的样本数据;基于所述样本数据得到每条滑动轨迹的多个特征集合;分别利用所述多个特征集合训练得到多组验证模型;其中,所述多组验证模型用于分别对待验证滑动轨迹的不同特征集合进行验证,以基于多种验证结果得到最终验证结果。
根据本公开的实施例,所述基于所述样本数据得到每条滑动轨迹的多个特征集合包括:基于所述样本数据得到每条滑动轨迹的多个基础特征集和一个辅助特征集;其中,每个特征集合包括所述辅助特征集和一个基础特征集,所述基础特征集为验证所需的必要特征,所述辅助特征集为非必要特征。
根据本公开的实施例,在所述分别利用所述多个特征集合训练得到多组验证模型中,对于其中每个特征集合有如下操作:利用一个特征集合训练一种或多种模型得到一种或多种验证模型,作为一组验证模型;其中,每个特征集合训练的模型的种类和数量相同。
根据本公开的实施例,所述样本数据分为训练集样本数据和测试集样本数据;所述利用一个特征集合训练一种或多种模型得到一种或多种验证模型,作为一组验证模型包括:利用训练集样本数据的基础特征集训练第一模型得到第一初始验证模型;基于所述第一初始验证模型和所述测试集样本数据选出部分测试集样本数据加入所述训练集样本数据;利用扩充后的训练集样本数据的基础特征集和辅助特征集训练一种或多种模型得到一种或多种验证模型,作为一组验证模型;其中,所述一种或多种模型包括或不包括所述第一模型。
根据本公开的实施例,所述利用扩充后的训练集样本数据的基础特征集和辅助特征集训练一种或多种模型得到一种或多种验证模型,作为一组验证模型包括:将选出的部分测试集样本数据分为多个子部分测试集样本数据;将训练集样本数据和每一子部分测试集样本数据作为一组训练数据,利用多组训练数据分别对所述一种或多种模型中的每种模型进行训练得到属于每种验证模型的多个子验证模型,将每种验证模型的多个子验证模型作为第一组验证模型。
根据本公开的实施例,所述每条滑动轨迹的样本数据包括滑动轨迹上多个采集点的横坐标、纵坐标和采集时间;所述多个基础特征集包括第一基础特征集和第二基础特征集;所述第一基础特征集包括表征整条滑动轨迹的采集点的横坐标移动间隔和移动速度的多个特征;和/或所述第二基础特征集包括表征滑动轨迹尾部采集点的横坐标移动间隔和移动速度的多个特征;和/或所述辅助特征集包括第一辅助特征集和/或第二辅助特征集,所述第一辅助特征集包括表征整条滑动轨迹采集点的纵坐标移动间隔、纵坐标移动方向和斜率的特征,第二辅助特征集包括表征整条滑动轨迹采集点的采集时间特征。
根据本公开的实施例,所述多条滑动轨迹的样本数据包括人的滑动轨迹的样本数据和机器滑动轨迹的样本数据。
本公开的另一方面提供了一种滑块验证方法,包括:获取待验证滑动轨迹的轨迹数据;基于所述轨迹数据得到待验证滑动轨迹的多个特征集合;利用多组验证模型分别对所述多个特征集合进行验证,得到多个验证结果;基于所述多个验证结果分析得到最终验证结果;其中,所述多组验证模型根据上述任一项所述的训练方法得到。
根据本公开的实施例,所述基于所述轨迹数据得到待验证滑动轨迹的多个特征集合包括:基于所述轨迹数据得到待验证滑动轨迹的多个基础特征集和一个辅助特征集,其中,每个特征集合包括一个基础特征集和辅助特征集。
根据本公开的实施例,在所述利用多组验证模型分别对所述多个特征集合进行验证,得到多个验证结果中,对于其中每个特征集合有如下操作:将一个特征集合输入对应的一组验证模型的一种或多种验证模型中,得到一种或多种验证模型的验证结果;在一组验证模型包括多种验证模型的情况下,将所述多种验证模型的验证结果进行取并集融合得到一个验证结果。
根据本公开的实施例,所述将一个特征集合输入对应的一组验证模型的一种或多种验证模型,得到一种或多种验证模型的验证结果包括:将一个特征集合分别输入每种验证模型的多个子验证模型中,得到每种验证模型的多个子验证结果;将所述多个子验证结果进行取交集融合得到每种验证模型的验证结果。
根据本公开的实施例,所述基于所述多个验证结果分析得到最终验证结果包括:将所述多个验证结果进行取并集融合得到最终验证结果。
本公开的又一方面提供了一种滑块验证模型的训练系统,包括:第一获取模块,用于获取多条滑动轨迹的样本数据;第一特征模块,用于基于所述样本数据得到每条滑动轨迹的多个特征集合;模型模块,用于利用所述多个特征集合训练得到多组验证模型;其中,所述多组验证模型用于分别对待验证滑动轨迹的不同特征集合进行验证,以基于多种验证结果得到最终验证结果。
本公开的再一方面提供了一种滑块验证系统,包括:第二获取模块,用于获取待验证滑动轨迹的轨迹数据;第二特征模块,用于基于所述轨迹数据得到待验证滑动轨迹的多个特征集合;验证模块,用于利用多组验证模型分别对所述多个特征集合进行验证,得到多个验证结果;融合模块,用于基于所述多个验证结果分析得到最终验证结果;其中,所述多组验证模型根据如上述任一项所述的训练方法得到。
本公开的再一方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器:获取待验证滑动轨迹的轨迹数据;基于所述轨迹数据得到待验证滑动轨迹的多个特征集合;利用多组验证模型分别对所述多个特征集合进行验证,得到多个验证结果;基于所述多个验证结果分析得到最终验证结果;其中,所述多组验证模型根据上述任一项所述的训练方法得到。
根据本公开的实施例,可以至少部分地解决了现有滑块验证方法规则过于简单而造成验证结果不准确的问题,并因此可以实现对滑块轨迹进行准确且高效验证的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用滑块验证模型的训练方法及系统和滑块验证方法及系统的示例性系统架构;
图2示意性示出了根据本公开实施例的滑块验证模型的训练方法及系统和滑块验证方法及系统的应用场景;
图3示意性示出了根据本公开实施例的滑块验证模型的训练方法的流程图;
图4示意性示出了根据本公开实施例的统计轨迹上采集点的示意图;
图5A和图5B示意性示出了根据本公开实施例的训练过程的示意图;
图6示意性示出了根据本公开实施例的第一特征集合训练过程的示意图;
图7示意性示出了根据本公开实施例的第二特征集合训练过程的示意图;
图8A和图8B示意性示出了根据本公开另一实施例的第一特征集合训练过程的示意图;
图9示意性示出了根据本公开实施例的测试过程的示意图;
图10示意性示出了根据本公开另一实施例的第一测试特征集合的测试过程的示意图;
图11示意性示出了根据本公开实施例的滑块验证的流程示意图;
图12示意性示出了根据本公开实施例的验证过程的示意图;
图13示意性示出了根据本公开另一实施例的第一验证特征集合的验证过程的示意图;
图14示意性示出了根据本公开实施例的适于实现本公开实施例描述的方法的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的装置”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的装置等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的装置”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的装置等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
本公开的实施例提供了一种滑块验证模型的训练方法,包括:获取多条滑动轨迹的样本数据;基于所述样本数据得到每条滑动轨迹的多个特征集合;分别利用所述多个特征集合训练得到多组验证模型;其中,所述多组验证模型用于分别对待验证滑动轨迹的不同特征集合进行验证,以基于多种验证结果得到最终验证结果。
本公开的实施例还提供了一种滑块验证方法,包括:获取待验证滑动轨迹的轨迹数据;基于所述轨迹数据得到待验证滑动轨迹的多个特征集合;利用多组验证模型分别对所述多个特征集合进行验证,得到多个验证结果;基于所述多个验证结果分析得到最终验证结果。
本公开实施例提供的滑块验证模型的训练方法及系统和滑块验证方法及系统,能够对滑动轨迹的不同特征进行分别训练和验证,再根据多个验证结果分析得到最终的验证结果,这样,一方面可以解决了现有滑块验证规则过于简单而造成验证结果不准确的问题,另一方面可以避免在训练样本数据量较小时,利用常用机器学习方法进行训练造成过拟合的问题,因而,不仅可以通过机器学习的方法学习人类和机器轨迹的样本,从而学习到人类无法用规则描述的特征,实现对人机进行高效识别,而且可以利用很小的数据集实现对很大数据集的精准预测。
图1示意性示出了根据本公开实施例的可以应用滑块验证模型的训练方法及系统和滑块验证方法及系统的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的滑块验证模型的训练方法和滑块验证方法一般可以由服务器105执行。相应地,本公开实施例所提供的滑块验证模型的训练系统和滑块验证系统一般可以设置于服务器105中。本公开实施例所提供的滑块验证模型的训练方法和滑块验证方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的滑块验证模型的训练系统和滑块验证系统也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的滑块验证模型的训练方法及系统和滑块验证方法及系统的应用场景。
需要注意的是,图2所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图2所示,本公开实施例的滑块验证模型的训练方法及系统和滑块验证方法及系统可以用于滑块验证,验证的图片上具有滑块201和缺口202,滑块201和缺口202的形状相对应。滑块201可以左右滑动,直至滑动至缺口202处完成验证,滑块201的位置与拖动键203的位置相对应,用户可以按住拖动键203在拖动条204中移动,相应地,滑块201随拖动键203沿相同方向移动,当滑块201被移动至缺口202位置时,滑块201与缺口位置202相吻合,即可完成验证。
本公开实施例的滑块验证模型的训练方法及系统可以根据多个人的滑动轨迹样本数据和多个机器滑动轨迹样本数据,训练得到验证模型,验证模型可以用于进行后续轨迹的验证。
本公开实施例的滑块验证方法及系统可以利用上述获得的验证模型对待验证的轨迹数据进行验证,并得到最终的验证结果。
应该理解,图2中的应用场景仅是一种示例,该模型训练方法和验证方法除了应用于滑块验证之外,还可以用于其他需要进行轨迹分析的场景下。
图3示意性示出了根据本公开实施例的滑块验证模型的训练方法的流程图。
如图3所示,本公开实施例的滑块验证模型的训练方法包括操作S1000~操作S3000。
在操作S1000,获取多条滑动轨迹的样本数据;
在操作S2000,基于样本数据得到每条滑动轨迹的多个特征集合;
在操作S3000,分别利用多个特征集合训练得到多组验证模型;
其中,多组验证模型用于分别对待验证滑动轨迹的不同特征集合进行验证,以基于多种验证结果得到最终验证结果。
多个特征集合例如可以是两个特征集合,包括第一特征集合和第二特征集合;利用多条滑动轨迹的第一特征集合训练得到第一组验证模型;利用多条滑动轨迹的第二特征集合训练得到第二组验证模型;其中,第一组验证模型和第二组验证模型用于分别对待验证滑动轨迹的第一特征集合和第二特征集合进行验证。
具体地,根据本公开的实施例,多条滑动轨迹的样本数据包括人的滑动轨迹的样本数据和机器滑动轨迹的样本数据。人的滑动轨迹的样本数据可以作为正样本数据,机器滑动轨迹的样本数据可以作为负样本数据。
可以将获取的滑动轨迹的样本数据分为训练集样本数据和测试集样本数据。
对于训练集,例如收集了3000条样本数据,其中有2600条正样本,400条负样本。
对于测试集,例如收集了200万条数据,其中155万条左右正样本,45万条左右负样本。
根据本公开的实施例,每条滑动轨迹的样本数据可以包括滑动轨迹上多个采集点的横坐标、纵坐标和采集时间;每条数据都是一个滑动的轨迹,每一条轨迹都是由多个三维坐标组成的,即(横坐标,纵坐标,当前时间),数据样例如下:轨迹一的数据:(14,21,1),(21,42,6),(33,31,10),(44,21,19),(53,38,26),...,(890,25,915),(898,32,923),(905,40,932),(911,33,945),(917,45,956)。
人的滑动轨迹例如是用户手指在屏幕上的滑动轨迹或者人操控的鼠标在屏幕上的滑动轨迹,机器滑动轨迹例如是机器操控的鼠标在屏幕上的滑动轨迹。此外,滑动轨迹也可以是指滑块的统计点在屏幕上的移动轨迹,滑块的统计点例如是滑块的左上角或中心点。
图4示意性示出了根据本公开实施例的统计轨迹上采集点的示意图。
如图4所示,将图像分为多个方格,例如是7×7或者7×10个方格,统计轨迹按顺序所经过的每个方格的左上角的坐标作为采集点的横纵坐标,第一个采集点的采集时间××时××分××秒规整为数字1,之后每隔一定时间增加一个数字,例如每过一秒,在之前的基础上加1。
此外,还可以通过其他方式统计轨迹上的采集点,例如统计轨迹所经过的每隔方格,再在每个统计的方格中选取一个轨迹上的点作为采集点。
在获取数据后,首先对数据进行预处理,数据预处理主要是对一些脏数据进行处理,例如轨迹出现后一个点的时间比前一个点的时间早,或者出现空值的情况。
在操作S2000,基于样本数据得到每条滑动轨迹的多个特征集合,可以包括得到训练集中每条滑动轨迹的多个特征集合和测试集中每条滑动轨迹的多个特征集合。根据每条轨迹上采集点的横纵坐标和采集时间得到多个特征,将统计的多个特征分为多个特征集合,不同特征集合中可以存在重复的特征。
根据本公开的实施例,操作S2000可以包括操作S2100。
在操作S2100,基于样本数据得到每条滑动轨迹的多个基础特征集和一个辅助特征集;
其中,每个特征集合包括辅助特征集和一个基础特征集,基础特征集为验证所需的必要特征,辅助特征集为非必要特征。
在特征集合包括第一特征集合和第二特征集合的情况下,基于样本数据得到每条滑动轨迹的第一特征集合和第二特征集合包括:基于所述样本数据得到每条滑动轨迹的第一基础特征集、第二基础特征集和辅助特征集;其中,所述第一特征集合包括第一基础特征集和辅助特征集,第二特征集合包括第二基础特征集和辅助特征集。
根据本公开的实施例,每条滑动轨迹的样本数据包括滑动轨迹上多个采集点的横坐标、纵坐标和采集时间;多个基础特征集包括第一基础特征集和第二基础特征集;
第一基础特征集包括表征整条滑动轨迹的采集点的横坐标移动间隔和移动速度的多个特征;和/或第二基础特征集包括表征滑动轨迹尾部采集点的横坐标移动间隔和移动速度的多个特征;和/或辅助特征集包括第一辅助特征集和/或第二辅助特征集,第一辅助特征集包括表征整条滑动轨迹采集点的纵坐标移动间隔、纵坐标移动方向和斜率的特征,第二辅助特征集包括表征整条滑动轨迹采集点的采集时间特征。
具体地,由于训练集中机器轨迹数量过少(只有400条)且测试集中会出现的新的攻击手段,伪造方式稍做变换特征也会随之改变,并且实际应用中不可能获取所有的机器轨迹类型。相反,人的移动轨迹看似复杂,但是特征相对稳定。所以我们在做特征工程时,可以只关注人的轨迹有什么特征。将特征分为俩大类:基础特征和辅助特征,基础特征是指,人在移动一条轨迹,人必须符合这俩个基础特征,假如一条轨迹不符合基础特征中的任何一套特征,都认为这条轨迹就是一条机器轨迹,即基础特征能够单独判断轨迹属于人还是机器;辅助特征是指,对于一条轨迹,如果符合这些特征,那我们可以更加确认的判断这些轨迹是人,相反如果一条轨迹是机器,那么它在这些特征上表现的是非常差的。所以虽然这些特征不能非常准确的判断是人还是机器,尤其是在训练集小的情况下,这些特征更加不明显,或者会过拟合,但是如果训练集数量够多,这些特征表现也是非常好的。下面针对每个特征集来详细的列一下具体的特征。
(1)基础特征
人的轨迹主要有两个特点:1)无规律性,即人不会每次都移动相同的间隔,人的移动速度是不停变化等,把这类特征命名为Regular。2)人在移动的最后有一个拟合的过程,即人会小心翼翼的把滑块放到缺失的地方,把这类特征命名为FinalStop。
1)Regular特征
用下面五个特征来描述人移动轨迹的无规律性:
每条轨迹相邻横坐标差的标准差;
每条轨迹相邻横坐标差的最大值;
每条轨迹速度的标准差;
每条轨迹速度的最大值;
每条轨迹的密度。
以轨迹一的数据:(14,21,1),(21,42,6),(33,31,10),(44,21,19),(53,38,24),...,(890,25,915),(898,32,923),(905,40,932),(911,33,945),(917,45,956)为例。其中,相邻横坐标差分别为:7,12,11,9,...,8,7,6,6,可以由此计算得到相邻横坐标差的标准差并选出相邻横坐标差的最大值。轨迹速度可以通过横坐标差除以间隔时间得到,例如,相邻采集点的间隔时间分别为:5,4,9,5,...,8,9,13,11,则轨迹速度分别为:7/5,12/4,11/9,9/5,...,8/8,7/9,6/13,6/11,可以由此计算得到轨迹速度的标准差并选出轨迹速度的最大值。轨迹的密度可以通过统计一定时间内不相同横坐标的数目得到,例如,在时间30内,不相同的横坐标的数目为5。
在做上述特征时,将轨迹分成两段,旨在更全面的描述轨迹特点,保留更多的信息。分段规则为:如果一条轨迹有往回走的特征,那就把这条轨迹从拐点处分成两段,然后对每一段求上述的特征的值;如果没有往回走的特征,那就取一条轨迹的后10个点和剩下的点作为两段来统计特征。分别对整体轨迹、第一段轨迹、第二段轨迹做上述特征。
2)FinalStop特征
为了描述移动轨迹最后的拟合过程,对一条轨迹分别取最后10,5,3个点。
用下面几个特征来描述:
每条轨迹相邻的横坐标差的最小值;
每条轨迹相邻的横坐标差的最大值;
每条轨迹相邻的横坐标差的中位数;
每条轨迹相邻的横坐标差的标准差;
每条轨迹相邻的速度差的最小值;
每条轨迹相邻的速度差的最大值;
每条轨迹相邻的速度差的中位数;
每条轨迹相邻的速度差的标准差。
以轨迹一的数据,分别取轨迹一的最后10个点、5个点和3个点,分别计算最后10个点、5个点和3个点的上述特征。
(2)辅助特征
因为辅助特征是一些非必要特征,即,假如一条轨迹有这样的特征,可以更加确定的判断这是一条人的轨迹,但是并不能完全确定,因为人移动的轨迹带有强烈的主观性。所以这些特征只用作辅助特征,当有足够多的数据才会加入这些特征,数据量少这些特征很容易因为某些主观性比较强的轨迹而发生过拟合。
在做辅助特征时,主要从两个方面来考虑:Y特征和Time特征。
1)Y特征
首先,看Y的变化是否具有重复性,因为人的移动是随机的,无论是x还是y,人的轨迹不可能非常有规律的变化。为了刻画这个特征用了以下变量:
Y变化的次数;
每条轨迹Y变化的最大值及绝对值;
每条轨迹Y变化的最小值及绝对值;
每条轨迹Y变化的平均值及绝对值;
每条轨迹Y变化的标准差及绝对值。
以轨迹一的前5个采集点为例(14,21,1),(21,42,6),(33,31,10),(44,21,19),(53,38,24),...。其中,相邻采集点的纵坐标不同即为变化一次,前5个采集点变化了4次。纵坐标变化量分别为:21,-11,-10,17,...,由此可以得到Y变化的最大值、最小值、平均值、标准差以及上述值的绝对值。
其次,人类在移动滑块时,好多人其实有个特点就是鼠标会一直微微的往下,或者往上移动,同时如果有往回移动,往上移动的更加明显,或者向前移动,往下移动的趋势更明显,用以下变量刻画这个特征:
轨迹是否一直往一个方向移动;
往一个方向移动的占比;
轨迹的长度;
Y变化的标准差。
其中,若所有采集点的纵坐标依次递减或递增,则认为轨迹一直往一个方向移动。若所有采集点中有一段连续的采集点一直往一个方向移动,若该段采集点占比为70%,则往一个方向移动的占比为70%。若一条轨迹有往回走的特征,轨迹的长度等于(最大横坐标-最小横坐标)+回走段长度。回走段长度可以用回走段的最大横坐标-回走段的最小横坐标计算。
在做上述特征时,采用与基础特征相同的分段方法,将轨迹分为两段,分别对整体轨迹和两段子轨迹统计上述变量。
再者,人移动滑块的轨迹,在一个范围内的斜率都是比较小的,因为这是个滑块模型,所以人主要是左右移动滑块,而不是上下移动。所以人的轨迹的斜率比较小。用了以下变量刻画这个特征:
非零斜率的中位数;
非零斜率的最小值;
非零斜率的最大值;
非零斜率的标准差。
其中,斜率可以利用相邻采集点的△y/△x计算。
采用与基础特征相同的分段方法,将轨迹分为两段,分别对整体轨迹和两段子轨迹统计上述变量。
2)Time特征
Time特征就是我们的时间特征,对时间进行了更加精细的统计,用以下变量表示:
轨迹的开始时间;
轨迹时间差为<30,30-60,60-100,100-150,150-300,300-1000,>1000的占比;
最大时间差的占比;
时间差的中位数;
时间差的最大值;
时间差的最小值;
时间差的标准差。
其中,轨迹的开始时间可以是第一个采集点的采集时间。轨迹时间差为相邻采集点的采集时间的差值。最大时间差的占比为最大时间差占所有时间差的比值,以轨迹一的前5个采集点为例(14,21,1),(21,42,6),(33,31,10),(44,21,19),(53,38,24),...,前5个采集的时间差分别为5,4,9,5,最大时间差为9,则前5个采集点中最大时间差的占比为1/4。
基础特征和辅助特征统计完成后,可以将Regular特征+辅助特征组成一个特征集合,将FinalStop特征+辅助特征组成另一个特征集合。
当然,在其他实施例中,也可以仅采用基础特征集进行训练,即特征集合可以仅包括基础特征集。
根据本公开的实施例,根据人的轨迹特点总结出多个特征,并将能够单独判断结果的几个基础特征作为判断的必要特征,分开进行训练,这样,当轨迹的其中一个特征的判断结果为机器时,即可认为是机器轨迹,增大了准确率。同时在每个基础特征的基础上增加辅助特征,也可以进一步增加每个特征的判断准确率。为了避免过拟合,可以在训练数据量较大时再加入辅助特征。
在操作S3000,分别利用多个特征集合训练得到多组验证模型,可以是利用训练集进行训练,也可以是先在测试集中选出部分数据加入训练集后,利用扩充后的训练集进行训练,然后再利用测试集对训练完成的模型进行测试。
根据本公开的实施例,在操作S3000中,对于其中每个特征集合有操作S3100。
在操作S3100,利用一个特征集合训练一种或多种模型得到一种或多种验证模型,作为一组验证模型;
其中,每个特征集合训练的模型的种类和数量相同。
图5A和图5B示意性示出了根据本公开实施例的训练过程的示意图。
如图5A和图5B所示,在训练过程中,可以将不同的特征集合输入相同的一组模型中进行训练,每个特征集合训练的模型的种类和数量相同。例如,利用第一特征集合分别训练Logistic回归模型、XGBoost:gbtree模型和XGBoost:gblinear模型,训练得到三个验证模型:第一Logistic回归验证模型、第一XGBoost:gbtree验证模型和第一XGBoost:gblinear验证模型,作为一组验证模型,再利用第二特征集合分别训练Logistic回归模型、XGBoost:gbtree模型和XGBoost:gblinear模型,得到另外三个验证模型,作为另一组验证模型。此外,一组验证模型可以包括多个验证模型,也可以仅包括一个验证模型,例如,利用第一特征集合仅训练Logistic回归模型,得到一个验证模型,也可称为一组验证模型。其中,Xgboost是一种基于树模型的机器学习算法,优点是速度快,准确率高。Logistic回归是一种逻辑回归算法。
多组验证模型用于分别对待验证滑动轨迹的不同特征集合进行验证,以基于多种验证结果得到最终验证结果。在验证过程中,同样获取待验证数据的多个特征集合,分别输入相应的一个验证模型中,分别得到多个验证结果,再对多个验证结果进行分析,得到最终的验证结果。
根据本公开的实施例,滑块验证模型的训练方法能够对滑动轨迹的不同特征分别进行训练,得到多组验证模型,以在后续验证中,对待验证数据的多个特征分别进行验证,再根据多个验证结果分析得到最终的验证结果,这样,一方面可以解决了现有滑块验证规则过于简单而造成验证结果不准确的问题,另一方面可以避免在训练样本数据量较小时,利用常用机器学习方法进行训练造成过拟合的问题,因而,不仅可以通过机器学习的方法学习人类和机器轨迹的样本,从而学习到人类无法用规则描述的特征,实现对人机进行高效识别,而且可以利用很小的数据集实现对很大数据集的精准预测。
根据本公开的实施例,样本数据分为训练集样本数据和测试集样本数据;
操作S3100可以包括操作S3110~操作S3130。
在操作S3110,利用训练集样本数据的基础特征集训练第一模型得到第一初始验证模型;
在操作S3120,基于第一初始验证模型和测试集样本数据选出部分测试集样本数据加入训练集样本数据;
在操作S3130,利用扩充后的训练集样本数据的基础特征集和辅助特征集训练一种或多种模型得到一种或多种验证模型,作为一组验证模型;
其中,一种或多种模型包括或不包括所述第一模型。
以第一特征集合(Regular特征+辅助特征)为例描述如下:
图6示意性示出了根据本公开实施例的第一特征集合训练过程的不意图。
如图6所示,首先利用训练集的Regular特征训练XGBoost:gbtree模型,得到初始XGBoost:gbtree模型,将测试集数据输入训练好的初始XGBoost:gbtree模型中,选出其中概率较大的部分测试集数据,例如选出了概率大于阈值的30K个测试数据,将选出的数据加入训练集中,以对训练集数据进行扩充。
利用扩充后的训练集数据的Regulart特征和辅助特征(Y特征和Time特征)分别训练Logistic回归模型、XGBoost:gbtree模型和XGBoost:gblinear模型,得到三个验证模型:第一Logistic回归验证模型、第一XGBoost:gbtree验证模型和第一XGBoost:gblinear验证模型,作为对应第一特征集合的第一组验证模型。第二次训练的XGBoost:gbtree模型的参数与第一次训练的初始XGBoost:gbtree模型无关,第二次训练的模型也可以不包括第一次训练的模型。
图7示意性示出了根据本公开实施例的第二特征集合训练过程的示意图。
如图7所示,对于第二特征集合:FinalStop特征+辅助特征,进行与上述第一特征集合相同的操作,得到第二特征集合对应的第二组验证模型。
根据本公开的实施例,先利用训练集的基础特征训练一个模型,利用该模型从测试集中选出部分测试集加入训练集中,然后再在扩充后的训练集的特征中加入辅助特征,这样的特征分布,可以避免训练过拟合,且能够在训练数据较少时达到较高的准确率。
根据本公开的实施例,操作S3130包括操作S3131~操作S3132。
在操作S3131,将选出的部分测试集样本数据分为多个子部分测试集样本数据;
在操作S3132,将训练集样本数据和每一子部分测试集样本数据作为一组子训练数据,利用多组子训练数据分别对一种或多种模型中的每种模型进行训练得到属于每种验证模型的多个子验证模型,将每种验证模型的多个子验证模型作为第一组验证模型。
图8A和图8B示意性示出了根据本公开另一实施例的第一特征集合训练过程的示意图。
如图8A所示,将选出的部分测试集样本数据分为多个子部分测试集样本数据,例如将30K个测试数据分为3个10K测试数据。
将训练集样本数据和每一子部分测试集样本数据作为一组训练数据,例如将3个10K测试数据分别与训练集进行组合,得到三组子训练数据。
如图8B所示,分别利用三组子训练数据对Logistic回归模型、XGBoost:gbtree模型和XGBoost:gblinear模型进行训练,得到属于每种模型的三个子验证模型,总共九个子验证模型可以作为第一特征集合对应的第一组验证模型。
对于第二特征集合:FinalStop特征+辅助特征,进行与上述第一特征集合相同的操作,得到第二特征集合对应的第二组验证模型。
根据本公开的实施例,利用训练集和一部分测试集在每种模型中训练多个子验证模型,以在测试时,将每种模型中的几个子验证模型的测试结果取交集,这样,避免参加了训练的测试数据在进行测试时分数值太高,而导致测试结果不准确的问题,可以平衡错误数据对测试结果的影响。
图9示意性示出了根据本公开实施例的测试过程的示意图。
如图9所示,模型训练完成后需要进行测试,利用200万测试数据进行测试,操作S2000中已经得到了200万测试数据的多个特征集合,例如是第一测试特征集合(Regular特征+辅助特征),第二测试特征集合(FinalStop特征+辅助特征)。将第一测试特征集合输入上述训练完成第一特征集合对应的第一组验证模型中,第一组验证模型例如包括三个验证模型:第一Logistic回归验证模型、第一XGBoost:gbtree验证模型和第一XGBoost:gblinear验证模型,得到三个测试结果,对三个测试结果进行融合得到第一特征的测试结果,融合例如可以是取并集融合,取并集融合例如可以是说:当其中至少有一个结果认为该测试轨迹为机器轨迹时,就认为该测试轨迹为机器轨迹,否则认为是人的样本。相似地,将第二测试特征集合输入上述训练完成第二特征集合对应的第二组验证模型中,得到三个测试结果,对三个测试结果进行融合得到第二特征的测试结果。最后再将第一特征的测试结果和第二特征的测试结果进行取并集融合,得到最终的测试结果。
图10示意性示出了根据本公开另一实施例的第一测试特征集合的测试过程的示意图。
如图10所示,因为在上述一个实施例中,每中模型训练得到三个子验证模型,因此,在对应的测试实施例中,需要将测试数据分别输入多个子验证模型中进行测试。以第一测试特征集合为例进行说明:将第一测试特征集合输入分别属于Logistic回归模型、XGBoost:gbtree模型和XGBoost:gblinear模型的子验证模型中,对应每种模型得到三个子测试结果,先将三个子测试结果进行取交集融合,取交集融合例如可以是说:当所有结果一致认为测试轨迹为机器样本时,才认为测试轨迹为机器样本,否则认为是人的样本。然后再将三个并集结果进行取并集融合,得到第一特征测试结果。
相似地,对第二测试特征集合进行相应的操作得到第二特征的测试结果。最后再将第一特征的测试结果和第二特征的测试结果进行取并集融合,得到最终的测试结果。
本发明实施例可以利用很小的数据集实现对很大数据集的精准预测。经过测试,对于200万的测试集,可以达到90%以上的召回率和85%以上的准确率。
本公开的另一方面提供了一种滑块验证方法。
图11示意性示出了根据本公开实施例的滑块验证的流程示意图。
如图11所示,本公开实施例的滑块验证方法包括操作S4000~操作S7000。
在操作S4000,获取待验证滑动轨迹的轨迹数据;
在操作S5000,基于轨迹数据得到待验证滑动轨迹的多个特征集合:
在操作S6000,利用多组验证模型分别对多个特征集合进行验证,得到多个验证结果;
在操作S7000,基于多个验证结果分析得到最终验证结果;其中,多组验证模型根据上述任一项的训练方法得到。
具体地,获取待验证滑动轨迹的轨迹数据,利用与操作S1000相同的采集方式,采集待验证轨迹上的采集点数据。
根据本公开的实施例,操作S5000包括操作S5100。
在操作S5100,基于轨迹数据得到待验证滑动轨迹的多个基础特征集和一个辅助特征集,其中,每个特征集合包括一个基础特征集和辅助特征集。
根据统计的采集点数据得到多个特征集合,例如得到Regular基础特征集、FinalStop基础特征集和辅助特征集(Y特征+Time特征)。
将Regular基础特征集和辅助特征集组成为第一验证特征集合,将FinalStop基础特征集和辅助特征集组成为第二验证特征集合。
根据本公开的实施例,在操作S6000中,对于其中每个特征集合有操作S6100~操作S6200。
在操作S6100,将一个特征集合输入对应的一组验证模型的一种或多种验证模型中,得到一种或多种验证模型的验证结果;
在操作S6200,在一组验证模型包括多种验证模型的情况下,将所述多种验证模型的验证结果进行取并集融合得到一个验证结果。
图12示意性示出了根据本公开实施例的验证过程的示意图。
如图12所示,验证过程与上述的测试过程一致,将第一验证特征集合输入训练完成的第一组验证模型中,第一组验证模型例如包括三个验证模型:第一Logistic回归验证模型、第一XGBoost:gbtree验证模型和第一XGBoost:gblinear验证模型,得到三个验证结果,对三个验证结果进行融合得到第一特征的验证结果,融合例如可以是取并集融合。相似地,将第二验证特征集合输入训练完成的第二组验证模型中,得到三个验证结果,对三个验证结果进行融合得到第二特征的验证结果。
根据本公开的实施例,操作S6100包括操作S6110~操作S6120。
在操作S6110,将一个特征集合分别输入每种验证模型的多个子验证模型中,得到每种验证模型的多个子验证结果;
在操作S6120,将多个子验证结果进行取交集融合得到每种验证模型的验证结果。
图13示意性示出了根据本公开另一实施例的第一验证特征集合的验证过程的示意图。
如图13所示,在每种模型包括多个子验证模型的情况下,需要将第一验证特征集合输入每种模型的多个子验证模型中。以第一验证特征集合为例进行说明:将第一验证特征集合输入分别属于Logistic回归模型、XGBoost:gbtree模型和XGBoost:gblinear模型的子验证模型中,对应每种模型得到三个子验证结果,先将三个子验证结果进行取交集融合。然后再将三个并集结果进行取并集融合,得到第一特征验证结果。
相似地,对第二验证特征集合进行相应的操作得到第二特征的验证结果。
根据本公开的实施例,操作S7000包括操作S7100。
在操作S7100:将多个验证结果进行取并集融合得到最终验证结果。
将第一特征的验证结果和第二特征的验证结果进行取并集融合,得到最终的验证结果。
本公开的又一方面提供了一种滑块验证模型的训练系统,包括:
第一获取模块1000,用于获取多条滑动轨迹的样本数据;
第一特征模块2000,用于基于样本数据得到每条滑动轨迹的多个特征集合;
模型模块3000,用于利用多个特征集合训练得到多组验证模型;
其中,多组验证模型用于分别对待验证滑动轨迹的不同特征集合进行验证,以基于多种验证结果得到最终验证结果。
具体地,第一获取模块1000例如可以执行上文描述的操作S1000,第一特征模块2000例如可以执行上文描述的操作S2000,模型模块3000例如可以执行上文描述的操作S3000,在此不再赘述。
本公开的再一方面提供了一种滑块验证系统,包括:
第二获取模块4000,用于获取待验证滑动轨迹的轨迹数据;
第二特征模块5000,用于基于轨迹数据得到待验证滑动轨迹的多个特征集合;
验证模块6000,用于利用多组验证模型分别对多个特征集合进行验证,得到多个验证结果;
融合模块7000,用于基于多个验证结果分析得到最终验证结果;
其中,多组验证模型根据如上述任一项的训练方法得到。
具体地,第二获取模块4000例如可以执行上文描述的操作S4000,第二特征模块5000例如可以执行上文描述的操作S5000,验证模块6000例如可以执行上文描述的操作S6000,融合模块7000例如可以执行上文描述的操作S7000,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块1000、第一特征模块2000、模型模块3000、第二获取模块4000、第二特征模块5000、验证模块6000以及融合模块7000中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块1000、第一特征模块2000、模型模块3000、第二获取模块4000、第二特征模块5000、验证模块6000和融合模块7000中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块1000、第一特征模块2000、模型模块3000、第二获取模块4000、第二特征模块5000、验证模块6000和融合模块7000的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图14示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图14示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图14所示,根据本公开实施例的计算机系统1400包括处理器1401,其可以根据存储在只读存储器(ROM)1402中的程序或者从存储部分1408加载到随机访问存储器(RAM)1403中的程序而执行各种适当的动作和处理。处理器1401例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1401还可以包括用于缓存用途的板载存储器。处理器1401可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1403中,存储有系统1400操作所需的各种程序和数据。处理器1401、ROM1402以及RAM 1403通过总线1304彼此相连。处理器1401通过执行ROM 1402和/或RAM 1403中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1402和RAM 1403以外的一个或多个存储器中。处理器1401也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统1400还可以包括输入/输出(I/O)接口1405,输入/输出(I/O)接口1405也连接至总线1404。系统1400还可以包括连接至I/O接口1405的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至I/O接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分1408。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被处理器1401执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 502和/或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (15)

1.一种滑块验证模型的训练方法,包括:
获取多条滑动轨迹的样本数据,其中,所述样本数据分为训练集样本数据和测试集样本数据;
基于所述样本数据得到每条滑动轨迹的多个特征集合,其中,每个所述特征集合包括辅助特征集和基础特征集;
分别利用所述多个特征集合训练得到多组验证模型,其中,对于其中每个特征集合有如下操作:
利用所述训练集样本数据的基础特征集训练第一模型得到第一初始验证模型;
基于所述第一初始验证模型和所述测试集样本数据选出部分测试集样本数据加入所述训练集样本数据;
利用扩充后的训练集样本数据的基础特征集和辅助特征集训练一种或多种模型得到一种或多种验证模型,作为一组验证模型;
其中,所述多组验证模型用于分别对待验证滑动轨迹的不同特征集合进行验证,以基于多种验证结果得到最终验证结果。
2.根据权利要求1所述的方法,其中,所述基础特征集为验证所需的必要特征,所述辅助特征集为非必要特征。
3.根据权利要求1所述的方法,其中,每个特征集合训练的模型的种类和数量相同。
4.根据权利要求1所述的方法,其中,所述一种或多种模型包括或不包括所述第一模型。
5.根据权利要求1所述的方法,其中,所述利用扩充后的训练集样本数据的基础特征集和辅助特征集训练一种或多种模型得到一种或多种验证模型,作为一组验证模型包括:
将选出的部分测试集样本数据分为多个子部分测试集样本数据;
将训练集样本数据和每一子部分测试集样本数据作为一组训练数据,利用多组训练数据分别对所述一种或多种模型中的每种模型进行训练得到属于每种验证模型的多个子验证模型,将每种验证模型的多个子验证模型作为第一组验证模型。
6.根据权利要求1所述的方法,其中,
所述每条滑动轨迹的样本数据包括滑动轨迹上多个采集点的横坐标、纵坐标和采集时间;
所述多个基础特征集包括第一基础特征集和第二基础特征集;
所述第一基础特征集包括表征整条滑动轨迹的采集点的横坐标移动间隔和移动速度的多个特征;和/或
所述第二基础特征集包括表征滑动轨迹尾部采集点的横坐标移动间隔和移动速度的多个特征;和/或
所述辅助特征集包括第一辅助特征集和/或第二辅助特征集,所述第一辅助特征集包括表征整条滑动轨迹采集点的纵坐标移动间隔、纵坐标移动方向和斜率的特征,第二辅助特征集包括表征整条滑动轨迹采集点的采集时间特征。
7.根据权利要求1所述的方法,其中:所述多条滑动轨迹的样本数据包括人的滑动轨迹的样本数据和机器滑动轨迹的样本数据。
8.一种滑块验证方法,包括:
获取待验证滑动轨迹的轨迹数据;
基于所述轨迹数据得到待验证滑动轨迹的多个特征集合;
利用多组验证模型分别对所述多个特征集合进行验证,得到多个验证结果;
基于所述多个验证结果分析得到最终验证结果;
其中,所述多组验证模型根据如权利要求1至7中任一项所述的训练方法得到。
9.根据权利要求8所述的方法,其中,所述基于所述轨迹数据得到待验证滑动轨迹的多个特征集合包括:
基于所述轨迹数据得到待验证滑动轨迹的多个基础特征集和一个辅助特征集;
其中,每个特征集合包括一个基础特征集和辅助特征集。
10.根据权利要求8所述的方法,其中,在所述利用多组验证模型分别对所述多个特征集合进行验证,得到多个验证结果中,对于其中每个特征集合有如下操作:
将一个特征集合输入对应的一组验证模型的一种或多种验证模型中,得到一种或多种验证模型的验证结果;
在一组验证模型包括多种验证模型的情况下,将所述多种验证模型的验证结果进行取并集融合得到一个验证结果。
11.根据权利要求10所述的方法,其中,所述将一个特征集合输入对应的一组验证模型的一种或多种验证模型,得到一种或多种验证模型的验证结果包括:
将一个特征集合分别输入每种验证模型的多个子验证模型中,得到每种验证模型的多个子验证结果;
将所述多个子验证结果进行取交集融合得到每种验证模型的验证结果。
12.根据权利要求8所述的方法,其中,所述基于所述多个验证结果分析得到最终验证结果包括:
将所述多个验证结果进行取并集融合得到最终验证结果。
13.一种滑块验证模型的训练系统,包括:
第一获取模块,用于获取多条滑动轨迹的样本数据,其中,所述样本数据分为训练集样本数据和测试集样本数据;
第一特征模块,用于基于所述样本数据得到每条滑动轨迹的多个特征集合,其中,每个所述特征集合包括辅助特征集和基础特征集;
模型模块,用于利用所述多个特征集合训练得到多组验证模型,其中,对于其中每个特征集合有如下操作:
利用所述训练集样本数据的基础特征集训练第一模型得到第一初始验证模型;
基于所述第一初始验证模型和所述测试集样本数据选出部分测试集样本数据加入所述训练集样本数据;
利用扩充后的训练集样本数据的基础特征集和辅助特征集训练一种或多种模型得到一种或多种验证模型,作为一组验证模型;
其中,所述多组验证模型用于分别对待验证滑动轨迹的不同特征集合进行验证,以基于多种验证结果得到最终验证结果。
14.一种滑块验证系统,包括:
第二获取模块,用于获取待验证滑动轨迹的轨迹数据;
第二特征模块,用于基于所述轨迹数据得到待验证滑动轨迹的多个特征集合;
验证模块,用于利用多组验证模型分别对所述多个特征集合进行验证,得到多个验证结果;
融合模块,用于基于所述多个验证结果分析得到最终验证结果;
其中,所述多组验证模型根据如权利要求1至7中任一项所述的训练方法得到。
15.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器:
获取待验证滑动轨迹的轨迹数据;
基于所述轨迹数据得到待验证滑动轨迹的多个特征集合;
利用多组验证模型分别对所述多个特征集合进行验证,得到多个验证结果;
基于所述多个验证结果分析得到最终验证结果;
其中,所述多组验证模型根据如权利要求1至7中任一项所述的训练方法得到。
CN201811047750.9A 2018-09-07 2018-09-07 滑块验证的方法和系统及其模型训练方法 Active CN110889103B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811047750.9A CN110889103B (zh) 2018-09-07 2018-09-07 滑块验证的方法和系统及其模型训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811047750.9A CN110889103B (zh) 2018-09-07 2018-09-07 滑块验证的方法和系统及其模型训练方法

Publications (2)

Publication Number Publication Date
CN110889103A CN110889103A (zh) 2020-03-17
CN110889103B true CN110889103B (zh) 2024-04-05

Family

ID=69744866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811047750.9A Active CN110889103B (zh) 2018-09-07 2018-09-07 滑块验证的方法和系统及其模型训练方法

Country Status (1)

Country Link
CN (1) CN110889103B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114912099A (zh) * 2022-05-25 2022-08-16 壹沓科技(上海)有限公司 滑动验证码的验证方法、装置、设备和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914704A (zh) * 2014-03-04 2014-07-09 西安电子科技大学 一种基于半监督SVM和MeanShift的极化SAR图像分类方法
CN107590263A (zh) * 2017-09-22 2018-01-16 辽宁工程技术大学 一种基于多变量决策树模型的分布式大数据分类方法
CN108287989A (zh) * 2018-01-18 2018-07-17 北京科技大学 一种基于轨迹的滑动验证码人机识别方法
CN109033793A (zh) * 2018-07-11 2018-12-18 北京京东金融科技控股有限公司 滑动验证码人机识别方法及装置、电子设备及可读介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7756802B2 (en) * 2007-05-29 2010-07-13 Microsoft Corporation Combiner training and evaluation with random data partition
CN101981446B (zh) * 2008-02-08 2016-03-09 医疗探索公司 用于使用支持向量机分析流式细胞术数据的方法和系统
US8719191B2 (en) * 2010-03-01 2014-05-06 International Business Machines Corporation Training and verification using a correlated boosted entity model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914704A (zh) * 2014-03-04 2014-07-09 西安电子科技大学 一种基于半监督SVM和MeanShift的极化SAR图像分类方法
CN107590263A (zh) * 2017-09-22 2018-01-16 辽宁工程技术大学 一种基于多变量决策树模型的分布式大数据分类方法
CN108287989A (zh) * 2018-01-18 2018-07-17 北京科技大学 一种基于轨迹的滑动验证码人机识别方法
CN109033793A (zh) * 2018-07-11 2018-12-18 北京京东金融科技控股有限公司 滑动验证码人机识别方法及装置、电子设备及可读介质

Also Published As

Publication number Publication date
CN110889103A (zh) 2020-03-17

Similar Documents

Publication Publication Date Title
Mansour et al. Intelligent video anomaly detection and classification using faster RCNN with deep reinforcement learning model
CN109978893B (zh) 图像语义分割网络的训练方法、装置、设备及存储介质
JP6771751B2 (ja) リスク評価方法およびシステム
CN109684803B (zh) 基于手势滑动的人机验证方法
TW201734837A (zh) 一種多重抽樣模型訓練方法及裝置
CN105989268A (zh) 一种人机识别的安全访问方法和系统
CN109299258A (zh) 一种舆情事件检测方法、装置及设备
CN112329816A (zh) 数据分类方法、装置、电子设备和可读存储介质
CN109685104B (zh) 一种识别模型的确定方法和装置
CN108491714A (zh) 验证码的人机识别方法
CN109885597B (zh) 基于机器学习的用户分群处理方法、装置及电子终端
CN107463878A (zh) 基于深度学习的人体行为识别系统
CN107395594A (zh) 一种拖拽验证码的自动识别方法
CN112037038A (zh) 银行信贷风险预测方法及装置
CN110909195A (zh) 基于区块链的图片标注方法、装置及存储介质、服务器
CN106778851A (zh) 基于手机取证数据的社交关系预测系统及其方法
CN109241485A (zh) 一种页面间跳转关系建立方法,及装置
CN115659966A (zh) 基于动态异构图和多级注意力的谣言检测方法及系统
CN114036531A (zh) 一种基于多尺度代码度量的软件安全漏洞检测方法
Wang et al. Automatic identification and location of tunnel lining cracks
CN107657453B (zh) 欺诈数据的识别方法及装置
CN110889103B (zh) 滑块验证的方法和系统及其模型训练方法
Cambria et al. Knowledge graph representation and reasoning
CN111370055A (zh) 内含子保留预测模型建立方法及其预测方法
Bala et al. Use of the multiple imputation strategy to deal with missing data in the ISBSG repository

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
CB02 Change of applicant information

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Daxing Economic and Technological Development Zone, Beijing, 100176

Applicant before: BEIJING JINGDONG FINANCIAL TECHNOLOGY HOLDING Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant