CN110339569B - 控制游戏场景中虚拟角色的方法及装置 - Google Patents
控制游戏场景中虚拟角色的方法及装置 Download PDFInfo
- Publication number
- CN110339569B CN110339569B CN201910611581.5A CN201910611581A CN110339569B CN 110339569 B CN110339569 B CN 110339569B CN 201910611581 A CN201910611581 A CN 201910611581A CN 110339569 B CN110339569 B CN 110339569B
- Authority
- CN
- China
- Prior art keywords
- network model
- action
- sample
- frame data
- game
- 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
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种控制游戏场景中虚拟角色的方法及装置。其中,该方法包括:采用训练网络模型来控制游戏虚拟角色的方式,获取虚拟角色当前所在的游戏场景的帧数据;将该帧数据输入至第一网络模型,通过该第一网络模型输出的与该帧数据对应的每个动作标签的概率,其中,该概率最大的动作标签被确定为目标动作标签;控制该虚拟角色在该游戏场景中执行该目标动作标签对应的动作,达到了依据当前游戏的界面做出实时反应的目的,从而实现了使得虚拟角色动作与真人玩家的控制操作相似的技术效果,进而解决了相关技术中虚拟角色的动作行为失真导致游戏运行不流畅的技术问题。
Description
技术领域
本发明涉及游戏领域,具体而言,涉及一种控制游戏场景中虚拟角色的方法及装置。
背景技术
在相关技术中,跑酷类游戏是很多玩家非常钟爱的游戏,在用户开启跑酷类游戏时,往往需要跑酷类游戏展示一段非玩家角色(Not Player Character,简称为NPC)自动跑酷类的场景,以吸引用户。同时,在用户玩游戏的过程中,为避免用户孤单,可能需要设置NPC参与比赛,即需要人机对战。或者,在游戏制作成功后,需要通过NPC来测试游戏。基于上述几点原因,相关技术中需要设计一套方案来控制NPC。
但是相关技术中训练的跑酷类游戏的NPC时,通常将跑酷类路线提前预设好,NPC的行为也都相应预设,NPC提前知晓障碍物的位置,使得NPC的行为缺乏实时性,不像在跑酷类场景中的实时做出的反应,NPC操作失真,与真人玩家的操作行为区别过大。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种控制游戏场景中虚拟角色的方法及装置,以至少解决相关技术中虚拟角色的动作行为失真导致游戏运行不流畅的技术问题。
根据本发明实施例的一个方面,提供了一种控制游戏场景中虚拟角色的方法,包括:获取虚拟角色当前所在的游戏场景的帧数据;将所述帧数据输入至第一网络模型,通过所述第一网络模型输出的与所述帧数据对应的每个动作标签的概率,其中,所述概率最大的动作标签被确定为目标动作标签;控制所述虚拟角色在所述游戏场景中执行所述目标动作标签对应的动作。
根据本申请实施例的另一个方面,还提供了一种网络模型的训练方法,包括:获取用户帐号控制虚拟角色的P局游戏的样本帧数据,以及与所述样本帧数据中的每帧样本图像对应的实际动作标签,其中,所述实际动作标签用于表示所述虚拟角色执行了动作集合中的一个动作,所述P为正数;按照预设比例对所述样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本,使得所述第一样本中每个动作标签对应的样本图像个数符合所述预设比例;获取预设有网络参数的原始网络模型,将所述第一样本中的第二图像作为所述原始网络模型的输入,所述第一样本中与所述第二图像对应的第二实际动作标签用于对所述原始网络模型的输出进行监督训练,直至满足预设条件时,确认所述原始网络模型训练完成,记为所述第一网络模型,其中,所述第一网络模型用于控制游戏场景中的虚拟角色。
根据本发明实施例的另一个方面,还提供了一种控制游戏场景中虚拟角色的装置,包括:第一获取模块,用于获取虚拟角色当前所在的游戏场景的帧数据;第二获取模块,用于将所述帧数据输入至第一网络模型,通过所述第一网络模型输出的与所述帧数据对应的每个动作标签的概率,其中,所述概率最大的动作标签被确定为目标动作标签;控制模块,用于控制所述虚拟角色在所述游戏场景中执行所述目标动作标签对应的动作。
可选地,所述第二获取模块还用于截取所述帧数据的部分区域图像,其中,所述部分区域中不包括游戏操作按钮所在的区域,所述游戏操作按钮包括:控制虚拟角色上跳按钮,控制虚拟角色下蹲按钮;将所述部分区域图像输入至所述第一网络模型。
可选地,所述动作标签包括以下至少之一:虚拟角色上跳动作,虚拟角色下蹲操作,虚拟角色默认动作。
可选地,所述第二获取模块还用于将所述帧数据输入至依次连接的N个子模型,其中,所述N个子模型依次包括:M个卷积层,一个全局平均池,一个全连接层,所述M个卷积层均为残差结构,N和M均为大于1的自然数,所述第一网络模型包括所述依次连接的N个子模型。
可选地,所述N和所述M的取值与用于运行所述游戏的终端上的中央处理器CPU算力和/或内存大小对应。
可选地,所述第二获取模块在将所述帧数据输入至第一网络模型之前,还包括以下单元:
第一单元,用于获取用户帐号控制虚拟角色的P局游戏的样本帧数据,以及与所述样本帧数据中的每帧样本图像对应的实际动作标签,其中,所述实际动作标签用于表示所述虚拟角色执行了动作集合中的一个动作,所述P为正数;
第二单元,用于按照预设比例对所述样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本,使得所述第一样本中每个动作标签对应的样本图像个数符合所述预设比例;
第三单元,用于获取预设有网络参数的原始网络模型,将所述第一样本中的第二图像作为所述原始网络模型的输入,所述第一样本中与所述第二图像对应的第二实际动作标签用于对所述原始网络模型的输出进行监督训练,直至满足预设条件时,确认所述原始网络模型训练完成,记为所述第一网络模型。
可选地,所述第二单元按照预设比例对所述样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本之前,包括:对每类动作标签对应的样本图像执行以下至少之一变化,将变化后的样本图像加入所述样本帧数据:对图像进行随机裁剪,对图像进行缩放,对图像进行非刚性变化。
可选地,所述第三单元还用于将所述第二图像作为所述原始网络模型的输入,获取所述原始网络模型输出的一个或多个动作标签的概率,概率最大的动作标签被确定为所述第二图像的第二动作标签;以及用于依据所述第二动作标签和所述第二实际动作标签计算所述原始网络模型的损失函数,依据所述损失函数调整所述网络参数,并记为一次监督学习;以及用于将所述第一样本中的所有图像和对应的实际动作标签轮流对所述原始网络模型进行监督学习后,记为一次迭代;以及用于在检测到迭代次数达到第一阈值或者所述原始网络模型的损失函数小于第二阈值时,确定满足所述预设条件,确认完成对所述原始网络模型的训练。
根据本发明实施例的另一个方面,还提供了一种网络模型的训练装置,包括:第三获取模块,用于获取用户帐号控制虚拟角色的P局游戏的样本帧数据,以及与所述样本帧数据中的每帧样本图像对应的实际动作标签,其中,所述实际动作标签用于表示所述虚拟角色执行了动作集合中的一个动作,所述P为正数;采样模块,用于按照预设比例对所述样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本,使得所述第一样本中每个动作标签对应的样本图像个数符合所述预设比例;第四获取模块,用于获取预设有网络参数的原始网络模型,将所述第一样本中的第二图像作为所述原始网络模型的输入,所述第一样本中与所述第二图像对应的第二实际动作标签用于对所述原始网络模型的输出进行监督训练,直至满足预设条件时,确认所述原始网络模型训练完成,记为所述第一网络模型,其中,所述第一网络模型用于控制游戏场景中的虚拟角色。
可选地,所述预设比例中不同动作标签对应的帧数据的比例相同。
可选地,所述第四获取模块还包括以下单元:
第四单元,用于将所述第二图像作为所述原始网络模型的输入,获取所述原始网络模型输出的一个或多个动作标签的概率,概率最大的动作标签被确定为所述第二图像的第二动作标签;
第五单元,用于依据所述第二动作标签和所述第二实际动作标签计算所述原始网络模型的损失函数,依据所述损失函数调整所述网络参数,并记为一次监督学习;
第六单元,用于将所述第一样本中的所有图像和对应的实际动作标签轮流对所述原始网络模型进行监督学习后,记为一次迭代;
第七单元,用于在检测到迭代次数达到第一阈值或者所述原始网络模型的损失函数小于第二阈值时,确定满足所述预设条件,确认完成对所述原始网络模型的训练。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述控制游戏场景中虚拟角色的方法,或者执行网络模型的训练方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述控制游戏场景中虚拟角色的方法,或者执行网络模型的训练方法。
在本发明实施例中,采用训练网络模型来控制游戏虚拟角色的方式,获取虚拟角色当前所在的游戏场景的帧数据;将该帧数据输入至第一网络模型,通过该第一网络模型输出的与该帧数据对应的每个动作标签的概率,其中,该概率最大的动作标签被确定为目标动作标签;控制该虚拟角色在该游戏场景中执行该目标动作标签对应的动作,达到了依据当前游戏的界面做出实时反应的目的,从而实现了使得虚拟角色动作与真人玩家的控制操作相似的技术效果,进而解决了相关技术中虚拟角色的动作行为失真导致游戏运行不流畅的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本申请实施例的方案应用场景示意图;
图2是根据本申请实施例的一种控制游戏场景中虚拟角色的方法流程图;
图3是根据相关技术中的残差结构的示意图;
图4是根据本申请另一个实施例的残差结构示意图;
图5是根据本申请实施例的截取帧数据的部分区域图像的示意图;
图6是根据本申请实施例的网络模型的网络架构示意图;
图7是根据本申请实施例的网络模型的训练方法流程图;
图8是根据本申请另一个实施例的跑酷类游戏样本示意图;
图9是根据本申请另一个实施例的训练跑酷类AI的方法流程图;
图10是根据本申请另一个实施例中针对跑酷类游戏中复杂画面的模仿学习算法流程图;
图11是根据本申请另一个实施例的控制游戏场景中虚拟角色的装置结构图;
图12是根据本申请另一个实施例的网络模型的训练装置;
图13是根据本申请另一个实施例的用于实施控制游戏场景中虚拟角色的方法的电子装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中有基于深度学习(Deep Q-Learning,简称为DQN)算法训练跑酷类游戏人工智能(Artificial Intelligence,简称为AI)的方法,其需要手工构建奖励函数,随后,不断与环境进行交互,拿到状态、动作和奖励的样本集合,目标函数为最大化游戏的奖励,该方案存在耗时过大、人工定义奖励函数成本过高等问题。基于DQN算法训练跑酷类游戏AI首先需要人工定义游戏的奖励函数,通过与游戏环境的不断交互,收集状态、动作和对应的奖励,随后采用DQN算法优化模型参数。经过不断的迭代更新之后,能得到优化的深度网络。该方案的缺点是需要多次与环境进行交互,这会消耗大量时间精力,同时,手工设计奖励依赖研究者对游戏较高的先验知识,而且人工设计的奖励不适用多种游戏场景。
另外相关技术中有基于小地图的模仿学习算法,这种算法将小地图作为深度网络的输入,输出为游戏的动作标签,由于小地图中的特征较为明显,通过结构较简单的网络也能得到较好的抽象特征。但是跑酷类游戏并不存在小地图信息,另外,游戏画面变化较为剧烈,通过结构简单的深度网络往往会丢失关键特征。基于小地图的模仿学习算法:首先通过人工的方式录制游戏样本,随后,将图像中的小地图区域作为轻量化深度网络的输入。在有小地图的情况下,该方案能达到不错的AI效果。然而,跑酷类游戏没有小地图信息,而跑酷类游戏的画面变化相比小地图更为剧烈,通过轻量化深度网络难以提取具备代表性的抽象特征。本方案构建了一个轻量化的残差网络,能在增加较少计算量的情况,通过残差网络提取的抽象特征,能更好得挖掘图像与游戏动作之间的内在关联。
本发明实施例针对跑酷类游戏中复杂画面的模仿学习算法提出了轻量化的残差网络。相比强化学习算法能加快游戏AI的训练。相比基于小地图的模型学习算法能抓住游戏画面中的重要特征。该方案能通过较少的人工录制的游戏样本模仿玩家的游戏行为,加快的游戏AI模型训练的速度。
下面对本申请文件涉及的技术术语进行说明:
CNN是Convolutional Neural Network的缩写,中文译为卷积神经网络。
AI是Artificial Intelligence的缩写,中文译为人工智能。
轻量级深度网络:参数量小,适用于中央处理器和嵌入式设备的小型深度网络。
深度特征:图像通过深度网络最终提取到的特征,包含了图像的抽象信息。
动作标签:游戏画面对应的人工标注的动作。
深度强化学习:强化学习中的一部分用深度学习的模型来实现,深度学习和强化学习的结合。
DQN算法:深度Q网络算法,是一种深度强化学习算法。
可选地,在本实施例中,图1是根据本申请实施例的方案应用场景示意图,如图1所示,上述控制游戏场景中虚拟角色的方法可以但不限于应用于服务器112中,用于协助应用客户端对当前游戏场景中的非玩家角色进行控制。其中,上述应用客户端可以但不限于运行在用户设备102中,该用户设备102可以但不限于为手机、平板电脑、笔记本电脑、PC机等支持运行应用客户端的终端设备。用户设备102可以包括存储器104,处理器106,显示器108,用户设备102通过网络110向服务器112发送信息,服务器112可以包括数据库114,处理引擎116,服务器112可以反馈处理结果至用户设备102。上述服务器104和用户设备102可以但不限于通过网络实现数据交互,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、无线保真WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不作任何限定。
根据本发明实施例的一个方面,提供了一种控制游戏场景中的虚拟角色的方法,可选地,作为一种可选的实施方式,上述控制游戏场景中虚拟角色的方法可以但不限于应用于如图1所示的环境中。
本实施例中的方案可以用于多类游戏中,此处以跑酷类游戏进行说明。
图2是根据本申请实施例的一种控制游戏场景中虚拟角色的方法流程图,该方案可以运行于用户设备,也可以运行于服务器侧,如图2所示,包括以下步骤:
步骤S202,获取虚拟角色当前所在的游戏场景的帧数据;
可选地,此处的虚拟角色可以是非玩家角色(Not Player Character,简称为NPC),虚拟角色的训练相当于后续另一个实施例中描述的游戏AI,二者的含义相同。
跑酷类游戏的当前场景可以显示在用户设备102的显示器108上,通过截图或者录制等方式,获取当前场景的帧数据。
该预设个数的帧数据可以是时间顺序上连贯的图像。
步骤S204,将该帧数据输入至第一网络模型,通过该第一网络模型输出的与该帧数据对应的每个动作标签的概率,其中,该概率最大的动作标签被确定为目标动作标签;
第一网络模型获取到该帧数据的全连接特征,该全连接特征用于表示与该帧数据对应的每个动作标签的概率,第一网络模型的输出为该概率最大的动作标签,记为目标动作标签。
可选地,上述第一网络模型可以是第一神经网络模型,第一神经网络模型是基于残差网络框架训练的。由第一网络模型的全连接层输出与帧数据对应的每个动作标签的概率。
残差网络框架可以包括多个残差结构,残差结构可以在图3的基础上进行适当调整后获取的,调整后的残差结构可以如图4中的(a)和(b)所示,图3是根据相关技术中的残差结构的示意图,如图3所示,输入特征经过卷积处理的结果,和输入特征进行相加,作为输出特征。图4是根据本申请另一个实施例的残差结构示意图,如图4(a)所示,将输入特征进行两路卷积运算,然后将两路的运算结果相加,获取输出特征;如图4(b)所示,将输入特征进行卷积运算,然后将运算结果和输入特征相加,获取输出特征。
步骤S206,控制该虚拟角色在该游戏场景中执行该目标动作标签对应的动作。
该动作标签包括以下至少之一:虚拟角色上跳动作,虚拟角色下蹲操作,虚拟角色默认动作。在跑酷类游戏中的NPC默认动作一般是向前移动。
采用上述方案,在本发明实施例中,采用训练网络模型来控制游戏虚拟角色的方式,获取虚拟角色当前所在的游戏场景的帧数据;将该帧数据输入至第一网络模型,通过该第一网络模型输出的与该帧数据对应的每个动作标签的概率,其中,该概率最大的动作标签被确定为目标动作标签;控制该虚拟角色在该游戏场景中执行该目标动作标签对应的动作,达到了依据当前游戏的界面做出实时反应的目的,从而实现了使得虚拟角色动作与真人玩家的控制操作相似的技术效果,进而解决了相关技术中虚拟角色的动作行为失真导致游戏运行不流畅的技术问题。
可选地,将该帧数据输入至第一网络模型,包括:截取该帧数据的部分区域图像,其中,该部分区域中不包括游戏操作按钮所在的区域,该游戏操作按钮包括:控制虚拟角色上跳按钮,控制虚拟角色下蹲按钮;将该部分区域图像输入至该第一网络模型。图5是根据本申请实施例的截取帧数据的部分区域图像的示意图,如图5所示,以跑酷类游戏为例,人物和障碍物所在的区域可以为部分区域,即刨除多余的背景画面,例如按钮所在的位置,图5中灰色位置显示的可以是跑道位置,采用该方案,将帧数据中无关的背景干扰进行消除,将消除干扰后的预设区域图像作为网络模型的输入,以提升输出结果的准确度。
可选地,将该帧数据输入至第一网络模型,包括:将该帧数据输入至依次连接的N个子模型,其中,该N个子模型依次包括:M个卷积层,一个全局平均池,一个全连接层,该M个卷积层均为残差结构,N和M均为大于1的自然数,该第一网络模型包括该依次连接的N个子模型。上述的N个子模型的连接示意图可以如图6所示,图6是根据本申请实施例的网络模型的网络架构示意图,如图6所示,从下至上依次包括多个卷积层Conv_block或Identity_block,和全局平均池Global Average Pooling,以及两个全连接层Dense。kernel size中文含义为内核的大小,output为输出。图6中从下至上的第三个卷积层Identity_block可以重复执行两次,第五个卷积层Identity_block可以重复执行三次,第七个卷积层Identity_block可以重复执行五次,第九个卷积层Identity_block可以重复执行两次,第十一个卷积层Identity_block可以重复执行两次。
可选地,该N和该M的取值与用于运行该跑酷类游戏的终端上的中央处理器CPU算力和/或内存大小对应。采用该方案,N和M的取值与终端的算力直接相关,保证网络模型的顺利运行。
可选地,在将该帧数据输入至第一网络模型之前,在将该帧数据输入至第一网络模型之前,获取用户帐号控制虚拟角色的P局游戏的样本帧数据,以及与该样本帧数据中的每帧样本图像对应的实际动作标签,其中,该实际动作标签用于表示该虚拟角色执行了动作集合中的一个动作,该P为正数;按照预设比例对该样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本,使得该第一样本中每个动作标签对应的样本图像个数符合该预设比例;获取预设有网络参数的原始网络模型,将该第一样本中的第二图像作为该原始网络模型的输入,该第一样本中与该第二图像对应的第二实际动作标签用于对该原始网络模型的输出进行监督训练,直至满足预设条件时,确认该原始网络模型训练完成,记为该第一网络模型。采用该方案,使用已有的样本数据对原始网络模型进行监督训练,充分利用残差网络可以提取图像深度特征的特点,保证训练出来的网络模型精确度。上述方案中的预设局数即为跑酷类游戏的局数,可以通过录制视频的方式获取用户帐号控制虚拟角色的跑酷类游戏视频。
可选地,按照预设比例对该样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本之前,包括:对每类动作标签对应的样本图像执行以下至少之一变化,将变化后的样本图像加入该样本帧数据:对图像进行随机裁剪,对图像进行缩放,对图像进行非刚性变化。采用该方案,对样本数据进行多种变换,以扩充游戏样本数量。为网络模型的训练提供大量训练数据,保证训练效果。
可选地,获取预设有网络参数的原始网络模型,将该第一样本中的第二图像作为该原始网络模型的输入,该第一样本中与该第二图像对应的第二实际动作标签用于对该原始网络模型的输出进行监督训练,直至满足预设条件时,确认该原始网络模型为该第一网络模型,包括:将该第二图像作为该原始网络模型的输入,获取该原始网络模型输出的一个或多个动作标签的概率,概率最大的动作标签被确定为该第二图像的第二动作标签;依据该第二动作标签和该第二实际动作标签计算该原始网络模型的损失函数,依据该损失函数调整该网络参数,并记为一次监督学习;将该第一样本中的所有第二图像和第二实际动作标签轮流对该原始网络模型进行监督学习后,记为一次迭代;在检测到迭代次数达到第一阈值或者该原始网络模型的损失函数小于第二阈值时,满足该预设条件,确认完成对该原始网络模型的训练。在依据损失函数调整网络参数时,可以通过梯度后向传播的方式优化网络参数。上述实施例中的损失函数可以是相关技术中的交叉熵损失参数,在在依据损失函数计算出第二动作标签和第二实际动作标签的差值之后,可以通过梯度后向传播的方式优化网络参数。
根据本申请实施例的另一个方面,还提供了一种网络模型的训练方法,图7是根据本申请实施例的网络模型的训练方法流程图,如图7所示,包括以下步骤:
步骤S702,获取用户帐号控制虚拟角色的P局游戏的样本帧数据,以及与该样本帧数据中的每帧样本图像对应的实际动作标签,其中,该实际动作标签用于表示该虚拟角色执行了动作集合中的一个动作,该P为正数;
可选地,在获取预设局数的样本帧数据后,可以提取帧数据中的障碍物相关特征,然后将障碍物信息作为原始网络模型的输入,使用障碍物信息对应的实际动作标签进行监督训练,以进一步完善网络模型。
步骤S704,按照预设比例对该样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本,使得该第一样本中每个动作标签对应的样本图像个数符合该预设比例;
采用上述方案,对每一类动作的样本进行重新采样,这是因为跑酷类游戏中大部分样本是不做动作,不修改样本比例导致网络对不做动作这一类别有很大的倾向性,不利于游戏AI的训练。经过重新采样后,每一类动作对应的样本数量基本一致,保证训练样本的完整性。
步骤S706,获取预设有网络参数的原始网络模型,将该第一样本中的第二图像作为该原始网络模型的输入,该第一样本中与该第二图像对应的第二实际动作标签用于对该原始网络模型的输出进行监督训练,直至满足预设条件时,确认该原始网络模型训练完成,记为该第一网络模型,其中,该第一网络模型用于控制游戏场景中的虚拟角色。
采用上述方案,录制用户帐号在游戏中的控制虚拟角色的样本帧数据,以及每帧样本图像对应的是实际动作标签,使用多组样本帧数据和实际动作标签对原始网络模型进行监督训练,该原始网络模型是基于残差网络框架设计的。在训练完成后,即可使用训练成的网络模型控制虚拟角色,该训练方法充分利用残差网络从复杂的游戏图像中提取更具有判别力的特征,在短时间内完成游戏AI的训练,解决了相关技术中的训练用于控制游戏虚拟角色的网络模型耗费大量资源的问题。
可选地,该样本帧数据为该游戏界面中的预设区域,其中,该预设区域中不包括游戏操作按钮所在的区域,其中,该游戏操作按钮包括:上跳按钮,下蹲按钮。采用该方案,选择帧数据的预设区域,去除背景噪声,以提升网络模型的训练速度。
可选地,按照预设比例对该样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本之前,包括:对每类动作标签对应的样本图像执行以下至少之一变化,将变化后的样本图像加入该样本帧数据:对图像进行随机裁剪,对图像进行缩放,对图像进行非刚性变化。采用该方案,对样本数据进行多种变换,以扩充游戏样本数量。为网络模型的训练提供大量训练数据,保证训练效果。
可选地,该预设比例中不同动作标签对应的帧数据的比例相同。采用该方案,确定训练样本中的不同动作对应的帧数据的比例相同,以保证训练样本的平衡。
可选地,获取预设有网络参数的原始网络模型,将该第一样本中的第二图像作为该原始网络模型的输入,该第一样本中与该第二图像对应的第二实际动作标签用于对该原始网络模型的输出进行监督训练,直至满足预设条件时,确认该原始网络模型为该第一网络模型,包括:将该第二图像作为该原始网络模型的输入,获取该原始网络模型输出的一个或多个动作标签的概率,概率最大的动作标签被确定为该第二图像的第二动作标签;依据该第二动作标签和该第二实际动作标签计算该原始网络模型的损失函数,依据该损失函数调整该网络参数,并记为一次监督学习;将该第一样本中的所有图像和对应的实际动作标签轮流对该原始网络模型进行监督学习后,记为一次迭代;在检测到迭代次数达到第一阈值或者该原始网络模型的损失函数小于第二阈值时,确定满足该预设条件,确认完成对该原始网络模型的训练。该实施例中的预设条件可以包括损失函数小于第二阈值,或者迭代次数达到第一阈值,在达到上述预设条件后标志着训练完成,后续可以使用测试样本进行模型测试。
可选地,将该第二图像作为该原始网络模型的输入,获取该原始网络模型输出的一个或多个动作标签的概率,概率最大的动作标签被确定为该第二图像的第二动作标签,包括:将该第二图像输入该原始网络模型,获取识别为每类动作标签的后验概率;选择后验概率最大的类别作为该第二动作标签。可以由原始网络模型中的全连接层输出每类动作标签的概率。
可选地,按照预设比例对该样本帧数据中不同动作对应的各类样本进行采样,组成第一样本之后,将第一样本按比例分为训练样本和测试样本,该训练样本用于完成对该原始网络模型的监督学习,该测试样本用于对该第一网络模型进行测试。采用该方案,在训练完成后,使用测试样本对第一网络模型进行测试,以检测训练效果。
针对跑酷类游戏中复杂画面的模仿学习算法,主要解决的问题是如何基于跑酷类游戏复杂的游戏画面,快速训练游戏AI。首先,录制真人玩的10局跑酷类游戏,保存游戏过程中的图像和游戏动作,随后,AI可以从跑酷类游戏整个画面中提取深度,由于跑酷类游戏画面较为复杂,同一个动作标签对应的样本具备较大的外观差异,该方案提出了一种轻量化的残差网络架构,通过较深的网络和残差结构来提取图像的抽象特征。根据提取的深度特征得到所有动作的概率,从而从下蹲、跳跃和不做动作中挑选概率最大的动作执行。图8是根据本申请另一个实施例的跑酷类游戏样本示意图,如图8所示,图像中间虚点方框所包围的区域可以是输入网络模型的区域,采用这个区域的原因是该区域屏蔽了对游戏动作没有影响的图像区域。
在本申请另一个实施例中,训练跑酷类AI主要分为三个阶段,图9是根据本申请另一个实施例的训练跑酷类AI的方法流程图,如图9所示,包括以下步骤:
步骤S901,人工录制10局特定场景的跑酷类游戏样本,包含跳跃、下蹲和不做动作。
步骤S902,调整每一类样本的比例,使每一类样本的数量相同,通过随机裁剪、缩放、非刚性变化等方式扩充游戏样本数量。
步骤S903,提取图像中与动作关联度较高的图像区域,将其作为轻量化残差网络的输入,同时输出标签为游戏的录制动作标签。采用交叉熵损失函数训练模型的参数。
本发明主要是用机器学习的方法,通过轻量化残差网络从复杂的游戏图像中提取更具判别力的抽象特征,通过模仿学习的方法快速训练飞车游戏的AI。
跑酷类游戏AI是自动化测试的重要组成部分,由于DQN算法会耗费大量时间,无法快速训练跑酷类游戏的AI。本实施例就是为了解决跑酷类游戏AI的快速训练而设计的一种针对跑酷类游戏复杂画面的模仿学习算法。采用该算法,能在少量样本的情况下,通过轻量化残差网络模型提取具备判别力的抽象特征,在短时间内完成游戏AI的训练。
图10是根据本申请另一个实施例中针对跑酷类游戏中复杂画面的模仿学习算法流程图,如图10所示,包括以下步骤:
步骤S1001,录制跑酷游戏样本。通过人工录制游戏的方式获取跑酷类游戏的样本,录制过程中需采用三种游戏动作:下蹲、跳跃和不做动作。
步骤S1002,图像重要区域提取。从图像中裁剪出对动作影响较大的图像区域,去除无关的背景信息。
步骤S1003,平衡不同类别样本数量。由于录制过程中,不做动作的样本会占据训练样本中较大的比重,如果不调整每一类样本的比重,训练出的模型会倾向于不做动作。为了平衡不同动作的先验知识,该方案对每一类动作的样本重新采样,使每一类样本的个数基本一致。
步骤S1004,训练轻量化残差网络模型。将图像区域输入轻量化残差框架中,动作标签作为输出,通过梯度后向传播的方式优化深度网络的参数。
测试阶段,首先提取游戏图像中对动作影响较大的区域,将其输入训练好的轻量化残差网络中,网络输出每个类别的后验概率,通过最大后验概率的准则挑选当前需要执行的动作。
步骤S1001包括以下方案:
通过人工录制游戏的方式收集10局特定场景的跑酷类游戏样本,其中,游戏的采样频率为一秒10帧,游戏中采用的游戏按钮为下蹲和跳跃,录制三个游戏动作:下蹲、跳跃和不做动作。保存游戏过程中的图像和对应的动作,图像的大小为640X360像素。
步骤S1002包括以下方案:
对样本进行重新采样后,选取80%的样本训练网络,余下的样本作为模型的验证。为了去除游戏图像中对动作无关的区域,该方案选取图像中央区域,去除背景噪声。
步骤S1003包括以下方案:
收集玩游戏的样本后,该方案对每一类动作的样本进行重新采样,这是因为跑酷类游戏中大部分样本是不做动作,不修改样本比例导致网络对不做动作这一类别有很大的倾向性,不利于游戏AI的训练。经过重新采样后,每一类动作对应的样本数量基本一致。
步骤S1004包括以下方案:
由于跑酷类游戏的画面变化较为剧烈,通过简单的深度网络难以提取具备判别力的抽象特征,该方案提出了轻量化的残差网络框架,该模型能在CPU下达到一秒10帧以上的分类速度,耗费的内存和计算资源较小。残差架构如图3所示,通过与之前的特征融合,网络能防止梯度衰减,提升网络的收敛速度。网络结构由两个子模块构成,子模块的架构如图4所示,而整体的网络结构如图5所示。在训练轻量化残差网络的过程中,该方案将交叉熵损失作为模型的目标函数,通过梯度后向传递的方式迭代更新网络参数。
由于人录制的样本不能涵盖所有场景,游戏的训练样本不够充分,为了防止模型过拟合,该方案采用两种方式提升网络的鲁邦性:
对样本进行随机裁剪、缩放和非刚性变换;
在网络的全连接层添加正则损失。
通过20轮迭代更新网络参数,能完成轻量化残差网络的训练,基于10局的游戏样本,大致需要一个小时完成模型的训练。
在测试阶段,首先提取游戏图像中央的画面,随后,将图像缩放至150X150像素,输入轻量化残差网络得到每一类动作的后验概率,通过最大化后验概率的方式得到输出动作,在跑酷类游戏的测试过程中,动作的频率为一秒10个动作。
可选地,针对跑酷类游戏中复杂画面的模仿学习算法通过将图像输入深度网络对游戏动作进行判定,也可以通过目标检测方法首先检测到障碍物的位置,再将位置信息作为模型输入,训练深度网络,可以达到同样或更好的跑酷类游戏AI效果。
采用上述实施例中的方案,由于模仿学习能通过少量录制的样本训练跑酷类游戏AI,训练效率得到极大提升,同时轻量化的残差小模型能提取更具判别力的抽象特征,游戏AI在跑酷类游戏中能取得较好的成果。针对跑酷类游戏中复杂画面的模仿学习算法能通过少量人工录制的游戏样本在短时间内完成跑酷类游戏AI的训练,消耗资源少,能较好地模仿玩家的行为。同时,针对复杂场景设计的轻量化残差网络能提取判别力更强的抽象特征,能在消耗资源较小的情况下,取得更好的分类效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述控制游戏场景中虚拟角色的方法的装置,图11是根据本申请另一个实施例的控制游戏场景中虚拟角色的装置结构图,如图11所示,该装置包括:
第一获取模块1102,用于获取虚拟角色当前所在的游戏场景的帧数据;
第二获取模块1104,连接至所述第一获取模块1102,用于将所述帧数据输入至第一网络模型,通过所述第一网络模型输出的与所述帧数据对应的每个动作标签的概率,其中,所述概率最大的动作标签被确定为目标动作标签;
控制模块1106,连接至所述第二获取模块1104,用于控制所述虚拟角色在所述游戏场景中执行所述目标动作标签对应的动作。
采用上述方案,在本发明实施例中,采用训练网络模型来控制游戏虚拟角色的方式,获取虚拟角色当前所在的游戏场景的帧数据;将所述帧数据输入至第一网络模型,通过所述第一网络模型输出的与所述帧数据对应的每个动作标签的概率,其中,所述概率最大的动作标签被确定为目标动作标签;控制所述虚拟角色在所述游戏场景中执行所述目标动作标签对应的动作,达到了依据当前游戏的界面做出实时反应的目的,从而实现了使得虚拟角色动作与真人玩家的控制操作相似的技术效果,进而解决了相关技术中虚拟角色的动作行为失真导致游戏运行不流畅的技术问题。
可选地,所述第二获取模块1104还用于截取每个所述帧数据的部分区域图像,其中,所述部分区域中不包括游戏操作按钮所在的区域,其中,所述游戏操作按钮包括:上跳按钮,下蹲按钮;将所述部分区域图像输入至所述第一网络模型。
可选地,所述动作标签包括以下至少之一:虚拟角色上跳动作,虚拟角色下蹲操作,虚拟角色默认动作。
可选地,所述第二获取模块1104还用于将所述帧数据输入至依次连接的N个子模型,其中,所述N个子模型依次包括:M个卷积层,一个全局平均池,一个全连接层,所述M个卷积层均为残差结构,N和M均为大于1的自然数,所述第一网络模型包括所述依次连接的N个子模型。
可选地,所述N和所述M的取值与用于运行所述游戏的终端上的中央处理器CPU算力和/或内存大小对应。
可选地,所述第二获取模块1104在将所述帧数据输入至第一网络模型之前,还包括以下单元:
第一单元,用于获取用户帐号控制虚拟角色的P局游戏的样本帧数据,以及与所述样本帧数据中的每帧样本图像对应的实际动作标签,其中,所述实际动作标签用于表示所述虚拟角色执行了动作集合中的一个动作,所述P为正数;
第二单元,用于按照预设比例对所述样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本,使得所述第一样本中每个动作标签对应的样本图像个数符合所述预设比例;
第三单元,用于获取预设有网络参数的原始网络模型,将所述第一样本中的第二图像作为所述原始网络模型的输入,所述第一样本中与所述第二图像对应的第二实际动作标签用于对所述原始网络模型的输出进行监督训练,直至满足预设条件时,确认所述原始网络模型训练完成,记为所述第一网络模型。
可选地,所述第二单元按照预设比例对所述样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本之前,包括:对每类动作标签对应的样本图像执行以下至少之一变化,将变化后的样本图像加入所述样本帧数据:对图像进行随机裁剪,对图像进行缩放,对图像进行非刚性变化。
可选地,所述第三单元还用于将所述第二图像作为所述原始网络模型的输入,获取所述原始网络模型输出的一个或多个动作标签的概率,概率最大的动作标签被确定为所述第二图像的第二动作标签;
以及用于依据所述第二动作标签和所述第二实际动作标签计算所述原始网络模型的损失函数,依据所述损失函数调整所述网络参数,并记为一次监督学习;
以及用于将所述第一样本中的所有图像和对应的实际动作标签轮流对所述原始网络模型进行监督学习后,记为一次迭代;
以及用于在检测到迭代次数达到第一阈值或者所述原始网络模型的损失函数小于第二阈值时,确定满足所述预设条件,确认完成对所述原始网络模型的训练。
根据本申请实施例的另一个方面,还提供了一种网络模型的训练装置,该装置可以运行于服务器上,图12是根据本申请另一个实施例的网络模型的训练装置,包括:
第三获取模块1202,用于获取用户帐号控制虚拟角色的P局游戏的样本帧数据,以及与所述样本帧数据中的每帧样本图像对应的实际动作标签,其中,所述实际动作标签用于表示所述虚拟角色执行了动作集合中的一个动作,所述P为正数;
采样模块1204,用于按照预设比例对所述样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本,使得所述第一样本中每个动作标签对应的样本图像个数符合所述预设比例;
第四获取模块1206,用于获取预设有网络参数的原始网络模型,将所述第一样本中的第二图像作为所述原始网络模型的输入,所述第一样本中与所述第二图像对应的第二实际动作标签用于对所述原始网络模型的输出进行监督训练,直至满足预设条件时,确认所述原始网络模型训练完成,记为所述第一网络模型,其中,所述第一网络模型用于控制游戏场景中的虚拟角色。
采用上述方案,录制用户帐号在游戏中控制虚拟角色的样本帧数据,以及每帧样本图像对应的是实际动作标签,使用多组样本帧数据和实际动作标签对原始网络模型进行监督训练,该原始网络模型是基于残差网络框架设计的。在训练完成后,即可使用训练成的网络模型控制虚拟角色,该训练方法充分利用残差网络从复杂的游戏图像中提取更具有判别力的特征,在短时间内完成游戏AI的训练,解决了相关技术中的训练用于控制游戏虚拟角色的网络模型耗费大量资源的问题。
可选地,所述样本帧数据为所述跑酷类游戏界面中的预设区域,其中,所述预设区域中不包括游戏操作按钮所在的区域,其中,所述游戏操作按钮包括:上跳按钮,下蹲按钮。
可选地,所述采样模块在按照预设比例对所述样本帧数据中不同动作对应的各类样本进行采样,组成第一样本之前,还用于对每类动作对应的样本帧数据执行以下至少之一变化,将变化后的样本帧数据加入所述样本帧数据:对帧数据进行随机裁剪,对帧数据进行缩放,对帧数据进行非刚性变化。
可选地,所述预设比例中不同动作标签对应的帧数据的比例相同。
可选地,所述第四获取模块1206还包括以下单元:
第四单元,用于将所述第二图像作为所述原始网络模型的输入,获取所述原始网络模型输出的一个或多个动作标签的概率,概率最大的动作标签被确定为所述第二图像的第二动作标签;
第五单元,用于依据所述第二动作标签和所述第二实际动作标签计算所述原始网络模型的损失函数,依据所述损失函数调整所述网络参数,并记为一次监督学习;
第六单元,用于将所述第一样本中的所有图像和对应的实际动作标签轮流对所述原始网络模型进行监督学习后,记为一次迭代;
第七单元,用于在检测到迭代次数达到第一阈值或者所述原始网络模型的损失函数小于第二阈值时,确定满足所述预设条件,确认完成对所述原始网络模型的训练。
可选地,所述第四单元还用于将所述第二图像输入所述原始网络模型,获取识别为每类动作标签的后验概率;以及用于选择后验概率最大的类别作为所述第二动作标签。
可选地,所述采样模块1204在按照预设比例对所述样本帧数据中不同动作对应的各类样本进行采样,组成第一样本之后,还用于将第一样本按比例分为训练样本和测试样本,所述训练样本用于完成对所述原始网络模型的监督学习,所述测试样本用于对所述第一网络模型进行测试。
根据本发明实施例的又一个方面,还提供了一种用于实施上述控制游戏场景中虚拟角色的方法的电子装置,图13是根据本申请另一个实施例的用于实施控制游戏场景中虚拟角色的方法的电子装置的结构图,如图13所示,该电子装置包括存储器1302和处理器1304,该存储器1302中存储有第一获取模块1102,第二获取模块1104和控制模块1106中的计算机程序,该处理器1304被设置为通过计算机程序执行上述任一项方法实施例中的步骤。该电子装置还包括显示器1308,传输装置1306。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取虚拟角色当前所在的游戏场景的帧数据;
S2,将所述帧数据输入至第一网络模型,通过所述第一网络模型输出的与所述帧数据对应的每个动作标签的概率,其中,所述概率最大的动作标签被确定为目标动作标签;
S3,控制所述虚拟角色在所述游戏场景中执行所述目标动作标签对应的动作。
可选地,本领域普通技术人员可以理解,图13所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图13其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图13中所示更多或者更少的组件(如网络接口等),或者具有与图13所示不同的配置。
其中,存储器1302可用于存储软件程序以及模块,如本发明实施例中的控制游戏场景中虚拟角色的方法和装置对应的程序指令/模块,处理器1304通过运行存储在存储器1302内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的控制游戏场景中的虚拟角色的方法。存储器1302可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1302可进一步包括相对于处理器1304远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1302具体可以但不限于用于存储采集的帧数据和等信息。作为一种示例,如图13所示,上述存储器1302中可以但不限于包括上述控制游戏场景中虚拟角色的装置中的第一获取模块1102、第二获取模块1104和控制模块1106。此外,还可以包括但不限于上述控制游戏场景中虚拟角色的装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1306包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1306为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1308,用于显示上述待处理的订单信息;和连接总线1310,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取虚拟角色当前所在的游戏场景的帧数据;
S2,将所述帧数据输入至第一网络模型,通过所述第一网络模型输出的与所述帧数据对应的每个动作标签的概率,其中,所述概率最大的动作标签被确定为目标动作标签;
S3,控制所述虚拟角色在所述游戏场景中执行所述目标动作标签对应的动作。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种控制游戏场景中虚拟角色的方法,其特征在于,包括:
获取虚拟角色当前所在的游戏场景的帧数据;
将所述帧数据输入至第一网络模型,通过所述第一网络模型输出的与所述帧数据对应的每个动作标签的概率,所述将所述帧数据输入至第一网络模型包括:将所述帧数据输入至依次连接的N个子模型,其中,所述概率最大的动作标签被确定为目标动作标签,所述N个子模型依次包括:M个卷积层,一个全局平均池,一个全连接层,所述M个卷积层均为残差结构,N和M均为大于1的自然数,所述第一网络模型包括所述依次连接的N个子模型;
控制所述虚拟角色在所述游戏场景中执行所述目标动作标签对应的动作。
2.根据权利要求1所述的方法,其特征在于,所述N和所述M的取值与用于运行所述游戏的终端上的中央处理器CPU算力和/或内存大小对应。
3.根据权利要求1所述的方法,其特征在于,在将所述帧数据输入至第一网络模型之前,所述方法还包括:
获取用户帐号控制虚拟角色的P局游戏的样本帧数据,以及与所述样本帧数据中的每帧样本图像对应的实际动作标签,其中,所述实际动作标签用于表示所述虚拟角色执行了动作集合中的一个动作,所述P为正数;
按照预设比例对所述样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本,使得所述第一样本中每个动作标签对应的样本图像个数符合所述预设比例;
获取预设有网络参数的原始网络模型,将所述第一样本中的第二图像作为所述原始网络模型的输入,所述第一样本中与所述第二图像对应的第二实际动作标签用于对所述原始网络模型的输出进行监督训练,直至满足预设条件时,确认所述原始网络模型训练完成,记为所述第一网络模型。
4.根据权利要求3所述的方法,其特征在于,按照预设比例对所述样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本之前,包括:
对每类动作标签对应的样本图像执行以下至少之一变化,将变化后的样本图像加入所述样本帧数据:
对图像进行随机裁剪,对图像进行缩放,对图像进行非刚性变化。
5.根据权利要求3所述的方法,其特征在于,包括:
将所述第二图像作为所述原始网络模型的输入,获取所述原始网络模型输出的一个或多个动作标签的概率,概率最大的动作标签被确定为所述第二图像的第二动作标签;
依据所述第二动作标签和所述第二实际动作标签计算所述原始网络模型的损失函数,依据所述损失函数调整所述网络参数,并记为一次监督学习;
将所述第一样本中的所有图像和对应的实际动作标签轮流对所述原始网络模型进行监督学习后,记为一次迭代;
在检测到迭代次数达到第一阈值或者所述原始网络模型的损失函数小于第二阈值时,确定满足所述预设条件,确认完成对所述原始网络模型的训练。
6.根据权利要求1所述的方法,其特征在于,将所述帧数据输入至第一网络模型,包括:
截取所述帧数据的部分区域图像,其中,所述部分区域中不包括游戏操作按钮所在的区域,所述游戏操作按钮包括:控制虚拟角色上跳按钮,控制虚拟角色下蹲按钮;
将所述部分区域图像输入至所述第一网络模型。
7.根据权利要求1所述的方法,其特征在于,所述动作标签包括以下至少之一:虚拟角色上跳动作,虚拟角色下蹲操作,虚拟角色默认动作。
8.一种网络模型的训练方法,其特征在于,包括:
获取用户帐号控制虚拟角色的P局游戏的样本帧数据,以及与所述样本帧数据中的每帧样本图像对应的实际动作标签,其中,所述实际动作标签用于表示所述虚拟角色执行了动作集合中的一个动作,所述P为正数;
按照预设比例对所述样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本,使得所述第一样本中每个动作标签对应的样本图像个数符合所述预设比例;
获取预设有网络参数的原始网络模型,将所述第一样本中的第二图像作为所述原始网络模型的输入,所述第一样本中与所述第二图像对应的第二实际动作标签用于对所述原始网络模型的输出进行监督训练,直至满足预设条件时,确认所述原始网络模型训练完成,记为第一网络模型,其中,所述第一网络模型用于控制游戏场景中的虚拟角色,所述原始网络模型中包括依次连接的N个子模型,所述N个子模型依次包括:M个卷积层,一个全局平均池,一个全连接层,所述M个卷积层均为残差结构,N和M均为大于1的自然数,所述第一网络模型包括所述依次连接的N个子模型。
9.根据权利要求8所述的方法,其特征在于,
所述预设比例中不同动作标签对应的帧数据的比例相同。
10.根据权利要求8所述的方法,其特征在于,通过以下方式训练所述原始网络模型:
将所述第二图像作为所述原始网络模型的输入,获取所述原始网络模型输出的一个或多个动作标签的概率,概率最大的动作标签被确定为所述第二图像的第二动作标签;
依据所述第二动作标签和所述第二实际动作标签计算所述原始网络模型的损失函数,依据所述损失函数调整所述网络参数,并记为一次监督学习;
将所述第一样本中的所有图像和对应的实际动作标签轮流对所述原始网络模型进行监督学习后,记为一次迭代;
在检测到迭代次数达到第一阈值或者所述原始网络模型的损失函数小于第二阈值时,确定满足所述预设条件,确认完成对所述原始网络模型的训练。
11.一种控制游戏场景中虚拟角色的装置,其特征在于,包括:
第一获取模块,用于获取虚拟角色当前所在的游戏场景的帧数据;
第二获取模块,用于将所述帧数据输入至第一网络模型,通过所述第一网络模型输出的与所述帧数据对应的每个动作标签的概率,所述将所述帧数据输入至第一网络模型包括:将所述帧数据输入至依次连接的N个子模型,其中,所述概率最大的动作标签被确定为目标动作标签,所述N个子模型依次包括:M个卷积层,一个全局平均池,一个全连接层,所述M个卷积层均为残差结构,N和M均为大于1的自然数,所述第一网络模型包括所述依次连接的N个子模型;
控制模块,用于控制所述虚拟角色在所述游戏场景中执行所述目标动作标签对应的动作。
12.一种网络模型的训练装置,其特征在于,包括:
第三获取模块,用于获取用户帐号控制虚拟角色的P局游戏的样本帧数据,以及与所述样本帧数据中的每帧样本图像对应的实际动作标签,其中,所述实际动作标签用于表示所述虚拟角色执行了动作集合中的一个动作,所述P为正数;
采样模块,用于按照预设比例对所述样本帧数据中不同动作标签对应的各类样本图像进行采样,组成第一样本,使得所述第一样本中每个动作标签对应的样本图像个数符合所述预设比例;
第四获取模块,用于获取预设有网络参数的原始网络模型,将所述第一样本中的第二图像作为所述原始网络模型的输入,所述第一样本中与所述第二图像对应的第二实际动作标签用于对所述原始网络模型的输出进行监督训练,直至满足预设条件时,确认所述原始网络模型训练完成,记为第一网络模型,其中,所述第一网络模型用于控制游戏场景中的虚拟角色,所述原始网络模型中包括依次连接的N个子模型,所述N个子模型依次包括:M个卷积层,一个全局平均池,一个全连接层,所述M个卷积层均为残差结构,N和M均为大于1的自然数,所述第一网络模型包括所述依次连接的N个子模型。
13.一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至10任一项中所述的方法。
14.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至10任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910611581.5A CN110339569B (zh) | 2019-07-08 | 2019-07-08 | 控制游戏场景中虚拟角色的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910611581.5A CN110339569B (zh) | 2019-07-08 | 2019-07-08 | 控制游戏场景中虚拟角色的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110339569A CN110339569A (zh) | 2019-10-18 |
CN110339569B true CN110339569B (zh) | 2022-11-08 |
Family
ID=68178444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910611581.5A Active CN110339569B (zh) | 2019-07-08 | 2019-07-08 | 控制游戏场景中虚拟角色的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110339569B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111265881B (zh) | 2020-01-21 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种模型训练方法、内容生成方法以及相关装置 |
CN111437605B (zh) * | 2020-03-27 | 2023-06-27 | 腾讯科技(深圳)有限公司 | 确定虚拟对象行为及托管虚拟对象行为的方法 |
CN111569430B (zh) * | 2020-06-05 | 2023-04-07 | 网易(杭州)网络有限公司 | 游戏决策模型的训练方法、装置、电子设备和存储介质 |
CN111760276B (zh) * | 2020-07-16 | 2022-06-14 | 腾讯科技(深圳)有限公司 | 游戏行为控制方法、装置、终端、服务器和存储介质 |
CN112069075B (zh) * | 2020-09-09 | 2023-06-30 | 网易(杭州)网络有限公司 | 游戏角色的时装测试方法、装置和游戏客户端 |
CN112231220B (zh) * | 2020-10-26 | 2022-09-09 | 腾讯科技(深圳)有限公司 | 一种游戏测试方法和装置 |
CN112843726B (zh) * | 2021-03-15 | 2024-06-25 | 网易(杭州)网络有限公司 | 智能体处理方法及装置 |
CN114049417B (zh) * | 2021-11-12 | 2023-11-24 | 抖音视界有限公司 | 虚拟角色图像的生成方法、装置、可读介质及电子设备 |
CN114130013A (zh) * | 2021-12-07 | 2022-03-04 | 腾讯科技(深圳)有限公司 | 一种游戏自动化方法及相关装置 |
CN114519779B (zh) * | 2022-04-20 | 2022-06-28 | 腾讯科技(深圳)有限公司 | 动作生成模型训练方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491930A (zh) * | 2018-03-23 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 一种样本数据的处理方法以及数据处理装置 |
CN109107161A (zh) * | 2018-08-17 | 2019-01-01 | 深圳市腾讯网络信息技术有限公司 | 一种游戏对象的控制方法、装置、介质以及设备 |
CN109464803A (zh) * | 2018-11-05 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 虚拟对象控制、模型训练方法、装置、存储介质和设备 |
CN109529338A (zh) * | 2018-11-15 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 对象控制方法、装置、电子设计及计算机可读介质 |
CN109621431A (zh) * | 2018-11-30 | 2019-04-16 | 网易(杭州)网络有限公司 | 一种游戏动作的处理方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7296007B1 (en) * | 2004-07-06 | 2007-11-13 | Ailive, Inc. | Real time context learning by software agents |
-
2019
- 2019-07-08 CN CN201910611581.5A patent/CN110339569B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491930A (zh) * | 2018-03-23 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 一种样本数据的处理方法以及数据处理装置 |
CN109107161A (zh) * | 2018-08-17 | 2019-01-01 | 深圳市腾讯网络信息技术有限公司 | 一种游戏对象的控制方法、装置、介质以及设备 |
CN109464803A (zh) * | 2018-11-05 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 虚拟对象控制、模型训练方法、装置、存储介质和设备 |
CN109529338A (zh) * | 2018-11-15 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 对象控制方法、装置、电子设计及计算机可读介质 |
CN109621431A (zh) * | 2018-11-30 | 2019-04-16 | 网易(杭州)网络有限公司 | 一种游戏动作的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110339569A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110339569B (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
WO2018054330A1 (zh) | 数据处理方法、装置和存储介质 | |
CN108090561B (zh) | 存储介质、电子装置、游戏操作的执行方法和装置 | |
CN109999496B (zh) | 虚拟对象的控制方法、装置和电子装置 | |
CN110251942B (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
CN109635644A (zh) | 一种用户动作的评价方法、装置和可读介质 | |
CN105229677A (zh) | 用于机器学习的资源分配 | |
CN105637540A (zh) | 用于强化学习的方法和设备 | |
CN108229262B (zh) | 一种色情视频检测方法及装置 | |
CN111738294B (zh) | Ai模型的训练方法、使用方法、计算机设备及存储介质 | |
CN112827168B (zh) | 一种目标跟踪的方法、装置及存储介质 | |
CN111428660B (zh) | 视频剪辑方法和装置、存储介质及电子装置 | |
CN113822254B (zh) | 一种模型训练方法及相关装置 | |
CN112791394A (zh) | 游戏模型训练方法、装置、电子设备及存储介质 | |
CN113238972B (zh) | 一种图像检测方法、装置、设备及存储介质 | |
CN113069769B (zh) | 云游戏界面显示方法、装置、电子设备以及存储介质 | |
CN112232258A (zh) | 一种信息处理方法、装置及计算机可读存储介质 | |
CN110325965B (zh) | 虚拟场景中的对象处理方法、设备及存储介质 | |
CN115797517B (zh) | 虚拟模型的数据处理方法、装置、设备和介质 | |
CN112138394A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN111753855B (zh) | 一种数据处理方法、装置、设备及介质 | |
WO2021147473A1 (zh) | 一种模型训练方法、内容生成方法以及相关装置 | |
CN115944921B (zh) | 游戏数据处理方法、装置、设备及介质 | |
CN112742031B (zh) | 模型训练方法、游戏测试方法、ai角色训练方法及装置 | |
CN116943220A (zh) | 一种游戏人工智能控制方法、装置、设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |