基于图像的CAPTCHA挑战的制作方法

文档序号:15072408发布日期:2018-08-01 00:09阅读:239来源:国知局

本公开一般涉及captcha挑战,尤其涉及利用基于图像的captcha挑战来确定图像特征。



背景技术:

信任是基于web的交互中的资产。例如,为了在与实体的交互中感觉舒适,用户必须相信该实体提供足够的机制来确认和保护她的身份或其他机密信息。此外,提供web资源的实体必须能够阻止企图为了恶意目的而获取web资源的自动攻击。因此,可以区别源于人类的资源请求与自动机器生成的请求的复杂认证机制是确保网络资源免受自动攻击以及发展资源提供者与用户之间必要的信任关系的重要工具。

captcha系统(区分计算机和人类的全自动公开图灵测试)可以提供这种认证机制。captcha系统的一个目标是利用已知人类比自动机器更好地执行任务的情境。因此,作为验证过程的一部分,captcha系统可以提供一种对人类而言可解决而对机器而言一般不可解决的挑战。



技术实现要素:

本公开实施例的方案和优点将在以下描述中部分地给出,或者可从该描述中了解,或者可通过实施例的实践来了解。

本公开的一个示例方案涉及一种确定图像特征的计算机实现的方法。该方法包括通过一个或多个计算装置获得具有未知特征的第一图像。该方法还包括通过一个或多个计算装置在验证挑战中向多个用户装置提供第一图像。验证挑战包括要呈现给每个用户装置的用户的一个或多个指令。所述指令是至少部分地基于第一图像来确定的。该方法还包括通过一个或多个计算装置从多个用户装置的至少一个子集接收对验证挑战的响应。该方法还包括通过一个或多个计算装置至少部分地基于所接收的响应来确定第一图像的未知特征。该方法还包括在通过一个或多个计算装置确定第一图像的未知特征之后,通过一个或多个计算装置至少部分地基于所确定的特征来训练一个或多个机器学习模型。

该方法还可包括以下可选特征。该方法还可包括通过一个或多个计算装置从用户计算装置接收参与验证过程的请求,以及其中响应于接收所述请求而获得一个或多个第一图像。该方法还可包括通过一个或多个计算装置获得具有已知特征的多个第二图像;以及通过一个或多个计算装置在验证挑战中连同一个或多个第一图像一起提供多个第二图像的至少一个子集。至少部分地基于一个或多个机器学习模型,可将一个或多个第一图像的未知特征确定为是未知的,一个或多个机器学习模型被配置为接收一个或多个图像作为输入以及确定一个或多个图像的一个或多个特征作为输出。可以至少部分地基于一个或多个机器学习模型来确定多个第二图像的已知特征。一个或多个图像的一个或多个特征可以与一个或多个图像中描绘的一个或多个项目或对象有关。还可将一个或多个机器学习模型配置为提供指示模型的输出正确的确定性程度的确定性概率。当与一个或多个第一图像相关联的确定性概率低于确定性阈值时,可以确定一个或多个第一图像的未知特征为是未知的。与验证挑战相关联的一个或多个指令可以提示用户与符合标准的第一或第二图像中的一个或多个进行交互。与验证挑战相关联的一个或多个指令可以提示用户与符合标准的一个或多个第一图像的至少一部分进行交互。与验证挑战相关联的一个或多个指令可以提示用户选择一个或多个第一图像中的至少一个的一部分。可以至少部分地基于一个或多个第一图像的未知特征来确定验证挑战。该方法还可包括通过一个或多个计算装置在验证挑战中提供第三图像,第三图像描绘项目或对象,以及其中与验证挑战相关联的一个或多个指令提示用户选择一个或多个第一图像或第二图像的至少一个子集中描绘与第三图像中描绘的项目或对象相同分类的项目或对象的一个或多个图像。该方法还可包括通过一个或多个计算装置至少部分地基于对验证挑战的响应来确定是否验证多个用户装置的每一个。通过一个或多个计算装置确定一个或多个第一图像的未知特征可包括当阈值数量的用户响应指示一个或多个第一图像的特征时,通过一个或多个计算装置推断一个或多个第一图像的未知特征。

根据提供上述方法的示例性方案,本公开的其他示例性方案旨在利用基于图像的验证挑战来确定图像特征的系统、设备、有形、非暂时性计算机可读介质、用户界面、存储器装置和电子装置。

上述方案寻求解决与怎样训练用于图像分类和图像特征确定的机器学习模型相关联的问题。

参照以下描述和所附权利要求,各种实施例的这些和其他特征、方案和优点将变得更好理解。并入本说明书且构成本说明书一部分的附图示出本公开的实施例,并与说明书一起用于解释相关原理。

附图说明

说明书给出针对本领域普通技术人员的实施例的详细讨论,说明书参考附图,其中:

图1示出根据本公开示例实施例的利用基于图像的captcha挑战来确定图像特征的示例系统的概观。

图2-图4示出根据本公开示例实施例的示例captcha挑战。

图5示出根据本公开示例实施例的基于captcha挑战结果来确定图像特征的示例方法的流程图。

图6示出根据本公开示例实施例的验证用户的示例方法的流程图。

图7示出根据本公开示例实施例的示例系统。

具体实施方式

下面将详细参考实施例,附图示出其中的一个或多个示例。通过解释实施例而非限制本公开的方式来提供每个示例。实际上,对于本领域技术人员而言显然的是,在不脱离本公开范围或精神的情况下,可以对实施例进行各种修改和变化。例如,作为一个实施例的一部分示出或描述的特征可以与另一个实施例一起使用,从而给出又一个实施例。因此,希望本公开的多个方案涵盖这些修改和变化。

本公开的示例方案旨在至少部分地以基于图像的验证挑战为基础来确定图像分类。例如,可获得具有一个或多个未知特征的图像,并将其作为验证挑战(例如区分计算机和人类的全自动公开图灵测试(captcha)挑战)的一部分提供给多个用户装置。具体而言,挑战可包括提示用户以指定方式与第一图像交互的一个或多个指令。可从多个用户装置中的每个装置获得对挑战的响应。然后可以至少部分地基于来自多个用户装置的响应来确定第一图像的一个或多个未知特征中的至少一个。一旦确定至少一个未知特征,就可以使用第一图像来训练一个或多个机器学习模型。

更具体而言,用户可尝试通过用户装置访问在线服务或资源。如同本文所使用的,用户装置可以是膝上型计算机、台式计算机、智能电话、平板电脑、可佩戴计算装置或任何其他合适的用户计算装置。为了访问在线服务,可以先要求用户与计算机化的captcha系统交互,以验证用户的人类身份,从而防止“机器人”破坏在线服务。例如,captcha系统可以向用户提供验证挑战,如果用户“通过”挑战,那么用户可以获得对在线服务的访问。在一些实施方式中,验证挑战可以是基于图像的挑战,包括提示用户通过与一个或多个图像交互来解决挑战的指令。

例如,按照所指示的,可以在验证挑战中向用户提供具有一个或多个未知特征的一个或多个第一图像。例如,未知特征可以是与图像相关联的不确定分类。按照这种方式,具有一个或多个未知特征的图像可以是不能在合理的确定性内为其确定图像中描绘的内容的分类的图像。作为另一个示例,未知特征可以与图像中的对象或项目的位置相关联。在一些实施方式中,可以利用一个或多个机器学习模型来确定图像的特征是已知还是未知。例如,可将一个或多个机器学习模型(例如图像分类、对象检测或其他模型)配置为接收图像作为输入,以及识别、归类、分类或者以其他方式检测图像中描绘的一个或多个对象或项目作为输出。可将模型进一步配置为确定与模型的输出为正确的确定性程度相对应的确定性概率。在一些实施方式中,如果图像具有低于阈值的关联确定性概率,那么图像特征可能是未知的。例如,具有一个或多个未知特征的第一图像可以是确定性概率低于阈值的图像。

在一些实施方式中,还可以获得多个第二图像,并且可将多个第二图像的至少一个子集提供给多个用户装置,用于在验证挑战中使用。多个第二图像可以是具有已知特征的图像。例如,多个第二图像可以是关联的确定性概率高于阈值的图像。作为另一个示例,第二图像可以是具有关联的描述性信息的图像,例如元数据或描述图像内容的其他信息。按照这种方式,可以连同验证挑战中的第一图像一起提供多个第二图像的至少一个子集。

验证挑战可以是基于图像的挑战。在一些实施方式中,验证挑战可以与第一图像的未知特征相关联。例如,验证挑战可包括提示用户按照指定方式与第一图像的至少一部分交互的指令。具体而言,指令可以提示用户与符合标准的第一图像的至少一部分进行交互。例如,与验证挑战相关联的指令可以提示用户定位并与描绘特定对象的第一图像的部分交互。作为另一个示例,验证挑战可以提示用户与第一图像或第二图像中的至少一个交互。例如,验证挑战可以提示用户选择描绘特定对象或项目或者与特定类别或分类相关联的所有图像。按照这种方式,可将验证挑战调整为可以使用对于验证挑战的响应来确定或推断未知特征。作为另一个示例,在一些实施方式中,可以连同第一图像和第二图像一起在验证挑战中将参考图像提供给用户。在这种实施方式中,与验证挑战相关联的指令可以提示用户选择第一图像和第二图像的每一个,第一图像和第二图像将来自相同类别或分类的对象或项目描绘为参考图像中描绘的对象或项目。作为另一个示例,验证挑战可包括提示用户从描述图像的类别列表中选择一个或多个类别的一个或多个图像和指令。

可将验证挑战提供给试图获得对一个或多个在线服务的访问的一个或多个用户装置。然后可从用户装置接收对验证挑战的响应。例如,如果验证挑战提示用户选择符合指定标准的一个或多个图像,那么来自用户的响应可包括指示用户所选择的图像的数据。来自用户的响应可用于确定是否应当准许用户装置访问在线服务。例如,如果响应令人满意地完成或解决所选择的挑战,那么计算机化的captcha系统可以验证用户计算装置。作为示例,一旦计算机化的captcha系统已经充分确信用户装置由人类操作(例如,基于对验证挑战的响应),那么计算机化的captcha系统可以向用户计算装置提供验证令牌或证书。然后用户计算装置可将验证令牌提供给与在线服务相关联的资源提供者。相应地,资源提供者可以和计算机化的captcha系统确认验证令牌的有效性。在确认令牌有效性后,资源提供者可将资源提供给用户装置。在一些实施方式中,在确定是否验证用户装置时,用户对验证挑战的响应可能不是决定性的。例如,即使用户正确解决了验证挑战,用户也可能被拒绝(例如未验证)。作为另一个示例,即使用户没有正确解决验证挑战,也可以验证用户。在这种实施方式中,可以使用与用户和/或用户计算装置相关联的一个或多个附加信号(例如结合用户响应)来确定是否验证用户。例如,可以至少部分地基于一个或多个附加信号来验证几乎解决了验证挑战的用户。

对验证挑战的响应可以进一步用于确定或推断第一图像(多个)的未知特征。具体而言,当阈值数量的用户响应指示第一图像(多个)的特征时,可以确定或推断第一图像的未知特征。例如,考虑到验证挑战的用户与第一图像(多个)的交互可以指示图像(多个)中描绘的对象或项目。作为示例,如果基于图像的验证挑战包括提示用户选择描绘老虎的所有图像的指令,那么用户是否响应于验证挑战选择第一图像可以指示第一图像是否描绘老虎。按照这种方式,如果足够的用户(例如超过阈值的很多用户)响应于接收验证挑战而选择第一图像,那么可以推断图像描绘老虎。如果选择第一图像的用户数量低于阈值,那么可以推断第一图像并非描绘老虎。在一些实施方式中,可以至少部分地基于选择图像的用户的百分比来进行推断。作为另一个示例,在验证挑战包括提示用户定位并与描绘特定对象的第一图像的部分交互的指令的实施方式中,用户选择可用于确定对象在第一图像中的位置。

在一些实施方式中,用户对验证挑战的响应可用于确认已知图像。例如,用户对验证挑战的响应可用于验证已知图像的已知特征是正确的。按照这种方式,如果与已知图像相关联的足够用户响应指示已知特征不正确,那么可以从已知图像的集合中去除该图像。作为另一个示例,可以至少部分地基于用户响应来调整或改进已知特征。

一旦确定了未知特征,就可以利用第一图像(多个)来训练一个或多个机器学习模型。具体而言,就可将指示第一图像(多个)的数据添加到用于训练模型的训练数据的语料库中。例如,机器学习模型可用于图像识别应用、对象检测应用和/或其他合适的应用。具体而言,可以利用一组训练数据来训练机器学习模型。这种训练数据可包括指示具有已知特征的一个或多个图像的数据(例如矢量数据或其他数据)。例如,训练数据可包括指示一个或多个图像的数据,图像的内容是已知的。按照这种方式,训练数据可包括多个输入/输出对,其中输入是指示图像的矢量数据,而输出是指示图像内容的数据(例如图像中描述的一个或多个项目)。可以至少部分地基于训练数据的输入/输出对来训练机器学习模型。例如,可将与图像相关联的矢量数据输入机器学习模型(多个),并且可将模型的输出与训练数据的输出相比较。可以至少部分地基于比较结果来调整或改进模型(多个)。

下面参考附图更详细地讨论本公开的示例方案。例如,图1示出用于提供基于图像的验证挑战的示例系统100的概观。具体而言,系统100可包括计算机化的captcha系统102、机器学习网络104和资源提供者106。在一些实施方式中,captcha系统102、机器学习网络104和/或资源提供者106可通过网络相互通信。

可利用一个或多个计算装置(例如一个或多个服务器)来实现captcha系统102。可将captcha系统102配置为确定验证captcha挑战并响应于来自用户装置的验证请求向用户装置提供这种挑战。在一些实施方式中,验证挑战可以是基于图像的captcha挑战。例如,captcha挑战可包括向用户提供一个或多个已知和/或未知的图像。这种基于图像的挑战可具有相关指令,提示用户通过与一个或多个图像交互来解决挑战。例如,如上所指示的,挑战可包括提示用户选择所有呈现的匹配或者属于特定类别或分类的图像的指令。作为另一个示例,挑战可包括提示用户选择或者以其他方式与描绘特定项目、对象、动物等等的图像的部分交互的指令。

如图所示,captcha系统102可以从图像数据库108访问图像数据。图像数据库108可包括要在一个或多个验证挑战中使用的多个图像。在示例实施方式中,图像数据库108可以是位于单个位置的单个数据库,或者可包括分布在多个位置的多个数据库。具体而言,图像数据库108可包括已知图像和未知图像。已知图像可包括具有一个或多个已知特征的图像。例如,已知图像可以是已经被分类或归类的图像。在一些实施方式中,可以至少部分地基于与图像相关联的元数据或其他描述性信息来确定一个或多个已知特征。在一些实施方式中,可以至少部分地基于机器学习网络104来确定一个或多个已知特征。例如,可将机器学习网络104用于分类、归类、识别或者以其他方式检测在图像中描绘的一个或多个对象。

图像数据库108还可包括具有一个或多个未知特征的一个或多个未知图像。类似于已知图像,至少部分地基于缺少元数据或与未知特征相关联的其他描述性信息,可将未知特征(多个)确定为未知的。作为另一个示例,至少部分地基于机器学习网络104,可将未知特征(多个)确定为未知的。

在一些实施方式中,可以相对于验证挑战来确定已知的和/或未知的图像。例如,在与验证挑战相关联的指令提示用户选择描绘老虎的每个图像的实施方式中,已知图像可包括来自图像数据库108的一个或多个图像,这些图像已知为描绘老虎和/或已知为并非描绘老虎。按照这种方式,未知图像(多个)可包括图像中描绘的内容未知的图像。在一些实施方式中,然后可以利用验证挑战来确定或者推断未知图像(多个)中描绘的内容。

机器学习网络104可包括一个或多个机器学习模型,例如一个或多个神经网络。例如,可将一个或多个模型配置为分类图像、和/或检测图像中描绘的对象。按照这种方式,可将机器学习网络104配置为接收图像作为输入,以及提供图像分类作为输出。在一些实施方式中,还可将机器学习网络104配置为提供确定性概率或者与指定置信度的输出相关联的其他指标,用于输出。在一些实施方式中,可将机器学习网络104配置为与图像数据库108通信,以分类与图像数据库108相关联的一个或多个图像。按照这种方式,在一些实施方式中,未知图像可以是关联确定性概率低于阈值的图像,而已知图像可以是关联确定性概率高于阈值的图像。

可将机器学习网络104进一步配置为训练一个或多个机器学习模型。例如,可以使用各种合适的算法,以至少部分地基于一组训练数据来改进或调整机器学习模型。按照这种方式,可将训练数据用于改善机器学习模型。应当理解,虽然将机器学习网络104示出为与captcha系统102分离且不同的系统,但是在一些实施方式中,可以在captcha系统102内实现机器学习网络104。

系统100还包括资源提供者106。资源提供者106可以与在线或其他服务相关联。资源提供者106可以从用户装置接收访问在线服务的请求。响应于该请求,资源提供者106可以与captcha系统102协调,以向用户装置提供验证挑战。按照这种方式,captcha系统102可以确定验证挑战并向用户提供验证挑战。在一些实施方式中,captcha系统102可以至少部分地基于未知图像来确定验证挑战。例如,captcha系统102可以调整验证挑战,从而可将用户对验证挑战的响应用作未知图像的分类或归类的证据。在一些实施方式中,可以至少部分地基于该请求是由人类而非机器人提供的置信度来确定验证挑战。例如,可以至少部分地基于置信度来调整验证挑战的难度。

可将用户对验证挑战的响应用于确定未知图像(多个)的未知特征(多个)。例如,可将用户响应用作与未知图像分类相关的证据。例如,在验证挑战包括选择描绘老虎的所有图像的指令的实施方式中,用户是否选择未知图像可以指示未知图像是否描绘老虎。按照这种方式,可以在一个或多个验证挑战中向多个用户呈现未知图像,并且可以使用来自用户对一个或多个验证挑战的响应来推断图像的未知特征。例如,如果足够的用户(例如足够高的用户百分比和/或超过阈值的很多用户)响应于指令用户选择包含老虎的图像的验证挑战而选择未知图像,那么就可以推断未知图像描绘老虎。

一旦可以通过合理的确定性推断未知特征,就可以对图像进行注释,以指示图像的分类。然后可将图像包括在用于训练机器学习网络104的机器学习模型(多个)的训练数据集中。按照这种方式,可将图像用于改善模型的分类能力。在一些实施方式中,还可将注释图像用于通过captcha系统102确定的将来验证挑战。例如,随后可将注释图像用作一个或多个验证挑战中的已知图像。

图2描绘根据本公开示例实施例的基于示例图像的captcha挑战110。如图所示,captcha挑战110包括指令112以及已知为描绘狗的关联参考图像114。指令112提示用户选择“看起来像”参考图像114的所有图像。captcha挑战110还包括已知图像116和否定性已知图像118。已知图像116是已知为描述狗的图像,否定性已知图像118是已知为不描绘狗的图像。虽然每个否定性已知图像118都描绘猫,但是应当理解,否定性已知图像可以描绘一个或多个其他对象、项目、植物、动物、人类等等。captcha挑战110还描绘未知图像120。未知图像120可以是图像内容未知的图像。如图2所示,未知图像120描绘蜥蜴。

如上所述,在接收captcha挑战110时,用户可以遵循指令并选择在用户看来“看起来像”参考图像114的一个或多个图像。用户的选择可以确定是否准许用户访问资源提供者提供的资源或服务。例如,如果用户“通过”挑战,那么可以准许用户访问资源或服务。例如,如果用户选择正确的图像组合,或接近正确的图像组合,那么用户可以通过挑战。在captcha挑战110中,如果用户选择每个已知图像116并且没有否定性已知图像118,那么用户将通过。在一些实施方式中,如果用户没有“通过”,那么可以向用户呈现不同的captcha挑战。

因为未知图像120没有描绘狗,因此不可能响应该验证挑战的大多数人类用户将响应于captcha挑战110而选择未知图像120。按照这种方式,可以推断未知图像120不描绘狗。类似地,在未知图像确实描绘狗的情况下,很可能大多数人类用户将响应于captcha挑战而选择未知图像。按照这种方式,可以推断未知图像确实描绘狗。

一旦推断未知图像120没有描绘狗,那么在随后的验证挑战中可以使用它。例如,在具有不描绘狗的参考图像的验证挑战中,可将其用作未知图像。在一些实施方式中,在具有描绘狗的参考图像的验证挑战中,随后可将未知图像120用作否定性已知图像。

图3和图4示出根据本公开示例实施例的附加示例基于图像的captcha挑战。例如,图3描绘具有描绘饮料的参考图像124的captcha挑战122。指令提示用户选择与参考图像124相关联的一个或多个合适的类别。可以至少部分地基于用户选择做出关于参考图像124的一个或多个推断和/或确认。图4示出具有描述场景的参考图像128的captcha挑战126。如图所示,参考图像128被划分成多个区域(例如方块)。captcha挑战126还包括提示用户“选择具有企业名称的所有方块”的指令。按照这种方式,可以基于用户响应对参考图像128中的企业名称的位置做出一个或多个推断。例如,大多数人类用户很可能会响应指令选择图像方块130和132。按照这种方式,然后可以推断,在图像方块130和132中,企业名称位于参考图像128的左下部。

图5示出根据本公开的示例实施例利用计算机化的captcha系统确定一个或多个图像特征的示例方法(200)的流程图。方法(200)可通过一个或多个计算装置(例如图7所示的一个或多个计算装置)来实现。此外,图5示出为了说明和讨论的目的按照特定顺序执行的步骤。利用本文提供的公开内容,本领域普通技术人员应当理解,可通过各种方式对本文讨论的任何方法的步骤进行调整、重置、扩展、省略或修改而不脱离本公开的范围。

在(202),方法(200)可包括接收参与验证过程的请求。例如,该请求可通过寻求获得对在线服务或资源的访问的用户操作的用户装置来提供。在(204),方法(200)可包括获得具有未知特征的第一图像。在一些实施方式中,可获得具有未知特征的一个或多个第一图像。如上所述,未知特征可以与图像中描绘的内容相关联。例如,未知特征可以与图像内容的分类或类别相关联。作为另一个示例,未知特征可以与图像中描绘的对象的检测相关联。

在一些实施方式中,可以至少部分地基于一个或多个机器学习模型将未知特征确定为未知。例如,如果机器学习模型不能以合理的确定性将图像分类或归类,那么可将图像识别为未知图像。具体而言,如果模型为图像提供低于阈值的确定性概率,那么可将图像识别为具有未知特征的未知图像。作为另一个示例,如果缺少足够的元数据或与特征相关联的其他描述性数据,那么可将未知特征确定为未知。

在(206),方法(200)可包括获得具有已知特征的多个第二图像。类似于第一图像,可以至少部分地基于机器学习模型和/或与图像相关联的元数据来确定第二图像的已知特征。在一些实施方式中,可以至少部分地基于第一图像和/或第一图像(多个)的未知特征来选择第二图像。

在(208),方法(200)可包括至少部分基于第一图像和第二图像来生成captcha挑战。例如,captcha挑战可以连同提示用户与图像(多个)交互的指令一起,包括第一图像和/或多个第二图像的至少一个子集。如上所述,在一些实施方式中,可以至少部分地基于第一图像的未知特征来选择和/或生成挑战。

在(210),方法(200)可包括向多个用户装置发送captcha挑战。例如,可将captcha挑战发送给寻求获得对与一个或多个资源提供者相关联的一个或多个在线服务或资源的访问的多个用户装置。

在(212),方法(200)可包括从多个用户装置的至少一个子集接收对captcha挑战的一个或多个响应。响应可包括指示用户与captcha挑战交互的数据。在一些实施方式中,可以利用这些响应来确定是否准许用户访问在线服务或资源。

在(214),方法(200)可包括至少部分地基于用户响应来确定第一图像的未知特征。例如,可将用户的选择和/或与captcha挑战中提供的图像的交互用作与第一图像相关联的一个或多个特征的证据。例如,可以根据在captcha挑战中提供的指令来分析用户响应,以确定第一图像的一个或多个特征。按照这种方式,如果足够的用户响应指示第一图像的特征,那么可以推断该特征。例如,如果足够的用户响应指令用户选择描绘老虎的每个图像的captcha挑战而选择第一图像,那么可以推断第一图像描绘老虎。

在(216),方法(200)可包括至少部分地基于所确定的第一图像的特征来训练一个或多个机器学习模型。例如,训练一个或多个机器学习模型可包括将指示图像的数据和确定特征提供给用于训练模型的一组训练数据,从而将指示图像的数据和确定的特征添加到训练数据集。按照这种方式,可将指示第一图像的数据输入模型(多个)中,并且可将模型(多个)的输出与确定特征相比较。然后可以至少部分地基于比较结果来调整或者改进模型(多个)。

在一些实施方式中,然后可将第一图像用于随后的验证挑战。例如,在后续的captcha挑战中可将第一图像用作已知图像。按照这种方式,可将第一图像添加到可用于captcha挑战的一组已知图像中,并将其从一组未知图像中去除。

图6示出根据本公开示例实施例用于验证用户装置的示例方法(300)的流程图。方法(300)可通过一个或多个计算装置(例如图7所示的一个或多个计算装置)来实现。此外,图6示出为了说明和讨论的目的按照特定顺序执行的步骤。利用本文提供的公开内容,本领域普通技术人员应当理解,可通过各种方式对本文讨论的任何方法的步骤进行调整、重置、扩展、省略或修改而不脱离本公开的范围。

在(302),用户装置可以从资源提供者请求资源或对在线服务的访问。在(304),资源提供者可以从用户装置接收请求。

在(306),资源提供者可以指令用户装置直接通过计算机化的captcha系统参与验证过程。在(308),用户装置可以从资源提供者接收指令,从而直接与计算机化的captcha系统衔接。作为示例,通过重定向用户装置的浏览器,资源提供者可在(306)指令用户装置,使其直接与计算机化的captcha系统连接并开始验证过程。

作为另一个示例,在(306),资源提供者可以向用户装置提供客户端脚本,在通过用户装置执行时,客户端脚本使得用户装置直接与计算机化的captcha系统衔接。例如,客户端脚本可包括在内联框架、嵌入式对象、门户组件或其他嵌入式应用或小组件中。在一些实施方式中,客户端脚本可包括在从计算机化的captcha系统提供给资源提供者的插件中。此外,在一些实施方式中,在(306),资源提供者可以向用户装置提供向计算机化的captcha系统识别资源提供者的公钥。

在(310),用户装置可以直接向计算机化的captcha系统发送参与验证过程的请求。在(312),计算机化的captcha系统可以接收来自用户装置的请求。

作为示例,可以根据与计算机化的captcha系统相关联的应用编程接口来格式化在(310)发送的请求。例如,作为在(306)执行提供给用户装置的客户端脚本的结果,可以发送该请求。此外,在一些实施方式中,在(310)发送的请求可包括与资源提供者相关联的公钥。

在(314),计算机化的captcha系统可获得具有一个或多个未知图像特征的一个或多个第一图像。例如,第一个图像可以是不能或者尚未在合理的确定性内分类或归类的图像。作为另一个示例,第一图像可以是不能在合理的确定性内确定项目、对象、植物、动物、人类等等的位置的图像。如上所述,至少部分地基于与图像相关联的元数据或其他描述性信息和/或一个或多个机器学习模型,可以确定未知图像为未知。

在(316),至少部分地基于第一图像和/或第一图像(多个)的未知特征,计算机化的captcha系统可以选择captcha挑战,并将所选择的挑战提供给用户装置。例如,计算机化的captcha系统可包括具有不同格式、难度、形状、大小、文件格式、编程语言或其他可变参数的captcha挑战的数据库。例如,在一些实施方式中,captcha挑战可以是基于图像的。在一些实施方式中,选择captcha挑战可包括获得具有已知图像特征的一个或多个第二图像。如上所述,可以至少部分地基于与captcha挑战相关联的指令和/或第一图像(多个)来选择第二图像。

作为示例,对于在(314)获得的第一图像中描述的内容未知的情况,可以选择captcha挑战来确定图像的分类。例如,captcha挑战可包括多个已知图像,并且指令可以提示用户选择共享特定共同特征的每个图像。如上所述,可以调整captcha挑战,从而可将用户对captcha挑战的响应用作确定和/或缩小第一图像(多个)的特征的证据。作为另一个示例,如果第一图像的未知特征与图像中的对象的未知位置相关联,那么captcha挑战可以提示用户与描绘该对象的图像的部分(多个)交互(例如选择、突出显示、注释或其他交互)。

在一些实施方式中,在(316),可以基于各种其他合适因素来选择挑战格式、挑战类型或挑战的其他属性。例如,在用户装置是移动装置(例如智能电话或平板电脑)的情况下,在(316),计算机化的captcha系统可以选择为移动装置设计的captcha挑战。

在(318),用户装置可以从计算机化的captcha系统接收captcha挑战,并将其呈现给用户(例如在用户装置的显示器上)。在(320),用户装置可以接收来自用户的一个或多个响应,并将响应(多个)发送给计算机化的captcha系统。在(322),计算机化的captcha系统可以接收来自用户装置的响应。

在(324),如果符合一个或多个验证条件,那么计算机化的captcha系统可以生成验证令牌并将其提供给用户装置。在(326),用户装置可以从计算机化的captcha系统接收验证令牌。

作为示例,如果在(322)接收的响应正确地解决或者以其他方式符合在(316)提供的挑战,那么计算机化的captcha系统可以在(324)生成验证令牌并将其提供给用户装置。验证令牌可以是认证证书或其他安全或认证装置或机制。例如,在一些实施方式中,验证令牌可包括用户装置标识符或其他信息的散列,或者可包含资源提供者的公钥。

应当理解,在一些实施方式中,可将步骤(310)-(326)视为验证过程。此外,在一些实施方式中,步骤(310)-(326)可经由包括在资源提供者的网站中的内联框架、嵌入式对象、门户组件或其他嵌入式小组件或应用来发生。

在(328),用户装置可以向资源提供者提供验证令牌。在(330),资源提供者可以从用户装置接收验证令牌。

在(332),资源提供者可以将验证令牌发送给计算机化的captcha系统。在一些实施方式中,在(332),资源提供者还可以将其私钥连同验证令牌一起发送给计算机化的captcha系统。

如果验证令牌有效,那么在(334),计算机化的captcha系统可以向资源提供者提供验证令牌的确认。如果验证令牌无效或已经被篡改,那么计算机化的captcha系统可通知资源提供者验证令牌无效。

在(336),资源提供者可以从计算机化的captcha系统接收验证令牌的确认。响应于在(336)接收确认,在(338),资源提供者可以向用户装置提供对资源的访问。在(340),用户装置可以访问资源。

图7示出可用于实现根据本公开的示例方面的方法和系统的示例计算系统400。系统400可以利用客户端-服务器体系结构来实现,其包括通过网络440与一个或多个客户端装置430通信的服务器410。系统400可以利用其他合适的体系结构(例如单个计算装置)来实现。

系统400包括服务器410,例如web服务器。服务器410可以托管被配置为准许或拒绝对在线服务或资源的访问的计算机化的captcha系统。服务器410可以利用任何合适的计算装置(多个)来实现。服务器410可以具有一个或多个处理器412以及一个或多个存储器装置414。服务器410还可包括网络接口,用于通过网络440与一个或多个客户端装置430通信。网络接口可包括用于与一个或多个网络进行接口连接的任何合适组件,例如包括发射器、接收器、端口、控制器、天线或其他合适组件。

一个或多个处理器412可包括任何合适的处理装置,例如微处理器、微控制器、集成电路、逻辑器件或其他合适的处理装置。一个或多个存储器装置414可包括一个或多个计算机可读介质,包括但不限于非暂时性计算机可读介质、ram、rom、硬盘驱动器、闪存驱动器或其他存储器装置。一个或多个存储器装置414可以存储通过一个或多个处理器412可访问的信息,包括可通过一个或多个处理器412执行的计算机可读指令416。指令416可以是任何指令集,当通过一个或多个处理器412执行时,指令集使得一个或多个处理器412执行操作。例如,可通过一个或多个处理器412执行指令416,以实现例如挑战生成器420、用户验证器422和图像分类器424。例如,可将挑战生成器420配置为获得一个或多个未知图像和/或一个或多个已知图像,以及至少部分地基于图像来生成captcha挑战。可将用户验证器422配置为接收用户对captcha挑战的响应以及至少部分地基于响应来确定是否准许用户访问。可将图像分类器424配置为至少部分地基于用户响应来确定未知图像的一个或多个特征,以及将图像和确定的特征提供给机器学习网络450。

如图7所示,一个或多个存储器装置414还可以存储数据418,数据418可通过一个或多个处理器412来检索、操纵、创建或存储。数据418可包括例如图像数据、挑战数据和其他数据。可将数据418存储在一个或多个数据库中。一个或多个数据库可通过高带宽lan或wan连接到服务器410,或者也可通过网络440连接到服务器410。可以拆分一个或多个数据库,使其位于多个地点。

服务器410可通过网络440与一个或多个客户端装置430交换数据。虽然图7中只示出一个客户端装置430,但是可通过网络440将任何数量的客户端装置430连接到服务器410。每个客户端装置430可以是任何合适类型的计算装置,例如通用计算机、专用计算机、膝上型计算机、台式计算机、移动装置、导航系统、智能电话、平板电脑、可佩戴计算装置、具有一个或多个处理器的显示器或其他合适的计算装置。

类似于服务器410,客户端装置430可包括一个或多个处理器(多个)432和存储器434。一个或多个处理器(多个)432可包括一个或多个中央处理单元(cpu)、专用于高效渲染图像或进行其他专业计算的图形处理单元(gpu)、和/或其他处理装置。存储器434可包括一个或多个计算机可读介质并且可存储通过一个或多个处理器432可访问的信息,包括可通过一个或多个处理器432执行的指令436以及数据438。例如,存储器434可以存储指令436,用于实现用户界面模块,用户界面模块用于显示根据本公开的示例方面的captcha挑战。

图7的客户端装置430可包括用于向用户提供以及从用户接收信息的各种输入/输出装置,例如触摸屏、触摸板、数据输入键、扬声器和/或适用于语音识别的麦克风。例如,根据本公开的示例方面,客户端装置430可具有显示装置435,用于呈现显示语义地名的用户界面。

客户端装置430还可包括网络接口,用于通过网络440与一个或多个远程计算装置(例如服务器410)通信。网络接口可包括用于与一个或多个网络进行接口连接的任何合适组件,例如包括发射器、接收器、端口、控制器、天线或其他合适组件。

网络440可以是任何类型的通信网络,例如局域网(例如内联网)、广域网(例如互联网)、蜂窝网络或它们的一些组合。网络440还可包括客户端装置430和服务器410之间的直接连接。通常,服务器410和客户端装置430之间的通信可利用各种通信协议(例如tcp/ip、http、smtp、ftp)、编码或格式(例如html、xml)和/或保护方案(例如vpn、securehttp、ssl),经由使用任何类型的有线和/或无线连接的网络接口来进行。

服务器410还可以与一个或多个机器学习网络(例如机器学习网络450)交换数据。类似于服务器410和客户端装置430,机器学习网络可包括一个或多个处理器(多个)452和存储器454。一个或多个处理器(多个)452可包括一个或多个中央处理单元(cpu)和/或其他处理装置。存储器454可包括一个或多个计算机可读介质并且可存储通过一个或多个处理器452可访问的信息,包括可通过一个或多个处理器452执行的指令456以及数据458。例如,存储器454可以存储指令456,用于实现模型训练器,模型训练器被配置为训练一个或多个机器学习模型。数据458可包括一个或多个模型和训练数据。机器学习网络450还可包括用于通过网络440与一个或多个远程计算装置(例如服务器410)通信的网络接口。

本文所讨论的技术参考了服务器、数据库、软件应用和其他基于计算机的系统,以及采取的动作和往来于这些系统的信息。本领域普通技术人员应当理解,基于计算机的系统的固有灵活性允许组件之间任务和功能的各种可能配置、组合和划分。例如,本文讨论的服务器进程可以利用单个服务器或组合工作的多个服务器来实现。数据库和应用可以在单个系统上实现,或者分布在多个系统上。分布式组件可以按顺序操作或并行操作。

虽然已经关于本发明的具体示例实施例详细描述了本主题,但是应当理解,本领域技术人员在获得对前述内容的理解时可以容易地产生这些实施例的改变、变化和等同物。因此,通过示例而非限制的方式给出本公开的范围,并且本主题公开不排除对于本领域普通技术人员而言显而易见的对于本主题的这些修改、变化和/或添加的包含。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1