CN110448909B - 一种应用中目标角色的结果输出方法和装置以及介质 - Google Patents
一种应用中目标角色的结果输出方法和装置以及介质 Download PDFInfo
- Publication number
- CN110448909B CN110448909B CN201910760123.8A CN201910760123A CN110448909B CN 110448909 B CN110448909 B CN 110448909B CN 201910760123 A CN201910760123 A CN 201910760123A CN 110448909 B CN110448909 B CN 110448909B
- Authority
- CN
- China
- Prior art keywords
- action
- artificial intelligence
- application
- result output
- technical
- 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
- 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/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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6009—Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/65—Methods for processing data by generating or executing the game program for computing the condition of a game character
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种应用中目标角色的结果输出方法和装置以及介质,用于通过人工智能结果输出模型获取目标角色的动作。本申请实施例提供一种应用中目标角色的结果输出方法,包括:获取应用运行时产生的当前应用图像;使用人工智能结果输出模型从当前应用图像中识别出目标角色,其中,人工智能结果输出模型是根据应用中针对目标角色生成的历史动作状态进行模仿学习后生成的模型;使用人工智能结果输出模型从当前应用图像中检测出目标角色的当前动作状态;使用人工智能结果输出模型和当前动作状态获取目标角色能够执行的动作状态,以输出目标角色的结果指令,其中,结果指令用于控制目标角色在应用中执行动作状态。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种应用中目标角色的结果输出方法和装置以及介质。
背景技术
随着人工智能(Artificial Intelligence,AI)和深度学习的发展,人工智能应用于游戏领域。其中,游戏AI最直接的应用就是提升游戏内置的AI能力,以达到提升游戏乐趣的目的。目前的游戏AI一般需要与游戏开发方进行深度的合作,例如需要游戏开发方提供游戏内的数据,提供操控接口等等。游戏AI的另外一个应用方向就是辅助游戏开发者进行测试与开发,例如使用游戏AI来完成游戏平衡性测试,帮助开发人员找到游戏渲染的漏洞(bug)。
在目前的游戏AI中,通常需要一款游戏的开发方提供游戏内数据接口和操控接口,需要游戏开发方提供额外的支持工作才能完成,增加了游戏开发方的工作复杂度。
发明内容
本申请实施例提供了一种应用中目标角色的结果输出方法和装置以及介质,用于通过AI结果输出模型获取目标角色的动作。
本申请实施例提供以下技术方案:
一方面,本申请实施例提供一种应用中目标角色的结果输出方法,包括:
获取应用运行时产生的当前应用图像;
使用人工智能AI结果输出模型从所述当前应用图像中识别出目标角色,其中,所述AI结果输出模型是根据所述应用中针对所述目标角色生成的历史动作状态进行模仿学习后生成的模型;
使用所述AI结果输出模型从所述当前应用图像中检测出所述目标角色的当前动作状态;
使用所述AI结果输出模型和所述当前动作状态获取所述目标角色能够执行的动作状态,以输出所述目标角色的结果指令,其中,所述结果指令用于控制所述目标角色在所述应用中执行动作状态。
另一方面,本申请实施例还提供一种结果输出装置,所述结果输出装置包括:处理器和存储器;
所述存储器,用于存储指令;
所述处理器,用于获取应用运行时产生的当前应用图像;使用人工智能AI结果输出模型从所述当前应用图像中识别出目标角色,其中,所述AI结果输出模型是根据所述应用中针对所述目标角色生成的历史动作状态进行模仿学习后生成的模型;使用所述AI结果输出模型从所述当前应用图像中检测出所述目标角色的当前动作状态;使用所述AI结果输出模型和所述当前动作状态获取所述目标角色能够执行的动作状态,以输出所述目标角色的结果指令,其中,所述结果指令用于控制所述目标角色在所述应用中执行动作状态。
在前述方面中,结果输出装置的组成模块还可以执行前述一方面以及各种可能的实现方式中所描述的步骤,详见前述对前述一方面以及各种可能的实现方式中的说明。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
在本申请实施例中,首先获取应用运行时产生的当前应用图像,使用AI结果输出模型从当前应用图像中识别出目标角色,其中,AI结果输出模型是根据应用中针对目标角色生成的历史动作状态进行模仿学习后生成的模型,接下来使用AI结果输出模型从当前应用图像中检测出目标角色的当前动作状态,最后使用AI结果输出模型和当前动作状态获取目标角色能够执行的动作状态,以输出目标角色的结果指令,其中,结果指令用于控制目标角色在应用中执行动作状态。由于本申请实施例中根据应用中针对目标角色生成的历史动作状态进行模仿学习后生成AI结果输出模型,该AI结果输出模型可以识别出目标角色的当前运动状态,该AI结果输出模型还可以获取该目标角色的后续运动状态,从而目标角色可以在应用中执行该结果指令,因此本申请实施例中不需要应用提供内部数据接口和操控接口,实现了AI结果输出模型和应用的松耦合,从而可以该AI结果输出模型可以适配多种应用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用中目标角色的结果输出方法的流程方框示意图;
图2为本申请实施例提供的另一种应用中目标角色的结果输出方法的流程方框示意图;
图3为本申请实施例提供的另一种应用中目标角色的结果输出方法的流程方框示意图;
图4为本申请实施例提供的另一种应用中目标角色的结果输出方法的流程方框示意图;
图5为本申请实施例提供的手机的AI结果输出模型在游戏应用中的动作预测过程示意图;
图6为本申请实施例提供的运动游戏AI结果输出模型的组成架构示意图;
图7a为本申请实施例提供的手机的AI结果输出模型在游戏应用中的训练过程示意图;
图7b为本申请实施例提供的ResNet50的残差网络的架构示意图;
图8a为本申请实施例提供的篮球游戏应用中的控制目标角色的一种应用场景示意图;
图8b为本申请实施例提供的篮球游戏应用中的控制目标角色的另一种应用场景示意图;
图8c为本申请实施例提供的篮球游戏应用中的控制目标角色的另一种应用场景示意图;
图9为本申请实施例提供的一种结果输出装置的组成结构示意图;
图10为本申请实施例提供的应用中目标角色的结果输出方法应用于终端的组成结构示意图;
图11为本申请实施例提供的应用中目标角色的结果输出方法应用于服务器的组成结构示意图。
具体实施方式
本申请实施例提供了一种应用中目标角色的结果输出方法和装置以及介质,用于通过AI结果输出模型获取目标角色的动作。
为使得本申请实施例的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请实施例一部分实施例,而非全部实施例。基于本申请实施例中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本申请实施例保护的范围。
本申请实施例的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
以下分别进行详细说明。
本申请实施例应用中目标角色的结果输出方法的一个实施例,具体可以应用于对目标角色在应用中的动作预测场景中,例如应用可以是游戏应用(例如篮球游戏应用)、社交工具应用、办公软件应用等。目标角色可以是应用中出现的人物角色、道具、虚拟动画人物等。本申请实施例提供的应用中目标角色的结果输出方法,可以由结果输出装置来执行,该结果输出装置具体可以是终端,或者服务器等,此处不做限定。请参阅图1所示,本申请实施例提供的应用中目标角色的结果输出方法可以包括如下步骤:
101、获取应用运行时产生的当前应用图像。
在本申请实施例中,应用在终端中运行时可以产生应用图像,例如终端的操作系统中可以配置应用,当应用程度运行时,通过终端的屏幕可以显示应用图像。进一步的,在应用的运行过程中可以显示多个帧的应用图像。在每个应用图像中可以包括有目标角色,还包括有该目标角色正在执行的动作状态。以篮球游戏应用的运行为例,对于篮球游戏应用图像而言,在该图像上包括正在运球的投篮人物。以办公软件应用的运行为例,对于社交工具应用图像而言,在该图像上可以包括用户正在操作的虚拟动画人物或者虚拟道具。
在本申请实施例中,可以通过应用运行所在的终端的屏幕获取到应用图像。例如以在某一时刻获取到的应用图像作为当前应用图像。按照这种方式可以获取到多个帧的应用图像。后续实施例中以“当前帧应用图像”的动作预测为例,对于获取到的其它帧的应用图像,都可以按照“当前帧应用图像”的动作预测过程分别进行各个帧的应用图像的动作预测。
在本申请实施例中,结果输出装置可以和应用运行所在的终端进行交互,以获取到应用图像。但是应用运行所在的终端不需要预留应用内数据接口和操控接口,结果输出装置只需要能够获取应用图像即可,因此结果输出装置和应用运行所在的终端是松耦合关系,结果输出装置和应用运行所在的终端可以分别各自独立进行更新,结果输出装置和应用运行所在的终端相互之间不需要具有强绑定关系。
102、使用人工智能(Artificial Intelligence,AI)结果输出模型从当前应用图像中识别出目标角色,其中,AI结果输出模型是根据应用中针对目标角色生成的历史动作状态进行模仿学习后生成的模型。
在本申请实施例中,在确定出需要预测哪个应用中的目标角色之后,首先获取应用中针对目标角色生成的历史动作状态,例如历史动作状态可以是在获取当前应用图像之前的多个历史动作状态。历史动作状态表示了目标角色已经执行的历史动作。以篮球游戏应用的运行为例,该篮球游戏应用中的目标人物可以是投篮人物,该投篮人物的历史动作可以包括:各个方向的移动、抢断、防守、摆脱、投篮、卡位,盖帽等篮球的绝大多数动作。
在本申请实施例中,获取应用中针对目标角色生成的历史动作状态之后,可以使用目标角色的历史动作状态进行模仿学习,从而可以生成AI结果输出模型。其中,模仿学习(Imitation Learning)是指计算机通过模仿人类动作学会某种特定策略。本申请实施例中通过对目标角色的历史动作状态进行模仿学习,可以生成AI结果输出模型,该AI结果输出模型具体可以通过深度学习(Deep Learning)得到,其中深度学习可以通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。例如本申请实施例中AI结果输出模型具体可以是神经网络结果输出模型,例如神经网络结果输出模型可以是人工神经网络(Artificial Neural Networks,ANN)系统,该ANN系统可以是由众多的神经元可调的连接权值连接而成,具有大规模并行处理、分布式信息存储、良好的自组织自学习能力等特点。本申请实施例中神经网络结果输出模型还可以是卷积神经网络(Convolutional Neural Network,CNN),CNN网络是一种前馈神经网络。又如,本申请实施例中神经网络结果输出模型还可以是基于深度学习和卷积神经网络的目标物体检测神经网络(You Only Look Once,YOLO)。后续实施例中将对AI结果输出模型的训练过程进行详细举例说明。
在本申请实施例中,在执行步骤102之前可以预先训练完成AI结果输出模型,该AI结果输出模型可以使用机器视觉(Computer Vision)进行目标检测,即AI结果输出模型可以进行多目标的定位,即要在图片中定位多个目标物体,包括分类和定位。在本申请实施例中应用中的目标角色可以表示为具有某一些特征的特征数据,则AI结果输出模型可以从当前应用图像中识别出目标角色。不限定的是,本申请实施例中AI结果输出模型从当前应用图像中识别出的目标角色的个数可以是一个目标角色或多个目标角色,若AI结果输出模型从当前应用图像中识别出了多个目标角色,则针对每个目标角色都可以执行后续步骤103至步骤104中的预测流程,以针对每个目标角色进行结果指令的预测。
在本申请的一些实施例中,步骤102使用预先训练完成的人工智能AI结果输出模型从应用图像中识别出目标角色之前,如图2所示,本申请实施例提供的应用中目标角色的结果输出方法还包括如下步骤:
201、获取应用针对目标角色生成的历史动作信息,历史动作信息包括:在获取当前应用图像之前的多帧应用图像中目标角色的历史动作状态信息;
202、使用历史动作信息和AI预测算法对原始AI结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的AI结果输出模型。
其中,在确定出需要预测哪个应用中的目标角色之后,获取应用中针对目标角色生成的历史动作状态,历史动作信息包括:在获取当前应用图像之前的多帧应用图像中目标角色的历史动作状态信息,例如历史动作状态可以是在获取当前应用图像之前的多个历史动作状态。历史动作状态表示了目标角色已经执行的所有历史动作。这些历史动作信息可以作为原始AI结果输出模型的训练数据,本申请实施例中可以使用AI预测算法对原始AI结果输出模型进行模仿学习,例如AI预测算法可以是模拟学习算法中的任意一种算法,或者是模拟学习算法中两种或者多种算法的结合。举例说明如下,AI预测算法可以是标准的ResNet50网络算法。
在本申请实施例中,获取应用中针对目标角色生成的历史动作状态之后,使用历史动作信息和AI预测算法对原始AI结果输出模型进行模仿学习,然后根据预先设置的训练结束条件来判断训练后的AI结果输出模型是否符合训练结束条件,在足预设的训练结束条件时输出训练完成后的AI结果输出模型。
在本申请的一些实施例中,AI结果输出模型在训练时除了使用模仿学习算法,还可以使用分层学习的方式,即可以将目标角色在应用中执行的动作状态定义成不同的层次,然后每个层次使用某种深度学习类算法去学习该动作的策略。举例说明如下,在本申请的一些实施例中,如图3所示,步骤202使用历史动作信息和AI预测算法对原始AI结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的AI结果输出模型,包括:
2021、获取针对目标角色预先设置的动作类型,动作类型包括:移动动作和技术动作;
2022、按照动作类型对多帧应用图像分别对应的历史动作信息进行分类,得到移动AI训练集和技术AI训练集;
2023、使用移动AI训练集和AI预测算法对原始AI结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的移动AI结果输出子模型;以及,
2024、使用技术AI训练集和AI预测算法对原始AI结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的技术AI结果输出子模型,移动AI结果输出子模型和技术AI结果输出子模型构成AI结果输出模型。
其中,首先使用分层学习的方式将目标角色的动作类型分为如下两类:移动动作和技术动作。移动动作是指目标角色在应用中的底层动作,技术动作是指目标角色在应用中的高层动作。接下来针对移动动作和技术动作对多帧应用图像分别对应的历史动作信息进行分类,即多个历史动作信息可以两种类型:一种是历史移动动作,另一种是历史技术动作,则历史移动动作可以被划分入移动AI训练集,历史技术动作可以被划分入移动AI训练集和技术AI训练集。本申请实施例中高层次的技术动作不需要通过底层的移动动作组合来实现,因此将其抽象成高层次的技术动作,每个技术动作包含一组特定的底层移动动作。例如篮球游戏应用中的挡拆动作。
在获取到移动AI训练集和技术AI训练集之后,分别使用移动AI训练集和技术AI训练集对原始AI结果输出模型进行模仿学习,则使用移动AI训练集训练出的原始AI结果输出模型为移动AI结果输出子模型,使用技术AI训练集训练出的原始AI结果输出模型为技术AI结果输出子模型。因此本申请实施例中可以训练出两个子模型,分别为:移动AI结果输出子模型和技术AI结果输出子模型,这两个子模型构成AI结果输出模型。在后续可以使用移动AI结果输出子模型进行移动动作的预测,使用技术AI结果输出子模型进行技术动作的预测。本申请实施例中通过分层学习把目标角色执行的动作状态分为底层的移动动作和高层的技术动作,从而训练出移动AI结果输出子模型和技术AI结果输出子模型,降低了AI结果输出模型的训练难度降低。
103、使用AI结果输出模型从当前应用图像中检测出目标角色的当前动作状态。
在本申请实施例中,AI结果输出模型从当前应用图像中识别出目标角色之后,还可以使用AI结果输出模型对当前应用图像中的目标角色进行动作状态检测,以确定出在当前应用图像上该目标角色正在执行的动作状态,此处将检测出的目标角色正在执行的动作状态称之为目标角色的当前动作状态。需要说明的是,本申请实施例中目标角色的当前动作状态是结果指令进行预测的基础,因此AI结果输出模型需要先从当前应用图像中检测出目标角色的当前动作状态,然后才能针对该目标角色进行结果指令的预测。本申请实施例中结果输出装置只需要使用AI结果输出模型分析当前应用图像就可以检测出目标角色的当前动作状态,因此结果输出装置和应用运行所在的终端是松耦合关系,结果输出装置和应用运行所在的终端可以分别各自独立进行更新,结果输出装置和应用运行所在的终端相互之间不需要具有强绑定关系。
104、使用AI结果输出模型和当前动作状态获取目标角色能够执行的动作状态,以输出目标角色的结果指令,其中,结果指令用于控制目标角色在应用中执行动作状态。
在本申请实施例中,使用AI结果输出模型识别出目标角色,并且检测出目标角色的当前动作状态之后,接下来可以将目标角色的当前动作状态作为AI结果输出模型的输入数据输入到AI结果输出模型中,由前述对AI结果输出模型的生成过程和AI结果输出模型的功能说明可知,本申请实施例中使用AI结果输出模型可以获取目标角色能够执行的动作状态,该AI结果输出模型的预测结果可以是目标角色的结果指令,即本申请实施例中目标角色的当前动作状态是AI结果输出模型的输入数据,该AI结果输出模型的输出是目标角色的结果指令。可以理解的是,本申请实施例中结果指令用于控制目标角色在应用中执行动作状态。举例说明如下,本申请实施例中AI结果输出模型能够对目标角色的结果指令进行预测,因此AI结果输出模型可以应用于对应用的测试场景,例如AI结果输出模型可以替代测试人员完成长时间并行的运行运动类游戏测试过程。AI结果输出模型还可以应用于应用中陪伴另一角色执行动作的场景,例如AI结果输出模型可以替代游戏内置AI实现与人互动陪玩等需求。
以篮球游戏应用的运行为例,AI结果输出模型检测出目标角色的当前动作状态是抱球前倾、且角色身体准备起跳,则AI结果输出模型可以输出投篮人物结果指令是投篮动作。
在本申请的一些实施例中,步骤104使用AI结果输出模型和当前动作状态获取目标角色能够执行的动作状态,以输出目标角色的结果指令,包括:
使用移动AI结果输出子模型和当前动作状态获取目标角色能够执行的移动动作,以得到目标角色的移动动作结果;和/或,
使用技术AI结果输出子模型和当前动作状态对目标角色能够执行的技术动作进行预测,以得到目标角色的技术动作结果;
其中,移动动作结果和技术动作结果用于合成结果指令。
具体的,在前述移动AI结果输出子模型和技术AI结果输出子模型构成AI结果输出模型的场景下,本申请实施例中通过分层学习训练出移动AI结果输出子模型和技术AI结果输出子模型,则可以分别使用移动AI结果输出子模型和技术AI结果输出子模型获取目标角色能够执行的动作状态,其中,移动AI结果输出子模型可用于移动动作进行预测,技术AI结果输出子模型可用于技术动作进行预测,因此本申请实施例中使用两个结果输出子模型可以分别输出目标角色的移动动作结果和技术动作结果,移动动作结果和技术动作结果可以用于合成结果指令。以篮球游戏应用的运行为例,移动AI结果输出子模型输出的移动动作结果是向前移动,使用技术AI结果输出子模型输出的技术动作结果是投篮,因此合成出的结果指令是向前移动的同时投篮。
在本申请的一些实施例中,应用本身提供有技术动作对应的动作标签,其中,动作标签是指一个技术动作对应的唯一标识,例如在应用中不同的技术动作对应不同的动作标签,则可以使用动作标签来指示所标识的技术动作。在得到目标角色的技术动作结果之后,本申请实施例提供的方法还包括:
当技术AI结果输出子模型输出目标角色的技术动作结果时,从应用中获取技术动作与动作标签的映射关系;
根据技术动作与动作标签的映射关系,确定技术动作结果所属的动作标签结果;
输出目标角色对应的动作标签结果。
其中,若应用本身提供有技术动作对应的动作标签,则技术AI结果输出子模型输出目标角色的技术动作结果之后,可以根据应用提供的技术动作与动作标签的映射关系查询技术动作结果所属的动作标签结果,例如以篮球游戏应用的运行为例,投篮技术动作映射的动作标签是001,卡位技术动作映射的动作标签是002,盖帽技术动作映射的动作标签是003,则技术AI结果输出子模型输出技术动作结果是盖帽技术动作时,则可以确定盖帽技术动作所属的动作标签结果为003,因此最终只需要输出目标角色对应的动作标签结果为003即可。
在本申请的一些实施例中,应用本身不提供技术动作,在这种实现场景下,使用技术AI结果输出子模型和当前动作状态对目标角色能够执行的技术动作进行预测,以得到目标角色的技术动作结果,包括:
使用技术AI结果输出子模型和当前动作状态获取目标角色能够执行的基础技术动作,以得到多个基础技术动作;
将多个基础技术动作按照动作执行逻辑顺序进行组合,得到目标角色的技术动作结果。
其中,在技术AI结果输出子模型无法直接输出技术动作结果时,可以使用技术AI结果输出子模型和当前动作状态获取目标角色能够执行的基础技术动作,以得到多个基础技术动作,然后将多个基础技术动作按照动作执行逻辑顺序进行组合,得到目标角色的技术动作结果,其中动作执行逻辑顺序是指一系列基础技术动作之间的执行先后顺序。技术AI结果输出子模型输出多个基础技术动作之后,可以进行多个基础技术动作的逻辑组合,最后输出目标角色的技术动作结果。举例说明,以游戏应用的运行为例,对没有技术动作的游戏,例如实况足球游戏应用,需要带球突破,就要完成一些列的盘球、过人、冲刺等操作。针对这种情况把这种一系列的基础技术动作组合起来,组成类似左边突破,右边突破,中路突破这种抽象的高层次的技术动作,以此来简化技术AI结果输出子模型的动作标签。同时也降低AI训练的难度。
在本申请的一些实施例中,如图4所示,步骤104使用AI结果输出模型和当前动作状态获取目标角色能够执行的动作状态,以输出目标角色的结果指令之后,本申请实施例提供的方法还包括:
105、将目标角色的结果指令发送给应用,并控制目标角色在应用的下一帧应用图像上执行结果指令。
其中,结果输出装置可以在输出目标角色的结果指令之后,该结果输出装置向应用发送目标角色的结果指令,在应用的下一帧应用图像上可以控制目标角色执行结果指令。例如结果输出装置可以是运行应用的终端,则该终端可以在应用运行时,读取到目标角色的结果指令,并在该应用中按照结果指令来控制目标角色执行,从而实现了目标角色的下一帧执行。
通过以上实施例对本申请实施例的描述可知,首先获取应用运行时产生的当前应用图像,使用AI结果输出模型从当前应用图像中识别出目标角色,其中,AI结果输出模型是根据应用中针对目标角色生成的历史动作状态进行模仿学习后生成的模型,接下来使用AI结果输出模型从当前应用图像中检测出目标角色的当前动作状态,最后使用AI结果输出模型和当前动作状态获取目标角色能够执行的动作状态,以输出目标角色的结果指令,其中,结果指令用于控制目标角色在应用中执行动作状态。由于本申请实施例中根据应用中针对目标角色生成的历史动作状态进行模仿学习后生成AI结果输出模型,该AI结果输出模型可以识别出目标角色的当前运动状态,该AI结果输出模型还可以获取该目标角色的后续运动状态,从而目标角色可以在应用中执行该结果指令,因此本申请实施例中不需要应用提供内部数据接口和操控接口,实现了AI结果输出模型和应用的松耦合,从而可以该AI结果输出模型可以适配多种应用,还可以从应用外部实现各种测试需求。
为便于更好的理解和实施本申请实施例的上述方案,下面举例相应的应用场景来进行具体说明。
使用模仿学习和分层学习(Hierarchical Learning)相结合的方法,以游戏图像为输入数据实现了运动类游戏的外置AI。该AI不需要游戏开发方开放任何数据和操控接口。本申请实施例把AI结果输出模型应用于替代测试人员,实现大规模并发的游戏自动运行和自动化测试。
以篮球游戏应用的运行为例,本申请实施例使用基于模仿学习和分层学习的方式来设计运动类游戏的外置AI结果输出模型(后续简称为AI)。该AI可以较好的适应运动类游戏复杂的3D游戏环境,对随机出现的情况可以有较好的应对动作,而不局限于目前按照动作脚本只能完成固定的动作。通过分层学习,本申请实施例把游戏动作分为底层的移动动作和高层的技术动作,使得AI的训练难度降低。因为在球类运动中高层次的技术类动作很难通过底层的动作组合来学会,因此本申请实施例将其抽象成高层次的技术动作。每个技术动作包含一组特定的底层动作。例如挡拆。通过模仿学习本申请实施例可以快速的学会人类在游戏中控制球员的行为。
本申请实施例中直接使用游戏图像作为输入,不需要游戏开发方提供额外的支持工作,也可以很方便的移植到其它同类型游戏中,所以移植性很好。只需要在新游戏上重新做模仿学习的训练。本申请实施例中因为不介入游戏内部的接口,不与游戏程序集成,因此不会影响到游戏的安全性和性能开销。本申请实施例可以把本申请实施例中应用于游戏正式版本的发布测试,性能测试中,而不会影响到游戏的表现。
图5为本申请实施例提供的手机的AI结果输出模型在游戏应用中的动作预测过程示意图,本申请实施例中工作流程包括如下步骤S01至步骤S05。游戏开始后本申请实施例会循环运行以下步骤S02至步骤S05,直到游戏结束。
S01、首先启动手机。
S02、从手机采集实时的游戏图像。
S03和S04、实时游戏图像被送入到两个不同的模仿学习游戏AI中,S03中使用的是负责执行移动动作的AI结果输出子模型,S04中使用的是负责输出高层次技术动作的AI结果输出子模型。
S05、把生成的两种动作合并起来,发给执行端负责执行。
最后本申请实施例返回步骤S02,继续处理下一帧游戏图像,直到本局游戏结束。
其中,模仿学习可以认为是一个策略函数,其目的是输入一张游戏内的图像,输出接下来的动作策略。因为本申请实施例采用分层学习,因此本申请实施例有两个模仿学习模块实现两种动作:移动动作和技术动作。最后合并两种动作输出到手机执行。
需要说明的是,在移动动作里面可以包括维持原来位置不动的动作,相应的技术动作也可以包括维持原来位置不动的动作。
图6为本申请实施例提供的运动游戏AI结果输出模型的组成架构示意图。接下来说明游戏AI的架构。本申请实施例的运动游戏AI是基于模仿学习和分层学习设计,本申请实施例把AI分成底层的移动AI结果输出子模型和高层次的技术AI结果输出子模型。
首先对移动AI结果输出子模型进行说明,移动AI结果输出子模型负责决策当前需要往哪个方向移动,例如在球类运动中就是往场地的哪个方向移动。AI会根据输入的图像(也就是当前的状态)生成一个移动的方向。移动的方向包括前后左右,以及左前、右前、左后、右后这8个方向,形成一个米字型的方向。
接下来对技术AI结果输出子模型进行说明,技术AI结果输出子模型负责输出高层次的技术类动作。高层次的技术动作是指运动中的特定技术性动作,例如在篮球运动中的投篮、截断、挡拆、卡位、摆脱等等,在足球运动中的传球、过人、射门等等。技术AI结果输出子模型也是根据当前的图像状态来生成一个高层次的技术动作。
图7a为本申请实施例提供的手机的AI结果输出模型在游戏应用中的训练过程示意图,接下来对模仿学习得到的AI预测的训练流程进行说明,主要包括如下过程:
S11、采集游戏样本。
例如,获取游戏应用中录制游戏局内的样本。
S12、生成训练数据和验证数据。
本申请实施例会把样本划分成做移动AI训练和做技术AI训练的两种样本集,两种样本集内的样本会有重复。
S13、训练移动AI结果输出子模型。
S14、训练技术AI结果输出子模型。
以篮球游戏应用为例,本申请实施例根据当前录制的样本是球员的动作来划分样本集。当球员只是单纯移动时,这部分样本就归入到移动AI训练集中,如果录制的样本包含技术类动作,例如投篮、传球、挡拆等等,本申请实施例就把该样本同时划入到移动AI训练集和技术AI的训练集。因为技术类动作在做的同时,也可以往某个方向移动,例如抢篮板球,因此需要同时划入到移动AI训练集和技术AI的训练集。
S15、判断模型预测效果是否满意。
S16、在模型预测效果满意的情况下,输出移动AI结果输出子模型和技术AI结果输出子模型。
训练集准备好后,本申请实施例使用监督学习方法来并行训练这两个AI。训练好的AI可以接入到游戏应用中,通过实际效果来评估模型,如果模型效果不好,那么可以继续录制新的样本并加入到之前的训练集中再次训练。这个循环本申请实施例可以做多次,直到模型的效果满足设计需求。
最后,本申请实施例使用自适应矩估计(Adam)优化器和随机梯度下降法来完成神经网络的优化过程。
接下来对模仿学习得到的AI结果输出模型进行说明,例如移动AI结果输出子模型和技术AI结果输出子模型都采用标准的ResNet50网络结构。如图7b所示,为本申请实施例提供的ResNet50的残差网络的架构示意图。接下来对ResNet50网络中的残差结构进行说明,称为残差块(Block)A和残差块B。残差网络的作用是提升模型的收敛性,使其更容易训练,同时又不会过拟合。
接下来说明两种残差结构,Block A可以包括:卷积层(Conv2D)、和批标准化层(BatchNormalization)和激活层(Activation)。其中,卷积层可以包括:kernel/bias等参数,批标准化层可以包括gamma、beta、mean、variance等参数,激活层可以采用relu激活函数。Block B可以包括:卷积层(Conv2D)、和批标准化层(BatchNormalization)和激活层(Activation),其中,Block A和Block B的区别在于所包括的各个层内的具体参数不同,此处不再详细说明。
ResNet50的残差网络是由上述Block A和Block B组成。抽象后的ResNet50网络结构包括:层1至层10。其中,层1中通过卷积层进行批标准化处理,层2、层4、层6都使用残差块A,层3使用残差块B×2,层3使用残差块B×3,层7使用残差块B×5,层9使用残差块B×2,层10使用全连接层和Softmax层。其中,在深度学习领域可以使用ResNet50结构,主要目的就是提取需要识别图像的更抽象的特征。
ResNet50抽象的网络结构说明如下:
层1是ResNet50的第一个卷积层输入包括了卷积层、批标准化(BatchNormalization)层和激活层。
层2是Block A结构。
层3是Block B结构,×2表示两块Block B结构串联。后续层的Block B×3,BlockB×5表示Block B结构串联3块和5块组成一个大的结构。
层10是全连接层和softmax层。其中Softmax层把上一个全连接层的输出映射为0-1之间的一组实数,并且归一化保证和为1,因此多分类的概率之和也刚好为1。所以本申请实施例就可以选取概率最高的那个作为本申请实施例的输出动作。
最后对本申请实施例中模仿学习动作进行举例说明,在前面本申请实施例提到AI的架构被分成了移动AI结果输出子模型和技术AI结果输出子模型。移动AI子模型需要生成移动的方向,就是前后左右,以及左前、右前、左后、右后这8个方向,形成一个米字型的方向。
技术AI子模型的动作会比较复杂,本申请实施例分成两种情况:游戏本身提供技术动作和游戏本身不提供技术动作。这种技术动作是指在运动游戏中完成某一个基本的技术需要一组动作来组成。例如篮球中的投篮可能需要走位,跳起和最后的投球,这需要三个基础动作来组合。但是很多游戏为了简化操作,直接提供了这种组合类的动作,例如篮球游戏应用中的投篮动作。
当游戏有技术动作时,以篮球游戏应用为例,该游戏提供了抢断、防守、摆脱、投篮、卡位,盖帽等篮球的绝大多数技术动作,本申请实施例的技术AI结果输出子模型就可以直接输出该项技术动作对应的动作标签,例如,手机端的运动游戏可以提供这种抽象后的技术动作。
当游戏没有技术动作时,对没有定义技术动作的游戏,例如实况足球,需要带球突破,就要完成一些列的盘球,过人,冲刺等操作。针对这种情况本申请实施例可以把这种一系列的动作组合起来,组成类似左边突破,右边突破,中路突破这种抽象的高层次技术动作。以此来简化技术AI的动作标签。同时也降低AI训练的难度。例如篮球中的过人,如果不提供过人这种抽象的动作,若需要完成一个完整的过人动作,因此需要使用包括加速、绕边这组基础技术动作才能完成一个完整的过人动作。
如图8a至为图8c所示,本申请实施例提供的篮球游戏应用中的控制目标角色的应用场景示意图,篮球游戏应用中显示有移动动作控制区域、目标角色和技术动作控制区域,本申请实施例在游戏AI自动运行时,为了实现在篮球游戏应用中的控制球员的效果,可以在终端的显示屏幕上左侧显示移动摇杆,由移动AI结果输出子模型来负责控制,而在终端的显示屏幕上右侧显示防守、抢断、盖帽等技术动作的按钮,则由技术AI结果输出子模型来负责。
本申请实施例中可以用于运动类游戏开发时的版本测试中,通过全自动化的游戏运行,本申请实施例可以实现对游戏开发的版本进行自动化测试。通过自动化的测试,本申请实施例可以大大节省测试人力资源的投入。
其次本申请实施例中还可以用于游戏陪玩AI,用于替代游戏的内置AI。游戏内置AI通常使用固定的策略,因此在游戏发布后比较难调整策略。而基于模仿学习的AI通过训练来模仿人类行为,因此可以通过训练不同的人类样本集来实现不同策略的AI。而且AI的模型权重更新不需要更新整个游戏程序。因此更加方便游戏AI的更新。因为游戏内置AI通常涉及到程序编码,因此要更新内置AI需要更新整个游戏程序包。而本申请实施例的外置AI采用神经网络模型,更新其AI只需要更新神经网络权重文件。因此可以采用游戏热更新的方式,不需要更新整个程序包。
通过前述的举例说明可知,本申请实施例实现通用的运动类游戏的AI架构和训练。可以大规模替代测试人员完成长时间并行的运行运动类游戏场景。可以替代游戏内置AI实现与人互动陪玩等需求。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请实施例所必须的。
为便于更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图9所示,本申请实施例提供的一种结果输出装置900,可以包括:处理器902和存储器901;
所述存储器901,用于存储指令;
所述处理器902,用于获取应用运行时产生的当前应用图像;使用人工智能AI结果输出模型从所述当前应用图像中识别出目标角色,其中,所述AI结果输出模型是根据所述应用中针对所述目标角色生成的历史动作状态进行模仿学习后生成的模型;使用所述AI结果输出模型从所述当前应用图像中检测出所述目标角色的当前动作状态;使用所述AI结果输出模型和所述当前动作状态获取所述目标角色能够执行的动作状态,以输出所述目标角色的结果指令,其中,所述结果指令用于控制所述目标角色在所述应用中执行动作状态。
在本申请的一些实施例中,所述处理器902,还用于使用预先训练完成的人工智能AI结果输出模型从所述应用图像中识别出目标角色之前,获取所述应用针对所述目标角色生成的历史动作信息,所述历史动作信息包括:在获取所述当前应用图像之前的多帧应用图像中所述目标角色的历史动作状态信息;使用所述历史动作信息和AI预测算法对原始AI结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的AI结果输出模型。
在本申请的一些实施例中,所述处理器902,具体用于获取针对所述目标角色预先设置的动作类型,所述动作类型包括:移动动作和技术动作;按照所述动作类型对多帧应用图像分别对应的历史动作信息进行分类,得到移动AI训练集和技术AI训练集;使用所述移动AI训练集和AI预测算法对原始AI结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的移动AI结果输出子模型;以及,使用所述技术AI训练集和AI预测算法对原始AI结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的技术AI结果输出子模型,所述移动AI结果输出子模型和所述技术AI结果输出子模型构成所述AI结果输出模型。
在本申请的一些实施例中,所述处理器902,具体用于使用所述移动AI结果输出子模型和所述当前动作状态获取所述目标角色能够执行的移动动作,以得到所述目标角色的移动动作结果;和/或,使用所述技术AI结果输出子模型和所述当前动作状态获取所述目标角色能够执行的技术动作,以得到所述目标角色的技术动作结果;
其中,所述移动动作结果和所述技术动作结果用于合成所述结果指令。
在本申请的一些实施例中,所述处理器902,还用于得到所述目标角色的技术动作结果之后,当所述技术AI结果输出子模型输出所述目标角色的技术动作结果时,从所述应用中获取技术动作与动作标签的映射关系;根据所述技术动作与动作标签的映射关系,确定所述技术动作结果所属的动作标签结果;输出所述目标角色对应的动作标签结果。
在本申请的一些实施例中,所述处理器902,具体用于使用所述技术AI结果输出子模型和所述当前动作状态获取所述目标角色能够执行的基础技术动作,以得到多个基础技术动作;将所述多个基础技术动作按照动作执行逻辑顺序进行组合,得到所述目标角色的技术动作结果。
在本申请的一些实施例中,所述处理器902,还用于使用所述AI结果输出模型和所述当前动作状态获取所述目标角色能够执行的动作状态,以输出所述目标角色的结果指令之后,将所述目标角色的结果指令发送给所述应用,并控制所述目标角色在所述应用的下一帧应用图像上执行所述结果指令。
通过以上对本申请实施例的描述可知,首先获取应用运行时产生的当前应用图像,使用AI结果输出模型从当前应用图像中识别出目标角色,其中,AI结果输出模型是根据应用中针对目标角色生成的历史动作状态进行模仿学习后生成的模型,接下来使用AI结果输出模型从当前应用图像中检测出目标角色的当前动作状态,最后使用AI结果输出模型和当前动作状态获取目标角色能够执行的动作状态,以输出目标角色的结果指令,其中,结果指令用于控制目标角色在应用中执行动作状态。由于本申请实施例中根据应用中针对目标角色生成的历史动作状态进行模仿学习后生成AI结果输出模型,该AI结果输出模型可以识别出目标角色的当前运动状态,该AI结果输出模型还可以获取该目标角色的后续运动状态,从而目标角色可以在应用中执行该结果指令,因此本申请实施例中不需要应用提供内部数据接口和操控接口,实现了AI结果输出模型和应用的松耦合,从而可以该AI结果输出模型可以适配多种应用。
本申请实施例还提供了另一种终端,如图10所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point ofSales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图10示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图10,手机包括:射频(Radio Frequency,RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10对手机的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器1080还具有控制执行以上由终端执行的应用中目标角色的结果输出方法流程。
图11是本申请实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的应用中目标角色的结果输出方法步骤可以基于该图11所示的服务器结构。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请实施例提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请实施例可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请实施例而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例各个实施例所述的方法。
综上所述,以上实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照上述实施例对本申请实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请实施例各实施例技术方案的精神和范围。
Claims (15)
1.一种应用中目标角色的结果输出方法,其特征在于,包括:
获取应用运行时产生的当前应用图像;
使用人工智能结果输出模型从所述当前应用图像中识别出目标角色,其中,所述人工智能结果输出模型是通过分层学习把目标角色执行的动作状态分为移动动作和技术动作,针对移动动作和技术动作对多帧应用图像分别对应的历史动作信息进行分类,并对分类得到的内容分别进行模仿学习后生成的模型,移动动作是指目标角色在应用中的底层动作,技术动作是指目标角色在应用中的高层动作;
使用所述人工智能结果输出模型从所述当前应用图像中检测出所述目标角色的当前动作状态;
使用所述人工智能结果输出模型和所述当前动作状态获取所述目标角色能够执行的动作状态,以输出所述目标角色的结果指令,其中,所述结果指令用于控制所述目标角色在所述应用中执行动作状态。
2.根据权利要求1所述的方法,其特征在于,所述使用人工智能结果输出模型从所述应用图像中识别出目标角色之前,所述方法还包括:
获取所述应用针对所述目标角色生成的历史动作信息,所述历史动作信息包括:在获取所述当前应用图像之前的多帧应用图像中所述目标角色的历史动作状态信息;
使用所述历史动作信息和人工智能预测算法对原始人工智能结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的人工智能结果输出模型。
3.根据权利要求2所述的方法,其特征在于,使用所述历史动作信息和人工智能预测算法对原始人工智能结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的人工智能结果输出模型,包括:
获取针对所述目标角色预先设置的动作类型,所述动作类型包括:移动动作和技术动作;
按照所述动作类型对多帧应用图像分别对应的历史动作信息进行分类,得到移动人工智能训练集和技术人工智能训练集;
使用所述移动人工智能训练集和人工智能预测算法对原始人工智能结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的移动人工智能结果输出子模型;以及,
使用所述技术人工智能训练集和人工智能预测算法对原始人工智能结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的技术人工智能结果输出子模型,所述移动人工智能结果输出子模型和所述技术人工智能结果输出子模型构成所述人工智能结果输出模型。
4.根据权利要求3所述的方法,其特征在于,所述使用所述人工智能结果输出模型和所述当前动作状态获取所述目标角色能够执行的动作状态,以输出所述目标角色的结果指令,包括:
使用所述移动人工智能结果输出子模型和所述当前动作状态获取所述目标角色能够执行的移动动作,以得到所述目标角色的移动动作结果;和/或,
使用所述技术人工智能结果输出子模型和所述当前动作状态获取所述目标角色能够执行的技术动作,以得到所述目标角色的技术动作结果;
其中,所述移动动作结果和所述技术动作结果用于合成所述结果指令。
5.根据权利要求4所述的方法,其特征在于,所述得到所述目标角色的技术动作结果之后,所述方法还包括:
当所述技术人工智能结果输出子模型输出所述目标角色的技术动作结果时,从所述应用中获取技术动作与动作标签的映射关系;
根据所述技术动作与动作标签的映射关系,确定所述技术动作结果所属的动作标签结果;
输出所述目标角色对应的动作标签结果。
6.根据权利要求4所述的方法,其特征在于,所述使用所述技术人工智能结果输出子模型和所述当前动作状态获取所述目标角色能够执行的技术动作,以得到所述目标角色的技术动作结果,包括:
使用所述技术人工智能结果输出子模型和所述当前动作状态获取所述目标角色能够执行的基础技术动作,以得到多个基础技术动作;
将所述多个基础技术动作按照动作执行逻辑顺序进行组合,得到所述目标角色的技术动作结果。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述使用所述人工智能结果输出模型和所述当前动作状态获取所述目标角色能够执行的动作状态,以输出所述目标角色的结果指令之后,所述方法还包括:
将所述目标角色的结果指令发送给所述应用,并控制所述目标角色在所述应用的下一帧应用图像上执行所述结果指令。
8.一种结果输出装置,其特征在于,所述结果输出装置包括:处理器和存储器;
所述存储器,用于存储指令;
所述处理器,用于获取应用运行时产生的当前应用图像;使用人工智能结果输出模型从所述当前应用图像中识别出目标角色,其中,所述人工智能结果输出模型是通过分层学习把目标角色执行的动作状态分为移动动作和技术动作,针对移动动作和技术动作对多帧应用图像分别对应的历史动作信息进行分类,并对分类得到的内容分别进行模仿学习后生成的模型,移动动作是指目标角色在应用中的底层动作,技术动作是指目标角色在应用中的高层动作;使用所述人工智能结果输出模型从所述当前应用图像中检测出所述目标角色的当前动作状态;使用所述人工智能结果输出模型和所述当前动作状态获取所述目标角色能够执行的动作状态,以输出所述目标角色的结果指令,其中,所述结果指令用于控制所述目标角色在所述应用中执行动作状态。
9.根据权利要求8所述的装置,其特征在于,所述处理器,还用于使用预先训练完成的人工智能结果输出模型从所述应用图像中识别出目标角色之前,获取所述应用针对所述目标角色生成的历史动作信息,所述历史动作信息包括:在获取所述当前应用图像之前的多帧应用图像中所述目标角色的历史动作状态信息;使用所述历史动作信息和人工智能预测算法对原始人工智能结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的人工智能结果输出模型。
10.根据权利要求9所述的装置,其特征在于,所述处理器,具体用于获取针对所述目标角色预先设置的动作类型,所述动作类型包括:移动动作和技术动作;按照所述动作类型对多帧应用图像分别对应的历史动作信息进行分类,得到移动人工智能训练集和技术人工智能训练集;使用所述移动人工智能训练集和人工智能预测算法对原始人工智能结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的移动人工智能结果输出子模型;以及,使用所述技术人工智能训练集和人工智能预测算法对原始人工智能结果输出模型进行模仿学习,并在满足预设的训练结束条件时输出训练完成后的技术人工智能结果输出子模型,所述移动人工智能结果输出子模型和所述技术人工智能结果输出子模型构成所述人工智能结果输出模型。
11.根据权利要求10所述的装置,其特征在于,所述处理器,具体用于使用所述移动人工智能结果输出子模型和所述当前动作状态获取所述目标角色能够执行的移动动作,以得到所述目标角色的移动动作结果;和/或,使用所述技术人工智能结果输出子模型和所述当前动作状态获取所述目标角色能够执行的技术动作,以得到所述目标角色的技术动作结果;
其中,所述移动动作结果和所述技术动作结果用于合成所述结果指令。
12.根据权利要求11所述的装置,其特征在于,所述处理器,还用于得到所述目标角色的技术动作结果之后,当所述技术人工智能结果输出子模型输出所述目标角色的技术动作结果时,从所述应用中获取技术动作与动作标签的映射关系;根据所述技术动作与动作标签的映射关系,确定所述技术动作结果所属的动作标签结果;输出所述目标角色对应的动作标签结果。
13.根据权利要求11所述的装置,其特征在于,所述处理器,具体用于使用所述技术人工智能结果输出子模型和所述当前动作状态获取所述目标角色能够执行的基础技术动作,以得到多个基础技术动作;将所述多个基础技术动作按照动作执行逻辑顺序进行组合,得到所述目标角色的技术动作结果。
14.根据权利要求8至13中任一项所述的装置,其特征在于,所述处理器,还用于使用所述人工智能结果输出模型和所述当前动作状态获取所述目标角色能够执行的动作状态,以输出所述目标角色的结果指令之后,将所述目标角色的结果指令发送给所述应用,并控制所述目标角色在所述应用的下一帧应用图像上执行所述结果指令。
15.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760123.8A CN110448909B (zh) | 2019-08-16 | 2019-08-16 | 一种应用中目标角色的结果输出方法和装置以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760123.8A CN110448909B (zh) | 2019-08-16 | 2019-08-16 | 一种应用中目标角色的结果输出方法和装置以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110448909A CN110448909A (zh) | 2019-11-15 |
CN110448909B true CN110448909B (zh) | 2020-09-08 |
Family
ID=68487219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910760123.8A Active CN110448909B (zh) | 2019-08-16 | 2019-08-16 | 一种应用中目标角色的结果输出方法和装置以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110448909B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111185008B (zh) * | 2020-01-20 | 2022-11-25 | 腾讯科技(深圳)有限公司 | 用于控制游戏中的虚拟角色的方法和设备 |
CN111282272B (zh) * | 2020-02-05 | 2022-12-09 | 腾讯科技(深圳)有限公司 | 信息处理方法、计算机可读介质及电子设备 |
CN114504824A (zh) * | 2022-02-05 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 对象控制方法、装置、终端及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107403426B (zh) * | 2017-06-20 | 2020-02-21 | 北京工业大学 | 一种目标物体检测方法及设备 |
CN109224442B (zh) * | 2018-09-03 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 虚拟场景的数据处理方法、装置及存储介质 |
CN110064205B (zh) * | 2019-04-24 | 2023-02-17 | 腾讯科技(深圳)有限公司 | 用于游戏的数据处理方法、设备和介质 |
-
2019
- 2019-08-16 CN CN201910760123.8A patent/CN110448909B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110448909A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109107161B (zh) | 一种游戏对象的控制方法、装置、介质以及设备 | |
CN109091869B (zh) | 虚拟对象的动作控制方法、装置、计算机设备及存储介质 | |
WO2020233464A1 (zh) | 模型训练方法、装置、存储介质及设备 | |
CN110738211A (zh) | 一种对象检测的方法、相关装置以及设备 | |
CN110448909B (zh) | 一种应用中目标角色的结果输出方法和装置以及介质 | |
CN109893857B (zh) | 一种操作信息预测的方法、模型训练的方法及相关装置 | |
CN111813532B (zh) | 一种基于多任务机器学习模型的图像管理方法及装置 | |
CN110362494B (zh) | 微服务状态信息展示的方法、模型训练方法以及相关装置 | |
CN109951654A (zh) | 一种视频合成的方法、模型训练的方法以及相关装置 | |
CN110704661B (zh) | 一种图像分类方法和装置 | |
CN112052841B (zh) | 一种视频摘要的生成方法以及相关装置 | |
CN107943860A (zh) | 模型的训练方法、文本意图的识别方法及装置 | |
CN108875781A (zh) | 一种标签分类方法、装置、电子设备及存储介质 | |
CN108434740A (zh) | 一种策略信息确定的方法及装置 | |
CN111598169B (zh) | 一种模型训练方法、游戏测试方法、模拟操作方法及装置 | |
CN109224437A (zh) | 一种应用场景的交互方法和终端以及存储介质 | |
CN108236785B (zh) | 一种获取对象信息的方法及装置 | |
US11351458B2 (en) | Method for controlling target object, apparatus, device, and storage medium | |
CN110457214B (zh) | 应用测试方法及装置、电子设备 | |
CN103472756A (zh) | 一种实现人工智能的方法、服务器和设备 | |
CN113723378B (zh) | 一种模型训练的方法、装置、计算机设备和存储介质 | |
CN110516113B (zh) | 一种视频分类的方法、视频分类模型训练的方法及装置 | |
CN108491804A (zh) | 一种棋局展示的方法、相关装置及系统 | |
CN110069375A (zh) | 一种压力测试的方法以及相关装置 | |
CN114404977A (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 |