一种增强现实条件下基于dqn的智能体对抗行为实现方法

文档序号:551870 发布日期:2021-05-14 浏览:2次 >En<

阅读说明:本技术 一种增强现实条件下基于dqn的智能体对抗行为实现方法 (DQN-based intelligent confrontation behavior realization method under augmented reality condition ) 是由 陈靖 周俊研 缪远东 于 2021-01-28 设计创作,主要内容包括:本发明提供一种增强现实条件下基于DQN的智能体对抗行为实现方法,利用DQN深度强化学习网络强大的特征提取能力和强化学习决策能力预测各智能体的行为,再将采用训练好的DQN网络获取各个时刻的动作的智能体迁移到增强现实环境中,使生成的虚拟智能体具有更高的智能性,能够解决增强现实游戏中虚拟对抗智能体的行为呆板的问题,具有使虚拟智能体的对抗行为更灵活的效果。(The invention provides an intelligent agent confrontation behavior realization method based on DQN under augmented reality conditions, which is characterized in that the behavior of each intelligent agent is predicted by utilizing the strong feature extraction capability and the reinforcement learning decision capability of a DQN deep reinforcement learning network, and then the intelligent agent which adopts the trained DQN network to acquire the action at each moment is transferred to an augmented reality environment, so that the generated virtual intelligent agent has higher intelligence, the problem that the behavior of the virtual confrontation intelligent agent in an augmented reality game is stiff can be solved, and the confrontation behavior of the virtual intelligent agent is more flexible.)

一种增强现实条件下基于DQN的智能体对抗行为实现方法

技术领域

本发明属于信息技术领域,尤其涉及一种增强现实条件下基于DQN的智能体对抗行为实现方法。

背景技术

随着时代的进步和发展,国内的互联网水平也得到了提升和延展,特别体现在增强现实技术的进步上。用户与虚拟物体(Non Player Character)进行互动是增强现实应用重要的体验内容之一,因此其对NPC的智能化、多样性需求更加迫切。而目前增强现实应用中NPC的行为设计采用的主要方式是状态机和行为树,用户和NPC的各种行为都是预先设计好的,NPC行为都是按一定规则运行的,离真正的智能决策、评估、学习很远,即目前增强现实应用中的AI(Artificial Intelligence)更多的是“人为设定”而非“智能”的。为了使AI更加接近真人,很多应用中引入了动作捕捉和表情捕捉,NPC的行为看起来更加自然,但在算法层面,在NPC的学习思考解决问题等方面并没有更进一步,仅仅是在表现层面上进行了优化。同时,现有NPC的行为通常由状态机和行为树来获取,生成的AI过于呆板,使得人类玩家可以很容易预测NPC行为,很快感到厌倦,不能很好的与人类玩家游戏水平相匹配。

发明内容

为解决增强现实游戏中虚拟对抗智能体的行为不够灵活的问题,本发明提供一种增强现实条件下基于DQN的智能体对抗行为实现方法,能够使虚拟智能体的对抗行为更灵活。

一种增强现实条件下基于DQN的智能体对抗行为实现方法,所述智能体至少分为两个阵营,各智能体采用训练好的DQN网络获取各个时刻的动作,实现对抗;其中,所述DQN网络的训练方法包括以下步骤:

S1:采用激光扫描仪扫描真实场景,获取真实场景对应的三维点云地图,再将所述三维点云地图进行三角网格化后导入三维场景渲染引擎,得到真实场景模型;

S2:将各智能体分布在真实场景模型中,各智能体采用射线检测法分别获取自身所处的周围环境信息;

S3:将各智能体当前时刻对应的周围环境信息、生命值以及当前位置组成状态向量,再将状态向量输入DQN网络中,则DQN网络根据状态向量为每一个智能体下一时刻可能所处的动作生成对应的Q值;

S4:基于e-greedy策略,根据每一个智能体下一时刻可能所处的动作对应的Q值确定各智能体下一时刻的动作;

S5:各智能体执行步骤S4所确定的动作后,分别获取各智能体当前时刻对应的奖励值和生命值,将各智能体当前时刻对应的奖励值叠加到各自所属阵营的奖励总分中;同时,采用梯度下降法更新DQN网络,并判断各智能体的生命值是否大于零,对于生命值大于零的智能体,进入步骤S6;

S6:各生命值大于零的智能体重新获取自身所处的周围环境信息后,再采用更新后的DQN网络重新执行步骤S3~S5,直到任一阵营的智能体的生命值均不大于零;

S7:分别判断各阵营对应的奖励总分是否稳定在设定范围内,若为否,则进入步骤S8;若为是,则当前DQN网络为最终训练好的DQN网络;

S8:重新为各阵营的智能体赋予生命值再次执行步骤S2~S7,直到各阵营对应的奖励总分稳定在设定范围内。

进一步地,步骤S4所述的基于e-greedy策略,根据每一个智能体下一时刻可能所处的动作对应的Q值确定各智能体下一时刻的动作具体为:

生成一个随机数random,再判断所述随机数random是否小于设定值ε,若小于,则每个智能体将自身对应的Q值最大值对应的动作作为下一时刻的动作;若不小于,则每个智能体从自身所有可能的动作中随机选取一个作为下一时刻的动作。

进一步地,若步骤S1中所述三维点云地图进行三角网格化后得到的三维稠密地图的网格数超过设定值,则采用unity3D搭建简化后的虚拟对抗仿真模型作为真实场景模型。

进一步地,步骤S2中所述的各智能体采用射线检测法获取自身所处的周围环境信息具体为:将各智能体分别作为当前智能体执行以下步骤:

在360°全景范围内至少选取三个角度方向,当前智能体采用射线检测法分别感知各个角度方向上是否存在障碍物、己方智能体、对方智能体或者前方是否为地面,其中,不同的障碍物类型、己方智能体、对方智能体以及地面设置有不同的标签;

将当前智能体各角度方向上的环境信息{标签,距离}拼接为周围环境信息,其中,环境信息中的距离表示当前智能体与环境信息中的标签所表征的障碍物、己方智能体、对方智能体或者地面之间的距离。

进一步地,在360°全景范围内选取的角度方向分别为{0,30,50,70,80,85,90,95,100,110,130,150,180,220,270,320}。

进一步地,智能体所处的动作包括三个子状态,三个子状态分别为移动、旋转以及攻击状态,其中,移动的类型包括向后移动、向前移动以及静止,旋转的类型包括向左旋转、向右旋转以及方向不变,攻击状态的类型包括攻击和不攻击,则每一个智能体下一时刻可能所处的动作为3×3×2=18种。

进一步地,步骤S5中各智能体当前时刻对应的奖励值的获取方法为:

若智能体打中对方智能体,则奖励值为1;若智能体打中己方智能体,则奖励值为-1;若智能体生命值不大于零,则奖励值为-0.5;若智能体向前移动,则奖励值为0.01;若智能体碰到障碍物,则奖励值为-0.02。

进一步地,各智能体的初值生命值为100,步骤S5中各智能体当前时刻对应的生命值的获取方法为:

若智能体被其他智能体攻击,生命值减少30。

进一步地,采用多传感器融合跟踪定位算法实时获取人类玩家的六自由度的全局位姿,再将人类玩家的六自由度的全局位姿传递给三维场景渲染引擎中的虚拟相机;同时,将真实摄像机捕获的真实场景视频以及采用训练好的DQN网络获取各个时刻动作的各智能体导入三维场景渲染引擎中虚拟相机的渲染界面,得到智能体与真实环境融合的对抗仿真环境。

有益效果:

本发明提供一种增强现实条件下基于DQN的智能体对抗行为实现方法,利用DQN深度强化学习网络强大的特征提取能力和强化学习决策能力预测各智能体的行为,再将采用训练好的DQN网络获取各个时刻的动作的智能体迁移到增强现实环境中,使生成的虚拟智能体具有更高的智能性,能够解决增强现实游戏中虚拟对抗智能体的行为呆板的问题,具有使虚拟智能体的对抗行为更灵活的效果。

附图说明

图1为本发明实施方式的流程图;

图2为本发明智能坦克训练流程图;

图3为本发明虚拟仿真环境布置图;

图4为本发明智能坦克训练过程图;

图5为本发明真实场景的三维地图;

图6为本发明虚实融合的效果图;

图7为本发明虚实融合的另一个效果图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

为了提高增强现实应用中NPC的智能性,可以采用深度强化学习算法DQN对NPC进行训练,使其具有智能行为。深度强化学习是人工智能领域新兴技术之一,它将深度学习强大的特征提取能力与强化学习的决策能力相结合,实现从感知输入到决策输出的端到端框架,具有较强的学习能力且应用广泛。状态机和行为树生成的AI过于呆板,人类玩家可以很容易预测NPC行为,并很快感到厌倦,相比,DQN算法生成的AI的行为更加灵活,具有较好的与人类玩家游戏水平相匹配。由于深度强化学习需要不断试错,在真实环境中训练成本过高,因此一般在虚拟仿真环境中进行训练,然后再迁移到真实环境中使用。Unity3D是一款广泛使用的专业游戏引擎,可以用于生成增强现实中虚拟物体,使用Unity3D构建仿真模拟环境,并用DQN算法对虚拟物体进行训练,然后再迁移到增强现实环境中,使生成的虚拟物体具有更高的智能性。

具体的,一种增强现实条件下基于DQN的智能体对抗行为实现方法,具体包括以下步骤:

采用多传感器融合跟踪定位算法实时获取人类玩家的六自由度的全局位姿,再将人类玩家的六自由度的全局位姿传递给三维场景渲染引擎中的虚拟相机;同时,将真实摄像机捕获的真实场景视频以及采用训练好的DQN网络获取各个时刻动作的各智能体导入三维场景渲染引擎中虚拟相机的渲染界面,根据真实场景三维稠密地图模型和虚拟智能体的深度关系,调整两者的渲染顺序,并将离线阶段生成的虚拟场景中的三维稠密地图模型纹理信息隐藏,保留其碰撞模型,得到智能体与真实环境融合的对抗仿真环境,以实现对抗,如图6和图7所示;其中,所述智能体至少分为两个阵营,各智能体采用训练好的DQN网络获取各个时刻的动作。

进一步地,如图1所示,所述DQN网络的训练方法包括以下步骤:

S1:采用激光扫描仪扫描真实场景,获取真实场景对应的三维点云地图,再将所述三维点云地图进行三角网格化后导入三维场景渲染引擎,得到真实场景模型,如图5所示。

需要说明的是,离线阶段通过FARO激光扫描仪来离线构建场景的三维稠密地图模型。在扫描实验场景时,该激光扫描仪进行多站点扫描,并将每个站点的地图三维数据转换到以首次扫描站点为原点的坐标系,即三维地图模型坐标系。扫描结束后,FARO激光扫描仪提供了具有大约40M的3D点以及颜色信息的场景RGBD全景图,并使用贪婪投影三角剖分算法将该全景图生成三角稠密地点云图。

此外,如果利用激光扫描仪构建的真实场景三维稠密地图面片数过多,可以用Unity3D构建简化的虚拟对抗仿真模型作为真实场景模型。例如,可以将真实场景中的建筑物、树木等碰撞体用cube搭建,并添加障碍物标签,地面用plan搭建,并添加ground标签,然后在简化后的虚拟仿真环境中训练智能体,如图3所示。也就是说,训练使用的虚拟对抗仿真模型只是真实环境的简化表达,而激光扫描仪构建的三维稠密地图可以完整表达真实环境,实现虚实遮挡、碰撞检测功能。因此训练完成后,在线阶段在Unity中导入训练好的智能体模型和三维稠密地图,并将智能体模型渲染在真实场景即三维稠密地图相应的位置,如图4所示。

S2:将各智能体分布在真实场景模型中,各智能体采用射线检测法分别获取自身所处的周围环境信息。

例如,如图2所示,在unity3D中搭建的虚拟对抗仿真环境中设置有障碍物,包括建筑物、树木等,大部分区域为平地,采用坦克作为智能体,并将智能体分为红蓝双方,同时将红蓝双方坦克分布在场景的两侧,每方有3辆坦克,坦克可以在场景中自由移动并攻击其他坦克。各坦克在360°全景范围内至少选取三个角度方向,如{0,30,50,70,80,85,90,95,100,110,130,150,180,220,270,320},当前坦克采用长度为120的射线分别感知各个角度方向上是否存在障碍物、己方坦克、对方坦克或者前方是否为地面,其中,不同的障碍物类型、己方坦克、对方坦克以及地面设置有不同的标签;将当前坦克各角度方向上的环境信息{标签,距离}拼接为周围环境信息,其中,环境信息中的距离表示当前坦克与环境信息中的标签所表征的障碍物、己方坦克、对方坦克或者地面之间的距离。

进一步地,由于射线检测在某个角度获得的环境信息表示为:{标签,距离},则如果在当前角度检测到相关目标,对应目标的值为由0变为1,并输出目标和智能体之间的距离。

S3:将各智能体当前时刻对应的周围环境信息、生命值以及当前位置组成状态向量,再将状态向量输入DQN网络中,则DQN网络根据状态向量为每一个智能体下一时刻可能所处的动作生成对应的Q值。

需要说明的是,智能体的移动通过向其施加力实现,方向的改变通过左旋和右旋实现,其值设计具体如表1所示。

表1

数值 移动 旋转 攻击
-1 向后 左旋5°
0 静止 方向不变 不攻击
1 向前 右旋5° 攻击

也就是说,智能体所处的动作包括三个子状态,三个子状态分别为移动、旋转以及攻击状态,其中,移动的类型包括向后移动、向前移动以及静止,旋转的类型包括向左旋转、向右旋转以及方向不变,攻击状态的类型包括攻击和不攻击,则每一个智能体下一时刻可能所处的动作为3×3×2=18种,如下一时刻的动作为向后并左旋5°再发出攻击。

S4:基于e-greedy策略,根据每一个智能体下一时刻可能所处的动作对应的Q值确定各智能体下一时刻的动作,具体为:

生成一个随机数random,再判断所述随机数random是否小于设定值ε,其中ε是一个介于0-1之间的数,若小于,则每个智能体将自身对应的Q值最大值对应的动作作为下一时刻的动作;若不小于,则每个智能体从自身所有可能的动作中随机选取一个作为下一时刻的动作。

S5:各智能体执行步骤S4所确定的动作后,分别获取各智能体当前时刻对应的奖励值和生命值,将各智能体当前时刻对应的奖励值叠加到各自所属阵营的奖励总分中;同时,采用梯度下降法更新DQN网络,并判断各智能体的生命值是否大于零,对于生命值大于零的智能体,进入步骤S6。

进一步地,回合开始时,所有的智能体的生命值为100,当智能体被其他智能体攻击时,生命值减少30,当智能体的生命值小于或等于0时,智能体死亡,场景中智能体消失。当场景中任意一个阵营的智能体全部消失时,回合重启。

同时,每个智能体各时刻的奖励设置如表2所示:

表2

坦克 奖励
打中敌方 +1
打中己方 -1
死亡 -0.5
向前移动 +0.01
碰到障碍物 -0.02

也就是说,若智能体打中对方智能体,则奖励值为1;若智能体打中己方智能体,则奖励值为-1;若智能体生命值不大于零,则奖励值为-0.5;若智能体向前移动,则奖励值为0.01;若智能体碰到障碍物,则奖励值为-0.02。

S6:各生命值大于零的智能体重新获取自身所处的周围环境信息后,再采用更新后的DQN网络重新执行步骤S3~S5,直到任一阵营的智能体的生命值均不大于零。

S7:分别判断各阵营对应的奖励总分是否稳定在设定范围内,若为否,则进入步骤S8;若为是,则当前DQN网络为最终训练好的DQN网络。

S8:重新为各阵营的智能体赋予生命值再次执行步骤S2~S7,直到各阵营对应的奖励总分稳定在设定范围内。

需要说明的是,DQN算法的实现使用Python语言进行编写,在VSCode环境下运行,而仿真环境在Unity3D下进行搭建,需要Unity3D和Python进行数据通讯,从而保证程序的正常运行。

例如,回合开始时,在Unity3D场景中对应位置初始化坦克,然后坦克通过射线检测来对周围环境进行感知,再将状态信息(周围环境信息、生命值以及当前位置)和奖励信息发送给python端。通过DQN网络得到坦克的对应动作,动作选择通过ε-greedy策略实现,在选择动作的过程中,产生随机数random,如果random<ε,则选择DQN网络最大Q值所对应的动作,否则随机选择一个动作。然后python端将动作信息发送给unity3D端,控制坦克在场景中进行移动、旋转和射击,从而使得坦克的当前状态改变。重复这个过程,其中回合结束后在Unity3D端重启回合,最后直到回合的奖励值趋于稳定,训练结束。

综上所述,本发明提供的一种增强现实条件下基于DQN的智能体对抗行为实现的方法,其软硬件基本实施过程总结如下:

步骤1:离线阶段首先构建稠密的三维点云地图,并将其三角网格化形成三维稠密地图。其次将三维稠密地图导入三维场景渲染引擎。

步骤2:使用三维渲染引擎中的真实场景模型训练DQN网络。其中,场景逻辑需要包括回合开始、回合结束、以及回合进行中智能体agent和环境的交互,并设计奖励信息。通过给环境中不同属性的目标添加不同的标签,使得agent能够有效地识别周围环境中的目标信息。Python搭建DQN算法框架,三维渲染引擎和Python进行通讯。三维渲染引擎向Python端发送当前agent的状态、奖励以及回合是否完成的信息,Python端接收到信息后,经DQN网络利用ε-greedy策略得到agent的动作,然后发送到三维渲染引擎,三维渲染引擎根据接收到的动作来控制场景中agent,然后再把agent的状态和奖励信息发送给Python端,重复该过程直到回合奖励值趋于稳定,即训练完成。

步骤3:训练完成后,在线阶段导入训练好的agent模型和三维稠密地图,并将agent模型渲染在真实场景相应的位置。同时,为了将虚拟agent渲染在真实场景中,需要将世界坐标系下的虚拟agent目标转换到像素坐标系。

步骤4:采用实时跟踪定位算法实时获取人类玩家的六自由度的全局位姿,并将其传递给三维渲染引擎中的虚拟相机。然后将真实摄像机捕获的视频导入三维渲染引擎的渲染界面,同时将离线阶段生成的虚拟场景中的三维地图模型隐藏,从而形成虚拟agent与真实环境融合的对抗仿真环境。

由此可见,对比已有技术,能够解决增强现实游戏中虚拟对抗智能体的行为呆板的问题,具有使虚拟智能体的对抗行为更灵活的效果。

当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当然可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种障碍物感知方法、装置以及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!