APP下载

影视后期中运动跟踪技术的实现与比较

2015-03-07霍智勇南京邮电大学教育科学与技术学院江苏南京210023

科技传播 2015年10期

梁 爽,霍智勇南京邮电大学教育科学与技术学院,江苏南京 210023

影视后期中运动跟踪技术的实现与比较

梁爽,霍智勇
南京邮电大学教育科学与技术学院,江苏南京210023

摘要在计算机生成图像的应用领域,运动跟踪技术是其中非常重要的关键技术之一,并且随着应用的深入,越来越显示出其重要性。本文实验研究了三种运动追踪技术,对其原理和效果进行研究和探讨,整理和总结出一套相对详细和完整的跟踪方法,为对这一技术有兴趣的人们提供一些理论帮助。本文还分别对三种跟踪技术进行了工作原理介绍、常见问题分析和解决以及实验结果的展示,对三种运动跟踪进行了多方面的比较解释了各种追踪技术的优势。

关键词运动跟踪;二维跟踪;三维跟踪;摄像机跟踪;CG合成

霍智勇,教授,工作单位:南京邮电大学,研究方向:教育技术学、数字媒体技术、三维动画等

0 引言

随着影视传播业的发展,人们越来越不满足于单纯的剧情记录片,在场景效果制作方面也越来越精益求精。于是,人们慢慢开始探索如何在某一处场景中合理的置入其他元素,要想将电脑生成元素完美地合成在一个画面中,就必须应用到影视后期技术中重要的运动跟踪技术,以使画面互相匹配,看起来就像元素真实的存在于场景中。

运动跟踪技术的前身是运动控制技术。该技术需要一套装备,包含一架运动控制装置,一架摄像机和一台电脑,三者合作共同实现运动控制技术装置的控制[1]。它的产生与发展可以轻松地解决许多之前技术无法解决的问题。但是由于运动控制装置对场地的局限性和昂贵的成本,运动跟踪技术很快就将其取而代之。运动跟踪技术很早就广泛运用于国外影视行业,比如《星球大战》[2]之后的《黑客帝国》、《泰坦尼克号》、《侏罗纪公园》、《后天》等。这些电影因为有了运动跟踪技术才能如此真实完美的呈现在我们眼前。

在近期上映的电影《速度与激情7》中。男主角保罗·沃克因车祸无法出演,导演及制作团队运动最终决定由保罗的两个兄弟出演,拍摄过程中,保罗的兄弟脸上布满了标记点,之后通过对其标记点的运动跟踪,将男主角保罗CGI制作出的面部表情合成到保罗兄弟的脸上。

运动跟踪技术的产生与发展大大简化了CG工作者的工作量。虽然这一技术现在已基本发展成熟,在影视中也应用较为广泛,国外这方面的著作比较多,但很多都是以Tim Dobbert 所著的《Matchmoving: The Invisible Art of Camera Tracking》为依据来编写的。[3-4]国内对于这一技术的探索还比较少,特别是学生,极少有对这一方面的尝试与学习[5]。

1 基于Mocha的二维跟踪

1.1二维跟踪的原理

二维跟踪一般分为点跟踪和面跟踪,点跟踪是对一个点或双点进行跟踪,面跟踪则是以源素材的四个追踪点来约束目标图形的四个角点,自动匹配。一般用来追踪的目标物都是矩形或平行四边形,比如电视屏幕。本文中主要涉及的是二维跟踪的面跟踪。

面跟踪主要是通过点的相对位置运动来求出其跟踪平面的位置、翻转和透视状态。再将新的元素依照其透视平面进行合理安置。

1.2二维跟踪的实现

对源素材设置入点和出点,确定跟踪时间范围。通过添加点的方式框选出跟踪目标所在区域,如果在运动过程中跟踪目标被其他物体遮挡,需要对遮挡物体添加蒙版遮罩。跟踪过程中,如果出现跟踪不准确的情况时对跟踪进行调整。(如图1所示)

1.3 二维跟踪实现合成

二维跟踪实现合成的原理是利用After Effects将二维跟踪得到的运动情况的数值信息匹配到合成元素的平面上,通过源素材和合成元素的匹配重叠实现两者的合成。(如图2所示)

2 基于3DS MAX的三维跟踪

2.1 三维跟踪的原理

三维跟踪主要可以分为两种,一种需要将实际场景中的特征点与三维虚拟空间中构建标记点进行匹配来完成,比如:3DS MAX;另一种是计算机“全自动”地根据拍摄场景在视频中的变化来仿真出实际场景的三维位置模型,如: PFTrack[6]。

基于3DS MAX的三维跟踪是需要首先在实拍的场景标记出特征点,而且这些特征点要有远近高低之分,并且要测量特征点之间的距离和位置。之后在三维软件中按照特征点之间的位置关系和距离关系建出这些特征点的位置模型(之后将这些模型称为“标记点”),通过实景中的特征点和三维软件中的标记点关联,根据特征点的运动在三维软件中反求出摄像机的运动轨迹。

2.2 基于3DS MAX三维跟踪的实现

首先要在场景中做出特征点并记录下这些点的相对位置参数。之后,根据特征点位置参数在三维软件中使用Camera Match工具建立出相对应的标记点。最后,利用Camera Tracker工具实现特征点和标记点的匹配。(如图3所示)当出现两点位置不匹配时,对错误帧重新调整进行跟踪。当特征点消失时,调节该标记点的跟踪帧范围。确认没有标记点处于“incomplete”和“error”的状态时生成的摄像机。

2.3 基于3DS MAX三维跟踪实现合成

三维跟踪的CGI合成是通过使用三维跟踪求出的摄像机对新建立的CGI元素进行拍摄并导出摄像机视图,之后与源素材进行二维图像的覆盖来实现。(如图4所示)。

3 基于Boujou的摄像机跟踪

3.1 摄像机跟踪的原理

摄影机跟踪是计算机通过对二维画面进行像素检测、画面内元素的运动分析,得到原始景物在虚拟三维坐标中前后左右的位置信息和纵深关系,进而通过构建三维虚拟拍摄场景找出原始拍摄时摄影机运动的轨迹。[7]它是把本身在拍摄过程中无法记录下来的摄像机运动轨迹通过分析画面素材的方式计算出来。这个摄像机的轨迹可以应用到三维软件当中,使得在三维空间内获得与拍摄二维图像素材时同样的摄像机运动,通过这样使三维摄影机记录下来的角色动画或者特技都拥有与二维图像素材完美的运动匹配,从而得到以假乱真的效果。[8]

Boujou摄像机跟踪与3DS MAX三维跟踪根本上不同的一点在于摄像机跟踪可以自动分析源素材视频文件,自动定义素材中的特征点,无需人为手动寻找添加特征点和标记点,这样可以对特征点大量采样进行摄像机匹配,并且利用大量采样求平均值使摄像机运动解析更加准确。

3.2 摄像机跟踪的实现

首先,对导入的源素材中运动的部分建立蒙版工具进行遮罩[9],之后进行特征点大小和多少的跟踪选择和对特征点的运动跟踪[10],运动跟踪之后可以看到图像上特征点的运动轨迹,选择Camera Solve工具进行摄像机解析,反求出摄像机的运动轨迹。在Boujou的三维视图中可以看到摄像机的运动轨迹和特征点的远近分布情况。设置坐标系统[11],导出摄像机。(如图5所示)

3.3 摄像机跟踪实现合成

首先,在三维软件中运行摄像机跟踪软件中导出的脚本文件,其中记录了大量的时间和特征点信息。接下来,在场景中制作三维模型和运动动画,使用反求出的摄像机对三维模型进行拍摄,得到一段二维运动图像。最后,将得出的二维运动图像匹配覆盖在源素材上完成CGI合成(如图6所示)。

4 实验结果比较与展示

4.1 不同透视变化的二维跟踪效果比较

二维跟踪中的面跟踪是通过点来推断出跟踪目标的平面变化,从而将变化的数值导出赋给需要合成的CGI或图像元素完成元素和实际场景匹配。当跟踪目标平面的透视变化不大时,选择透视与不选择透视得出的跟踪结果区别并不大(如图7所示),但当透视变化比较大时,选择透视的预设可以比不选择透视预设得出的跟踪结果更为准确(如图8所示)。但是选择跟踪透视变化的解算过程需要进行的计算量比较大。因此,只有当目标平面存在明显的透视变化时才会选择透视的预设条件。

4.2 摄像机跟踪的不同参数结果比较

4.2.1不同采样值的摄像机跟踪效果比较

摄像机跟踪的效果好坏与特征点采样值有很大关系。图9所示分别为采样值低、中、高时得到的Camera Solve结果。

当采样值较低时,摄像机没有足够的点来匹配得出摄像机,摄像机跟踪出的数据在合成中就可能出现CGI元素与场景不匹配,发生抖动或偏移的情况。采样值适中时,采样点分布较为密集,Camera Solve结果也基本令人满意,拥有足够的Camera Solve点来反求摄像机的运动情况。当采样值大时,采样数量更多,但摄像机解算点并没有采样值适中的时摄像机解算点多,而且这时摄像机解算结果出现偏差(如图10所示)。这种结果的产生可能是由于摄像机跟踪软件其自身特性——对所有采样点运动结果求平均值所导致的。因此,如果采样点运动跟踪出错的点更多了,摄像机跟踪解算结果的错误也会更多。

因此,并不一定采样值越多的情况效果就越好,需要根据源素材进行分析,找出更适合的跟踪采样方式。

4.2.2不同特征大小的摄像机跟踪效果比较

当采样度适中,图11所示分别为特征点取“正常大小”和“大”时的摄像机解算结果。

当特征点取正常大小时,采样数量较多,最终的摄像机解算结果点数量也较多。但是,解算结果中很多点都是蓝色的,表示这些点并没有跟踪上。当特征点选择“大”时,采样点数量少了许多,但解算结果准确度更高,更适合我们在这个实例中使用。

4.3 三维跟踪和摄像机跟踪的效果比较

三维跟踪和摄像机跟踪都是由特征点运动还原摄像机运动来实现,我们可以对它们的效果进行一个比较。

首先,摄像机跟踪对源素材特征点的提取更多,运动记录也更多。另外,摄像机跟踪无需三维空间中标志点的手动添加。之后,由特征点的运动来解算摄像机运动的过程中,同样是摄像机跟踪得到的摄像机运动轨迹与实际场景中的摄像机运动轨迹更加切合。但是摄像机运动跟踪的数据计算量要多于三维动态跟踪。最后,在场景中添加一个测试物,观察运动是否与源素材中摄像机的运动相匹配。当摄像机运动时,测试物与桌面的位置基本保持不变。而三维跟踪软件中,由于之后的帧摄像机运动较为剧烈,测试物和桌面出现匹配偏移,但在摄像机运动比较平缓的时间,测试物和桌面都可以达到合理的匹配。

三维跟踪和摄像机跟踪方式各有千秋,比如三维跟踪方式可以在发现出现错误的地方及时进行手动修改调整,且三维跟踪的方式计算量更小。而摄像机跟踪的方式对源素材局限更小,无需添加特征点标记,更加快捷。因此,跟踪方式的选择要依源素材而定。

5 结论

本文对运动跟踪中的二维跟踪、基于3DS MAX的三维跟踪和摄像机跟踪原理和工作流程进行了详细的阐述。三者各有千秋,二维跟踪在处理动态图像中的单一、简单的目标时优势比较大,计算量较小,操作和原理都比较简单,易于学习。基于3DS MAX的三维跟踪在场景较为简单时更凸显其优势,操作者可以针对其中的任意一帧进行跟踪方面的调整。摄像机跟踪可以完全地利用计算机获取更多的采样点。对于画面运动较为复杂,环境因素复杂的场景更具优势。

运动跟踪技术的应用非常广泛,在很多领域都可以得到实践。目前运动跟踪技术最常见的应用领域是在影视行业,但随着科技发展,未来可以或许可以将其运用于游戏产业甚至工业制作方面。现在运动跟踪技术已由之前的软件实现形式逐步进化为运动捕捉技术。从原理层面来看,运动捕捉技术也可以看作是一个升级的运动跟踪技术。通过对运动跟踪技术和运动捕捉技术的改进可以使人们在未来更精确地完成更多的工作。

参考文献

[1]宋雷雨.真实的虚拟世界- 3dsmax, boujou,digitalfusion 合力打造[J].视听界(广播电视技术)2006 (5):78-79.

[2]李文静.运动追踪技术在影视制作中的应用[D].陕西科技大学,2012.

[3]Hornung E.The art and technique of matchmoving:solutions for the VFX artist[M].Taylor & Francis,2010.

[4]Dobbert T. Matchmoving: the invisible art of camera tracking[M].John Wiley & Sons, 2006.

[5]李昱,周进.数字影视后期制作高级教程[M].中国青年出版社,2001.

[6]顾春华.PFTrack三维跟踪及其应用[J].影视制作,2014(7):42-47.

[7]任达.摄像机运动轨迹跟踪技术在影视制作中的应用[J].科技传播,2012(16):8-10.

[8]刘通.打开三维与二维结合的钥匙[C]//2009中国电影电视技术学会影视技术文集.2010.

[9]何清超.用Boujou Three实现摄像机轨迹反求(上)[J].电视字幕(特技与动画),2006(4):36-39.

[10]何清超.用Boujou Three实现摄像机轨迹反求(中) [J].电视字幕(特技与动画),2006(5):31-35.

[11]何清超.用Boujou Three实现摄像机轨迹反求(下) [J].电视字幕(特技与动画),2006(6):36-39.

作者简介:梁爽,在校学生,所在院校:南京邮电大学教育科学与技术学院,研究方向:数字媒体技术

基金项目:本文受江苏省教改研究立项课题“云课程平台的新型网络教学模式研究和实践”(2013JSJG224);南京邮电大学教改立项重点课题“基于云课程平台的新型网络教学模式研究和实践”(JG00813JX06)支持

中图分类号TP3

文献标识码A

文章编号1674-6708(2015)139-0080-04