一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

三维游戏场景的特征提取方法、装置、设备及存储介质与流程

2023-01-15 09:24:45 来源:中国专利 TAG:


1.本技术实施例涉及图像处理技术领域,尤其涉及一种三维游戏场景的特征提取方法、装置、设备及存储介质。


背景技术:

2.在三维游戏场景中,对三维游戏场景进行特征提取的方式目前主要包括提取视觉图像特征、提取深度图特征等。
3.但是,游戏中的三维场景普遍具有非结构化、物体类别繁杂、物体形状复杂、难以建模为数据信息等特点。如何高效、准确地提取出场景特征仍是比较困难的。
4.通过提取视觉图像特征来描述三维场景并不完备。这是因为所提取的视觉图像特征实际上是三维场景在二维平面上的投影,只包含了三维游戏场景的二维信息。且视觉图像的数据维度较高,一般需要机器学习游戏ai端到端地进行归纳学习,所需的学习成本较高。
5.而深度图特征虽然能够包含场景的三维信息,但深度图特征的维度仍是较高的,像素点之间包含的信息量存在一定的重复与冗余。且深度图特征中只包含了距离信息,使得机器学习游戏ai仍然需要耗费较高的成本对深度图特征进行归纳学习。
6.故将视觉图像特征与深度图特征结合,虽然能够提取出更加丰富的场景特征,但是仍然存在着信息维度与机器学习游戏ai学习成本较高的问题。


技术实现要素:

7.本技术实施例提供了一种三维游戏场景的特征提取方法、装置、设备及存储介质,用于通过视椎体射线,获取到包含有物体属性信息的射线特征向量,并进行降维处理能够有效降低数据的维度,同时,通过采集高度图特征向量来提取出三维游戏场景的地形地貌信息,使得对三维场景的描述更加完备,再通过将射线特征向量以及高度图特征向量整合为三维游戏场景特征,使得三维游戏场景特征不仅简洁高效、语义丰富,且包含地形地貌信息,能够对三维游戏场景进行充分描述,使得基于整合得到的三维游戏场景特征作为样本特征,对机器学习游戏ai进行学习,可以增强机器学习游戏ai的三维场景感知能力,从而加速机器学习游戏ai生产开发。
8.本技术实施例一方面提供了一种三维游戏场景的特征提取方法,包括:针对每一帧三维游戏场景画面,从游戏角色对象的顶部,打出一组视椎体射线,其中,所述一组视椎体射线射出形成呈锥状;当一组视椎体射线中有射线击中物体时,返回击中的物体的射线所对应的物体属性信息,其中,物体属性信息包括击中物体的位置信息、击中物体的类别信息以及材质信息;对全部接收到的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,得到射线特征向量;
将射线特征向量经过神经网络进行特征降维处理,得到一维射线特征向量;基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的高度值矩阵;将全部细粒度对应的高度值矩阵经过神经网络进行特征降维处理,得到一维高度图特征向量;将一维射线特征向量以及一维高度图特征向量整合为每一帧三维游戏场景画面对应的三维游戏场景特征。
9.本技术另一方面提供了一种三维游戏场景的特征提取装置,包括:处理单元,用于针对每一帧三维游戏场景画面,从游戏角色对象的顶部,打出一组视椎体射线,其中,一组视椎体射线射出形成呈锥状;获取单元,用于当一组视椎体射线中有射线击中物体时,返回击中的物体的射线所对应的物体属性信息,其中,物体属性信息包括击中物体的位置信息、击中物体的类别信息以及材质信息;处理单元,还用于对全部接收到的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,得到射线特征向量;处理单元,还用于将射线特征向量经过神经网络进行特征降维处理,得到一维射线特征向量;处理单元,还用于基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的高度值矩阵;处理单元,还用于将全部细粒度对应的高度值矩阵经过神经网络进行特征降维处理,得到一维高度图特征向量;确定单元,还用于将一维射线特征向量以及一维高度图特征向量,整合为每一帧三维游戏场景画面对应的三维游戏场景特征。
10.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:对击中的物体的射线所对应的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,得到击中的物体的射线所对应的信息向量;将全部击中的物体的射线所对应的信息向量整合为射线特征向量。
11.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:对击中物体的位置信息进行向量标准化处理,得到位置向量;对击中物体的类别信息以及材质信息进行特征编码,得到编码向量;将位置向量以及编码向量进行拼接,得到击中的物体的射线所对应的信息向量;处理单元具体可以用于:将全部击中的物体的射线所对应的信息向量进行顺序拼接,得到射线特征向量。
12.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的n*n网格,其中,n为大于1的整数;
基于每个细粒度对应的n*n网格,生成每个细粒度对应的高度值矩阵。
13.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:将不同的细粒度,作为不同大小的待采集网格单位长度;按照不同大小的待采集网格单位长度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个待采集网格单位长度对应的n*n网格;处理单元具体可以用于:获取n*n网格的每个网格中心点所对应的高度值,并基于高度值生成每个细粒度对应的高度值矩阵。
14.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:将全部细粒度对应的高度值矩阵进行拼接以及张量转换处理,得到高度图特征张量;将高度图特征张量经过神经网络进行特征降维处理,得到一维高度图特征向量。
15.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:将射线特征向量经过卷积神经网络进行特征降维处理,得到一维射线特征向量;处理单元具体可以用于:将高度图特征张量经过卷积神经网络进行特征降维处理,得到一维高度图特征向量。
16.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:将射线特征向量经过第一神经网络进行特征降维处理,得到一维射线特征向量;处理单元具体可以用于:将全部细粒度对应的高度值矩阵经过第二神经网络进行特征降维处理,得到一维高度图特征向量。
17.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:从游戏角色对象的顶部出发,模拟视锥视角打出一组视椎体射线;获取单元具体可以用于:当模拟视锥视角打出的一组视椎体射线中的每条射线达到长度阈值后,若有射线击中物体,则返回击中的物体的射线所对应的物体属性信息。
18.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:以游戏角色对象的顶部为圆心,获取p个均匀分布的射线朝向,分别向每个射线朝向打出m个射线簇,其中,m个射线簇的包络面呈圆锥状,每个射线簇包括p条射线,每个射线簇的p条射线均匀分布在m个同心圆上,p为大于2的整数;获取单元具体可以用于:当m个射线簇中的每个射线簇的p条射线达到长度阈值后,若有射线击中物体,则返回击中的物体的射线所对应的物体属性信息。
19.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,确定单元具体可以用于:将一维射线特征向量以及一维高度图特征向量进行顺序拼接,得到每一帧三维游戏场景画面对应的三维游戏场景特征。
20.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,确定单元,还用于将每一帧三维游戏场景画面对应的三维游戏场景特征作为特征训练样本;处理单元,还用于将特征训练样本输入至胜率预测模型,通过胜率预测模型预估游戏角色对象在当前对局获胜的概率值;处理单元,还用于获取当前对局的真实输赢结果,并基于当前对局的真实输赢结果与当前对局获胜的概率值计算损失值;处理单元,还用于基于损失值对胜率预测模型的模型参数进行更新。
21.本技术另一方面提供了一种计算机设备,包括:存储器、处理器以及总线系统;其中,存储器用于存储程序;处理器用于执行存储器中的程序时实现如上述各方面的方法;总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
22.本技术的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
23.从以上技术方案可以看出,本技术实施例具有以下有益效果:通过从游戏角色对象的顶部,打出一组视椎体射线,如果一组视椎体射线中有射线击中物体时,返回击中的物体的射线所对应的包含有击中物体的位置信息、击中物体的类别信息以及材质信息的物体属性信息,并对全部接收到的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,以获取到每组视椎体射线对应的射线特征向量,以及将射线特征向量经过神经网络进行特征降维处理,以获取到一维射线特征向量,同时,基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的高度值矩阵,并全部细粒度对应的高度值矩阵经过神经网络进行特征降维处理,以获取到一维高度图特征向量,然后,将一维射线特征向量以及一维高度图特征向量整合为每一帧三维游戏场景画面对应的三维游戏场景特征。通过上述方式,通过视椎体射线,能够快速获取击中物体的射线返回的击中物体的位置信息、击中物体的类别信息以及材质信息等物体属性信息,进而,能够基于击中的位置信息、击中物体的类别信息以及材质信息转换为相对应的射线特征向量,使得射线特征向量中包含有物体属性信息,且打出的视锥体射线条数远低于视觉图像特征以及深度图特征等的像素点数,使得获取到的射线特征向量简洁不冗余,再通过对射线特征向量进行降维处理,能够进一步有效降低数据的维度,同时,通过采集不同细粒度对应的高度值矩阵来当前游戏角色周边的地形高度,并对高度值矩阵进行降维处理,以获取到高度图特征向量,来有效降低数据的维度,且高度图特征向量能够提取出三维游戏场景的地形地貌信息,使得对三维场景的描述更加完备,再通过将射线特征向量以及高度图特征向量整合为三维游戏场景特征,使得三维游戏场景特征不仅简洁高效、语义丰富,且包含地形地貌信息,能够对三维游戏场景进行充分描述,使得基于整合得到的三维游戏场景特征作为样本特征,对机器学习游戏ai进行学习,可以增强机器学习游戏ai的三维场景感知能力,从而加速机器学习游戏ai生产开发。
附图说明
24.图1是本技术实施例中图像数据控制系统的一个架构示意图;
图2是本技术实施例中三维游戏场景的特征提取方法的一个实施例流程图;图3是本技术实施例中三维游戏场景的特征提取方法的另一个实施例流程图;图4是本技术实施例中三维游戏场景的特征提取方法的另一个实施例流程图;图5是本技术实施例中三维游戏场景的特征提取方法的另一个实施例流程图;图6是本技术实施例中三维游戏场景的特征提取方法的另一个实施例流程图;图7是本技术实施例中三维游戏场景的特征提取方法的另一个实施例流程图;图8是本技术实施例中三维游戏场景的特征提取方法的另一个实施例流程图;图9是本技术实施例中三维游戏场景的特征提取方法的另一个实施例流程图;图10是本技术实施例中三维游戏场景的特征提取方法的另一个实施例流程图;图11是本技术实施例中三维游戏场景的特征提取方法的另一个实施例流程图;图12是本技术实施例中三维游戏场景的特征提取方法的另一个实施例流程图;图13是本技术实施例中三维游戏场景的特征提取方法的另一个实施例流程图;图14是本技术实施例中三维游戏场景的特征提取方法的一个原理流程示意图;图15是本技术实施例中三维游戏场景的特征提取方法的一个特征处理的原理示意图;图16是本技术实施例中三维游戏场景的特征提取方法的一个打出的一组视椎体射线的效果示意图;图17是本技术实施例中三维游戏场景的特征提取方法的一个打出的一组视椎体射线的包络面示意图;图18是本技术实施例中三维游戏场景的特征提取方法的一个打出的一组视椎体射线打出水平距离达到距离阈值的截面分布示意图;图19是本技术实施例中三维游戏场景的特征提取装置的一个实施例示意图;图20是本技术实施例中计算机设备的一个实施例示意图。
具体实施方式
25.本技术实施例提供了一种三维游戏场景的特征提取方法、装置、设备及存储介质,用于通过视椎体射线,获取到包含有物体属性信息的射线特征向量,并进行降维处理能够有效降低数据的维度,同时,通过采集高度图特征向量来提取出三维游戏场景的地形地貌信息,使得对三维场景的描述更加完备,再通过将射线特征向量以及高度图特征向量整合为三维游戏场景特征,使得三维游戏场景特征不仅简洁高效、语义丰富,且包含地形地貌信息,能够对三维游戏场景进行充分描述,使得基于整合得到的三维游戏场景特征作为样本特征,对机器学习游戏ai进行学习,可以增强机器学习游戏ai的三维场景感知能力,从而加速机器学习游戏ai生产开发。
26.本技术的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些
过程、方法、产品或设备固有的其它步骤或单元。
27.为了便于理解,先对本技术实施例涉及到的一些术语或概念进行解释。
28.1、机器学习:机器学习是从数据特征中自动分析获得规律,并利用规律对未知数据进行预测推理的一类方法,是实现人工智能的一个途径。机器学习包括监督学习、无监督学习、半监督学习,以及强化学习。
29.2、游戏ai:游戏ai是结合人工智能相关技术,在游戏中引入的、以丰富游戏玩法、提升玩家游戏体验的程序或角色。
30.3、三维游戏场景:三维游戏场景是指在三维游戏中角色所处的场景,包括周围的环境、各种物体等,是整个空间信息的集合。
31.4、特征提取:特征提取是指基于一个初始的资料信息集合,建构出富含资讯性而且不冗余的导出值,称为特征值。特征提取是对原始信息进行简化降维的过程,可以使机器学习模型更加容易地归纳与学习。
32.5、视觉图像特征是指将当前角色在游戏场景中所处视角的渲染图像作为特征。渲染图像一般包括了rgb三个通道,其视觉效果与玩家可见的游戏画面基本一致。得到视觉图像特征后,机器学习游戏ai一般使用卷积或注意力机制对图像特征进行编码,编码的参数一般是可学习的。
33.6、深度图特征是将当前角色在游戏场景中所处视角中像素点的深度值作为特征。需要游戏引擎计算出当前角色到所处视角中各物体像素点的距离。深度值矩阵可以当作图像来看待,因此机器学习游戏ai对深度图特征的处理方式与视觉图像特征类似,一般通过卷积或注意力机制来进行编码。
34.可以理解的是,在本技术的具体实施方式中,涉及到物体属性信息等相关的数据,当本技术以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
35.可以理解的是,如本技术所公开的三维游戏场景的特征提取方法,具体涉及智能车路协同系统(intelligent vehicle infrastructure cooperative systems,ivics),下面进一步地对智能车路协同系统进行介绍。智能车路协同系统简称车路协同系统,是智能交通系统(its)的一个发展方向。车路协同系统是采用先进的无线通信和新一代互联网等技术,全方位实施车车、车路动态实时信息交互,并在全时空动态交通信息采集与融合的基础上开展车辆主动安全控制和道路协同管理,充分实现人车路的有效协同,保证交通安全,提高通行效率,从而形成的安全、高效和环保的道路交通系统。
36.可以理解的是,如本技术所公开的三维游戏场景的特征提取方法,还涉及人工智能(artificial intelligence, ai)技术,下面进一步地对人工智能技术进行介绍。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
37.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、
大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
38.其次,自然语言处理(nature language processing, nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
39.其次,机器学习(machine learning, ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
40.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
41.应理解的是,本技术提供的三维游戏场景的特征提取方法可应用于各种场景,包括但不限于人工智能、云技术、地图、智慧交通等,用于通过将射线特征向量以及高度图特征向量整合为三维游戏场景特征,以用于机器学习游戏ai的学习,能够应用于如第一射击类游戏、竞技类游戏、智能交通运输类游戏等场景。
42.为了解决上述问题,本技术提出了一种三维游戏场景的特征提取方法,该方法应用于图1所示的图像数据控制系统,请参阅图1,图1为本技术实施例中图像数据控制系统的一个架构示意图,如图1所示,服务器通过获取终端设备提供的三维游戏场景图像,通过从游戏角色对象的顶部,打出一组视椎体射线,如果一组视椎体射线中有射线击中物体时,返回击中的物体的射线所对应的包含有击中物体的位置信息、击中物体的类别信息以及材质信息的物体属性信息,并对全部接收到的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,以获取到每组视椎体射线对应的射线特征向量,以及将射线特征向量经过神经网络进行特征降维处理,以获取到一维射线特征向量,同时,基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的高度值矩阵,并全部细粒度对应的高度值矩阵经过神经网络进行特征降维处理,以获取到一维高度图特征向量,然后,将一维射线特征向量以及一维高度图特征向量整合为每一帧三维游戏场景画面对应的三维游戏场景特征。通过上述方式,通过视椎体射线,能够快速获取击中物体的射线返回的击中物体的位置信息、击中物体的类别信息以及材质信息等物体属性信息,进而,能够基于击中的位置信息、击中物体的类别信息以及材质信息转换为相对应的射线特征向量,使得射线特征向量中包含有物体属性信息,且打出的视锥体射线条数远低于视觉图像特征以及深度图特征等的像素点数,使得获取到的射线特征向量简洁不冗余,再通过对射线特征向量进行降维处理,能够进一步有效降低数据的维度,同时,通过采集不同
细粒度对应的高度值矩阵来当前游戏角色周边的地形高度,并对高度值矩阵进行降维处理,以获取到高度图特征向量,来有效降低数据的维度,且高度图特征向量能够提取出三维游戏场景的地形地貌信息,使得对三维场景的描述更加完备,再通过将射线特征向量以及高度图特征向量整合为三维游戏场景特征,使得三维游戏场景特征不仅简洁高效、语义丰富,且包含地形地貌信息,能够对三维游戏场景进行充分描述,使得基于整合得到的三维游戏场景特征作为样本特征,对机器学习游戏ai进行学习,可以增强机器学习游戏ai的三维场景感知能力,从而加速机器学习游戏ai生产开发。
43.可以理解的是,图1中仅示出了一种终端设备,在实际场景中可以由更多种类的终端设备参与到数据处理的过程中,终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等,具体数量和种类因实际场景而定,具体此处不做限定。另外,图1中示出了一个服务器,但在实际场景中,也可以有多个服务器的参与,特别是在多模型训练交互的场景中,服务器的数量因实际场景而定,具体此处不做限定。
44.需要注意的是,本实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,终端设备以及服务器可以连接组成区块链网络,本技术在此不做限制。
45.结合上述介绍,下面将对本技术中三维游戏场景的特征提取方法进行介绍,请参阅图2,本技术实施例中三维游戏场景的特征提取方法一个实施例包括:在步骤s101中,针对每一帧三维游戏场景画面,从游戏角色对象的顶部,打出一组视椎体射线,其中,一组视椎体射线射出形成呈锥状;可以理解的是,由于游戏ai不仅可以提供更好的游戏体验,同时也可以赋能游戏生产,例如,预测游戏胜率,设计更合理的关卡、数值,以及设计更有趣的游戏角色等等,因此,设计更加智能、全面的游戏ai是游戏生产中的重要环节。在三维场景游戏中,设计游戏ai需要让ai对当前状态下的游戏场景信息进行有效感知,开发人员才能够做出合理的决策。而原始的三维场景信息维度过高且内容繁杂,很难直接作为机器学习模型的输入,故需要对原始的三维场景信息进行特征提取,但游戏中的三维场景普遍具有非结构化、物体类别繁杂、物体形状复杂、难以建模为数据信息等特点。
46.由此,不仅需要维护描述的三维场景信息的精准性与完整性的同时,还需要对的三维场景信息进行降维简化,才能基于提取到的三维游戏场景特征更好地助力机器学习游戏ai。
47.具体地,为了能够更好地进行三维游戏场景的特征提取,如图14所示,本实施例可以先进行工具搭建,例如,搭建视锥体射线工具以及高度图工具等,其中,视锥体射线工具(如图14所示意的视锥体射线工具)可基于游戏引擎中自带的射线功能进行开发。每条射线打出后都会返回击中点,以及击中物体的类别、材质信息。高度图工具(如图14所示意的高度图工具)需要首先导出整个游戏环境(如图16所示意的一款3d fps游戏)等高度描述文件(例如,各种地貌如热带雨林或雪地或海岛,以及地形如草地或沙地等高度描述文件),并且能够提供相应的高度值查询接口。可以理解的是,工具搭建阶段在游戏环境确定之后执行
一次即可,同一游戏环境下工具可复用。
48.进一步地,在搭建好视锥体射线工具以及高度图工具之后,可以进入特征采集阶段,例如,在试运行游戏(如图16所示意的一款3d fps游戏)时,可以针对每一帧三维游戏场景画面,利用视锥体射线工具(如图14所示意的视锥体射线工具),从游戏角色对象的顶部(如图16所示意的一款3d fps游戏中游戏角色的头部),按照视椎体分布打出一组视椎体射线(如图16所示意的一款3d fps游戏中,从游戏角色的头部打出一组呈锥状的视椎体射线),以实时获取射线结果。可以理解的是,由于需要动态计算射线的击中信息,所以视锥体射线的特征采集也需要随着游戏的进行实时采集。其中,一组视椎体射线中的射线的条数与分布,可根据实际需求进行设置,此处不作具体限制。
49.在步骤s102中,当一组视椎体射线中有射线击中物体时,返回击中的物体的射线所对应的物体属性信息,其中,物体属性信息包括击中物体的位置信息、击中物体的类别信息以及材质信息;在本技术实施例中,在从游戏角色对象的顶部,打出一组视椎体射线之后,如果这一组视椎体射线中有射线击中物体时,则击中的物体的射线会返回击中点所对应的物体属性信息,如击中物体的位置信息、击中物体的类别信息以及材质信息等。
50.具体地,在进入特征采集阶段后,例如,从游戏角色对象的顶部(如图16所示意的一款3d fps游戏中游戏角色的头部),按照视椎体分布打出一组视椎体射线(如图16所示意的一款3d fps游戏中,从游戏角色的头部打出一组呈锥状的视椎体射线)之后,可以实时获取射线结果,如果这一组视椎体射线中有射线击中物体时,该条击中的物体的射线,会向服务器返回击中点所对应的物体属性信息,例如,如图16所示意的一款3d fps游戏中,从游戏角色的头部打出一组呈锥状的视椎体射线,假设一条射线击中了障碍物(如图16所示意的集装箱),该条击中了障碍物的射线,会向服务器返回击中点所对应的击中物体的位置信息(例如,当前击中集装箱的箱体的击中点,在如图16所示意的一款3d fps游戏的当前画面上的坐标)、击中物体的类别信息(例如,集装箱的箱体)以及材质信息(例如,高强度钢材)等物体属性信息。
51.在步骤s103中,对全部接收到的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,得到射线特征向量;在本技术实施例中,在返回击中的物体的射线所对应的物体属性信息之后,可以对接收到的物体属性信息进行特征处理,对全部接收到的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,以获取到射线特征向量,以使得后续可以基于射线特征向量更好地获取三维游戏场景特征。
52.具体地,如图14所示,在返回击中的物体的射线所对应的物体属性信息之后,可以进行特征处理阶段,特征处理阶段会将特征采集阶段所获得的数据,即对全部接收到的击中物体的位置信息、击中物体的类别信息以及材质信息进行处理编码,即向量转换,以获取到射线特征向量,以使后续可以将射线特征向量输入到后续的机器学习模型中,供机器学习游戏ai对提取出来的三维场景特征进行归纳学习。可以理解的是,处理编码的参数一般也是可学习优化的。
53.在步骤s104中,将射线特征向量经过神经网络进行特征降维处理,得到一维射线特征向量;
在本技术实施例中,在获取到射线特征向量之后,为了使得输入至后续的机器学习模型中的特征向量,能够更好地供机器学习游戏ai对提取出来的三维场景特征进行归纳学习,本实施例将射线特征向量经过神经网络进行特征降维处理,以获取到一维射线特征向量,以实现对特征向量的降维简化,从而使得后续可以基于一维射线特征向量更好地实现对提取到的三维游戏场景特征的降维简化。
54.具体地,如图14所示,在获取到射线特征向量之后,将射线特征向量经过神经网络(如图14所示意的对射线向量使用稠密网络)进行特征降维处理,以获取到一维射线特征向量。
55.在步骤s105中,基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的高度值矩阵;在本技术实施例中,在搭建好视锥体射线工具以及高度图工具之后,可以基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的高度值矩阵,以使后续可以基于高度值矩阵更好地获取游戏环境中的地形地貌信息,以更好地帮助游戏ai进行三维场景感知。
56.具体地,在搭建好视锥体射线工具以及高度图工具之后,可以进入特征采集阶段,例如,在试运行游戏(如图16所示意的一款3d fps游戏)时,可以针对每一帧三维游戏场景画面,利用高度图工具(如图14所示意的高度图工具),获取三维游戏场景画面中的游戏角色的当前角色坐标(如图16所示意的一款3d fps游戏中游戏角色的当前方位以及在当前画面上的坐标),通过搭建好高度图工具中的高度值查询接口,查询当前角色坐标对应的地形图,进而以游戏角色对象的当前角色坐标为采集中心,并基于不同的细粒度,例如,细粒度a,向采集中心的四周采集每个细粒度对应的网格图,然后,基于高度值查询接口,获取每个网格图对应的高度值矩阵。
57.可以理解的是,由于地形状态一般比较稳定,不会随着游戏运行发生变化,所以高度值矩阵的获取以及高度图特征的提取可以离线进行,能够进一步减少计算开销,从而在一定程度上降低游戏ai的开发成本。
58.在步骤s106中,将全部细粒度对应的高度值矩阵经过神经网络进行特征降维处理,得到一维高度图特征向量;在本技术实施例中,在获取到每个细粒度对应的高度值矩阵之后,为了使得输入至后续的机器学习模型中的特征向量,能够更好地供机器学习游戏ai对提取出来的三维场景特征进行归纳学习,本实施例可以将全部细粒度对应的高度值矩阵经过神经网络进行特征降维处理,以获取到一维高度图特征向量,以使后续可以将高度图特征向量输入到后续的机器学习模型中,供机器学习游戏ai对提取出来的三维场景特征进行归纳学习。可以理解的是,处理编码的参数一般也是可学习优化的。
59.具体地,如图14所示,在获取到每个细粒度对应的高度值矩阵之后,将全部细粒度对应的高度值矩阵经过神经网络(如图14所示意的使用卷积网络)进行特征降维处理,以获取到一维高度图特征向量。
60.在步骤s107中,将一维射线特征向量以及一维高度图特征向量,整合为每一帧三维游戏场景画面对应的三维游戏场景特征。
61.在本技术实施例中,在获取到一维射线特征向量以及一维高度图特征向量之后,
可以将一维射线特征向量以及一维高度图特征向量,整合为每一帧三维游戏场景画面对应的三维游戏场景特征,以使得后续可以供机器学习游戏ai对提取出来的三维场景特征进行归纳学习。
62.具体地,如图14所示,在获取到一维射线特征向量以及一维高度图特征向量之后,可以将一维射线特征向量以及一维高度图特征向量进行拼接,以拼接得到每一帧三维游戏场景画面对应的三维游戏场景特征,可供机器学习游戏ai进行归纳学习。
63.在本技术实施例中,提供了一种三维游戏场景的特征提取方法,通过上述方式,通过视椎体射线,能够快速获取击中物体的射线返回的击中物体的位置信息、击中物体的类别信息以及材质信息等物体属性信息,进而,能够基于击中的位置信息、击中物体的类别信息以及材质信息转换为相对应的射线特征向量,使得射线特征向量中包含有物体属性信息,且打出的视锥体射线条数远低于视觉图像特征以及深度图特征等的像素点数,使得获取到的射线特征向量简洁不冗余,再通过对射线特征向量进行降维处理,能够进一步有效降低数据的维度,同时,通过采集不同细粒度对应的高度值矩阵来当前游戏角色周边的地形高度,并对高度值矩阵进行降维处理,以获取到高度图特征向量,来有效降低数据的维度,且高度图特征向量能够提取出三维游戏场景的地形地貌信息,使得对三维场景的描述更加完备,再通过将射线特征向量以及高度图特征向量整合为三维游戏场景特征,使得三维游戏场景特征不仅简洁高效、语义丰富,且包含地形地貌信息,能够对三维游戏场景进行充分描述,使得基于整合得到的三维游戏场景特征作为样本特征,对机器学习游戏ai进行学习,可以增强机器学习游戏ai的三维场景感知能力,从而加速机器学习游戏ai生产开发。
64.可选地,在上述图2对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取方法另一个可选实施例中,如图3所示,步骤s103对全部接收到的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,得到射线特征向量,包括:在步骤s301中,对击中的物体的射线所对应的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,得到击中的物体的射线所对应的信息向量;在步骤s302中,将全部击中的物体的射线所对应的信息向量整合为射线特征向量。
65.在本技术实施例中,在返回击中的物体的射线所对应的物体属性信息之后,可以对接收到的物体属性信息进行特征处理,即对击中的物体的射线所对应的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,以获取到击中的物体的射线所对应的信息向量,并将全部击中的物体的射线所对应的信息向量整合为射线特征向量,以使得后续可以基于射线特征向量更好地获取三维游戏场景特征。
66.具体地,如图14所示,在返回击中的物体的射线所对应的物体属性信息之后,可以进行特征处理阶段,特征处理阶段会将特征采集阶段所获得的数据,即对击中的物体的射线所对应的击中物体的位置信息、击中物体的类别信息以及材质信息进行处理编码,即向量转换,以获取到击中的物体的射线所对应的信息向量,然后,可以将全部击中的物体的射线所对应的信息向量进行拼接,以拼接得到射线特征向量,以使后续可以将射线特征向量输入到后续的机器学习模型中,供机器学习游戏ai对提取出来的三维场景特征进行归纳学习。
67.可选地,在上述图3对应的实施例的基础上,本技术实施例提供的三维游戏场景的
特征提取方法另一个可选实施例中,如图4所示,步骤s301对击中的物体的射线所对应的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,得到击中的物体的射线所对应的信息向量,包括:步骤s401至步骤s403;以及步骤s302包括:步骤s404;在步骤s401中,对击中物体的位置信息进行向量标准化处理,得到位置向量;在步骤s402中,对击中物体的类别信息以及材质信息进行特征编码,得到编码向量;在步骤s403中,将位置向量以及编码向量进行拼接,得到击中的物体的射线所对应的信息向量;在步骤s404中,将全部击中的物体的射线所对应的信息向量进行顺序拼接,得到射线特征向量。
68.在本技术实施例中,在返回击中的物体的射线所对应的物体属性信息之后,可以对接收到的物体属性信息进行特征处理,即对击中物体的位置信息进行向量标准化处理,以获取到位置向量,并对击中物体的类别信息以及材质信息进行特征编码,以获取到编码向量,进而可以将位置向量以及编码向量进行拼接,以拼接得到击中的物体的射线所对应的信息向量,然后,可以将全部击中的物体的射线所对应的信息向量进行顺序拼接,以获取到射线特征向量。
69.具体地,如图14所示,在返回击中的物体的射线所对应的物体属性信息之后,可以进行特征处理阶段,特征处理阶段会将特征采集阶段所获得的数据,其中,对于击中物体的位置信息进行向量标准化处理,具体可以是先对视锥体射线的击中点的坐标信息进行三维坐标先进行平移,然后缩放,最后再旋转等一系列操作,以获取到该坐标信息对应的位置向量,或者,还可以是对坐标信息进行归一化处理,例如,基于线性函数(如矩阵乘法,例如,基向量组成的矩阵*坐标值=向量)对坐标信息进行向量变换,以获取到坐标信息对应的位置向量,还可以采用其他向量标准化处理方式,此处不作具体限制。
70.进一步地,对于物体类别以及材质信息,具体可以是对物体类别以及材质信息分别采用one-hot编码,进而,可以对编码后的数据进行embedding处理,以获取到物体类别对应的嵌入向量(如图15所示意的物体类别embedding),以及材质信息对应的嵌入向量(如图15所示意的物体材质embedding),然后,将物体类别对应的嵌入向量(如图15所示意的物体类别embedding),以及材质信息对应的嵌入向量(如图15所示意的物体材质embedding)拼接为编码向量,或者,还可以对物体类别以及材质信息分别采用其他特征编码方式,此处不作具体限制。
71.进一步地,如图15所示,在获取到击中物体的位置信息对应的位置向量(如图15所示意的射线击中点坐标向量),以及击中物体的类别信息和材质信息对应的编码向量(如图15所示意的物体类别embedding以及物体材质embedding)之后,可以将位置向量和编码向量进行拼接(例如,按照如图15所示意的射线击中点坐标向量、物体类别embedding以及物体材质embedding的顺序进行拼接),以获取到单条射线的信息向量(如图15所示意的单条射线信息),然后,再将所有击中物体的射线对应的信息向量,按照预设的固定顺序拼接(例如,对如17右图所示意的一组视椎体射线,可以按照如先逆时针再由外到内的顺序进行拼接),就可以得到射线特征向量,以使后续可以将射线特征向量输入到后续的机器学习模型中,供机器学习游戏ai对提取出来的三维场景特征进行归纳学习。
72.可选地,在上述图2对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取方法另一个可选实施例中,如图5所示,步骤s105基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的高度值矩阵,包括:在步骤s501中,基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的n*n网格,其中,n为大于1的整数;在步骤s502中,基于每个细粒度对应的n*n网格,生成每个细粒度对应的高度值矩阵。
73.在本技术实施例中,在搭建好视锥体射线工具以及高度图工具之后,可以基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的n*n网格,再基于每个细粒度对应的n*n网格,生成每个细粒度对应的高度值矩阵,以使后续可以基于高度值矩阵更好地获取游戏环境中的地形地貌信息,以更好地帮助游戏ai进行三维场景感知。
74.具体地,在搭建好视锥体射线工具以及高度图工具之后,可以进入特征采集阶段,例如,在试运行游戏(如图16所示意的一款3d fps游戏)时,可以针对每一帧三维游戏场景画面,利用高度图工具(如图14所示意的高度图工具),获取三维游戏场景画面中的游戏角色的当前角色坐标(如图16所示意的一款3d fps游戏中游戏角色的当前方位以及在当前画面上的坐标),通过搭建好高度图工具中的高度值查询接口,查询当前角色坐标对应的地形图(如图18所示意的游戏地形),进而以游戏角色对象的当前角色坐标为采集中心,并以不同的细粒度(例如,细粒度a)为网格边长,向采集中心的四周采集每个细粒度对应的网格图(例如,如图18所示意的采集网格边长为a的4
×
4网格),然后,基于高度值查询接口,获取每个细粒度对应的n*n网格(例如,如图18所示意的采集网格边长为a的4
×
4网格)对应的高度值,来生成高度值矩阵(例如,如图18所示意的4
×
4的高度值矩阵)。
75.可选地,在上述图5对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取方法另一个可选实施例中,如图6所示,步骤s501基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的n*n网格,包括:步骤s601至步骤s602;以及步骤s502包括:步骤s603;在步骤s601中,将不同的细粒度,作为不同大小的待采集网格单位长度;在步骤s602中,按照不同大小的待采集网格单位长度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个待采集网格单位长度对应的n*n网格;在步骤s603中,获取n*n网格的每个网格中心点所对应的高度值,并基于高度值生成每个细粒度对应的高度值矩阵。
76.在本技术实施例中,在搭建好视锥体射线工具以及高度图工具之后,可以先将不同的细粒度,作为不同大小的待采集网格单位长度,并按照不同大小的待采集网格单位长度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个待采集网格单位长度对应的n*n网格,然后,可以获取n*n网格的每个网格中心点所对应的高度值,并基于高度值生成每个细粒度对应的高度值矩阵,以使后续可以基于高度值矩阵更好地获取游戏环境中的地形地貌信息,以更好地帮助游戏ai进行三维场景感知。
77.具体地,在搭建好视锥体射线工具以及高度图工具之后,可以进入特征采集阶段,例如,在试运行游戏(如图16所示意的一款3d fps游戏)时,可以针对每一帧三维游戏场景
画面,利用高度图工具(如图14所示意的高度图工具),获取三维游戏场景画面中的游戏角色的当前角色坐标(如图16所示意的一款3d fps游戏中游戏角色的当前方位以及在当前画面上的坐标),通过搭建好高度图工具中的高度值查询接口,查询当前角色坐标对应的地形图(如图18所示意的游戏地形)。
78.进一步地,可以将不同的细粒度(例如,图18所示意的细粒度a),作为不同大小的待采集网格单位长度(例如,图18所示意的待采集网格单位长度a),进而,以游戏角色对象的当前角色坐标为采集中心,并按照不同大小的待采集网格单位长度(例如,图18所示意的待采集网格单位长度a),向采集中心的四周采集每个细粒度对应的网格图(例如,如图18所示意的采集网格边长为a的4
×
4网格)。
79.进一步地,可以基于高度值查询接口,获取每个细粒度对应的n*n网格的每个网格的中心点(例如,如图18所示意的采集网格边长为a的4
×
4网格中每个网格的中心点)对应的高度值,然后,按照每个细粒度对应的n*n网格的每个网格的中心点,与n*n高度值矩阵中每个元素的位置的一一对应关系,来生成高度值矩阵(例如,将每个细粒度对应的n*n网格的每个网格的中心点所对应的高度值,按照填入4
×
4的高度值矩阵,以获取到如图18所示意的4
×
4的高度值矩阵)。
80.可选地,在上述图2对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取方法另一个可选实施例中,如图7所示,步骤s106将全部细粒度对应的高度值矩阵经过神经网络进行特征降维处理,得到一维高度图特征向量,包括:在步骤s701中,将全部细粒度对应的高度值矩阵进行拼接以及张量转换处理,得到高度图特征张量;在步骤s702中,将高度图特征张量经过神经网络进行特征降维处理,得到一维高度图特征向量。
81.在本技术实施例中,在获取到每个细粒度对应的高度值矩阵之后,为了使得输入至后续的机器学习模型中的特征向量,能够更好地供机器学习游戏ai对提取出来的三维场景特征进行归纳学习,本实施例可以将全部细粒度对应的高度值矩阵经过神经网络进行特征降维处理,以获取到一维高度图特征向量,以使后续可以将高度图特征向量输入到后续的机器学习模型中,供机器学习游戏ai对提取出来的三维场景特征进行归纳学习。可以理解的是,处理编码的参数一般也是可学习优化的。
82.具体地,如图15所示,在获取到每个细粒度对应的高度值矩阵(例如,图15所示意的3个不同细粒度对应的高度值矩阵)之后,将全部细粒度对应的高度值矩阵进行拼接以及张量转换处理,例如,假设有3个不同细粒度a、b和c分别对应的高度值矩阵,由于三个高度值矩阵为行列数相同的4
×
4的高度值矩阵,故不需要进行矩阵补零来获取行列数相同的矩阵,进而可以通过cat函数进行数组的横纵方向拼接或合并,以获取到拼接或合并后的矩阵,还可以采用其他拼接或合并的方式,此处不作具体限制,然后,可以对拼接或合并后的矩阵进行张量转换,例如,可以先通过numpy数组将拼接或合并后的矩阵转换为numpy类型数据,再将转换得到的numpy类型数据通过torch.from_numpy函数,如代入函数式:torch.from_numpy(np_array)生成高度图特征张量(例如,如图15所示意的包含有不同细粒度的高度图特征张量),还可以使用其他张量转换方式,例如,采用torch.tensor函数等,此处不作具体限制。
83.进一步地,在获取到高度图特征张量(例如,如图15所示意的包含有不同细粒度的高度图特征张量)之后,可以将高度图特征张量(例如,如图15所示意的包含有不同细粒度的高度图特征张量)经过神经网络(如图14所示意的使用卷积网络cnn)进行特征降维处理,以获取到一维高度图特征向量。
84.可以理解的是,为了拓展对特征的感知范围,本实施例通过选择不同大小的采集细粒度,来获得不同感受野对应的高度值矩阵,从而可以基于不同感受野对应的高度值矩阵形成的高度图张量,来对3d场景的地形地貌进行更充分的描述。
85.可选地,在上述图7对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取方法另一个可选实施例中,如图8所示,当处理射线特征向量以及高度图特征张量的神经网络为相同的卷积神经网络;步骤s104将射线特征向量经过神经网络进行特征降维处理,得到一维射线特征向量,包括:步骤s801;以及步骤s702包括:步骤s802;在步骤s801中,将射线特征向量经过卷积神经网络进行特征降维处理,得到一维射线特征向量;在步骤s802中,将高度图特征张量经过卷积神经网络进行特征降维处理,得到一维高度图特征向量。
86.在本技术实施例中,在获取到射线特征向量以及高度图特征张量之后,分别对射线特征向量以及高度图特征张量进行降维处理时,使用的神经网络可以是相同的卷积神经网络,即将射线特征向量经过卷积神经网络进行特征降维处理,以获取到一维射线特征向量,以及将高度图特征张量经过卷积神经网络进行特征降维处理,以获取到一维高度图特征向量,能够减少对不同神经网络框架的构建和使用,可以在一定程度上减少计算量,从而提高获取三维游戏场景特征的效率。
87.具体地,在获取到射线特征向量以及高度图特征张量之后,可以分别对射线特征向量以及高度图特征张量进行降维处理,以使后续可以基于降维后射线特征向量以及高度图特征张量,来更好地获取到降维简化的三维游戏场景特征,故在分别对射线特征向量以及高度图特征张量进行降维处理时,使用的神经网络可以是相同的卷积神经网络,即将射线特征向量经过卷积神经网络进行特征降维处理,由于射线特征向量是经过特征归一化,并按照固定顺序拼接后得到的特征向量,则可以根据特征值大小,采用卷积神经网络中的1xn 的卷积核对射线特征向量进行卷积,以获取到一维射线特征向量;将高度图特征张量经过卷积神经网络进行特征降维处理,可以是采用常规的卷积运算方式,即依次通过卷积层、池化层以及全连接层等进行处理,以获取到一维高度图特征向量。
88.可选地,在上述图7对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取方法另一个可选实施例中,如图9所示,当神经网络包括第一神经网络和第二神经网络,其中,第一神经网络和第二神经网络为不同的神经网络;步骤s104将射线特征向量经过神经网络进行特征降维处理,得到一维射线特征向量,包括:步骤s901;以及步骤s702包括:步骤s902;在步骤s901中,将射线特征向量经过第一神经网络进行特征降维处理,得到一维射线特征向量;在步骤s902中,将全部细粒度对应的高度值矩阵经过第二神经网络进行特征降维处理,得到一维高度图特征向量。
89.在本技术实施例中,在获取到射线特征向量以及高度图特征张量之后,分别对射线特征向量以及高度图特征张量进行降维处理时,使用的神经网络可以不相同的神经网络,即将射线特征向量经过第一神经网络进行特征降维处理,以获取到一维射线特征向量,以及将全部细粒度对应的高度值矩阵经过第二神经网络进行特征降维处理,以获取到一维高度图特征向量,能够通过对不同类型的特征向量使用不同的神经网络进行降维处理,能够更好更准确且更有针对性地获取到相应的降维特征,从而提高获取三维游戏场景特征的准确性。
90.其中,第一神经网络和第二神经网络为不同的神经网络,第一神经网络具体可以表现为稠密网络,如图15所示意的dnn神经网络等;第二神经网络具体可以表现为卷积神经网络,如图15所示意的cnn神经网络等。
91.具体地,如图15所示,在获取到射线特征向量以及高度图特征张量之后,可以分别对射线特征向量以及高度图特征张量进行降维处理,以使后续可以基于降维后射线特征向量以及高度图特征张量,来更好地获取到降维简化的三维游戏场景特征,故在分别对射线特征向量以及高度图特征张量进行降维处理时,使用的神经网络可以是不相同的神经网络,由于获取的射线特征向量是非图像数据,而卷积神经网络更便于学习图像数据中的相邻位置的信息,故对于不一定包含有相邻位置信息的射线特征向量,可以使用稠密网络即第一神经网络,如图15所示意的dnn神经网络对射线特征向量进行特征降维处理,可以是通过多层感知机mlp去分析射线特征向量中的原子位置相关的数据,再对感知到的数据采用前向传播算法,以获取到一维射线特征向量;由于高度图特征张量属于图像数据,故可以采用更便于学习图像数据中的相邻位置的信息的卷积神经网络,即第二神经网络,对高度图特征张量进行特征降维处理,即可以是采用常规的卷积运算方式,即依次通过卷积层、池化层以及全连接层等进行处理,以获取到一维高度图特征向量。
92.可选地,在上述图2对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取方法另一个可选实施例中,如图10所示,步骤s101从游戏角色对象的顶部,打出一组视椎体射线,包括:步骤s1001;以及步骤s102包括:步骤s1002;在步骤s1001中,从游戏角色对象的顶部出发,模拟视锥视角打出一组视椎体射线;在步骤s1002中,当模拟视锥视角打出的一组视椎体射线中的每条射线达到长度阈值后,若有射线击中物体,则返回击中的物体的射线所对应的物体属性信息。
93.在本技术实施例中,在对原始的三维场景信息进行特征提取时,由于游戏中的三维场景普遍具有非结构化、物体类别繁杂、物体形状复杂、难以建模为数据信息等特点,因此,本实施例可以通过从游戏角色对象的顶部出发,模拟视锥视角打出一组视椎体射线,当模拟视锥视角打出的一组视椎体射线中的每条射线达到长度阈值后,如果有射线击中物体,则可以返回击中的物体的射线所对应的物体属性信息,来更好地感知到游戏环境中布置有的物体以及这些物体的属性信息,以使的后续可以基于物体属性信息更好地提取三维游戏场景特征,从而可以基于提取到的三维游戏场景特征更好地助力机器学习游戏ai。
94.具体地,更好地感知到游戏环境中布置有的物体以及这些物体的属性信息,如图14所示,本实施例可以先进行工具搭建,例如,搭建视锥体射线工具以及高度图工具等,进而,在搭建好视锥体射线工具以及高度图工具之后,可以进入特征采集阶段,例如,在试运
行游戏(如图16所示意的一款3d fps游戏)时,可以针对每一帧三维游戏场景画面,利用视锥体射线工具(如图14所示意的视锥体射线工具),从游戏角色对象的顶部(如图16所示意的一款3d fps游戏中游戏角色的头部),模拟视锥视角打出一组视椎体射线,即如图17左图所示意的视椎体射线朝向以及视椎体射线分布,打出一组包络面呈圆锥状的视椎体射线(如图17左图所示意的从游戏角色的头部打出一组包络面呈圆锥状的视椎体射线),以实时获取射线结果。
95.进一步地,当模拟视锥视角打出的一组视椎体射线中的每条射线达到长度阈值(如图17左图所示意的10m)后,如果有射线击中物体,则可以返回击中的物体的射线所对应的物体属性信息,例如,如果这一组视椎体射线(如图17左图所示意的从游戏角色的头部打出一组包络面呈圆锥状的视椎体射线)中有射线击中物体时,该条击中的物体的射线,会向服务器返回击中点所对应的物体属性信息,例如,如图16所示意的一款3d fps游戏中,从游戏角色的头部打出一组呈锥状的视椎体射线(如图17左图所示意的从游戏角色的头部打出一组包络面呈圆锥状的视椎体射线),当模拟视锥视角打出的一组视椎体射线中的每条射线达到长度阈值(如图17左图所示意的10m),假设一条射线击中了10m处的物体(如图16所示意的草地),该条击中了物体的射线,会向服务器返回击中点所对应的击中物体的位置信息(例如,当前击中草地的击中点,在如图16所示意的一款3d fps游戏的当前画面上的坐标)、击中物体的类别信息(例如,草地的地面)以及材质信息(例如,土壤或松软土质)等物体属性信息。
96.可选地,在上述图10对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取方法另一个可选实施例中,如图11所示,当一组视椎体射线包括m个射线簇,其中,m为大于等于1的整数;步骤s1001从游戏角色对象的顶部出发,模拟视锥视角打出一组视椎体射线,包括:步骤s1101;以及步骤s1002包括:步骤s1102;在步骤s1101中,以游戏角色对象的顶部为圆心,获取p个均匀分布的射线朝向,分别向每个射线朝向打出m个射线簇,其中,m个射线簇的包络面呈圆锥状,每个射线簇包括p条射线,每个射线簇的p条射线均匀分布在m个同心圆上,p为大于2的整数;在步骤s1102中,当m个射线簇中的每个射线簇的p条射线达到长度阈值后,若有射线击中物体,则返回击中的物体的射线所对应的物体属性信息。
97.在本技术实施例中,在对原始的三维场景信息进行特征提取时,由于游戏中的三维场景普遍具有非结构化、物体类别繁杂、物体形状复杂、难以建模为数据信息等特点,因此,本实施例可以通过以游戏角色对象的顶部为圆心,先获取p个均匀分布的射线朝向,再分别向每个射线朝向打出m个射线簇,然后,当m个射线簇中的每个射线簇的p条射线达到长度阈值后,如果有射线击中物体,则可以返回击中的物体的射线所对应的物体属性信息,来更好地感知到游戏环境中布置有的物体以及这些物体的属性信息,以使的后续可以基于物体属性信息更好地提取三维游戏场景特征,从而可以基于提取到的三维游戏场景特征更好地助力机器学习游戏ai。
98.其中,射线簇指的是包括p条射线的射线组,打出的一个射线簇的p条射线,可以均匀分布圆上,即打出的m个射线簇可以均匀地分布在m个同心圆的上,使得m个射线簇的包络面呈圆锥状。
99.具体地,更好地感知到游戏环境中布置有的物体以及这些物体的属性信息,如图
14所示,本实施例可以先进行工具搭建,例如,搭建视锥体射线工具以及高度图工具等,进而,在搭建好视锥体射线工具以及高度图工具之后,可以进入特征采集阶段,例如,在试运行游戏(如图16所示意的一款3d fps游戏)时,可以针对每一帧三维游戏场景画面,利用视锥体射线工具(如图14所示意的视锥体射线工具),从游戏角色对象的顶部(如图16所示意的一款3d fps游戏中游戏角色的头部)为圆心,先获取p个均匀分布的射线朝向,假设p和m均为5,即打出25条射线(可以理解的是,当p为5、m为3时,打出的射线为15条,或者,当p为5、m为7时,打出的射线为35条等),要均匀地分布在圆上,即可以将一个圆划分为0
°
、72
°
、144
°
、216
°
以及288
°
,且假设长度阈值为如图17左图所示意的10m,则可以得到同心圆的最大半径为10m,要使得打出的m个射线簇可以均匀地分布在m个同心圆的上,即每个同心圆的半径可以分别是2m、4m、6m、8m以及10m,则可以计算每个射线簇中的打出的射线夹角如9
°
、18
°
、27
°
、36
°
以及45
°
,故可以基于圆上的度数以及射线夹角,确定每个射线的射线朝向。
100.进一步地,如图17右图所示,可以分别向每个射线朝向打出m个射线簇,例如,如图17右图示意的分别朝向0
°
、72
°
、144
°
、216
°
以及288
°
打出射线簇a、b、c、d、e,可以得到5个同心圆,和均匀分布在同心圆上的25条射线,当25条射线打出水平距离达到长度阈值(如图17左图所示意的10m)时,可以得到如图17右图示意的截面分布。
101.进一步地,如果有射线击中物体,则可以返回击中的物体的射线所对应的物体属性信息,例如,如果这一组视椎体射线(如图17左图所示意的从游戏角色的头部打出一组包络面呈圆锥状的视椎体射线)中有射线击中物体时,该条击中的物体的射线,会向服务器返回击中点所对应的物体属性信息,例如,如图16所示意的一款3d fps游戏中,从游戏角色的头部打出一组呈锥状的视椎体射线(如图17左图所示意的从游戏角色的头部打出一组包络面呈圆锥状的视椎体射线),当模拟视锥视角打出的一组视椎体射线中的每条射线达到长度阈值(如图17左图所示意的10m),假设一条射线击中了10m处的物体(如图16所示意的草地),该条击中了物体的射线,会向服务器返回击中点所对应的击中物体的位置信息(例如,当前击中草地的击中点,在如图16所示意的一款3d fps游戏的当前画面上的坐标)、击中物体的类别信息(例如,草地的地面)以及材质信息(例如,土壤或松软土质)等物体属性信息。
102.可以理解的是,在基于获取到的物体属性信息获取到单条射线的信息向量(如图15所示意的单条射线信息)之后,可以再将所有击中物体的射线对应的信息向量,按照预设的固定顺序拼接,例如,先逆时针再由外到内的顺序进行拼接,或者,先由内到外再逆时针的顺序进行拼接等固定顺序。其中,先逆时针再由外到内的顺序进行拼接,假设对如17右图所示意的一组视椎体射线,可以先按照逆时针顺序,按照如图17右图示意的截面分布中的射线从0
°
开始的逆时针的顺序,对射线簇a进行拼接,即从a0、a1、a2、a3到a4的顺序进行拼接,同理,可以拼接其他射线簇b、c、d和e进行逆时针拼接,然后,可以按照从外到内的顺序,按照如图17右图示意的截面分布中的射线簇a向射线簇e进行拼接,以获取到射线特征向量,以使后续可以将射线特征向量输入到后续的机器学习模型中,供机器学习游戏ai对提取出来的三维场景特征进行归纳学习。
103.例如,可以可选地,在上述图2对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取方法另一个可选实施例中,如图12所示,步骤s107将一维射线特征向量以及一维高度图特征向量,整合为每一帧三维游戏场景画面对应的三维游戏场景特征,包括:
在步骤s1201中,将一维射线特征向量以及一维高度图特征向量进行顺序拼接,得到每一帧三维游戏场景画面对应的三维游戏场景特征。
104.在本技术实施例中,在获取到一维射线特征向量以及一维高度图特征向量之后,可以将一维射线特征向量以及一维高度图特征向量进行顺序拼接,以拼接得到每一帧三维游戏场景画面对应的三维游戏场景特征,能够获取到固定特征顺序的三维游戏场景特征,以使得后续可以基于固定特征顺序的三维游戏场景特征,更好地供机器学习游戏ai进行归纳学习。
105.具体地,如图15所示,在获取到一维射线特征向量以及一维高度图特征向量之后,可以将一维射线特征向量以及一维高度图特征向量进行顺序拼接,即如图15所示意的一维射线特征向量到一维高度图特征向量的顺序进行拼接,以拼接得到每一帧三维游戏场景画面对应的三维游戏场景特征,可供机器学习游戏ai进行归纳学习。
106.可选地,在上述图12对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取方法另一个可选实施例中,如图13所示,步骤s1201将一维射线特征向量以及一维高度图特征向量进行顺序拼接,得到每一帧三维游戏场景画面对应的三维游戏场景特征之后,该方法还包括:在步骤s1301中,将每一帧三维游戏场景画面对应的三维游戏场景特征作为特征训练样本;在步骤s1302中,将特征训练样本输入至胜率预测模型,通过胜率预测模型预估游戏角色对象在当前对局获胜的概率值;在步骤s1303中,获取当前对局的真实输赢结果,并基于当前对局的真实输赢结果与当前对局获胜的概率值计算损失值;在步骤s1304中,基于损失值对胜率预测模型的模型参数进行更新。
107.在本技术实施例中,在获取到每一帧三维游戏场景画面对应的三维游戏场景特征之后,可以将每一帧三维游戏场景画面对应的三维游戏场景特征作为特征训练样本,供机器学习游戏ai进行归纳学习,即可以特征训练样本输入至胜率预测模型,将特征训练样本输入至胜率预测模型,通过胜率预测模型预估游戏角色对象在当前对局获胜的概率值,并获取当前对局的真实输赢结果,进而基于当前对局的真实输赢结果与当前对局获胜的概率值计算损失值,然后,基于损失值对胜率预测模型的模型参数进行更新,使得后续可以基于训练好的胜率预测模型来更好地规划游戏ai的胜率。
108.具体地,对于胜率预测模型,可以是一个二分类预测模型,故可以将每一帧三维游戏场景画面对应的三维游戏场景特征作为特征训练样本,输入至胜率预测模型中,通过胜率预测模型预估游戏角色对象在当前对局获胜的概率值,进一步地,获取当前对局的真实输赢结果(即当前对局的真实获胜情况),可以将当前对局的真实获胜情况作为真值,进而,可以按照预设的损失函数如交叉熵、相对熵或信息熵等,此处不作具体限制,来基于当前对局的真实输赢结果与当前对局获胜的概率值计算损失值,然后,基于损失值对胜率预测模型的模型参数进行更新,直到模型收敛,使得后续可以基于训练好的胜率预测模型来更好地规划游戏ai的胜率。
109.进一步地,胜率预测模型还可以表现为一种ai行为策略模型,这种模型可以用强化学习模型训练,也可以用监督学习训练,具体训练过程如下:
1)、使用监督学习训练:将每一帧游戏场景特征输入ai行为策略模型,以收集到的当前帧的示例行为策略作为真值,按照预设的损失函数,基于收集到的当前帧的示例行为策略与胜率预测模型的预测结果计算损失值,从而可以基于损失值更新ai行为策略模型的模型参数。
110.2)、 使用强化学习训练:将每一帧三维游戏场景特征输入ai行为策略模型,并累积计算ai在整局游戏中收到的人为定位的收益值,然后,按照预设的损失函数,基于收益值计算损失值,从而可以基于损失值更新ai行为策略模型的模型参数。
111.可以理解的是,在获取到每一帧三维游戏场景画面对应的三维游戏场景特征之后,可以将每一帧三维游戏场景画面对应的三维游戏场景特征作为特征训练样本,供机器学习游戏ai进行归纳学习,还可以应用于其他模型的强化学习,如通关的关卡预测、高分预测以及障碍物预测等,或者,还可以应用于其他模型的监督学习等,此处不作具体限制。
112.下面对本技术中的三维游戏场景的特征提取装置进行详细描述,请参阅图19,图19为本技术实施例中三维游戏场景的特征提取装置的一个实施例示意图,三维游戏场景的特征提取装置20包括:处理单元201,用于针对每一帧三维游戏场景画面,从游戏角色对象的顶部,打出一组视椎体射线,其中,一组视椎体射线射出形成呈锥状;获取单元202,用于当一组视椎体射线中有射线击中物体时,返回击中的物体的射线所对应的物体属性信息,其中,物体属性信息包括击中物体的位置信息、击中物体的类别信息以及材质信息;处理单元201,还用于对全部接收到的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,得到射线特征向量;处理单元201,还用于将射线特征向量经过神经网络进行特征降维处理,得到一维射线特征向量;处理单元201,还用于基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的高度值矩阵;处理单元201,还用于将全部细粒度对应的高度值矩阵经过神经网络进行特征降维处理,得到一维高度图特征向量;确定单元203,还用于将一维射线特征向量以及一维高度图特征向量,整合为每一帧三维游戏场景画面对应的三维游戏场景特征。
113.可选地,在上述图19对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取装置的另一实施例中,处理单元201具体可以用于:对击中的物体的射线所对应的击中物体的位置信息、击中物体的类别信息以及材质信息进行向量转换,得到击中的物体的射线所对应的信息向量;将全部击中的物体的射线所对应的信息向量整合为射线特征向量。
114.可选地,在上述图19对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取装置的另一实施例中,处理单元201具体可以用于:对击中物体的位置信息进行向量标准化处理,得到位置向量;对击中物体的类别信息以及材质信息进行特征编码,得到编码向量;将位置向量以及编码向量进行拼接,得到击中的物体的射线所对应的信息向量;
处理单元201具体可以用于:将全部击中的物体的射线所对应的信息向量进行顺序拼接,得到射线特征向量。
115.可选地,在上述图19对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取装置的另一实施例中,处理单元201具体可以用于:基于不同的细粒度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个细粒度对应的n*n网格,其中,n为大于1的整数;基于每个细粒度对应的n*n网格,生成每个细粒度对应的高度值矩阵。
116.可选地,在上述图19对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取装置的另一实施例中,处理单元201具体可以用于:将不同的细粒度,作为不同大小的待采集网格单位长度;按照不同大小的待采集网格单位长度,以游戏角色对象的当前角色坐标为采集中心,向四周采集每个待采集网格单位长度对应的n*n网格;处理单元具体可以用于:获取n*n网格的每个网格中心点所对应的高度值,并基于高度值生成每个细粒度对应的高度值矩阵。
117.可选地,在上述图19对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取装置的另一实施例中,处理单元201具体可以用于:将全部细粒度对应的高度值矩阵进行拼接以及张量转换处理,得到高度图特征张量;将高度图特征张量经过神经网络进行特征降维处理,得到一维高度图特征向量。
118.可选地,在上述图19对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取装置的另一实施例中,处理单元201具体可以用于:将射线特征向量经过卷积神经网络进行特征降维处理,得到一维射线特征向量;处理单元201具体可以用于:将高度图特征张量经过卷积神经网络进行特征降维处理,得到一维高度图特征向量。
119.可选地,在上述图19对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取装置的另一实施例中,处理单元201具体可以用于:将射线特征向量经过第一神经网络进行特征降维处理,得到一维射线特征向量;处理单元201具体可以用于:将全部细粒度对应的高度值矩阵经过第二神经网络进行特征降维处理,得到一维高度图特征向量。
120.可选地,在上述图19对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取装置的另一实施例中,处理单元201具体可以用于:从游戏角色对象的顶部出发,模拟视锥视角打出一组视椎体射线;获取单元202具体可以用于:当模拟视锥视角打出的一组视椎体射线中的每条射线达到长度阈值后,若有射线击中物体,则返回击中的物体的射线所对应的物体属性信息。
121.可选地,在上述图19对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取装置的另一实施例中,处理单元201具体可以用于:以游戏角色对象的顶部为圆心,获取p个均匀分布的射线朝向,分别向每个射线朝向打出m个射线簇,其中,m个射线簇的包络面呈圆锥状,每个射线簇包括p条射线,每个射线簇的p条射线均匀分布在m个同心圆上,p为大于2的整数;
获取单元202具体可以用于:当m个射线簇中的每个射线簇的p条射线达到长度阈值后,若有射线击中物体,则返回击中的物体的射线所对应的物体属性信息。
122.可选地,在上述图19对应的实施例的基础上,本技术实施例提供的三维游戏场景的特征提取装置的另一实施例中,确定单元203具体可以用于:将一维射线特征向量以及一维高度图特征向量进行顺序拼接,得到每一帧三维游戏场景画面对应的三维游戏场景特征。
123.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,确定单元203,还用于将每一帧三维游戏场景画面对应的三维游戏场景特征作为特征训练样本;处理单元201,还用于将特征训练样本输入至胜率预测模型,通过胜率预测模型预估游戏角色对象在当前对局获胜的概率值;处理单元201,还用于获取当前对局的真实输赢结果,并基于当前对局的真实输赢结果与当前对局获胜的概率值计算损失值;处理单元201,还用于基于损失值对胜率预测模型的模型参数进行更新。
124.本技术另一方面提供了另一种计算机设备示意图,如图20所示,图20是本技术实施例提供的一种计算机设备结构示意图,该计算机设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)310(例如,一个或一个以上处理器)和存储器320,一个或一个以上存储应用程序331或数据332的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器320和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备300中的一系列指令操作。更进一步地,中央处理器310可以设置为与存储介质330通信,在计算机设备300上执行存储介质330中的一系列指令操作。
125.计算机设备300还可以包括一个或一个以上电源340,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口360,和/或,一个或一个以上操作系统333,例如windows server
tm
,mac os x
tm
,unix
tm
, linux
tm
,freebsd
tm
等等。
126.上述计算机设备300还用于执行如图2至图13对应的实施例中的步骤。
127.本技术的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序被处理器执行时实现如图2至图13所示实施例描述的方法中的步骤。
128.本技术的另一方面提供了一种包含计算机程序的计算机程序产品,当计算机程序被处理器执行时实现如图2至图13所示实施例描述的方法中的步骤。
129.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
130.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
131.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
132.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
133.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献