视效制作中镜头畸变流程的优化设计

2023-05-15 01:06顾春华丁友东
现代电影技术 2023年4期
关键词:畸变摄像机尺寸

顾春华 丁友东 张 曜

1.上海电影艺术学院影视制作中心,上海 201203

2.上海大学上海电影学院,上海 200072

3.盟图(上海)数字科技有限公司,上海 200052

1 运动匹配(Matchmoving) 概述

在视效制作中,运动匹配常常被人们称为跟踪(Tracking)。因此,从广义角度而言,运动匹配大致可分为二维跟踪和三维跟踪两大类别。其中,二维跟踪又可细分为单点跟踪(One Point Tracking)、多点跟踪 (Multi-points Tracking)和平面跟踪 (Planar Tracking)等;三维跟踪又可细分为固定机位的匹配(Fixed Camera Tracking)、三维摄像机跟踪(Camera Tracking)、物体跟踪(Object Tracking)以及动作捕捉(Motion Capture)等,如图1所示。

图1 运动匹配的分类

从狭义角度而言,运动匹配的主要方面是进行三维摄像机跟踪(或称摄像机轨迹反求)。三维摄像机跟踪是通过对实拍镜头画面中跟踪特征点视差变化的分析和计算,反求出该镜头在实际拍摄时镜头的焦距参数、相机的运动信息以及场景的布局情况等信息。因此,运动匹配也可理解为摄像机的跟踪反求和三维场景的数字化还原。

对于在实拍镜头画面中添加三维资产的视效镜头制作而言,数字艺术家一旦获得虚拟相机和场景信息就可以将制作好的三维模型、三维角色、三维特效和数字绘景等数字资产添加到实拍镜头画面中,并且达到看起来像是由同一摄像机,在同一场景“拍摄”而成的视觉效果。因此,运动匹配为实拍镜头画面与三维元素之间建立了桥梁。[1]

在本文中,由于笔者着重研究关于实拍镜头画面镜头畸变的优化处理,因此本文中所指的运动匹配主要指三维摄像机跟踪。

2 镜头畸变(Lens Distortion) 概述

2.1 镜头畸变的产生原因

在光信号转变为电信号的过程中,由于摄像机光学系统并不是精确地按理想化的小孔成像原理工作,物体点在摄像机成像面上实际所成的像与理想成像之间存在有光学畸变误差。[2]因此,由于透镜中央区的放大率与边缘区的放大率不一致导致成像画面偏离理想位置出现拉伸或压缩的图像变形现象被称之为镜头畸变。镜头畸变的程度从画面中心至画面边缘依次递增,画面边缘反映得更为明显。在实际应用中,摄像机镜头畸变现象是不可避免的,不论镜头的光学设计如何精密都无法消除镜头畸变。但是,镜头畸变并不影响成像画面的清晰程度,只会改变成像画面的形状。[3]

2.2 镜头畸变的分类

对于光学镜头而言,畸变误差主要分为径向畸变、离心畸变和薄棱镜畸变。这三种畸变均会引起像点的径向偏差,其中,离心畸变和薄棱镜畸变还会引起切向偏差。径向畸变一般是由镜头的形状缺陷所引起的,如径向曲率的变化,该畸变使像点沿径向偏移。[4]拍摄电影所使用的镜头一般都采用更为精密的加工处理,因此畸变系数相对较小且都属于径向畸变。径向畸变分为桶形畸变(Barrel Distortion)和枕形畸变(Pincushion Distortion)两种。

桶形畸变是由镜头中透镜物理性能以及镜片组结构引起的成像画面呈桶形“膨胀”的画面失真现象。因此,桶形畸变也常称为桶形失真。在使用广角镜头或使用变焦镜头的广角端时,最容易出现桶形失真现象。当画面中含有直线 (尤其是靠近画面边缘的直线)的时候,桶形失真最容易被察觉。与桶形失真相对的是枕形失真。

枕形畸变是由镜头中透镜物理性能以及镜片组结构引起的成像画面呈枕形“收缩”的画面失真现象。因此,枕形畸变也常称为枕形失真。在使用长焦镜头或使用变焦镜头的长焦端时,最容易出现枕形失真现象。当画面中有直线 (尤其是靠近画面边缘的直线)的时候,枕形失真最容易被察觉。与枕形失真相对的是桶形失真,如图2所示。

图2 桶形畸变和枕形畸变

2.3 视效制作中镜头畸变处理

在视效制作中,镜头畸变的处理几乎贯穿于整个视效流程:从片场拍摄部门 (On-set Department)在拍摄现场的数据采集到三维置景部门(Layout Department)对实拍镜头画面进行相机反求和场景创建再到数字合成部门 (Compositing Department),将三维渲染或数字绘景等元素真实、无痕地匹配合成到实拍镜头中,都需要考虑或面对镜头畸变的处理。在跟踪环节,由于使用广角镜头或长焦镜头拍摄的画面往往都会产生不同程度的镜头畸变现象。如果未经镜头畸变校正处理,直接使用含有镜头畸变的原始镜头进行跟踪反求将无法获得正确的结果。[5]同时,由于三维软件中的虚拟摄像机不表现任何镜头畸变特征,因此,为模拟真实相机和物理镜头的成像特征,在三维渲染等元素的视效处理过程中(尤其是实拍镜头画面中合成三维元素),通常需要进行镜头畸变正向去除与反向添加的处理。我们将镜头畸变的处理过程称之为展开(Flattening)或复原(Unwarping)。[6]

2.4视效制作流程中运动匹配和镜头畸变处理流程

运动匹配是实现三维渲染或数字绘景等元素与实拍镜头画面在运动轨迹和透视比例等方面进行匹配的重要技术之一。运动匹配在视效制作过程中大致可归纳为以下流程。

首先,跟踪师使用跟踪软件对在片场使用相同镜头及参数拍摄的棋盘格图像(Checker Board)素材和原始镜头进行计算,一方面用于获得镜头的畸变信息,另一方面基于输出 (或创建)的去畸变镜头(Undistortion Plate)进行跟踪反求,进而创建虚拟摄像机(3D Camera)、三维场景(3D Scene)以及场景点云(Point Cloud)等三维资产。

然后,下游的动画师或三维特效师等再将以上三维资产导入三维软件,并以去畸变镜头画面为参考进行三维动画设计和三维视效制作。

最后,合成师需要将上游所发布的三维渲染或数字绘景等元素合成匹配到实拍画面中。同时,由于三维软件中的虚拟摄像机不表现镜头畸变现象,即三维软件渲染得到的三维元素往往不带任何的镜头畸变信息。因此,合成师还需要将镜头畸变信息反向添加到未含有镜头畸变信息的三维渲染或数字绘景等元素之上,从而匹配实拍镜头画面的镜头畸变信息。

在视效制作流程中,运动匹配部门发布的虚拟相机和三维等数字资产不仅可以供动画和特效等部门使用,还可以供其它部门使用。例如,合成师基于三维摄像机反求输出的虚拟摄像机进行三维摄像机投影技术 (Projection)的综合应用。虽然运动匹配在影视视效制作过程中扮演着不可或缺的角色,但是对于跟踪精准的视效镜头,观众在最终的画面中是看不出其痕迹的,[7]如图3所示。

图3 运动匹配在视效制作过程中的流程关系图

3 基于影视“全流程”下镜头畸变方案的实现

3.1 目前视效行业对镜头畸变的处理现状

虽然镜头畸变对画面的影响非常微妙,但是精准的镜头畸变却是画面真实感体现的重要因素。目前,很多项目在实际制作过程中由于拍摄现场的数据记录问题或运动匹配反求计算的精度问题,常常使得镜头畸变的结果较不准确。另外,对实拍镜头画面进行镜头畸变正向去除与反向添加的过程中势必会引起去畸变镜头画面尺寸的放大或缩小,从而对动画、特效、灯光及合成等下游环节带来诸多不便与麻烦。很多项目在实际制作过程中往往对镜头畸变仅作粗略的处理,更有甚者,在制作过程中完全不考虑镜头畸变的处理。因此,当前视效制作中镜头畸变的流程有待优化与提升。

为便于描述和理解,本文所指的“全流程”具体是指与镜头畸变处理紧密联系的视效制作环节,例如跟踪反求、动画制作、特效制作、灯光渲染以及后期合成等。

3.2 镜头畸变流程的优化设计

3.2.1目的与意义

由于该方案的设计旨在使镜头畸变正向去除与反向添加流程中始终确保去畸变镜头的画面尺寸与实拍镜头画面的画面尺寸保持完全统一。因此,本方案不仅减少以往流程中的不便与错误,而且规范视效制作的流程,提高视效镜头的真实感。同时,由于数字合成贯穿于镜头畸变正向去除与反向添加流程的始末,笔者将以数字合成制作角度作为切入点,基于主流合成软件Nuke为平台进行镜头畸变的优化与设计。

3.2.2流程设计

首先,笔者将基于在片场使用相同镜头及参数拍摄的棋盘格图像素材或使用LensDistortion节点等常规方式获得镜头的畸变信息;然后,添加位移变换 (Transform)节点并利用表达式语句对去畸变镜头画面的宽、高以及中心点进行设置。最后,再次使用Transform 节点并对合成画面进行反转操作以反向添加镜头畸变信息。

3.2.2.1镜头畸变的正向去除

专业级别的镜头跟踪与反求软件都具有镜头畸变处理的插件与流程,例如3DEqualizer提供了镜头畸变导出套件插件 (Lens Distortion Plugin Kit)以使得Nuke 11或更高版本中的LensDistortion节点可以直接读取3DEqualizer的镜头模型数据并非常方便地将3DEqualizer 反求的镜头数据导入到Nuke中使用;PFTrack 早期也提供了工具PFBarrel for Nuke插件以使在Nuke软件中使用PFTrack导出的镜头畸变模型。但是,随着镜头模型数量的增加与各类合成软件的兼容性等原因,目前普遍使用STMap数据图进行镜头畸变信息的传递。另外,对于画面内容较为简单的实拍镜头,也可直接使用NukeX 中的LensDistortion (镜头畸变)节点进行镜头畸变的大致处理。当然,对于较高标准的镜头畸变处理,往往需要在片场使用相同镜头及参数拍摄棋盘格图像素材,以供后期合成部门精准处理相同场次镜头的镜头畸变信息。

本文中,由于主流跟踪软件3DEqualizer 与Nuke软件也可通过LensDistortion节点进行传递,因此笔者使用LensDistortion1节点进行镜头畸变的正向去除。

3.2.2.2使用表达式语句设置去畸变镜头画面尺寸

在镜头畸变的正向去除过程中势必会引起画面尺寸的改变。一般情况下,桶形畸变的镜头去除镜头畸变后会呈现画面尺寸放大的情况;枕形畸变的镜头去除镜头畸变后会呈现画面尺寸缩小的情况。因此,为了使去畸变镜头的画面的尺寸与原始镜头画面的画面尺寸保持一致,笔者将使用Nuke中的Transform 节点并利用表达式语句对去畸变镜头画面的宽、高以及中心点进行设置。

首先,将Transform1 节点连接于镜头畸变正向去除节点下游并对缩放 (Scale)属性控件编译以下表达式语句:

1/ (sqrt(pow ((input.bbox.r-input.bbox.x),2)+pow ((input.bbox.t-input.bbox.y),2))/sqrt(pow (width,2)+pow (height,2)))

即,计算输入的去畸变镜头画面的边界框(Bounding Box)对角线与原始镜头画面对角线相除后的倒数,从而获取精准的缩放参数值;

然后,对中点心 (Center)属性控件编译以下表达式语句:

x:width/2 y:height/2

即计算原始镜头画面的中心点参数值,从而确定去畸变镜头画面缩放中心点的位置。

通过以上设置,笔者基本上已经将去畸变镜头的画面尺寸与原始镜头的画面尺寸作了缩放匹配,此时两者的画面尺寸保持统一。在实际制作过程中,数字合成师也常会将去畸变镜头序列进行预合成输出以供下游或其它部门使用。同时,为确保去除边界框外的像素信息,在渲染输出前也可添加裁切(Crop)节点或尺寸重设 (Reformat)节点进行画面尺寸设置,如图4所示。

图4 使用表达式语句获取去畸变镜头画面的缩放参数值和缩放中心点

3.2.2.3基于相同画面尺寸和镜头畸变进行各类资产的设计制作

此时,渲染输出的去畸变镜头序列可用于跟踪反求和下游灯光渲染、数字绘景、动效和光效元素及其它未含有镜头畸变信息的数字资产的设计制作。由于此时实拍镜头画面与去畸变镜头以及各类数字资产都基于相同画面尺寸而制作,因此可以有效避免因画面尺寸不统一而带来的诸多问题。

3.2.2.4镜头畸变的反向添加

完成镜头的合成匹配后,为模拟真实相机和物理镜头的成像特征,数字合成师还需要进行镜头畸变的反向添加处理,从而使去畸变镜头、三维渲染元素、数字绘景元素及其它未含有镜头畸变信息的数字资产都获得同原始镜头一致的镜头畸变信息。

另外,在实际项目制作过程中,数字合成师仅需将镜头畸变信息反向添加于三维渲染和数字绘景元素及其它未含有镜头畸变信息的素材之上。因为如果最终合成画面中的实拍镜头画面由去畸变镜头反向添加畸变信息经图像变形而来,或多或少会引起画面质量的损失。同时,对于桶形畸变而言,由于反向添加镜头畸变信息后会引起合成添加元素画面尺寸的整体缩小 (尤其是靠近画面边缘区域或合成添加的元素含有出画或入画的动画情况)。为避免反向添加镜头畸变信息带来的缩放裁切问题,在灯光渲染环节有必要提高过扫描 (Overscan)属性参数值,以使最终渲染输出的画面尺寸稍大于原始镜头画面的画面尺寸。

镜头畸变的反向添加或多或少也会引起画面尺寸的改变。因此,在反向添加镜头畸变信息之前,笔者首先进行画面尺寸的处理。由于在镜头畸变正向去除过程中,笔者使用了使用表达式语句设置了去畸变镜头画面尺寸。因此,在镜头畸变反向添加过程中,笔者只需使用Transform2 节点并对其进行反转操作。

首先,拷贝Transform1节点并将粘贴新生成的Transform2节点连接到未含有镜头畸变信息的数字资产下游。打开Transform2节点属性面板箱(Properties Bin)面板并勾选反转(Invert)选项,如图5所示。

图5 再次使用Transform 节点并对其进行反转操作

完成画面的尺寸处理后,笔者将进行镜头畸变的反向添加,拷贝镜头畸变正向去除中所使用的LensDistortion1节点并将粘贴新生成的LensDistortion2 节点连接到Transform2 节点下游。打开LensDistortion2节点Properties Bin面板并将Lens-Distortion标签页中的未畸变(Undistort)属性控件进行取消勾选。同样,为确保去除边界框之外的像素信息,数字合成师也可在渲染输出之前添加Crop节点或Reformat节点进行画面尺寸设置。

最后,笔者再对视效制作中镜头畸变的正向去除与反向添加优化设计流程进行梳理,如图6所示。

图6 视效制作中镜头畸变的正向去除与反向添加优化设计流程图

由于在实际项目制作中最终合成画面中的实拍镜头画面不能由去畸变镜头反向添加畸变信息通过图像变形而来,因此最终合成画面可优化为由原始镜头与反向添加镜头畸变的三维渲染、数字绘景及其它未含有镜头畸变信息的数字资产所组成,如图7所示。

图7 镜头畸变的正向去除与反向添加优化设计流程图

4总结

本文基于视效制作全流程以数字合成制作角度为切入点,基于主流合成软件Nuke为平台进行镜头畸变的优化设计,从而实现在不改变画面尺寸的情况下处理镜头畸变的正向去除与反向添加。该优化设计不仅使得视效全流程都能够基于相同的画面尺寸开展视效设计与制作,而且有效解决因镜头画面尺寸不统一而带来的诸多不便与错误。希望能够对视效制作人员在处理镜头畸变与镜头跟踪等制作工作有所参考。❖

猜你喜欢
畸变摄像机尺寸
尺寸
CIIE Shows Positive Energy of Chinese Economy
在Lightroom中校正镜头与透视畸变
D90:全尺寸硬派SUV
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
佳石选赏
如何消除和缓解“摄像机恐惧症”
辐射诱导染色体畸变的快速FISH方法的建立
《癌变·畸变·突变》2014年第26卷索引