Motive 2.0.1 User Guide 中
User Manual:
Open the PDF directly: View PDF .
Page Count: 102 [warning: Documents this large are best viewed by clicking the View PDF Link!]
使用说明(中)
OptiTrack 运动捕捉系统
Version 2.0.1
October 2017
目录
3硬件搭建 ............................................................................................................................................. 1
3.1 场地准备 ..................................................................................................................................... 1
3.1.1 室内跟踪 ............................................................................................................................. 1
3.1.2 户外跟踪 ............................................................................................................................. 3
3.2 相机位置 ..................................................................................................................................... 3
3.2.1 规划相机安装位置 ............................................................................................................ 3
3.2.2 通用指南 ............................................................................................................................. 4
3.2.3 相机位置摆放关键 ............................................................................................................ 5
3.2.4 摆放示例 ............................................................................................................................. 6
3.3 相机安装结构............................................................................................................................. 6
3.3.1 相机夹具 ............................................................................................................................. 7
3.3.2 选择安装结构 ..................................................................................................................... 7
3.4 线缆和布线规则 ........................................................................................................................ 9
3.4.1 网口相机系统 ..................................................................................................................... 9
3.4.2 USB 相机系统 .................................................................................................................. 11
3.5 相机角度与对焦 ...................................................................................................................... 13
3.5.1 调整相机角度与对焦 ...................................................................................................... 13
3.5.2 相机辅助按钮 ................................................................................................................... 14
3.5.3 调整相机角度 ................................................................................................................... 14
3.5.4 调节相机焦距 ................................................................................................................... 14
4 Motive 使用说明 ............................................................................................................................ 17
4.1 软件安装 ................................................................................................................................... 17
4.1.1 系统要求 ........................................................................................................................... 17
4.1.2 软件下载 ........................................................................................................................... 17
4.1.3 软件安装 ........................................................................................................................... 18
4.1.4 License 激活 .................................................................................................................... 19
4.2 软件界面 ................................................................................................................................... 21
4.2.1 Calibration Layout ....................................................................................................... 22
4.2.2 Create Layout ................................................................................................................ 23
4.2.3 Capture Layout ............................................................................................................. 24
4.2.4 Edit Layout ..................................................................................................................... 25
4.3 软件功能 ................................................................................................................................... 26
4.3.1 Camera Settings ........................................................................................................... 26
4.3.2 Calibration ...................................................................................................................... 29
4.3.2.1 标定步骤 ....................................................................................................... 30
4.3.2.2 局部标定 ....................................................................................................... 38
4.3.2.3 持续标定 ....................................................................................................... 39
4.3.2.4 标定文件 ....................................................................................................... 41
4.3.3 Assets ............................................................................................................................... 41
4.3.3.1 Markers ........................................................................................................ 42
4.3.3.2 Rigid Bodies ............................................................................................... 45
4.3.3.3 Skeleton ....................................................................................................... 50
4.3.3.4 MarkerSet ................................................................................................... 56
4.3.3.5 Asset 导出 .................................................................................................... 57
4.3.4 Data Recording ............................................................................................................. 58
4.3.5 Data Editing ................................................................................................................... 60
4.3.5.1 各窗口功能介绍 ........................................................................................... 62
4.3.5.2 常见错误类型及处理方法 .......................................................................... 67
4.3.5.3 数据修复流程 ............................................................................................... 71
4.3.6 Data Export .................................................................................................................... 72
4.3.6.1 数据导出:CSV ........................................................................................... 73
4.3.6.2 数据导出:C3D ........................................................................................... 75
4.3.6.3 数据导出:FBX ............................................................................................ 78
4.3.6.4 数据导出:BVH........................................................................................... 81
4.3.6.5 数据导出:TRC ........................................................................................... 83
4.3.6 Data Streaming............................................................................................................. 84
4.3.6.1 NatNet ......................................................................................................... 85
4.3.6.2 VRPN ............................................................................................................ 90
4.3.6.3 Trackd ........................................................................................................... 90
4.3.6.4 传输协议/插件 ............................................................................................. 90
4.3.7 其它常用功能 ................................................................................................................... 92
4.3.7.1 Application Settings ................................................................................ 92
4.3.7.2 Measurement ............................................................................................ 94
1
3硬件搭建
在光学运动捕捉系统中,为有效的利用每一个相机拍摄的图像,合适的相机摆放位置与
角度能够提高跟踪效果与精度。当跟踪标记点时,3D 坐标的重建是基于 2D 图像中系统中
每个相机识别到的标记点得到的。更具体地说,相关 2D 标记点位置呈三角形,计算每个标
记的 3D 位置。因此在目标空间中有多个三角形很有益的,因为它能够在更广泛的角度进行
三角测量算法,从而提高跟踪质量。因此相机适当分布在捕捉区域周围组成一个有效的布局,
这样不但可以提高跟踪精度,不相关的光线以及标记点也会被阻止。
3.1 场地准备
在安装运动捕捉系统之前需要选择合适的场地并准备,以达到最佳跟踪效果。下面介绍
场地准备注意事项。
3.1.1 室内跟踪
3.1.1.1 选择搭建区域
首先选择安装运动捕捉系统的空间。
1) 搭建空间大小
运动捕捉系统搭建空间取决于应用需求、
系统大小、相机位置等因素。需要确保有足够
的空间搭建相机,同时满足应用需求;如果需
要更改系统搭建方式,额外的空间很有必要。
另外,选择有足够高度的空间,在高处位置安装相机,为系统提供更多视角,能提高跟踪效
果。
2
2) 人员活动最少
相机标定之后,捕捉系统应该位置不变,以保证跟踪质量。任何物理上的改变都会造成
相机跟踪效果变差,需要重新标定。为放置这种情况,需要选择人员活动较少的空间。
3) 地板
尽量避免反光的地板,可能会反射相机红外光,干扰跟踪。如果无法避免请尽量遮挡地
板,放置反射。
4) 背景
背景建议为红、黑和非反光的,在深色背景中检测到的 Marker 点能够提供明暗分明的
清晰像素对比,而白色背景可能不够明显。
避免弹性或可变形地板,会影响相机标定质量。
3.1.1.2 减少红外干扰
为获得最佳的跟踪效果,应最大限度的减
少捕捉空间中的红外线干扰。运动捕捉系统通
过检测 Marker 点反射或发射的红外光跟踪
Marker 点,捕捉空间中的红外光干扰会对跟
踪效果产生影响。
- 阳光:避免阳光射入捕捉空间,遮挡住可
3
能造成阳光入射的窗户。阳光包含红外光谱,可能会干扰相机。
- 红外光源:在捕捉空间中去除 IR 波长范围内的光源,例如:白炽灯、卤素灯、高压钠
灯等。
- 反光:去除捕捉空间中的反光物体,或用非反光胶带覆盖反光位置。
所有相机都配有红外滤光片,红外光谱范围之外的光线不会对相机造成干扰。
3.1.1.3 障碍物
在捕捉空间中去除影响相机视线的障碍物,只留下跟踪所需物品,尽量保证捕捉空间空
旷。
3.1.2 户外跟踪
Prime 41 和Prime 17W 相机配备功率更强的红外 LED 灯,可用于户外跟踪。系统设
置和相机位置需要针对用户应用进行设计调整。
3.2 相机位置
理想的相机位置取决于捕获空间的应用。为设计好相机摆放位置与角度,需要对光学运
动捕捉系统的原理有清晰的了解。
3.2.1 规划相机安装位置
要计算 3D 标记点的位置,被跟踪标记点在捕捉系统中必须要同时至少有两台相机(或
者多台,取决于“Reconstruction Settings”)捕获到。当一个标记点被遮挡,没有足够的
相机捕捉的 2D 位置,3D 标记点将不会出现在捕获的数据中。直接导致所有捕获标记点的
轨迹都有缺失,捕捉精度降低。此外还需要更多的时间对捕获数据进行后处理“post-
processing”。因此标记点的清晰程度对捕捉精度有很大影响,相机需要在不同的角度捕获
4
到标记点,以减少遮挡产生的情况。
根据被捕获的运动类型和空间设置,相机合理的架设方式不同。对于需要在低高度的跟
踪标记的应用需求,将一些相机放置较低高度处,聚焦在低处位置。对于较大空间的安装情
况,将相机安装在最高位置四周环绕可以提高相机的覆盖面积和捕获空间。对于较为关注捕
获精度的情况,最好把相机放在靠近物体的位置,这样就可以在图像中有更多的像素,并且
更准确地跟踪他们的位置的微小变化。
重申,运动捕捉应用的目的与功能决定最好的相机布局位置,规划相机的摆放位置与角
度以便充分利用运动捕捉系统的功能。如需咨询,请与我们联系,以找出最佳的相机安排。
3.2.2 通用指南
用于跟踪 3D 位置以及个人、刚体方向的共同应用,将相机放置在捕获空间的外围。这
种设置可以最大限度的提高相机的重叠区域最大限度的减少相机覆盖空间浪费的情况。一般
技巧包括以下:
- 在所需的最大高度的捕获空间安装相机。
- 将相机等距的环绕分布在捕获区域。
- 调整摄像机的角度,朝向捕捉空间中心。
对于拥有矩形视场的相机,将相机横向放置。在非常小的设置区域,相机可以在纵向的
方向,以增加垂直覆盖,但这通常减少相机的重叠,这可以减少标记的连续性和数据质量。
提示:对于大型捕捉空间,将捕捉区域分成多个部分分别进行捕捉,这将有效的减少软
件的计算量
5
3.2.3 相机位置摆放关键
1) 环绕分布在捕捉空间
对于常规应用:捕捉人体或刚体 6自由度(X、Y、Z-位置/方向)数据,在捕捉空间四
周环绕放置相机将十分有利于对物体上任何部位的 Marker 点的跟踪。
2) 相机高度
对于常规的运动捕捉设置,建议将相机放置在同一高度(相机放置在捕捉空间最高处),
这样可以最大化捕获空间,同时可以最小化减小物体碰撞 Truss 结构的几率以免影响标定精
度。此外,相机在较低位置放置,能看到对面相机时,会检测到对面相机的同步红外光,需
要在 2D 视图中 Mask 掉。
此外,在不同高度放置相机也是很有意义的。这样会使从高到低拥有多元化的视角,能
够很简单的覆盖整个捕捉空间。Marker 点丢失的频率将会减少,同时 Marker 点的高度位
置精度也会提高。
下面介绍几种放置方式:
相机周期放置 相机随机放置
相机交替放置
3) 相机到相机间的距离
建议将每个相机等距放置,当相机放置在较近距离时,两个相机捕获到相同的画面用于
6
被追踪物体的计算,多余的图像对于防止跟踪丢失、重建计算用处不大。这种相机放置方式
多相机放置意义不大,同时增加计算量。同时,这也会增加 marker 点发生遮挡的几率,
4) 相机到物体间的距离
相机与物体间理想的距离取决于捕捉的目的,长距离捕捉使得在较大空间中更多的相机
能够覆盖到被捕捉物体;另一方面,短距离测量减少了相机的覆盖范围,但是提高了捕捉精
度。近距离跟踪应用相机镜头焦距可能需要调整。
3.2.4 摆放示例
3.3 相机安装结构
在架设区域安装相机时选择一个合适的相机架设方案时非常重要的。稳定的相机架设方
案不仅防止意外碰撞造成相机损坏,同时可以在采集过程中维持标定质量。所有 OptiTrack
7
的相机都有¼-20 通用螺纹孔(¼英寸直径)适用于行业标准。在安装相机之前,请确认已
经最优化的设计了相机的摆放位置。
3.3.1 相机夹具
相机夹具是用于将相机固定在稳定的安装结构上,例如:
Truss 架、墙上支架、快速轨道、大型三脚架。选择夹具需要
注意一些细节,最重要的一点是,夹具要能够承受相机的重
量。此外,建议使用能够调节 3自由度(pitch, yaw,roll)
的夹具。
每台相机的位置与支撑结构的稳定性对于采集数据的质量很重要,所以建议使用以下安
装结构。
3.3.2 选择安装结构
大范围安装结构,例如:Truss 架/墙上支架,是最稳定的支撑结构,可以覆盖最大的捕
捉范围。采用这些结构使得相机因为支撑结构晃动造成需要重新标定的情况降低。三脚架与
C型夹具更便携、安装简单,可根据需要选配,但是这种支撑结构跟容易受外部因素影响,
会改变校正后相机之间的位置关系。因此,需要根据捕捉的目的、空间大小、环境选择不同
的安装结构。在特殊应用环境中可以选择两种方式互相搭配。
8
选择合适安装方式是准备搭建过程的关键,因此建议您联系我们的工程师规划相机安装
位置。使用夹具、云台固定在 Truss 架上。
1) Truss 架
Truss 架结构坚固,方便规划相机安装位置,可以根据不同的捕获空间选择不同的
架设大小。
安装时需要注意以下步骤︰
- 建立桁架系统请咨询桁架系统供应
商或我们工程师。
- 现场搭建 Truss 架结构请联系
专业团队。。
- 每台相机安装云台、夹具。
- 将夹具固定在 Truss 架上。
- 调整每台相机的角度。
2) 壁挂支架
壁挂支架可以沿搭建空间的墙安装。这种搭建方式很稳
定,并且外界因素干扰的可能性很小。捕获空间的大小
取决于房间大小。注意:墙体或建筑本身全天的环境温
度会有波动,因此需要经常重新标定(建议每天标定一
次)。
安装时需要注意以下步骤︰
- 安全的搭建壁挂支架。
- 每台相机安装云台、夹具。
9
- 将夹具固定在壁挂支架上。
- 调整每台相机的角度。
3) 三角架
三脚架方便携带、易于安装,受环境因素的约束小。针对不同
的应用需求可以选择不同的三脚架。为了确保稳定,每个三脚
架都要安装在坚固的地面 (例如混凝土)。通常,每个相机配
备一个三脚架,但是一个三脚架上可以架设多个相机,但需要
考虑相机重量对三脚架的影响。注意:三脚架不稳定,易受物
理影响。标定后相机的任何移动都会对结果的精度有影响,需要重新进行标定。
3.4 线缆和布线规则
3.4.1 网口相机系统
网口相机系统通过网线连接,基于以太网模式的相机有:Prime 13、13W、17W、41,
Slim 13E。网线可以提供更快数据传输速率,在传输数据的同时可以为每个相机提供供电。
这将减少使用线缆的数量,简化安装过程。此外,网线有更长的传输距离(上限到 100m),
这样系统能够扩展到更大空间。
1) 网络设置
网口相机通过千兆以太网接口与主机连接,注意:摄像机的网络应该独立于本地网络或
办公网络之外,以避免网络堵塞。如果用于采集的计算机连接到现有的网络,然后可以使用
第二个以太网端口或附加网卡连接网络相机。当相机网络不是独立于其他网络时可能会出现
丢帧,或者相机掉线。
注意:关闭计算机特定网络端口的防火墙。
10
2) 以太网线类型
对于网口相机,必须使用 6类或者以上以太网线。如果使用 10Gb 上传交换机,建议使
用Cat6e、Cat6a、Cat7 网线。
3) 网口系统连接
- 必要组件:
上位机
网口相机
网线
PoE/PoE+交换机
上传交换机(多相机设置,大
于12 个)
eSync(可选同步设备)
- 交换机供电
OptiTrack 网口相机需要千兆 PoE/PoE+交换机,交换机有两个功能:将数据传输到主
机,通过网线向每个相机供电(PoE)。交换机每个端口必须同时为每个相机供电。标准
交换机必须同时为每个端口提供 15.4W 的供电。Prime 17W/41 的红外 LED 灯功率更
大,约为 30W,需要提供更大功率的供电以满足使用要求。因此,Prime 17W/41 需
要使用 PoE+交换机,同时为每个端口提供 30W 的供电。PoE 中继设备不适合网口相
机系统。
- eSync
eSync 用于同步网口运动捕捉系统与其他设备的时间码。每套系统可以搭配一台额
Sync 使用。使你的系统能够连接到几乎所有的信号源。eSync 具有多个同步端口,可
11
以整合来自其他设备的外部信号。当使用 eSync 时,可以考虑其作为同步连接中的
Master。
- 上传交换机
如果系统中相机的数量超过交换机端口数量或者供电功率时需要使用上传交换机。在这
种情况下,有大量的数据通过上传交换机传输到主机。为解决高带宽问题,建议使用万
兆上行交换机以及万兆网线(Cat6a,Cat6e 和 Cat7),否则会增加系统延迟、降低帧
率。
3.4.2 USB 相机系统
USB 相机系统提供小范围到中范围高质量的运动捕捉(对比网口系统),价格实惠。USB
相机类型包括 Flex 系列(Flex 3/13)和 Slim 3U。USB 相机供电通过 OptiHub,每套 USB
系统最多允许使用 4个OptiHub。同时使用多个 OptiHub 时使用 RCA 同轴电缆连接多个
12
Hub。USB 2.0 相机使用的数据线传输极限为 5m,因此 USB 系统并不适合大空间安装。
Hub 到主机端可以通过 USB 延长线延长两次。但是,不能在相机到 Hub 端使用 USB 延长
线。不支持使用超过 2跟USB 延长线连接到 USB 3.0 接口上。
USB 系统连接
- 必要组件:
主机
USB 相机
OptiHub
USB 2.0 线缆
USB 2.0 Type A/B 每个 OptiHub 一条
USB 2.0 Type B/mini-b 每个 camera 一条
- OptiHub
OptiHub 设计使用在 USB 系统中,
提供供电与同步。标准 USB 接口不
能为红外 LED 灯提供足够的供电。
需要使用 OptiHub 为LED 阵列供
电。
- USB 负载平衡
当Hub 连接到计算机,负载平衡变得重要。大多数计算机都有几个 USB 端口,所有
都通过两个 USB 控制器。(特别是在较多数目的相机系统) 建议均匀分布相机到每个
Hub 的数目,充分利用可用带宽。
- OptiSync
13
OptiSync 是一个自定义的同步协议,可以通过 USB 电缆发送同步信号。使得每个相
机通过一条 USB 电缆完成数据传输和同步,不需要 RCA 同步电缆。
3.5 相机角度与对焦
为了保证每台相机能够充分的利用起来,需要保证每台相机对焦清晰,并且相机需要覆
盖到捕捉区域。这一章节教书如何调整相机角度与对焦,以获得最好的捕捉效果。一般情况
OptiTrack 相机对焦在无穷远处,这样在相机能在几英尺到无穷远范围内清晰成像。当图像
不清晰(跟踪 Marker 点变形)需要调整相机焦距,这样能够改善图像清晰度以保证跟踪质
量。此操作需要查看相机图像,在此操作之前请先安装软件,参考 4.1.1-4.3.1 操作。
3.5.1 调整相机角度与对焦
1) 确保相机摆放位置符合使用要求;
2) 选择某一相机调节相机角度、对焦;
3) 设置相机图像模式为 Grayscale video mode(在Motive 中),提高曝光时间(EXP)
以获得亮度较好的图像(可以通过相机后面的辅助按钮完成);
4) 将Marker 点放在捕捉区域内,所要调整角度相机的正对角位置;
5) 调整相机角度同时查看显示器中的相机画面,确保所需的捕获空间在相机的覆盖区
域中;
14
6) 参照“Camera Preview”,放大 Marker 点的图像,使其充满画面;
7) 调整相机焦距(细节部分在下面介绍),时图像尽可能的优化;
8) 重复上述操作,调整其他相机。
3.5.2 相机辅助按钮
对于其他动捕系统来说一个人调整相机角度时会比较困难,操作者需要在相机和 PC 之
间往返多次,以查看 2D 视图调整相机角度。但是,OptiTrack 相机背部拥有辅助按钮(Prime
系列),时对准目标更容易。点击按钮,Motive 中图像会自动切换到灰度图像“grayscale
mode”,曝光值(EXP)也会优化,同时画面中会出现虚拟的水平/竖直线辅助调节相机角
度。这个功能简化了使用者的工作量。可以在“Application Settings”设置辅助按键功能。
3.5.3 调整相机角度
所有相机位置摆放好之后,需要调整相机角度,以保证相机尽可能的覆盖捕捉区域。相
机安装在固定结构上,调节相机安装云台角度,相机视场对准捕获区域。
下方展示一侧相机调节角度的示例:
3.5.4 调节相机焦距
所有 OptiTrack 相机都可以在捕捉范围内的任何距离处调节相机镜头焦距,优化图像。
15
相机模式改为原始灰度图像(Raw Grayscale), 调节相机参数:提高曝光(EXP)、LED 亮
度(LED),放大图像到 Marker 点充满视场,查看图像清晰度,然后调节相机镜头焦距,使
标记点清晰成像。下面展示一些例子:
1) Flex 系列
Flex 系列相机使用 M12 镜头,通过旋转镜头调节相机焦距。相机镜头开启曝光以便于
调节相机焦距。
Flex 3 相机,拧松位于相机背部的三个六角螺钉,卸下前面板;Flex 13 相机,拧松六
角螺钉,按住前面板上释放按钮。两个六角螺丝是可选的,卸载之后前面板可以照常使用,
下图所示如何卸载前面板。前面板卸载之后,LED 灯不能显示,需要其他相机提供照明。
2) Prime 13/13W
Prime 13/13W 可以使用自定义对焦工具自由调节镜头焦距,夹在相机相机镜头前面
旋转,不需要打开相机前面板,可能会减少 LED 灯照明亮度,避免手部反射。
16
3) Prime 17W/41
Prime 17W/41 可以手动调节镜头上的对焦环,镜头前面的调节环可以调节光圈大小,
通常将光圈设置到最大。对焦环在镜头后面,调节焦距的同时请查看相机的 2D 灰度图像。
17
4 Motive 使用说明
Motive 是用于控制 OptiTrack 运动捕捉系统的软件平台,在 Motive 中用户可以标定
相机系统,同时处理、捕获 3D 数据,捕获的数据可以通过离线数据、实时数据流的方式传
输到其他软件平台。Motive 通过计算多个 2D 图像中 Marker 点数据,重建出 3D 坐标。
通过被跟踪 Marker 点3D,Motive 可以获得多个刚体\骨骼的 6自由度数据(位置、姿态)。
4.1 软件安装
4.1.1 系统要求
因OptiTrack 相机系统数量不同,所需 PC 的要求也不一样。一般来说,建议使用超过
24 台相机所需的 PC 配置要求。注意:如果要在 Windows 77 系统下适用 Motive 1.9.0 版
本或更新的软件需要更新所有的 Windows Update 内容。
建议
最低要求
OS: Windows 7, 8, 10 (64-bit)
Direct X9
CPU: 3.0 GHz i7 processor
RAM: 16GB of memory
OS: Windows 7, 8, 10 (64-bit)
Direct X9
CPU: 3.0 GHz i5 processor
RAM: 4GB of memory
4.1.2 软件下载
请从以下网址下载 Motive 最新安装包:http://url.cn/41oD6Z6。
注意:Motive:Body 和Motive: Tracker 公用同一个软件安装包,仅 License 权限不
同。
18
4.1.3 软件安装
1) 运行安装包
2) 安装 USB 驱动
第一次安装 Motive 时,会提示安装 OptiTrack USB 驱动(例如:
OptiTrack_USB_Driver_x64)。安装此驱动程序,所有的 OptiTrack USB 设备都需要
安装此驱动程序(包括 Hardware Key)。驱动安装完成之后,继续安装 Motive。
3) 按照安装提示安装 Motive 软件,建议在默认目录中安装 Motive 软件。C:\Program
File\OptiTrack\Motive
4) Motive 周边模块
在安装过程的自定义设置部分,你将被要求选择是否安装配合 Motive 使用的外围设备。
如果您计划配合 Motive 使用力板 (AMTI 和 Bertec)或 NI DAQ 设备,请确保安
装这些设备。如果你不打算使用这些设备,你可以跳到下一步。
外设模块
外部设备,也被称为 OptiTrack 外围模块,包括集成力学平板(AMTI 和Bertec) 和
NI DAQ 设备必要的插件。如果您决定安装外部设备,在安装完 Motive 之后,系统将
会提示您安装 OptiTrack 外设模块以及NI-DAQmx驱动。这可能需要几分钟来安装。
5) 安装完成
这个安装只会安装 Motive,如果需要安装额外插件,请访问下载页面。
19
注意:电脑是否缺少必要的可再发行组件(.NET framework, Direct X, VC runtime),
安装 Motive 时会提示是否安装,请务必安装这些。在安装 Motive 时联网,软件会自动下
载;或者可以下载完安装包自行安装。
4.1.4 License 激活
安装完成 Motive 之后,下一步就是根据提供的 License 注册信息以及 Hardware Key
激活软件。
1) License 类型
有三种不同的 Motive License 类型:Motive: Body,Motive: Tracker,Motive: Edit。
根据你激活使用的 License 类型,Motive 提供不同的功能。Motive: Body License 提供所
有的功能,包括刚体跟踪和骨架跟踪。Motive: Tracker License 只能够跟踪刚体。Motive:
Edit License 只有对捕获的跟踪数据编辑、处理功能。
对不同类型的 Motive License 的详细信息,请查看网站上的对比表。
2) 激活步骤
- 在开始菜单 OptiTrack->License Tool,单
击打开 License Tool。
- 然后按照提供的 License 信息填写,你需要
填写订单发货中的 License Serial Number
/ License Hash 以及 Hardware Key Serial
Number。(必须联网注册激活,注册完成后
可以离线使用)
License serial 和 License hash 即安装包里面卡片上的两行数据。
20
Hardware Key Serial Number 即所用 Hardware Key Logo 上的 6位序列号。
- 激活
下面的三项选填,填完之后点击 Activate 即可进行注册,注册完成之后会弹出如下对
话框提示注册完成。
注意:一定不要输错 Hardware Key Serial Number,在点击 Activation 之前请反复
检查输入的信息是否正确。
3) License 文件
激活完成之后 License 文件会放置在以下文件夹:
C:\ProgramData\OptiTrack\License
也可以通过开始菜单导航到该文件夹:Start Menu → All Programs → OptiTrack →
Motive → OptiTrack License Folder
21
4) License 有效期
软件 License 有效期 为1 年,从最初的激活日期开始,将能够使用到期日期之前发布
任何版本的 Motive。当 License 过期后时,将不能更新使用后续版本的 Motive,但仍然
可以使用 License 到期日期之前的旧版本的 Motive。当您的许可证过期后时,可以购买许
可证的维护,将以较低的成本延长许可证的有效期限。
5) 在不同的电脑上使用已经激活的 Motive
OptiTrack 软件可以在新计算机上使用相同的许可证信息重新激活许可证。重新启动后,
确保输入与以前相同的激活信息。许可证重新激活后,需要将相应的 USB 硬件密钥插入 PC,
以验证和运行软件。
Hardware Key 和License 文件可以在不同的计算机之间移植使用,移植方法很简单,
将注册后生成的 License 文件拷贝到另一台计算机的 License 文件保存处即可,
即:C:\ProgramData\OptiTrack\License
4.2 软件界面
Motive 中布局模式可以自定义,所有窗口都可以在 UI 界
面固定或取消固定。Motive 中UI 的布局可以保存和加载,
允许用户在根据不同的需求在默认设置和自定义设置中更换,
目前 Motive 的UI 布局分为四种:Calibration、Create、
Capture、Edit。
可以通过如下方式切换不同的软件布局。
22
4.2.1 Calibration Layout
Calibration 布局是专门针对相机标定设计的布局方式。
在整个 Calibration 布局上,有以下几个重要窗口,
1) Devices
在Devices 窗口中可以看到链接到系统中的每个相机,同时可以对每个相机参数进行
调整。可调整参数有:FPS、EXP、THR、LED、Gain、Tracking Mode、Reference Mode,
通过这些参数控制相机。
2) Perspective View
在这个窗口内可以查看重建的三维空间,其中包含相机位置、重建的 Marker 点位置、
创建的 Asset 状态等三维信息。
3) Camera View
此窗口中可以查看相机的 2D 画面,相机图像有四种模式可以切换:Precision Mode、
Object Mode、MJPEG Mode、GrayScale Mode,每种模式对应的图像不同。
4) Camera Calibration
23
在这个窗口,进行相机标定、地面标定的设置、操作。
4.2.2 Create Layout
Create 布局主要针对创建资产设计的布局方式。
1) Assets
显示创建的资产信息,包含 Skeleton、Rigid Bodies、Markerset。
2) Properties
显示选中的已创建资产的属性信息。
3) Perspective View
查看重建的三维空间,其中包含相机位置、重建的 Marker 点位置、创建的 Asset 状态
等三维信息。
4) Skeleton
显示预定义 Skeleton 模板,默认设置。
5) Rigid Body
显示刚体的信息,默认设置、六自由度信息、编辑 Pivot Point
24
6) Markersets
显示 Markerset 下各标记点的名称。
4.2.3 Capture Layout
Capture 布局针对数据采集设计的布局方式。
1) Assets
显示创建的资产信息,包含 Skeleton、Rigid Bodies、Markerset。
2) Data
查看数据文件,进行数据处理、导出工作。
3) Perspective View
查看重建的三维空间,其中包含相机位置、重建的 Marker 点位置、创建的 Asset 状态
等三维信息。
4) Properties
显示选中的已创建资产或采集数据的属性信息。
25
4.2.4 Edit Layout
1) Assets
显示创建的资产信息,包含 Skeleton、Rigid Bodies、Markerset。
2) Data
查看数据文件,进行数据处理、导出工作。
3) Perspective View
在这个窗口内可以查看重建的三维空间,其中包含相机位置、重建的 Marker 点位置、
创建的 Asset 状态等三维信息。
4) Graph View
查看多个数据通道,显示数据曲线
5) Labeling
查看 Marker 标签信息
6) Edit Tools
显示编辑工具,包含 Trim Tails、Fill Gaps、Smooth、Swap Fix。
26
7) Properties
显示选中的已创建资产或采集数据的属性信息。
4.3 软件功能
熟悉软件界面之后,下面介绍软件具体使用流程。包含:相机设置、相机标定、资产创
建、数据采集、数据导出、数据传输等内容
4.3.1 Camera Settings
对与光学运动捕捉系统,所有计算结果的基础是图像,只有保证图像能够清晰的捕捉到
每个 Marker 点,且无太多干扰,才能保证重建结果的准确性。在进行相机标定之前,需要
对每个相机的图像进行观察,确保相机图像中没有过多的干扰点,相机图像对焦清晰。下面
介绍相机参数设置以及图像模式切换。
4.3.1.1 相机参数
可在 View 选项卡下点击 Device Pane 打开 Devices
窗口,在 Devices 窗口中,可以对相机参数进行调节。在
Device 中分别可以设置如下参数:FPS、EXP、THR、LED。
FPS(Frame Rate):相机每秒捕获帧数,帧速的最小
\大值取决于相机型号。高帧率有助于每秒钟可以获得更多
数据;低帧率可以设置更高的曝光时间,并且传输数据的
带宽也相应减少,
EXP(Exposure):设置相机每帧的曝光时间,最小\
大值取决于相机型号和帧率,曝光时间越大图像越亮,当然也可能引入干扰点。
27
THR(Threshold):设置相机可以看到
的每个像素的最小亮度,忽略阈值以下的所有像素,不建议更改。
LED(LED Ilumination):设置相机近红外 LED 灯的亮度,根据空间大小调节。
在Device 窗口还有一个比较重要的参数可能需要调节,设置相机的增益(Gain),将增益
调大会使图像变亮,这样在长距离情况下可以提高跟踪范围,但是高增益会在 2D 图像上引
入噪声,因此,建议在改变 LED、EXP 依旧不能看到 Marker 点时再调节这一参数。
以上参数的调节是根据相机图像进行调节,下面介绍相机图像模式与切换方式。相机图
像在确定相机对焦、相机角度、干扰点位置、Marker 点信息等方面有决定性作用。
4.3.1.2 相机图像模式
OptiTrack 系列相机基本有四种图像模式可以选择:Precision Mode、Object Mode、
MJPEG Mode、RawGray Mode。
- Precision Mode
Precision Mode 精确反映相机检测到的 Marker 点发光或反光情况,以像素形式体现,
显示被识别未 Marker 点的像素,然后将图像信息发送到 PC 端,对其进行进一步处理以确
定质心的精确位置。Precision Mode 提供高质量的质心位置,但是很耗费计算资源,只有
在Object Mode 不可用的情况下,推荐在低到中等数量的相机系统中选择 Precision Mode。
可在此模式下查看检测到 Marker 圆度是否足够。
支持相机型号:Prime 系列,Flex 系列、Tracking Bars、S250e、Slim13E。
- Object Mode
28
Object Mode 是跟踪模式,在此模式下相机检测 Marker 点的质心、位置、大小、圆
度,将检测到的 Marker 点拟合成最近似的圆形,然后将每个相机获得的 Marker 点2D 图
像信息发送到主机。在 Object Mode 下最适合获得 3D 数据,CPU 占用空间最小,在保证
高精度的同时实现最低的处理延时。可以在此模式下查看每个相机识别到的 Marker 点,确
定是否存在干扰点。
支持相机型号:Prime 系列,Flex 13、S250e。
- MJPEG Mode
MJPEG Mode 是灰度压缩模式,在相机端完成图像压缩,以获得更高的帧率。MJPEG
Mode 仅用于参考目的,其处理的帧数据不会用于 3D 重建,此模式下相机可以满帧率运
行,且与跟踪相机同步。可在调节相机角度时使用此模式。
支持相机型号:所有相机型号。
- Raw grayscale
Raw grayscale 显示满分辨率未压缩灰度图像,仅用于参考目的,且帧数据不用于 3D
重建。由于发送原始数据量占用带宽过大,此模式下相机以较低帧率运行,且与其他跟踪相
机不完全同步。可以在此模式下查看相机是否对焦,确定具体干扰点。
支持相机型号:所有相机型号。
4.3.1.3 设置相机图像模式
在Device 窗口中,右键点击某一个相
机设置相机模式;同样可以在下方
Properties 窗口切换相机模式。
在2D 相机预览窗口右键点击相机窗口,选择 Video Type。
29
同时可以通过 Device 窗口中 快
速切换相机 Object Mode 与MJPEG Mode。
相机图像模式能够帮助用户判断相机聚焦情
况,调节相机角度,环境中干扰点情况。在开
始使用系统之前应检查相机的图像。
通过 Switch to 3D View Multi-
Camera 2D View 两功能在 Camera Preview 与Perspective View 之间切换。
相机图像旋转,选中某一相机,在Camera Preview 中右键点击该相机图像,选择
Orientation,拖动 Angle 下的滑块,即可旋转相机画面。
4.3.2 Calibration
与其他多相机测量系统类似,光学运动捕捉系统首先要进行标定才能够使用。在 标定过
程中,系统通过捕获的图像计算每个相机的位置、角度、以及畸变。通过标定,Motive 构
建3D 捕获空间。具体来说,通过观察多个同步相机的 2D 图像,关联到通过三角测量得到
的每个相机已知的标定 Marker 的位置。注意,如果标定之后相机有任何变化,需要重新进
行标定。即便外部设置没有改变,随着时间的变化、温度其他环境的波动,标定精度会下降,
建议每天标定一次系统。
30
4.3.2.1 标定步骤
- 准备、优化捕获设置;
- 在相机预览窗口(Camera Preview)中,点击 清除现有的 Mask 区域;
- 打开标定窗口,使用
Mask Visible
去除场地中不能移除的反光物体;
- 采集标定采样点(Wanding);
- 计算、检查标定结果;
- 设置地面。
提示︰ 默认情况下,Motive 启动时显示标定布局,其中包含标定过程必要的窗口。通
过点击右上角图标或使用热键 Ctrl+1,也可以访问此布局。
4.3.2.1.1 准备和优化设置
标定完成之后,整套系统应维持不变,若相机设置被改变需要重新进行标定。为了避免
相机位置变化导致重新标定,标定前优化硬件和软甲设置。首先相机放置在合适的位置以完
全覆盖捕获空间。其次,相机要在捕获过程中保持静止。最后,标定过程中 Motive 软件的
参数设置应保持不变。如果相机设置有重大修改影响数据采集,需要重新标定。例如:
Camera、Gain、Filter Switcher,如果修改这些设置,则建议重新调整系统。
同时,在进行相机标定之前需要对场地进行清理、调节摄像机的参数,尽可能的减少环
境中干扰点的数量,争取做到在没有放标记点的情况下每个摄像机的显示画面中没有干扰
点,即画面中白色的点;放入标志点后,保证每个摄像机的显示画面中都有相应个数的标志
点。
对于去除场内干扰点,一般按照如下步骤进行:
- 若该反光物体可移动,将该物体移出场外;
- 若不能移动,则需调节相机参数,降低曝光、提高阈值或降低 LED。注意:调节时应保
31
证正常标记点可以被捕捉到;
- 若还无法去除,则需使用 Mask Visible 功能。注意:该功能会减少对应相机的捕获区
域。
下面介绍 Mask Visible 功能。
4.3.2.1.2Masking
理想情况下,标定之前应清除所有多余的反射、不必要的 Marker 点。在实际应用情况
中,由于现场环境的影响,会存在一些无法去除的干扰点,此时 Motive 软件会提示相机图
像中存在干扰点,询问是否继续进行标定。对于环境中无法去除反光干扰点,在标定之前一
般使用 Mask 工具进行处理,忽略反光或环境干扰。这个工具会在 2D 图像上看到的反光区
域覆盖红色区域,过滤掉被 Mask 区域的所有信息。在 Calibration 窗口或 Camera Preview
窗口都可以找到 Mask 工具。
Camera Preview 窗口中 Mask 工具从左到右为:自动 Mask、去除 Mask、矩形 Mask、
圆形 Mask、绘图工具。
如果确定要对图像中的干扰区域进行 Mask 处理,请先 Clear Mask,因为上一次 Mask
掉的区域可能会保留下来,为避免 Mask 掉不必要的区域,需先进行 Clear Mask 操作。
注意:
Mask 功能会将 Mask 区域的 2D 数据过滤掉。换句话说,被 Mask 掉的数据不会参与
三维计算,大范围的应用 Mask 功能,会导致 Marker 点丢失,所以使用 Mask 功能之前应
该尽可能移走场地中的反光物体。如果不进行 Mask 功能,干扰点会对计算结果产生影响,
增加计算负担,请谨慎的选择使用 Mask 功能。
Mask 的影响
32
反光
Mask 后
标志点
Mask 区域的
Marker
4.3.2.1.3 标定(Wanding)
使用动捕系统必须要进行标定,或者加载之前的标定文件。标定过程需要手持标定杆在
相机前面挥动,所有相机尽可能的看到标定杆上的三个标记点。通过标定得到的每个相机每
帧的 Samples,计算出每个相机的相对位置关系。不同的标定杆适用于不同的使用环境。
标定步骤:
- 设置标定类型(Calibration Type);
- 在Camera Calibration选项卡选择使用的标
定杆类型(OptiWand);
- 确认设置好之后,点击开始标定(Start
Wanding);
- 在捕捉区域内挥动标定杆,在不同的方向挥
动标定杆,争取覆盖整个捕获空间。无论在哪
开始标定,都需要保证至少两个相机同时看
到标定杆上的三个 Marker 点,Motive 开始
采集 Sample Data。标定的路径会显示在 2D
视图上,方便查看。理想情况,标定杆均匀的分布在整个空间的各处位置。
- 采集足够数量的 Sample 之后, 点击 Calibration 窗口中的计算(Calculate)。
33
标定之后,查看每个相机的 2D 视图,评估每个相机的覆盖情况,每个相机的 Sample
点应该覆盖整个区域,如果差距比较大,重点标定缺少的相机。一般情况,Sample 点计数
建议在 5000-10000 左右。
注意:可以在使用区域内重点标定,这样有利于提高使用范围的精度。
- 选择合适的标定方式:
在Calibration Type 处选择合适的标
定类型:Full、Refine、Visualize。其中 Full
选项是对整套系统重新进行标定,忽略之前
的标定信息,此选项会花费较长时间;
Refine 选项是根据之前的标定结果,对相机
的微小变化进行调整,只有在当前的标定信息能够正确反映相机的位置时,才能采用此功能,
Refine 功能仅适用于在最后依次标定之后没有明显移动相机的情况,相机位置和姿态仅存
在轻微变化。
- 选择合适的标定杆
在此次标定过程中需要用到 T型标定杆,即:CW-500/CWM-250/CWM-125。通常
我们会配备 CW-500 型标定杆,这款标定杆上有两种安装孔(共 6个),分别对应两种尺寸
标定杆,如下图所示:
34
不要将两种安装孔混淆,随意安装标记点,一定要按照类型安装,三个标记为“A”的
安装孔对应 500mm 标定杆,三个标记为“B”的安装孔对应 250mm 标定杆,如果安装出
错,标定过程中,Samples 计数会涨的很慢,或没有计数,此时应该检查标记点是否安装出
错。
要根据标定杆的长度选择相应的
OptiWand 选项,尺寸通常有 250 和
500mm。250mm 的标定杆通常在小体
积或相机镜头有较大的焦距时使用,这
是因为,在标定杆距离相机较近或者由
于镜头的原因,视场角较小的情况下,相
机没办法采集到 500mm 标定杆的所有
三个标记点。
Micro Series 针对的是高精度标定杆,专为中小尺寸空间标定而设计,标定杆本身热膨
胀系数低,每个 Micro 系列标定杆出厂时都会标定、标记精确长度,精确到微米,标准偏
差为 2微米。如果选择 Micro Series 需要在 Wand Length 中输入标记杆上的精确长度(标
记在标定杆上)。
35
- Prime 系列︰LED 指示灯环
对于 Prime 系列相机,LED 指示器环显示标定(Wanding)过程的状态。开始标定之
后,指示灯会变暗,绿色表示被标定杆覆盖到的区域,当采集足够多的 Sample 之后,指示
灯都会变成绿色。蓝色指示灯表示,相机 2D 画面中检测到的标定杆的位置。
4.3.2.1.4 标定结果
标定计算所需时间取决于相机数量、Sample 数量、计算机性能。
Motive 1.10 及以上标定结果可以录制的Take 文件中重新查看。在项目窗口中,选择
Take 文件,相关的标定结果将显示在属性部分。此功能是仅可用于记录动机 1.10 及以上。
在计算过程中可以通过下图所示图像中查看计算状态。
36
标定结果报告
计算完成之后标定结果会弹出,显示详细的标定结果。标定结果直接关系到误差,标定
结果分类 (顺序为从最差到最好)︰ Poor、Fair、Good、Great、Excellent、Exceptional。
如果结果是可以接受的,请点击 Apply 使用结果。
类别
描述
Overall Reprojection
显示 2D/3D 标定结果的投影误差值的总体结果
Worst Camera
显示标定结果中 2D/3D 投影误差最大的相机。
Triangulation
显示标定结果上残余的偏移量,残差越小重建越精确。
建议︰ 建议最大残余的偏移点云重建。
残余的平均误差︰ 平均残差校正。
整体标定误差 Overall Wand Error
显示标定过程中标定杆长度误差值
37
Ray length
每个摄像机建议的最大跟踪距离
标定结果总结(Calibration Summary)
计算完成之后,Motive 中3D 视图窗口会显示相机的相对位置关系。但是,此时仅能
确定相机之间的位置关系,相机与地平面的位置关系不能确定,下一步是进行地平面标定,
确定相机与地平面的位置关系。
4.3.2.1.5 坐标系与坐标原点
标定的最后一步是设置地平面,需要使用
L型标定杆,将标定杆放置在使用空间中,设
置Motive 中空间的坐标原点以及轴向,在 3D
视图中选择地面标定杆的三个 Marker 点,然
后点击 Set Ground Plane。保存标定数据(CAL)。
长边指向 Z轴正向,短边指向 X轴正向,Y轴正向向上,
构成 Y-up 右手坐标系。注意标定过程需要调整标定杆水平。
标定完成之后如果想要调整坐标系原点以及轴向,修改
Capture Volume Translation \ Rotation ,点击
Apply。
垂直偏移量 Vertical Offset
标定窗口中的垂直偏移量用于补偿 Marker 点中
心到地平面之间的偏移量。这个值对应的是 Marker 点
中心到 Marker 点在地面处最尖端的实际距离。
Motive 中如果找到 calibration square,会自动识别
使用的类型,自动设置偏移量。如果想要设定特定的水
38
平面也可以通过这个值。
地面平面细化
地面平面细化功能用于提高坐标平面的水平成都。要细化地平面,首先在地面上放置几
个已知半径的 Marker 点,然后调整对应半径的垂直偏移量。然后在 Motive 中选择这些点,
点击 Refine Ground Plane。此功能适用于大空间的应用环境。
上述标定操作步骤能满足日常标定使用需求,但需要用户经常进行标定以维持精确的跟
踪效果。如果想要简化标定步骤、节省标定时间,请参考局部标定、持续标定等功能。
4.3.2.2 局部标定
局部标定功能允许对系统中变化的相机进行标定。这一功能通过计算选定相机相对于已
经标定的系统的位置关系完成标定过程。在所选择的相机前挥动标定杆,确保同时至少有一
个未选定且已标定的相机看到即可。
这一功能适用于相机数目较多的系统,只需要标定几个相机,不需要重新标定整个系统。
同时不需要重新标定地面。
此功能只适用于 Motive 1.10 及以上。
操作步骤:
相机窗口中选择被移动或新增加的相机;
- 打开标定窗口,选择标定类型(Calibration Type),大多数情况设置为 Full,如果相机
轻微移动选择 Refine;选择标定杆类型。
- 在标定窗口中,单击开始Start Wanding,
在弹出的对话选择:标定选定的摄像机
(Calibrate Selected Cameras)。
39
- 在对话窗口中选择标定选择摄像机。
- 在选择的相机图像中挥动标定杆。
- 单击计算。
注意︰
此功能依靠未选定的摄像机处于良好的标定状态的情况下。如果选定的摄像机未标定,
然后使用此功能将得到较差的标定结果。
局部标定不更新未选定摄像机的标定。然而,Motive 提供所有相机的标定报告。
部分标定过程也可用于添加新相机到现有的标定,在这种情况下使用 FULL 标定类型。
4.3.2.3 持续标定
Motive 2.0 软件新推出持续标定过程,确保系统始终维持在最佳标定状态,无需重复
标定来维持跟踪质量,软件通过复杂的算法自动评估标定质量、标记点重建位置。每当跟踪
精度降低时,Motive 自动检测、更新标定结果。Continuous Calibration 支持 OptiTrack
所有相机型号。
要求:
持续标定功能仅在 Live 模式下工作,在 Recording 或Edit 模式下不会被激活。
必须在空间中有一定数量的已跟踪标记点。
大多数相机必须看到标记点,每个相机至少看到 4个标记点。
相机数量低于 50 台,较大的系统可能会因为更新标定结果时计算导致延迟,影响跟踪。
模式:
有三种不同的持续标定模式:Continuous,Continuous + Bumped,Continuous
Overhead Grid。
40
Continuous 模式用于保持标定质量,大多数情
况可以使用此模式。在此模式下,Motive 监控跟踪
光线到标记点上的收敛情况,并更新标定,使相应的
跟踪光线更精确的收敛。此模式能够标定有环境影响
引起的轻微变化,例如:相机安装机构上的热膨胀。
Continuous 模式要求系统中所有相机都看到标记
点。
Continuous + Bumped 模式结合了上面的
Continuous 模式,并且对被碰撞且不在对 3D 重建
做处贡献的相机进行修复。通过此功能,位置或姿态
发生变化的相机自动解算并重新引入标定,不需要用
户执行手动标定。为了保证总体的标定质量应使用
Continuous 模式。
Continuous Overhead Grid 模式与 Continuous 模式类似,然而改模式不需要所有
相机都看到 Marker 点,允许 Continuous 标定结果应用于 overhead gird 设置。
操作步骤
在Application Settings 窗口中 Live Reconstruction 选项
卡下 Continuous Calibration 功能处选择合适的持续标定模式。
对于 Continuous mode / Continuous Overhead Grid 模式,
启用之后 Motive 会持续监控捕捉到的 Marker 点重建过程中的
残差,当残差增加时到一定值时,Motive 开始为持续标定进行
数据采样。在采样过程中确保空间中至少能够跟踪一定数量的
41
Marker 点。当收集到足够数量的采样点时,Motive 更新
标定结果。成功更新之后可以在“Status Log” 中看
到更新状态。
Duo/Trio Tracking Bars 可以使用此功能,更新标定
结果,提高跟踪质量。
当相机被碰撞且位置发生变化,这个相机将不会对 Marker 点的重建做出贡献,该相机
会产生很多 Untracked rays,此时选择启用 Continuous + Bumped 功能,确保在位置发
生变化的相机视场内有一个或多个 3D 重建的 Marker 点运动,Motive 开始进行数据采样,
当收集到足够数量的采样点时,Motive 更新系统标定结果,并修正标定系统中位置变化的
相机的标定结果。在完成标定之后,检查相机图像中 Mask 区域,因为位置发生变化,之前
的Mask 区域可能不能覆盖干扰区域,需 Clear Mask 之后再重新 Mask。
注意:当相机被移动或者重新安装相机之后,不要使用 Continuous 模式进行标定。
4.3.2.4 标定文件
标定文件用于保存标定结果,以.Cal 文件格式保存。标定文件能有效减少标定的工作量,
每次重新打开 Motive 之后,只需加载 CAL 文件就能得到之相机的标定结果。也可以在工
程文件中存储标定结果。默认情况下,Motive 加载最后创建的标定文件,这可以通过
Application 设置更改。
注意,如果相机系统位置发生变化,需要重新标定。
4.3.3 Assets
OptiTrack 运动捕捉系统使用主动、被动 Marker 点确定被捕捉物的 3D 信息(位置、
42
姿态)。完成相机标定之后,如果将合适的 Marker 点放入场地中,在 Perspective View 中
会看到相应的重建之后的 Marker 点,根据应用需求选择合适的 Marker 点以及安装方式,
然后创建资产,OptiTrack 系统跟踪 Marker 点以及 Asset。
其中 Marker 点是 Asset 跟踪的基础,下面着重介绍 Marker 点注意事项、Asset 创建
方法以及注意事项。
4.3.3.1 Markers
在光学运动捕捉系统中,对于 Asset 的定位的基础是 Marker 点,合适的 Marker 点设
置对跟踪质量和捕获数据的可靠性有很大影响。所有标记点必须牢固的固定在被捕捉物的表
面,不要有任何变形。Marker 点安装的数目和规格(尺寸、圆度、反射率)也会影响跟踪
质量。所以 Marker 点上的反光材质需要良好保养。
1) 被动 Marker 点
OptiTrack 运动捕捉相机跟踪表面有反光材质的物体,相机发射的近红外光由被动
Marker 点反射,被相机捕获到。然后根据 2DMarker 点的位置,重建出物体的 3D 位置。
根据使用 Marker 点的大小、形状,需要调整 2D 筛选器的重建属性(Reconstruction
Properties)。
Marker 点大小︰
Marker 点影响画面中的识别程度,Marker 点越大越
容易识别,而且可以在较长的捕捉距离上使用,但是不太
适合跟踪精细动作或小物体。小 Marker 点有利于跟踪精
细动作、小物体,但是很难再较长的工作距离上使用,更容易被忽略掉。根据不同的使用需
求选择合适的 Marker 点。
43
Marker 点圆度︰
如果需要跟踪非球面 Marker 点,需要降低超过重建(Reconstruction)设置中的圆度
值,使得非球面的反光会被识别为 Marker 点。
磨损的 Marker 点︰
Marker 点表面反光材质需要维护,每个 Marker 点需要满足 Motive 中设置的阈值
(THR)条件。反光材质损坏的 Marker 点的跟踪效果会受到不良影响。
Tip:可以通过开启 Application Settings 像素检查器(Pixel inspector)分析每个相
机视图中的像素亮度。
自定义 Marker 点
OptiTrack 相机可以追踪任何表面覆盖的反光材质的物体。为获得最佳的跟踪效果,
Marker 点应该表面光滑,干净。垂直角度时能够很好的追踪扁平状或半球型 Marker 点(例
如:反光胶带);一旦出现有一定角度的情况,质心计算就会不准确。相对于球形 Marker
点,非球形标记点更难被跟踪。
2) LED Marker 点
主动 Marker 点(LED)也可以配合 OptiTrack 系统使
用。推荐使用 OptiTrack 的超广角 850nm LED Marker 点。
注意:LED 灯波长为 850nm,否则会被滤去。
选择合适的 Marker 点之后,根据应用需求选择创
建合适的 Asset,在 Motive 中Asset 包含:
Marker set、Rigid Body、Skeleton
Motive 2.0 之后,在 Asset 窗口显示当前 Take 文件中创建的的 Asset,单个 Asset 被
选中时下方会显示相关属性。在 Live 或Edit(加载 Take 文件)模式下均可以创建 Asset。
44
Marker Set 是被用于注释重建的 Marker 的简化标签。MarkerSet 通常被用于不能创
建刚体,但需要为特定 Marker 点添加标签(label)的情况,需先采集一段数据,然后手动
添加 Marker 点标签,此功能会在 Labeling 介绍。
刚体/骨架 Asset 适用于不同的跟踪模式,刚体(RigidBody)用于跟踪创建的刚性物
体,骨架(Skeleton)用于跟踪人体运动。这些 Asset 自动应用 Motive 跟踪/标签算法中
预定义的标签重建轨迹,Motive 使用被标签的 Marker 点计算出刚体或人体的位置与姿态。
这些数据都可以通过传输通道传输到其他应用程序中。下面介绍 Rigid Bodies、Skeleton
两种 Asset 的创建方式以及注意事项。
3) Marker 点放置
Marker 点位置过于接近情况下,两个
Marker 在相机的图像中可能会合并在一起,
合并之后的反射将不能准确计算质心位置,且
了能会 Circularity Filter 过滤,为获得最佳捕捉效果尽量设置合适的 Marker 点间距。
4) 确认重建效果
- 在Perspective View 窗口选择一个重建的 Marker 点,切换到 Camera View,点击
,选择 Marker Centroids,确认相
机处于 Object Mode,在 2D 视图中放
大所选 Marker 点,Marker 点将会显示
两个十字准线:白色、黄色,两条十字准
45
线的偏差代表检测的 Marker 点2D 质心与重建 Marker 点质心的偏移,在 GrayScale
Mode 与Object Mode 切换会更加明显。
也可以通过检测跟踪光线到 Marker 点的收敛情况评估跟踪质量,,效果不如上面精确,
但是可一次检查多个相机的跟踪质量。在Perspective View窗口中,点击 ,选择Tracked
Rays,然后选择一个 Marker 点,将视图放大该标记点,然后能够看到跟踪光线(绿色)到
Marker 点中心的收敛情况。
4.3.3.2 Rigid Bodies
Motive 中RigidBody 资产是由安装在被测物体上的 Marker 点创建的,在 RigidBody
资产中可以获得位置(X、Y、Z)和姿态(Pitch、Yaw、Roll)
Motive 中RigidBody 通常由 3个以上的 Marker 点组成,且 Marker 点相对位置关系
不会发生改变,即安装的 Marker 点之间的空间位置关系保持不变,且标 Marker 点之间的
距离不会超出对应 RigidBody 下设置的偏移公差范围,否则可能无法重建出 RigidBody 资
产。
放置 Marker 点需保证点不在同一平面,形成一个立体形状。对于多个刚体,要保证每
个刚体唯一。创造唯一刚体的关键思想是避免 Motive 内多个刚体的几何一致性。
独特的标记布置。每个刚体必须具有独特的,非一致的标记位置,当标记相互连接
46
时,可以创建独特的形状。
独特的标记点距。跟踪多个对象时,引入独特的形状可能很困难。另一个解决方案
是改变点距。这将形成具有不同大小的相似形状,并使它们与其他的区别。
独特的标记点数。添加额外的标记点是引入唯一性的另一种方法。额外的标记将不
仅使刚体更具特色,而且还将提供更多的选择来改变安排以避免一致性。
注意:每个刚体建议安装 4-8 个Marker,视物体大小而定,但一个刚体最多不能超过
20 个Marker 点。
4.3.3.2.1 创建刚体
将所要创建模型的刚体贴好标记点,放置在标定好的场地内,在 Motive 的3D 视图中
框选住代表刚体模型的标记点。然后点击右键选择 Rigid Body 下的 Create From Selected
Markers;或者使用热键:Ctrl +T;或者在 Asset 窗口点击,选择 New Rigid Body。通过
以上三种方式都可以对选中 Marker 点完成刚体创建。
创建 Rigid Body 之后,Marker 点会被标签化(颜色发生变化)并互相连线,且会在
Asset 窗口显示刚体名称。
注意:如果在编辑模式下创建 Rigid Body 或Skeleton,需要对相应的 Take 文件进行
47
Auto-Labeled 操作,只有这样 Marker 点才能全部被标签化,应用在 Rigid Body 上。
在Asset 窗口选中已创建的资产(Rigid Body、Skeleton、MarkerSet),在 Properties
界面显示当前选中资产的属性。在此界面中有如下参数需要着重注意。
Label:显示资产的名称。
Orientation:显示刚体坐标轴。
Pivot:显示刚体枢轴点(Pivot Point)。
Marker Quality:显示刚体资产中 Marker 质量,对残差较高的标记点(与创建刚体时
初始位置有偏差)突出显示为红色,用于监控构成刚体的 Marker 点的质量。
有些时候需要增加或减少刚体上的标记
点,需要选中刚体的质心,按着 Ctrl 键同时选
中需要增加/减少的标记点右键,选择
Add/Remove Selected Markers to/from
Rigid Body。
注意:创建刚体时,刚体坐标轴与世界坐标系坐标轴一致,如果创建刚体时朝向与世界
坐标系坐标轴不同,运动过程中刚体的旋转信息也会不同,另外,在各种软件中对刚体坐标
轴有要求,需要在创建刚体时设计好刚体朝向。
48
4.3.3.2.2 刚体跟踪
对于创建的刚体,由其枢轴点(Pivot
Point)代表该刚体的位置和姿态。当创建刚体
时,其枢轴点将默认放置在其几何中心,方向
轴将与全局坐标轴对齐。
Rigid Body->Real-Time Info 窗口可以
查看选中 Rigid Body 的实时信息,Rigid
Body 的位置信息是枢轴点相对于世界坐标系坐标轴原点的位置,姿态信息是相对于初始创
建刚体坐标轴的变化。
4.3.3.2.3 移动 Pivot Point、Orientation
创建的 Rigid Body 枢轴点将默认放置在 Marker 点几何中心,可能与真实物体质心点
不匹配,有一定偏差,有时可能需要移动刚体枢轴点到特定位置,下面介绍移动 Pivot Point、
Orientation 的方式:
1) 在物体中心处放置一个标记点,选中刚体的质心,按着 Ctrl 键同时选中放置在中心的
Marker 点,选择 Set Pivot Point to Selected Marker,如下图所示。
49
2) 当需要的 Pivot Point 位置不能放置标记点时,需
要平移 Pivot Point。在刚体对应的 Edit 窗口中,
设置 Pivot Point XYZ 方向的偏移量,如下图所示,
注:每次位移都是相对于上次进行。
3) 同时刚体坐标轴初始位置可能与预期不一致,可以通过 Orientation 修改刚体坐标轴朝
向。
4) Gizmo Tool 可以轻松的修改刚体枢轴点的位置和姿态。在
Perspective View 工具栏中可以看到 Gizmo Tool 。
首先确认在 Perspective View 中确认启用编辑资产功能(Edit Assets ), 然后切
换到 Select、Translate、Rotate、Scale 工具其中之一对选中刚体枢轴点、坐标轴进行
处理。
4.3.3.2.5 Rigid Body Refinement
Rigid Body Refinement 工具提高了 Motive 中刚体的计算精度。初始创建刚体时,
Motive 仅使用一帧的数据定义刚体。Rigid Body Refinement 工具允许 Motive 在Live 模
式下记录刚体采样点信息,以获得更准确的跟踪结果。此工具改善刚体本身预期标记点位置
及刚体位置和姿态的计算。此功能仅支持 Live 模式下。
1) 在Tools 选项卡下打开 Trackables 窗口。
2) 在Live 模式下,选择需要优化的已创建的
刚体资产。
3) 将所选的刚体保持在捕捉区域的中心,以便尽可能多的相机能够看到刚体上的
Marker 点。
50
4) 在Refine Samples 输入,设置优化过程中需要捕获的采样帧数。
5) 在Trackables 窗口点击 Start。
6) 缓慢的旋转刚体,以采集刚体旋转采样数据。
7) 采集完成之后,显示优化结果。
4.3.3.3 Skeleton
Motive 中Skeleton 资产用于跟踪人的动作,资产会自动标记附属于人体或者演员的
特定标记点集合,并创建骨架。与刚体资产不同,人体资产需要额外的计算,以便在多个半
刚体段正确区分、标记重建的 3D Marker 点。Motive 中预定义了 Skeleton 模板,根据选
择的 Skeleton 模板,将 Marker 点放置在对应的位置。
涉及到跟踪人体动作捕捉时,合适的标记点位置尤为重要。Motive 使用预定义的
Skeleton 标记,每个标记点用于在骨骼建模时表示关节点位置,因此所有标记点必须放置
在合适位置,任何标记点错误放置,都可能会造成不能创建 Skeleton 或者标签错误,所以
将Marker 点放置在预定义的位置非常重要,可以减少后处理时间。
4.3.3.3.1 创建 Skeleton
打开 Skeleton 窗口,点击 Choose Markerset 下拉菜单,选择所需要模型类型,及所
需要的标记点数。 每个骨架的所需标记的总数在每个标记组名称后面的括号中显示,相应
的标记位置显示在“Skeleton”窗格中显示在模型上。
51
- 注意事项
Skeleton 标记点可以分为两类:在关节点放置的 Marker 点,在骨骼段放置的标记点。
然后根据模型上的标记点的位置在模特身上相应位置贴上标记点。
对于关节标记点,要求穿戴者重复几轮屈曲和伸展,检查并将标记点放在皮肤移动
最小的位置,该点通常位于关节轴线。
将相关骨骼段上的标记点放置在不同的高度,是标记点不对称排列。
避免穿着反光材料的衣服或鞋子,因为它们可以引入无关的反射。
52
将头发绑在头上可以遮挡颈部的标记。
去除反光首饰。
- 操作步骤
模特身上贴完标记点之后,让模特站在摄像机的最佳捕获区域,做对应的初始姿势
1) 打开 Skeleton 窗口;
2) 从下拉菜单中选择所需的骨架标记集;
3) 根据模型放置标记点;
4) 仔细检查标记点位置;
5) 确保 Markers Needed 和Markers
6) Detected 是匹配的;如果没有自动检测到,在 3D 视窗中选择对应的标记点;
7) 配置骨架创建初始姿势(Skeleton Creation Pose),做出初始动作(T-pose/A-
pose);
8) 要求拍摄对象按照选定的初始姿势站立;
9) 点击创建。
如果要捕获多个比例相似的演员时,需要在贴放标记点时加以区分,将头上侧边的标记
放在示例模型相反的一侧,以便更清晰地区分;另外,将 WaistBack 或WaistCMarker(只
53
包括 13 additional markerset)适当偏移,构成不对称排列。
4.3.3.3.2 Skeleton Creation Pose
在Skeleton->Default Settings 下可以
更改 Skeleton Creation Pose。分为 T-Pose、
A-Pose。
T-Pose:T-Pose 通常在用于 3D 动画的参考姿势,将两
个Character 或者 Assets 绑定在一起。Motive 中创建
Skeleton 时默认使用此姿势,使用 T-Pose 时演员要垂直站
立、头部正视前方、双脚平行对齐、双臂展开与身体垂直,形
成T-Pose。
A-Pose:A-Pose 与T-Pose 类似,但是手臂与身体中线成 40°角。A-Pose 对于抬起
手臂困难的人比较有益,分为两类:Plams Downward\Plams Forward。
4.3.3.3.3 6 Rigid Body Skeleton Markerset
6 Rigid Body Skeleton Markerset 允许用户使用刚体创建全身骨骼,在人体的特定位
置共有 6个刚体,刚体固定在头部、左手、右
手、髋部、左脚、右脚,将刚体的枢轴点移动
到相应关节处,然后 Motive 通过反向运动学
创建骨架。
创建 6RB Skeleton Markerset
1) Marker 放置
- 准备带有 Marker 的6个刚体。
- 将刚体放置在下面的位置:
54
头部:刚体放在头部后面,可用 HMD 代替;
髋关节:将刚体放置在背部,略高于髋骨;
左/右手;
左/右脚。
- 确保刚体牢固连接。
2) 创建 Skeleton
- 为所有附加的刚体创建刚体资产。
- 以如下命名方式命名刚体:
(Skeleton Name)Head
(Skeleton Name)Hip 或者
(Skeleton Name)Chest
(Skeleton Name)LHand
(Skeleton Name)RHand
(Skeleton Name)LFoot
(Skeleton Name)RFoot
- 调整刚体枢轴点,使用 Gizmo 工具移动
刚体枢轴点,每个刚体的枢轴点位于相应
的母关节轴线处,即:头部刚体枢轴点必
须放置在头部/颈部关节处;髋部刚体枢轴
点必须放置在盆骨中心;左/右手刚体枢轴
点放置在腕关节处;左/右脚刚体枢轴点放
置在踝关节处。如果使用 Chest 刚体代替 Hip 刚体,其刚体枢轴点应该位于心脏
55
中心,腹腔神经丛处。
- 旋转刚体坐标轴,使所有刚体 Z轴朝向正前方。要求人体朝向 Z轴正向,并以 T-
Pose 站立,在 Rigid Body 窗口,Edit 选项卡中 Orientation 处点击 Reset,使得
此时刚体坐标轴与世界坐标系坐标轴对齐,即刚体 Z轴朝前。
- 打开 Skeleton 窗 口 选 择 6 Rigidbody
Skeleton,并且在 Name 处输入之前刚体命
名的前缀。
- 选择所有 6个刚体,在 Skeleton 窗口点击 Create。创建的 Skeleton 将搜索具有
相对应名称的刚体进行跟踪,如果所有刚体命名正确,且枢轴点位置正确刚体朝向
正确,Motive 将跟踪 Skeleton。
56
4.3.3.4 MarkerSet
MarkerSet 是Motive 资产(Asset)中的一种,是对相关标记点进行分组的最基本方
法。手动标记单独的 Marker 点,在 Labeling 窗口对捕获的数据进行后处理。注意,
MarkerSet 仅用于手动标记(Manual Labeling)。实时模式下的自动标注(Automatic
Labeling),必须使用 Rigid Bodies 资产或 Skeleton 资产。
创建 Rigid Bodies 或Skeleton 会将 Marker 点分组并自动标记,在处理过程中不会
使用 MarkerSet 功能。然而 MarkerSet 功能能对于特定的 Marker 点跟踪很有用处。
单击 Asset 窗口中 ,选择 New Marker Set,创建 MarkerSet;或在 Labeling 窗
口选择 Unlabeled Markers,点击右键选择 Create Markerset From Selected。
创建 Markerset 资产之后,使用 Markersets 窗口管理标签列表。首先必须在 Asset 窗
口中选中 Markerset,相对应的
会显示在 Markerset 窗口中。可
以通过 添加新的标签;如果希
望一次添加多个标签,从剪切板
复制和粘贴标签列表,如下图所
示。
57
添加标签之后,为每个标签分配 Unlabeled Marker 数据,可以通过以下几种方式分配
标签:
- 在Labeling 窗口切换到 QuickLabel Mode ,选中未分配数据的标签,在
Perspective 窗口中选中对应的 Unlabelled Marker,软件自动为该 Marker 分配
选中的标签。
- 在Perspective 窗口中,选中标记点,点击鼠标右键,选择 Label Marker 中对应
的标签。
4.3.3.5 Asset 导出
Assets 可以导出到 TRA(Rigid Body)、 SKL(Skeleton)文件,文件中记录每个资产
中Marker 点的排列。可以将导出的资产文件导入到不同的 Takes 中,不需要重新创建新的
Assets。注意:这些文件专门存储每个 Marker 点的空间关系,只有与导入的资产有相同的
58
Marker 点排列方式才会被识别。
4.3.4 Data Recording
Motive 中有两种不同的模式:Live Mode、Edit Mode。Live 模式用于录制新的 Takes
文件或者实时传输捕捉数据。Edit 模式用于播放捕获的数据,在此模式下可以播放、处理、
传输、导出已记录的数据。
在Live 模式下,从 Control Deck 控制 Motive 开始\停止记录数据,点击红色按钮即
可开始记录数据。
注意:对于人体数据采集,始终以 T-Pose 或者 A-Pose 开始和结束采集,这样可以在
记录的数据中重新定义 Skeleton Assets。
Data Type
在数据记录过程中 2D、3D 数据都会保存在 Take 文件中。有三种不同的数据类型:2D
数据、3D 数据、Solved 数据,其中 2D 数据时相机捕获的数据,3D 数据时重建的 Marker
点的三维数据,Solved 数据时刚体的位置和姿态数据。
59
在记录时,Motive 会将 2D 数据和实时重建的 3D 数据都保存在 Take 文件中,记录的
3D 数据可以在 Edit 模式下进行后处理,且可以通过 Post Processing Reconstruction 功
能从记录的 2D 数据获得新的 3D 数据。Solved 数据只能在 Edit 模式下导出。
Data Management 窗口列出可用
的数据类型,请在 Edit 模式下查看。
Motive 中默认加载 3D 数据。
1) 2D 数据
2D 数据是运动捕捉数据的基础,包
含系统中所有相机捕获的 2D 图像数据。2D 数据中的图像取决于捕捉时每个相机设置的图
像处理模式或视频模式。设置为参考模式的相机将记录参考视频,设置为跟踪模式的相机将
记录重建过程使用的 2D Object 图像。2D Object 图像包含捕获的 Marker 点的中心(X、
Y方向)以及对应大小和圆度信息。
通过 2D Object 数据以及相机标定信息可以计算出 3D 数据,将 2D 质心转化为 3D 坐
标的过程称为 Reconstruction。
捕获的 2D 数据可以实时或者捕捉之后重建 3D 数据,在后处理过程中,通过记录的 2D
数据使用 Reconstruction 功能可以重建出新的 3D 数据,原有 3D 数据将会被删除。
2) 3D 数据
60
3D 数据包含重建 Marker 点的 3D 坐标,
在Perspective 视图看到重建 Marker 点,同
时可以在 Graph 窗口中查看相应 Marker 点
的轨迹,3D 数据可以导出 CSV、C3D、FBX
等格式文件。在记录的 3D 数据中还包括创建
的资产的位置和姿态信息。
3) Solved 数据
当数据已经被记录且存在 3D 数据时,Solved 数据可被记录并保存在 Take 文件中。
Solved 数据只能在 Edit 模式下生成,并存储相对应的刚体资产的跟踪数据(位置、姿态)。
一旦获得 Solved 数据,资产的跟踪数据将会存储在 Take 中,且不受 3D 数据影响。如果
存在 Solved 数据可以删除 3D 数据,减小 Take 文件大小。
在Data 窗口右键点击 Take 文件,选择 Solved All Assets,获得所有资产的 Solved
数据。
4.3.5 Data Editing
由于基于标记点的运动捕捉系统的特性,跟踪时出现误差是不可避免的,这时编辑工具
(Edit Tools)就至关重要。Motive 中编辑工具(Edit Tools)能够对已经保存的数据(.Tak)
61
进行处理,但在处理数据之前应首先了解每个编辑工具的功能,这样才能正确修正捕获的运
动轨迹中的错误。在详细了解之前,请注意,运动捕捉数据的后期编辑通常需要大量的时间
和精力。 必须精确检查捕获的每一帧,并对发现的每个错误进行修正。此外,一些编辑工
具对标记点的轨迹执行数学修改,如果滥用,这些工具可能会引入更大误差。 由于以上原
因,建议优化捕捉设置,以便减少捕获错误。
常见的跟踪错误包括标记点的遮挡和标签错误。标签错误包括未标记的标记点
(Unlabelled Markers),错误的标记(mislabeled markers)和标签交换(label swaps);
标记点遮挡是在捕捉期间标记点在相机视图中被遮挡,无法进行 3D 重建,在轨迹中引入间
隙。
Motive 记录的数据以.tak 格式存储,在软件中导入已经采集的数据有几种方式:
直接双击 Tak 数据文件,就可以打开
Motive 并加载数据;
打开 Motive,点击 Open Existing Take,
如图所示,然后选择要导入的数据文件;
File->Open->选择需要导入的数据文
件。打开软件之后直接导入就可以,不用
导入其它标定文件,但是数据的存储路径
必须是由英文或数字组成。
打开数据之后切换到编辑模式(Edit)。软
件界面如下:
62
4.3.5.1 各窗口功能介绍
4.3.5.1.1 Labeling
Labeling 界面可以查看所有采集到的标记点
的信息,其中包含标签化的标记点(Rigid Body
名称+数字,Skeleton 骨骼上关键点名称)和未
标签化(Unlabelled_***)的标记点。
在Project 界面选中相应的 Asset,就可以在
Labeling 界面中看到相对应的标签化的标记点,
以及未标签化的标记点。其中每个标记点后面的百
分比代表其数据的完整度。有些未标签化的标记点
是捕捉过程中的干扰点,而有些未标签化的标记点
是某些骨骼点记录过程中缺失的数据信息,可能由于遮挡等问题导致没有标签化,这些数据
在后面的修复过程中有很大作用,不能全部删除,而是根据自己的判读选择性的删除某些干
扰点,当然这一步工作可以在修复完所有标签化的标记点进行。
63
4.3.5.1.2 Graph View
在Labeling 界面中,选中某一标记点,就可以在 Timeline 出窗口中 Editor 工具下看
到这一标记点的运动轨迹曲线,当然在 Perspective View 窗口中选中相应的标记点,也可
以查看该标记点的轨迹曲线信息。下面介绍下 Timeline 中常用功能:
1) 在Timeline 窗口,轨迹曲线图形中,点击鼠标右键并左右拖动自由放大、缩小时
间轴范围。
2) 如果 Autoscale Graph( 自动缩放 X、Y、Z轨迹曲线图形)关闭,点击鼠标
右键并上下拖动调整 X、Y、Z通道的垂直缩放。
3) 点击鼠标中键并拖动,调整当前显示的轨迹曲线的范围,而且不更改时间轴当前选
择范围。
4) 在时间线上点击左键并拖动,选定的时间线的范围,进行数据处理。
5) 按“ F”可以缩放到时间线上的选定范围;按“Shift + F”可以绘制完整的时间轴。
6) 通过在编辑器中单击并拖动所选轨迹来手动绘制轨迹。
7) 在选择的范围内上下拖动轨迹曲线。
8) 删除选择区域的运动轨迹信息。
在Graph 界面中可以查看选中 Marker 点的 X、Y、Z轨迹曲线(切换到),或者选中
刚体的 6自由度信息(切换到 Post-Rigid Body)。
64
4.3.5.1.3 Edit Tools
在标记点数据修复过程中主要依赖 Edit Tools 窗口中各项功能,分为四项主要功能:
Trim Tails、Fill Gap、Smooth、Swap Fix。可以通过 View 选项卡下 Edit Tools Pane 或
打开 Edit Tools 窗口。
1) Trim Tails 修剪数据
删除缺失数据区域前后的几帧数据,每个缺失区域前列建议优先使用这一功能进行处理,
因为在标记点轨迹上存在间隙时,每一端可能存在轻微的跟踪失真,因此十分有必要删
除缺失数据区域前后的几帧数据,如果是真的数据被忽略,会对其他依赖现有数据点的
编辑工具产生干扰。
2) Fill Gap 自动填补缺失数据的区域。
缺失数据填充数据编辑过程中的重要步骤,这一功能通过插值的方式重建缺失区域的数
据轨迹。这一功能通过 Asset 中现有数据轨迹以及其他标记点位置插值重建缺失区域
数据点轨迹曲线。注意:不建议填补缺失较大范围的区域。
65
Fill Gaps功能提供了5种不同的插值选项:Constant、Linear、Cubic、Pattern-Based、
Model-Based。
前三种插值选项(Constant、Linear、Cubic)依据单个标记点轨迹曲线,并尝试使用
空缺区域前后的数据来插值计算标记点轨迹曲线;另外两个插值选项(Pattern-Based、
Model-Based)依据可见标记点和模型来插值计算数据缺失标记点的轨迹曲线。
- Constant:应用零度近似,假设标记点位置静止,且直到在时间轴上后面的区域中
找到相同标签的标记点。
- 线性:假设运动是线性的,应用一级近似,以填补缺失的数据。只有当确定标记以
直线运动方式移动时,才能使用此功能。
- 立方体:应用三次多项式插值来填补缺失的数据。
- Pattern-Based:此插值选项适合填充刚体标记点的缺失,选择的参考标记点
(Pattern Target)与目标标记点以相似的模式移动。当选择多个标记点时,它们
66
之间建立一个刚性关系,通过这个关系,将参考标记点(Pattern Target)的轨迹
曲线填充到目标标记点缺失的数据曲线处。
- Model-Based:此插值选项用于填充 Asset(Skeleton segments、Rigid Bodies)。
在Skeleton Asset 上使用此功能时,根据 skeleton 上其它标记点以及相关骨骼
确定缺失数据部分标记点的可靠位置。
3) Smooth 平滑数据曲线
Smooth 功能对轨迹曲线应用噪声滤波,使得标记点的轨迹取向更加平滑。
首先需要设置滤波器的截至频率(Filter Cutoff Frequency),低截止频率设置可以平
滑大部分的陡变的轨迹,当然会导致数据幅度变小,产生一定的失真;而高截止频率设
置仅平滑数据轨迹上的抖动,对数据影响较小。
4) Swap Fix 交换出错的数据区域
在某些情况下,捕捉过程中两个标记点的标签可能被交换,交换的标签可能导致旋转不
67
规则偏移或骨架变形,可以通过交换数据曲线,校正这一错误。
4.3.5.2 常见错误类型及处理方法
1) 未标签化的标记点(Unlabeled Marker)
在Labeling 界面中,以 Unlabeled ***命名的标记点
都是未标签化的标记点。
在这些未标签化的标记点中,有些是在捕捉过程中由
外界环境产生的干扰点,这些干扰点可以直接被删除,直
接选中未标签化的标记点,点击 Delete 就可。如下图所示:
而有些未标签化的标记点是某些骨骼点记录过程中缺失的数据信息,可能由于遮挡等问
题导致没有标签化,这些数据在后面的修复过程中有很大作用,不能被删除。
68
对于未标签化的标记点不能直接全部删除,而是根据自己的判读选择性的删除某些干扰
点,当然这一步工作可以在修复完所有标签化的标记点之后进行。
2) 数据缺失(Gap)
数据缺失是捕捉数据中最常见的错误之一,这是由于光学运动捕捉系统的特性导致的。
在捕捉过程中由于演员的动作,经常会出现标记点被遮挡的情况,这一个标记点无法被重建,
就会出现数据缺失的情况。
在数据缺失部分,仔细分辨数据缺失部位前后数据是否存在跟踪失真情况,如果存在数
据失真的情况,使用 Trim Tails 功能,然后使用 Fill Gaps 功能,根据修补 Asset 的类型、
69
Marker 点的运动情况,选在相应的插值选项(Interpolation),输入合适的 Max Gap Size,
点击 Fill。
3) 数据曲线交换
在捕捉过程中还会出现数据交换的情况,出现这种问题是由于演员在活动过程中身体上
的两个标记点太过于接近且一个标记点被遮挡,在其中有几帧数据被识别为一个标记点,在
之后的时刻未被遮挡的标记点被识别成里一个标记点,然后到某一时刻(两个标记点都被重
建,且空间位置足够远,或不符合人体骨架 skeleton),且标签化标记点的空间位置关系不
符合标准骨架模板中标记点的位置关系。
4) 噪声
噪声是指数据轨迹曲线中,不正常抖动,轨迹曲线是连贯的,但是不够平滑,在这种情
况下,捕捉过程中标记点被遮挡住部分,不能完全被被相机看到,导致某些相机计算的标记
点的中心位置与实际情况出现偏差,这样就影响标记点的计算结果,导致与之前一帧的计算
出现偏差,出现数据抖动,体现在规矩曲线上如下图所示。
70
其中,噪声情况分为两种:
轻微噪声,如下图所示,数据抖动范围较小,可以通过 Smooth 功能修复,滤波器截
止频率的常用范围为 7 Hz 至12 Hz。
剧烈的噪声,如下图所示,数据点偏离严重,与真是(理论)情况偏差较大,这种情况
下不能简答的使用 Smooth 功能去处理,需要先 Delete 掉错误区域的数据,然后用 Fill
Gaps 功能填充,慎重选择插值算法。
71
4.3.5.3 数据修复流程
1) 首先对整个 Take 数据中所有帧进行浏览,找到需要处理帧数据和标记点。
2) 查看标签窗口,并检查每个标签的空缺的百分比。
3) 选择之前确定要修复的标记点,可以从之前经常被遮挡的标记点入手。
4) 查看时间轴窗口(Timeline)中的编辑器(Editor),检查轨迹中的缺失。
5) 在每个缺失的标记点查看 3D 视图中附近是否有未标记的标记点,如果有与轨迹匹
配的未标记的标记点,在 Timeline 窗口将两个标记点数据交换。如果未找到相应
未标记的标记点,将使用填充功能。
6) 对于轨迹缺失的标记点,切未找到符合其轨迹的未标记的标记点,首先使用使用
Trim Tails 功能,修剪标记点轨迹空缺的两端,去除可能存在跟踪错误的几帧数据,
虽然无法判断去除的帧数据是否一定错误,但不能保证其数据一定正确,所以再填
补空缺之前一定要使用 Trim Tials 功能。
7) 确定需要填补的空缺,使用 Fill Gaps 功能,由于是模拟出来的运动轨迹,可能会
与实际运动轨迹有一定偏差。
72
8) 根据自己判断使用 Smooth 功能。
4.3.6 Data Export
Motive 支持导出多种不同格式的 3D 数据,导出的数据文件可以使用其它应用程序打
开,进一步应用捕捉到的运动数据。在 Data 窗口右键点击 Take 数据,选择 Export Tracking
Data,弹出数据导出窗口。
Data Export 支持导出 CSV、C3D、FBX、BVH、TRC 等格式,根据选择的格式不同,
导出的文件包含的数据也不一样,下面是每种格式支持导出的数据。
捕捉数据类型
CSV
C3D
FBX
BVH
TRC
重建 3D maker 点数据
•
•
•
•
6自由度刚体数据
•
•
•
73
骨架数据
•
•
•
Motive:Tracker 和Motive:Body License 都支持导出 CSV、C3D 格式的文件,但是
FBX、BVH、TRC 格式文件仅可在 Motive:Body License 中导出。
导出多个带有特定选项的文件也可以通过 Motive Batch Processor 脚本完成。请参阅
MotiveBatchProcessor 文件夹中的 ExampleScripts 中的脚本。
4.3.6.1 数据导出:CSV
CSV(Comma Separated Values)文件格式使用逗号分隔符
来分隔每行中的多个值,可以通过 Excel 等电子表格软件或编程脚
本导入。
CSV 导出选项如下
CSV 选项
描述
Frame Rate
每秒采集的数据的频率。
Start Frame
导出数据的起始帧。可以将其设置为导出的 Take 数据的第一帧,或者在
Control Deck 或Graph View 窗格中设置的工作范围,或者自定义起始帧。
End Frame
导出数据的起始帧。可以将其设置为导出的 Take 数据的最后一帧,或者在
Control Deck 或Graph View 窗格中设置的工作范围,或者自定义起始帧。
Scale
对导出数据进行缩放。
Markers
启用此选项导出 CSV 文件中包含每个标记重建的 X、Y、Z位置。
Quality Statistics
在每个刚体中心点位置(Position)数据添加误差值
在刚体每个 Marker 位置数据之后添加质量值。
Rigid Bodies
当此选项设置为 true 时,导出的 CSV 文件将包含来自 Take 的每个刚体的 6
自由度(6 DoF)数据:Position(X、Y、Z),Rotation(pitch、yaw、
roll)。
74
RigidBodyMarkers
启用此选项输出刚体资产中每个 Marker 点的预期位置(不是实际标记位
置)的 3D 位置数据。
Bones
当此选项设置为 true 时,导出的 CSV 文件将包括 Takes 文件中骨架上每个
骨段的 6 DoF 数据。
BoneMarkers
启用此选项将输出骨架资产中各骨段的每个标记预期位置(expected
marker locations)(而不是实际标记位置)的 3D 位置数据。
Header
information
作为导出的 CSV 文件的头信息包括有关捕获数据的详细信息。
Rotation Type
旋转类型确定在导出的 CSV 文件中是否使用四元数(Quaternion)或欧拉
角度(XYZ、XZY、YXZ、YZX、ZXY、ZYX)。
Unit
在导出的 CSV 文件中设置位置数据的单位。
Export Device Data
设置为 True 时,会导出已记录的设备数据到独立的 CSV 文件中。
Use World
Coordinates
使用世界(Global)坐标系或本地(Local)坐标系。
世界坐标系:使用标定杆确定的空间中世界坐标系。
本地坐标系:相对于父段的坐标系的骨段位置和方向。 请注意,骨架的
Hips 始终是分段层次结构中最顶层的父级。
注意:在导出 CSV 文件时,选择合适的 Rotation Type。
四元数(Quaternion)在表征角度(Rotation)时使用四个参数(X、Y、Z、W),不
存在奇异解;欧拉角使用三个值表征角度(Rotation)在某种情况下可能存在奇异解。两者
直接可以互相解算。
世界坐标系(Global)和本地坐标系(Local)的区别:
Format Version
1.21
Take Name
Dancer
Capture Frame Rate
150
Export Frame Rate
150
Capture Start Time
01 Jan 1970 00:00:00 +0800
Total Frames in Take
31090
Total Exported Frames
501
Rotation Type
XYZ
Length Units
Meters
Coordinate Space
Local
Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone
Skeleton5
_Hip
Skeleton5
_Hip
Skeleton5
_Hip
Skeleton5
_Hip
Skeleton5
_Hip
Skeleton5
_Hip
Skeleton5
_Ab
Skeleton5
_Ab
Skeleton5
_Ab
Skeleton5
_Chest
Skeleton5
_Chest
Skeleton5
_Chest
Skeleton5
_Neck
Skeleton5
_Neck
Skeleton5
_Neck
Skeleton5
_Head
Skeleton5
_Head
Skeleton5
_Head
1 1 1 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5
Rotation Rotation Rotation Position Position Position Rotation Rotation Rotation Rotation Rotation Rotation Rotation Rotation Rotation Rotation Rotation Rotation
Frame
Time (Seconds)
X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z
500 3.333333 1.2304 -3.1155 -1.01259 -0.00896 0.872871 0.128144 -15.7809 -0.37803 2.070643 -4.3403 0.045306 -1.97913 30.1053 -2.35418 -3.06176 15.88612 -0.65253 1.503088
501 3.34 1.205503 -3.08116 -1.00058 -0.00886 0.872813 0.127999 -15.7894 -0.36358 2.076811 -4.28223 0.048124 -2.00005 30.22167 -2.33984 -3.08852 16.01693 -0.62976 1.469002
502 3.346667 1.184797 -3.04086 -0.99085 -0.00877 0.872755 0.127842 -15.7967 -0.35131 2.082281 -4.22877 0.05279 -2.01995 30.33557 -2.32773 -3.11594 16.14994 -0.60724 1.441304
503 3.353333 1.166855 -2.9962 -0.9835 -0.00869 0.872697 0.127675 -15.8018 -0.33645 2.087589 -4.17958 0.055661 -2.03926 30.44731 -2.31776 -3.14463 16.28362 -0.58422 1.421362
504 3.36 1.150405 -2.95088 -0.9763 -0.00862 0.872642 0.127502 -15.8036 -0.32301 2.092819 -4.13438 0.064505 -2.05865 30.55713 -2.30983 -3.17447 16.41679 -0.56047 1.409141
75
以Skeleton 数据导出的 CSV 文件为例,再 Global 中,每个 Bone 都有相应的 Position
和Rotation 数据。而在 Local 中,只用 Skeleton_Hip 拥有 Position 和Rotation 数据,
其他 Bone 只有 Rotation 数据,其 Position 数据继承父级 Bone,Skeleton 中的Hips 始
终是分段层次结构中最顶层的父级。
4.3.6.2 数据导出:C3D
C3D(Coordinate 3D)是一种二进制文件格式,
广泛应用于生物力学和运动分析等应用方向。 来自
外部设备记录的数据,如力学平台和 NI-DAQ 设备,
将被记录在导出的 C3D 文件中。 注意,常见的生物
力学应用使用 Z-up 右手坐标系,而 Motive 使用 Y-
up 右手坐标系。
C3D 导出选项
C3D 选项
描述
Frame Rate
每秒采集的数据的频率。
Start Frame
导出数据的起始帧。可以将其设置为导出的 Take 数据的第一帧,或者在
Control Deck 或Graph View 窗格中设置的工作范围,或者自定义起始帧。
End Frame
导出数据的起始帧。可以将其设置为导出的 Take 数据的最后一帧,或者在
Control Deck 或Graph View 窗格中设置的工作范围,或者自定义起始帧。
Use Zero Based
Frame Index
C3D 规范将第一帧定义为索引 1。某些应用程序导入 C3D 文件,第一帧从索
引0开始。将此选项设置为 true 将在数据头中添加一个值为零的起始帧参
数。
Format Version
1.21
Take Name
Dancer
Capture Frame Rate
150
Export Frame Rate
150
Capture Start Time
01 Jan 1970 00:00:00 +0800
Total Frames in Take
31090
Total Exported Frames
501
Rotation Type
XYZ
Length Units
Meters
Coordinate Space
Global
Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone Bone
Skeleton5
_Hip
Skeleton5
_Hip
Skeleton5
_Hip
Skeleton5
_Hip
Skeleton5
_Hip
Skeleton5
_Hip
Skeleton5
_Ab
Skeleton5
_Ab
Skeleton5
_Ab
Skeleton5
_Ab
Skeleton5
_Ab
Skeleton5
_Ab
Skeleton5
_Chest
Skeleton5
_Chest
Skeleton5
_Chest
Skeleton5
_Chest
Skeleton5
_Chest
Skeleton5
_Chest
1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3
Rotation Rotation Rotation Position Position Position Rotation Rotation Rotation Position Position Position Rotation Rotation Rotation Position Position Position
Frame
Time (Seconds)
X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z
500 3.333333 1.2304 -3.1155 -1.01259 -0.00896 0.872871 0.128144 -14.5691 -3.1006 0.246081 -0.00765 0.94707 0.129809 -18.928 -3.06504 -1.96631 -0.00852 1.142998 0.078839
501 3.34 1.205503 -3.08116 -1.00058 -0.00886 0.872813 0.127999 -14.6016 -3.05611 0.272794 -0.00756 0.947014 0.12963 -18.9021 -3.01985 -1.95411 -0.00852 1.142969 0.07853
502 3.346667 1.184797 -3.04086 -0.99085 -0.00877 0.872755 0.127842 -14.6286 -3.00749 0.298296 -0.00748 0.946956 0.129444 -18.8755 -2.96854 -1.9421 -0.00854 1.142947 0.078232
503 3.353333 1.166856 -2.9962 -0.9835 -0.00869 0.872697 0.127675 -14.6506 -2.95465 0.322662 -0.00742 0.946899 0.129253 -18.848 -2.91155 -1.93042 -0.00856 1.142932 0.077945
504 3.36 1.150405 -2.95088 -0.9763 -0.00862 0.872642 0.127502 -14.6678 -2.89637 0.347127 -0.00736 0.946845 0.129057 -18.8198 -2.84939 -1.91908 -0.00858 1.142924 0.077672
76
Export Unlabeled
Markers
在导出的 C3D 文件中包括未标签化的 Marker 点数据。 当设置为 False 时,
该文件将包含仅标签化 Marker 的数据。
Export Finger Tip
Markers
包括虚拟重建的指尖数据,仅适用于支持手指跟踪的骨架。
Use Timecode
包含时间码(Timecode)。
Rename Unlabeled
As _000X
未标签化的 Marker 记将带有数字_000#的递增标签。
Axis Convention
设置导出数据的坐标轴方向。可以自定义设置,或者用于导出到
MotionBuilder 或Visual3D/Motion Monitor 的预设设置。
X Axis
允许自定义导出数据的坐标轴公约,通过确定导出的位置数据对应的坐标轴
方向,一般在不熟悉情况下不建议自定义更改。
Y Axis
Z Axis
Scale
对导出的跟踪数据应用缩放。
Marker Name
Syntax.
选择标记命名方式,以“:”或“_”作为名称分隔符。
由于 Motive 使用的坐标系与常规生物力学应用坐标系是不同的,因此必须将坐标轴修
改为 C3D 导出器设置中的兼容坐标轴。 对于使用 Z-up 右手坐标系(例如 Visual3D \
Motion Monitor)的生物力学应用,必须在自定义轴下进行以下更改。
Motive 中的 X轴应配置为正 X
Motive 中的 Y轴应配置为负 Z
Motive 中的 Z轴应配置为正 Y。
转换导出数据的坐标轴,使 X轴表示前后轴(左/右),Y轴表示中间轴(前/后),Z轴
表示纵轴(上/下)。
77
导出用于 Autodesk MotionBuilder 的C3D 文件时,虽然 Motive 和MotionBuilder
都使用相同的坐标系,但是 MotionBuilder 在导入 C3D 文件时会采用生物力学标准(负 X
轴为正 X轴;正 Z为正 Y;正 Z为正 Y)。因此,导出用于 MotionBuilder 的C3D 文件时,
将Axis 设置设置为 MotionBuilder Compatible,并使用以下标准:
Motive:X轴→设置为负 X→Mobu:X轴
Motive:Y轴→设置为正 Z→Mobu:Y轴
Motive:Z轴→设定为正 Y→Mobu:Z轴
78
4.3.6.3 数据导出:FBX
Motive:Body 可以将跟踪数据导出为 FBX 文件,FBX 文件有两种类型:Binary FBX、
ASCII FBX。
FBX ASCII
导出的 ASCII 格式的 FBX 文件可以包含重建的每个 Marker 点的坐标数据以及每个涉
及的 Asset 的6自由度数据,取决于导出设置。可以通过文本编辑器打开编辑 ASCII 文件。
FBX ASCII 导出选项
FBX 选项
Description
Frame Rate
每秒采集的数据的频率。
Start Frame
导出数据的起始帧。可以将其设置为导出的 Take 数据的第一帧,或者在
Control Deck 或Graph View 窗格中设置的工作范围,或者自定义起始帧。
79
End Frame
导出数据的起始帧。可以将其设置为导出的 Take 数据的最后一帧,或者在
Control Deck 或Graph View 窗格中设置的工作范围,或者自定义起始帧。
Scale
对导出的跟踪数据应用缩放。
Exported FBX
Actors
在导出的文件中包括 FBX Actor。Actor 是动画应用程序(例如
MotionBuilder)中用于显示导入的动作并连接到 Character 的资产类型。
为了使导出的 Actor 动画化,相关 Marker 也需要导出。
Skeleton Names
将导出到 FBX 文件的 Skeleton 资产的名称。默认情况下,导出所有
Skeleton。
Marker Nulls
导出每个 Marker 点的位置。
Skeleton Nulls
导出所选骨架中每个骨段的 6自由度数据。只有在被导出的骨架资产记录已
解决数据时才能导出。
Rigid Body Nulls
导出选定刚体的 6自由度数据。方向轴显示在每个刚体的几何中心上。只有
在被导出的刚体资产有记录的重建数据时才可以导出。
Use Timecode
包含时间码(Timecode)。
Optical Marker
Name Space
覆盖默认命名空间。
Marker Name
Separator
选择标记命名方式,以“:”或“_”作为名称分隔符。在导出数据时,名称分
隔符将用于分隔资产名称和相应的标记名称。导出到 Autodesk Motion
Builder 时,使用“_”作为分隔符。
Units
在导出的 CSV 文件中设置位置数据的单位。
Markers
导出每个 Marker 坐标。
Unlabeled Markers
导出未标签化的 Marker 点数据。
Export Fingertips
包括虚拟重建的指尖数据,仅适用于支持手指跟踪的骨架。
FBX Binary
80
二进制 FBX 文件比 ASCII FBX
文件更精简。此文件类型中不包含重
建的 3D Marker 数据,但通过保存
对应的关节角度和段长度导出选定
的骨架。刚体将会输出起始处的位置
和方向。
FBX Binary 导出选项
FBX 选项
描述
Use Timecode
包含时间码(Timecode)。
Frame Rate
每秒采集的数据的频率。
Start Frame
导出数据的起始帧。可以将其设置为导出的 Take 数据的第一帧,或者在
Control Deck 或Graph View 窗格中设置的工作范围,或者自定义起始帧。
End Frame
导出数据的起始帧。可以将其设置为导出的 Take 数据的最后一帧,或者在
Control Deck 或Graph View 窗格中设置的工作范围,或者自定义起始帧。
Scale
对导出的跟踪数据应用缩放。
Skeleton Nulls
导出所选骨架中每个骨段的 6自由度数据。只有在被导出的骨架资产记录已
解决数据时才能导出。
Skeleton Names
将导出到 FBX 文件的 Skeleton 资产的名称。默认情况下,导出所有
Skeleton。
Marker Nulls
导出每个 Marker 点的位置。
Rigid Body Nulls
导出选定刚体的 6自由度数据。方向轴显示在每个刚体的几何中心上。只有
在被导出的刚体资产有记录的重建数据时才可以导出。
Units
在导出的 CSV 文件中设置位置数据的单位。
Unlabeled Markers
导出未标签化的 Marker 点数据。
81
Export Fingertips
包括虚拟重建的指尖数据,仅适用于支持手指跟踪的骨架。
4.3.6.4 数据导出:BVH
Motive 可以将跟踪数据导出为 BVH(Bio Vision
Hierarchy)文件。BVH 文件中不包含单个 Marker 点
的数据。采用分层式骨骼段关系导出选定的
Skeleton,即在 BVH 文件中,导出主要骨架段(Hips)
的位置信息,并通过关节角度和骨骼段参数来记录后
续骨骼的数据。
每个 BVH 文件只导出一个骨架,包含了在其他软件中表征骨架所需的基本定义。
BVH 导出选项
BVH 选项
描述
Use Timecode
包含时间码(Timecode)。
Frame Rate
每秒采集的数据的频率。
Start Frame
导出数据的起始帧。可以将其设置为导出的 Take 数据的第一帧,或者在
Control Deck 或Graph View 窗格中设置的工作范围,或者自定义起始帧。
End Frame
导出数据的起始帧。可以将其设置为导出的 Take 数据的最后一帧,或者在
Control Deck 或Graph View 窗格中设置的工作范围,或者自定义起始帧。
Single Joint Torso
当设置为 true 时,躯干将只有一个骨架段。当设置为假时,在 Hips 上方的
躯干上将有额外的关节。
Hands Downward
将hands facing downward 设置为导出的 Skeleton 基本姿势
MotionBuilder
Names
根据 MotionBuilder 中使用的骨骼命名方式设置每个骨架段的名称。
Skeleton
设置要导出的 Skeleton 名称
82
Units
在导出的 CSV 文件中设置位置数据的单位。
Scale
对导出的跟踪数据应用缩放。
BVH 文件可以导入到 Autodesk 3ds Max 中,
数据导出时,需做如图所示设置才能保证数据在 3ds
Max 正常使用。
需注意两点:
- Hands Downward 需设置为 True。如果设置
为False,在 3ds Max 中Skeleton 的手部动作将会没有姿态信息,如下图所示:
Hands Downward 设置为 True
Hands Downward 设置为 False
- MotionBuilder Names 需设置为 False。如果设置为 True,BVH 数据文件会因命名方
式不同不能导入到 3ds Max。
83
4.3.6.5 数据导出:TRC
捕获的跟踪数据可以导出到 TRC(Track Row
Column)文件,TRC 文件 mocap 应用程序中的通用
格式。也可以通过电子表格软件(例如 Excel)编辑导
出的 TRC 文件。
TRC 文件中包含来自捕获的原始输出数据,其中
包括来自所选 Take 的每个标记和未标记标记的位置数据。导出的 TRC 文件中不包括预估
的Marker 点位置和骨骼段方向数据。头信息包含基本信息,如文件名,帧速率,时间,帧
数和相应的 Marker 标签。相应的 XYZ 数据显示在文件的其余行中。
注意:导出数据时,单位(Units)设置要与数据下一步要导入的应用中的单位一致,
否则会出现数据放大或缩小等问题。
Y-up 右手坐标系转换成 Z-up 右手坐标系
X轴设置为正 X轴
Y轴设置为负 Z轴
Z轴设置为正 Y轴
即:数据中 X轴数据不变,Y轴数据变为 Z轴数据,Z轴数据*(-1)变为 Y轴数据
84
Y-up 右手坐标系转换成 Y-up 左手坐标系(任一坐标轴取反,其余坐标轴保持不变)
X轴设置为负 X轴
Y轴设置为正 Y轴
Z轴设置为正 Z轴
即:数据中 X轴数据*(-1), Y轴、Z轴数据不变
4.3.6 Data Streaming
Motive 可以通过多种方式,将跟踪的数
据实时传 输 到 其 他 程 序 : Autodesk
MotionBuilder、Visual3D、Unreal Engine
4、3ds Max、Maya (VCS)、VRPN、Trackd。
Natnet SDK 支持用户创建自定义客户端用来
接收数据,数据流选项不需要单独的许可证。
常见的运动捕捉应用依赖于实时跟踪,
OptiTrack 系统旨在提供低延时的数据,
Streaming 窗口中配置选定的服务器通过网
络广播数据。可通过 View 选项下 Data
85
Streaming Pane 或 打开数据传输窗口。
4.3.6.1 NatNet
NatNet 是一种客户端/服务器网络协议,通过网络实时传输(发送、接收)数据,采用
UDP 以及 Multicast 或者 Unicast 通心,将 OptiTrack 系统内的刚体和 Skeleton 数据传输
到客户端应用程序内。使用提供的 NatNet API 工具,可以在各种应用程序中接收到捕获数
据。
1) OptiTrack Streaming Engine 选项
功能选项
描述
Broadcast Frame Data
设置为 True 时广播帧数据。
Local Interface
设置用于广播数据的网口地址
Labeled Markers
设置为 True 时传输标签化的 Marker 点数据
Unlabeled Markers
设置为 True 时传输未标签化的 Marker 点数据
Solver Replaces Occlusion
设置为 True 时传输 MarkerSet 的Marker 点数据,包含所有标
签化标记点的位置的集合。
Rigid Bodies
启用/禁用刚体数据流,包括刚体资产的名称以及中心点的位置
和方向。
Skeleton
启用/禁用当前骨架资产的数据传输。包括骨骼总数及其在
Global\Local 坐标系统中的位置和方向。
Skeleton Coordinates
当设置为 Global 时,跟踪数据将根据全局坐标系来表示。 当此
设置为 Local 时,数据流中每个骨骼骨骼的跟踪数据(位置和旋
转)将相对于其父骨骼表示。默认为 Global
Skeleton as Rigid Bodies
设置为 True 时Skeleton 资产以每个骨骼作为一个刚体传输数
据。
86
Bone Naming Convention
设置数据流中骨骼命名方式,常用方式为:Motive、FBX、
BVH,命名方式必须与数据应用软件的格式匹配。注意:
Motive 2.0 默认设置改为 FBX。
Up Axis
选择数据流中右手坐标系向上的坐标轴。当传输到 Z轴向上的外
部平台(例如:生物力学应用)时,改为 Z Up
Remote Trigger
允许使用远程触发器使用 XML 命令记录。
Type
选择 NatNet 的广播模式:Multicast,Unicast。
Stream Subject Prefix
关联的资产名称作为主题前缀添加到数据流中每个 Marker 点的
标签中。
Stream Visual3D Compatible
常规设置可能与 Visual 3D 不兼容,启用次共鞥你才能将数据传
输到 Visual 3D。
Scale
对传输的位置数据进行缩放。
Command Port
(默认值:1510)指定用于握手 NatNet 服务器和客户端之间
的连接的端口。
Data Port
(默认值:1511)指定用于将数据从 NatNet 服务器传输到客
户端的端口。
Multicast interface
指定组播地址,(默认值:239.255.42.99)。注意:基于
NatNet 2.0 或更低版本将刷数据传输到客户端时,默认组播地
址应设置为 224.0.0.1,数据端口设置为 1001。
注意:NatNet 以四元数形式传输旋转数据。 如果要将旋转数据以欧拉角方式(Pitch-
Yaw-Roll)显示,则需要将四元数据转换为欧拉角。在提供的 NatNet SDK 示例中,
SampleClient3D 应用程序可以将将四元数转换为欧拉角。用于转换的示例算法在
NATUtils.cpp 文件中。
2) Motive 中传输数据
1) 在Motive 中打开 Streaming 窗口。
2) 选择数据流传输的网络接口地址(Local Interface)。
87
3) 选择要传输的数据选项。
4) 传输 Skeleton 的时候,需要根据客户端程序选择合适骨骼命名方式(Bone
Naming Convention)。
5) 在Edit 模式下回放数据或在 Live 模式下创建 Asset
6) 将Broadcast Frame Data 设置为 True。
注意事项:
- IP 地址设置
使用 NatNet 在数据流传输过程中,选择合适的网络适配器(接口、IP 地址)很重要。
建议在运行 Motive 软件的主机上安装多个网络适配器(网口):一个用于相机网络、一个
用于局域网(LAN)。在选择 Broadcast Frame Data 之前,需要设置用于传输数据的网络
适配器,即设置 Local Interface。
a) 如果服务器(Motive)与客户端在同一台电脑上运行,将 Local Interface 设置为
loopback,即客户端处 Local\Server IP 地址为:127.0.0.1。
b) 如果通过局域网传输数据,需要将 Local Interface 设置为对应的 IP 地址,通过该
网口向局域网中广播数据,在客户端(Client)处,需要将其 Server 设置为运行
Motive 的IP 地址,Local 设置为客户端本机 IP 地址。
注意:如果要通过局域网传输数据,Server 与Client 所在主机的 IP 地址需要设置
为同一网段。
88
防火墙或防病毒软件会阻止网络数据传输,因此确保这些应用程序被禁用或设置为允许
访问服务器(Motive)和客户端程序。
在数据传输时,如果客户端接收不到数据请检查以下内容:
a) Broadcast Frame Data 是否设置为 True?
b) 若传输 Skeleton\Rigid Body,是否设置为 True?
c) 服务器(Server)与客户端(Client)的 Network Interface 网络是否设置在同一
网段?
d) 系统防火墙、杀毒软件、路由器防火墙是否阻止数据传输?
- Bone Naming Convention
在数据流传输过程中,骨骼命名惯例格式会为每个骨段进行注释,选择合适的命名方式
以客户端应用程序识别数据内容。例如,当流式传输到 Autodesk 时,命名方式格式应设置
为FBX。
- Coordinate System Convention
Motive(1.7+)使用 Y-up 右手坐标系,坐标系不适用与所有客户端应用程序。需要
修改到与客户端应用程序兼容坐标系。如果想与左手坐标系兼容,最简单的方法是在标定地
平面时将坐标轴在 Y轴旋转的180°。
- Remote Triggering
Motive 中记录功能可以控制其他程序,或者被其他程序控制。通过 UDP 协议向其它
89
程序发送或者接收 NatNet 端口或者 XML 广播的信息。客户端程序可以触发 Motive 开始
记录,同样 Motive 可以触发客户端程序。推荐使用 NatNet 端口。
Motive 开始/停止记录可以通过 XML 数据包传输,通过 XML 信息触发时,Remote
Trigger 必须设置为 True,且必须通过 UDP 端口发送 XML 信息。触发端口被指定为命令
端口(Command Port)的两个增量,即默认为:1510+2=1512。
开始/停止触发数据包的 XML 语法:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<CaptureStart>
<Name VALUE="RemoteTriggerTest_take01"/>
<SessionName VALUE="SessionName" />
<Notes VALUE="Take notes goes here if any"/>
<Assets VALUE="skel1, skel2, sword" />
<Description VALUE="" />
<DatabasePath VALUE="S:/shared/testfolder/"/>
<TimeCode VALUE="00:00:00:00"/>
<PacketID VALUE="0"/>
<HostName VALUE="optional host name" />
<ProcessID VALUE="optional process id" />
</CaptureStart>
<?xml version="1.0" encoding="utf-8"?>
<CaptureStop>
<Name VALUE="TakeName" />
<Notes VALUE="Take notes go here if any." />
<Assets VALUE="skel1, skel2, sword" />
<TimeCode VALUE="00:00:00:00" />
<HostName VALUE="optional host name" />
<ProcessID VALUE="optional process id" />
</CaptureStop>
90
4.3.6.2 VRPN
功能选项
描述
Broadcast Trackd Data
设置为 True 时通过 VRPN 协议传输刚体数据。只可以传输刚体
数据的 6自由度数据。
VRPN Broadcast Port
指定 VRPN 数据流广播端口。(默认值:3883)。
4.3.6.3 Trackd
功能选项
描述
Broadcast Trackd Data
设置为 True 时通过 Trackd 协议传输刚体数据。只可以传输刚
体数据的 6自由度数据。
4.3.6.4 传输协议/插件
传输协议
Markers
Rigid
Bodies
Skeleton
描述
Natnet SDK
Y
Y
Y
可以在本地或网络上传输,NatNet SDK
包含多个用于 C/C++、OpenGL、
Winforms、.NET、C#、MATLAB 和
Unity 的示例应用程序。还包括一个 C /
C ++示例,显示如何直接解码 Motive
UDP 数据包而不使用客户端库(对于诸
如Linux 的跨平台客户端)
AutoDesk
MotionBuilder
Plugin
Y
Y
Y
允许实时传输捕获的 Markers、Rigid
Bodies、Skeleton 信息,插件包括:
OptiTrack Optical Device、OptiTrack
91
Skeleton Device、OptiTrack Insight
VCS
Visual3D
Y
N
N
使用 Visual 3D license
Unity Plugin
N
Y
Y
实时传输 Rigid Bodies、Skeleton 信息
Ureal Engine
4 Plugin
N
Y
N
实时传输 Rigid Bodies 信息
3ds Max
Plugin
N
Y
N
缺乏维护
VRPN
N
Y
N
VRPN(Virtual-Reality Peripheral
Network)包含一个库和一组服务器,
用于实现应用程序和虚拟现实系统中使用
的跟踪设备之间的网络接口。
Trackd
N
Y
N
Trackd 是网络传输协议,用于从跟踪应
用程序(例如 Motive)接收数据,提供
给其他应用程序使用
Motive API
Y
Y
N
不需运行 Motive,,可以访问相机图像
及其他参数
VCS:Maya
N
Y
N
需要单独的 License,将 Rigid Bodies
信息传输到 Maya 以使用 VCS 系统
92
4.3.7 其它常用功能
4.3.7.1 Application Settings
在Motive 中可以在 Edit 选项卡下或点击 打开 Application Settings。注意:除非
必要,否则不建议更改 Application Setting 中设置。下面介绍一些重要设置。
1) General
- Numeric LEDs:在相机 LED 面板中
显示相机 ID。
- Restore Calibration:打开 Motive
时自动加载最新一次保存的标定文
件。
- Camera Status Ring:更改相机状态
环显示颜色。可将颜色设置为黑色,
可减少穿帮。
2) Views
- Reference View Options:在
Perspective View 中显示 Marker、
Rigid Bodies、Skeleton。
- 相机将会随使用升温,内部硬件温度
变化将会影响数据捕捉精度,请勿在
系统通电后立即使用相机。经测试,
93
相机需要在 Live 模式先预热约 1小时才能达到稳定温度。打开 Camera Info 以及
Camera Health Info 监控,相机状态。
3) Skeletons
在此窗口中设置默认的 Skeleton 创建属性,这些属性将会应用于修改之后创建的
Skeleton 中。
注意:这是默认的创建属性。特定的 Skeleton 属性可直接在属性窗口中修改。
4) Rigid Bodies
在此窗口中设置默认的 Rigid Bodies 创建属性,这些属性将会应用于修改之后创建的
Rigid Bodies 中。
注意:这是默认的创建属性。特定的 Rigid Bodies 属性可直接在属性窗口中修改。
5) Live Reconstruction
Reconstruction 窗口包含实时点云重建引擎的参数。运动捕捉系统中 Reconstruction
是从捕获的图像中将 2D 坐标信息重建出 3D 点的过程。Reconstruction 窗口中的参数不
建议更改,尤其是不熟悉功能的情况下。
- Maximum Residual(mm):残差值是单个 Marker 点重建过程中 rays最大允许
偏差距离。
当残差值设置过高时,更多的
Marker rays 会参与重建,有助于
Marker 点重建,提高重建 Marker
点的稳定性;但可能会影响 Marker
点精度。残差值设置太低时,
Marker 点可能会很不稳定,有剧烈抖动。默认值为:2.75,可适当调节。
94
- Marker Labeling Mode : 设 置
Motive 跟踪被动 Marker 点或 Avtive
Marker 点。
4.3.7.2 Measurement
可以在在 Tool 选项卡下打开 Measurement 窗口。
Measurement 有两个工具:Accuracy Tool、Probe。
4.3.7.2.1 Accuracy Tool
Accuracy Tool 用于检查捕捉空间的标定质量和
跟踪精度。此选项卡中有两个工具:Wand
Measurement、Marker Measurement。
Wand Measurement 功能使用与全部标定的捕
捉空间,同时需要使用标定时的 Calibration Wand,
此功能将捕捉到的 Calibration Wand 的长度与已知
的理论长度进行比较,并计算出捕捉空间的误差的百
分比,从中分析跟踪精度。
Marker Measurement 可以测量选定 Marker 点
的位移。可以将此数据与实际位移进行对比,以检查跟踪精度。
操作步骤
1) Wand Measurement
- 在Live 模式下,打开 Tools 选项卡下的 Measurement 窗口。
- 切换到 Accuracy Tool。
95
- 在Wand Measurement 部分,显示用于标定空间的 Calibration Wand 理论长
度,选择匹配的 Calibration Wand。
- 将Calibration Wand 放入捕捉空间。
- 一旦 Motive 检测到相应的 Calibration Wand,就会显示出检测到的长度以及与
理论长度的误差。
2) Marker Measurement
- 在捕捉空间中放置 Marker 点。
- 在Motive 中Perspective View 中选择该
Marker 点。
- 在Marker Measurement 部分点击 Reset
Measurement。
- 移动 Marker 点,将在此窗口显示选中 Marker
点的据对位移。
4.3.7.2.2 Probe
Probe 工具可以测量捕捉空间中精确的 3D 位置。
Probe 上附带多个 Marker 点,可以构成刚体,在
Motive 中,通过检测刚体导航的标记点,可以计算出
探针尖端精确的 X、Y、Z位置,同时可以实时采集亚毫
米级精度的 3D 数据。如果要获得最精确的计算结果需
要对 Probe 进行标定。Probe 标定之后,可以用于采集
单个或多个 3D 采样点,以计算采样点之间的距离或角
度。
96
Measurement kit 包含:
- Probe
- 带有 4个插槽的 Calibration block,每个插槽间距为 100mm。
操作步骤
1) Probe 标定
- 打开 Tools 选项卡下的 Measurement 窗
口。
- 切换到 Probe。
- 将Probe 尖端放置在提供的 Calibration
block 一个插槽中。
- Motive 中设置 Calibration Frames,然后
点击 Start Calibration。
- 采集采样点过程中将 Probe 的尖端作为圆心,缓慢的旋转 Probe,同时保证 Probe
- 尖端放置在插槽中,Motive 会自动计算 Pivot Point 到Probe 尖端。
- 如果 Probe 标定不成功,点击 Rest,重新标定。
- Probe 标定成功之后,Probe 资产会显示在刚体上,Probe 尖端的 X、Y、Z数据
将显示在 Real-Time Probe Measurement 部分。
注意:在标定过程中,Probe 必须固定在插槽中;不要用力按压探头,以免造成变形,
影响结果。
97
2) 采样点采集
- 将Probe 尖端放置在希望采集位置上。
- 点击 Sampling Setting 部分的 Take Sampels
- 此时会在 Perspective View 窗口中虚拟重建一个 Marker 点,并在 Real-Time
Probe Measurement 部分显示其 X、Y、Z信息。
- 采集其它采样点,以计算采样点之间的位置和角度。
3) Set Origin \ Orientation
可以使用标定之后的 Probe 设置捕捉空间的原点以及坐标轴方向。
将Probe 尖端放置在捕捉空间中原点要调整的位置,点击 Set Origin,Motive 中原点
将设置在 Probe 尖端处。
使用 Set Orientation 功能,通过引用 3个采样点重新定位捕捉空间中坐标轴朝向。