HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

虚拟对象控制方法、装置、电子设备以及存储介质与流程

2021-01-11 12:01:56|286|起点商标网
虚拟对象控制方法、装置、电子设备以及存储介质与流程

本发明涉及计算机技术领域,具体涉及一种虚拟对象控制方法、装置、电子设备以及存储介质。



背景技术:

人工智能(artificialintelligence,ai)是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向,机器学习(machinelearning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。

例如,可以应用于游戏中,如多人在线战术竞技游戏或多人在线竞速游戏中,用户或服务器可通过控制虚拟角色执行调度策略以获得对局胜利,在目前的虚拟角色控制方案中,虚拟对象的自动控制可以通过训练好的操作控制模型进行控制,然而,在训练操作控制模型时,是以原图像作为输入,决策作为输出,由于原图像所包含的图像内容较多,导致需要较长时间的进行在线训练,因此,目前的模型训练效率较低。



技术实现要素:

本申请提供一种虚拟对象控制方法、装置、电子设备以及存储介质,可以减少模型训练的时间,进而提高模型训练的效率。

本申请提供了一种虚拟对象控制方法,包括:

采集目标游戏的游戏图像,所述游戏图像包括虚拟对象和虚拟地图;

从所述游戏图像中获取虚拟地图对应的第一图像,所述第一图像包括关键区域和背景区域;

在所述第一图像中截取所述关键区域的图像,得到所述虚拟地图对应的第二图像;

对所述目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像;

基于所述目标图像对预设控制模型进行训练,得到所述目标游戏的操作控制模型,以通过所述操作控制模型对所述目标游戏中的虚拟对象进行控制。

相应的,本申请还提供了一种虚拟对象控制装置,包括:

采集模块,用于采集目标游戏的游戏图像,所述游戏图像包括虚拟对象和虚拟地图;

获取模块,用于从所述游戏图像中获取虚拟地图对应的图像第一图像,所述第一图像包括关键区域和背景区域;

截取模块,用于从所述第一图像中截取所述关键区域的图像,得到所述虚拟地图对应的第二图像;

合成模块,用于对所述目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像;

训练模块,用于基于所述目标图像对预设控制模型进行训练,得到所述目标游戏的操作控制模型;

控制模块,用于通过所述操作控制模型对所述目标游戏中的虚拟对象进行控制。

可选的,在本申请的一些实施例中,所述训练模块包括:

获取子模块,用于获取预设控制模型;

提取子模块,用于提取所述目标图像中虚拟对象的运动状态特征

预测子模块,用于采用预设控制模型预测所述运动状态特征对应的操作评价值;

调整子模块,用于基于所述虚拟对象在所述游戏地图中的速度信息以及预测的操作评价值对预设控制模型的参数进行调整,得到所述目标游戏的操作控制模型。

可选的,在本申请的一些实施例中,所述调整子模块包括:

获取单元,用于获取所述虚拟对象处于当前运动状态下的速度信息;

选择单元,用于根据所述速度信息从预设参考操作集合中选择多个参考操作;

预测单元,用于基于预设控制模型预测所述虚拟对象执行选择的参考操作后对应的操作评价值,得到所述虚拟对象执行各参考动作对应的参考操作评价值;

调整单元,用于基于所述虚拟对象执行各参考动作对应的参考操作评价值对预设控制模型的参数进行调整,得到所述目标游戏的操作控制模型。

可选的,在本申请的一些实施例中,所述调整单元包括:

输出子单元,用于根据预设控制模型输出所述虚拟对象执行各参考动作对应的参考操作评价值;

确定子单元,用于将操作评价值最高的参考操作确定为目标操作;

更新子单元,用于根据所述目标操作对所述虚拟对象的运动状态进行更新,得到执行所述目标操作后所述虚拟对象对应的更新后运动状态;

调整子单元,用于基于更新后运动状态对预设控制模型的参数进行调整,得到所述目标游戏的操作控制模型。

可选的,在本申请的一些实施例中,所述调整子单元具体用于:

根据更新后运动状态计算激励反馈数据;

基于所述激励反馈数据调整预设控制模型的模型参数;

将更新后运动状态更新为所述目标图像中所述虚拟对象的运动状态,并返回基于所述虚拟对象在所述游戏地图中的速度信息以及预测的操作评价值对预设控制模型的参数进行调整,以得到所述目标游戏的操作控制模型。

可选的,在本申请的一些实施例中,所述获取模块具体用于:

获取图像分割模型;

根据所述尺寸信息对所述第二图像的尺寸进行调整;

对所述目标游戏的游戏图像与调整后的第二图像进行拼接,得到目标图像。

可选的,在本申请的一些实施例中,所述合成模块具体用于:

获取所述游戏图像的尺寸信息;

根据所述尺寸信息对所述第二图像的尺寸进行调整;

对所述目标游戏的游戏图像与调整后的第二图像进行拼接,得到目标图像。

本申请在采集目标游戏的游戏图像后,所述游戏图像包括虚拟对象和虚拟地图,从所述游戏图像中获取虚拟地图对应的第一图像,所述第一图像包括关键区域和背景区域,然后,在所述第一图像中截取所述关键区域的图像,得到所述虚拟地图对应的第二图像,接着,对对所述目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,最后,基于所述目标图像对预设控制模型进行训练,得到所述目标游戏的操作控制模型,以通过所述操作控制模型对所述目标游戏中的虚拟对象进行控制。因此,该方案可以减少模型训练的时间,进而提高模型训练的效率。

附图说明

为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本申请提供的虚拟对象控制方法的场景示意图;

图1b是本申请提供的虚拟对象控制方法的流程示意图;

图1c是本申请提供的虚拟对象控制方法中图像拼接的示意图;

图1d~图1e是本申请提供的虚拟对象控制方法中模板匹配的流程图;

图2a是本申请提供的虚拟对象控制方法的另一流程示意图;

图2b是本申请提供的语义分割网络的结构示意图;

图2c是本申请提供的虚拟对象控制方法的另一场景示意图;

图2d是虚拟对象控制系统中场景识别模块识别虚拟对象的速度值的示意图;

图3是本申请提供的虚拟对象控制装置的结构示意图;

图4是本申请提供的电子设备的结构示意图。

具体实施方式

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

本申请提供一种虚拟对象控制方法、装置、电子设备和存储介质。

其中,该虚拟对象控制装置具体可以集成在服务器中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

例如,请参阅图1a,该虚拟对象控制装置集成在服务器上,服务器采集目标游戏的游戏图像,游戏图像包括虚拟对象和虚拟地图,其中,目标游戏可以为多人竞速游戏,以下以多人竞速游戏为例进行说明,服务器从游戏图像中获取虚拟地图对应的第一图像,第一图像包括关键区域和背景区域,然后,服务器在第一图像中截取所述关键区域的图像,得到虚拟地图对应的第二图像,接着,服务器对目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,最后,服务器基于目标图像对预设控制模型进行训练,得到目标游戏的操作控制模型,以通过操作控制模型对目标游戏中的虚拟对象进行控制,比如,当服务器接收到用户针对游戏引擎触发的人机对抗模式请求,服务器基于人机对抗模式请求控制目标游戏中的虚拟对象。

本申请提供的虚拟对象控制方案预先从游戏图像中获取虚拟地图对应的第一图像,并在第一图像中截取关键区域的图像,然后,将目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,在训练时,利用目标图像对预设控制模型进行训练,不需要在图像中确定关注的区域(关键区域),,并且,在实际运用时,采用本申请操作控制模型控制的虚拟对象不仅可以关注虚拟对象当前的视野信息,如障碍物等等,还可以关注到与决策有关的区域,使得在复杂的游戏场景下,虚拟对象可以执行正确的游戏行为完成游戏对局,因此,本申请的方案可以预测虚拟角色的游戏行为的准确率。

以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。

一种虚拟对象控制方法,包括:采集目标游戏的游戏图像,从所述游戏图像中获取虚拟地图对应的第一图像,在所述第一图像中截取所述关键区域的图像,得到所述虚拟地图对应的第二图像,对所述目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,得到目标图像,基于目标图像对预设控制模型进行训练,得到目标游戏的操作控制模型,以通过操作控制模型对目标游戏中的虚拟对象进行控制。

请参阅图1b,图1b为本申请提供的虚拟对象控制方法的流程示意图。该虚拟对象控制方法的具体流程可以如下:

101、采集目标游戏的游戏图像。

其中,游戏图像包括虚拟对象和虚拟地图,目标游戏可以是多人竞速游戏或多人射击游戏,具体可以从目标游戏的数据库中采集虚拟对象历史对局的游戏图像,该历史游戏数据可以是保存在本地的,也可以是通过访问网络接口拉取得到的;也可以是实时采集从目标游戏中采集游戏图像,具体可以实际情况进行设置。

102、从游戏图像中获取虚拟地图对应的第一图像。

其中,第一图像包括关键区域和背景区域,关键区域为与决策有关的区域,比如游戏图像中虚拟地图对应的小地图的区域以及虚拟对象视野范围内的地图区域,背景区域为与决策无关的区域,如赛道的装饰物以及墙壁的颜色等等,在多人竞速游戏中,虚拟对象实际上是在游戏地图中进行游戏,游戏地图即为游戏的场景,游戏地图可以包括道路区域以及非道路区域,虚拟对象需要在道路区域中与其他虚拟对象完成竞速比赛。

其中,可以以虚拟地图的形式在用户的游戏界面中显示。为了避免在图像中确定关注的区域而降低了模型训练的效率,或者,由于虚拟地图在游戏地图中的占比较小,导致机器进行标注时容易忽略一些细节的部分,因此,在本申请中可以从游戏图像中截取虚拟地图对应的图像,在一些实施例中,可以获取目标游戏的参数信息,并根据获取的参数信息确定目标游戏的虚拟地图在游戏图像中的位置,最后,基于确定的位置从游戏图像中获取虚拟地图对应的图像。

另外,在一些游戏中,虚拟地图在游戏图像中的位置是可以根据用户的选择进行设置的,因此,采用上述方式可能会导致从游戏图像中无法截取到虚拟地图对应的图像,在一些实施例中,本申请可以通过以下方法来获取虚拟地图对应的图像:

(11)获取图像分割模型;

(12)根据图像分割模型识别游戏图像中每个像素所属的像素类型;

(13)将像素类型为地图像素类型的像素确定为目标像素;

(14)根据确定的目标像素从所述游戏图像中获取虚拟地图对应的第一图像。

例如,具体的,可以采用图像分割模型识别游戏图像中每个像素的像素类型,在一些实施例中,图像分割模型可以预测游戏图像中像素a属于地图像素类型的概率为80%,像素a属于非地图像素类型的概率为50%,那么,则可以确定像素a为地图像素类型,最后,据确定的目标像素从所述游戏图像中获取虚拟地图对应的第一图像。

其中,图像分割模型可以是预先设置的,图像分割模型用于区分地图区域的像素和非地图区域的像素,图像分割模型可以包括卷积层、全连接层、池化层以及输出层等等。

其中,卷积层主要用于对输入的图像(比如训练样本或需要识别的图像)进行特征提取,其中,卷积核大小以及卷积核的数量可以根据实际应用而定,比如,从第一层卷积层至第四层卷积层的卷积核大小依次可以为(7,7),(5,5),(3,3),(3,3);可选的,为了降低计算的复杂度,提高计算效率,在本实施例中,这四层卷积层的卷积核大小可以都设置为(3,3),激活函数均采用“relu(线性整流函数,rectifiedlinearunit)”,所谓激活函数(activationfunction),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端,而padding(padding,指属性定义元素边框与元素内容之间的空间)方式均设置为“same”,“same”填充方式可以简单理解为以0填充边缘,左边(上边)补0的个数和右边(下边)补0的个数一样或少一个,其主要目的为:在卷积的时候,保证图像的大小不会发生变化,其次,可以防止图像的信息丢失。

可选的,卷积层与卷积层之间可以通过直连的方式连接,从而加快网络收敛速度。为了进一步减少计算量,还可以在第二至第四层卷积层中的所有层或任意1~2层进行下采样(pooling)操作,该下采样操作与卷积的操作基本相同,只不过下采样的卷积核为只取对应位置的最大值(maxpooling)或平均值(averagepooling)等,为了描述方便,在本发明实施例中,将均以在第二层卷积层和第三次卷积层中进行下采样操作,且该下采样操作具体为maxpooling(最大池化)为例进行说明。

需说明的是,为了描述方便,在本发明实施例中,将激活函数所在层和下采样层(也称为池化层)均归入卷积层中,应当理解的是,也可以认为该结构包括卷积层、激活函数所在层、下采样层(即池化层)和全连接层,当然,还可以包括用于输入数据(如原始图像)的输入层和用于输出数据(如操作评价值)的输出层,在此不再赘述。

全连接层:可以将学到的特征映射到样本标记空间,其在整个卷积神经网络中主要起到“分类器”的作用,全连接层的每一个结点都与上一层(如卷积层中的下采样层)输出的所有结点相连,其中,全连接层的一个结点即称为全连接层中的一个神经元,全连接层中神经元的数量可以根据实际应用的需求而定,比如,在该文本检测模型中,全连接层的神经元数量可以均设置为512个,或者,也可以均设置为128个,等等。与卷积层类似,可选的,在全连接层中,也可以通过加入激活函数来加入非线性因素,比如,可以加入激活函数sigmoid(s型函数)。

103、在第一图像中截取关键区域的图像,得到虚拟地图对应的第二图像。

为了便于后续训练得到的操作控制模型不仅可以关注虚拟对象当前的视野信息,如障碍物等等,还可以关注到与决策有关的区域(关键区域),因此,在本申请中,在第一图像中截取关键区域的图像,得到虚拟地图对应的第二图像,以便于后续对模型进行训练。

104、对目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像。

在本申请中对第二图像进行缩小或放大,以便后续对图像块与游戏图像进行拼接,具体的,可以根据游戏图像的尺寸信息对第二图像进行缩放处理,即,可选的,步骤“对截取的图像块进行缩放处理,得到游戏图像对应的缩放后图像块”,具体可以包括:

(21)获取游戏图像的尺寸信息;

(22)根据尺寸信息对第二图像的尺寸进行调整;

(23)对目标游戏的游戏图像与调整后的第二图像进行拼接,得到目标图像。

一般的,为了便于玩家对游戏中的虚拟角色进行控制,通常会在游戏图像中的某个位置上设置游戏地图,可以理解的是,第二图像的尺寸是小于游戏图像的尺寸的,假设游戏图像的长度为l1,宽度为w1,第二图像的长度为l2,宽度为w2,则可以确定游戏图像与第二图像之间的长度比为l1/l2,宽度比为w1/w2,然后,基于确定的长度比和宽度比对第二图像的尺寸进行调整,最后,对目标游戏的游戏图像与调整后的第二图像进行拼接,得到目标图像。

例如,具体的,请参阅图1c,首先确定待拼接图像(游戏图像与第二图像)之间的拼接区域q,然后,在拼接区域处对游戏图像a与第二图像b进行拼接,得到目标图像c,需要说明的是,在图像拼接中,有一种情况是全景的拼接,而由于游戏图像a与第二图像b并不是连续的图像,即,本申请的拼接并不属于全景的拼接,因此,无需对游戏图像与第二图像进行图像配准。

105、基于目标图像对预设控制模型进行训练,得到目标游戏的操作控制模型,以通过操作控制模型对目标游戏中的虚拟对象进行控制。

多人竞速游戏戏主要是在比赛场景下进行的,虚拟对象需要根据比赛场景的改变进行决策调整,也就是说,虚拟对象在游戏对局中所执行的每个游戏行为,都可能会影响到对局的胜利,在此,引进强化学习的概念,强化学习是机器学习的一个分支,强调如何基于环境行动,以取得最大化的预期利益,其灵感来源于心理学中的行为主义理论,即智能体(虚拟对象)如何在环境的奖励或惩罚刺激下,逐步形成对刺激的预期,产生能最大化利益的习惯性行为,其中强化学习是智能体以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏,强化学习不同于连接主义学习中的监督学习,主要表现在强化信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统rls(reinforcementlearningsystem)如何去产生正确的动作。由于外部环境提供的信息很少,rls必须靠自身的经历进行学习。通过这种方式,rls在行动-评价的环境中获得知识,改进行动方案以适应环境,强化学习可分为基于模式的强化学习(model-basedrl)和无模式强化学习(model-freerl),以及主动强化学习(activerl)和被动强化学习(passiverl)。强化学习的变体包括逆向强化学习、阶层强化学习和部分可观测系统的强化学习。求解强化学习问题所使用的算法可分为策略搜索算法和值函数(valuefunction)算法两类。深度学习模型可以在强化学习中得到使用,形成深度强化学习模型。

其中,本申请的预设控制模型可以为深度q网络模型(dqn,deepq-network),预设控制模型用于函数估计或近似,包括输入层、中间层和输出层,每个层由大量处理单元相互联结构成,每个节点使用激励函数对输入的数据进行处理并输出给其他节点,激励函数的示例性的类型包括阈值型、线性型和s生长曲线(sigmoid)型等。

具体的,可以获取预设控制模型,然后,提取目标图像中虚拟对象的运动状态特征,接着,采用预设控制模型预测运动状态特征对应的操作评价值,最后,基于虚拟对象在游戏地图中的速度信息以及预测的操作评价值对预设控制模型的参数进行调整,得到操作控制模型,即,可选的,在一些实施例中,步骤“基于目标图像对预设控制模型进行训练,得到操作控制模型”,具体可以包括:

(31)获取预设控制模型;

(32)提取目标图像中虚拟对象的运动状态特征;

(33)采用预设控制模型预测运动状态特征对应的操作评价值;

(33)基于虚拟对象在游戏地图中的速度信息以及预测的操作评价值对预设控制模型的参数进行调整,得到操作控制模型。

例如,在多人竞速游戏中,目标图像中虚拟对象的运动状态为行驶状态,此时,可以根据虚拟对象在当前游戏中的速度从预设参考操作集合中选择多个参考操作,然后,预测虚拟对象执行选择的参考操作后对应的操作评价值,得到虚拟对象执行各参考动作对应的参考操作评价值,最后,基于虚拟对象执行各参考动作对应的参考操作评价值对预设控制模型的参数进行调整,得到操作控制模型,即,在一些实施例中,步骤“基于虚拟对象在游戏地图中的速度信息以及预测的操作评价值对预设控制模型的参数进行调整,得到操作控制模型”,包括:

(41)获取虚拟对象处于当前运动状态下的速度信息;

(42)根据速度信息从预设参考操作集合中选择多个参考操作;

(43)基于预设控制模型预测虚拟对象执行选择的参考操作后对应的操作评价值,得到虚拟对象执行各参考动作对应的参考操作评价值;

(44)基于虚拟对象执行各参考动作对应的参考操作评价值对预设控制模型的参数进行调整,得到操作控制模型。

其中,可以通过图像识别算法识别游戏图像中的速度值,进而得到虚拟对象处于当前运动状态下的速度信息,具体的,在一些实施例中,可以基于模板匹配的算法,采集虚拟对象处于当前运动状态下的速度信息,请参阅图1d,首先,可以采集数字模板的图像,然后,基于数字模板的图像检测游戏图像中的速度值,最后,输出结果(即虚拟对象的速度信息),具体的,如图1e所示,可以采集数字模板的图像,比如,分别采集0-9这10个数字的模板,给某个数字子图像设置一个识别号,如“0”对应的识别号为0,“1”对应的识别号为1,“2”对应的识别号为2,依次类推,然后,根据数字模板的图像识别游戏图像中虚拟对象的数字,最后,将识别的数字进行组装,输出最终的数值(即速度信息)。

在采集到虚拟对象的速度信息后,可以根据速度信息从预设参考操作集合中选择多个参考操作,最后,基于当前运动状态以及多个参考操作对预设控制模型进行训练,得到操作控制模型,即,在本申请中,根据速度信息构建预设操作模型的激励数据,比如,虚拟对象当前的运动状态为行驶状态,其速度信息指示该虚拟对象的速度为10,那么可以根据速度信息从预设操作集合中选择“向左”、“向右”及“直行”这三个操作,然后,采用预设控制模型计算虚拟对象直行各参考动作后对应的操作评价值,最后,根据计算结果对预设控制模型进行训练,得到操作控制模型,即,可选的,在一些实施例中,步骤“基于虚拟对象执行各参考动作对应的参考操作评价值对预设控制模型的参数进行调整”,具体可以包括:

(51)根据预设控制模型输出所述虚拟对象执行各参考动作对应的参考操作评价值;

(52)将操作评价值最高的参考操作确定为目标操作;

(53)根据目标操作对虚拟对象的运动状态进行更新,得到执行目标操作后虚拟对象对应的更新后运动状态;

(54)基于更新后运动状态对预设控制模型的参数进行调整,得到操作控制模型。

需要说明的是,操作评价值为执行参考操作对应的价值评估值,dqn模型是将深度学习与强化学习习结合起来从而实现从感知(perception)到动作(action)的端对端(end-to-end)学习的一种算法,是卷积神经网络(cnn,convolutionalneuralnetwork)与q-learning的结合,cnn的输入是原始图像数据(作为状态state),输出则是每个动作action对应的价值评估valuefunction(q值)。

dqn模型是用一个深度神经网络来作为q值的模型,参数为ω,q(s,a,ω)≈qπ(s,a),在q值中适用均方差mean-square-erroe来定义目标函数,即损失函数l(ω)=e[(r+γ·maxa'q(s',a',ω)-q(s,a,ω)2)]‘’

其中,s为更新后状态,s’为当前状态,a为将要执行的操作,a’为当前的操作,可以看到,将更新的q值(r+γ·maxa'q(s',a',ω))作为目标值,有了目标值,又有当前的q值q(s,a,ω)2,那么偏差就能通过均方差进行计算,然后,可以使用梯度下降算法实现端对端的优化,从而得到最优的q值。

进一步的,可以根据更新后运动状态计算激励反馈数据,然后,基于激励反馈数据调整预设控制模型的模型参数,接着,将更新后运动状态更新为目标图像中虚拟对象的运动状态,并返回基于当前运动状态对预设控制模型进行训练,直到预设控制模型训练完毕,得到操作控制模型,具体的,可以根据当前运动状态以及更新后运动状态计算得到激励值,然后,基于激励值和更新后运动状态对预设控制模型进行训练,并返回基于当前运动状态对预设控制模型进行训练,直到预设控制模型训练完毕,得到操作控制模型,其中,根据当前运动状态以及更新后运动状态计算得到激励值具体可以为:根据当前运动状态以及更新后运动状态,生成状态变化信息,然后,根据状态变化信息和激励值之间的映射关系,确定对应的激励值,例如,状态变化包括虚拟对象生命值速度值的变化,状态变化与激励值之间的映射关系为线性关系,若速度值减少,相应的激励值为负值。

本申请在采集目标游戏的游戏图像后,从游戏图像中获取虚拟地图对应的第一图像,然后,在第一图像中截取关键区域的图像,得到虚拟地图对应的第二图像,接着,对目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,最后,基于目标图像对预设控制模型进行训练,得到目标游戏的操作控制模型,以通过操作控制模型对目标游戏中的虚拟对象进行控制。本申请预先从游戏图像中获取虚拟地图对应的第一图像,并在第一图像中截取关键区域的图像,然后,将目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,在训练时,利用目标图像对预设控制模型进行训练,不需要在图像中确定关注的区域(关键区域),,并且,在实际运用时,采用本申请操作控制模型控制的虚拟对象不仅可以关注虚拟对象当前的视野信息,如障碍物等等,还可以关注到与决策有关的区域,使得在复杂的游戏场景下,虚拟对象可以执行正确的游戏行为完成游戏对局,因此,本申请的方案可以预测虚拟角色的游戏行为的准确率。

根据实施例所述的方法,以下将举例进一步详细说明。

在本实施例中将以该虚拟角色控制装置具体集成在服务器中为例进行说明。

请参阅图2a,一种虚拟对象控制方法,具体流程可以如下:

201、服务器采集目标游戏的游戏图像。

其中,游戏图像包括虚拟对象和虚拟地图,目标游戏可以是多人竞速游戏或多人射击游戏,具体可以从目标游戏的数据库中采集虚拟对象历史对局的游戏图像,该历史游戏数据可以是保存在本地的,也可以是通过访问网络接口拉取得到的;也可以是实时采集从目标游戏中采集游戏图像,具体可以实际情况进行设置。

202、服务器从游戏图像中获取虚拟地图对应的第一图像。

例如,具体的,服务器可以获取目标游戏的参数信息,并根据获取的参数信息确定目标游戏的虚拟地图在游戏图像中的位置,最后,基于确定的位置从游戏图像中截取虚拟地图对应的图像块。

比如,在本申请中,服务器可以基于语义分割算法unet的框架从游戏图像中截取虚拟地图对应的图像块,具体的,请参阅图2b,所采用的网络结构如图2b所示。其中,filter表示卷积层的个数,size表示卷积核的大小(如:size:3,表示卷积核的大小位3*3,stride为1表示步长),conv表示卷积操作,bn表示归一化操作,concat表示连接操作,maxpool表示最大值池化操作,upsample表示上采样,unsample后的s参数表示上采样的倍数,其中,本申请的方案是在基础的unet网络上减少网络的深度和每一层卷积层的数量,达到实时性的要求,同时应用hypercolumns机制,使得特征图既有强语义性又有丰富的细粒度信息。

其中,图中i部分为特征提取部分,o部分为上采样部分,在特征提取部分中,每经过一个卷积层为一个尺度,上采样部分,每上采样一次,就和特征提取部分对应的通道数相同尺度融合,从图中可以看出,特征提取部分的每个卷积层得到的特征图都会连接到对应的上采样层,从而实现对每层特征图都有效使用到后续计算中,unet避免了直接在高维度特征图中进行监督和损失函数的计算,而是结合了低维度特征图中的特征,从而可以使得最终所得到的目标特征图中既包含了高维度的特征,也包含很多的低维度的特征,实现了不同尺寸下特征的融合,提高模型的结果精确度。

具体的,输入一张大小为128*128*3的游戏图像,该游戏图像包含游戏地图,然后,通过对该游戏图像进行特征提取,根据提取的特征识别游戏图像中每个像素所属的像素类型,然后,基于识别的像素类型对虚拟图像中的像素进行分类,从而在游戏图像上获取虚拟地图对应的第一图像。

还需要说明的是,应用hypercolumns机制,把各个层的特征图进行插值,恢复到图像分块大小,使得特征图既有强语义性又有丰富的细粒度信息。

203、服务器在第一图像中截取关键区域的图像,得到虚拟地图对应的第二图像。

204、服务器对目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像。

比如,服务器首先确定待拼接图像(游戏图像与第二图像)之间的拼接区域,然后,在拼接区域处对游戏图像与第二图像进行拼接,得到目标图像。

205、服务器基于目标图像对预设控制模型进行训练,得到目标游戏的操作控制模型,以通过操作控制模型对目标游戏中的虚拟对象进行控制。

例如,在多人竞速游戏中,目标图像中虚拟对象的运动状态(即当前运动状态)为行驶状态,此时,服务器可以根据虚拟状态在当前游戏中的速度从预设参考操作集合中选择多个参考操作其中,参考操作可以包括前进、向左、向右以及后退等等,然后,服务器根据当前控制以及多个参考操作对预设控制进行训练,得到操作控制模型,比如,在竞速游戏中,第一个到达则为获胜,因此,服务器则从预设参考操作集合中选择前进、向左以及向右这三个参考操作,进一步的,在实际的游戏过程中,服务器实时采集当前游戏图像,然后,服务器从当前游戏图像中截取虚拟地图对应的图像块,接着,服务器对截取的图像块进行缩放处理,得到当前游戏图像对应的缩放后图像块,再然后,服务器对当前游戏图像与其缩放后图像块进行拼接,得到目标图像,最后,服务器将目标图像输入至操作控制模型中,通过该操作控制模型输出目标图像中虚拟对象每个动作的q值,服务器选择q值最大的动作,作为最后的输出动作。

为了便于进一步理解本申请的的虚拟对象控制系统,请参阅图2c,如图所示为虚拟对象控制系统的示意图,该系统包括截图模块、图像分割模块、拼接模块、场景识别模块以及强化学习模块,在训练流程中,以“qq飞车”手游为例,截图模块从手机端截图,得到游戏图像,该游戏图像包括用户控制的虚拟赛车、游戏小地图以及游戏场景等等,然后,图像分割模块从游戏图像中分割出虚拟地图对应的图像块,接着,拼接模块将虚拟地图对应的图像块与游戏地图进行拼接,并将目标图像发送至强化学习模块,强化学习模块基于目标图像对强化学习模块中的预设控制模型进行训练,得到操作控制模型,具体的流程请参阅前面实施例,在此不再赘述,在实际使用时,强化学习模块只需要进行网络的前向运算,即,强化学习模块的输入是目标图像,输出为每个决策(操作)对应的操作评价值,最后,可以将操作评价值最高的决策确定为虚拟对象所要执行的决策,其中,需要说明的是,在本申请中,场景识别模块用于识别虚拟对象当前运动状态的速度,比如,识别虚拟赛车的当前时速,并将识别的时速发送至强化学习模块,强化学习模块根据识别的时速选择需要执行的决策,如左转或右转的,具体的,请参阅图2d,场景识别模块基于模板匹配的算法,通过模板匹配算法的接口函数,调用相应的模板,如图所示的检测区域中,利用模板8识别到数字8、以及模板1识别到数字1,然后,将数字值进行组装,输出虚拟对象的速度值,即,速度值为8*10+1=81,具体方法请参阅前面实施例,在此不再赘述。

本申请的服务器在采集目标游戏的游戏图像后,服务器从游戏图像中获取虚拟地图对应的第一图像,然后,服务器在第一图像中截取关键区域的图像,得到虚拟地图对应的第二图像,接着,服务器对目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,最后,服务器基于目标图像对预设控制模型进行训练,得到目标游戏的操作控制模型,以通过操作控制模型对目标游戏中的虚拟对象进行控制。本申请提供的服务器预先从游戏图像中获取虚拟地图对应的第一图像,并在第一图像中截取关键区域的图像,然后,将目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,在训练时,利用目标图像对预设控制模型进行训练,不需要在图像中确定关注的区域(关键区域),,并且,在实际运用时,采用本申请操作控制模型控制的虚拟对象不仅可以关注虚拟对象当前的视野信息,如障碍物等等,还可以关注到与决策有关的区域,使得在复杂的游戏场景下,虚拟对象可以执行正确的游戏行为完成游戏对局,因此,本申请的方案可以预测虚拟角色的游戏行为的准确率。

为便于更好的实施本申请的虚拟对象控制方法,本申请还提供一种基于上述虚拟对象控制装置(简称控制装置)。其中名词的含义与上述虚拟对象控制方法中相同,具体实现细节可以参考方法实施例中的说明。

请参阅图3,图3为本申请提供的虚拟对象控制装置的结构示意图,其中该控制装置可以包括采集模块301、获取模块302、截取模块303、合成模块304、训练模块305以及控制模块306,具体可以如下:

采集模块301,用于采集目标游戏的游戏图像。

其中,游戏图像包括虚拟对象和虚拟地图,目标游戏可以是多人竞速游戏或多人射击游戏,采集模块301具体可以从目标游戏的数据库中采集虚拟对象历史对局的游戏图像,该历史游戏数据可以是保存在本地的,也可以是通过访问网络接口拉取得到的;也可以是实时采集从目标游戏中采集游戏图像,具体可以实际情况进行设置。

获取模块302,用于从游戏图像中截取虚拟地图对应的图像块。

例如,具体的,获取模块302可以获取目标游戏的参数信息,并根据获取的参数信息确定目标游戏的虚拟地图在游戏图像中的位置,最后,获取模块302基于确定的位置从游戏图像中获取虚拟地图对应的第一图像。

可选的,在一些实施例中,获取模块302具体可以用于:获获取图像分割模型,根据尺寸信息对第二图像的尺寸进行调整,对目标游戏的游戏图像与调整后的第二图像进行拼接,得到目标图像。

截取模块303,用于从第一图像中截取关键区域的图像,得到虚拟地图对应的第二图像。

合成模块304,用于对目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像。

比如,拼接模块304首先确定待拼接图像(游戏图像与第二图像)之间的拼接区域,然后,拼接模块304在拼接区域处对游戏图像与第二图像进行拼接,得到目标图像。

训练模块305,用于基于目标图像对预设控制模型进行训练,得到目标游戏的操作控制模型。

例如,在多人竞速游戏中,目标图像中虚拟对象的运动状态(即当前运动状态)为行驶状态,此时,训练模块305可以根据虚拟状态在当前游戏中的速度从预设参考操作集合中选择多个参考操作,然后,训练模块305根据当前控制以及多个参考操作对预设控制进行训练,得到操作控制模型,在实际的游戏过程中,训练模块305实时采集当前游戏图像,然后,训练模块305从当前游戏图像中截取虚拟地图对应的图像块,接着,训练模块305对截取的图像块进行缩放处理,得到当前游戏图像对应的缩放后图像块,再然后,训练模块305对当前游戏图像与第二图像进行拼接,得到目标图像,最后,训练模块305将目标图像输入至操作控制模型中,通过该操作控制模型输出目标图像中虚拟对象每个动作的q值,服务器选择q值最大的动作,作为最后的输出动作。

可选的,在一些实施例中,训练模块305具体可以包括:

获取子模块,用于获取预设控制模型;

提取子模块,用于提取目标图像中虚拟对象的运动状态特征

预测子模块,用于采用预设控制模型预测运动状态特征对应的操作评价值;

调整子模块,用于基于虚拟对象在所述游戏地图中的速度信息以及预测的操作评价值对预设控制模型的参数进行调整,得到操作控制模型。

可选的,在一些实施例中,调整子模块具体可以包括:

获取单元,用于获取虚拟对象处于当前运动状态下的速度信息;

选择单元,用于根据速度信息从预设参考操作集合中选择多个参考操作;

预测单元,用于基于预设控制模型预测虚拟对象执行选择的参考操作后对应的操作评价值,得到虚拟对象执行各参考动作对应的参考操作评价值;

调整单元,用于基于虚拟对象执行各参考动作对应的参考操作评价值对预设控制模型的参数进行调整,得到操作控制模型。

可选的,在一些实施例中,训练单元具体可以包括:

输出子单元,用于根据预设控制模型输出所述虚拟对象执行各参考动作对应的参考操作评价值;

确定子单元,用于将操作评价值最高的参考操作确定为目标操作;

更新子单元,用于根据所述目标操作对所述虚拟对象的运动状态进行更新,得到执行所述目标操作后所述虚拟对象对应的更新后运动状态;

调整子单元,用于基于更新后运动状态对预设控制模型的参数进行调整,得到操作控制模型。

可选的,在一些实施例中,调整子单元具体可以用于:根据更新后运动状态计算激励反馈数据;基于激励反馈数据调整预设控制模型的模型参数;将更新后运动状态更新为目标图像中虚拟对象的运动状态,并返回基于虚拟对象在游戏地图中的速度信息以及预测的操作评价值对预设控制模型的参数进行调整,以得到操作控制模型。

控制模块306,用于通过操作控制模型对目标游戏中的虚拟对象进行控制。

本申请的采集模块301在采集目标游戏的游戏图像后,获取模块302从游戏图像中获取虚拟地图对应的第一图像,然后,截取模块303在第一图像中截取关键区域的图像,得到虚拟地图对应的第二图像,接着,拼接模块304对目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,最后,训练模块305基于目标图像对预设控制模型进行训练,得到目标游戏的操作控制模型,控制模块306通过操作控制模型对目标游戏中的虚拟对象进行控制。本申请提供的虚拟对象控制装置预先从游戏图像中获取虚拟地图对应的第一图像,并在第一图像中截取关键区域的图像,然后,将目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,在训练时,利用目标图像对预设控制模型进行训练,不需要在图像中确定关注的区域(关键区域),,并且,在实际运用时,采用本申请操作控制模型控制的虚拟对象不仅可以关注虚拟对象当前的视野信息,如障碍物等等,还可以关注到与决策有关的区域,使得在复杂的游戏场景下,虚拟对象可以执行正确的游戏行为完成游戏对局,因此,本申请的方案可以预测虚拟角色的游戏行为的准确率。

此外,本申请还提供一种电子设备,如图4所示,其示出了本申请所涉及的电子设备的结构示意图,具体来讲:

该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。

存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。

电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:

采集目标游戏的游戏图像,从所述游戏图像中获取虚拟地图对应的第一图像,在所述第一图像中截取所述关键区域的图像,得到所述虚拟地图对应的第二图像,对所述目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,得到目标图像,基于目标图像对预设控制模型进行训练,得到目标游戏的操作控制模型,以通过操作控制模型对目标游戏中的虚拟对象进行控制。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

本申请在采集目标游戏的游戏图像后,从游戏图像中获取虚拟地图对应的第一图像,然后,在第一图像中截取关键区域的图像,得到虚拟地图对应的第二图像,接着,对目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,最后,基于目标图像对预设控制模型进行训练,得到目标游戏的操作控制模型,以通过操作控制模型对目标游戏中的虚拟对象进行控制。本申请预先从游戏图像中获取虚拟地图对应的第一图像,并在第一图像中截取关键区域的图像,然后,将目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,在训练时,利用目标图像对预设控制模型进行训练,不需要在图像中确定关注的区域(关键区域),,并且,在实际运用时,采用本申请操作控制模型控制的虚拟对象不仅可以关注虚拟对象当前的视野信息,如障碍物等等,还可以关注到与决策有关的区域,使得在复杂的游戏场景下,虚拟对象可以执行正确的游戏行为完成游戏对局,因此,本申请的方案可以预测虚拟角色的游戏行为的准确率。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请所提供的任一种虚拟对象控制方法中的步骤。例如,该指令可以执行如下步骤:

采集目标游戏的游戏图像,从所述游戏图像中获取虚拟地图对应的第一图像,在所述第一图像中截取所述关键区域的图像,得到所述虚拟地图对应的第二图像,对所述目标游戏的游戏图像与虚拟地图对应的第二图像进行合成,得到目标图像,得到目标图像,基于目标图像对预设控制模型进行训练,得到目标游戏的操作控制模型,以通过操作控制模型对目标游戏中的虚拟对象进行控制。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本申请所提供的任一种虚拟对象控制方法中的步骤,因此,可以实现本申请所提供的任一种虚拟对象控制方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。

以上对本申请所提供的一种虚拟对象控制方法、装置、电子设备以及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips