存储介质、电子装置、游戏操作的执行方法和装置与流程

文档序号:14555672阅读:159来源:国知局
存储介质、电子装置、游戏操作的执行方法和装置与流程

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



背景技术:

随着多媒体技术的发展和无线网络的普及,人们的娱乐活动变得越来越丰富,如通过手持式媒体设备联网玩游戏、通过电脑玩单机或者联网游戏,游戏类型多种多样,如弹幕射击游戏、冒险游戏、模拟游戏、角色扮演游戏、休闲棋牌游戏和其它游戏等。

在大部分类型的游戏中,玩家可以选择与其它玩家进行游戏,也可以选择和游戏中的游戏ai(一种非玩家控制角色)进行游戏。一个典型的ai系统包括感知、导航和决策三个子系统,目前而言,其感知系统较弱,事先为ai制定多个决策,在任何情况下都是从这些决策中随机选择一个决策,ai并不能根据外部情况的不同选择与之相适应的决策。

针对相关技术中的游戏ai不能根据外部情况选择相适应的决策的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种存储介质、电子装置、游戏操作的执行方法和装置,以至少解决相关技术中的游戏ai不能根据外部情况选择相适应的决策的技术问题。

根据本发明实施例的一个方面,提供了一种游戏操作的执行方法,该方法包括:获取目标游戏的第一图像,第一图像为目标游戏中的游戏角色参与目标游戏时的游戏图像;将第一图像处理为第二图像,第二图像用于显示第一图像中与游戏角色相关的目标对象;获取与第二图像对应的控制指令,控制指令用于指示游戏角色在目标游戏中执行目标操作;控制游戏角色在目标游戏中执行控制指令指示的目标操作。

根据本发明实施例的另一方面,还提供了一种游戏操作的执行装置,该装置包括:第一获取单元,用于获取目标游戏的第一图像,第一图像为目标游戏中的游戏角色参与目标游戏时的游戏图像;处理单元,用于将第一图像处理为第二图像,第二图像用于显示第一图像中与游戏角色相关的目标对象;第二获取单元,用于获取与第二图像对应的控制指令,控制指令用于指示游戏角色在目标游戏中执行目标操作;控制单元,用于控制游戏角色在目标游戏中执行控制指令指示的目标操作。

在本发明实施例中,在目标游戏运行时,获取目标游戏的第一图像;将第一图像处理为第二图像,第二图像中仅保留第一图像中与游戏角色相关的目标对象;获取与第二图像对应的控制指令,控制指令用于指示游戏角色在目标游戏中执行目标操作;控制游戏角色在目标游戏中执行控制指令指示的目标操作,可以解决相关技术中的游戏ai不能根据外部情况选择相适应的决策的技术问题,进而达到游戏中的游戏ai(游戏角色)根据外部条件调整决策的技术效果。

附图说明

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

图1是根据本发明实施例的游戏操作的执行方法的硬件环境的示意图;

图2是根据本发明实施例的一种可选的游戏操作的执行方法的流程图;

图3是根据本发明实施例的一种可选的cnn模型的示意图;

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

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

图6是根据本发明实施例的一种可选的图像识别结果的示意图;

图7是根据本发明实施例的一种可选的图像识别结果的示意图;

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

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

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

图11是根据本发明实施例的一种可选的游戏操作的执行装置的示意图;以及

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

具体实施方式

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

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

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

api:英文全称为applicationprogramminginterface,应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

hog:英文全称为histogramoforientedgradient,方向梯度直方图特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。hog特征通过计算和统计图像局部区域的梯度方向直方图来构成特征。

sift:scale-invariantfeaturetransform,即尺度不变特征变换,是用于图像处理领域的一种描述。这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子。

surf:英文全称为speeded-uprobustfeatures,一种用于描述尺度不变性的特征。

orb:英文全称为orientedfastandrotatedbrief,一种用于描述尺度不变性的特征。

ssd:英文全称为singleshotmultiboxdetection,一种目标检测的算法。

dqn:英文全称为deepq-network,深度强化学习算法。

nms:英文全称为nonmaximumsuppression,非极大抑制。

cnn:英文全称为convolutionalneuralnetwork,卷积神经网络。

根据本发明实施例,提供了一种游戏操作的执行方法的方法实施例。

可选地,在本实施例中,上述游戏操作的执行方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于pc、手机、平板电脑等。本发明实施例的游戏操作的执行方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的游戏操作的执行方法也可以是由安装在其上的客户端来执行。

当本发明实施例的游戏操作的执行方法由终端或服务器来单独执行时,直接在终端或服务器上执行与本申请的方法对应的程序代码即可。

当本发明实施例的游戏操作的执行方法由服务器和终端共同来执行时,在服务器执行与本申请的方法对应的程序代码,由终端发送第一图像给服务器,服务器将识别的结果控制指令返回给终端。

下面以在终端上来执行与本申请的方法对应的程序代码为例详述本申请的实施例,图2是根据本发明实施例的一种可选的游戏操作的执行方法的流程图,如图2所示,该方法可以包括以下步骤:

步骤s202,获取目标游戏的第一图像,第一图像为目标游戏中的游戏角色参与目标游戏时的游戏图像。

上述的目标游戏包括但不局限于在移动终端、pc、云系统、服务器上运行的游戏,游戏的类型包括但不局限于弹幕射击游戏、冒险游戏、模拟游戏、角色扮演游戏、休闲棋牌游戏和其它游戏。

上述的第一图像为运行中的目标游戏的游戏图像,对于第一图像的获取方式包括但不局限于:对游戏画面进行截图、通过游戏提供的api接口(用于获取游戏画面)获取。上述的游戏角色为游戏中ai类型(英文全称为artificialintelligence,即人工智能)的npc角色(英文全称为nonplayercharacter,即非玩家控制角色)。

步骤s204,将第一图像处理为第二图像,第二图像用于显示第一图像中与游戏角色相关的目标对象。

上述的目标对象为游戏中的对象,目标对象属于一个类的集合,其可以为该集合中的一个或者多个,该集合包括但不局限于游戏路径、游戏角色自身、与该游戏角色对战的其他游戏角色、该游戏角色的队友、该游戏角色的附属物品(如宠物、道具、武器等)、与该游戏角色对战的其他游戏角色的附属物品、该游戏角色的队友的附属物品、游戏中的道具(如奖励道具、惩罚道具、障碍物等)。

“将第一图像处理为第二图像”实际是去除第一图像中除目标对象以外的对象,以保留目标对象的图像。

步骤s206,获取与第二图像对应的控制指令,控制指令用于指示游戏角色在目标游戏中执行目标操作。

在获取与第二图像对应的控制指令可以通过相关神经网络算法实现,这些神经网络算法可以通过网络模型的形式存在,用于根据第二图像中的目标对象的情况生成上述的控制指令,步骤s206中获取的控制指令即网络模型输出的控制指令。

需要说明的是,上述的网络模型可以是卷积神经网络模型cnn、深度神经网络ddn等。网络模型生成控制指令时,可以是根据当前输入的一张第二图像生成,还可以是根据当前输入的第二图像和之前输入的一张或者多张第二图像进行生成。

步骤s208,控制游戏角色在目标游戏中执行控制指令指示的目标操作。

上述的控制指令是用于指示游戏角色在目标游戏中执行游戏操作(也即目标操作)的指令,该游戏操作是指游戏中预先定义好的允许游戏角色执行的操作,包括但不局限于行走、武器使用、防御动作、逃跑、道具使用、召唤、技能释放等。

通过上述步骤s202至步骤s208,在目标游戏运行时,获取目标游戏的第一图像;将第一图像处理为第二图像,第二图像中仅保留第一图像中与游戏角色相关的目标对象;获取与第二图像对应的控制指令,控制指令用于指示游戏角色在目标游戏中执行目标操作;控制游戏角色在目标游戏中执行控制指令指示的目标操作,可以解决相关技术中的游戏ai不能根据外部情况选择相适应的决策的技术问题,进而达到游戏中的游戏ai(游戏角色)根据外部条件调整决策的技术效果。

可选地,在为ai生成控制指令(即游戏策略)时,可通过如下两种技术方案实现:

方案一:利用游戏画面实现,从游戏开始运行起,截取原游戏画面,并对此画面进行一定比例的缩小,灰度化处理,处理后的图像作为增强学习算法(如cnn模型)的输入,增强学习算法的输出为控制游戏运行的动作,游戏响应新动作,更新游戏的界面,更新后的界面作为新图像再次输入增强学习算法中,如此循环下去,使得自动化工具可以自己玩游戏。

方案二:利用游戏开发平台提供的api实现,如果游戏开发平台,提供了获取游戏前景信息的api,可以调用这些接口api,获取与游戏逻辑有关系的信息,整合这些信息,作为增强学习算法的输入,算法根据输入信息,输出策略。游戏ai根据新学到的策略驱动游戏,使得游戏完全可以自动玩下去,不需要用户交互。

在上述技术方案中存在如下问题:方案一中的游戏的界面元素一般比较复杂,丰富绚丽的背景,多种多样的道具元素,这些信息增加了学习算法的复杂性,使得深度学习算法很难或是根本收敛不了到一个正确的处理逻辑;方案二要依赖游戏开发平台提供资源,很多游戏没有提供或是不会公开这些api接口,供再次开发。

常见的游戏ai工具是基于游戏界面或是从游戏的api(applicationprogramminginterface)直接获取信息,将原始信息作为自动化工具的输入。大部分游戏为了游戏的美观和趣味性,界面元素设计的比较丰富(如背景界面,道具元素等),直接以界面作为输入,无效元素较多,自动化工具很难通过原图像提取出有用信息。此外,不是所有的游戏都能得到api,以游戏界面作为处理源通用性更强些,所以本申请把处理后的游戏界面作为输入,消除第一图像中的无效元素,将得到的第二图像作为cnn的输入,由于无效元素较少或者没有,自动化工具很容易就能通过图像提取出有用信息,进而实现对游戏ai的控制。

下面结合图2所示的步骤详述本申请的实施例。

在步骤s202提供的技术方案中,获取目标游戏的第一图像,第一图像为目标游戏中的游戏角色参与目标游戏时的游戏图像。

上述的目标游戏可以在移动终端、pc端等设备上运行,玩家可以通过借助移动终端、pc端,玩家可以借助移动终端、pc提供的输入设备(如摄像头、键盘、鼠标、飞鼠、手势识别设备、语音输入设备、触控设备)进行游戏操作。

上述的游戏角色可以是游戏中与游戏玩家进行对战、或协助游戏玩家作战的npc角色,由于npc角色可以根据游戏场景等信息的不同进行自我调整,进而可以增加游戏的智能化程度,增强游戏的趣味性;玩家在游戏过程中,由于种种原因需要短暂离开时,可以将自己的游戏角色设置为“自动模式”,此时玩家的角色即相当于上述目标角色。

“获取目标游戏的第一图像”的方式可以是对游戏画面进行截图获取、通过游戏提供的api接口(用于获取游戏画面)获取。

在步骤s204提供的技术方案中,将第一图像处理为第二图像,第二图像用于显示第一图像中与游戏角色相关的目标对象。

“将第一图像处理为第二图像”可以是在第一图像中识别出目标对象,并去除第一图像中除目标对象之外的图像,得到第二图像。

对于每一个游戏而言,游戏中每个角色在游戏中的属性(如生命属性、道具相关的属性等)与哪些对象相关是确定的,这里可以预先定义在数据表或者数据库中,也可以通过机器学习模型来实现(如cnn、dnn等)。下面以cnn为例进行说明。

在本申请中,优选使用卷积神经网络cnn,它是一种特殊的深层的神经网络模型,它的特殊性体现在两个方面,一方面它的神经元间的连接是非全连接的,另一方面同一层中某些神经元之间的连接的权重是共享的(即相同的)。它的非全连接和权值共享的网络结构使之更类似于生物神经网络,降低了网络模型的复杂度(对于很难学习的深层结构来说,这是非常重要的),减少了权值的数量。

(1)cnn模型的初始化

获取用于训练的第三图像(即训练图像),每个第三图像携带有标识信息,第三图像中包括有目标对象的图像,标识信息用于标识目标对象的第一类型(即对象类型,如游戏角色、游戏道具、道路等)和目标对象在第三图像中的第一位置。将第三图像和标识信息作为第二模型的输入,以对第二模型中的参数进行初始化,并将参数初始化后的第二模型作为第一模型。cnn的卷积网络的核心思想是将:局部感受野、权值共享(或者权值复制)以及时间或空间亚采样这三种结构思想结合起来获得了某种程度的位移、尺度、形变不变性。

一种可选的cnn模型如图3所示,卷积网络是为识别二维形状而特殊设计的一个多层感知器(包卷积层和全连接层),这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。这些良好的性能是网络在有监督方式下学会的,网络的结构主要有稀疏连接和权值共享两个特点,包括如下形式的约束:

(1)特征提取,每一个神经元从上一层的局部接受域得到突触输人,因而迫使它提取局部特征,一旦一个特征被提取出来,只要它相对于其他特征的位置被近似地保留下来,它的精确位置就变得没有那么重要了。

(2)特征映射,网络的每一个计算层都是由多个特征映射组成的,每个特征映射都是平面形式的,平面中单独的神经元在约束下共享相同的突触权值集,这种结构形式具有如下的有益效果:平移不变性、自由参数数量的缩减(通过权值共享实现)。

(3)子抽样,每个卷积层后面跟着一个实现局部平均和子抽样的计算层,由此特征映射的分辨率降低。这种操作具有使特征映射的输出对平移和其他形式的变形的敏感度下降的作用。

步骤s11,策略匹配(matchingstrategy)。

将每个groundtruthbox(box相当于扫描窗或者边界框,即当前边界框)与具有最大jaccardoverlap(一种重叠参数)的defalultbox(默认边界框)进行匹配,这样保证每个groundtruth都有对应的defaultbox;并且,将每个defalutbox与任意groundtruth(指的是用于有监督训练的训练集的分类准确性)配对,只要两者的jaccardoverlap大于某一阈值(如0.5),这样的话,一个groundtruthbox可能对应多个defaultbox。

输入图像通过和三个可训练的滤波器和可加偏置进行卷积,卷积后在c1层产生多个特征映射图,然后特征映射图中每组的多个像素再进行求和、加权值、加偏置等处理,通过一个激励函数sigmoid得到多个层的特征映射图。最终,这些像素值被光栅化,并连接成一个向量输入到传统的神经网络,得到输出。

步骤s12,目标训练(trainingobjective)。

特征提取层的每个神经元的输入与前一层的局部感受野相连,并提取该局部的特征,一旦该局部特征被提取后,它与其他特征间的位置关系也随之确定下来;特征映射层网络的每个计算层由多个特征映射组成,每个特征映射为一个平面,平面上所有神经元的权值(即第二模型中的参数)相等,从而完成权值的初始化。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。

卷积神经网络cnn主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于cnn的特征检测层通过训练数据进行学习,所以在使用cnn时,避免了显式的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。

卷积网络较一般神经网络在图像处理方面有如下优点:1)输入图像和网络的拓扑结构能很好的吻合;2)特征提取和模式分类同时进行,并同时在训练中产生;3)权重共享可以减少网络的训练参数,使神经网络结构变得更简单,适应性更强。

步骤s13,参数优化。

在经历参数初始化之后,可以使用图片进行验证,如果识别准确率不满足要求(如低于90%),则可以增加图片训练量,进一步利用模型对图片进行学习,以对模型中的参数进行优化。

(2)cnn模型的使用

在第一图像中识别出目标对象,并去除第一图像中除目标对象以外的图像,得到第二图像时,将第一图像作为第一模型(也即cnn模型)的输入,第二图像作为第一模型的输出,第一模型在第一图像中识别出目标对象,并去除第一图像中除目标对象以外的图像,得到第二图像。在cnn模型中具体执行的步骤如下:

步骤s21,删除第一图像中的背景图像,以方便在第一图像的前景图像的多个图像区域中查找目标区域。

步骤s22,在第一图像的多个图像区域中查找目标区域,目标区域的图像特征与目标对象的特征匹配。

由于目标对象一般情况下为多个,最终查找到的目标区域可以是多个,扫描窗每次扫描的面积(如长宽均为4个单位长度),因此,若是从左边开始扫描,可以每次扫描后向右移动一个单位,直至扫描至最右边,然后回到左边并向下移动一个单位重复扫描,直至完成对整张图像的扫描,每次扫描到的区域可以作为一个候选区域。

步骤s23,在第一图像中删除除目标区域之外的图像区域上显示的信息,得到第二图像。

对于每一个候选区域,将该区域的特征分别与各个类型的目标对象的特征进行匹配,若该区域的特征与某个类型的目标对象的特征相互匹配(如特征相同的量大于某个阈值),则确定该区域是目标区域的图像,且其对象类型为与之匹配的对象类型。

然后将在第一图像中保留每个目标区域,并刨除目标区域以外的区域,得到的图像记为上述第二图像。

可选地,在识别出每个目标区域之后,也可以刨出目标区域并记录其位置,并将每个目标区域按照其位置填充至一张空白图像中,得到第二图像。

在步骤s206提供的技术方案中,获取与第二图像对应的控制指令,控制指令用于指示游戏角色在目标游戏中执行目标操作。

在获取与第二图像对应的控制指令时,可以通过dnq模型按照如下步骤实现:

步骤s31,由于游戏角色的操作与对象的类型和位置息息相关,因此需要识别第二图像中每个目标对象的第二类型和第二位置。

步骤s32,操作集合中预先定义并保存有对象的类型和位置与操作之间的关联关系,识别出每个目标对象的第二类型和第二位置之后,从操作集合中选取与第二类型和第二位置关联的目标操作。

如识别出道路在游戏角色的左前方,那么目标操作为向左前方移动;再如识别到对方向自己使用武器,则目标操作为躲闪该武器的攻击。

可选地,在与第二类型和第二位置关联的目标操作为多个的情况下,从操作集合中选取与第二类型和第二位置关联的目标操作时,可从操作集合中选取与第二类型和第二位置关联的多个目标操作中的任意一个,也即可以是随机的选择一个(这么做的原因在于为例更好的对集合进行优化,见下文)。

步骤s33,获取与目标操作对应的控制指令。

对于上述步骤s32中的操作集合,可以是初始时的操作集合,也可以是优化之后的操作集合,在本申请的方法执行的过程中,可以对初始时或者中间过程中的操作集合进行优化,具体优化流程如下:

步骤s41,在控制游戏角色在目标游戏中执行控制指令指示的目标操作之后,获取第一操作的操作结果和第二操作的操作结果,其中,第一操作是控制指令所指示执行的操作,第二操作是与第四图像对应的指令所指示执行的操作,第四图像中的目标对象的类型为第二类型、且第四图像中的目标对象的位置为第二位置,第四图像是第一模型对在第二图像之后输入的图像进行处理得到的,多个目标操作包括第一操作和第二操作。

若当次检测到的对象的类型和位置与之前某一次的相同,且与之对应的目标操作为多个,则将当次的操作结果和前一次的操作结果(如躲闪是否成功、得到的奖励的多少等)相比较,进而删除其中结果较差的一个操作,这样,就相当于更新了操作集合中的对应关系,使得以后选择的操作更加优化,从而达到了优化游戏角色(如ai)的效果。

步骤s42,在第二操作的操作结果所指示获取的游戏资源多于第一操作的操作结果所指示获取的游戏资源的情况下,在操作集合中解除多个目标操作中第一操作与第二类型和第二位置的关联关系。

步骤s43,在第一操作的操作结果所指示获取的游戏资源多于第二操作的操作结果所指示获取的游戏资源的情况下,在操作集合中解除多个目标操作中第二操作与第二类型和第二位置的关联关系。

可选地,上述的对操作集合的更新功能可以一个设置按钮的形式存在于目标游戏的客户端中,当玩家点击设置中的该按钮时启动该功能。

在步骤s208提供的技术方案中,在接收到上述的控制指令之后,控制游戏角色在目标游戏中执行控制指令指示的目标操作。

相关技术中的多物体检测方法,需要手工设计的特征(hog,sift,surf,orb等),采用滑动窗口的方法进行全图筛选和对比查找目标物。手工设计的特征鲁棒性差,滑动窗口的方案时间复杂度高,窗口冗余。本申请采用cnn卷积神经网络,自动提取图像的特征,并基于不同的特征尺度提取检测多物体的方案。检测到需要的前景物体(镜头中位于主体前面或靠近前沿的人或物)后,过滤掉无效信息,保留图像中部分有效的前景物体,并把处理后的图像作为游戏ai的输入数据,可以降低后续识别的复杂度和冗余度。

作为一种可选的实施例,下面以cnn模型为基于cnn提取特征的ssd(singleshotmultiboxdetection)前向网络为例详述本申请的实施例:

(1)基于物体检测在ai上应用的整体流程如下:

步骤s51,在游戏运行时,通过手机上的实时采集程序采集游戏运行时的界面。

可选地,图像采集程序可以使用截屏的方式来获取当前手机上面的游戏实时图像。

步骤s52,通过基于cnn提取特征的ssd前向网络,检测图像中前景物体(目标物)所在图像中的位置,以及前景物体的类别信息。

步骤s53,保留前景物体,去除背景,重构后的图像作为增强学习算法的输入。

步骤s54,将重构后的图像输入增强学习算法模型。

步骤s55,增强算法最终输出和游戏进行交互的动作,模拟人和游戏进行交互。

(2)训练模型

采集大量的游戏样本图像,并人工标记样本图像中所要识别的游戏元素的类别和坐标位置(单位像素),根据样本图像设置训练集合和测试集合。设置训练总次数,采用的梯度下降算法,学习率等参数。标记好的样本数据作为ssd网络的输入。在网络训练一段时间后,用测试集,检测网络模型的准确性,监控训练的过程。

输入的样本图像(也即第三图像)如图4和图5所示,用标识信息进行标识,如标识出游戏角色“英雄”、“道路”、游戏道具(如鱼)等信息。

(3)多目标检测

基于训练好的模型进行检测,进行ssd前向网络的计算。经过cnn卷积处理,提取图像的特征,在特征图上回归出物体的类别和位置(以像素为单位的物体矩形框)。在不同尺度的特征图上进行提取位置,解决了前景物体大小差异大的检测的问题。最后生成了8732个候选结果,经过nms(nonmaximumsuppression)非极大值抑制算法刷选出重叠度小于0.4,置信度大于此类别阈值置信度的候选框,最终筛选出的候选框标记了游戏界面所需要的有效的物体的类别和位置。

如图6和图7所示,识别出“英雄”、“罐子”、“道路”、“火圈”等目标对象。

(4)结合dqn算法做出决策

检测出游戏界面中所需要的前景物体后,保留图像的这些信息,去除背景信息。处理后的图像结合增强学习dqn算法。筛选过信息的游戏界面截图作为输入,经过增强学习网络处理后,直接输出操作游戏的动作。设置游戏里的得分或是其他的奖励等作为激励参数,经过不断的学习和反馈调节,最后ai学到一个最优的策略,可以很好的掌握游戏的技巧,获取更多的游戏奖励。

在上述实施例中,以ssd(singleshotmultiboxdetector)为例进行说明的是,本申请的基于cnn深度学习的多物体检测方法,除了可以是ssd,也可以是其他的如yolov2(youonlylookonce)等网络结果,只要能够实时、准确的检测出所需要的物体即可。

本发明还提供了一种优选实施例,下面从产品侧详述本申请的方案:

本申请的技术方案可应用于需要自动化运行游戏的产品中,通过检测提取过滤游戏界面中的跟游戏逻辑相关的物体,识别出界面中这些游戏元素的类别,位置信息,并把这些有效信息保留在原图像中。去除其他无关的图像元素,使得输入的数据,简洁有效,大大减少了输入信息,从而减少了计算复杂度。

当ai和玩家对战时,实时将截图输入本申请的ssd网络,尤其根据如图8所示的图像决定迎战策略,如图8所示,玩家正在使用边腿踢向ai角色,此时ssd网络能够识别出玩家的“边腿攻击”这一动作,进而执行策略“躲闪”,如图9所示,其结果就是ai能够成功躲闪玩家的边腿攻击,从而使得ai能够进化出躲避“边腿攻击”这一技能。若不执行本申请的技术方案,正常的结果如图10所示,ai将会被玩家的边腿所击中。

在本申请的技术方案中,采用cnn的方法自动提取特征,比传统的人工提取特征的方法更灵活;在不同尺度的特征图上去检测目标物,适应了多目标物检测中目标物有大有小的情况;处理后的图像只保留了前景因素,去除了背景噪音的干扰,简化了深度学习的输入,使深度学习更容易收敛。

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

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

根据本发明实施例,还提供了一种用于实施上述游戏操作的执行方法的游戏操作的执行装置。图11是根据本发明实施例的一种可选的游戏操作的执行装置的示意图,如图11所示,该装置可以包括:第一获取单元111、处理单元113、第二获取单元115以及控制单元117。

第一获取单元111,用于获取目标游戏的第一图像,第一图像为目标游戏中的游戏角色参与目标游戏时的游戏图像。

处理单元113,用于将第一图像处理为第二图像,第二图像用于显示第一图像中与游戏角色相关的目标对象。

第二获取单元115,用于获取与第二图像对应的控制指令,控制指令用于指示游戏角色在目标游戏中执行目标操作。

控制单元117,用于控制游戏角色在目标游戏中执行控制指令指示的目标操作。

需要说明的是,该实施例中的第一获取单元111可以用于执行本申请实施例中的步骤s202,该实施例中的处理单元113可以用于执行本申请实施例中的步骤s204,该实施例中的第二获取单元115可以用于执行本申请实施例中的步骤s206,该实施例中的控制单元117可以用于执行本申请实施例中的步骤s208。

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

通过上述模块,在目标游戏运行时,获取目标游戏的第一图像;将第一图像处理为第二图像,第二图像中仅保留第一图像中与游戏角色相关的目标对象;获取与第二图像对应的控制指令,控制指令用于指示游戏角色在目标游戏中执行目标操作;控制游戏角色在目标游戏中执行控制指令指示的目标操作,可以解决相关技术中的游戏ai不能根据外部情况选择相适应的决策的技术问题,进而达到游戏中的游戏ai(游戏角色)根据外部条件调整决策的技术效果。

上述的处理单元还可用于在第一图像中识别出目标对象,并去除第一图像中除目标对象之外的图像,得到第二图像。

可选地,处理单元可包括:查找模块,用于在第一图像的多个图像区域中查找目标区域,其中,目标区域的图像特征与目标对象的特征匹配;处理模块,用于在第一图像中删除除目标区域之外的图像区域上显示的信息,得到第二图像。

查找模块在第一图像的多个图像区域中查找目标区域时,一种可选的实现方式是:删除第一图像中的背景图像;在第一图像的前景图像的多个图像区域中查找目标区域。

在本申请的实施例中,处理单元的功能可通过第一模型实现,具体如下:使用第一模型对第一图像进行处理,得到第二图像,其中,第一图像为第一模型的输入,第二图像为第一模型的输出,第一模型用于在第一图像中识别出目标对象,并去除第一图像中除目标对象以外的图像,得到第二图像。

第二模型的训练方式如下:将第三图像和标识信息作为第二模型的输入,以对第二模型中的参数进行初始化,并将参数初始化后的第二模型作为第一模型,其中,第三图像中包括有目标对象的图像,标识信息用于标识目标对象的第一类型和目标对象在第三图像中的第一位置。

上述的第二获取单元可包括:第一获取模块,用于获取第二图像中目标对象的第二类型和第二位置;选取模块,用于从操作集合中选取与第二类型和第二位置关联的目标操作,其中,操作集合中保存有对象的类型和位置与操作之间的关联关系;第二获取模块,用于获取与目标操作对应的控制指令。

可选地,在与第二类型和第二位置关联的目标操作为多个的情况下,选取模块从操作集合中选取与第二类型和第二位置关联的目标操作时,从操作集合中选取与第二类型和第二位置关联的多个目标操作中的任意一个。

可选地,本申请的装置还可包括:

第三获取单元,用于在控制游戏角色在目标游戏中执行控制指令指示的目标操作之后,获取第一操作的操作结果和第二操作的操作结果,其中,第一操作是控制指令所指示执行的操作,第二操作是与第四图像对应的指令所指示执行的操作,第四图像中的目标对象的类型为第二类型、且第四图像中的目标对象的位置为第二位置,第四图像是第一模型对在第二图像之后输入的图像进行处理得到的,多个目标操作包括第一操作和第二操作;

第一修正单元,用于在第二操作的操作结果所指示获取的游戏资源多于第一操作的操作结果所指示获取的游戏资源的情况下,在操作集合中解除多个目标操作中第一操作与第二类型和第二位置的关联关系;

第二修正单元,用于在第一操作的操作结果所指示获取的游戏资源多于第二操作的操作结果所指示获取的游戏资源的情况下,在操作集合中解除多个目标操作中第二操作与第二类型和第二位置的关联关系。

相关技术中的多物体检测方法,需要手工设计的特征(hog,sift,surf,orb等),采用滑动窗口的方法进行全图筛选和对比查找目标物。手工设计的特征鲁棒性差,滑动窗口的方案时间复杂度高,窗口冗余。本申请采用cnn卷积神经网络,自动提取图像的特征,并基于不同的特征尺度提取检测多物体的方案。检测到需要的前景物体(镜头中位于主体前面或靠近前沿的人或物)后,过滤掉无效信息,保留图像中部分有效的前景物体,并把处理后的图像作为游戏ai的输入数据,可以降低后续识别的复杂度和冗余度。

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

根据本发明实施例,还提供了一种用于实施上述游戏操作的执行方法的服务器或终端。

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

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

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

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

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

获取目标游戏的第一图像,其中,第一图像为目标游戏中的游戏角色参与目标游戏时的游戏图像;

将第一图像处理为第二图像,其中,第二图像用于显示第一图像中与游戏角色相关的目标对象;

获取与第二图像对应的控制指令,其中,控制指令用于指示游戏角色在目标游戏中执行目标操作;

控制游戏角色在目标游戏中执行控制指令指示的目标操作。

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

获取第一操作的操作结果和第二操作的操作结果,其中,第一操作是控制指令所指示执行的操作,第二操作是与第四图像对应的指令所指示执行的操作,第四图像中的目标对象的类型为第二类型、且第四图像中的目标对象的位置为第二位置,第四图像是第一模型对在第二图像之后输入的图像进行处理得到的,多个目标操作包括第一操作和第二操作;

在第二操作的操作结果所指示获取的游戏资源多于第一操作的操作结果所指示获取的游戏资源的情况下,在操作集合中解除多个目标操作中第一操作与第二类型和第二位置的关联关系;

在第一操作的操作结果所指示获取的游戏资源多于第二操作的操作结果所指示获取的游戏资源的情况下,在操作集合中解除多个目标操作中第二操作与第二类型和第二位置的关联关系。

采用本发明实施例,在目标游戏运行时,获取目标游戏的第一图像;将第一图像处理为第二图像,第二图像中仅保留第一图像中与游戏角色相关的目标对象;获取与第二图像对应的控制指令,控制指令用于指示游戏角色在目标游戏中执行目标操作;控制游戏角色在目标游戏中执行控制指令指示的目标操作,可以解决相关技术中的游戏ai不能根据外部情况选择相适应的决策的技术问题,进而达到游戏中的游戏ai(游戏角色)根据外部条件调整决策的技术效果。

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

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

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

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

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

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

s61,获取目标游戏的第一图像,其中,第一图像为目标游戏中的游戏角色参与目标游戏时的游戏图像;

s62,将第一图像处理为第二图像,其中,第二图像用于显示第一图像中与游戏角色相关的目标对象;

s63,获取与第二图像对应的控制指令,其中,控制指令用于指示游戏角色在目标游戏中执行目标操作;

s64,控制游戏角色在目标游戏中执行控制指令指示的目标操作。

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

s71,获取第一操作的操作结果和第二操作的操作结果,其中,第一操作是控制指令所指示执行的操作,第二操作是与第四图像对应的指令所指示执行的操作,第四图像中的目标对象的类型为第二类型、且第四图像中的目标对象的位置为第二位置,第四图像是第一模型对在第二图像之后输入的图像进行处理得到的,多个目标操作包括第一操作和第二操作;

s72,在第二操作的操作结果所指示获取的游戏资源多于第一操作的操作结果所指示获取的游戏资源的情况下,在操作集合中解除多个目标操作中第一操作与第二类型和第二位置的关联关系;

s73,在第一操作的操作结果所指示获取的游戏资源多于第二操作的操作结果所指示获取的游戏资源的情况下,在操作集合中解除多个目标操作中第二操作与第二类型和第二位置的关联关系。

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

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

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

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

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

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

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

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

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

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