运动捕捉数据有多种格式:ASF/AMC,BVH,C3D等,这三个是比较常用的,一般的matlab实验用的是ASF/AMC,其次就是BVH。
ASF/AMC文件格式是Acclaim Games公司设计开发的,全称是Acclaim Skeleton File/Acclaim Motion Capture data,其中ASF是骨架文件信息,AMC是运动数据信息。分开存储的好处就是一个ASF骨架可以运用到不同的AMC中,而不必要对每个AMC运动数据都写入一个ASF骨架信息,减少了数据冗余。
原始的运动数据文件可以去卡内基梅隆大学的网站去找:http://mocap.cs.cmu.edu/
ASF文件是骨架信息。定义了运动的初始姿态。
#开头的部分是ASF文件的声明部分。
:version 是运动捕获设备的类型
:name 是运动捕获设备的名称
:units 是相关的度量单位的信息,比如"units_length"的值为0.45,表示数据都乘以0.45后存储,且数据的存储单位为英寸
:documentation 是对文档的描述信息
:root 是人体骨架模型根节点的信息,作为根节点,它没有长度和旋转信息。其中,“order”的TX,TY,TZ,RX,RY,RZ是顺序为x轴,y轴,z轴方向上的平移和旋转信 息;“axis”根节点对应的三个旋转轴;“position”是根节点在世界坐标系下的初始位置;“orientation”代表根节点在世界坐标系下的初始位置方向,也就是整体骨架模型的朝向。
:bonedata 包括了人体骨架模型的其它30个节点的信息,每个节点的信息都从“begin”开始到“end”结束。其中,“id”是关节的编号,“那么”是关节的名称。“direction”是该关节在世界坐标系下x轴,y轴,z轴的方向单位向量。“length”是该关节与其父关节之间的骨骼长度。“axis”该节点的局部坐标系相对于世界坐标系的x轴,y轴,z轴的旋转量。“dof”(degree of freedom)是x轴,y轴,z轴的旋转自由度。“limits”是x轴,y轴,z轴的自由度变化范围。
:hierarchy 是人体骨架模型的树状层次关系,每一行的第一个是父节点,后面跟着其子节点。
可以看出ASF文件是给出了AMC运动数据格式的模板,是重用AMC文件的基础。