CN110325965B - 虚拟场景中的对象处理方法、设备及存储介质 - Google Patents
虚拟场景中的对象处理方法、设备及存储介质 Download PDFInfo
- Publication number
- CN110325965B CN110325965B CN201880003364.1A CN201880003364A CN110325965B CN 110325965 B CN110325965 B CN 110325965B CN 201880003364 A CN201880003364 A CN 201880003364A CN 110325965 B CN110325965 B CN 110325965B
- Authority
- CN
- China
- Prior art keywords
- scene
- neural network
- data
- real
- artificial neural
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种虚拟场景中的对象处理方法、设备及存储介质,包括:在样本虚拟场景中采集第一对象与第二对象的交互过程;根据所采集的场景数据样本和操作数据样本构建训练样本,合并在交互过程的不同采样点构建的训练样本形成训练样本集合;对训练样本集合进行预处理;以经过预处理的训练样本集合包括的场景数据样本为输入,并以预处理的训练样本集合包括的操作数据样本为输出,训练人工神经网络模型。应用本发明所述方案,能够利用人工神经网络模型提升模拟的对象的智能化程度。
Description
技术领域
本发明涉及电数字数据处理技术,尤其涉及一种虚拟场景中的对象处理方法、设备及存储介质。
背景技术
基于图形处理硬件的显示技术,扩展了感知环境以及获取信息的渠道,尤其是虚拟场景的显示技术,能够根据实际应用需求实现人与人、人与虚拟场景中各种虚拟对象的智能化的交互。
虚拟场景除了利用设备的屏幕显示,还可以借助于立体显示技术以取得类似真实世界的视觉感知效果,典型的是利用立体投影、虚拟现实和增强现实技术等立体显示技术来输出各种虚拟场景。
虚拟场景中模拟的各种对象与受控于用户的各种对象交互时,模拟的对象的行为与用户控制的对象的行为适配,根据用户控制对象所实施的行为,模拟的对象对应实施与用户所控制对象实施的行为相适配的行为,从而形成在虚拟环境中的交互过程。
游戏是虚拟场景显示技术的典型应用,用户可以通过设备运行游戏,在设备输出的虚拟场景中,用户控制的游戏对象与线上的其他游戏对象协同战斗或者对战。
除了用于实现在游戏中的虚拟场景,还可以用于实现各种生产、商业和娱乐等各种交互活动进行模拟的虚拟场景,例如,在学校中输出教师的三维影像对学生授课,在商店中输出导购员的三维影像对顾客进行商品介绍并实时回答顾客对商品的各种咨询等,通常,在虚拟环境中使用机器人控制的对象与用户所控制的对象进行交互。
发明内容
本发明实施例提供一种虚拟场景中的对象处理方法、设备及存储介质,能够利用人工神经网络模型提升模拟的对象的智能化程度。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种虚拟场景中对象处理方法,包括:
在样本虚拟场景中采集第一对象与第二对象的交互过程;
根据所采集的场景数据样本和操作数据样本构建训练样本,合并在所述交互过程的不同采样点构建的训练样本形成训练样本集合;
对所述训练样本集合进行预处理;
以经过预处理的训练样本集合包括的场景数据样本为输入,并以预处理的训练样本集合包括的操作数据样本为输出,训练所述人工神经网络模型。
上述方案中,所述方法还包括:
当所述操作结果表示所述第一对象在所述交互过程中的操作结果达到目标,且所述交互过程中所述第一对象的累积使用功能的次数,未超出所述第一对象的功能使用次数阈值时,标记所述训练样本的无效属性。
上述方案中,所述对所述训练样本集合进行预处理,包括:
针对所述训练样本集合中各训练样本包括的场景数据样本执行以下预处理:
将所述场景数据样本包括的第一对象的位置与第二对象的位置分别映射到参考坐标系中;
在所述参考坐标系中计算所述第一对象与所述第二对象基于不同坐标轴的距离分量;
将所述训练样本中包括的所述第一对象与所述第二对象的位置替换为所述距离分量。
上述方案中,所述对所述训练样本集合进行预处理,包括:
针对所述训练样本集合中各训练样本包括的场景数据样本执行以下预处理:
确定所述场景数据样本所包括的不同类型的字段;
将所述不同类型的字段分别进行归一化处理;
将归一化处理后的各字段数据作为分量进行连接;
将所述训练样本中的场景数据样本替换为由所述分量连接所形成的向量。
上述方案中,将所述不同类型的字段分别进行归一化处理,包括:
当所述字段的类型为距离分量时,将所述距离分量与所述虚拟场景的尺寸在相应坐标轴方向的分量进行比值运算,根据比值运算得到所述距离分量在相应坐标轴方向的归一化结果,
当所述字段的类型为使用的功能的等待时间时,将所述等待时间与所述训练样本集合中相应功能的等待时间的加和进行比值运算,根据比值运算得到相应所述等待时间的归一化结果;
当所述字段的类型为属性值时,将所述属性值与所述训练样本集合中相同类型属性值的加和进行比值运算,根据比值运算得到所述属性值的归一化结果。
上述方案中,所述对所述训练样本集合进行预处理,包括:
针对所述训练样本集合中各训练样本包括的操作数据样本执行以下预处理:
确定所述操作数据样本中控制器操作数据所对应的图像帧的数量,
当所对应的图像帧的数量超出图像帧数量阈值时,
根据所述第一对象相对于所述第二对象的距离的增加值满足增加条件,确定所述第一对象相对于所述第二对象处于离开的动作方式,
根据所述第一对象相对于所述第二对象的距离的减小值满足减小条件,确定所述第一对象相对于所述第二对象处于前进的动作方式;
将所确定的动作方式替换所述训练样本中的控制器操作数据。
上述方案中,所述对所述训练样本集合进行预处理,包括:
从所述训练样本集合中删除标记为无效属性的训练样本;
统计标记为有效属性的训练样本中操作数据样本中不同类型操作的出现次数,并执行以下预处理至少之一:
对出现次数低于数量级的操作所对应的训练样本进行复制,直至出现次数低于数量级的操作的出现次数达到所述数量级;
对操作次数高于所述数量级的操作所对应的样本进行随机选择,所选择的训练样本的数量符合所述数量级。
上述方案中,所述对所述训练样本集合进行预处理,包括:
针对所述训练样本集合中各训练样本包括的操作数据样本执行以下预处理:
根据所述训练样本中的操作数据样本所包括不同类型的字段,初始化未置位的编码序列;
确定所述编码序列中对应所述操作数据样本中不同类型字段的比特位;
对所确定的比特位进行置位,根据置位得到所述操作数据样本的编码结果;
将所述操作数据样本替换为所述操作数据样本的编码结果。
上述方案中,所述使用经过预处理的训练样本集合包括的场景数据样本为输入,并使用预处理的训练样本集合包括的操作数据样本为输出训练所述人工神经网络模型,包括:
初始化所述人工神经网络的输入层、中间层和输出层;
初始包括输入、输出、以及人工神经网络模型参数的损失函数;
在人工神经网络模型每次迭代训练过程中,
根据从所述训练样本集合中选取的训练样本代入所述损失函数,求解所述损失函数取得最小值时对应的人工神经网络模型参数;
根据所求解的人工神经网络模型参数更新所述人工神经网络模型。
上述方案中,还包括:
采集实时虚拟场景中第三对象与第四对象的交互过程;
根据采集到的实时场景数据进行预处理;
在所述人工神经网络模型中,根据经过预处理的实时场景数据预测控制所述第四对象所实施的不同的动作方式的概率、以及不同的功能使用方式的概率;
确定满足概率条件的动作方式以及功能使用方式,合并形成所述第四对象的实时操作数据;
在所述实时虚拟场景中执行对应所述第四对象的实时操作数据。
上述方案中,所述采集实时虚拟场景中第三对象与第四对象的交互过程,包括:
根据采集到的所述第三对象与所述第四对象的位置、以及所述第三对象与所述第四对象使用功能的等待时间,合并形成对应的实时场景数据;
在所述交互过程的采样点采集所述第三对象与所述第四对象的位置、以及所述第三对象与所述第四对象使用功能的等待时间;
合并所述采样点的采集结果形成相应采样点的实时场景数据。
上述方案中,所述将所述实时场景数据进行预处理,包括:
针对所述实时场景数据执行以下预处理:
将所述实时场景数据中包括的所述第三对象的位置与所述第四对象的位置映射到参考坐标系中;
在所述参考坐标系中计算所述第三对象与所述第四对象基于不同坐标轴的距离分量;
将所述实时场景数据包括的所述第三对象与所述第四对象的位置替换为所述距离分量。
上述方案中,所述将所述实时场景数据进行预处理,包括:
针对所述实时场景数据执行以下预处理:
确定所述实时场景数据所包括的不同类型的字段;
将所述不同类型的字段分别进行归一化处理;
将归一化处理后的各字段数据作为分量进行连接;
将所述实时场景数据替换为根据连接所形成的向量。
上述方案中,在所述人工神经网络模型中,根据经过预处理的实时场景数据预测控制所述第三对象所实施的不同动作方式的概率、以及不同的功能使用方式的概率,包括:
在所述人工神经网络模型的输入层,将所述实时场景数据传输至所述人工神经网络模型的中间层;
在所述人工神经网络模型中的中间层,对输入的实时场景数据根据中间层节点的激励函数进行变换,形成不同类型的动作方式以及对应的概率,并形成不同类型的功能使用方式以及对应的概率;
在所述人工神经网络的输出层输出满足概率条件的动作方式以及功能使用方式。
本发明实施例提供一种虚拟场景中的对象处理方法,包括:
采集实时虚拟场景中第三对象与第四对象的交互过程;
根据采集到的实时场景数据进行预处理;
在所述人工神经网络模型中,根据经过预处理的实时场景数据预测控制所述第四对象所实施的不同的动作方式的概率、以及不同的功能使用方式的概率;
确定满足概率条件的动作方式以及功能使用方式,合并形成所述第四对象的实时操作数据;
在所述实时虚拟场景中执行对应所述第四对象的实时操作数据。
上述方案中,所述采集实时虚拟场景中第三对象与第四对象的交互过程,包括:
根据采集到的所述第三对象与所述第四对象的位置、以及所述第三对象与所述第四对象使用功能的等待时间,合并形成对应的实时场景数据;
在所述交互过程的采样点采集所述第三对象与所述第四对象的位置、以及所述第三对象与所述第四对象使用功能的等待时间;
合并所述采样点的采集结果形成相应采样点的实时场景数据。
上述方案中,所述将所述实时场景数据进行预处理,包括:
针对所述实时场景数据执行以下预处理:
将所述实时场景数据中包括的所述第三对象的位置与所述第四对象的位置映射到参考坐标系中;
在所述参考坐标系中计算所述第三对象与所述第四对象基于不同坐标轴的距离分量;
将所述实时场景数据包括的所述第三对象与所述第四对象的位置替换为所述距离分量。
上述方案中,所述将所述实时场景数据进行预处理,包括:
针对所述实时场景数据执行以下预处理:
确定所述实时场景数据所包括的不同类型的字段;
将所述不同类型的字段分别进行归一化处理;
将归一化处理后的各字段数据作为分量进行连接;
将所述实时场景数据替换为根据连接所形成的向量。
上述方案中,在所述人工神经网络模型中,根据经过预处理的实时场景数据预测控制所述第三对象所实施的不同动作方式的概率、以及不同的功能使用方式的概率,包括:
在所述人工神经网络模型的输入层,将所述实时场景数据传输至所述人工神经网络模型的中间层;
在所述人工神经网络模型中的中间层,对输入的实时场景数据根据中间层节点的激励函数进行变换,形成不同类型的动作方式以及对应的概率,并形成不同类型的功能使用方式以及对应的概率;
在所述人工神经网络的输出层输出满足概率条件的动作方式以及功能使用方式。
本发明实施例提供一种虚拟场景中的对象处理的设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的任意一种虚拟场景中的对象处理的方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行本发明实施例提供的任意一种虚拟场景中的对象处理的方法。
本发明实施例具有以下有益效果:
将人工神经网络模型学习用户操作对象的技能的问题,转换为人工神经网络模型根据场景数据样本和操作数据样本进行训练的过程;由于人工神经网络模型对数据的变换实质是一个不断迭代更新参数的过程,从而不需要制定对象执行操作数据的具体逻辑,借助于人工神经网络模型参数能够实现表现形式丰富的操作数据,接近用户的真实操作;同时由于人工神经网络算法具有较好的抗噪声干扰能力,应用时计算速度快,因而人工神经网络模型很少像用户的真实操作出现操作失误,并且决策速度远快于用户的反应时间,其操作技能高于被学习的用户,显著提升了智能化程度。
附图说明
图1是本发明实施例提供的虚拟场景中对象处理方法的一个可选的应用模式示意图;
图2是本发明实施例提供的虚拟场景中对象处理方法的一个可选的应用模式示意图;
图3是本发明实施例提供的虚拟场景中对象处理方法的可选的流程示意图;
图4是本发明实施例提供的虚拟场景中对象处理方法的可选的流程示意图;
图5是本发明实施例提供的虚拟场景中对象处理方法的设备的一个可选的结构示意图;
图6是本发明实施例提供的人工神经网络模型训练和应用的一个可选的示意图;
图7是本发明实施例提供的摇杆移动角度数据转换为动作方式的一个可选的流程示意图;
图8A是本发明实施例提供的人工神经网络模型的一个可选结构示意图;
图8B是本发明实施例提供的人工神经网络根据实时场景数据预测操作数据的一个可选的示意图;
图9A是本发明实施例提供的人工神经网络模型的一个可选结构示意图;
图9B是本发明实施例提供的人工神经网络根据实时场景数据预测操作数据的一个可选的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例是本发明一部分实施例,而不是全部的实施例。根据本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确提供的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的操作或者装置中的单元,这里的单元可以是部分电路、部分处理器、部分程序或软件等等)。
例如,本发明实施例提供的包含了一系列的操作,但是本发明实施例提供的方法不限于所提供的操作,同样地,本发明实施例提供的设备包括了一系列单元,但是本发明实施例提供的设备不限于包括所明确提供的单元,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的单元。
另外,本发明实施例中所记载的“第一”、“第二”、“第三”和“第四”仅用于区分不同的对象,不代表顺序或者优先级的差异,可以理解,在不冲突的情况下,“第一”、“第二”、“第三”和“第四”所代表的对象可以互换。
对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)人工智能(AI,Artificial Intelligence),是指由人工制造的系统所表现出的智能,在本文中指游戏等虚拟场景的对象交互过程的人工智能。
2)人工神经网络:是一种模仿生物神经网络结构和功能的数学模型,本文中人工神经网络的示例性结构包括前馈(BP,Back Propagation)神经网络和循环神经网络(RNN,Recurrent Neural Networks),前者采用可以误差反向传播算法进行训练,人工神经网络用于函数估计或近似,包括输入层、中间层和输出层,每个层由大量处理单元相互联结构成,每个节点使用激励函数对输入的数据进行处理并输出给其他节点,激励函数的示例性的类型包括阈值型、线性型和S生长曲线(Sigmoid)型等。
3)一位有效(One-Hot)编码,本文也简称为编码,每个比特位表示一种状态,有且仅有一位为1,其余为0。
4)虚拟场景,利用设备输出的区别于现实世界的场景,通过裸眼或设备的辅助能够形成对虚拟场景的视觉感知,例如通过显示屏幕输出的二维影像,通过立体投影、虚拟现实和增强现实技术等立体显示技术来输出的三维影像;此外,还可以通过各种可能的硬件形成听觉感知、触觉感知、嗅觉感知和运动感知等各种模拟现实世界的感知。
5)对象,虚拟场景中可以进行交互的各种人和物的形象,例如动作角色扮演游戏(ARPG,Action Role Playing Game)的虚拟场景中的各种游戏角色,虚拟现实技术实现的商店中的售货员等。
6)场景数据,表示虚拟场景中的对象在交互过程中受所表现的各种特征,例如,可以包括对象在虚拟场景中的位置。
当然,根据虚拟场景的类型可以包括不同类型的特征;例如,在游戏的虚拟场景中,场景数据可以包括虚拟场景中配置的各种功能时需要等待的时间(取决于在特定时间内能够使用同一功能的次数),还可以表示游戏角色的各种状态的属性值,例如包括生命值(也称为红量)和魔法值(也称为蓝量);又例如,在虚拟现实技术实现的商店的虚拟场景中,可以表示顾客针对商品的各种偏好。
7)操作数据,表示虚拟场景中的对象在受用户/人工神经网络模型控制所执行的各种操作,例如可以控制器(如触控屏、声控开关、鼠标、键盘和摇杆)相关的操作数据,对象所具有的功能是否被使用(即对象使用了哪些功能),实施的各种动作(例如是否跳跃、是否旋转和是否蹲下等)以及对象所使用的功能;其中控制器的相关操作数据可以从设备输出虚拟场景的期间从设备的硬件层获取,对于在虚拟场景中的各种动作、使用的各种功能可以从输出虚拟场景的操作接口读取。
8)对象,虚拟场景中的角色,涉及第一对象至第四对象,其中第一对象和第三对象是虚拟场景中受控于用户的对象;第二对象和第四对象是虚拟场景中由设备(例如终端或服务器)受控于人工神经网络模型控制的角色。
本发明实施例提供一种虚拟场景中的对象处理方法、用于实施虚拟场景中对象处理方法的设备、存储有用于执行对象处理方法的可执行指令的存储介质,为便于更容易理解本发明实施例提供的虚拟场景中的对象处理方法,首先说明本发明实施例提供的虚拟场景中对象处理方法的示例性实施场景,虚拟场景可以完全基于终端设备输出,或者基于终端设备和服务器的协同来输出。
在一个实施场景中,参见图1,图1是本发明实施例提供的虚拟场景100中对象处理方法的一个可选的应用模式示意图,适用于一些完全依赖终端设备200的计算能力即可完成虚拟场景的相关数据计算的应用模式,例如单机版/离线模式的游戏,通过智能手机、平板电脑和虚拟现实/增强现实设备等终端设备200完成虚拟场景的输出。
当形成虚拟场景的视觉感知时,终端设备200通过图形计算硬件计算显示所需要的数据,并完成显示数据的加载、解析和渲染,在图形输出硬件输出能够对虚拟场景形成视觉感知的视频帧,例如,在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;此外,为了丰富感知效果,设备还可以借助不同的硬件来形成听觉感知、触觉感知、运动感知和味觉感知的一种或多种。
作为一个示例,终端设备200运行单机版的游戏应用,在游戏应用的运行过程中输出包括有动作角色扮演的虚拟场景,虚拟场景是供游戏角色交互的环境,例如可以是用于供游戏角色搏击对战的擂台,或者是进行枪战的地图;虚拟场景中包括第一对象110和第二对象120,第一对象110可以是受用户控制的游戏角色,即第一对象110受控于真实玩家,将响应于真实玩家针对控制器(包括触控屏、声控开关、键盘、鼠标和摇杆等)的操作而在虚拟场景中运动,例如当真实玩家向左移动摇杆时,第一对象将在虚拟场景中向左部移动,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);第二对象120可以是在虚拟场景中与第一对象110进行交互的对象,第二对象120可以是游戏应用中的机器人模型实现的游戏角色,例如与第一对象协同战斗的对象或对战的对象,当然,第二对象120也可以是多个对象,例如既包括与第一对象110交互的游戏角色,也可以包括与第一对象110对战的游戏角色。
作为另一个示例,终端中安装有导购应用,在导购应用的运行过程中输出商店的三维虚拟场景,在虚拟场景中包括第一对象110和第二对象120,第一对象120可以是用户本人/用户本人的三维影像,第一对象120能够在商店自由移动,并通过裸眼/虚拟现实设备用户可以感知商店以及各种商品的三维影像,第二对象120可以是利用立体显示技术输出的导购员角色,导购员角色根据机器人模型能够对用户的咨询进行合适的解答,并向用户推荐合适的商品。
在另一个实施场景中,参见图2,图2是本发明实施例提供的虚拟场景100中对象处理方法的一个可选的应用模式示意图,应用于终端设备200/300和服务器400,一般地,适用于依赖服务器400的计算能力完成虚拟场景计算、并在终端设备200/300输出虚拟场景的应用模式。
以形成虚拟场景的视觉感知为例,服务器400进行虚拟场景相关显示数据的计算并发送到终端设备200/300,终端设备200/300依赖于图形计算硬件完成计算显示数据的加载、解析和渲染,依赖于图形输出硬件输出虚拟场景以形成视觉感知,例如可以在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;对于虚拟场景的形式的感知而言,可以理解,可以借助于终端设备的相应硬件输出,例如使用麦克风输出形成听觉感知,使用振动器输出形成触觉感知等等。
作为一个示例,终端设备200/300运行网络版的游戏应用,通过连接游戏服务器与其他用户进行游戏互动,终端设备200/300输出游戏应用的虚拟场景,其中包括第一对象110和第二对象120,第一对象110可以是受用户(也称为真实玩家,以区别于机器人模型)控制的游戏角色,第一对象110受控于真实玩家,将响应于真实玩家针对控制器(包括键盘、鼠标和摇杆等)的操作而在虚拟场景中运动,例如当真实玩家向左移动摇杆并保持时,第一对象将在虚拟场景中持续向左部移动,直至真实玩家;还可以保持原地静止、跳跃以及使用各种功能(如技能和道具)。
第二对象120是能够与第一对象110进行交互的游戏角色,根据游戏逻辑,第二对象120的数量可以为一个或多个,例如在单机版游戏中第二对象120可以是机器人模型控制的一个或多个游戏角色,在网络版游戏中可以是第二对象120可以是机器人模型控制的一个或多个游戏角色,也可以是由在线的其他用户控制的一个或多个游戏角色,还可以是以上两种类型的游戏角色。
在上述的示例中,虚拟场景中存在针对第二对象的人工智能的需求,以游戏为例,对本发明实施例实现决策第二对象的游戏行为的机器人模型的可选方案进行说明。
在本发明一些实施例中,使用有限状态机实现的机器人模型,在有限状态机中将游戏中对行为划分为多种状态,当满足事件触发条件时会引发状态的改变,游戏角色执行相应的行为。
在本发明一些实施例中,使用分层状态机实现的机器人模型,在分层状态机中,为了便于维护大量的游戏角色的行为,将行为分类并将同类型的行为组成一个状态机,然后再将各个状态机组成更高层的状态机,实现对不同类型行为的查询以及执行。
在本发明一些实施例中,使用行为树实现的机器人模型,行为树的树状结构的每个节点是一种游戏行为,游戏行为的决策过程是从根节点开始按照一定规则搜索行为树,找出符合条件的节点并执行对应节点的游戏行为并执行。
上述可选方案中,机器人模型的具体逻辑由开发人员制定,技术成本高,智能化水平依赖于开发人员技术水平,表现形式比较有限,与真实玩家控制的游戏角色的表现行为的多样和随机性的特征存在很大差异。
针对上述问题,本发明实施例还提供通过人工神经网络实现的机器人模型,也称为人工神经网络模型,从样本虚拟场景中采集表示虚拟场景中包括交互对象(下文中将假设为第一对象和第二对象)特征的场景数据的样本,并采集表示虚拟场景中对象行为的操作数据的样本,形成训练样本的集合来训练人工神经网络模型,使得人工神经网络模型学习交互过程中的操作技巧(反应为人工神经网络模型参数);对于训练后的人工神经网络模型,采集实时虚拟场景中的由用户控制的对象(下文中将假设为第三对象)的实时场景数据,根据所学习的操作技巧来预测与用户控制对象的对象(下文中将假设为第四对象)执行的操作数据,通过控制对象执行操作数据来实现对应的行为,实现对象之间的智能化的交互。
参见图3,图3是本发明实施例提供的虚拟场景中对象处理方法的可选的流程示意图,下面将结合图3对采集样本虚拟场景形成训练样本训练人工神经网络模型的过程进行说明。
在操作101中,采集样本虚拟场景中第一对象与第二对象的交互过程;作为示例,终端是具有图形计算能力以及图形输出能力的终端,包括智能手机、平板电脑和虚拟现实/增强现实眼镜,在操作101以及后续操作中,可以采集一个或多个终端输出的虚拟场景作为样本虚拟场景进行相关数据的采集,例如对于游戏的虚拟场景而言,针对加入同一地图的多个在线用户,游戏服务器通过在计算并向在线用户同步虚拟场景相关数据时,对多个在线用户所控制游戏角色的交互过程进行采集,当然,在单机版/离线游戏中,也可以由终端对自身输出的虚拟场景作为虚拟场景样本进行采集。
在本发明一些实施例中,第一对象是虚拟场景中受第一终端用户控制的对象,第二对象是虚拟场景中与第一对象进行交互的对象,第一对象和第二对象的交互过程包括任一方使用功能或相对位置发生变化的过程,例如,游戏中第一对象追击或逃离第二对象的过程,第一对象和第二对象使用各自具有的功能(包括技能和道具)进行协同战斗或者对战的过程;交互过程可以根据特定时长(例如10分钟)对虚拟环境的输出过程进行划分得到,也可以根据特定状态进行划分得到,例如游戏应用中决出胜负平的结果的一局游戏,导购应用中完成一次商品的购买的过程等。
在操作102中,根据所采集虚拟场景的特征形成虚拟场景的基本信息;在本发明一些实施例中,基本信息包括描述虚拟场景的特征,例如虚拟场景的尺寸、虚拟场景中所发生的交互过程的结果等信息。
例如,对于游戏的虚拟场景,基本信息可以包括游戏角色对战环境的尺寸、每局游戏的胜/负/平的结果。
再例如,对于虚拟现实技术实现的商店的虚拟场景,基本信息可以包括商店环境的尺寸、顾客是否购买了商品等。
在操作103中,根据在交互过程采集的第一对象与第二对象的位置、以及第一对象与第二对象使用功能的等待时间,合并采集结果形成相应采样点的场景数据样本。
在本发明一些实施例中,对于交互过程采取不间断采集的方式,即在整个交互过程中不间断地采集虚拟环境中对象的位置和等待时间,例如在终端输出虚拟场景的每个图像帧时采集虚拟环境中对象的位置和相应对象所具有功能的等待时间,至少两个图像帧的组合构成一个采样点,将在每个采样点采集的第一对象和第二对象的位置、以及第一对象和第二对象的等待时间合并,形成对应一个采样点的场景数据样本,对应每个图像帧进行一次采集的方式能够形成交互过程的完整的场景数据样本。
作为示例,交互过程包括一系列的图像帧,每2个图像帧构成一个采样点,则在采样点(图像帧1、2)采集的场景数据样本一个可选的记录形式为:
[第一对象在图像帧1中的位置,第二对象在图像帧1的位置,
第一对象在图像帧1中所具有功能对应的等待时间,第二对象在图像帧1中所具有功能对应的等待时间,
第一对象在图像帧2中的位置,第二对象在图像帧2的位置,
第一对象在图像帧2中所具有功能对应的等待时间,第二对象在图像帧2中所具有功能对应的等待时间]。
在另一些实施例中,对于交互过程根据采集精度,间隔一定数量的图像帧(或时间)而设置一个采样点,在交互过程的每个采样点的窗口时间内采集,采样点的窗口一般包括多个图像帧,在采样点采集第一对象与第二对象的位置、以及第一对象与第二对象使用功能的等待时间,将在一个采样点的采集结果合并形成相应采样点的场景数据样本,基于采样点采集的方式一方面能够对交互过程中虚拟场景的数据进行比较完整的采集,另一方面显著降低了场景数据样本的重复程度,保证了基于场景数据样本构建训练样本时的多样性。
就采样点的设置来说,采集精度与采样点的数量正相关,即采集精度越高则设置的采样点的数量越多,反之亦然;一般地,采样点在交互过程中可以均匀设置,例如采样周期1秒时,在交互过程中每间隔1秒开启一次采集,在采样点的窗口时间内对虚拟场景中对象的位置以及等待时间进行采样。
作为设置采样点的示例,采样点的设置可以根据交互过程中不同阶段的信息量而自适应设置,通过学习游戏的虚拟场景中不同阶段的信息量的变化规律,根据不同阶段的信息量与采样点数量正相关的特性,在每个阶段中设置与信息量正相关的相应数量的采样点,就信息量而言,是用于表示交互过程的不同阶段所输出的信息的度量,例如可以采用虚拟场景中对象的数量、使用的功能的数量、正在运动的对象的数量来表示;交互过程中一个阶段的信息量越大,则设置的采样点的数量越多,即两者正相关,从而能够对交互过程不同阶段的信息量进行自适应的采集,从而构建的训练样本训练人工神经网络时,能够使人工神经网络根据用户操作的细节进行充分的技能学习。
作为设置采样点的示例,信息量还可以参考虚拟场景输出过程相关信号的变化情况来表示,以动态码率的视频信号为例,码率高于交互过程的平均码率的阶段,通常是动作变换比较频繁导致的因而信息量比较大,因此设置的采样点的数量高于交互过程的其他阶段,从而实现了在减少采样操作次数的基础上实现对场景数据全面采集的效果。
就交互过程中的功能而言可以视实际的应用场景选择,例如在游戏应用的虚拟场景中,功能可以是游戏角色使用的技能或者道具;在导购应用的虚拟场景中,功能可以是顾客对商品的关注行为,以及导购员对商品的介绍行为。
在本发明一些实施例中,在采集虚拟场景的交互过程形成场景数据样本时,除了采集第一对象和第二在虚拟过程中采集对象的位置以及等待时间,还可以第一对象和第二对象的各种属性值,对于在虚拟场景的每个图像帧/采样点采集第一对象和第二对象的各种属性值,将属性值连同在相应图像帧/采样点采集的位置和使用功能的等待时间组合,形成相应图像帧/采样点的场景数据样本。
作为采集属性的示例,在游戏的虚拟场景中,还可采集每个采样点的属性值:包括红量和蓝量,其中红量是指游戏角色生命值/健康值(HP,Health Point),蓝值是指游戏角色的魔法值/魔力值(Mana Point/Magic Point),当然游戏中的属性值不限于此,例如还可以包括财富值。
作为示例,包括属性值的场景数据样本可以采用如下形式记录:[第一对象的位置,第二对象的位置,第一对象所具有功能对应的等待时间,第一对象的属性值,第二对象所具有功能对应的等待时间,第二对象的属性值]。
在操作104中,根据在交互过程采集的控制第一对象时实施的控制器操作数据、第一对象所具有的功能是否被释放,合并形成相应采样点的操作数据样本。
在本发明一些实施例中,对于交互过程可以采取持续采集的方式,即在整个交互过程中不间断地用户控制第一对象时执行的各种操作数据,例如以下操作数据至少之一:控制器操作数据、第一对象的位姿方式(包括是否静止、是否旋转、是否跳跃和是否蹲下等)、第一对象所使用的功能、以及第一对象使用功能的方式;将在每个图像帧采集的各种类型的操作数据合并,形成对应一个图像帧的场景数据样本。
作为示例,交互过程包括一系列的图像帧,每2个图像帧构成一个采样点,则在图像帧1、2采集的操作数据样本一个可选的记录形式为:
[第一对象在图像帧1的控制器操作数据,第一对象在图像帧1使用功能的方式,
第一对象在图像帧2的控制器操作数据,第一对象在图像帧2使用功能的方式,
第二对象在图像帧2的控制器操作数据,第二对象在图像帧2控制器操作数据,
第二对象在图像帧2使用功能的方式]。
在另一些实施例中,在交互过程的采样点间断地采集用户控制第一对象时执行的各种操作数据,例如以下操作数据至少之一:控制器操作数据、第一对象的位姿方式(包括是否静止、是否旋转、是否跳跃和是否蹲下等)、以及第一对象使用功能的方式,将在每个采样点采集的各种类型的操作数据合并为数据集的形式记录,形成对应一个采样点的场景数据样本,例如将每个类型的操作数据作为一个维度的向量,各种类型的向量组合为一个更高维度的向量。
作为示例,交互过程包括一系列的图像帧,每个图像帧采集的场景数据样本可以参考在图像帧1采集的操作数据样本的如下形式进行记录:[第一对象的控制器操作数据,第一对象使用功能的方式,第一对象使用功能的方式;第二对象的控制器操作数据,第二对象使用功能1的方式,第二对象使用功能的方式]。
就控制器操作数据和使用功能方式而言,根据虚拟场景的实际应用而选择,例如在游戏应用的虚拟场景中,控制器操作数据可以是摇动摇杆的操作数据,使用功能方式可以是是否释放技能、是否发起普通攻击等;而在导购应用的虚拟场景中,控制器操作数据可以用于控制对象前进、后退、离开的数据,使用功能方式可以是推荐不同商品。
在操作105中,根据在不同采样点所采集的场景数据样本和操作数据样本构建相应采样点的训练样本,根据在交互过程的不同采样点构建的训练样本合并形成训练样本集合。
例如,当在交互过程中持续采集每个视频帧对应场景数据样本和操作数据样本时,对于任意一个视频帧,将在一个视频帧采集的场景数据样本和操作数据样本、与所采集的交互过程的基本信息合并,形成一个视频帧对应的训练样本,多个视频帧对应的训练样本形成训练样本集合。
再例如,当在交互过程的每个采样点采集场景数据样本和操作数据样本时,对于任意一个采样点,将在一个采样点采集的场景数据样本和操作数据样本、与所采集的交互过程的基本信息合并,形成一个视频帧对应的训练样本,多个视频帧对应的训练样本形成训练样本集合。
作为示例,当在交互过程的每个图像帧采集场景数据样本和操作数据样本时,所形成训练样本集合中训练样本采用如下形式记录:[图像帧1的训练样本1,图像帧2的训练样本n……],对于各个训练样本来说可以采用如下的形式记录[图像帧1所属虚拟场景的基本信息,图像帧1的场景数据样本,图像帧2的场景数据样本]。
在操作106中,对训练样本集合进行用于适配人工神经网络模型的预处理。
下文中提供的示例性实施例记载了对训练样本集合进行不同形式预处理的方案,可以理解,针对训练样本集合可以执行部分或者全部类型的预处理。
在本发明一些实施例中,可能存在这样的情况,训练样本中包括的操作数据是从用户操作不充分的交互过程中采集的,如果使用这样的样本训练人工神经网络模型,将难以快速学习用户操作第一对象的技巧,影响人工神经网络模型的学习效率,这样的交互过程实质是对于训练人工神经网络模型无效的交互过程,因此,从训练样本集合中训练样本所来源的交互过程中确定有效交互过程:在训练样本集合中删除不属于有效交互过程的训练样本。
就有效交互过程来说可以采用如下条件筛选:交互过程中第一对象和第二对象累积使用功能次数的加和,超出一个交互过程的整体功能使用次数阈值。
例如,当在一局游戏(对应一个交互过程)中第一对象累积使用技能的次数,与第二对象累积使用技能次数的加和,没有超出一局游戏的整体技能使用次数阈值时,说明这一局游戏中对象之间的交互不充分,避免从这样的无效的交互过程中采集样本;当超出一局游戏的整体技能使用次数阈值时,说明交互过程是有效的,即这一局游戏中对象的交互比较充分,能够从交互过程中采集到比较全面的场景数据样本和操作数据样本,因而以此构建的训练样本训练的人工神经网络模型能够对真实玩家的游戏操控技巧进行比较充分的学习。
就上述的统计使用次数的目标功能来说,可以是第一对象和第二对象具有的特定功能,根据人工神经网络模型需要学习的游戏角色的技能/道具的操控技巧,采集需要学习的技能/道具形成操作数据样本,从而能够有效减少基于操作数据样本构建训练样本的数据复杂程度,提升人工神经网络模型的学习效率;当然,上述的统计使用次数的目标功能也可以是第一对象和第二对象所使用的全部功能。
在本发明一些实施例中,在对训练样本集合进行用于适配人工神经网络模型的预处理时,可以通过获取训练样本集合中各训练样本包括的操作结果,也就是训练样本所来源的交互过程的操作结果(例如一局游戏),来标记训练样本集合中训练样本的有效属性和无效属性;选择具有有效属性的训练样本来训练人工神经网络,能够加速人工神经网络模型从训练样本学习用户控制第一对象的操作技巧的速度,节约训练时间。
就标记有效属性或者无效属性来说,包括这样的几种情况:
情况1)当操作结果表示第一对象的操作结果达到目标时,例如,在一局游戏中用户控制的游戏角色取得胜利,表明用户控制第一对象的技能比较高超,是人工神经网络模型的理想的学习对象,因此标记训练样本的有效属性供人工神经网络进行学习;
情况2)当操作结果表示第一对象的操作结果未达到目标时,例如,在一局游戏中用户控制的游戏角色战斗失败,表明用户控制第一对象的技能不理想,没有必要供人工神经网络模型学习,因此标记训练样本的无效属性。
此外,对于当操作结果表示第一对象的操作结果达到目标时标记训练样本的有效属性来说,作为标记相应训练样本的有效属性的替换方案,当操作结果表示第一对象的操作结果达到目标时,可以继续判断交互过程中第一对象的累积使用功能的次数,是否超出第一对象的功能使用次数阈值,并根据判断结果标记训练样本的无效属性或有效属性,涉及以下两种情况:
情况1)如果交互过程中用户控制第一对象的累积使用功能的次数,超出第一对象的功能使用次数阈值,说明用户控制第一对象的操作结果达到目标是通过正常水平的操作实现的,对于游戏来说,不存在诸如游戏中由于第二对象掉线等异常情况因而获得胜利的情况,从而相应的训练样本能够供人工神经网络模型学习到理想的操作技巧,因此标记训练样本的有效属性;
情况2)如果交互过程中第一对象的累积使用功能的次数,未超出第一对象的功能使用次数阈值,说明用户控制第一对象的操作结果达到目标是通过非正常水平的操作实现的,对于游戏来说,可能存在诸如游戏中由于第二对象掉线等异常情况因而获得胜利的情况,从而相应的训练样本不足以作为供人工神经网络学习到理想的操作技巧,因此标记训练样本的无效属性。
可见,对于用户控制第一对象操作取得目标的交互过程来说,通过交互过程中第一对象的累积使用功能的次数,来筛除用户不是凭借正常操作技巧而达到目标的交互过程所对应的训练样本,确保用于训练人工神经网络模型的训练样本包括有用户真实的操作技巧。
在本发明一些实施例中,对训练样本集合进行用于适配人工神经网络模型的预处理时,可以对训练样本集合中各训练样本包括的场景数据样本执行归一化的预处理,对于人工神经网络模型的训练过程来说,是对人工神经网络模型的参数针对训练样本的输入部分和输出部分不断迭代、优化的过程,在这个过程中,如果对构成训练样本的场景数据样本进行归一化,其取值将被压缩到统一的取值空间,这将加快对人工神经网络模型的参数求最优解的速度,同时提高人工神经网络的精度。
例如,在对训练样本中的场景数据样本进行归一化的预处理过程中,确定场景数据样本所包括的不同类型的字段,根据不同应用模式中场景的差异,可以包括距离分量、使用功能的等待时间以及属性值等,一个示例如下:
[距离分量、等待时间,属性值];
将不同类型的字段分别进行归一化处理,将归一化处理后的各字段数据作为分量进行连接,例如采用如下形式连接:
[归一化的距离分量、归一化的等待时间,归一化的属性值];
将训练样本中的场景数据样本替换为由归一化的分量连接所形成的向量。
下面,继续针对不同类型字段的进行归一化处理示例性说明。
1)距离分量归一化
当字段的类型为距离分量时,将距离分量与虚拟场景的尺寸在相应坐标轴方向的分量进行比值运算,根据比值运算得到距离分量在相应坐标轴方向的归一化结果。
如前,采集交互过程得到的场景数据样本中可以包括第一对象和第二对象的位置,而距离分量是对场景数据样本包括第一对象的位置与第二对象的位置进行替换得到。
举例来说,将场景数据样本包括的第一对象的位置p1与第二对象的位置p2分别映射到与虚拟场景相同的参考坐标系中,第一对象和第二对象在参考坐标系中具有一定的距离d,根据投影原理计算距离基于不同坐标轴例如基于x轴和y轴所形成的距离分量为dx和dy,将训练样本中包括的第一对象与第二对象的位置(x,y)替换为距离分量(dx,dy)。
2)等待时间归一化
当字段的类型为使用的功能的等待时间时,将等待时间与训练样本集合中相应功能的等待时间的加和进行比值运算,根据比值运算得到相应等待时间的归一化结果。
以一个训练样本中字段的类型为第一对象使用技能1的等待时间t1为例,那么,在训练样本集合中,统计所有训练样本中记录的第一对象的使用技能1的等待时间并加和,即为T1,将使用技能1的等待时间与加和的比值t1/T作为t1的归一化结果。
3)属性值归一化
当字段的类型为属性值时,将属性值与训练样本集合中相同类型属性值的加和进行比值运算,根据比值运算得到属性值的归一化结果。
以一个训练样本中字段的类型为第一对象的生命值(记为Life1)为例,使用技能1的等待时间t1为例,那么,在训练样本集合中,统计所有训练样本中记录的第一对象的生命值的等待时间并加和,记为LIFE,将第一对象的生命值Life1与加和LIFE的比值Life1/LIFE作为归一化结果。
在本发明一些实施例中,对训练样本集合进行用于适配人工神经网络模型的预处理时,可以根据训练样本包括的控制器操作数据确定第一对象的动作方式,并将训练样本中第一对象的控制器操作数据替换为相应的动作方式的方案,将第一对象相对于第二对象的动作方式替换训练样本中对应多个图像帧的控制器操作数据,有效简化了训练样本的数据复杂程度,且不会造成信息损失,并且从而能够显著降低训练样本的复杂程度。
设备通过输出对应虚拟场景的图像帧来形成对于虚拟场景的视觉感知,因此,在对虚拟场景的交互过程的每个采样点采集时,由于用户操作控制器的随机性,因此将可能出现在这个采样点没有采集到控制器操作数据(因为在这个采样点的窗口时间内用户没有操作控制器),也可能出现针对采样点所包括的部分或者全部图像帧采集到控制器操作数据的情况;而在输出图像帧的过程中连续采集到控制器操作数据的次数,本文中也称为与控制器操作数据对应的图像帧的数量,将反应用户是否操作控制器以及通过控制器控制第一对象所实现的动作方式。
对于一个训练样本来说,根据操作数据样本中控制器操作数据所对应的图像帧的数量确定动作方式,涉及以下两种情况:
情况1)当所对应的图像帧的数量超出图像帧数量阈值时,说明在这个训练样本的采集期间,用户通过控制器控制第一对象进行了移动,若第一对象相对于第二对象的距离的增加值满足增加条件,例如增加值超出距离阈值,则确定第一对象相对于第二对象处于离开的动作方式,若第一对象相对于第二对象的距离的减小值满足减小条件,例如减小值超出距离阈值,确定第一对象相对于第二对象处于前进的动作方式;
情况2)当所对应的图像帧的数量超出图像帧数量阈值时,说明在这个训练样本的采集期间所采集的控制器操作数据可能是由于噪声引起的,或者用户没有在连续操作控制器,因此标记训练样本的无效属性,在训练人工神经网络时不会选取标记为无效属性的训练样本。
对训练样本集合进行用于适配人工神经网络模型的预处理时,前文已经说明了针对训练样本中场景数据样本的归一化处理,在本发明一些实施例中,对于训练样本中的操作数据样本预处理时,可以进行归一化处理从而使最终形成的训练样本中数据的取值都处于一个较小的取值空间,减小人工神经网络模型训练的复杂程度,提升训练效率。
就针对训练样本集合中各训练样本包括的操作数据样本来说,采用一位有效位编码方式,根据训练样本中的操作数据样本所包括不同类型的字段,初始化与不同类型字段一一对应且未置位的编码序列,确定编码序列中对应操作数据样本中不同类型字段的比特位;对所确定的比特位进行置位,根据置位得到操作数据样本的编码结果;将操作数据样本替换为操作数据样本的编码结果。
例如,假设每个操作数据样本包括是否使用功能1、是否使用功能2、是否前进、是否逃跑4个字段的数据,那么初始化一个4位的比特位序列[0,0,0,0],以1表示是,以0表示否,对不同操作数据样本中是的字段对应置位,否则保持未置位的状态,形成相应的编码序列。
在本发明一些实施例中,根据本发明实施例提供的对训练样本包括的场景数据样本和操作数据样本进行预处理的方案,在训练人工神经网络模型时,从训练样本集合中删除标记为无效属性的训练样本,从剩余的标记为有效属性的训练样本中选取训练样本来训练人工神经网络模型,选取的训练样本将可能在操作的出现次数上分布不均匀的情况,这就会导致人工神经网络模型针对某些功能的操作技巧进行了过度的学习,而对某些功能的操作技巧学习不到位,因此提供训练样本在不同类型操作的出现次数进行均衡化的方案,从而使人工神经网络模型能够对用户针对不同类型功能的操控技巧进行充分的学习,将结合不同的均衡方式进行说明。
均衡方式1)对于统计标记为有效属性的训练样本来说,统计操作数据样本中不同类型操作的出现次数,对出现次数低于数量级的操作所对应的训练样本进行复制,直至出现次数低于数量级的操作的出现次数达到数量级,这里的数量级可以是预定数量级,也可以出现次数最高的操作所对应的数量级,均衡处理后的训练样本可以用于人工神经网络模型的训练。
例如,假设训练样本涉及的操作类型包括:使用技能1的操作数据,使用技能2的操作数据,使用道具1的操作数据,使用道具2的操作数据;对应的操作次数分别为100,1000,1200,1100,那么将使用技能1的操作数据对应的训练样本随机复制900,即总数达到1000,以与其他类型操作的训练样本在数量级上保持一致。
均衡方式2)对于统计标记为有效属性的训练样本来说,统计不同类型操作在训练样本中的出现次数,确定操作次数高于数量级的操作类型,从包括相应类型操作的训练样本中随机选择符合数量级的训练样本,连同操作次数未高于数量级的操作类型,连同包括未高于数量级的操作类型的训练样本,可以用于训练人工神经网络模型。
例如,假设训练样本涉及的操作类型包括:使用技能1的操作数据,使用技能2的操作数据,使用道具1的操作数据,使用道具2的操作数据;对应的操作次数分别为100,150,120,1000,那么将使用道具2的操作数据对应的训练样本随机选取100,以与其他类型操作的训练样本在数量级上保持一致,用于后续的人工神经网络模型的训练操作。
在操作107中,使用经过预处理的训练样本集合包括的场景数据样本为输入,并使用预处理的训练样本集合包括的操作数据样本为输出,训练人工神经网络模型。
在本发明一些实施例中,人工神经网络模型可以采用BP、RNN等类型,当然不限于此,根据所采用的类型的训练算法,训练样本可以进行适配处理,例如采用RNN时训练样本中的场景数据样本需要与对应多个图像帧。
初始化人工神经网络的基本结构包括输入层、中间层和输出层,初始包括对应场景数据样本的输入、对应操作数据样本的输出、以及人工神经网络模型参数的损失函数;在人工神经网络模型每次迭代训练过程中,根据从训练样本集合中选取的训练样本代入损失函数,求解损失函数取得最小值时对应的人工神经网络模型参数,根据所求解的人工神经网络模型参数更新人工神经网络模型参数。
至此已经说明了人工神经网络模型的训练过程,下面说明基于人工神经网络模型的典型的实施场景。
在基于人工神经网络模型的一个实施场景中,参见图1,图1是本发明实施例提供的虚拟场景100中对象处理方法的一个可选的应用模式示意图,适用于一些完全依赖终端设备200的计算能力即可完成虚拟场景的相关数据计算的应用模式,终端设备200中输出虚拟场景的应用,例如上文中说明的单机版/离线模式的游戏应用和导购应用,通过智能手机、平板电脑和虚拟现实/增强现实设备等终端设备200完成虚拟场景的输出。
用户在虚拟场景中控制的对象,下文中称为第三对象,可以理解,第三对象仅为了下文描述方便,实际上,第三对象与第一对象可以是用户控制的相同对象,也可以是不同的对象,例如用户在APRG中可以选择加入不同的战斗队伍从而所控制的游戏角色有所区别;在用户控制第三对象与第四对象交互的过程中,为了提升第四对象的智能化程度,在应用中嵌入了人工神经网络模型,使用人工神经网络模型来对第四对象的实时场景数据进行预测,根据预测到第四对象能够执行的操作数据继承了用户控制第一对象的操作技巧,从控制第三对象的用户感知的角度,会发现第四对象的操作数据表现形式丰富,接近用户的真实操作。
在基于人工神经网络模型的另一个实施场景中,参见图2,图2是本发明实施例提供的虚拟场景100中对象处理方法的一个可选的应用模式示意图,应用于终端设备200/300和服务器400,一般地,适用于依赖服务器400的计算能力完成虚拟场景计算、并在终端设备200/300输出虚拟场景的应用模式。
服务器400进行虚拟场景相关显示数据的计算并发送到终端设备200/300,终端设备200/300依赖于图形计算硬件完成计算显示数据的加载、解析和渲染,依赖于图形输出硬件输出虚拟场景以形成视觉感知,以终端设备200的用户控制虚拟场景中的第三对象与服务器400控制的第四对象交互为例,终端设备200采集用户的实时场景数据并发送到服务器400,服务器400运行人工神经网络模型,使用人工神经网络模型来包括第三对象的实时场景数据进行预测,根据预测到第四对象能够执行的操作数据继承了用户控制第一对象的操作技巧,从控制第三对象的用户感知的角度,会发现第四对象的操作数据表现形式丰富,接近用户的真实操作。
参见图4,图4是本发明实施例提供的虚拟场景中对象处理方法的可选的流程示意图,下面将结合图4说明虚拟场景中对象处理方法在上述应用场景中的示例性实施。
在操作201中,采集实时虚拟场景中第三对象与第四对象的交互过程。
在操作202中,根据采集到的位置、以及第三对象与第四对象使用功能的等待时间,合并形成对应的实时场景数据。
根据对上文操作103记载的形成场景数据样本的理解,可以轻易实施操作202,例如,对于交互过程采取不间断采集的方式,即在整个交互过程中不间断地采集虚拟环境中对象的位置和等待时间,对应每个图像帧进行一次采集的方式能够形成交互过程的完整的实时场景数据,或者,对于交互过程根据采集精度设置采样点,在交互过程的每个采样点的窗口时间内采集,采样点的窗口一般包括多个图像帧,在采样点采集第三对象与第四对象的位置、以及第三对象与第四对象使用功能的等待时间,将在一个采样点的采集结果合并形成相应采样点的实时场景数据。
在操作203中,将实时场景数据进行用于适配人工神经网络模型的预处理。
在本发明一些实施例中,根据上文操作106中记载的针对场景数据样本的预处理,可以轻易实施针对实时场景数据的预处理,包括将实时场景数据中包括的第三对象的位置与第四对象的位置映射到参考坐标系中;在参考坐标系中计算第三对象与第四对象基于不同坐标轴的距离分量;将实时场景数据包括的第三对象与第四对象的位置替换为距离分量。
为了提升人工神经网络模型的计算效率,针对实时场景数据执行以下预处理:确定实时场景数据所包括的不同类型的字段;将不同类型的字段分别进行归一化处理;将归一化处理后的各字段数据作为分量进行连接;将实时场景数据替换为根据连接所形成的向量。
在操作204中,在人工神经网络模型中,根据经过预处理的实时场景数据预测控制第四对象所实施的不同的动作方式的概率、以及不同的功能使用方式的概率。
人工神经网络模型的中间层由一系列的节点构成,通过输入层输入到中间层的实时场景数据,在中间层的节点通过激励函数对输入的数据进行变换,最终在输出变换为不同的动作方式、不同功能使用方式以及对应的概率;输出概率最高的动作方式和功能使用方式;例如,在游戏应用中,输出前进、后退、跳跃、蹲下等动作方式的概率、以及普通攻击、释放技能、使用道具等功能使用方式的概率。
在操作205中,确定满足概率条件的动作方式以及功能使用方式,合并形成第四对象的实时操作数据。
例如,承接操作204的示例,从人工神经网络模型中的输出中选择概率最高的动作方式和功能使用方式,或者,按照概率的降序选择排序在前的设定数的动作方式和功能方式,组合形成针对第四对象待执行的操作数据;对于前者而言,可以用于形成对于第三对象的一次性操作的响应,例如游戏角色的实施一个动作并实施一个功能,对于后者,可以用于形成对于第三对象的连续性操作的响应,例如游戏角色的一系列连续的动作和功能。
在操作206中,作为对第三对象与第四对象的交互过程中用户控制第三对象所实施操作的响应,在实时虚拟场景中执行对应第四对象的实时操作数据。
例如,图1示出的终端设备200输出应用的虚拟场景,针对用户在虚拟场景中控制第三对象的操作,调用操作接口控制第四对象执行实时操作数据,例如游戏中的一次动作,导购应用中针对顾客的一次回答或一次商品的推荐等。
参见图5,图5是本发明实施例提供的虚拟场景中对象处理方法的设备的一个可选的结构示意图,将根据图5说明实现本发明实施例的设备可选结构。图5所示的设备500可以包括:至少一个处理器510、至少一个通信总线540、用户接口530、至少一个网络接口520和存储器550。设备500中的各个组件通过通信总线540耦合在一起。可以理解,通信总线540用于实现这些组件之间的连接通信。通信总线540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为通信总线540。
其中,用户接口530可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。网络接口520可以包括标准的有线接口、无线接口,典型的无线接口是WiFi接口。
可以理解,存储器550可以是高速RAM存储器,也可以是易失性的存储器(Non-Volatile Memory),例如至少一个磁盘存储器。存储器550还可以是至少一个远离处理器510的存储系统。本发明实施例中的存储器550用于存储各种类型的数据以支持设备500的操作。这些数据的示例包括:用于在设备500上操作的任何计算机程序,如操作系统、网络通信模块、用户接口模块以及虚拟场景功能,实现本发明实施例的虚拟场景中的对象处理方法的程序可以包含在虚拟场景应用中。
本发明实施例揭示的虚拟场景中的对象处理方法可以应用于处理器510中,或者由处理器510实现。处理器510可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,虚拟场景中的对象处理方法的各操作可以通过处理器510中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器510可以是通用处理器、DSP或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器510可以实现或者执行本发明实施例中的提供的各方法、操作及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的虚拟场景中对象处理方法,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器550,处理器510读取存储器550中的信息,结合其硬件完成本发明实施例提供的虚拟场景中对象处理方法。
在本发明一些实施例中,以软件实施为例,本发明实施例提供的虚拟场景中对象处理方法可以通过存储器550中存储的以下虚拟场景功能模块实现:采集单元551、样本单元552、预处理单元553和模型单元554。
在本发明一些实施例中,采集单元551,配置为在样本虚拟场景中采集第一对象与第二对象的交互过程;
样本单元552,配置为根据所采集的场景数据样本和操作数据样本构建训练样本,合并在所述交互过程的不同采样点构建的训练样本形成训练样本集合;
预处理单元553,配置为对所述训练样本集合进行配置为适配人工神经网络模型的预处理;
模型单元554,配置为以经过预处理的训练样本集合包括的场景数据样本为输入,并以预处理的训练样本集合包括的操作数据样本为输出,训练所述人工神经网络模型根据场景数据预测对应的操作数据的性能。
在本发明一些实施例中,所述采集单元551,还配置为在所述交互过程的采样点采集所述第一对象与所述第二对象的位置、以及所述第一对象与所述第二对象使用功能的等待时间;合并所述采样点的采集结果形成相应采样点的场景数据样本。
在本发明一些实施例中,所述样本单元552,还配置为在所述交互过程的采样点采集表示所述第一对象的状态的属性值、以及表示所述第二对象的状态的属性值;将在所述采样点采集的属性值、以及在相应采样点采集的位置和等待时间合并,形成相应采样点的场景数据样本。
在本发明一些实施例中,所述样本单元552,还配置为在所述交互过程的采样点采集控制所述第一对象的以下操作数据至少之一:所执行的控制器操作数据、所述第一对象的位姿方式和所述第一对象使用功能的方式;合并所述采样点的采集结果形成相应采样点的操作数据样本。
在本发明一些实施例中,所述样本单元552,还配置为采集所述交互过程的基本信息,所述基本信息包括所述第一对象在所述交互过程中操作结果、以及所述虚拟场景的尺寸;将所述交互过程的基本信息、以及在所述交互过程的不同采样点所采集的场景数据样本和操作数据样本合并,形成相应采样点的训练样本。
在本发明一些实施例中,所述预处理单元553,还配置为从所述训练样本集合中训练样本所来源的交互过程中,确定满足如下条件的有效交互过程:所述交互过程中所述第一对象和所述第二对象累积使用功能次数的加和,超出整体功能使用次数阈值;从所述训练样本集合中删除不属于所述有效交互过程的训练样本。
在本发明一些实施例中,所述预处理单元553,还配置为获取所述训练样本集合中各训练样本包括的操作结果;当所述操作结果表示所述第一对象在所述交互过程中的操作结果达到目标时,标记所述训练样本的有效属性;当所述操作结果表示所述第一对象在所述交互过程中的操作结果未达到目标时,标记所述训练样本的无效属性。
在本发明一些实施例中,所述预处理单元553,还配置为当所述操作结果表示所述第一对象在所述交互过程中的操作结果达到目标,且所述交互过程中所述第一对象的累积使用功能的次数,超出所述第一对象的功能使用次数阈值时,标记所述训练样本的有效属性。
在本发明一些实施例中,所述预处理单元553,还配置为当所述操作结果表示所述第一对象在所述交互过程中的操作结果达到目标,且所述交互过程中所述第一对象的累积使用功能的次数,未超出所述第一对象的功能使用次数阈值时,标记所述训练样本的无效属性。
在本发明一些实施例中,所述预处理单元553,还配置为针对所述训练样本集合中各训练样本包括的场景数据样本执行以下预处理:
将所述场景数据样本包括的第一对象的位置与第二对象的位置分别映射到参考坐标系中;
在所述参考坐标系中计算所述第一对象与所述第二对象基于不同坐标轴的距离分量;
将所述训练样本中包括的所述第一对象与所述第二对象的位置替换为所述距离分量。
在本发明一些实施例中,所述预处理单元553,还配置为针对所述训练样本集合中各训练样本包括的场景数据样本执行以下预处理:
确定所述场景数据样本所包括的不同类型的字段;
将所述不同类型的字段分别进行归一化处理;
将归一化处理后的各字段数据作为分量进行连接;
将所述训练样本中的场景数据样本替换为由所述分量连接所形成的向量。
在本发明一些实施例中,所述预处理单元553,还配置为当所述字段的类型为距离分量时,将所述距离分量与所述虚拟场景的尺寸在相应坐标轴方向的分量进行比值运算,根据比值运算得到所述距离分量在相应坐标轴方向的归一化结果,
当所述字段的类型为使用的功能的等待时间时,将所述等待时间与所述训练样本集合中相应功能的等待时间的加和进行比值运算,根据比值运算得到相应所述等待时间的归一化结果;
当所述字段的类型为属性值时,将所述属性值与所述训练样本集合中相同类型属性值的加和进行比值运算,根据比值运算得到所述属性值的归一化结果。
在本发明一些实施例中,所述预处理单元553,还配置为针对所述训练样本集合中各训练样本包括的操作数据样本执行以下预处理:
确定所述操作数据样本中控制器操作数据所对应的图像帧的数量,
当所对应的图像帧的数量超出图像帧数量阈值时,
根据所述第一对象相对于所述第二对象的距离的增加值满足增加条件,确定所述第一对象相对于所述第二对象处于离开的动作方式,
根据所述第一对象相对于所述第二对象的距离的减小值满足减小条件,确定所述第一对象相对于所述第二对象处于前进的动作方式;
将所确定的动作方式替换所述训练样本中的控制器操作数据。
在本发明一些实施例中,所述预处理单元553,还配置为从所述训练样本集合中删除标记为无效属性的训练样本;统计标记为有效属性的训练样本中操作数据样本中不同类型操作的出现次数,并执行以下预处理至少之一:对出现次数低于数量级的操作所对应的训练样本进行复制,直至出现次数低于数量级的操作的出现次数达到所述数量级;对操作次数高于所述数量级的操作所对应的样本进行随机选择,所选择的训练样本的数量符合所述数量级。
在本发明一些实施例中,所述预处理单元553,还配置为针对所述训练样本集合中各训练样本包括的操作数据样本执行以下预处理:
根据所述训练样本中的操作数据样本所包括不同类型的字段,初始化未置位的编码序列;确定所述编码序列中对应所述操作数据样本中不同类型字段的比特位;对所确定的比特位进行置位,根据置位得到所述操作数据样本的编码结果;将所述操作数据样本替换为所述操作数据样本的编码结果。
在本发明一些实施例中,所述模型单元554,还配置为初始化所述人工神经网络的输入层、中间层和输出层;初始包括所述输入、所述输出、以及人工神经网络模型参数的损失函数;在人工神经网络模型每次迭代训练过程中,根据从所述训练样本集合中选取的训练样本代入所述损失函数,求解所述损失函数取得最小值时对应的人工神经网络模型参数;根据所求解的人工神经网络模型参数更新所述人工神经网络模型。
在本发明一些实施例中,所述采集单元551,还配置为采集实时虚拟场景中第三对象与第四对象的交互过程;
所述预处理单元553,还配置为根据采集到的实时场景数据进行配置为适配所述人工神经网络模型的预处理;
所述预处理单元553,还配置为在所述人工神经网络模型中,根据经过预处理的实时场景数据预测控制所述第四对象所实施的不同的动作方式的概率、以及不同的功能使用方式的概率;确定满足概率条件的动作方式以及功能使用方式,合并形成所述第四对象的实时操作数据;
所述模型单元554,还配置为响应于所述第三对象与所述第四对象的交互过程,在所述实时虚拟场景中执行对应所述第四对象的实时操作数据。
在本发明一些实施例中,所述采集单元551,还配置为根据采集到的所述第三对象与所述第四对象的位置、以及所述第三对象与所述第四对象使用功能的等待时间,合并形成对应的实时场景数据;在所述交互过程的采样点采集所述第三对象与所述第四对象的位置、以及所述第三对象与所述第四对象使用功能的等待时间;合并所述采样点的采集结果形成相应采样点的实时场景数据。
在本发明一些实施例中,所述预处理单元553,还配置为针对所述实时场景数据执行以下预处理:将所述实时场景数据中包括的所述第三对象的位置与所述第四对象的位置映射到参考坐标系中;在所述参考坐标系中计算所述第三对象与所述第四对象基于不同坐标轴的距离分量;将所述实时场景数据包括的所述第三对象与所述第四对象的位置替换为所述距离分量。
在本发明一些实施例中,所述预处理单元553,还配置为针对所述实时场景数据执行以下预处理:确定所述实时场景数据所包括的不同类型的字段;将所述不同类型的字段分别进行归一化处理;将归一化处理后的各字段数据作为分量进行连接;将所述实时场景数据替换为根据连接所形成的向量。
在本发明一些实施例中,所述模型单元554,还配置为在所述人工神经网络模型的输入层,将所述实时场景数据传输至所述人工神经网络模型的中间层;在所述人工神经网络模型中的中间层,对输入的实时场景数据根据中间层节点的激励函数进行变换,形成不同类型的动作方式以及对应的概率,并形成不同类型的功能使用方式以及对应的概率;在所述人工神经网络的输出层输出满足概率条件的动作方式以及功能使用方式。
在本发明一些实施例中,本发明实施例中的设备400可以实施为终端设备,例如图1中示出的终端200,终端设备200运行虚拟场景应用,在用户控制第一对象与虚拟场景中的第二对象交互的过程中,采集用户在输出的虚拟场景中的操作数据样本、以及虚拟场景数据样本构建训练样本,对训练样本进行预处理后训练人工神经网络模型;在用户操作对象第三对象(可以是与第一对象可以是相同的对象,也可以与第一对象不同的对象)与第四对象(例如是由虚拟场景应用控制的机器人,可以是与第二对象相同的对象,也可以是与第二对象不同的对象)交互时,根据虚拟场景的实时场景数据,预测第四对象实施的操作数据,并调用虚拟场景应用的接口以控制第四对象实施操作数据,形成对用户控制第三对象所实施的操作的响应。
在另一些实施例中,本发明实施例提供的设备400可以实施为服务器,例如图2中示出的服务器400,终端200/300运行虚拟场景应用(作为客户端),采集用户控制第一对象与虚拟场景中的第二对象交互的过程,包括采集用户在输出的虚拟场景中的操作数据样本、以及虚拟场景数据样本构建训练样本,传输到服务器400,服务器400对训练样本进行预处理后训练人工神经网络模型,训练后的机器学习模型被同步到终端200/300的虚拟场景应用;当用户操作对象第三对象(可以是与第一对象可以是相同的对象,也可以是与第一对象不同的对象)与第四对象(是由服务器400控制的机器人,可以是与第二对象相同的对象,也可以是与第二对象不同的对象)交互时,根据虚拟场景的实时场景数据,预测第四对象实施的操作数据,并调用虚拟场景应用的接口以控制第四对象实施实时操作数据,形成用户控制第三对象实施的行为的响应。
在上述示例中,基于人工神经网络模型的训练,通过学习用户的操作实现人工神经网络模型,无需关注行为的具体实现逻辑,表现形式丰富,接近用户操作,失误率低,决策速度快,其战斗水平能够超出被学习的用户。
本发明实施例还提供了一种存储介质,存储有可执行程序,可执行程序被处理器执行时,实现本发明实施例提供的虚拟环境中对象的处理方法,例如图3或图4示出的虚拟环境中的对象处理方法,本发明实施例提供的存储介质可为光盘、闪存或磁盘等存储介质,可选为非瞬间存储介质。
下面,再以虚拟场景为ARPG中的战斗场景为例,包括一对一对战、团体对战、闯关等游戏模式,实现根据实时游戏场景数据,为游戏角色快速作出战斗行为决策的人工神经网络模型,参见图6,图6是本发明实施例提供的人工神经网络模型训练和应用的一个可选的示意图,涉及人工神经网络模型的训练及应用两个部分。
对于人工神经网络模型的训练阶段来说,涉及以下几个部分:(a)采集训练样本;(b)对训练样本进行预处理;(c)根据人工神经网络算法使用预处理后的样本对模型进行训练;将分别进行说明。
(a)采集训练样本,在本发明一些实施例中,由真实玩家控制游戏角色进行战斗,记录战斗过程中游戏基本信息、场景实时信息、以及真实玩家的操作数据样本,所记录的数据组合得到的数据集作为训练样本。
真实玩家在移动设备或计算机上进行ARPG游戏战斗操作,采集战斗过程中游戏基本信息,在每局游戏中进行多次采样,每个采样点具有一定的窗口时间,每个采样点采集场景数据的样本及真实玩家的操作数据的样本。
例如,游戏基本信息包括:真实玩家控制的游戏角色是否胜利、场景尺寸(场景,即游戏中供对象移动的空间,例如战斗游戏中的擂台)、各技能冷却总时间;冷却时间是指,连续使用同一技能(或道具)所需要等待的时间,简称CD,玩家控制的游戏角色的每个技能的CD的加和,即为相应技能的总时间。
例如,场景数据包括:我方(即真实玩家控制的游戏角色的位置)位置、敌方(即与真实玩家控制的游戏角色进行战斗的游戏角色)位置、我方各技能的当前CD、敌方各技能的当前CD;每个样本中对应有一组上述的数据。
例如,操作数据包括:技能使用方式(各技能是否释放、是否进行普通攻击)、摇杆移动角度,真实玩家控制的游戏角色是否跳跃;需要指出,摇杆移动角度在摇杆在被操作时才会采集到相应的数据,如果在一个采样点的窗口时间内真实玩家没有操作摇杆,则此时不会采集到摇杆移动角度的数据,由于操作数据不完整,该采样点采集的数据将会丢弃,从而确保最终形成的训练样本都包括有摇杆角度数据。
训练样本中无摇杆角度数据也不一定要丢弃,如果此时进行了技能释放或者普攻也要作为训练样本,也就是说如果玩家没有操作,数据才会丢弃,摇杆移动或者释放技能或者普通攻击都算操作,只要有操作就会作为训练样本
为提高人工神经网络模型的战斗水平,玩家操作应尽量合理,采集的训练样本应尽量充足,以某ARPG手游的1v1战斗场景为例,需采集大于30局(游戏回合)的场景数据样本和操作数据样本,以每场游戏采样20次为例,经过筛选后)约大于500组有效的训练样本。
(b)对训练样本进行预处理。对采集样本进行筛选、数据转换、类别均衡等预处理操作。
在本发明一些实施例中,有效数据筛选涉及:选取最终获胜的游戏回合中采集的训练样本,并且游戏回合中技能释放次数(我方和敌方的技能释放的总次数)大于总次数的阈值(例如,某ARPG手游中阈值为20次),此外,还可以继续从真实玩家控制的游戏角色的技能释放次数需要大于相应的阈值的游戏回合中采集训练样本。
例如,基于人工神经网络的人工神经网络模型,主要是通过学习训练样本而获得,因而选用真实玩家获胜的游戏回合来采集训练样本,并且游戏回合真实我方和敌方的技能释放次数的总次数大于的总次数的阈值,能够提高人工神经网络模型的战斗水平,为了避免真实玩家获胜是因为对方掉线等游戏异常,在选用的游戏回合中,继续选用如下游戏回合来采集训练样本:真实玩家控制的游戏角色作为获胜方在一局游戏中的技能释放次数大于相应的阈值。
在本发明一些实施例中,位置转换涉及:将训练样本中我方位置及敌方位置转换为我方与敌方之间的距离,转换公式为:
X轴距离=|我方X轴位置坐标-敌方X轴位置坐标|,
Y轴距离=|我方Y轴位置坐标-敌方Y轴位置坐标|。
位置信息主要是用于描述我方与敌方的位置关系:是否在攻击与被攻击的范围内。因而使用我方与敌方之间距离来表示更加直接,并可以减少信息维度,降低了模型复杂度。
在本发明一些实施例中,归一化涉及将场景数据分别归一化到[0,1],公式如下:
归一化后X轴距离=X轴距离/场景X轴大小,
归一化后Y轴距离=Y轴距离/场景Y轴大小,
以此类推。
归一化后我方技能1CD=我方技能1CD/技能1冷却总时间,
归一化后我方技能2CD=我方技能2CD/技能2冷却总时间,
以此类推。
归一化后敌方技能1CD=敌方技能1CD/技能1冷却总时间,
归一化后敌方技能2CD=敌方技能2CD/技能2冷却总时间,
以此类推。
在本发明一些实施例中,摇杆角度数据转换涉及:将摇杆移动角度转换为追击敌方与逃离敌方两种操作,参见图7,图7是本发明实施例提供的摇杆移动角度数据转换为动作方式的一个可选的流程示意图。
每个训练样本的采样过程中,采样的窗口时间内会输出多帧的游戏画面,从而形成的训练样本中会包括多帧画面对应的摇杆角度数据,对每个训练样本中包括的摇杆角度数据判断,是否包括多于a帧画面的摇杆角度数据;如果包括多于a帧画面的摇杆角度数据,则结合训练样本中我方和敌方的位置进行判断:
如果a帧中我方与敌方的距离的增加,则判断在a帧中我方与敌方的距离的增加是否超出距离阈值,如果超出阈值说明我方采用了逃离方的动作方式,如果未超出则舍弃摇杆移动角度数据;
如果a帧中我方与敌方的距离的减小,则判断在a帧中我方与敌方的距离的减小是否超出距离阈值,如果超出阈值说明我方采用了追击地方的动作方式,如果未超出则舍弃摇杆移动角度数据。
其中,阈值a的作用是为了滤除真实玩家误触或操作不明显的情况,阈值b和c的作用是为了滤除玩家意图不明显的摇杆操作。
在本发明一些实施例中,将操作数据用One-Hot编码涉及:序列化操作数据为[技能1是否释放,技能2是否释放,…,是否进行普通攻击,是否追击敌方,是否逃离敌方,是否跳跃],玩家进行的操作所对应的比特位设为1,其余为0。如玩家释放了技能2,则编码为[0,1,…,0,0,0,0]。
根据全部训练样本的操作数据统计每种操作的总次数,对总次数较多的操作对应的训练样本进行随机采样,或对总次数较少的操作的训练样本进行随机复制,以使每种操作的总次数为相同数量级且最高位相等,有利于降低模型训练复杂度,减少或免于对人工神经网络模型输出结果的调优。
(c)根据人工神经网络算法使用预处理后的样本对模型进行训练。
在本发明一些实施例中,使用预处理后的训练样本训练人工神经网络模型,其中操作数据作为输出,操作之前对应的场景数据作为输入,具体如下:
输入:[敌我X轴距离,敌我Y轴距离,……,我方技能1CD,我方技能2CD,……,敌方技能1CD,敌方技能2CD,……];
输出:[技能1是否释放,技能2是否释放,……,是否进行普通攻击,是否追击敌方,是否逃离敌方,是否跳跃]。
在某ARPG手游的1v1对战场景中,使用了人工神经网络中的BP神经网络算法,参见图8A,图8A是本发明实施例提供的人工神经网络模型的一个可选结构示意图,人工神经网络模型的训练按照BP神经网络算法在设备上完成;当然,对于具体使用的人工神经网络算法,除BP神经网络,也可以使用其他人工神经网络算法,如RNN算法,其中需将输入RNN模型的输入调整为游戏中连续多帧的场景数据样本。
在本发明一些实施例中,参见图8B,图8B是本发明实施例提供的人工神经网络根据实时场景数据预测操作数据的一个可选的示意图,对于人工神经网络模型的应用阶段来说,涉及以下几个部分:(a)实时获取战斗过程中的场景数据;(b)对场景数据进行预处理;(c)将预处理后的场景数据输入到人工神经网络模型中,计算获得模型输出的操作数据;(d)根据模型输出的操作调用对应游戏接口,使游戏角色完成相应游戏行为;下面将分别进行说明。
(a)战斗过程中场景数据的实时获取
进入ARPG游戏战斗场景,游戏程序实时获取战斗过程中的场景数据,与训练样本的采集一致,场景数据主要包括:我方位置、敌方位置、我方各技能CD、敌方各技能CD。
(b)场景数据的预处理
在游戏程序中对场景数据进行预处理,具体方式与训练样本的预处理一致,包括我方位置、敌方位置转换为我方与敌方之间的距离,以及场景数据的归一化。
(c)人工神经网络模型决策的获取
在游戏程序中,将预处理后的场景数据作为输入,由神经网络算法计算得到输出,即人工神经网络模型的决策。
在某ARPG手游的1v1对战场景中,使用了人工神经网络中的BP神经网络算法,按照算法操作,在游戏程序中由输入信息计算得到输出。
(d)人工神经网络模型决策的执行
人工神经网络模型的输出为一组数字,分别与[技能1是否释放,技能2是否释放,……,是否进行普通攻击,是否追击敌方,是否逃离敌方,是否跳跃]相对应,根据输出结果,调用游戏接口执行输出中最大值项所对应的游戏操作。其中,对于追击敌方,可按朝敌方方向移动来执行;对于逃离敌方,可按朝敌方反方向移动来执行。为了提高人工神经网络模型战斗力水平,可针对游戏特点进一步优化追击敌方与逃离敌方的执行策略,作为示例,执行策略可以根据不同游戏,采用前进、后退对应的路线。
在某ARPG手游的一对一的对战场景中,由于大部分技能伤害输出方向主要沿横向轴,因而为了能够更有效攻击敌方,追击敌方操作采用优先朝敌方横向轴移动的策略:以我方位置为坐标原点,移动方向为(敌方横向轴坐标/2,敌方纵向轴坐标)。
在上述APRG的人工神经网络模型的训练和应用处理中,通过训练样本预处理,将操作数据转换为决策执行的技能使用方式、以及追击敌方、逃离敌方的动作方式,等使人工神经网络模型更易于达到较高的战斗水平。
针对ARPG战斗场景的人工神经网络模型的建模方式、以及训练方式,对于不同ARPG战斗场景,人工神经网络模型的输入、输出应进行可以进行相应的调整:因而具有较强通用性、技术成本低。
举例来说,模型技能个数应与游戏中实际技能个数一致;如技能耗蓝,应在输入中加入我方与敌方的蓝量;如果游戏角色无法跳跃,则在操作数据中去除跳跃操作;根据具体游戏情况,如果决策需要参考我方和地方的血量,则可以在采样是采集入我方与敌方的血量,从而人工神经网络模型可以参考血进行操作数据的决策;另外,在可以在操作数据中加入保持原地不动的字段类型,也可以在操作数据中去除输入中敌方技能CD这一字段的类型,当然,这种方式训练的人工神经网络模型实现的战斗水平会有一定程度的降低。
根据对上文的理解可以轻易实施在导购应用中训练人工神经网络模型以及应用人工神经网络模型,参见图9A和图9B,图9A是本发明实施例提供的人工神经网络模型的一个可选结构示意图,图9B是本发明实施例提供的人工神经网络根据实时场景数据预测操作数据的一个可选的示意图,导购应用输出的虚拟场景中商店的三维建模,另外还包括第一对象和第二对象,第一对象是用户通过虚拟现实设备控制的顾客角色,是利用三维建模技术对用户形象在虚拟环境中的再现,第二对象是基于三维建模技术在虚拟环境中实现的导购员。
导购员需要具有丰富的商品知识和推荐商品的技巧,在人工神经网络模型的训练阶段,采集由具有丰富销售经验的员工控制虚拟环境中的导购员与顾客控制的第一对象进行交互,在交互的过程中采集导购员针对顾客的每一次服务过程,包括采集顾客购买或顾客离开为交互过程的基本结果,采集导购员介绍不同商品所需时间、顾客关注不同商品的时间、导购员和顾客的距离形成场景数据样本,采集顾客实际购买情况、导购员在交互过程中的动作方式、推荐商品的情况构建操作数据样本,通过预处理后来训练人工神经网络模型,使人工神经网络模型学习销售员的商品知识和销售技巧。
在应用阶段使用人工神经网络模型控制虚拟场景中的导购员,在顾客角色进入商店后,实时采集导购员与顾客角色的位置、顾客进店后不同商品的时间、导购员介绍商品所需的时间,使用人工神经网络模型计算推荐不同商品的概率、所采用的动作方式的概率。
例如,如果跟随前进的概率最大,则导购员角色将根据顾客角色移动,继续采集顾客角色关注不同商品;如果推荐商品2概率最高,则通过应用的控制接口控制导购员针对商品2向顾客进行介绍。
综上所述,基于人工神经网络模型,通过学习真实用户的操作数据实现人工神经网络模型,无需具体制定具体逻辑,表现形式丰富,接近真实用户的操作,同时由于人工神经网络算法具有较好的抗噪声干扰能力,应用时计算速度快,因而人工神经网络模型很少像真实用户出现操作失误,并且决策速度远快于真实用户的反应,其行为水平高于被学习的用户。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (13)
1.一种虚拟场景中对象处理方法,包括:
在样本虚拟场景中的每个阶段设置采样点,其中,所述每个阶段中采样点的数量与相应阶段的信息量正相关;
在所述采样点采集第一对象与第二对象的交互过程,其中,所述第一对象与第二对象的交互过程包括所述第一对象向所述第二对象使用功能或与所述第二对象的相对位置发生变化的过程、所述第一对象与所述第二对象使用各自具有的功能进行交互的过程;
将在所述采样点采集的所述交互过程的场景数据合并,形成对应采样点的场景数据样本;
其中,所述交互过程的场景数据包括:虚拟环境中所述第一对象与所述第二对象的位置、所述第一对象与所述第二对象所具有功能的等待时间和所述第一对象与所述第二对象的属性值;
根据所采集的场景数据样本和操作数据样本构建训练样本,合并在所述交互过程的不同采样点构建的训练样本形成训练样本集合;
对所述训练样本集合进行用于适配人工神经网络模型的预处理;
以经过预处理的训练样本集合包括的场景数据样本为输入,并以预处理的训练样本集合包括的操作数据样本为输出,训练所述人工神经网络模型。
2.如权利要求1所述的方法,其中,所述在所述采样点采集第一对象与第二对象的交互过程,包括:
在所述交互过程的采样点采集控制所述第一对象的以下操作数据至少之一:所执行的控制器操作数据;所述第一对象使用功能的方式;
合并所述采样点的采集结果形成相应采样点的操作数据样本。
3.如权利要求1所述的方法,其中,所述根据所采集的场景数据样本和操作数据样本构建训练样本,包括:
采集所述交互过程的基本信息,所述基本信息包括所述第一对象在所述交互过程中的操作结果、以及所述虚拟场景的尺寸;
将所述交互过程的基本信息、以及在所述交互过程的不同采样点所采集的场景数据样本和操作数据样本合并,形成相应采样点的训练样本。
4.如权利要求1所述的方法,其中,所述对所述训练样本集合进行用于适配人工神经网络模型的预处理,包括:
从所述训练样本集合中训练样本所来源的交互过程中,确定满足如下条件的有效交互过程:所述交互过程中所述第一对象和所述第二对象累积使用功能次数的加和,超出整体功能使用次数阈值;
从所述训练样本集合中删除不属于所述有效交互过程的训练样本。
5.如权利要求1所述的方法,其中,所述对所述训练样本集合进行用于适配人工神经网络模型的预处理,包括:
获取所述训练样本集合中各训练样本包括的操作结果;
当所述操作结果表示所述第一对象在所述交互过程中的操作结果达到目标时,标记所述训练样本的有效属性;
当所述操作结果表示所述第一对象在所述交互过程中的操作结果未达到目标时,标记所述训练样本的无效属性。
6.如权利要求5所述的方法,其中,所述当所述操作结果表示所述第一对象在所述交互过程中的操作结果达到目标时,标记所述训练样本的有效属性,包括:
当所述操作结果表示所述第一对象在所述交互过程中的操作结果达到目标,且所述交互过程中所述第一对象的累积使用功能的次数,超出所述第一对象的功能使用次数阈值时,标记所述训练样本的有效属性。
7.一种虚拟场景中对象处理方法,包括:
在实时虚拟场景中的每个阶段设置采样点;
其中,所述每个阶段中采样点的数量与相应阶段的信息量正相关;
在所述采样点采集实时虚拟场景中第三对象与第四对象的交互过程;
其中,所述第三对象与第四对象的交互过程包括第三对象向第四对象使用功能或与第四对象的相对位置发生变化的过程、第三对象与第四对象使用各自具有的功能进行交互的过程;
将在所述采样点采集的所述交互过程的场景数据合并,形成对应采样点的实时场景数据;
其中,所述交互过程的场景数据包括:虚拟环境中所述第三对象与所述第四对象的位置、所述第三对象与所述第四对象所具有功能的等待时间和所述第三对象与所述第四对象在的属性值;
根据采集到的实时场景数据进行用于适配人工神经网络模型的预处理;在所述人工神经网络模型中,根据经过预处理的实时场景数据预测控制所述第四对象所实施的不同的动作方式的概率、以及不同的功能使用方式的概率;
确定满足概率条件的动作方式以及功能使用方式,合并形成所述第四对象的实时操作数据;
在所述实时虚拟场景中执行对应所述第四对象的实时操作数据。
8.一种虚拟场景中的对象处理设备,包括:
采集单元,配置为:
在样本虚拟场景中的每个阶段设置采样点,其中,所述每个阶段中采样点的数量与相应阶段的信息量正相关;
在所述采样点采集第一对象与第二对象的交互过程,其中,所述第一对象与第二对象的交互过程包括所述第一对象向所述第二对象使用功能或与所述第二对象的相对位置发生变化的过程、所述第一对象与所述第二对象使用各自具有的功能进行交互的过程;
样本单元,配置为将在所述采样点采集的所述交互过程的场景数据合并,形成对应采样点的场景数据样本;其中,所述交互过程的场景数据包括:虚拟环境中所述第一对象与所述第二对象的位置、所述第一对象与所述第二对象所具有功能的等待时间和所述第一对象与所述第二对象的属性值;根据所采集的场景数据样本和操作数据样本构建训练样本,合并在所述交互过程的不同采样点构建的训练样本形成训练样本集合;
预处理单元,配置为对所述训练样本集合进行用于适配人工神经网络模型的预处理;
模型单元,配置为以经过预处理的训练样本集合包括的场景数据样本为输入,并以预处理的训练样本集合包括的操作数据样本为输出,训练所述人工神经网络模型。
9.一种虚拟场景中的对象处理设备,包括:
采集单元,配置为:
在实时虚拟场景中的每个阶段设置采样点,其中,所述每个阶段中采样点的数量与相应阶段的信息量正相关;
在所述采样点采集实时虚拟场景中第三对象与第四对象的交互过程,其中,所述第三对象与第四对象的交互过程包括第三对象向第四对象使用功能或与第四对象的相对位置发生变化的过程、第三对象与第四对象使用各自具有的功能进行交互的过程;
将在所述采样点采集的所述交互过程的场景数据合并,形成对应采样点的实时场景数据;
其中,所述交互过程的场景数据包:虚拟环境中所述第三对象与所述第四对象的位置、所述第三对象与所述第四对象所具有功能的等待时间和所述第三对象与所述第四对象的属性值;
预处理单元,配置为根据采集到的实时场景数据进行用于适配人工神经网络模型的预处理;
模型单元,配置为在所述人工神经网络模型中,根据经过预处理的实时场景数据预测控制所述第四对象所实施的不同的动作方式的概率、以及不同的功能使用方式的概率;确定满足概率条件的动作方式以及功能使用方式,合并形成所述第四对象的实时操作数据;
所述模型单元,还配置为在所述实时虚拟场景中执行对应所述第四对象的实时操作数据。
10.一种虚拟场景中的对象处理的设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至6任一项所述的虚拟场景中的对象处理方法。
11.一种虚拟场景中的对象处理的设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求7所述的虚拟场景中的对象处理方法。
12.一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行如权利要求1至6任一项所述的虚拟场景中的对象处理方法。
13.一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行如权利要求7所述的虚拟场景中的对象处理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/074156 WO2019144346A1 (zh) | 2018-01-25 | 2018-01-25 | 虚拟场景中的对象处理方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110325965A CN110325965A (zh) | 2019-10-11 |
CN110325965B true CN110325965B (zh) | 2021-01-01 |
Family
ID=67394493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880003364.1A Active CN110325965B (zh) | 2018-01-25 | 2018-01-25 | 虚拟场景中的对象处理方法、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110325965B (zh) |
WO (1) | WO2019144346A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112245921B (zh) * | 2020-11-17 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 虚拟对象控制方法、装置、设备及存储介质 |
CN112947809A (zh) * | 2021-01-29 | 2021-06-11 | 北京三快在线科技有限公司 | 知识学习方法、装置、电子设备 |
CN114442888B (zh) * | 2022-02-08 | 2024-07-23 | 联想(北京)有限公司 | 对象确定方法、装置及电子设备 |
CN115953706B (zh) * | 2023-01-09 | 2024-04-26 | 支付宝(杭州)信息技术有限公司 | 虚拟形象处理方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866860A (zh) * | 2015-03-20 | 2015-08-26 | 武汉工程大学 | 一种室内人体行为识别方法 |
CN105867932B (zh) * | 2016-04-07 | 2018-12-18 | 浙江工业大学 | 基于元数据反射链的游戏云设计方法 |
CN106502890A (zh) * | 2016-10-18 | 2017-03-15 | 乐视控股(北京)有限公司 | 测试用例生成方法及系统 |
CN106503787B (zh) * | 2016-10-26 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 一种获取游戏数据的方法及电子设备 |
CN106897738B (zh) * | 2017-01-22 | 2019-07-16 | 华南理工大学 | 一种基于半监督学习的行人检测方法 |
CN106909891B (zh) * | 2017-01-24 | 2019-11-15 | 华南农业大学 | 一种基于自反馈基因表达式编程的人体行为识别方法 |
CN107102727B (zh) * | 2017-03-17 | 2020-04-07 | 武汉理工大学 | 基于elm神经网络的动态手势学习与识别方法 |
CN107168530A (zh) * | 2017-04-26 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 虚拟场景中的对象处理方法和装置 |
CN107291232A (zh) * | 2017-06-20 | 2017-10-24 | 深圳市泽科科技有限公司 | 一种基于深度学习与大数据的体感游戏交互方法及系统 |
-
2018
- 2018-01-25 WO PCT/CN2018/074156 patent/WO2019144346A1/zh active Application Filing
- 2018-01-25 CN CN201880003364.1A patent/CN110325965B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
WO2019144346A1 (zh) | 2019-08-01 |
CN110325965A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12053704B2 (en) | Artificial intelligence (AI) model training to generate an AI model personalized to a user | |
CN110325965B (zh) | 虚拟场景中的对象处理方法、设备及存储介质 | |
KR102523888B1 (ko) | 가상 환경에서 가상 객체를 스케줄링하기 위한 방법, 장치 및 디바이스 | |
CN110339569B (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
CN109847366B (zh) | 用于游戏的数据处理方法和装置 | |
US11409276B2 (en) | Method and system for controlling robots within in an interactive arena and generating a virtual overlayed | |
CN111450531B (zh) | 虚拟角色控制方法、装置、电子设备以及存储介质 | |
CN111598169B (zh) | 一种模型训练方法、游戏测试方法、模拟操作方法及装置 | |
US20210170230A1 (en) | Systems and methods for training players in a sports contest using artificial intelligence | |
CN112138394B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN109685068A (zh) | 一种基于生成对抗神经网络的图像处理方法以及系统 | |
CN110251942A (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
CN112905013A (zh) | 智能体控制方法、装置、计算机设备和存储介质 | |
CN113633983A (zh) | 虚拟角色表情控制的方法、装置、电子设备及介质 | |
CN115222847A (zh) | 一种基于神经网络的动画数据生成方法、装置及相关产品 | |
CN113509726B (zh) | 交互模型训练方法、装置、计算机设备和存储介质 | |
CN113230650B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN116943220A (zh) | 一种游戏人工智能控制方法、装置、设备及存储介质 | |
CN114404976B (zh) | 决策模型的训练方法、装置、计算机设备及存储介质 | |
CN116983624A (zh) | 游戏策略的推荐方法、装置、电子设备及存储介质 | |
WO2023246270A1 (zh) | 信息处理方法、装置和存储介质及电子设备 | |
JP7553705B2 (ja) | 人工知能を対象とする効率的なゲームプレイ訓練 | |
CN112999657B (zh) | 虚拟角色的幻影显示方法、装置、设备及介质 | |
CN118662905A (zh) | 一种游戏行为动作预测方法、装置、设备及介质 | |
Wickramarathna et al. | Invoke Artificial Intelligence and Machine Learning for Strategic-Level Games and Interactive Simulations |
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 |