基于模块分段线性模型的光学运动捕捉数据处理方法

文档序号:6480996阅读:147来源:国知局
专利名称:基于模块分段线性模型的光学运动捕捉数据处理方法
技术领域
本发明涉及光学人体运动捕捉散乱数据处理,特别是基于模块分段线性模型的光学运动 捕捉数据处理方法。
背景技术
伴随着CG产业的飞速发展,运动捕捉技术(Motion Capture) R趋成熟,巳经成为目甜 广泛使用的能够真实地再现运动物体运动细节的技术。该技术正越来越多的应用于影视、动 画、游戏、体育训练、医疗、机械制造、机器人控制中。人体运动捕捉从原理上可以分为 机械式、声学式、电磁式和光学式。光学运动捕获是较为精确的一种,在人体关键点(一般 选取关节点)贴上一些特制的标志点(称为"Marker"),视觉系统将识别和处理这些标志。系 统定标后,由几组摄相机连续拍摄表演者的动作,并将图像序列保存下来,然后再进行分析 和处理,识别其中的标志点,并计算其在每一瞬间的空间位置,进而得到其运动轨迹。为了 得到准确的运动轨迹,拍摄速率一般要达到每秒60帧以上。光学运动捕捉系统的关键技术有 三方面摄像机标定、标记点跟踪和二i佳重建技术。
利用光学式捕捉的原始运动数据有以下四个特点①采集到的信息仅有Marker点的三 维坐标信息,数据以散乱无序(没有被标定)的形式存在;②由于标记点被道具、四肢、躯 干或者其他标记点遮挡,存在缺失点数据,时常缺失点会连续缺失③由于摄像延迟会出现 噪声点;④运动员在做剧烈的运动时,Marker点相对于人体会出现位移,从而改变了运动数 据之间的拓扑结构。因此数据后续处理运算复杂度较大,如何剔除噪声点弥补缺失点对运动 数据进行有序标定并满足实时性要求是光学运动散乱数据处理的核心内容。
木发明提出基于模块的分段线性模型,有效地解决了仅用传统的刚体匹配方法和前后帧 之间的局部联系所造成的失配和误差累积I、。J题。本发明利用运动数据全局信息,在跟踪匹配 过程中自动调整误差参数,在处理过程中无需手工干预自动完成,并且单帧数据处理耗时满 足运动捕捉的实时性要求。

发明内容
本发明的目的在于提出了一种用于被动式光学人体运动捕捉数据方法,该方法通过建 立刚体模块的分段线性模型,探索运动数据的全局规律,引用归纳总结方法学,动态地对运 动数据进行描述,提高运动数据跟踪的精度。使得在处理过稃中无需手工干预,并且单帧数 据处理耗时满足运动捕捉的实时性要求。本发明的技术方案是首先建立人体生理结构分块模型,提出基于模块的去噪算法,对噪
声数据进行预处理。然后通过建立刚体模块的分段线性模型,利用噪声数据的统计信息,动态 地对运动数据进行描述,利用有效的统计信息进行基于模块的分段线性数据处理。最后对运动 数据进行校验,输出标定完整的运动数据,演示动画效果。附图l所示为本发明算法流程图, 其具体包括以下技术环节-
1. 人体运动捕捉标记点的摆放原理与方法
运动捕捉的目的是准确捕捉演员的动作,能够反映出具体的运动细节,并有利于后期的 运动数据处理。因此,寻求一套科学的布点方案很重要。
1.1标记点的摆放原理
为了能够体现出动作的精确性,我们在布点时应该遵循以下三点原则-
(1) 标记点必需覆盖所有需要捕捉的骨骼
(2) 标记点需反映出骨骼的自由度
(3) 标记点需尽可能与骨骼运动一致
为了提高后期运动数据处理的效率,造成缺点现象和避免标记点的错误交换等,我们在 布点时应该遵循以下三点原则
(1) 摆放在不易被遮挡的地方
(2) 标记点间距离大小不一
(3) 相关标记点间形成规则的几何图形 1.2标记点的摆放方法
基于以t原理,本文的标记点摆放方法描述如下
把人体模型为16刚体:头部、上躯干、下躯干、骨盆、左上臂、左前臂、左手、左大腿、
左小腿、左脚、右上臂、右前臂、右手、右大腿、右小腿、右脚,由三十二个标记点描绘,
基本上表达了人体的运动变化。其Marker点标记方式如图2:
2. 人体生理结构分块模型
如图1所示,根据标记点的摆放和人体骨架的连接。我们按照在拓扑结构上相近和在生 理结构上相关的原则,把一些联系比较紧密的骨骼进行组合,如在腰部前后排放四个标记点 组成近等腰梯形,在头部上方排放四个标记点组成近正方形,在手腕和手指部排放四个标记 点组成四边形,肩部两边的标记点和颈部下方前后的两个标记点组成近平行四边形,胸部甜 后的两标记点和颈部下方前后的两个标记点组成近正方形,膝部和同侧的腰部的两个标记点组成三角形,脚踝和脚趾部组成W面体结构。如图3所示,根据人体生理结构把人体骨架拆 分为七大模块。
3. 模块去噪算法
由于表演场地的光照变化和定标相机的延迟,会产生噪声点。噪声点的存在影响Marker 点的跟踪效率和精度,如何合理精确地剔除噪声点,成为光学运动捕捉数据处理的首要任务。 剔除噪声点需要解决一下两个问题(l)在一个产牛噪声点的Marker点的小邻域内有几个点 时,如何选择其中之一作为精确的Marker点? (2)由于运动数据中存在Marker点交叉现象, 因此在一个产生噪声点的Marker点的小邻域内有可能存在其它的Marker点,如何避免剔除 其它Marker点?基于这些考虑,提出模块去噪思想根据上面提到分块模型,从儿何学上考 虑这些模块在运动过程中应该保持一致的几何结构,当一个点存在噪声点时,如果采用噪声 点代替作为需标定的Marker点定会破坏该模块的几何结构,所以说当存在噪卢点时,我们通 过选择能够和模板更加匹配的那个点为待标定的Marker点,其它点删除,以腰部模块为例, 如图4所示。为了避免问题(2)提到的避免剔除其它Marker点的方法是从标记点的摆放和 人体运动特点来看,交叉的方式一般为手部模块和其它模块的交叉,其它模块相互交叉的现 象很少,我们在删除其它幻点时看该模块是否和手部模块相交,如相交看那些幻点是否是手 部模块的组成部分,如果不是就删除,如图5所示。如此两歩操作后去噪算法结束。
需要补充说明的是,上面的模块去噪算法是在各模块得以匹配的情况下进行的,可以在 运动数据的跟踪算法之前进行。当出现模块中缺点而模块上的其它点有噪声点时,在运动数 据预测与跟踪过程中的补点算法完成后再进行上面叙述的模块去噪算法,达到去噪目的。经 过模块去噪算法处理后,剩余数据点一般每帧保持在32个数据点左右,表明大多数噪声点被 剔除。
4. 模块分段线性模型
整体上观察人体运动特征,我们能够得到一些有利于运动数据处理的规律。描述如K:
(1) 人体运动系统由骨、骨连接和骨骼肌通过运动关节组成,运动中各骨骼的长度和形状是 不变的,身体各部分通过关节联系在一起在神经系统的调节和其他系统的配合下相互驱动形 成运动。各关节点有自己的自由度数并且在运动中子节点受动于父节点,也就是人体运动学 原理。利用这一约束原理有助于进行模块匹配和处理算法后期的结构效验。
(2) 在运动过程中,各模块的动作幅度,变化速度不尽相同,有些模块变化不大,有些模块 变化幅度大,在整个过程中呈现一定的规律。如拳击运动、招手运动等,于-部和臂部变化比 较大,且在局部时间内变化向量速度均衡,而其它模块变化不大,同样的有踢腿运动,上楼梯运动和体操等一些复杂的运动。对于这些,分模块归纳统计出不同模块在不同阶段的变化 趋势,对于数据跟踪就有十分重大的意义。
我们以手部模块为例来介绍模块分段线性模型流程图(见图6)及详细歩骤-步骤1:手部模块为基本固定的四边形,我们可以依据四边形的边长和对角线长在运动过程 中不变为约束条件进行形状匹配,把每一帧中这样的模块都找到,如没有不计,说明是缺点 所致。对其四点坐标求平均值,用一个二维数组来记录,横轴表示帧t,纵轴分别表示当甜 帧相对于前一帧在x、 y、 z方向上的偏移量。
歩骤2:以连续的5帧为一个时间段(可根据需求调节,实验结果5帧比较好,在这个段内 运动变化不大),首先检査此5帧数据中是否有明显偏离较大的帧,如有认为是在匹配中的误 配现象,去除之。然后求出剩余帧的平均变化位移,依次求得并保存于数组a中,横轴表示第 几段的编号,纵轴表示变化速度、首帧与末帧的向量和相对于上一时间段的方向改变角度。 歩骤3:从首段丌始,依次比较相邻段的记录,如相似则合并,反之设标志位表示是一趋势 段。相似的条件为(l)变化速度相差小于一定值,(2)运动方向平滑(在实际屮可认为夹角 小于90度)。
歩骤4:如两段能合并,修改数组a,当甜项的横轴不变,纵轴变化的速度改为两段的平均值, 首帧不变,末帧改为后一段的末帧值,由于当前两项合二为一,因此数组后部依次甜移。直 到查询到数组末尾,结束合并查询。
歩骤5:对每一模块进行以上4步处理,最终统计结果可用一张二维表来描述,以便用于运 动数据的预测和跟踪。
本文以一组表演运动数据为例,图7给出对该组表演动作进行模块分段线性算法后得到 的手部(图左)和腰部(图右)模块变化特征结果图,粗线框和细线框相间表示相邻段不相 容的归类情况,从图上观察,分段统计结果基本上能反应出运动数据的空间位置及向量变化 规律。从而可根据各段信息为约束条件进行运动数据预测跟踪。
5.基于模块分段线性模型的运动数据预测与跟踪算法
在进行刚性匹配或是进行基于人体运动学原理的标记点跟踪时,会出现以下问题由于
没有其它约束条件的约束,在进行匹配时为了取得匹配成功会加大误差系数,而且误差系数
一旦设定对于自动匹配的程序来说将不再改变,从而导致可能会有多个匹配结果;山7—.遮挡
等原因'会出现缺点现象,如何合理的补点成为问题。基于模块特征统计算法,会在提高精 度和利用已匹配的统计结果分段拟合出曲线方程,利用曲线方程进行缺点插值将很合理。模 块分段归纳统计算法另一个优势在于,归纳结果是按照分模块进行,我们在进行运动数据预测与跟踪时可以根据模块在时间轴上的变化幅度设定匹配优先度,幅度小者先匹配原则。当 然每帧匹配后要进行结构校验。详细步骤
步骤h调用模块去噪算法,进行运动数据跟踪前的降噪处理。
歩骤2:依据各模块的分段统计信息,按各模块的变化幅度由低到高进行排序。对于每一帧 数据,从变化幅度低的模块开始进行模块匹配(匹配方法是利用几何特征,如连线边长,对 角线长度等特征进行组合匹配),如匹配成功,对运动数据进行标记,并从原始数据中把己标
记的运动数据删除,如匹配失败,转到3。
歩骤3:如没有匹配成功,说明是缺点所致,我们利用当前特征数组段的信息记录数据进行 Newton插值,算出缺点坐标。Newton插值公式的表述
设f (x)在互异的节点x0, xl,…,xn上的函数值为f0, f 1,…,fn,且x0, xl,…,xn都在区间[a, b] 内,则对于区间[a, b]内的一点x对应的Nowton插值函数为<formula>formula see original document page 9</formula>插值函数所得到的结果是模块的中心坐标,记为A,事实上我们要的是模块上各标记点的三维
坐标,从中心坐标还原成各标记点坐标的方法是把上一帧得到匹配的该模块的中心坐标通
过平移到A,平移矩阵为B,那么上一帧该模块上的各标记点通过矩阵B的平移作用后得到的 点坐标即为所求当前模块各标记点的三维坐标。
如果在本数组段的信息记录数据过少(很可能是连续缺点所致),利用Newton插值函数求出 的预测点将误差较大,我们将辅助一些其它的约束条件(模块拆分匹配、动力学约束等)进 行预测跟踪。
歩骤4:当每个模块都得以预测和跟踪后,进行结构校验。结构校验是对匹配或追踪的结果 进行检验,分全局和局部两个方面的检验。全局方面,模版对应结构和关节进行距离检测, 满足距离误差范围的认为跟踪正确,否则认为跟踪错误。局部方面,进行身体左右侧检验, 如双手和双脚的匹配矫正。
本发明与现有技术相比具有以下优点
1、 一般的人体运动数据跟踪匹配方法利用运动数据的拓扑结构和前后帧的局部联 系进行数据处理,但仅仅运用这些局部信息可能会导致运动数据的失配和误差累积,从 而跟踪失败,有时需要手工进行参数调整。本发明在以上两个约束条件下,提出基于模 块的分段线性模型,充分地挖掘运动数据之间的关联信息,探索运动数据的全局规律,引用归纳总结方法学,动态地对运动数据进行描述,从而减少匹配误差,提高匹配效率, 达到数据自动处理,无需人工调整,满足实时性要求。
2、本发明提出基于模块的去噪算法,有效合理地对噪声数据进行预处理,降低了后期数 据跟踪匹配的误差累累积。


图1本发明算法流程图。
图2标记点摆放方法。
图3人体拆分结构图。
图4模块去噪示图1。
图5模块去噪示图2。
图6模块分段线性模型流程图。
图7运动模块分段线性模型算法提取的手部(左)和腰部(右)的分段结果图。 图8系统实现结果,上图是散乱数据下图对应处理数据。
具体实施例方式
下面通过具体的实施方式对本发明的方法做进一步说明。
在一个实施例中,本发明的基于模块分段线性模型的人体运动光学捕捉数据处理是在一 台CPU主频为2.8GHz,内存为1G的计算机上实现,该计算机采用Windows XP操作系统。实 例选取一组体操运动进行验证,运动人体标记点的贴点方式如图2所示,标记点个数为32, 采样频率60fps。
具体实施歩骤为
歩骤l:采集原始数据。原始数据存储格式如下
FRAME1
MK1-26.1368805-37.1172719 47.6289079
MK2-31.98419324.3155763 10.222054
MK3-30.5799854-29.5903648 161.4415529
MK4-34.5172103-18.1700251 145. 7727965
MK5-47.407498 -47.131523 112.9801285
MK6—14.3785219-33.1683169 96.9415495F廳E2
其中FRAMEn表示为第n帧数据
MKm表示第m个特征标记点,随后的三个数分别表示其x, y, z坐标,单位cm。 歩骤2:载入运动数据。
歩骤3:建立人体分块模型。拓扑结构上相近和在生理结构上相关的原则,把人体骨架拆 分为七大模块。并导入模板参数。
歩骤4:数据预处理。根据模块去噪算法对散乱数据进行预处理,处理后数据每帧保持在 和所贴标记点数目大致相同,本专利规定32个标记点。 .
歩骤5:模块分段线性模型。根据模块分段线性模型,分模块归纳统计出不同模块在不向
阶段的变化趋势。最终统计结果可用一张二维表来描述,以便用于运动数据的预测和跟踪。
步骤6:循环所有帧数据,对每帧调用基于模块分段线性模型的运动数据预测与跟踪算法。 该算法在发明专利内容第5节已经详细叙述,此过程可用伪码描述为
NoiseData[] []二I叩utAllDa"La(); Template[]=Input TeraplateData(): FOR i二l to m—nCutFrame
ResultStatistics[][]=Statistics(NoiseData[][]); Resultl[]Ondat印rocess(ResultStatistics[][]); Resultl[]=RectifyData(Resultl[]); ExportData();
步骤7:处理后的运动数据输出,以文件形式输出,数据格式为 FRAME1 -服l -10.32349113.0258412 4.1649591 MK2 -22.1531727 -40.1301094 3.5659MK3 -10.5284472 -36.212643 4.136714 MK4-16.0143771-22.0329356 138.3190033 MK5-19.504206326.92842 96.000171 MK6 -40.5696009-67.622510989.4987225 服7 -14. 6513428-32. 940978397. 0535532
FRAME2
其中FRAMEn表示为第n帧数据,具体帧数和原始数据一样。
MKm表示第m个特征标记点,随后的三个数分别表示其x, y, z坐标,单位國。在本专 利中数据处理后m的最大值固定为32,与原始数据对比对应值不变,变化的是原始数据中每 帧数据可能不为32个。且标记点顺序与模板中标记点顺序一致。
运用本专利所提方法,该系统对不同复杂度的捕捉数据进行处理,处理结果显示准确处 理率根据动作复杂度不同分布在70%-100%之间,如表1所示,对于一般交叉较少运动幅度变 化不是很大的常规数据匹配成功率能达到90%以上,对于运动数据缺点比较多而且运动幅度 很大的运动,成功定标率在80%左右。本算法抗噪能力强,且不存在跟丢现象。且在处理过 程屮6动递归处理,无须手动干预,经测试,对于以每秒60帧采集的散乱数据,单帧数据处 理过程耗时t〈l/60s,每帧处理耗时相近,处理效率能够满足实时性要求。附图8为利用本 文所提算法并经过优化后对一组光学捕捉散乱运动进行数据处理的界面,分别显示散乱数据 和对应的处理结果。
表一各组运动数据实验结果
运动数据总帧数 正确匹配的帧数准确定标率
慢走30029799%
快跑29026090%
弯腰25023092%跳远 270 220 82%
踢腿 300 270 90%
跳绳 280 221 78%
跳绳 280 221 78%
权利要求
1、基于模块分段线性模型的光学运动捕捉数据处理方法,其特征在于,包括如下步骤(一)建立人体几何模型和确立人体标记点摆放方式,导入人体模型和参数;(二)建立人体生理结构分块模型。导入人体生理结构分块模型参数;(三)构造模块去噪算法。对散乱数据进行噪声预处理,合理剔出噪声数据,保证无差错处理后的数据个数据点个数在30-34个;(四)建立模块分段线性模型。在运动过程中,各模块的动作幅度,变化速度不尽相同,有些模块变化不大,有些模块变化幅度大,在整个过程中呈现一定的规律。利用噪声数据的统计信息,动态地对运动数据进行描述,得到统计信息表,为后期的数据匹配跟踪处理提供有效的约束条件;(五)基于模块分段线性模型的运动数据预测与跟踪算法。对每帧数据进行基于模块分段线性模型的运动数据处理。基于模块特征统计算法,会在提高精度和利用已匹配的统计结果分段拟合出曲线方程,利用曲线方程进行缺点插值将很合理。模块分段归纳统计算法另一个优势在于,归纳结果是按照分模块进行,我们在进行运动数据预测与跟踪时可以根据模块在时间轴上的变化幅度设定匹配优先度,幅度小者先匹配原则;(六)对每帧跟踪匹配后的运动数据进行结构校验,得到最终的标定数据;(七)将成功标定的运动数据按照读入的格式写入数据文件。
2、 根据权利要求书l所述的基于模块分段线性模型的光学运动捕捉数据处理方法,其特 征在于,所述的歩骤l)中标记点摆放的方法是(1)标记点必需覆盖所有需要捕捉的骨骼;(2)标记点需反映出骨骼的自由度;(3)标记点与骨骼运动一致;(4)摆放在不易被遮挡 的地方;(5)标记点间距离大小不一;(6)相关标记点间形成规则的几何图形。
3、 根据权利要求书1所述的基于模块分段线性模型的光学运动捕捉数据处理方法,其特 征在于,所述的歩骤2)中人体生理结构分块模型的具体描述是按照在拓扑结构上相近和 在生理结构上相关的原则,把一些联系比较紧密的骨骼进行组合,根据人体牛:理结构把人体 骨架拆分为七大模块。
4、 根据权利要求书1所述的基于模块分段线性模型的光学运动捕捉数据处理方法,其特 征在于,所述的歩骤3)中噪声处理具体的方案是当存在噪声点时,通过选择能够和模板 更加匹配的那个点为待标定的Marker点,其它点删除,在删除其它幻点时看该模块是否和手 部模块相交,如相交看那些幻点是否是手部模块的组成部分,如果不是就删除。
5、 根据权利要求书1或4所述的基于模块分段线性模型的光学运动捕捉数据处理方法, 其特征在于,所述的步骤3)中模块去噪算法是在各模块得以匹配的情况下进行的,在运动 数据的跟踪算法之前进行,当出现模块中缺点而模块上的其它点有噪声点时,在运动数据预测 与跟踪过程中的补点算法完成后再进行上面叙述的模块去噪算法。
6、根据权利要求书1所述的基于模块分段线性模型的光学运动捕捉数据处理方法,其 特征在于,所述的步骤4)具体实现步骤为(1)手部模块为基本固定的四边形,我们可以依据四边形的边长和对角线长在运 动过程中不变为约束条件进行形状匹配,把每一帧中这样的模块都找到,如没有不计,说明 是缺点所致。对其四点坐标求平均值,用一个二维数组来记录,横轴表示帧t,纵轴分别表 示当前帧相对于前一帧在x、 y、 z方向上的偏移量;(2) 以连续的5帧为一个时间段,首先检查此5帧数据中是否有明显偏离较大的帧,如 有认为是在匹配中的误配现象,去除之。然后求出剩余帧的平均变化位移,依次求得并保存 于数组a中,横轴表示第几段的编号,纵轴表示变化速度、首帧与末帧的向量和相对于上一时 间段的方向改变角度;(3) 从首段开始,依次比较相邻段的记录,如相似则合并,反之设标志位表示是 一趋势段,相似的条件为(l)变化速度相差小于一定值,(2)运动方向平滑,夹角小于90度;(4) 如两段能合并,修改数组a,当前项的横轴不变,纵轴变化的速度改为两段的平均值,首帧不变,末帧改为后一段的末帧值,由于当前两项合二为一,因此数组后部依次 前移。直到查询到数组末尾,结束合并查询;歩骤4-5)、对每一模块进行以上4歩处理,最终统计结果可用--张二维表来描述,以便用于运动数据的预测和跟踪。
7、根据权利要求书1所述的基于模块分段线性模型的光学运动捕捉数据处理方法,其 特征在于,所述的步骤5)具体实现步骤包括如下(1) 调用模块去噪算法,进行运动数据跟踪前的降噪处理;(2) 依据各模块的分段统计信息,按各模块的变化幅度由低到高进行排序,对于每一 帧数据,从变化幅度低的模块开始进行模块匹配,匹配方法是利用几何特征,如匹配成功, 对运动数据进行标记,并从原始数据中把已标记的运动数据删除,如匹配失败,转到3;(3) 如没有匹配成功,利用当前特征数组段的信息记录数据进行N'ewton插值,插值 函数所得到的结果是模块的中心坐标,记为A,从中心坐标还原成各标记点坐标的方法是-把上一帧得到匹配的该模块的中心坐标通过平移到A,平移矩阵为B,上一帧该模块上的各 标记点通过矩阵B的平移作用后得到的点坐标即为所求当甜模块各标tt点的三维坐标,如 果在本数组段的信息记录数据过少,利用Newton插值函数求出的预测点将误差较大,应 辅助约束条件进行预测跟踪;(4) 当每个模块都得以预测和跟踪后,进行结构校验。结构校验是对匹配或追踪的结 果进行检验,分全局和局部两个方面的检验,全局方面,模版对应结构和关节进行距离检 测,满足距离误差范围的认为跟踪正确,否则认为跟踪错误,局部方面,进行身体左右侧 检验,如双手和双脚的匹配矫正。
全文摘要
本发明公开了基于模块分段线性模型的光学运动捕捉数据处理方法。该方法基于光学人体运动捕捉散乱数据的全局信息,提出基于模块分段线性模型的数据处理算法。利用模块分段线性模型归纳出不同模块的变化特征,从而确定各模块数据的匹配优先级及段内拟合函数,有效地对三维运动数据各模块进行全局性分层次预测和跟踪,并对噪声数据进行基于模块的去噪处理,对缺失运动数据提出基于分段Newton插值拟合算法,进行合理的补缺。该方法经优化后在处理过程中无需人工干预,并能满足实时性要求。
文档编号G06T17/00GK101533528SQ20091001123
公开日2009年9月16日 申请日期2009年4月18日 优先权日2009年4月18日
发明者升 吴, 强 张, 魏小鹏 申请人:大连大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1