利索能及
我要发布
收藏
专利号: 2023109405375
申请人: 淮阴工学院
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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

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

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

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

将文本分为主体、对象、行为三个要素;主体表示动作的执行者,对象是位置或物体;建立四个词库Z、X、W、S用于存储主体称谓、行为、位置信息和时间;其中,Z为主体的称谓词库,X为行为词库,W为位置信息词库,S为表示虚拟人事件的时间词库;

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

其中, ,n表示事件总数; 为事件集合,z为与Z主体的称谓词库

进行匹配得到的匹配结果标记, 为与行为词库X进行匹配得到的匹配结果标记, 为与位置信息词库W进行匹配得到的匹配结果标记,s为与时间词库S中的信息进行匹配得到的匹配结果标记;

引入Parallel、Mutex、Semaphore节点类型以支持并发操作,根据事件发生的先后顺序,将事件添加到行为树的逻辑节点中;若事件中的s不能被忽略且s=1,则表示虚拟人的当前动作与另一个虚拟人的动作同时发生,则使用Parallel节点;具体的操作方式为:步骤5 .1:每句话对应一个事件,根据步骤4中得到的结果,构建事件

,形成一个事件集合Ai,并且设定节点类型;

步骤5.1.1:构建Parallel节点:首先定义Parallel节点的输入参数,包括子节点列表或选择策略;在Parallel节点内部,创建一个计数器,用于跟踪子节点的完成状态;每个子节点都需要在执行完成后向计数器报告,并检查其他子节点的状态;然后根据设定的策略判断是否所有子节点都已完成,若是,则返回成功;若否,则继续等待;

步骤5.1.2:构建Mutex节点:首先定义Mutex节点的输入参数,包括所保护的资源名或标识符;在Mutex节点内部,引入互斥锁机制,确保只有一个虚拟人能够获取到锁;当一个虚拟人尝试获取锁时,如果锁已被占用,则此虚拟人需要等待,直到锁被释放;只有成功获取到锁的虚拟人才能执行与该资源相关的行为;

步骤5.1.3:构建Semaphore节点:首先定义Semaphore节点的输入参数,包括初始计数器值和最大允许并发数;在Semaphore节点内部,维护一个计数器,用于跟踪当前已获取锁的虚拟人数量;当一个虚拟人尝试获取信号量时,如果当前已获取锁的虚拟人数量达到最大并发数,则该虚拟人需要等待,直到有其他虚拟人释放信号量;获取信号量后,虚拟人可以执行与该资源相关的行为,并在完成后释放信号量;

步骤5.2:按照事件发生的先后顺序,将事件添加到行为树的逻辑节点中;如果事件中的s不能被忽略且s=1,表示虚拟人的当前动作与另一个虚拟人的动作同时发生,则为Parallel节点;

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

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

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

2.根据权利要求 1 所述的一种行为树驱动虚拟人的控制方法,其特征在于:步骤1所述的行为节点包括转向、抓取、跑、走、抬相关的行为;虚拟人逻辑节点控制行为节点是否被激活,对虚拟人的行为节点和逻辑节点分层形成树状结构。

3.根据权利要求 1 所述的一种行为树驱动虚拟人的控制方法,其特征在于:所述步骤

3的具体的操作方法为:

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

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

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

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

4.根据权利要求3所述的一种行为树驱动虚拟人的控制方法,其特征在于:步骤3.1所述的信号处理与特征提取的操作方式为:使用Whisper模型处理,获取语音进行预处理,输入音频被分成 30 秒的块,转换成梅尔声谱图,进行特征提取,然后传递到编码器。

5.根据权利要求4所述的一种行为树驱动虚拟人的控制方法,其特征在于:所述步骤

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

6.根据权利要求1所述的一种行为树驱动虚拟人的控制方法,其特征在于:所述步骤4的具体操作方式为:步骤4.1:遍历整句话,搜索该句子中的主体称谓,并与Z主体的称谓词库进行匹配,将匹配到的结果标记为z;

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

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

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