System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种操作序列生成方法,特别涉及一种物体运动序列引导的操作序列生成方法与系统。本专利技术可用于虚拟现实/增强现实中对周围物体的虚拟操作内容生成,也可以用于动画、游戏等数字内容制作与ai辅助编辑,同样也可应用于智能机器人操作策略生成领域。
技术介绍
1、人类在日常活动中存在大量与周围物体进行交互的场景,通过对目标物体的抓取/移动/翻转等操作进而完成具有特定意图的任务。无论在机器人操作领域、还是在混合现实数字内容
,以及智能动画生成领域都有给定目标物体运动生成合理拟人的抓取与操作序列生成任务需求。目前这些操作序列生成方法的虽然可以完成一些特定任务,但复杂度高、双手抓取容易发生碰撞、工作效率低下,通用性差,用于混合现实、动画视频等数字内容的制作难度高。
技术实现思路
1、针对目前这些操作序列生成方法复杂度高、双手抓取容易发生碰撞、工作效率低下,通用性差的问题,提出了一种物体运动序列引导的操作序列生成方法与系统,本专利技术主要涉及用户给定被操作物体运动序列,生成该物体运动序列下对应的双手操作序列。本专利技术通过物体运动序列以及双手与物体接触标识为驱动信息,采用扩散模型多阶段实现双手操作序列生成,先基于给定信息生成初始帧抓取姿态,再以此为基础生成完整的双手操作序列。
2、本专利技术的技术方案为:
3、一种物体运动序列引导的操作序列生成方法,利用给定的目标物体位姿序列,生成符合人类操作行为习惯的双手类人灵巧手操作序列;模块包括物体三维模型库模块、物体运
4、步骤1.训练初始抓取姿态生成模块,计算给定的双手掌骨尺寸作为手部特征,手部模型采用mano人手模型表示,基于物体mesh网格顶点组成的序列点云,利用bps进行特征编码,并与物体位姿序列、手物接触标识、双手掌骨尺寸特征并联后作为条件特征向量;
5、步骤2.训练双手操作序列生成模块,物体三维形状信息基于给定的被操作物体的运动序列中的姿态变化,将不同姿态的物体形状采用bps进行编码、并结合手物接触标识向量与物体位姿序列构成条件向量,固定训练集中操作序列初始帧,仅预测除初始帧之外的剩余双手操作序列;
6、步骤3.上述两网络模块经训练后,利用本方法流程范式可以实现给定物体运动序列下的双手操作序列生成,最终获得了一条满物体运动序列的双手操作序列。
7、进一步的,具体的操作序列生成方法如下:
8、步骤1.训练初始抓取姿态生成模块,计算给定的双手掌骨尺寸作为手部特征,手部模型采用mano人手模型表示,基于物体mesh网格顶点组成的序列点云,利用bps进行特征编码,并与物体位姿序列、手物接触标识、双手掌骨尺寸特征并联后作为条件特征向量;该扩散模型网络训练损失项包括,状态编码的l1范数作为损失函数lx,lx可以表示为:
9、
10、其中xi表示双手操作序列状态编码向量真值、表示双手操作序列状态编码向量预测值;
11、以及手部关节到物体表面最近点xobj与手部关节到物体表面距离dobj的向量和应为手指关节位置xp,由此关系设置物体表面点偏移损失ixyz表示为:
12、
13、其中α1表示该损失函数项的权重系数;
14、由于双手操作序列的状态编码为关节位置,为了增加手部关节的协调性,增加手指骨骼长度约束lsk:
15、
16、其中α2表示该损失函数项的权重系数;
17、其中表示手部关节坐标,i表示手指关节序列中的一个关节索引下标;表示预测的关节表示的该骨骼的长度,skgt表示对应测试集中对应的手指骨骼长度的真实值;
18、步骤2.训练双手操作序列生成模块,物体三维形状信息基于给定的被操作物体的运动序列中的姿态变化,将不同姿态的物体形状采用bps进行编码、并结合手物接触标识向量与物体位姿序列构成条件向量,固定训练集中操作序列初始帧,仅预测除初始帧之外的剩余双手操作序列;相关损失函数与上一模块相同;
19、步骤3.上述两网络模块经训练后,利用本专利技术流程范式可以实现给定物体运动序列下的双手操作序列生成,具体流程范式如下:
20、步骤3.1,选定被操作物体三维模型,设定手物接触标识信息序列;
21、步骤3.2,给定物体位姿序列,并进行人工编辑调整,设定初始帧下手腕朝向;
22、步骤3.3,基于给定的初始物体位姿、物体三维形状、初始帧手物接触标识信息、双手手腕朝向、手指骨架向量,经初始抓取姿态生成模块批量获得右手抓取物体的操作序列初始帧;
23、步骤3.4,从批量生成的操作序列初始帧中,选择一帧作为该模块的输出;
24、步骤3.5,基于已知的物体三维形状信息、给定的被操作物体位姿序列、给定的手物接触标识信息以及经操作序列初始帧生成模块获得的操作序列初始帧,采用条件扩散模型批量生成双手操作序列;
25、步骤3.6,从批量生成的双手操作序列中,选择一操作序列作为该模块的输出;
26、步骤3.7,步骤3.5、3.6输出的双手操作序列以手指关节位置序列表示,手指关节位置经逆运动学ik变换,获得各手指的旋转角度、手腕相对于物体中心的位置以及手腕全局姿态即手腕位姿,再结合物体位置信息可以获得全局坐标下的手腕运动序列;
27、步骤3.8,固定手腕运动序列、根据手部模型顶点到点云距离,物体点云到手部模型顶点距离,以及mano人手模型中各手指子模型顶点到物体点云距离信息,采用梯度法,进一步优化mano模型的手指旋转角度;利用mano模型的可微性特点,基于输出的手部姿态与待抓取物体之间的符号距离参数,手部姿态包含手腕位姿以及各手指旋转角度,对输出的手部姿态的各手指旋转角度进一步的优化;选择无名指、中指、食指以及大拇指内侧区域顶点作为手部与物体接触区域,计算相应区域顶点与物体顶点间距离,通过梯度优化该距离使之趋近于零;同时还需满足手部所有顶点应处于物体mesh表面外侧,同时也是物体mesh顶点应处于手部mesh表面外侧;
28、需要指出的是,后处理优化模块仅优化手指第一、第二关节,手腕位姿与末端关节在优化过程中保持固定;总优化损失包含接触损失项与穿模损失项,接触损失函数lf为:
29、lf=∑mind(pf,pobj),f∈{食指,中指,无名指,大拇指}
30、其中pf表示选中的手指接触区域mesh顶点,pobj表示物体mesh顶点,该损失函数表示各手指接触区域顶点与物体表面顶点的距离最小值的和;穿模本文档来自技高网...
【技术保护点】
1.一种物体运动序列引导的操作序列生成方法,其特征在于,利用给定的目标物体位姿序列,生成符合人类操作行为习惯的双手类人灵巧手操作序列;模块包括物体三维模型库模块、物体运动序列编辑模块、初始抓取姿态生成模块、初始帧抓取姿态筛选模块、物体序列引导的双手操作序列生成模块、双手操作序列筛选模块、后处理优化模块;首先,给定被操作物体三维模型,用户基于任务需求编辑设定物体空间运动序列,基于物体形状生成初始抓取姿态,选择合适的初始抓取姿态,联合物体运动序列批量生成双手操作序列,用户选择合适的双手操作序列,最后再利用物体形状和手部模型间的空间距离采用梯度法进一步优化;
2.根据权利要求1所述的物体运动序列引导的操作序列生成方法,其特征在于,具体的操作序列生成方法如下:
3.一种物体运动序列引导的操作序列生成系统,其特征在于,用于实施如权利要求1或2中任一所述的物体运动序列引导的操作序列生成方法,包括物体三维模型库模块、物体运动序列编辑模块、初始抓取姿态生成模块、初始帧抓取姿态筛选模块、物体序列引导的双手操作序列生成模块、双手操作序列筛选模块、后处理优化模块;各模块主要功能
...【技术特征摘要】
1.一种物体运动序列引导的操作序列生成方法,其特征在于,利用给定的目标物体位姿序列,生成符合人类操作行为习惯的双手类人灵巧手操作序列;模块包括物体三维模型库模块、物体运动序列编辑模块、初始抓取姿态生成模块、初始帧抓取姿态筛选模块、物体序列引导的双手操作序列生成模块、双手操作序列筛选模块、后处理优化模块;首先,给定被操作物体三维模型,用户基于任务需求编辑设定物体空间运动序列,基于物体形状生成初始抓取姿态,选择合适的初始抓取姿态,联合物体运动序列批量生成双手操作序列,用户选择合适的双手操作序列,最后...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。