CN114367110A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114367110A CN114367110A CN202210023369.9A CN202210023369A CN114367110A CN 114367110 A CN114367110 A CN 114367110A CN 202210023369 A CN202210023369 A CN 202210023369A CN 114367110 A CN114367110 A CN 114367110A
- Authority
- CN
- China
- Prior art keywords
- position information
- feature
- features
- detection result
- obstacle
- 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.)
- Granted
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/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/803—Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
-
- 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/80—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 specially adapted for executing a specific type of game
- A63F2300/8017—Driving on land or water; Flying
Abstract
本申请实施例提供了一种数据处理方法、装置、电子设备及存储介质,涉及游戏、人工智能、云技术及区块链技术领域。该方法包括:获取目标虚拟对象在虚拟场景中的第一位置信息,第一位置信息包括目标对象经过的至少一个位置,至少一个位置包括当前位置;获取虚拟场景中第一位置信息中各位置对应的全局空间特征;获取虚拟场景中第一位置信息中各位置周边的局部空间特征;根据第一位置信息中各位置对应的全局空间特征和局部空间特征,确定目标虚拟对象在虚拟场景中的第二位置信息。基于本申请实施例提供的方案,能够更加准确的实现对目标虚拟对象在虚拟场景中的移动位置的预测。
Description
技术领域
本申请涉及游戏、人工智能、云技术及区块链技术领域,具体而言,本申请涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
随着科学技术的快速发展,游戏产业作为网络产品的产物之一,也得到了迅速的发展,游戏场景越来越宏大,玩法也越来越高级。
目前,在很多游戏场景中,通常都会提供游戏AI(Artificial Intelligence,人工智能)陪玩或者通过游戏AI来指导玩家参与游戏。如何提升游戏AI的性能是游戏提供商一直在不断研究的重要部分,而在很多虚拟对象可以在游戏地图中移动的游戏中,比如赛车类游戏,如何更加准确的预测虚拟对象的位置,以指导或由游戏AI自动控制虚拟对象在游戏场景中的移动,就是其中研究的问题之一。对于该问题,虽然现有方法中也有一些解决方式,但是现有技术在实现上都过于复杂,且准确性也不够理想。
发明内容
本申请的目的旨在提供一种数据处理方法、装置、电子设备及存储介质,能够实现对虚拟场景中目标虚拟对象行进位置的准确预测。为了实现该目的,本申请实施例提供的技术方案如下:
一个方面,本申请实施例提供了一种数据处理方法,该方法包括:
获取目标虚拟对象在虚拟场景中的第一位置信息,第一位置信息包括目标对象经过的至少一个位置,至少一个位置包括当前位置;
获取虚拟场景中第一位置信息中各位置对应的全局空间特征、以及获取虚拟场景中第一位置信息中各位置周边的局部空间特征;
根据第一位置信息中各位置对应的全局空间特征和局部空间特征,确定目标虚拟对象在虚拟场景中的第二位置信息。
可选的,该方法还包括:
基于第二位置信息,控制或引导目标虚拟对象在虚拟场景中的移动。
另一方面,本申请实施例提供了一种数据处理装置,该装置包括:
位置信息获取模块,用于获取目标虚拟对象在虚拟场景中的第一位置信息,第一位置信息包括目标对象经过的至少一个位置,至少一个位置包括当前位置;
特征获取模块,用于获取虚拟场景中第一位置信息中各位置对应的全局空间特征,以及获取虚拟场景中第一位置信息中各位置周边的局部空间特征;
路径规划模块,用于根据第一位置信息中各位置对应的全局空间特征和局部空间特征,确定目标虚拟对象在虚拟场景中的第二位置信息。
可选的,上述至少一个位置还包括当前位置对应的至少一个历史位置;路径规划模块可以用于:
按照第一位置信息中各位置的时序关系,将各位置对应的全局空间特征拼接,将各位置对应的局部空间特征拼接;
根据拼接后的全局空间特征和拼接后的局部空间特征,确定目标虚拟对象在虚拟场景中的第二位置信息。
可选的,对于上述第一位置信息中的每个位置,该位置对应的全局空间特征是由第一特征提取模块通过以下方式获取到的:
对该位置对应的目标三维空间进行可行区域检测,得到该位置对应的可行区域检测结果,其中,目标三维空间是虚拟场景中以该位置为中心的设定范围的三维空间;
根据该位置对应的可行区域检测结果,得到该位置对应的全局空间特征。
可选的,第一特征提取模块可以是上述特征获取模块。
可选的,第一特征提取模块在对该位置对应的目标三维空间进行可行区域检测,得到该位置对应的可行区域检测结果时用于:
将该位置对应的目标三维空间划分为至少两个子空间;对至少两个子空间的各子空间分别进行可行区域检测;基于各子空间对应的可行区域检测结果,得到该位置对应的可行区域检测结果,其中,一个子空间对应的可行区域检测结果表征了该可行空间存在可行区域或不存在可行区域。
可选的,第一特征提取模块在对至少两个子空间的各子空间分别进行可行区域检测时,可以用于:
对于每个子空间,通过在该子空间中发射由上至下的射线对该子空间进行障碍物检测;对于每个子空间,根据该子空间的障碍物检测结果,确定该子空间对应的可行区域检测结果;其中,若一个子空间的障碍物检测结果表征存在障碍物,该子空间对应的可行区域检测结果表征该子空间中存在可行区域。
可选的,对于上述第一位置信息中的每个位置,该位置周边的局部空间特征是由第二特征提取模块通过以下方式获取到的:
对该位置的周向进行障碍物检测,得到该位置的周向的障碍物检测结果;
根据该位置的周向的障碍物检测结果,确定该位置周边的局部空间特征。
可选的,第二特征提取模块可以是上述特征获取模块。
可选的,第二特征提取模块在对该位置的周向进行障碍物检测,得到该位置的周向的障碍物检测结果时,可以用于:
以该位置为起始点,通过向该位置周向的至少一个指定方向发射设定长度的射线进行障碍物检测,得到每个指定方向的障碍物检测结果;其中,至少一个指定方向包括目标虚拟对象的行进方向,该位置的周向的障碍物检测结果包括各指定方向的障碍物检测结果。
可选的,第二特征提取模块在根据该位置的周向的障碍物检测结果,确定该位置周边的局部空间特征时,可以用于:
对于每个指定方向,若该指定方向的障碍物检测结果表征存在障碍物,则根据该指定方向的障碍物检测结果,确定该位置与该指定方向上的障碍物之间的距离,若该指定方向的障碍物检测结果表征不存在障碍物,则将设定长度作为该位置与该指定方向上的障碍物之间的距离;基于各指定方向对应的距离,确定该位置周边的局部空间特征。
可选的,路径规划模块在根据第一位置信息中各位置对应的全局空间特征和局部空间特征,确定目标虚拟对象在虚拟场景中的第二位置信息时,可以用于:
基于第一位置信息中各位置对应的全局空间特征和局部空间特征,通过调用训练好的路径预测模型执行以下操作得到第二位置信息:
对各位置对应的全局空间特征进行特征提取,得到第一特征,对各位置对应的局部空间特征进行特征提取,得到第二特征;
将第一特征和第二特征融合,基于融合后的特征预测得到第二位置信息。
可选的,路径预测模型是由模型训练装置通过以下方式训练得到的:
获取多个训练样本,训练样本包括样本位置信息对应的样本特征以及对应的真实行进位置信息,样本特征包括样本位置信息对应的全局空间特征和局部空间特征;
将各训练样本的样本特征输入至初始的神经网络模型中,得到各训练样本对应的预测行进位置信息;
基于各训练样本对应的真实行进位置信息和预测行进位置信息,确定训练损失;
若训练损失不满足训练结束条件,则对神经网络模型的模型参数进行调整,并基于各训练样本对模型继续进行训练,直至得到满足训练结束条件的神经网络模型,基于满足训练结束条件的神经网络模型得到路径预测模型。
可选的,路径预测模型包括第一特征提取网络、第二特征提取网络、以及分别与第一特征提取网络和第二特征提取网络级联的位置信息预测网络,第一特征提取网络和第二特征提取模块分别包括级联的至少一个特征提取模块,特征提取模块包括级联的全连接层和归一化层,位置信息预测网络包括依次级联的特征拼接层和至少一个全连接层;
路径规划模块在通过路径预测模型得到上述第一特征和第二特征时可以用于:将各位置对应的全局空间特征拼接后输入第一特征提取网络,通过第一特征提取网络提取得到第一特征;将各位置对应的局部空间特征拼接后输入第二特征提取网络,通过第二特征提取网络提取得到第二特征;
路径规划模块在通过路径预测模型得到上述第二位置信息时可以用于:通过特征拼接层对第一特征和第二特征进行拼接;基于拼接后的特征,通过至少一个全连接层预测得到第二位置信息。
另一方面,本申请还提供了一种电子设备,该电子设备包括存储器和处理器,其中,存储器中存储有计算机程序,处理器在运行该计算机程序时用于执行本申请任一可选实施例中提供的方法。
另一方面,本申请还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,该计算机程序在处理器中运行时,处理器用于执行本申请任一可选实施例中提供的方法。
另一方面,本申请提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现本申请任一可选实施例中提供的方法。
本申请提供的技术方案带来的有益效果是:
本申请实施例提供的数据处理方法,在预测目标虚拟对象在虚拟场景中的位置信息时,从全局和局部两个维度出发,分别捕获目标虚拟对象在虚拟场景中的所处环境的全局空间特征、以及目标虚拟对象周边的局部空间特征,由于两种特征能够从不同的维度表达目标虚拟对象所在位置的环境信息,将两种特征结合,能够更加全面、准确地捕获到目标虚拟对象所在环境的特征,因此,基于目标虚拟对象对应的全局空间特征和局部空间特征,可以准确地实现对目标虚拟对象位置的预测,且该方法实现简单,能够更好的满足实际应用需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种数据处理方法的流程示意图;
图2为本申请一示例中提供的一种获取全局空间特征的原理示意图;
图3为本申请一示例中提供的一种获取局部空间特征的原理示意图;
图4为本申请一示例中的一种路径预测模型的结构示意图;
图5为本申请的场景实施例中提供的一种数据处理系统的结构示意图;
图6为本申请的场景实施例提供的一种数据处理方法的流程示意图;
图7为本申请的场景实施例提供的一种获取局部空间特征的原理示意图;
图8为本申请的场景实施例中提供的一种获取位置偏移的原理示意图;
图9为本申请实施例提供的一种路径预测模型的结构示意图;
图10为本申请实施例提供的一种数据处理装置的结构示意图;
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“上述”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。这里使用的术语“和/或”或者“至少一项”指示该术语所限定的项目中的至少一个,例如“A和/或B”或者“A或B中的至少一项”指示实现为“A”,或者实现为“A”,或者实现为“A和B”。在描述多个(两个或两个以上)项目时,如果没有明确限定多个项目之间的关系,这多个项目之间可以是指多个项目中的一个、多个或者全部,例如,对于“A包括A1、A2、A3”的描述,可以实现为A包括A1或A2或A3,还可以实现为A包括A1、A2、A3这三项中的至少两项。
本申请是针对现有的虚拟场景中虚拟对象的位置预测方案中所存在的方案实现复杂,预测准确性不佳的问题,而提出的一种数据处理方法、装置、电子设备及存储介质,基于该方案,可以简单快捷、且准确地实现对目标虚拟对象在虚拟场景中的位置信息的预测。
本申请实施例的方案涉及到人工智能技术,如游戏AI,基于本申请实施例的方案,能够帮助游戏AI更加准确地知晓目标虚拟对象在游戏地图中未来时间的位置,从而可以实现游戏场景中AI导航或者由游戏AI对目标虚拟对象进行自动化控制,比如,目标虚拟对象可以是赛车,游戏AI可以实现赛车的自动化驾驶。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
本申请实施例提供的方案所适用的游戏可以是传统游戏(需要下载安装的游戏),也可以是云游戏(Cloud gaming)、小程序中的游戏或其他形式的游戏应用。本申请实施例的方案可以基于云技术实现,比如,本申请实施例中所涉及的数据处理/计算可以采用云计算技术实现。
可选的,本申请提供的该数据处理方法中所涉及的数据(比如目标虚拟对象的第一位置信息,第一位置信息中各位置对应的全局空间特征和局部空间特征等)可以保存于区块链中。对于具有多个游戏服务器的游戏服务平台而言,多个游戏服务器可以组成一个区块链,而游戏服务器为区块链上的节点,比如,对于云游戏而言,云游戏服务平台的大量云端设备(如云游戏服务器、管理服务器、边缘服务器等)可以组成一个区块链。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的一种数据处理方法的流程示意图,该方法可以任一计算机设备执行。可选的,本申请实施例中的虚拟场景可以是游戏应用中的虚拟游戏场景,目标虚拟对象可以是虚拟游戏场景中的虚拟载具,比如虚拟车具或其他对象,该方法可以由游戏玩家的用户终端执行,也可以由游戏应用的服务器执行,还可以由用户终端和服务器交互执行,比如,游戏应用可以是云游戏应用,该方法可以由云游戏应用的服务器执行,再比如,游戏应用可以是普通游戏,该方法可以由用户终端和服务器交互执行,目标虚拟对象对应的全局空间特征和局部空间特征可以由用户终端获取之后提供给服务器,服务器基于从用户终端获取到的信息来预测目标虚拟对象的第二位置信息。如图1中所示,本申请实施例提供的该方法可以包括以下步骤S110至步骤S130。
步骤S110:获取目标虚拟对象在虚拟场景中的第一位置信息,第一位置信息包括目标对象经过的至少一个位置,至少一个位置包括当前位置。
其中,虚拟场景可以是游戏中的虚拟场景即游戏场景。游戏的类型本申请实施例不做限定,只要是游戏场景中包含地图,游戏中的对象可以在游戏场景中移动的游戏即可,如可以是赛车类、动作、冒险、模拟、角色扮演、等任意的游戏类型。
目标虚拟对象是虚拟场景中的对象,可以是由计算机设备控制的任一虚拟对象,该虚拟对象可以在虚拟场景中移动,虚拟对象的类型和形态本申请实施例也不做限定,如可以是虚拟场景中的虚拟载具,如虚拟赛车(也称为飞车/车辆),也可以是游戏玩家对应的虚拟角色等。在后文的一些实施例中,虚拟场景将以游戏场景为例进行描述,目标虚拟对象将以虚拟赛车(可以简称为赛车)为例进行描述。
对于目标虚拟对象,可以通过游戏接口获取目标虚拟对象在虚拟场景中的位置,也就是位置坐标,该位置坐标通常是一个三维向量,表示游戏场景中虚拟地图的三维坐标,也就是常说的x坐标、y坐标和z坐标,其中,x坐标和z坐标可以表示虚拟场景中的水平方向的坐标,y坐标可以表示虚拟场景中高度方向的坐标。目标虚拟对象在虚拟场景中的位置可以是目标对象的指定部位的位置,比如,目标虚拟对象是赛车,赛车在游戏场景中的位置可以赛车的中心在游戏场景中的位置,也可以是赛车的车头区域指定点的位置。
本申请的实施例中,上述目标虚拟对象在虚拟场景中的第一位置信息中至少包括目标虚拟对象的当前位置,可选的,第一位置信息还可以包括当前位置对应的至少一个历史位置,也就是目标虚拟对象到达当前位置之前的一个或多个位置,历史位置的数量可以根据实际需求配置,比如,还可以考虑目标虚拟对象在当前时段(时段的时长可配置)或当前时刻的移动速度,移动速度越快,可以采用相对较少的历史位置。
作为一种实施方式,可以按照设定间隔(比如1秒)获取目标虚拟对象在虚拟场景中的位置,如果第一位置信息包括三个位置,这三个位置包括当前位置(即当前时刻的位置)、当前时刻前1秒的位置以及当前时刻前2秒的位置。
步骤S120:获取虚拟场景中第一位置信息中各位置对应的全局空间特征、以及获取虚拟场景中第一位置信息中各位置周边的局部空间特征。
步骤S130:根据第一位置信息中各位置对应的全局空间特征和局部空间特征,确定目标虚拟对象在虚拟场景中的第二位置信息。
本申请实施例中,全局空间特征也可以称为三维空间坐标,对于第一位置信息中的每个位置,该位置对应的全局空间特征是指该位置所处三维空间中的特征,该特征表征了该位置所在三维空间的环境特征,具体的,该全局空间特征表征了该位置所处的三维空间中的可行区域或不可行区域中的至少一项,其中,可行区域是指目标虚拟对象可以移动至的区域,也就是虚拟场景中目标虚拟对象可以走的区域。
对于第一位置信息中的每个位置,该位置周边的局部空间特征也可以称为二维空间特征,可以理解为该位置所在的平面空间的特征或该位置周向的特征,具体的,局部空间特征可以是该位置所在的水平空间的特征,该特征表征了该位置周边的可行区域或障碍物信息中的至少一项,比如,局部空间特征可以标识该位置所在水平面上周边哪个方向有障碍物或者没有障碍物,进一步的,如果周边某个方向有障碍物,局部空间特征还可以进一步标识障碍物距离当前位置的距离。
由于全局空间特征和局部空间特征都能够很好的表达目标虚拟对象在虚拟场景中的环境信息,如哪些空间有可行区域,哪些方向存在障碍物等,因此,通过将目标虚拟对象对应的包括当前位置在内各位置对应的全局空间特征和局部空间特征结合,能够很好的实现对目标虚拟对象未来时间所对应的位置信息(即第二位置信息)的预测。
可选的,在得到各位置对应的全局空间特征和局部空间特征之后,可以基于这两种特征,通过训练好的神经网络模型(可以称为路径预测模型)实现对目标虚拟对象的第二位置信息的预测。
本申请实施例中,第二位置信息是预测出的目标虚拟对象在当前位置之后可以行进到的位置信息,也就是将来一段时间内出现的位置的信息,比如当前时刻的下1秒移动到的位置的相关信息、或者,当前时刻的下1秒移动到的位置的相关信息和当前时刻的下2秒移动到的位置的相关信息。可选的,第二位置信息可以包括至少一个可行进至的位置或者是可以确定至少一个可行进至的位置的信息,比如,第二位置信息可以是至少一个可行进至的位置的偏移,该偏移是当前位置与可行进至的位置之间的偏移,具体可以包括两个位置在三维方向(即x方向、y方向和z方向)中各个方向上的坐标偏移。
本申请实施例所提供的方案,在预测目标虚拟对象在虚拟场景中的位置信息时,从全局和局部两个维度出发,分别捕获目标虚拟对象在虚拟场景中的所处环境的全局空间特征、以及目标虚拟对象周边的局部空间特征,由于两种特征能够从不同的层面表达目标虚拟对象所在位置的环境信息,这两种特征结合,能够更加全面、准确地捕获到目标虚拟对象所在环境的特征,因此,基于这两种特征,能够准确地实现对目标虚拟对象位置的预测,且该方法实现简单,能够更好的满足实际应用需求。
对于第一位置信息中每个位置对应的全局空间特征和局部空间特征的获取方式,可以根据实际需求配置。
本申请的可选实施例中,对于上述第一位置信息中的每个位置,该位置对应的全局空间特征可以是通过以下方式获取到的:
对该位置对应的目标三维空间进行可行区域检测,得到该位置对应的可行区域检测结果,其中,该位置对应的目标三维空间是虚拟场景中以该位置为中心的设定范围的三维空间;
根据该位置对应的可行区域检测结果,得到该位置对应的全局空间特征。
其中,上述设定范围的大小可以根据经验值和/或实验值进行配置,具体取值本申请实施例不做限定。比如,设定范围可以是50×50×50的空间大小,一个位置对应的目标三维空间则是以该位置为中心的50×50×50的正方体空间。作为一可选方式,设定范围的大小还可以根据目标虚拟对象的移动速度确定,比如,可以根据目标虚拟对象的当前速度确定,速度越大,第一设定范围可以越大。
需要说明的是,上述示例中,数值50的长度单位本申请实施例不做限定,可以是虚拟场景中的一个相对长度,比如,虚拟场景的地图中配置了一个单位长度,50则是50个这样的单位长度。
对上述目标三维空间进行可行区域检测的目的,是为了确定出该三维空间中的可行区域,也就是该空间中哪些区域可行,哪些区域不可行。可行区域检测的具体实现方式可以根据需求配置。比如,对于每个位置,可以获取虚拟场景中该位置对应的目标三维空间的虚拟地图数据,根据虚拟地图数据确定该位置对应的全局空间特征。作为一个示例,对于游戏场景而言,可以基于游戏地图得到每个位置对应的目标三维空间对应的地图数据,根据该地图数据确定该位置对应的全局空间特征,例如,该三维空间中是否存在可行区域、哪些区域是可行区域以及哪些区域是不可行区域等。
作为一可选方案,可以通过发射射线的方式对目标三维空间进行可行区域检测,比如,可以通过在目标三维空间中发射至少一条射线进行可行区域检测。具体的,可以通过在目标三维空间中发射至少一条由上至下的射线进行障碍物检测,根据障碍物检测结果得到可行区域检测结果。可选的,对于一条射线对应的障碍物检测结果,若该障碍物检测结果表明存在障碍物,可以将该射线对应的可行区域检测结果确定为存在可行区域,这是因为通过获取局部空间特征,可以知晓目标虚拟对象周边的障碍物信息,在对目标三维空间进行障碍物检测时,如果确定存在障碍物,可以认为是存在可行区域,而无需再判别该障碍物是真的是障碍物,还是可行区域(比如虚拟场景中的道路、桥等),从而可以减少实现的复杂度,并且通过将全局空间特征和局部空间特征结合,可以避免目标三维空间对应的可行区域检测结果中可能出现的检测结果不确定导致的问题。
需要说明的是,如果不考虑处理效率,对目标三维空间进行障碍物检测时,也可以进一步确定检测到的障碍物真的是障碍物,还是可行区域。比如,在检测到存在障碍物时,射线的返回信息中还可以包括障碍物的类别信息,该类别信息可以标识检测到的障碍物是否真的是可行区域。其中,对于通过发射射线进行障碍物检测的具体实现过程将在后文的实施例中再展开说明。
为了更加准确地获取到上述第一位置信息中每个位置对应的可行区域检测结果,对于第一位置信息中的每个位置,上述对该位置对应的目标三维空间进行可行区域检测,得到该位置对应的可行区域检测结果,可以包括:
将该位置对应的目标三维空间划分为至少两个子空间;
对至少两个子空间的各子空间分别进行可行区域检测;
基于各子空间对应的可行区域检测结果,得到该位置对应的可行区域检测结果,其中,一个子空间对应的可行区域检测结果表征了该可行空间存在可行区域或不存在可行区域。
该可选方案中,通过将目标三维空间划分为多个子空间,通过分别对各子空间分别进行可行区域检测,可以更细化的实现对目标三维空间中多个空间区域的检测,获取到目标三维空间对应的更细粒度的可行区域检测结果,从而可以得到能够更加准确地表达每个位置对应的三维空间的环境信息的全局空间特征。
需要说明的是,本申请实施例中的子空间也是三维的空间,可以按照预设的空间大小(如预设的空间的长、宽、高)或者预设的子空间数量,将目标三维空间划分为多个三维子空间。其中,对于目标三维空间的具体划分方式可以根据应用需求配置,本申请实施例不做限定,比如,可以将目标三维空间划分为若干个相同大小的子空间。对于每个位置,该位置对应的可行区域检测结果包括该位置对应的各子空间对应的可行区域检测结果。
本申请的可选实施例中,上述对至少两个子空间的各子空间分别进行可行区域检测,可以包括:
对于每个子空间,通过在该子空间中发射由上至下的射线对该子空间进行障碍物检测;
对于每个子空间,根据该子空间的障碍物检测结果,确定该子空间对应的可行区域检测结果;
其中,若一个子空间的障碍物检测结果表征存在障碍物,该子空间对应的可行区域检测结果表征该子空间中存在可行区域。
在实际应用时,对于每个子空间,可以在该子空间中由上而下发射至少一条射线进行障碍物检测,可选的,为了减少数据处理量,防止计算量过高,每个子空间可以发射一条射线。对于每个位置,通过在该位置对应的每个子空间中分别发射一条射线进行障碍物检测,既可以获取到该位置对应的目标三维空间中多个不同空间区域的检测结果,提升全局空间特征的表达能力,又能够减少计算量,提高数据处理效率。
本申请实施例中,障碍物指的是在虚拟场景中会阻碍目标虚拟对象移动的对象,通过射线检测的方式可以实现对障碍物的检测,其中,射线检测是从一个点向一个方向发射一条射线,当有碰撞体(即障碍物)的时候射线就停止并可以返回碰撞体信息。因此,可以通过射线检测的方式对各子空间进行障碍物检测。在采用射线检测方式时,可以指定需要发射的射线的相关信息,可以包括射线的起始点、射线的长度或射线的终点、发射方向或需要返回的碰撞检测信息(发生碰撞时碰撞体/障碍物的相关信息、未发生碰撞时返回的信息等)等信息中的至少一项。
以游戏场景为例,可以通过调用游戏引擎的接口,基于设定的相关信息,发射一条由起始点开始、发射方向和射线长度已确定的射线,并基于射线的返回信息得到对应的障碍物检测结果。比如,如果一个方向的射线碰撞到了障碍物,射线的返回信息可以包括该障碍物的属性信息,如障碍物的位置,如果一个方向在距离起始点的设定长度(也就是射线长度)内不存在障碍物,射线的返回信息可以是指定信息,如返回空(Null)或者其他特定信息,又或者是在设定时间内没有收到返回信息。
本申请的可选实施例中,对于上述每个子空间,射线的起始点可以是该子空间的上平面的指定点(如中心点),射线的终点是该子空间的下平面的指定点(如中心点),射线的长度也就是起始点和终点之间的距离,通过在该子空间发射一条从起始点到终点的射线,可以根据射线的返回信息得到该子空间对应的可行区域检测结果。
作为一可选方案,每个位置对应的目标三维空间的大小可以是50×50×50的正方体,可以将该正方体平均划分为大小相同的5×5×5个网格,那么这125个网格就是该位置对应的125个子空间,可以在每个网格内由上至下发射射线,根据射线检测结果得到每个网格对应的可行区域检测结果,如,每个网格是否存在可行区域。
作为一个示例,为了便于说明,以目标虚拟对象为虚拟车辆、以将目标三维空间划分为2×2×2个网格为例,图2中示出了一种对目标三维空间进行划分以及在每个网格发射射线的示意图,具体的,图2(a)中展示了基于车辆中心生成的立方体,也就是目标虚拟对象在该中心位置对应的目标三维空间的示意图,将该立方体划分为了2×2×2个子空间(也就是图2(a)中的8个网格),图2(b)中展示了一种可选的针对每个网格发射的射线的示意图,该示意图中展示了针对每个网格设置的射线检测的起点S和终点E,起点S为网格的上平面的中心,终点为网格的下平面的中心E,如果从起点S到终点E的射线检测到碰撞物,说明该网格存在可行区域。
本申请实施例中,每个位置对应的全局空间特征表征了该位置对应的目标三维空间对应的可行区域的情况,可以通过上述发射射线的方式检测得到。由于是通过发射由上至下的射线进行检测得到,因此,本申请实施例中的全局空间特征也可以称为鸟瞰图特征。
本申请实施例中,鸟瞰图特征是在三维空间(如多个三维子空间)中通过发射由上至下的射线进行可行区域的检测,该特征能够更加全面的表征目标虚拟对象所在的目标三维空间中的可行区域的环境特征,这是因为虚拟场景通常也都是真实环境的虚拟化,与真实场景类似,也是三维的空间环境,通过对目标三维空间进行鸟瞰图特征提取,可以得到目标虚拟对象所处的三维空间环境的可行区域的特征,实现了对目标三维空间中环境特征的全方位检测。比如,虚拟场景是赛车游戏场景,目标虚拟对象是赛车,该场景中的可行区域是赛道,而场景中的赛道通常不仅仅都是在一个高度方向上的赛道(比如,一条虚拟赛道的上方可以还有虚拟高架桥赛道),通过发射由上至下的射线进行检测,可以获取到虚拟场景中所有可能的可行区域的信息。
可选的,对于每个位置,在基于该位置对应的每个子空间对应的可行区域检测结果,确定该位置对应全局空间特征时,若一个子空间对应的可行区域检测结果表明该子空间存在可行区域,则可以将该子空间对应的特征值确定为第一标识,若可行区域检测结果表明该子空间不存在可行区域(即障碍物检测结果表征不存在障碍物),可以将该子空间对应的特征值确定为第二标识,该位置对应的全局空间特征则包括该位置对应的各子空间对应的特征值,比如,上述第一标识可以是1,第二标识可以为0,假设一个位置对应的子空间为125个,则一个位置对应的全局空间特征是一个包含125个特征值的特征向量。如果上述第一位置信息包括当前位置以及当前位置之前的两个位置,则目标虚拟对象对应的全局空间特征包括三个125维的特征向量。
同样的,本申请实施例中,对于每个位置对应的局部空间特征,可以通过障碍物检测的方式来获取。具体的,对于第一位置信息中的每个位置,该位置周边的局部空间特征可以是通过以下方式获取到的:
对该位置的周向进行障碍物检测,得到该位置的周向的障碍物检测结果;
根据该位置的周向的障碍物检测结果,确定该位置周边的局部空间特征。
其中,对于一个位置而言,该位置的周向是指该位置的四周/周围方向,也就是该位置的周边方向。可选的,该位置的周向可以是以该位置为中心的预设范围的平面区域(车辆行进方向所在的水平面区域),比如,以该位置为圆心、以设定长度为半径在虚拟场景的地图的水平方向上画的圆所覆盖的区域,其中,该位置对应的平面区域所在的平面可以是以目标虚拟对象为基准点,指向目标虚拟对象的朝向(即移动方向)的射线所在的水平面。也就是说,局部空间特征是以该位置为中心,发射水平方向的射线进行水平方向上目标虚拟对象的周边环境特征。
通过对目标虚拟对象对应的各位置的周向进行障碍物检测,可以知晓该位置周向的障碍物的相关信息,从而可以确定出各位置周向的空间特征。其中,上述障碍物检测结果表征了是否存在障碍物,可选的,在障碍物检测结果表征存在障碍物时,还可以基于障碍物检测结果确定目标虚拟对象与障碍物之间的距离。相应的,一个位置对应的局部空间特征表征了该位置附近水平面的空间特征,如是否存在障碍物,在存在障碍物时,还可以表征障碍物与目标虚拟对象的距离。
同样的,对于每个位置进行障碍物检测的实现方式,可以是基于虚拟场景对应的地图数据来获取,也可以是采用射线检测的方式来获取。比如,对于一个位置,可以获取该位置周向指定范围(如设定距离内)的地图数据,根据该地图数据确定该位置周向的哪些方向(可以根据需求配置哪些方向,即指定方向)有障碍物,还可以进一步根据障碍物的位置确定障碍物与目标虚拟对象的距离等,基于该位置周向的各方向是否有障碍物以及与障碍物的距离确定该位置对应的局部空间特征,比如,如果一个方向上有障碍物,可以将该方向对应的特征值确定为第一值,如果该方向上没有障碍物,可以将该方向对应的特征值确定为第二值,由各方向对应的特征值组合得到局部空间特征。
可选的,对于一个位置,还可以基于该位置周向上各方向上目标虚拟对象与障碍物的距离来确定对应的特征值,比如,如果一个方向的设定距离(与目标虚拟对象的距离)内不存在障碍物,可以认为该方向上目标虚拟对象与障碍物的距离为设定距离,如果该方向在设定距离内有障碍物,则可以根据障碍物的位置和目标虚拟对象的位置,计算出目标虚拟对象和障碍物的距离,在得到各方向对应的距离后,可以根据各方向对应的距离得到局部空间特征,可以将每个方向对应的距离作为对应的特征值或者是将各方向对应的距离进行归一化处理后的值作为特征值,通过组合各方向对应的特征值得到局部空间特征。
为了提高数据处理效率,本申请实施例中,可以通过射线检测的方式来获取各位置对应的局部空间特征。具体的,对于每个位置,上述对该位置的周向进行障碍物检测,得到该位置的周向的障碍物检测结果,可以包括:
以该位置为起始点,通过向该位置周向的至少一个指定方向发射设定长度的射线进行障碍物检测,得到每个指定方向的障碍物检测结果;
其中,至少一个指定方向包括目标虚拟对象的行进方向,该位置的周向的障碍物检测结果包括各指定方向的障碍物检测结果。
本申请实施例中,目标虚拟对象的行进方向,也就是目标虚拟对象的朝向/移动方向。为了既能够获取到目标虚拟对象周边的环境特征,又能够降低实现的复杂度,提高数据处理效率,在对目标虚拟对象的周向进行障碍物检测时,可以选择对其周向的若干个方向进行障碍物检测。其中,上述至少一个指定方向可以是多个方向,具体是哪几个方向可以根据实际需求配置,本申请实施例不做限定。作为一可选方案,对于上述第一位置信息中的每个位置,可以该位置为中心,发射多条水平方向(即多个指定方向)的射线,比如,可以向目标虚拟对象的朝向方向发射一条基准射线,并顺时针每偏移10度(水平方向上的偏移)发射一条射线,一共发射36条射线,可以得到36个指定方向对应的射线检测结果即障碍物检测结果,可以进一步基于这些方向上的检测结果得到该位置对应的局部空间特征。
本申请实施例提供的上述射线检测方式可以称为环状射线检测,基于该方式获取的局部空间特征可以称为环状射线检测特征。相比于鸟瞰图特征用于获取可行区域,环状射线检测特征获取的是目标虚拟对象与障碍物之间的相关信息(如可以获知是否存在障碍物,还可以获知目标虚拟对象与障碍物之间的距离),两种特征可以相互补充,提高目标虚拟对象位置预测的准确性。
需要进一步说明的是,本申请实施例中,对于一个位置而言,该位置对应的局部空间特征和全局空间特征的不同在于,局部空间特征重点关注的目标虚拟对象在该位置时,以目标虚拟对象在虚拟场景的地图中当前所在的高度为准,这个高度上目标虚拟对象周边的环境信息,比如,一个位置的具体坐标为(x1,y1,z1),y1表示虚拟场景的高度方向上的坐标,x1和z1是水平面的二维坐标,局部空间特征关注的在高度为y1的水平面上以该位置为中心的预设范围的区域的障碍物检测结果,也就是可以知晓当前这个高度哪些方位有障碍物,哪里可行。而全局空间特征是通过在目标三维空间中发射由上至下的射线进行可行区域的来得到,该特征重点关注的是的整体的环境特征,该特征表征了目标虚拟对象周围的整体三维空间中的可行区域。可见,全局空间特征和局部空间特征一个重点关注的是能够从全局角度表示整体三维环境空间的可行区域特征,一个捕获的能够表征目标虚拟对象附近水平面的障碍物特征,两种特征结合,能够更加全面、准确的表示出目标虚拟对象所处位置的环境特征,为更加准确的预测对象的位置信息提供了支持。
作为一个示例,图3中示出了一种获取一个位置对应的局部空间特征的原理示意图,图3中的黑色矩形块表示目标虚拟对象所在的该位置,在对该位置的周向进行障碍物检测时,可以沿目标虚拟对象的朝向发射一条设定长度的射线,并将该射线作为基准射线,按照顺时针或逆时针沿水平面(即射线的高度不变)每隔设定度数(该示例中为45°)度发射一条射线,如图3中所示该示例中共发射了8条射线,可以根据每条射线的返回信息确定该射线对应的方向是否存在障碍物,以及存在障碍物时障碍物距离该位置的距离是多少。
其中,对于射线的上述设定长度的取值,本申请实施例不做限定,可以根据实际需求配置,比如,可以根据实验值和/或经验值配置,可选的,设定长度还可以与目标虚拟对象的运动速度有关,比如,对于上述第一位置信息中的每个位置,可以获取目标虚拟对象在该位置对应的运动速度,速度越高,上述设定长度可以越大。
本申请的可选实施例中,在得到每个位置的周向的障碍物检测结果之后,对于每个位置,上述根据该位置的周向的障碍物检测结果,确定该位置周边的局部空间特征,可以包括:
对于每个指定方向,若该指定方向的障碍物检测结果表征存在障碍物,则根据该指定方向的障碍物检测结果,确定该位置与该指定方向上的障碍物之间的距离,若该指定方向的障碍物检测结果表征不存在障碍物,则将设定长度作为该位置与该指定方向上的障碍物之间的距离;
基于各指定方向对应的距离,确定该位置周边的局部空间特征。
对于每个位置,在以该位置为基准点,通过发射设定长度的射线的方式对各个指定方向进行障碍物检测时,如果某个指定方向的射线碰撞到了障碍物,对应的障碍物检测结果中还可以包括障碍物的位置等信息,可以基于障碍物的位置和该位置确定出目标虚拟对象和该障碍物的距离;如果射线返回的信息是指定信息或者是在设定时长内未收到返回信息,则可以确定在该指定方向的上述设定长度的距离内不存在障碍物,可以将目标对象和该障碍物的距离认为是该设定长度。
在得到各指定方向上对应的上述距离之后,可以将各指定方向上对应的距离确定该位置周边的局部空间特征,或者是将各指定方向上对应的距离进行归一化处理(比如,可以将各指定方向上对应的距离除了设定长度),将归一化处理后的各距离作为该位置周边的局部空间特征。
通过该可选方案获取到的局部空间特征,不仅可以表征每个位置周边各个指定方向上是否存在障碍物,还表征了存在障碍物时目标虚拟对象与障碍物之间的距离,从而可以获取到能够更加准确的表达目标虚拟对象在虚拟场景中所处空间的环境特征。
在得到目标虚拟对象对应于第一位置信息中各位置对应的全局空间特征和局部空间特征之后,则可以基于各位置对应的全局空间特征和局部空间特征,预测目标虚拟对象在将来可能移动至的位置的相关信息(即第二位置信息)。
本申请的可选实施例中,上述至少一个位置还包括上述当前位置对应的至少一个历史位置;上述根据第一位置信息中各位置对应的全局空间特征和局部空间特征,确定目标虚拟对象在虚拟场景中的第二位置信息,可以包括:
按照第一位置信息中各位置的时序关系,将各位置对应的全局空间特征拼接,将各位置对应的局部空间特征拼接;
根据拼接后的全局空间特征和拼接后的局部空间特征,确定目标虚拟对象在虚拟场景中的第二位置信息。
在该实施方案中,除了使用当前位置对应的全局空间特征和局部空间特征,还可以使用当前位置之前的一个或多个位置对应的全局空间特征和局部空间特征,通过采用多个位置对应的两种特征,可以更加全面获取到目标虚拟对象在当前时刻以及当前时刻之前所经过的环境的情况,以及目标虚拟对象的移动位置的变化,从而可以使得预测出的第二位置信息更加准确。
由于上述第一位置信息中每个位置对应的全局空间特征和局部空间特征,捕获的是目标虚拟对象在该位置时的三维空间和二维空间的空间信息,是没有时序信息的,考虑至此,第一位置信息中可以包括当前位置以及当前位置对应的至少一个历史位置,可以按照各位置的时序关系(也就是目标虚拟对象经过各位置的先后顺序),将各位置对应的两种特征分别进行拼接,即将各位置对应的全局空间特征拼接,将各位置对应的局部空间特征拼接,通过将多个位置对应的特征按照时间先后进行拼接,可以使得拼接后的特征融入了目标虚拟对象移动时的时序信息,从而进一步提升了特征的表达能力,基于拼接后的特征能够更好的实现对目标虚拟对象将来位置的预测。
其中,对于第二位置信息的确定,可以通过训练好的神经网络模型(即下述的路径预测模型)实现,具体的,上述根据所述第一位置信息中各位置对应的全局空间特征和局部空间特征,确定目标虚拟对象在所述虚拟场景中的第二位置信息,包括:
基于第一位置信息中各位置对应的全局空间特征和局部空间特征,通过调用训练好的路径预测模型执行以下操作得到第二位置信息:
对各位置对应的全局空间特征进行特征提取,得到第一特征,对各位置对应的局部空间特征进行特征提取,得到第二特征;
将第一特征和所述第二特征融合,基于融合后的特征预测得到所述第二位置信息。
其中,对于路径预测模型的模型架构本申请实施例不做限定,可以根据实际应用需求选择和配置。比如,可以根据该方法的执行主体的设备配置来选择,高配置的电子设备可以采用复杂度相对较高的神经网络结构,对于相对较低配置的电子设备可以采用轻量级的神经网络结构。
可选的,路径预测模型可以包括两个分支,一个用于对全局空间特征进行特征提取,一个用于对局部空间特征进行提取,通过进一步的特征提取,可以得到具有更好的特征表达能力的第一特征和第二特征。可选的,可以将各位置对应的全局空间特征拼接后输入至路径预测模型的一个分支,通过该分支进行至少一次特征提取得到第一特征,可以将各位置对应的局部空间特征拼接后输入至另一分支,通过该分支进行至少一个特征提取,得到第二特征。在得到第一特征和第二特征之后,可以通过拼接或其他融合方式将两种特征融合,基于融合后的特征预测得到目标虚拟对象对应的第二位置信息。
可选的,第二位置信息可以包括至少一个位置或者至少一个位置偏移,也就是模型的输出可以是位置的坐标,也可以是位置偏移,一个位置偏移是目标虚拟对象将来移动到的位置与目标虚拟对象的当前位置之间的位置偏移。
作为一可选方案,图4中示出了本申请实施例提供的一种路径预测模型的结构示意图,如图4中所示,该路径预测模型包括第一特征提取网络、第二特征提取网络、以及分别与第一特征提取网络和第二特征提取网络级联的位置信息预测网络,其中,第一特征提取网络和所述第二特征提取模块分别包括级联的至少一个特征提取模块(图4中只示意性的示出了一个,可以理解的是该处的级联是包括两个或两个以上的特征提取模块时,这些模块之间级联),该特征提取模块包括级联的全连接层和归一化层,上述位置信息预测网络包括依次级联的特征拼接层和至少一个全连接层(图4中只示意性的示出了一个);对于该路径预测模型,上述对各位置对应的全局空间特征进行特征提取,得到第一特征,对各位置对应的局部空间特征进行特征提取,得到第二特征,包括:
将各位置对应的全局空间特征拼接后输入第一特征提取网络,通过第一特征提取网络提取得到第一特征;将各位置对应的局部空间特征拼接后输入第二特征提取网络,通过第二特征提取网络提取得到第二特征;
上述将第一特征和第二特征融合,基于融合后的特征预测得到所述第二位置信息,包括:
通过特征拼接层对第一特征述第二特征进行拼接;
基于拼接后的特征,通过至少一个全连接层预测得到第二位置信息。
本申请的该可选方案,提供了一种轻量化的路径预测模型,采用该模型可以有效降低模型的计算量,提高数据处理效率,避免由于模型过于复杂造成的影响,比如,在虚拟场景为游戏场景时,目标虚拟对象可以是游戏用户在游戏场景中的游戏角色的虚拟载具,基于本申请实施例提供的方案,可以为载具进行导航提示或可以通过游戏AI控制载具在游戏场景中的移动,采用该可选方案中提供的路径预测模型,可以避免由于模型计算量过大导致游戏性能降低而造成用户的游戏感知下降的问题。
其中,路径预测模型可以是基于训练数据集训练得到的。可选的,该路径预测模型可以是通过以下方式训练得到的:
获取多个训练样本,该训练样本包括样本位置信息对应的样本特征以及对应的真实行进位置信息,样本特征包括样本位置信息对应的全局空间特征和局部空间特征;
将各训练样本的样本特征输入至初始的神经网络模型中,得到各训练样本对应的预测行进位置信息;
基于各训练样本对应的真实行进位置信息和预测行进位置信息,确定训练损失;
若训练损失不满足训练结束条件,则对神经网络模型的模型参数进行调整,并基于各训练样本对模型继续进行训练,直至得到满足训练结束条件的神经网络模型,基于满足训练结束条件的神经网络模型得到路径预测模型。
同样的,与第一位置信息相对应,上述样本位置信息包括样本虚拟对象的至少一个样本位置,样本特征包括至少一个样本位置信息中各位置对应的全局空间特征和局部空间特征。样本位置信息对应的真实行进位置信息是样本特征对应的标注标签,是与第二位置信息相对应的样本信息,也就是样本虚拟对象真实的未来一个或多个时刻的位置信息,该位置信息可以是位置,也可以是位置偏移。
在基于大量训练样本对应的样本特征和真实行进位置信息对神经网络模型进行训练时,可以将各训练样本对应的样本特征输入到模型中,通过模型得到各训练样本对应的预测行进位置信息,通过计算各训练样本对应的预测行进位置信息和真实行进位置信息之间的差异,可以得到训练损失,并基于该训练损失来判断模型是否满足需求即是否满足训练结束条件,如果不满足则对模型的模型参数进行调整,并重复训练过程,直至得到满足条件的模型。可选的,可以将满足条件的模型作为上述路径预测模型,也可以采用测试数据集对该模型测试,如果满足预设的测试条件,则将该模型作为路径预测模型,如果不满足测试条件,可以对模型再次进行训练,直至得到满足训练结束条件和测试条件的路径预测模型。
对于模型的训练损失函数的形式本申请实施例不做限定,理论上只要是能够计算模型预测出各训练样本的行进位置信息和真实的行进位置信息之间的差异即可。
本申请实施例提供的数据处理方法,新颖的提出了通过获取鸟瞰图特征和环状射线检测特征的方式,来得到能够很好的表达目标虚拟对象所处环境的空间特征的两种不同维度的特征,基于这两种特征能够快速、准确地实现对目标虚拟对象将来所在位置的预测。该方法可以应用于任何需要对虚拟对象在虚拟场景中的位置进行预测的应用场景中,比如,在游戏场景中,可以指导游戏玩家在游戏中驾驶载具,也可以辅助游戏AI自动驾驶载具等。
为了更加系统的说明和理解本申请提供的方案,下面结合一个具体的应用场景对本申请的一种可选实施例进行说明。该可选实施例中以将本申请实施例提供的方法应用于赛车类游戏为例进行说明,虚拟场景是游戏场景,目标虚拟对象可以是任一游戏玩家在游戏中的虚拟载具(以赛车为例),基于本申请实施例提供的数据处理方法,可以根据赛车的所处的位置规划赛车在接下来几秒的移动路径(即第二位置信息),基于规划的移动路径,可以辅助游戏AI对玩家的赛车进行自动驾驶,也可以辅助玩家完成困难赛道。
图5中示出了本申请实施例所适用的一种数据处理系统的结构示意图,如图5中所示,该系统可以包括游戏服务器10和用户终端20,用户终端20可以通过网络30与游戏服务器10通信,用户终端20上可以运行有游戏客户端,游戏玩家可以通过该游戏客户端参与游戏,对游戏中自己的赛车进行控制。可选的,游戏客户端中可以显示有“自动驾驶”控件或“辅助驾驶”控件中的至少一个,如果玩家点击“自动驾驶”控件,可以由游戏AI自动驾驶赛车,即根据预测出的第二位置信息控制赛车的移动,如果玩家点击“辅助驾驶”控件,可以为玩家提供驾驶指引信息,如将第二位置信息对应的预测位置通过用户客户端展示给玩家。当然,游戏客户端还可以提供游戏学习模式,玩家如果通过该模式来学习游戏的玩法,还可以在该模式下基于本申请实施例提供的方法来指导玩家对赛车的驾驶。
该可选实施例中,第二位置信息以4个位置偏移为例进行说明,这4个位置偏移是赛车未来4秒(相对于当前位置对应的时刻而言)的位置相对于当前位置的偏移。
图6中示出了该可选实施例中提供的一种数据处理方法的流程示意图,如图6所示,该可选实施例中提供的该方法可以包括以下步骤S61至步骤S64,下面结合图5和图6对该方法进行说明。
步骤S61:训练得到路径预测模型。
该步骤是基于训练样本对神经网络模型进行训练,以得到满足需求的路径预测模型。其中,该步骤可以是由游戏服务器执行,也可以由其他计算机设备执行,可选的,该步骤可以由训练服务器执行,该训练服务器可以是云服务器,也可以是其他类型的设备。
对于训练样本的获取,可以通过收集游戏玩家的真实游戏数据得到。可选的,可以录制一些游戏对局,在录制过程中,可以通过游戏接口获取游戏中赛车的位置,并获取各位置对应的鸟瞰图特征(即全局空间特征)和环状射线检测特征(即局部空间特征),基于获取的这些信息可以构建得到大量的训练样本。在游戏中,通常会包含多个游戏地图,为了获取到更丰富的训练样本,以提升训练出的模型的鲁棒性,可以对游戏场景中的每个地图都进行样本的构建,比如,可以针对每个游戏地图分别录制10局游戏,并在录制过程中记录赛车的位置,获取每个位置对应的两种特征。
在实际实施时,为了防止训练样本太多冗余造成训练出的模型过拟合(模型的性能不够理想),在通过录制游戏获取游戏数据时,可以按照一定的采样频率对游戏中赛车的位置和对应的两种特征进行获取,比如,采样频率为1秒,可以每隔1秒获取1次赛车的位置和该位置对应的鸟瞰图特征和环状射线检测特征。该可选实施例中,以一个样本位置信息包括3个位置为例,这3个位置是一个位置(作为当前位置)以及该位置之前的2个历史位置,对于该位置,可以根据该位置的后4秒的真实位置,计算这4秒对应的真实位置偏移,将这4秒对应的真实位置偏移作为该位置对应的真实行进位置信息,采用该方式,可以构建得到多个训练样本,每个训练样本包括3个位置对应的样本特征(即鸟瞰图特征和环状射线检测特征)以及4个位置偏移。对于每个位置对应的鸟瞰图特征和环状射线检测特征,可以采用射线检测的方式获取。
对于鸟瞰图特征,可以通过游戏接口获取玩家控制的赛车在大地图的坐标(x,y,z)即位置,其中,x和z对应水平面的坐标,y对应高度坐标,可以以(x,y,z)为中心,生成大小为50×50×50的正方体(假设赛车的长度为1(一个单位长度),设置50的原因是该范围基本能包含赛车在几秒内通过的区域,为了避免数据计算量过大,提高数据处理效率,射线检测的数量不能过多,所以可以重点检测几秒内会通过的实际赛道区域),正方体的朝向和赛车的朝向相同,可以将正方体分成5×5×5的网格,每个网格内由上向下发射射线,如图2中所示的示意图,每个网格内的射线的起点为网格的上平面的中心,终点为网格的下平面的中心。从上向下发射射线的目的是为了检测赛车所处的游戏场景中赛道的可行区域。
通过射线检测可以得到每个网格对应的可行区域检测结果,如果从上到下的射线检测到障碍物,说明该网格存在可行区域,则对应网格的特征值设置为1,否则设置为0。这样设计的原因是为了抽象赛车所处的空间结构,通过划分网格可以限制射线的数量,防止射线过多影响游戏性能。通过统计各网格对应的特征值,可以得到一个包括125个特征值的向量,可以将这125个特征值拉成一个125维的特征向量,将该特征向量作为一个位置对应的全局空间特征,也就是鸟瞰图特征,该特征向量的每一维对应一个网格空间是否有可行的区域,该特征对赛车所处的空间特征进行了抽象,在低维度的情况下仍能较好地描述赛车所处的全局环境。而划分网格的处理方式可以减少射线的数量,防止计算量过大。鸟瞰图特征主要提取车辆(即上述赛车)附近区域(实际赛道)从上到下的射线检测特征,重点关注整体的环境特征,而环状射线检测特征是用于捕获车辆附近水平面的特征,可以更加直观地说明障碍物和车辆在各个不同的水平方向上的距离。相比鸟瞰图特征获取可行区域,环状射线检测特征获取的是车辆与障碍物之间的距离,两种特征可以很好的相互补充。
对于每个位置对应的环状射线检测特征的获取,可以通过游戏接口获取车辆的位置和朝向,以车辆所在位置为中心,发射多条水平方向的射线,可以以车辆朝向方向发射一条基准射线,顺时针每偏移设定度数(如10度)发射一条射线,一共发射36条射线,射线检测的最长距离(即设定长度)为50(即50个单位长度,假设赛车的长度为1,设置50的原因是该范围能包含车辆在几秒内通过的区域),如果射线与障碍物发生碰撞,计算该方向车辆与障碍物的距离并记录,如果没有碰撞,则将该方向对应的距离设置为50。得到最终特征(即上述各方向对应的距离)后,将其进行归一化处理,可以统一除以50,使最大值不超过1,最终得到一个36维的特征向量,也就一个位置对应的环状射线检测特征。
作为一个示例,图7中示出了一种该场景实施例中环状射线检测特征获取的示意图,为了方便演示,该示例中将射线的数量设置为了4条,相邻射线的角度间隔为90度,该示例中,车辆的朝向为图7中向上的方向,车辆左侧和右侧的射线检测到了障碍物,返回障碍物距离车辆的距离(实际返回的可以是障碍物的位置,以根据障碍物的位置计算出车辆与障碍物的距离),上下两条射线没有检测到障碍,对应的值设置为50。
得到各位置对应的鸟瞰图特征和环状射线检测特征,可以基于同一赛车连续3秒的位置对应的这两种特征得到一个训练样本对应的样本特征,再通过获取这连续3秒的位置中最新位置(可以称为当前车辆的坐标)的后4秒对应的位置偏移,即可得到一个训练样本。对于后4秒对应的位置偏移,可以分别采用后4秒的位置减去当前车辆的坐标得到,例如,1秒后的位置偏移L_1可以是1秒后的位置坐标减去当前车辆的位置坐标,计算公式可以表示如下:
L_1=(x_1-x_0,y_1-y_0,z_1-z_0)
其中,x_1,y_1,z_1分别代表1秒后车辆的x坐标、y坐标和z坐标,x_0,y_0,z_0分别代表车辆当前的x坐标、y坐标和z坐标。
采样上述同样的方式,可以得到上述后4秒对应的位置偏移,如图8中所示,可以采用L_1,L_2,L_3和L_4分别来表示后1秒、后2秒、后3秒、后4秒的位置偏移,这4秒对应的位置偏移则是一个训练样本对应的真实行进位置信息,也就是训练模型时的标签。
通过上述方式构建得到多个训练样本之后,则可以基于这些训练样本对初始的神经网络模型进行训练,得到满足需求的路径预测模型。
作为一个可选方案,图9中示出了本申请实施例提供的一种神经网络模型的结构示意图,如图9所示,该模型可以包括8个全连接层和6个归一化层,图9中的全连接层对应的数字为全连接层输出的特征的维度,比如,全连接层:256,表示该全连接层输出的特征的维度为256,该模型结构中的两个分支分别用于对每个训练样本对应的鸟瞰图特征和环状射线检测特征进行深度特征(通过深度神经网络提取到的特征)的提取,归一化层用于对全连接层输出的特征进行归一化处理,通过归一化处理可以将所有的数据映射到同一尺度,即让全连接层输出的特征中的每个特征值都能够发挥作用,对于归一化层的归一化处理方式本申请实施例不做限定,比如可以采用均值方差归一化(如将每个特征值归一化到均值为0,方差为1分布上),也可以采用最值归一化(如将每个特征值归一化到一个[0,1]范围的值)。
该可选实施例中,每个训练样本的样本特征包括3个位置对应的(也就是3秒)对应的鸟瞰图特征和环状射线检测特征、以及4个真实的位置偏移。将鸟瞰图特征表示为a0,将环状射线检测特征表示为b0,以每个位置对应的鸟瞰图特征为125维的特征,环状射线检测特征为36维的特征为例,则a0为125维的向量,b0为36维的向量。由于车辆的路径规划(也就是位置信息的预测,即规划赛车在将来的几秒内到达的位置)与车辆的速度相关,而鸟瞰图特征和环状射线检测特征重在捕获空间信息,没有包含时序信息,为了获取时序信息,对于每种特征,可以将3秒对应的该种特征串联,以鸟瞰图特征为例,可以将3秒对应的鸟瞰图特征按照时序先后串联,得到的特征表达式如下:
a=[a-2,a-1,a0]
其中,式中右边三个特征a-2、a-1、a0分别对应上述3秒特征中2秒前、1秒前和当前的鸟瞰图特征,通过将三者串联,获取到了速度相关的特征。同理,可以通过串联不同时刻的环状射线检测特征,得到串联后的特征。最终每个训练样本对应的输入到模型的鸟瞰图特征的特征维度为375(图9中的375×1鸟瞰图特征),环状射线检测特征的维度为108(图9中的108×1的环状射线特征)。
通过将上述串联后的两种特征作为轻量化深度模型(图9中所示的模型)的输入,预测得到后4秒的位置偏移。可选的,在对模型训练时,构建得到的所有训练样本中,可以选取80%的样本用于训练,余下的样本用于模型的验证,以得到满足训练结束条件和预设的验证条件的路径预测模型。采用轻量化模型的目的是降低模型的计算量,可以防止其降低游戏性能。
具体的,在采用训练样本对模型进行训练时,可以将每个训练样本对应的上述375维的特征向量输入至模型的一个分支,将上述108维的特征向量输入至模型的另一分支,通过两个分支提取得到的特征可以通过串联层(即特征拼接层)进行特征串联(即拼接),串联后的特征可以通过图9中所示的最后的两个全连接层进行进一步特征处理,输出一个12维的特征向量,该特征向量是通过模型预测得到的赛车未来4秒对应的位置偏移即坐标偏移,可以基于模型预测出的4秒的坐标偏移和这4秒的真实的位置偏移(即真实行进位置信息)计算模型的训练损失。
训练模型的目标是让模型预测的坐标偏移与真实的坐标偏移尽量相似,可选的,一个训练样本的训练损失L可以采用以下表达式计算得到:
其中,xt,yt,zt分别代表t秒后真实的坐标偏移,xt',yt',zt'代表预测得到的t秒后的坐标偏移。
通过计算所有训练样本对应的训练损失得到模型的训练损失,如将所有训练样本对应的训练损失之和或均值作为模型的训练损失,如果该损失不满足训练结束条件(如模型收敛),可以通过梯度后向传递的方式优化模型参数,并基于各训练样本迭代训练模型,直至模型收敛。可以将满足训练结束条件时的模型作为路径预测模型。
训练得到满足需求的路径预测模型之后,可以将该模型部署到游戏服务器中,在游戏过程中,游戏服务器通过执行本申请实施例提供的数据处理方法,可以预测赛车未来4秒的位置偏移,可以基于预测出的位置偏移指引或控制赛车的移动,具体可以通过以下步骤S62至步骤S64实现。
步骤S62:获取赛车的位置。
步骤S63:基于赛车的位置预测赛车未来的位置信息。
步骤S64:根据预测的位置信息控制或指导赛车的移动。
如图5中所示,玩家在游戏过程中,用户终端20可以通过游戏接口获取赛车的位置,可选的,可以按照1秒的采样频率获取赛车在游戏场景中的位置,并通过发射射线的方式获取各位置对应的鸟瞰图特征和环状射线检测特征(图5中所示的特征),用户终端20可以将获取的位置和两种特征(图5中所示的位置+特征)通过网络30发送给游戏服务器10,游戏服务器10可以基于赛车的当前位置对应的两种特征以及当前位置之前的前2秒的历史位置对应的两种特征,预测赛车在后4秒的位置偏移(即第二位置信息)。游戏服务器10可以将预测出的位置偏移通过网络30发送给用户终端20,用户终端20可以基于接收到的位置偏移引导或控制赛车的移动。
具体的,可以将赛车的3个位置对应的鸟瞰图特征按照时序信息拼接成一个375维的特征向量,将赛车的3个位置对应的环状射线检测特征按照时序信息拼接成一个108维的特征向量,基于拼接后的两个特征向量,通过调用训练好的路径预测模型预测得到赛车在未来4秒的位置偏移。
可选的,在实际实施时,可以每2秒进行一次位置偏移的预测,可以基于预测出的最新位置偏移来控制或指导赛车移动,比如,可以基于预测出的位置指导玩家完成赛车在赛道中的移动,还可以是进行游戏AI陪玩。
基于与图1中所示的方法相同的原理,本申请实施例还提供了一种数据处理装置,如图10中所示,该数据处理装置100可以包括位置信息获取模块110、特征获取模块120和路径规划模块130。
位置信息获取模块110,用于获取目标虚拟对象在虚拟场景中的第一位置信息,第一位置信息包括目标对象经过的至少一个位置,至少一个位置包括当前位置;
特征获取模块120,用于获取虚拟场景中第一位置信息中各位置对应的全局空间特征,以及获取虚拟场景中第一位置信息中各位置周边的局部空间特征;
路径规划模块130,用于根据第一位置信息中各位置对应的全局空间特征和局部空间特征,确定目标虚拟对象在虚拟场景中的第二位置信息。
可选的,上述至少一个位置还包括当前位置对应的至少一个历史位置;路径规划模块可以用于:
按照第一位置信息中各位置的时序关系,将各位置对应的全局空间特征拼接,将各位置对应的局部空间特征拼接;
根据拼接后的全局空间特征和拼接后的局部空间特征,确定目标虚拟对象在虚拟场景中的第二位置信息。
可选的,对于上述第一位置信息中的每个位置,该位置对应的全局空间特征是由第一特征提取模块通过以下方式获取到的:
对该位置对应的目标三维空间进行可行区域检测,得到该位置对应的可行区域检测结果,其中,目标三维空间是虚拟场景中以该位置为中心的设定范围的三维空间;
根据该位置对应的可行区域检测结果,得到该位置对应的全局空间特征。
可选的,第一特征提取模块可以是上述特征获取模块。
可选的,第一特征提取模块在对该位置对应的目标三维空间进行可行区域检测,得到该位置对应的可行区域检测结果时用于:
将该位置对应的目标三维空间划分为至少两个子空间;对至少两个子空间的各子空间分别进行可行区域检测;基于各子空间对应的可行区域检测结果,得到该位置对应的可行区域检测结果,其中,一个子空间对应的可行区域检测结果表征了该可行空间存在可行区域或不存在可行区域。
可选的,第一特征提取模块在对至少两个子空间的各子空间分别进行可行区域检测时,可以用于:
对于每个子空间,通过在该子空间中发射由上至下的射线对该子空间进行障碍物检测;对于每个子空间,根据该子空间的障碍物检测结果,确定该子空间对应的可行区域检测结果;其中,若一个子空间的障碍物检测结果表征存在障碍物,该子空间对应的可行区域检测结果表征该子空间中存在可行区域。
可选的,对于上述第一位置信息中的每个位置,该位置周边的局部空间特征是由第二特征提取模块通过以下方式获取到的:
对该位置的周向进行障碍物检测,得到该位置的周向的障碍物检测结果;
根据该位置的周向的障碍物检测结果,确定该位置周边的局部空间特征。
可选的,第二特征提取模块可以是上述特征获取模块。
可选的,第二特征提取模块在对该位置的周向进行障碍物检测,得到该位置的周向的障碍物检测结果时,可用于:
以该位置为起始点,通过向该位置周向的至少一个指定方向发射设定长度的射线进行障碍物检测,得到每个指定方向的障碍物检测结果;其中,至少一个指定方向包括目标虚拟对象的行进方向,该位置的周向的障碍物检测结果包括各指定方向的障碍物检测结果。
可选的,第二特征提取模块在根据该位置的周向的障碍物检测结果,确定该位置周边的局部空间特征时,可以用于:
对于每个指定方向,若该指定方向的障碍物检测结果表征存在障碍物,则根据该指定方向的障碍物检测结果,确定该位置与该指定方向上的障碍物之间的距离,若该指定方向的障碍物检测结果表征不存在障碍物,则将设定长度作为该位置与该指定方向上的障碍物之间的距离;基于各指定方向对应的距离,确定该位置周边的局部空间特征。
可选的,路径规划模块在根据第一位置信息中各位置对应的全局空间特征和局部空间特征,确定目标虚拟对象在虚拟场景中的第二位置信息时,可以用于:
基于第一位置信息中各位置对应的全局空间特征和局部空间特征,通过调用训练好的路径预测模型执行以下操作得到第二位置信息:
对各位置对应的全局空间特征进行特征提取,得到第一特征,对各位置对应的局部空间特征进行特征提取,得到第二特征;
将第一特征和第二特征融合,基于融合后的特征预测得到第二位置信息。
可选的,路径预测模型是通过以下方式训练得到的:
获取多个训练样本,训练样本包括样本位置信息对应的样本特征以及对应的真实行进位置信息,样本特征包括样本位置信息对应的全局空间特征和局部空间特征;
将各训练样本的样本特征输入至初始的神经网络模型中,得到各训练样本对应的预测行进位置信息;
基于各训练样本对应的真实行进位置信息和预测行进位置信息,确定训练损失;
若训练损失不满足训练结束条件,则对神经网络模型的模型参数进行调整,并基于各训练样本对模型继续进行训练,直至得到满足训练结束条件的神经网络模型,基于满足训练结束条件的神经网络模型得到路径预测模型。
可选的,路径预测模型包括第一特征提取网络、第二特征提取网络、以及分别与第一特征提取网络和第二特征提取网络级联的位置信息预测网络,第一特征提取网络和第二特征提取模块分别包括级联的至少一个特征提取模块,特征提取模块包括级联的全连接层和归一化层,位置信息预测网络包括依次级联的特征拼接层和至少一个全连接层;
路径规划模块在通过路径预测模型得到上述第一特征和第二特征时可以用于:将各位置对应的全局空间特征拼接后输入第一特征提取网络,通过第一特征提取网络提取得到第一特征;将各位置对应的局部空间特征拼接后输入第二特征提取网络,通过第二特征提取网络提取得到第二特征;
路径规划模块在通过路径预测模型得到上述第二位置信息时可以用于:通过特征拼接层对第一特征和第二特征进行拼接;基于拼接后的特征,通过至少一个全连接层预测得到第二位置信息。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
可以理解的是,本申请实施例提供的数据处理装置100可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该装置可以是一个应用软件/程序插件,计算机设备通过运行该软件或者程序插件可以用于执行本申请实施例提供的数据处理方法中的相应步骤。
需要说明的是,作为一可选方式,本申请提供的上述装置100可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的该装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的数据处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
作为另一可选方式,本发明提供的该数据处理装置100可以采用软件方式实现,可以是程序和插件等形式的软件,并包括一系列的模块,如上述位置信息获取模块110、特征获取模块120和路径规划模块130,这些模块用于实现本申请实施例提供的方法。其中,用于实现本申请实施例提供的方法的软件可以运行于任意电子设备中,该设备通过运行该软件实现对虚拟场景中虚拟对象可能移动至的位置的预测。
本申请实施例还提供了一种电子设备,该电子设备可以包括至少一个存储器和至少一个处理器,其中,存储器中存储有计算机程序,处理器可以运行该计算机程序,处理器在运行该计算机程序时,可以实现本申请任一可选实施例中所提供的方法。
作为一可选实施例,图11中示出了本申请实施例所适用的一种电子设备的结构示意图,如图11所示,该电子设备4000可以包括处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,在实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码(计算机程序),并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码/计算机程序,以实现本申请前述方法实施例中所示的内容。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
基于与本申请实施例提供的方法相同的原理,本申请实施例还提供了一种本计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述本申请任一可选实施例中提供的方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
获取目标虚拟对象在虚拟场景中的第一位置信息,所述第一位置信息包括所述目标对象经过的至少一个位置,所述至少一个位置包括当前位置;
获取所述虚拟场景中所述第一位置信息中各位置对应的全局空间特征、以及获取所述虚拟场景中所述第一位置信息中各位置周边的局部空间特征;
根据所述第一位置信息中各位置对应的全局空间特征和局部空间特征,确定所述目标虚拟对象在所述虚拟场景中的第二位置信息。
2.根据权利要求1所述的方法,其特征在于,所述至少一个位置还包括所述当前位置对应的至少一个历史位置;
所述根据所述第一位置信息中各位置对应的全局空间特征和局部空间特征,确定所述目标虚拟对象在所述虚拟场景中的第二位置信息,包括:
按照所述第一位置信息中各位置的时序关系,将所述各位置对应的全局空间特征拼接,将所述各位置对应的局部空间特征拼接;
根据拼接后的全局空间特征和拼接后的局部空间特征,确定所述目标虚拟对象在所述虚拟场景中的第二位置信息。
3.根据权利要求1或2所述的方法,其特征在于,对于所述第一位置信息中的每个位置,该位置对应的全局空间特征是通过以下方式获取到的:
对该位置对应的目标三维空间进行可行区域检测,得到该位置对应的可行区域检测结果,其中,所述目标三维空间是所述虚拟场景中以该位置为中心的设定范围的三维空间;
根据该位置对应的可行区域检测结果,得到该位置对应的全局空间特征。
4.根据权利要求3所述的方法,其特征在于,所述对该位置对应的目标三维空间进行可行区域检测,得到该位置对应的可行区域检测结果,包括:
将该位置对应的目标三维空间划分为至少两个子空间;
对所述至少两个子空间的各子空间分别进行可行区域检测;
基于各所述子空间对应的可行区域检测结果,得到该位置对应的可行区域检测结果,其中,一个子空间对应的可行区域检测结果表征了该可行空间存在可行区域或不存在可行区域。
5.根据权利要求4所述的方法,其特征在于,所述对所述至少两个子空间的各子空间分别进行可行区域检测,包括:
对于每个所述子空间,通过在该子空间中发射由上至下的射线对该子空间进行障碍物检测;
对于每个所述子空间,根据该子空间的障碍物检测结果,确定该子空间对应的可行区域检测结果;
其中,若一个子空间的障碍物检测结果表征存在障碍物,该子空间对应的可行区域检测结果表征该子空间中存在可行区域。
6.根据权利要求1或2所述的方法,其特征在于,对于所述第一位置信息中的每个位置,该位置周边的局部空间特征是通过以下方式获取到的:
对该位置的周向进行障碍物检测,得到该位置的周向的障碍物检测结果;
根据该位置的周向的障碍物检测结果,确定该位置周边的局部空间特征。
7.根据权利要求6所述的方法,其特征在于,所述对该位置的周向进行障碍物检测,得到该位置的周向的障碍物检测结果,包括:
以该位置为起始点,通过向该位置周向的至少一个指定方向发射设定长度的射线进行障碍物检测,得到每个所述指定方向的障碍物检测结果;
其中,所述至少一个指定方向包括所述目标虚拟对象的行进方向,该位置的周向的障碍物检测结果包括各所述指定方向的障碍物检测结果。
8.根据权利要求7所述的方法,其特征在于,所述根据该位置的周向的障碍物检测结果,确定该位置周边的局部空间特征,包括:
对于每个所述指定方向,若该指定方向的障碍物检测结果表征存在障碍物,则根据该指定方向的障碍物检测结果,确定该位置与该指定方向上的障碍物之间的距离,若该指定方向的障碍物检测结果表征不存在障碍物,则将所述设定长度作为该位置与该指定方向上的障碍物之间的距离;
基于各所述指定方向对应的距离,确定该位置周边的局部空间特征。
9.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一位置信息中各位置对应的全局空间特征和局部空间特征,确定所述目标虚拟对象在所述虚拟场景中的第二位置信息,包括:
基于所述第一位置信息中各位置对应的全局空间特征和局部空间特征,通过调用训练好的路径预测模型执行以下操作得到所述第二位置信息:
对所述各位置对应的全局空间特征进行特征提取,得到第一特征,对所述各位置对应的局部空间特征进行特征提取,得到第二特征;
将所述第一特征和所述第二特征融合,基于融合后的特征预测得到所述第二位置信息。
10.根据权利要求9所述的方法,其特征在于,所述路径预测模型是通过以下方式训练得到的:
获取多个训练样本,所述训练样本包括样本位置信息对应的样本特征以及对应的真实行进位置信息,所述样本特征包括所述样本位置信息对应的全局空间特征和局部空间特征;
将各所述训练样本的样本特征输入至初始的神经网络模型中,得到各所述训练样本对应的预测行进位置信息;
基于各所述训练样本对应的真实行进位置信息和预测行进位置信息,确定训练损失;
若所述训练损失不满足训练结束条件,则对所述神经网络模型的模型参数进行调整,并基于各所述训练样本对模型继续进行训练,直至得到满足所述训练结束条件的神经网络模型,基于满足所述训练结束条件的神经网络模型得到所述路径预测模型。
11.根据权利要求9所述的方法,其特征在于,所述路径预测模型包括第一特征提取网络、第二特征提取网络、以及分别与所述第一特征提取网络和所述第二特征提取网络级联的位置信息预测网络,所述第一特征提取网络和所述第二特征提取模块分别包括级联的至少一个特征提取模块,所述特征提取模块包括级联的全连接层和归一化层,所述位置信息预测网络包括依次级联的特征拼接层和至少一个全连接层;
所述对所述各位置对应的全局空间特征进行特征提取,得到第一特征,对所述各位置对应的局部空间特征进行特征提取,得到第二特征,包括:
将所述各位置对应的全局空间特征拼接后输入所述第一特征提取网络,通过所述第一特征提取网络提取得到第一特征;
将所述各位置对应的局部空间特征拼接后输入所述第二特征提取网络,通过所述第二特征提取网络提取得到第二特征;
所述将所述第一特征和所述第二特征融合,基于融合后的特征预测得到所述第二位置信息,包括:
通过所述特征拼接层对所述第一特征和所述第二特征进行拼接;
基于拼接后的特征,通过所述至少一个全连接层预测得到所述第二位置信息。
12.一种数据处理装置,其特征在于,包括:
位置信息获取模块,用于获取目标虚拟对象在虚拟场景中的第一位置信息,所述第一位置信息包括所述目标对象经过的至少一个位置,所述至少一个位置包括当前位置;
特征获取模块,用于获取所述虚拟场景中所述第一位置信息中各位置对应的全局空间特征,以及获取所述虚拟场景中所述第一位置信息中各位置周边的局部空间特征;
路径规划模块,用于根据所述第一位置信息中各位置对应的全局空间特征和局部空间特征,确定所述目标虚拟对象在所述虚拟场景中的第二位置信息。
13.一种电子设备,其特征在于,包括存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器在运行所述计算机程序时用于执行权利要求1至11中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序在处理器中运行时,所述处理器用于执行权利要求1至11中任一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210023369.9A CN114367110B (zh) | 2022-01-10 | 2022-01-10 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210023369.9A CN114367110B (zh) | 2022-01-10 | 2022-01-10 | 数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114367110A true CN114367110A (zh) | 2022-04-19 |
CN114367110B CN114367110B (zh) | 2023-06-20 |
Family
ID=81143523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210023369.9A Active CN114367110B (zh) | 2022-01-10 | 2022-01-10 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114367110B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115164931A (zh) * | 2022-09-08 | 2022-10-11 | 南开大学 | 一种盲人出行辅助系统、方法及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107816976A (zh) * | 2017-04-25 | 2018-03-20 | 北京图森未来科技有限公司 | 一种接近物体的位置确定方法和装置 |
CN108434740A (zh) * | 2018-03-23 | 2018-08-24 | 腾讯科技(深圳)有限公司 | 一种策略信息确定的方法及装置 |
KR20190031377A (ko) * | 2017-09-15 | 2019-03-26 | 주식회사 비즈모델라인 | 관찰자 시점의 아이템 기반 게임과 연계된 경주 게임 시나리오 생성 방법 |
CN109529338A (zh) * | 2018-11-15 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 对象控制方法、装置、电子设计及计算机可读介质 |
CN109902702A (zh) * | 2018-07-26 | 2019-06-18 | 华为技术有限公司 | 目标检测的方法和装置 |
CN111767843A (zh) * | 2020-06-29 | 2020-10-13 | 北京百度网讯科技有限公司 | 三维位置预测方法、装置、设备以及存储介质 |
CN113244619A (zh) * | 2021-06-23 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
-
2022
- 2022-01-10 CN CN202210023369.9A patent/CN114367110B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107816976A (zh) * | 2017-04-25 | 2018-03-20 | 北京图森未来科技有限公司 | 一种接近物体的位置确定方法和装置 |
KR20190031377A (ko) * | 2017-09-15 | 2019-03-26 | 주식회사 비즈모델라인 | 관찰자 시점의 아이템 기반 게임과 연계된 경주 게임 시나리오 생성 방법 |
CN108434740A (zh) * | 2018-03-23 | 2018-08-24 | 腾讯科技(深圳)有限公司 | 一种策略信息确定的方法及装置 |
CN109902702A (zh) * | 2018-07-26 | 2019-06-18 | 华为技术有限公司 | 目标检测的方法和装置 |
CN109529338A (zh) * | 2018-11-15 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 对象控制方法、装置、电子设计及计算机可读介质 |
CN111767843A (zh) * | 2020-06-29 | 2020-10-13 | 北京百度网讯科技有限公司 | 三维位置预测方法、装置、设备以及存储介质 |
CN113244619A (zh) * | 2021-06-23 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115164931A (zh) * | 2022-09-08 | 2022-10-11 | 南开大学 | 一种盲人出行辅助系统、方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114367110B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114384920B (zh) | 一种基于局部栅格地图实时构建的动态避障方法 | |
US11772654B2 (en) | Occupancy prediction neural networks | |
Laugier et al. | Probabilistic analysis of dynamic scenes and collision risks assessment to improve driving safety | |
CN111316286A (zh) | 轨迹预测方法及装置、存储介质、驾驶系统与车辆 | |
CN105144196A (zh) | 用于计算相机或对象姿态的方法和设备 | |
KR20200108527A (ko) | 심층 강화 학습에 기반한 자율주행 에이전트의 학습 방법 및 시스템 | |
US20230150550A1 (en) | Pedestrian behavior prediction with 3d human keypoints | |
US20210134002A1 (en) | Variational 3d object detection | |
Fu et al. | Trajectory prediction-based local spatio-temporal navigation map for autonomous driving in dynamic highway environments | |
CN112560580A (zh) | 障碍物识别方法、装置、系统、存储介质和电子设备 | |
CN114367110B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
Li et al. | Simulation analysis of a deep reinforcement learning approach for task selection by autonomous material handling vehicles | |
CN113244619B (zh) | 数据处理方法、装置、设备及存储介质 | |
Linder et al. | Towards a robust people tracking framework for service robots in crowded, dynamic environments | |
Zhi et al. | Learning autonomous exploration and mapping with semantic vision | |
Regier et al. | Classifying obstacles and exploiting class information for humanoid navigation through cluttered environments | |
CN111008622B (zh) | 一种图像对象检测方法、装置以及计算机可读存储介质 | |
JP2024019629A (ja) | 予測装置、予測方法、プログラムおよび車両制御システム | |
US11657268B1 (en) | Training neural networks to assign scores | |
Carvalho et al. | Global Localization of Unmanned Ground Vehicles Using Swarm Intelligence and Evolutionary Algorithms | |
CN116910484A (zh) | 轨迹预测方法、装置、电子设备和存储介质 | |
CN116523970A (zh) | 基于二次隐式匹配的动态三维目标跟踪方法及装置 | |
Zhou et al. | Place recognition and navigation of outdoor mobile robots based on random Forest learning with a 3D LiDAR | |
CN116399360A (zh) | 车辆路径规划方法 | |
Chen et al. | Towards bio-inspired place recognition over multiple spatial scales |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40070958 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |