异常操作的确定方法和装置、存储介质、电子装置与流程

文档序号:15616096发布日期:2018-10-09 21:25阅读:183来源:国知局

本发明涉及互联网领域,具体而言,涉及一种异常操作的确定方法和装置、存储介质、电子装置。



背景技术:

网络游戏是以互联网为传输媒介来实现娱乐、休闲、交流和取得虚拟成就的在线游戏。游戏玩家可以通过运行客户端程序登录到游戏中,由游戏提供者提供一个游戏虚拟场景,而玩家们可在这个虚拟场景中相对自由和开放地进行游戏操作,此处的“相对自由和开放地进行游戏操作”是指执行游戏规则所允许的操作。外挂是指利用电脑技术针对一个或多个网络游戏,用来改变游戏中的部分程序而制作成的作弊程序,以便玩家们可在这个虚拟场景中执行游戏规则所不允许的操作(即异常操作),外挂严重破坏了游戏数据的真实性、准确性和公平性。

面对外挂泛滥的局面,传统的反外挂方式并不能直接检测异常操作,而是为网络传输数据加密,网络传输数据加密是指对游戏数据在传输的过程中进行加密,但为了保证游戏运行流畅,数据加密不宜采用高安全性能的复杂加密算法,但这也导致了加密数据容易被分析、伪造,加之网络游戏的客户端存在被反编译的可能,故而网络传输数据加密的方式容易被破解。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种异常操作的确定方法和装置、存储介质、电子装置,以至少解决相关技术中不能检测虚拟场景中的异常行为的技术问题。

根据本发明实施例的一个方面,提供了一种异常操作的确定方法,包括:获取目标图像,目标图像为目标客户端上显示的虚拟场景的图像,目标客户端用于控制在虚拟场景中参与目标任务的第一对象;在目标图像中识别出第二对象和第三对象,第二对象为在虚拟场景中参与目标任务、且允许被第一对象攻击的对象,第三对象用于在虚拟场景中阻止第二对象出现在第一对象的可视范围内;基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作。

根据本发明实施例的另一方面,还提供了一种异常操作的确定装置,包括:获取单元,用于获取目标图像,目标图像为目标客户端上显示的虚拟场景的图像,目标客户端用于控制在虚拟场景中参与目标任务的第一对象;识别单元,用于在目标图像中识别出第二对象和第三对象,第二对象为在虚拟场景中参与目标任务、且允许被第一对象攻击的对象,第三对象用于在虚拟场景中阻止第二对象出现在第一对象的可视范围内;确定单元,用于基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作。

根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。

根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。

在本发明实施例中,在需要判定第一对象在参与目标任务的过程中是否存在异常操作时,获取目标图像,目标图像为目标客户端上显示的虚拟场景的图像,目标客户端用于控制在虚拟场景中参与目标任务的第一对象;在目标图像中识别出第二对象和第三对象,第二对象为在虚拟场景中参与目标任务、且允许被第一对象攻击的对象,第三对象用于在虚拟场景中阻止第二对象出现在第一对象的可视范围内;基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作,可以解决相关技术中不能检测虚拟场景中的异常行为的技术问题,进而达到检测出虚拟场景中的异常行为的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的异常操作的确定方法的硬件环境的示意图;

图2是根据本发明实施例的一种可选的异常操作的确定方法的流程图;

图3是根据本发明实施例的一种可选的虚拟场景的示意图;

图4是根据本发明实施例的一种可选的正样本图像的示意图;

图5是根据本发明实施例的一种可选的负样本图像的示意图;

图6是根据本发明实施例的一种可选的神经网络模型的示意图;

图7是根据本发明实施例的一种可选的游戏图像的示意图;

图8是根据本发明实施例的一种可选的异常操作的确定方法的流程图;

图9是根据本发明实施例的一种可选的异常操作的确定装置的示意图;

以及

图10是根据本发明实施例的一种终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:

3d游戏:是以三维计算机图形为基础制作的立体电子游戏,包括但不限于多人在线联机的网络3d游戏、单人进行游戏的单人3d游戏,可基于3d游戏系统建立的虚拟现实游戏系统实现,对平台具有通用适用属性,如游戏主机平台、手机游戏平台、pc端游戏平台内的3d游戏都属于3d游戏。

第一人称射击类游戏fps(first-personshootinggame),第一人称射击游戏属于动作类游戏act的一个分支,顾名思义,第一人称视角射击游戏就是以玩家的主观视角来进行射击游戏。

根据本发明实施例的一方面,提供了一种异常操作的确定方法的方法实施例。

可选地,在本实施例中,上述对象的控制方法可以应用于如图1所示的由服务器101和终端103所构成的硬件环境中。如图1所示,服务器101通过网络与终端103进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端103并不限定于pc、手机、平板电脑等。图2是根据本发明实施例的一种可选的异常操作的确定方法的流程图,如图2所示,该方法可以包括以下步骤:

步骤s202,在需要判定第一对象在参与目标任务的过程中是否存在异常操作时,服务器可获取目标图像,目标图像为目标客户端上显示的虚拟场景的图像,目标客户端用于控制在虚拟场景中参与目标任务的第一对象。

上述的目标客户端为目标应用的客户端,虚拟场景即目标应用提供的虚拟场景,第一对象、第二对象以及第三对象即虚拟场景中的对象,如医学的虚拟场景中对象(如人体结构、疾病特征)等,游戏应用的虚拟场景中的游戏角色、宠物、场景对象(如动植物、障碍物、建筑物)等,军事模拟的虚拟场景中的军事人员、军事设备等,工业仿真的虚拟场景中的对象等。

上述的异常操作是相对于正常操作而言的,正常操作是指在虚拟场景中执行的被目标应用所允许的操作,以游戏应用为例,游戏角色仅能看到一定视距(如200米)范围内的其他角色、当出现障碍物时位于障碍物的相对于游戏角色另一侧的视线被遮挡、所使用的射击武器的子弹是有限的、不能穿越建筑物和树木等障碍物等,反之,异常操作就是游戏角色能看到视距外的其他角色、当出现障碍物时位于障碍物的相对于游戏角色另一侧的内容仍然可被该游戏角色看见、所使用的射击武器的子弹是无限的、能穿越建筑物和树木等障碍物等。

步骤s204,服务器在目标图像中识别出第二对象和第三对象,第二对象为在虚拟场景中参与目标任务、且允许被第一对象攻击的对象,第三对象用于在虚拟场景中阻止第二对象出现在第一对象的可视范围内。

上述的目标任务为在虚拟场景中执行的任务,如游戏场景中的游戏任务等、医学虚拟场景中的手术任务等、军事虚拟场景中的军事任务等、工业仿真虚拟场景中的工业仿真任务等。

步骤s206,服务器基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作。

如图3所示,上述的第二对象302可以为虚拟场景中的非玩家控制角色npc(nonplayercharacter)或者玩家角色。第三对象303可用于在虚拟场景中阻止第二对象302出现在第一对象301的可视范围内,意即,在虚拟场景中,目标应用所规定的正常操作是第三对象303用于遮挡第一对象的视距,如图3中,第三对象303将空间分成两个部分,一部分是相对于第一对象的另一侧(如图3中第三对象右侧)的空间304,这部分空间的右侧边界面可以向右无线延伸,这部分空间由于被第三对象遮挡,故对第一对象不可见,除这部分以外的空间为即另一部分。

当第二对象被第三对象遮挡时,第二对象是不应该出现在第一对象的可视范围内,即目标图像内,故对于被遮挡的第二对象,可以根据第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作,换言之,当第二对象被第三对象遮挡时,若第二对象出现在了第一对象的可视范围内,则被视为是异常操作。

在上述实施例中,以本发明实施例的对象的控制方法为服务器101来执行为例进行说明,本申请的方法也可以由终端103来执行,还可以是由服务器101和终端103共同执行。其中,终端103执行本发明实施例的对象的控制方法也可以是由安装在其上的客户端来执行。

通过上述步骤s202至步骤s206,在需要判定第一对象在参与目标任务的过程中是否存在异常操作时,获取目标图像,目标图像为目标客户端上显示的虚拟场景的图像,在目标图像中识别出第二对象和第三对象,并基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作,可以解决相关技术中不能检测虚拟场景中的异常行为的技术问题,进而达到检测出虚拟场景中的异常行为的技术效果。

在步骤s202提供的技术方案中,在需要判定第一对象在参与目标任务的过程中是否存在异常操作时,可获取目标图像。

在一种可选的实施例中,可以在客户端上预埋截屏逻辑,由客户端在运行过程中对目标客户端上显示的虚拟场景的图像(如游戏图像)进行截屏,并发送给服务器。

在步骤s204提供的技术方案中,在目标图像中识别出第二对象和第三对象这一方案可以通过如下方式实现:通过目标模型识别出目标图像中的第一对象和第二对象,目标模型为用于通过特征匹配识别出目标图像中的第一对象和第二对象的卷积神经网络模型,第二对象为在虚拟场景中参与目标任务、且允许被第一对象攻击的对象,第三对象用于在虚拟场景中阻止第二对象出现在第一对象的可视范围内。

(1)关于对目标模型的训练

在通过目标模型识别出目标图像中的第一对象和第二对象之前,可以预先训练好目标模型:

步骤1,数据标记,获取正样本集合和负样本集合,正样本集合中包括的训练图像为存在异常操作的图像,如图4所示的墙面有第二对象302的图像,所采用的标记为“异常操作”,负样本集合中包括的训练图像为正常操作的图像,如图5所示的墙面无第二对象302的图像,所采用的标记为“正常操作”。

例如,对3w张fps游戏的第一人称图像进了一系列的预处理,包括但不局限于角度摆正、光照标准化、正常缩放等中一种或多种处理,得到了第一视角标准的图像,选取的图像大小是256*256(包括边缘的图像),然后剪接出224*224的大小(即图像的实际大小)。

步骤2,利用上述正样本集合和负样本集合对原始模型(初始的卷积神经网络模型)进行训练,以初始化原始模型中各个节点的权重参数,得到中间模型。例如,网络的输入是224*224的图像,保持图像的上述比例关系,并将最小的一边缩放到与网络的输入大小一致,然后从中间截取一部分的图像。

步骤3,利用验证数据(未标记的图像)对中间模型进行测试,如果测试准确率达到某阈值(如90%、99%)则认为模型已经训练好,可将此中间模型作为最终的目标模型,否则认为中间模型欠拟合,继续训练,但是要防止出现过拟合。

(2)关于目标模型的使用

本申请的上述方法从软件上可以分为三个部分(或称为三个软件模型),下面对其作用进行逐一描述。

软件模块一,图像预处理模块

在通过目标模型识别出目标图像中的第一对象和第二对象时,可通过图像预处理模块实现对目标图像的预处理,以便将经过预处理的目标图像作为目标模型的输入,预处理包括将目标图像处理的长度处理为第一阈值、并将目标图像的宽度处理为第二阈值。

软件模块二,目标识别和语义分割模块

可选地,目标识别和语义分割模块可以通过faster-rcnn和fcn算法实现。

在通过目标模型识别出目标图像中的第一对象和第二对象时,目标识别和语义分割模块可用于将目标图像中图像区域的图像特征与目标特征进行匹配,目标特征包括目标模型学习到的第一类对象的特征和第二类对象的特征,第一类对象包括第一对象和第二对象,第二类对象包括第三对象。

可选地,目标模型包括第一网络(如faster-rcnn网络)和第二网络(如fcn网络),通过目标模型将目标图像中图像区域的图像特征与目标特征进行匹配,可通过第一网络识别出目标图像中的第一区域,第一区域为目标图像中第二对象所在的图像区域;通过第二网络识别出目标图像中的目标区域,目标区域为第二网络识别出的形成有第三对象的第一区域、或从目标图像中识别出的形成有第二对象和第三对象的图像区域。

在第一网络识别出目标图像中的第一区域之后,可通过目标模型确定匹配结果,匹配结果用于指示目标图像中的目标区域,目标区域为目标模型通过将图像特征与目标特征进行匹配确定的第二对象和第三对象所在的图像区域。

在一个可选的实施例中,软件模块可包括三个子模块,分别是rpn子模块、fast-rcnn子模块以及语义分割子模块fcn,fast-rcnn是一种基于rcnn改进的目标检测方法,rcnn全称为regionswithcnnfeatures,卷积神经网络cnn的全称为convolutionalneuralnetwork,cnn是一种深度学习用于目标检测的方法,fcn的全称为fullyconvolutionalnetworks,fcn是一种用于语义分割的卷积网络,rpn全称为regionproposalnetwork,rpn是一种用于区域目标检测的全卷积网络,下面对上述模块逐一进行说明。

rpn子模块:

该模块主要是检测出一幅幅图像(如游戏中建筑物场景图像)下人(即第二对象)的区域位置,以第一人称视角fps为例,在玩家(即第一对象)使用透视挂(fps游戏里常见的一种外挂,可以穿透建筑物进行射击)的情况下,能直接透过建筑物(即第三对象)看到敌人(即第二对象)的位置,这时候利用rpn模块,结构如图6所示(包括特征图、中间层、分类层、边框回归层等),可以判断出该视角图片下,图片里存在哪些物体,然后这些物体的位置在哪里。该模块的输入的是一帧帧第一视角的目标图像,即进行物体目标检测od(objectdetection),分类层输出的是一组矩形objectproposal(或称为候选框,即第一区域),每一个第一区域都有一个置信度score,这是一个全卷积网络fcn(fullyconvolutionalnetwork),在fcn最后一层共享卷积层输出的特征图featuremap(每一种卷积核可提取一张特征图featuremap,也就是说有多少种不同的卷积核,就会多少个不同的featuremap)上滑动一个微型网络扫描窗,这个网络输入的featuremap上的空间窗口作为输入,每个滑动窗口被映射成一个低维特征,rpn采用了多层(如9层)卷积层深度的网络,去获得相关的特征图featuremap和第一区域regionproposals(如右侧的候选框1至候选框k)。

fast-rcnn子模块:

利用本模块对rpn的结果进行进一步的优化,虽然rpn的结果就获得了第二对象(如对方玩家)的位置,但是外挂这个场景需要高精度的分析,根据rpn提出的多个第一区域,加入了注意力机制attentionmechanisms,fastrcnn模块会注意rpn提出的重点look的区域(即上述多个第一区域),由于目的是检测建筑物里的人,在训练神经网络的时候,给每个候选框anchor设置了一个二元标签,标识出是物体或者不是物体,然后rpn和fastrcnn融合到一个网络里进行训练,在前向传递的过程中,rpn产生了若干固定的第一区域,然后去训练fast-rcnn检测器,在反向传递的过程中,结合了rpn的损失loss和fastr-cnn的损失loss。由于rpn对小物体的检测效果不是很好,在实际场景下,有很多人(即第二对象)是蹲在角落里的,这时候不是站立的完整的人,而且建筑物的图片中出现了人,也不一定是使用了透视挂,有可能人恰好出现在窗户中,玻璃中,屋顶上,所以可以引入语义分割模块,去判断玩家周边的物体环境是怎样的。

语义分割子模块fcn:

利用该模块去识别区分蹲着的玩家和周围建筑物的分割,利用fcn,一种语义分割网络,结合实际场景,提出了一种新的创新方法,在fcn中,得到的是像素点级别的识别,对输入图像的每一个像素在输出上都有对应的判断标注,对任一层卷基层做反卷积处理,得到最后的图像,由于fcn的精度不够,可利用不同的滤波器来得到不同的输出数据,本申请可设计多个(如100个)常见人物规则滤波器filter(这些滤波器可以区分出第二对象与第三对象重叠,但是属于正常操作或异常操作),在fcn的输出层之后,利用设计好的规则模板,去判断,蹲着的到底是不是人,达到良好的识别效果,解决了该问题后,可对人物周边的物体做检测,利用语义分割,定义了卷积神经网络cnn的多个类(如1000个类),然后进行采样,最终产生了两大类,多个小类(如5小类)的图像集,两大类是建筑物等障碍物有人的图像和建筑物等障碍物无人的图像,建筑物等障碍物有人的图像又分成多个小类,如人在窗户里、人在屋顶上、人在烟筒旁、人在开着的门中等,建筑物无人的图像可视为没有开透视挂,建筑物有人的图像里,视为开了外挂,但人在窗户里、人在屋顶上、人在烟筒旁、人在开着的门中除外,如图7所示(图7中白色区域为人)。

在该实施例中,本申请创新的提出了faster-rcnn(一种高效的目标检测方法)和fcn的解决方案,通过训练faster-rcnn中的rpn网络得到图像的目标区域(regionproposal),然后通过faster-rcnn中的fast-rcnn模块进行分类检测,并利用fcn语义分割,得到多类(如5类)的图像,然后去判断第二对象(如玩家角色)出现图像与否,以及在图像中与第三对象(如建筑物等)之间位置的关系。

在步骤s206提供的技术方案中,基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作。

步骤s206的技术方案可以通过软件模块三(即多分类模块,也即下述的第三网络和第四网络)实现,一种可选的多分类模块可以通过长短期记忆网络lstm算法(全称为longshort-termmemory,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件)实现,下文进行详述。

基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作主要包括以下两个方面:

其一为,在第二对象与第三对象之间的位置关系属于目标类型的位置关系的情况下,确定第一对象在参与目标任务的过程中存在异常操作,其中,目标类型的位置关系是从第一图像中提取的存在异常操作的对象与第三对象之间的位置关系;

其二为,在第二对象与第三对象之间的位置关系不属于目标类型的位置关系的情况下,确定第一对象在参与目标任务的过程中不存在异常操作。

上述的目标图像可以为一张图像,此时,可通过目标模型的第三网络(即多分类模块)实现异常行为的鉴别,可选地,基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作可包括如下所示的步骤1至步骤3:

步骤1,通过第三网络识别出目标图像的目标区域中第二对象和第三对象之间的第一位置关系,并查找关系集合中是否存在第二位置关系,关系集合用于保存属于目标类型的位置关系,第二位置关系为关系集合中与第一位置关系相同的位置关系,第三网络用于通过语义分析识别出第二对象和第三对象之间的第一位置关系。

需要说明的是,图像是由许多像素(pixel)组成,而语义分析顾名思义就是将像素按照图像中表达语义含义的不同进行分组或分割,机器自动分割并识别出图像中的内容,比如给出一个人骑摩托车的照片,机器判断后应当能够生成图像,在图像中用红色标注人,用绿色标注车;在本申请可以理解为分析出图像中哪个部分是第二对象,哪个部分是第三对象。

如图3所示,在游戏逻辑中,作为障碍物的第三对象303位于第一对象301(如当前玩家)和第二对象302(当前玩家的对战玩家)之间,且位于空间304内,此时,当前玩家是看不见对战玩家的,而当对战玩家出现在了当前玩家的游戏画面(即目标画面)中,如透视在障碍物中,那么说明存在异常行为,此时,第二对象与第三对象之间的位置关系(即第二位置关系,用于表示第二对象透视在第三对象上,叠加在一起)就属于异常操作导致的位置关系。

若在游戏逻辑中,第二对象302不在空间304内、且位于第一对象的视距内,那么说明第二对象是可以被第一对象看见的,此时第二对象302不会映射到第三对象303上,即不会与第三对象303重叠,此时第二对象与第三对象之间的位置关系是正常的,在关系集合中找不到对应的关系。

步骤2,在从关系集合中查找到第二位置关系的情况下,确定第一对象在参与目标任务的过程中存在异常操作。

步骤3,在未从关系集合中查找到第二位置关系的情况下,确定第一对象在参与目标任务的过程中不存在异常操作。

上述的目标图像也可以为多张图像,如目标图像为m张第二图像,此时,在上述第一种方案中,可在n张第二图像中的第二对象与第三对象之间的位置关系属于目标类型的位置关系的情况下,确定第一对象在参与目标任务的过程中存在异常操作,整数n不大于整数m;反之,当没有第二对象与第三对象之间的位置关系属于目标类型的位置关系的第二图像,或者第二对象与第三对象之间的位置关系属于目标类型的位置关系的第二图像的数量未达到n的情况下,确定第一对象在参与目标任务的过程中不存在异常操作。

可选地,目标图像也可以为多张图像,在确定第一对象在参与目标任务的过程中存在异常操作时,可通过目标模型中的第四网络实现,在从关系集合中查找到第二位置关系的情况下,将第三网络识别出的目标图像中每张第二图像的第二对象和第三对象之间的位置关系为第一位置关系的置信度作为第四网络的输入,以使第四网络在n张第二图像中第二对象和第三对象之间的位置关系属于目标类型的位置关系的情况下,确定第一对象在参与目标任务的过程中存在异常操作。

可选地,目标图像也可以为多张图像的情况下,除了可以考虑存在异常操作的第二图像的张数外,还可以为每张第二图像配置相应的权重(用于表示存在异常操作的概率),可根据每张第二图像中图像目标区域得到的权重值,和语义分割点,得到多分类的图像标签label集,输入到lstm网络中,利用循环网络的特性,可以得到连续数帧下的第一视角图像,根据多分类的label权重值,利用soft-max算法多分类,得到最终的分类结果,判断玩家是否存在异常操作(如使用了透视挂)。

作为一种可选的实施例,下面以将本申请的技术方案应用于游戏中检测外挂为例进行详述。

在相关技术中,是采用举报的方法去检测透视挂,该效率对透视挂的检测效果基本为0,需要消耗大量的人力物力,且其响应机制非常慢,或者采用利用虚幻引擎shader的机制,在一个大场景下,利用预先设定好的物体材质,如果玩家采用了透视挂,该场景下的物体材质会进行颜色的变换,从而判断出该玩家使用了外挂。

在这些方案中,举报机制首先要判断有效举报和无效举报,需要耗费大量的人力物力;利用shader的机制,需要在海量场景下,部署非常多特别的物体材质,而且外挂在客户端的修改,服务端也是很难有响应,故这些方案对于透视挂的检测技术几乎没有效果,

在本申请的技术方案中,采用了faster-rcnn+fcn+lstm的方式来实现,创新性的去尝试检测传统方法无法检测的透视挂,在仿真集上,取得了极其高的准确率,可应用于正式的产品应用中。

对于服务的部署:可将faster-rcnn+fcn+lstm的深度学习模型(即目标模型)部署在服务器上;深度学习模块可基于以python脚本,调用检测模块tensorflow实现透视挂的检测。整体实现流程如图8所示:

步骤s802,数据拉取模块实时或定时拉取玩家的第一视角的数据(即目标图像),利用mapreduce(是一种编程模型,用于大规模数据集的并行运算)分布式框架去做初步的清晰和筛选;

步骤s804,利用封装的图像预处理模块sdk,去进行预处理获得的第一视角图像,进行预处理得到相应的数据集和训练集(如正样本集合、负样本集合);

步骤s806,数据输入目标模型(即faster-rcnn+fcn+lstm的深度学习模型),数据可为224*224的输入,经过多层卷积,得到高维的候选框regionproposals序列,然后根据fcn得到的语义分割结果,最终得到5分类的图像,输入到双层的lstm网络,根据线性回归函数soft-max得到相应的分类结果;

步骤s808,根据每个候选框的分类结果和权重,计算出的最终概率,确认是否使用了外挂;

步骤s810,发送使用外挂的可疑名单给业务方。

上述技术方案可以封装后台接口的方法去提供外挂检测服务,如提供一个高层次神经网络的应用程序编程接口api(applicationprogramminginterface),用python编写而成并基于tensorflow、theano以及cntk后端运行(可称为keras),是个实时或离线计算的过程,因为涉及的计算量很大,而且外挂是一个可以有一定响应时间的应用场景,优选采取离线计算策略。

采用本申请的技术方案,填补了利用ai打击透视挂的空白;可以较大程度上检测出透视挂的出现,完成了从无到有的突破;为第一人称射击类游戏打下坚实基础,可以极大程度解决透视挂的问题,相对相关技术中不能对透视挂检测的情况,可以有效的帮助业务方识别透视挂,对项目组在外挂策略方面形成了有效的积累价值和效果。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

根据本发明实施例的另一个方面,还提供了一种用于实施上述异常操作的确定方法的异常操作的确定装置。图9是根据本发明实施例的一种可选的异常操作的确定装置的示意图,如图9所示,该装置可以包括:获取单元901、识别单元903以及确定单元905。

获取单元901,用于获取目标图像,其中,目标图像为目标客户端上显示的虚拟场景的图像,目标客户端用于控制在虚拟场景中参与目标任务的第一对象;

识别单元903,用于在目标图像中识别出第二对象和第三对象,其中,第二对象为在虚拟场景中参与目标任务、且允许被第一对象攻击的对象,第三对象用于在虚拟场景中阻止第二对象出现在第一对象的可视范围内;

确定单元905,用于基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作。

需要说明的是,该实施例中的获取单元901可以用于执行本申请实施例中的步骤s202,该实施例中的识别单元903可以用于执行本申请实施例中的步骤s204,该实施例中的确定单元905可以用于执行本申请实施例中的步骤s206。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

通过上述模块,在需要判定第一对象在参与目标任务的过程中是否存在异常操作时,获取目标图像,目标图像为目标客户端上显示的虚拟场景的图像,在目标图像中识别出第二对象和第三对象,并基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作,可以解决相关技术中不能检测虚拟场景中的异常行为的技术问题,进而达到检测出虚拟场景中的异常行为的技术效果。

上述的确定单元可包括:第一确定模块,用于在第二对象与第三对象之间的位置关系属于目标类型的位置关系的情况下,确定第一对象在参与目标任务的过程中存在异常操作,其中,目标类型的位置关系是从第一图像中提取的存在异常操作的对象与第三对象之间的位置关系;第二确定模块,用于在第二对象与第三对象之间的位置关系不属于目标类型的位置关系的情况下,确定第一对象在参与目标任务的过程中不存在异常操作。

可选地,目标图像包括m张第二图像,其中,第一确定模块还可用于:在n张第二图像中的第二对象与第三对象之间的位置关系属于目标类型的位置关系的情况下,确定第一对象在参与目标任务的过程中存在异常操作,其中,整数n不大于整数m。

可选地,目标模型可包括第三网络,确定单元还可包括:查找模块,用于通过第三网络识别出目标图像的目标区域中第二对象和第三对象之间的第一位置关系,并查找关系集合中是否存在第二位置关系,其中,关系集合用于保存属于目标类型的位置关系,第二位置关系为关系集合中与第一位置关系相同的位置关系,其中,第三网络用于通过语义分析识别出第二对象和第三对象之间的第一位置关系;第三确定模块,用于在从关系集合中查找到第二位置关系的情况下,确定第一对象在参与目标任务的过程中存在异常操作;第四确定模块,用于在未从关系集合中查找到第二位置关系的情况下,确定第一对象在参与目标任务的过程中不存在异常操作。

上述识别单元还可用于通过目标模型识别出目标图像中的第一对象和第二对象,其中,目标模型为用于通过特征匹配识别出目标图像中的第一对象和第二对象的卷积神经网络模型。

上述识别单元可包括:输入模块,用于将经过预处理的目标图像作为目标模型的输入,其中,预处理包括将目标图像处理的长度处理为第一阈值、并将目标图像的宽度处理为第二阈值;匹配模块,用于通过目标模型将目标图像中图像区域的图像特征与目标特征进行匹配,其中,目标特征包括目标模型学习到的第一类对象的特征和第二类对象的特征,第一类对象包括第一对象和第二对象,第二类对象包括第三对象;第五确定模块,用于通过目标模型确定匹配结果,其中,匹配结果用于指示目标图像中的目标区域,目标区域为目标模型通过将图像特征与目标特征进行匹配确定的第二对象和第三对象所在的图像区域。

上述目标模型可包括第一网络和第二网络,其中,上述匹配模块还可用于:通过第一网络识别出目标图像中的第一区域,其中,第一区域为目标图像中第二对象所在的图像区域;通过第二网络识别出目标图像中的目标区域,其中,目标区域为第二网络识别出的形成有第三对象的第一区域、或从目标图像中识别出的形成有第二对象和第三对象的图像区域。

可选地,目标模型可包括第四网络,上述第三确定模块还用于:在从关系集合中查找到第二位置关系的情况下,将第三网络识别出的目标图像中每张第二图像的第二对象和第三对象之间的位置关系为第一位置关系的置信度作为第四网络的输入,以使第四网络在n张第二图像中第二对象和第三对象之间的位置关系属于目标类型的位置关系的情况下,确定第一对象在参与目标任务的过程中存在异常操作。

采用本申请的技术方案,填补了利用ai打击透视挂等外挂的空白;可以较大程度上检测出透视挂的出现,完成了从无到有的突破;为第一人称射击类游戏打下坚实基础,可以极大程度解决透视挂的问题,相对相关技术中不能对透视挂检测的情况,可以有效的帮助业务方识别透视挂,对项目组在外挂策略方面形成了有效的积累价值和效果。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

根据本发明实施例的另一个方面,还提供了一种用于实施上述异常操作的确定方法的服务器或终端。

图10是根据本发明实施例的一种终端的结构框图,如图10所示,该终端可以包括:一个或多个(图10中仅示出一个)处理器1001、存储器1003、以及传输装置1005(如上述实施例中的发送装置),如图10所示,该终端还可以包括输入输出设备1007。

其中,存储器1003可用于存储软件程序以及模块,如本发明实施例中的异常操作的确定方法和装置对应的程序指令/模块,处理器1001通过运行存储在存储器1003内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的异常操作的确定方法。存储器1003可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1003可进一步包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置1005用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1005包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1005为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器1003用于存储应用程序。

处理器1001可以通过传输装置1005调用存储器1003存储的应用程序,以执行下述步骤:

获取目标图像,其中,目标图像为目标客户端上显示的虚拟场景的图像,目标客户端用于控制在虚拟场景中参与目标任务的第一对象;

在目标图像中识别出第二对象和第三对象,其中,第二对象为在虚拟场景中参与目标任务、且允许被第一对象攻击的对象,第三对象用于在虚拟场景中阻止第二对象出现在第一对象的可视范围内;

基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作。

处理器1001还用于执行下述步骤:

将经过预处理的目标图像作为目标模型的输入,其中,预处理包括将目标图像处理的长度处理为第一阈值、并将目标图像的宽度处理为第二阈值;

通过目标模型将目标图像中图像区域的图像特征与目标特征进行匹配,其中,目标特征包括目标模型学习到的第一类对象的特征和第二类对象的特征,第一类对象包括第一对象和第二对象,第二类对象包括第三对象;

通过目标模型确定匹配结果,其中,匹配结果用于指示目标图像中的目标区域,目标区域为目标模型通过将图像特征与目标特征进行匹配确定的第二对象和第三对象所在的图像区域。

采用本发明实施例,在需要判定第一对象在参与目标任务的过程中是否存在异常操作时,获取目标图像,目标图像为目标客户端上显示的虚拟场景的图像,目标客户端用于控制在虚拟场景中参与目标任务的第一对象;在目标图像中识别出第二对象和第三对象,第二对象为在虚拟场景中参与目标任务、且允许被第一对象攻击的对象,第三对象用于在虚拟场景中阻止第二对象出现在第一对象的可视范围内;基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作,可以解决相关技术中不能检测虚拟场景中的异常行为的技术问题,进而达到检测出虚拟场景中的异常行为的技术效果。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图10所示的结构仅为示意,终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图10其并不对上述电子装置的结构造成限定。例如,终端还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行异常操作的确定方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

s12,获取目标图像,其中,目标图像为目标客户端上显示的虚拟场景的图像,目标客户端用于控制在虚拟场景中参与目标任务的第一对象;

s14,在目标图像中识别出第二对象和第三对象,其中,第二对象为在虚拟场景中参与目标任务、且允许被第一对象攻击的对象,第三对象用于在虚拟场景中阻止第二对象出现在第一对象的可视范围内;

s16,基于第二对象与第三对象之间的位置关系确定第一对象在参与目标任务的过程中是否存在异常操作。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

s22,将经过预处理的目标图像作为目标模型的输入,其中,预处理包括将目标图像处理的长度处理为第一阈值、并将目标图像的宽度处理为第二阈值;

s24,通过目标模型将目标图像中图像区域的图像特征与目标特征进行匹配,其中,目标特征包括目标模型学习到的第一类对象的特征和第二类对象的特征,第一类对象包括第一对象和第二对象,第二类对象包括第三对象;

s26,通过目标模型确定匹配结果,其中,匹配结果用于指示目标图像中的目标区域,目标区域为目标模型通过将图像特征与目标特征进行匹配确定的第二对象和第三对象所在的图像区域。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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