一种行为树驱动虚拟人的控制方法

文档序号:36007323发布日期:2023-11-16 22:52阅读:58来源:国知局
一种行为树驱动虚拟人的控制方法

本发明涉及计算机,具体涉及一种行为树驱动虚拟人的控制方法。


背景技术:

1、现有的行为树算法可以保证虚拟人与用户之间行为逻辑正确,且流畅自然,可以实现虚拟角色的任务分配、行动计划和决策等功能,从而保证虚拟人的行为符合用户预期。但是现有的行为树算法还存在下列技术问题:

2、1.在处理复杂场景时性能可能不足,行为树算法执行速度较慢,难以应对大规模场景的需求;在处理大规模场景时容易出现执行时间过长、内存占用过高等问题,导致系统性能不稳定。

3、2.在算法执行过程中,存在多个节点同时修改状态或者访问共享数据的情况,容易出现竞争和死锁等问题。

4、3.对于多线程环境下的并行化处理支持度较低,缺乏有效的多线程调度和资源管理机制,从而导致系统的可扩展性和稳定性受到影响。

5、4.在行为控制方面,传统方法通常使用固定规则或脚本编程虚拟人的行为,导致行为缺乏灵活性和可扩展性。以往的研究工作试图解决上述问题。例如,在行为控制方面,一些研究采用了状态机、有限状态机等技术,但这些方法需要手动编写和调整大量的规则,非常的麻烦。


技术实现思路

1、针对上述技术问题,本技术方案提供了一种行为树驱动虚拟人的控制方法,通过构建行为节点和逻辑节点,形成层次化的行为树结构来描述虚拟人的行为;可以通过行为树进行多人多事件的控制,引入了cbt执行器和线程池管理技术来解决行为树并行化执行,以及处理过程中出现的死锁或阻塞问题;cbt执行器是基于行为树算法并行化原理设计的,可以在多线程环境下高效地执行行为树;该执行器可以将行为树分解成多个子树并行执行,同时还能够处理节点状态同步和数据共享等问题,从而快速地完成整个行为树的执行;能有效的解决上述问题。

2、本发明通过以下技术方案实现:

3、一种行为树驱动虚拟人的控制方法,通过语音驱动获取用户的语音,将用户描述处理行为过程的语音转化为具有时序信息的事件列表,并通过匹配虚拟人物动作指令构建行为树,目的是再现用户所述场景,供用户在整个过程中能够看到所描述的虚拟人场景;具体的步骤包括:

4、步骤1:构建节点,包括虚拟人行为节点与逻辑节点;

5、步骤2:从驱动获取用户输入的语音;

6、步骤3:对于获取的语音对其进行识别;

7、步骤4:处理文本信息,构建事件列表;

8、将文本分为主体、对象、行为三个要素;主体表示动作的执行者,对象可以是位置或物体;建立四个词库z、x、w、s用于存储主体称谓、行为、位置信息和时间;

9、步骤5:根据事件列表中得到的结果,构建事件集合;事件集合的公式为:

10、ai=n(z,x,w,s)

11、其中i∈[1,n],n表示事件总数;引入parallel、mutex、semaphore节点类型以支持并发操作,根据事件发生的先后顺序,将事件添加到行为树的逻辑节点中;若事件中的s不能被忽略且s=1,则表示虚拟人的当前动作与另一个虚拟人的动作同时发生,则使用parallel节点;

12、步骤6:构建行为树执行器cbtengine;具体的操作方式为:

13、初始化cbtengine,并创建线程池;cbtengine预先创建一定数量的线程,并为每个行为树创建一个运行时实例;扫描所有行为树的任务队列,若队列中有任务,则将任务分配给空闲的线程进行执行;执行过程中,cbtengine会检查其它可能并发运行的行为树任务;若需要,会使用mutex和semaphore节点来确保互斥和同步操作的正确执行;同时,cbtengine还具备异常恢复机制,能够处理行为树任务执行中的错误情况,并及时通知相关操作;

14、步骤7:根据行为树执行器完成对虚拟人的控制。

15、进一步的,步骤1所述的行为节点包括转向、抓取、跑、走、抬等相关的行为;虚拟人逻辑节点控制行为节点是否被激活,对虚拟人的行为节点和逻辑节点分层形成树状结构。

16、进一步的,所述步骤3的具体的操作方法为:

17、步骤3.1:对获取的语音进行信号处理与特征提取;

18、步骤3.2:选择声学模型,对其进行训练;

19、步骤3.3:在声学模型给出发音序列之后,语言模型从候选的文字序列中找出概率最大的字符串序列;根据字典找到对应的汉字词或单词;

20、步骤3.4:使用解码器寻找词序列;在声学模型、字典和语言模型等知识源组成的搜索空间中,通过一定的搜索算法,寻找使概率最大的词序列,最后输出文本。

21、进一步的,步骤3.1所述的信号处理与特征提取的操作方式为:使用whisper模型处理,获取语音进行预处理,输入音频被分成30秒的块,转换成梅尔声谱图,进行特征提取,然后传递到编码器。

22、进一步的,所述步骤3.2的具体操作方式为:编码器的输出使用归一化层进行归一化,解码器被训练来预测相应的文本,并与特殊标记混合,标记指导模型转为文字。

23、进一步的,所述步骤4的具体操作方式为:

24、步骤4.1:遍历整句话,搜索该句子中的主体称谓,并与z主体的称谓词库进行匹配,将匹配到的结果标记为z;

25、步骤4.2:搜索行为,采用与步骤4.1相同的方式来搜索句子中的行为,并将其与行为词库x进行匹配,将匹配到的结果标记为x;

26、步骤4.3:搜索对象位置信息,检索非主体的称谓时,该位置信息为动态信息,需要在每次调用时进行更新;如果是静态位置信息,则将其与位置信息词库w进行匹配,并将搜索到的位置信息属性标记为w;

27、步骤4.4:搜索时间,判断该句子中是否包含时间词库中的词;如果有匹配到的结果,则将其与时间词库s中的信息进行匹配,并将匹配到的结果标记为s;否则不进行处理。

28、有益效果

29、本发明提出的一种基于改进深度残差收缩网络的轴承故障诊断方法,与现有技术相比较,其具有以下有益效果:

30、(1)本技术方案通过语音识别技术,由语音驱动获取用户的语音,将用户描述处理行为过程的语音转化为具有时序信息的事件列表,用户可以自然地描述所需交互的场景,而不需要手动编写复杂控制指令,从而降低了用户的学习成本和操作难度。

31、(2)本技术方案通过构建不同类型的节点如顺序节点、选择节点、并行节点等,通过构建行为节点和逻辑节点,形成层次化的行为树结构来描述虚拟人的行为,定义虚拟人的行为规则和逻辑;这些节点可以根据任务的优先级和依赖关系进行组织,从而实现复杂的行为策略。

32、(3)本技术方案引入并行计算实现行为树的高效执行,解决行为树算法执行速度较慢的问题;通过行为树进行多人多事件的控制,引入cbt执行器来实现行为树的并行化执行,对于节点状态同步进行处理;cbt执行器是基于行为树算法并行化原理设计的,可以在多线程环境下高效地执行行为树。该执行器可以将行为树分解成多个子树并行执行,同时还能够处理节点状态同步和数据共享等问题,从而快速地完成整个行为树的执行,从而保证可靠性和稳定性。还引入线程池管理技术来有效地管理并发线程,从而保证可靠性和稳定性,解决多个节点同时修改状态或者访问共享数据出现竞争和死锁的问题。

33、(4)本技术方案通过匹配虚拟人物动作指令构建行为树,目的是再现用户描述的场景,供用户在整个过程中能够看到所描述的虚拟人场景,使用户提升体验感与沉浸感。利用语音驱动来获取用户语音,然后利用语音识别算法,行为树算法等技术来再现虚拟场景。

34、(5)本技术方案通过生成行为树,将构建好的节点和事件列表组合起来,形成一棵完整的行为树。该行为树将指导虚拟人在交互环境中执行相应的行为,并根据外部事件和条件进行动态调整和更新。还可以通过使用不同的技术和算法来扩展和改进,提高其性能和效果,例如通过引入状态管理机制,行为树执行器可以跟踪和管理虚拟人的状态,以便更好地控制和调整行为。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1