【动捕小灶】光学动捕基础原理
由于近期较忙,所以知乎有一阵子没有更新了,在这里跟关注我专栏的朋友们说声抱歉,接下来本人将继续不定期为大家分享关于捕捉技术的各种消息以及行业内相关软硬件设备的使用方式和技巧。
不少朋友对于光学捕捉技术有较大的疑问,相比惯性捕捉来说,似乎光学捕捉的原理要更为复杂,设备使用也有更强大局限性,但是实际上,两者对于人体捕捉的原理还是有一定相似之处的。
如图所示,这是光学相机厂家 Optitrack 文档提供的连接示意图,可以看到,光学镜头通过 POE网线连接到交换机,同时用来安装动捕软件的计算机通过交换机连接到同一局域网环境中。这样的连接可以构成一个光学捕捉的最小系统,大多光学捕捉系统的捕捉标准是:三个光学镜头同时捕获到场地中的 Marker点,则该 Marker 点被捕捉系统识别为有效点
光学镜头本身会对外发射红外光,目前市面上主流镜头的光谱谱段在 850nm 左右,红外光在捕捉场地中接触到反光体,产生反射,当反射强度达到捕捉的阈值后,相机将反光信息采集到软件中,识别为点,下面是单个相机采集到的空间中的点位信息示意图
如果只有一个相机的话,我们采集到的只是一幅2D的图像,但是由于我们的场地中有多个相机,并且我们在使用动捕之前对相机的高度进行了标定,因此相机的高度对我们来说是已知的,因此多个相机采集的信息,就可以在动捕软件中被还原为3D的点云信息,如图所示
这个时候动捕软件会对这些点云信息做人体标定,也就是我们常见的,软件把一堆点位信息突然就变成了一个人的模型,其实这一步里面经历了几个过程
点云数据进行分类和标签
之所以让动捕演员摆TPose来进行人体标定,就是因为在TPose状态下,动捕演员的身体辨识度是最高的,点位之间也不会出现重合或者距离过近导致的识别错误,在这个状态下,软件可以根据预制的模板,轻松地识别出,采集到的点位都来自于人体的什么位置
骨骼测量
每个动捕演员的骨骼长度都是有一定差异的,不同骨骼长度在还原动捕姿态的时候效果也是不一样的,就好像一个一米八的人一步半米我们觉得还OK,但是一个一米四的人一步跨半米,就有点像劈叉了,所以在我们让动捕演员穿上动捕服摆TPose进行人体标定的时候,实际上动捕软件根据这些点位,完成了一个人体骨骼测量的过程。而这一测量的依据,来源于预设的人体模板,当动捕软件知道了点位标签之后,根据这些标签所代表的关节点,软件就可以自动计算出人体各个关键骨骼的长度
计算出骨骼长度之后,动作捕捉软件就可以根据采集到的捕捉信息,实时对人体姿态进行解算了,只要不同时丢失过多的点位,算法就会自动追踪这些带标签的点位,是如何进行运动变化的,并将核心关节的旋转信息,记录或者转发出来,到这里为止,就是光学捕捉的基础追踪原理了
光学和惯性的相似之处在什么地方
从捕捉上来讲,红外光学和惯性,以及激光,计算机视觉等分支,采用的确实是不一样的技术,但是从本质来说,捕捉数据的转换和处理是比较类似的。所有格式的动捕数据本质上还是对人体姿态的还原,数据的主体都是人体关键节点的旋转角,通过预设的骨骼进行帧姿态的解算和还原。因此光学和惯性除了捕捉方式之外,数据的呈现并无太大差异,条件允许的话,大家可以自行去拿一些标准的动捕数据进行一下比较和对照,就能看出一些端倪。
2020年由于疫情原因,国外的影棚受到了较大的业务冲击,惯性动捕在这种情况下成为了Work At Home的首选,刺激了不少相关厂商的销量,对于该领域的学习来说,建议在校的同学可以多接触几种不同方向的捕捉方式,这样可以根据未来的行业变化,快速调整自己的能力来适应时代发展。
除此之外,由于疫情的逐渐解封,本人也希望能到更多相关领域的厂商进行交流和学习,欢迎同行们加微信进行小窗交流。