Nuke镜头畸变校正详解-前期拍摄细节与后期校正方法(详解)

VFX大学 Nuke合成影视制作 Nuke镜头畸变校正详解-前期拍摄细节与后期校正方法(详解)

正在查看 7 条回复
  • 作者
    帖子
    • #49226

      韩十七
      参与者
      青骑士

      各位V友们大家好,好久没有分享了,今天详细的补充了下镜头畸变的知识,并整理了一下分享给大家。
      什么是镜头畸变?

      拍摄的原始素材 镜头畸变校正后

      在谈到镜头畸变校正处理之前,我们先来补补理论。
      镜头畸变实际上是光学透镜固有的透视失真的总称,也就是因为透视原因造成的失真,这种失真对成像质量是非常不利的,毕竟摄影的目的是为了真实再现,而非夸张,但因为这是透镜(光学镜头)的固有特性(凸透镜汇聚光线、凹透镜发散光线),所以无法消除,只能改善。高档镜头光学设计以及用料考究,利用镜片组的优化设计、选用高质量的光学玻璃(如萤石玻璃)来制造镜片,可以使透视变形降到很低的程度。

      通过镜头工艺完全消除畸变是不可能的,目前最高质量的镜头在极其严格的条件下测试,在镜头的边缘也会产生不同程度的变形和失真。

      常见问题:

      镜头畸变校正的前期棋盘格采样拍摄(这是国内很多拍摄流程中缺少的一环)

      用相同的镜头,焦距和传感器尺寸,以及使用同一张棋盘格作为采样拍摄,这使得后期计算失真更容易而且速度快。如果你在拍摄中使用了采样棋盘格,你会发现后期处理起来其实是一件很简单的事情。

    • #49231

      韩十七
      参与者
      青骑士

      使用Nuke中使用棋盘格进行镜头畸变计算校正

      相机原始素材 同相机同镜头拍摄的棋盘格

      网格校正适合于使用棋盘格或者平直细线。这里有一点需要注意:如果你前期拍摄了棋盘格或者细线阵列,那么我们这里才有使用grid(网格)校正的基础条件。

      nuke中使用网格计算镜头畸变模型:

      1  我们需要读取棋盘格素材,并添加LensDistortion节点连接到View节点上。

      2 在控制面板的下拉菜单中设置 type(镜头类型)和projection(投影)。在这个例子中,我们的设置是Spherical(球面)』 and Rectilinear(直线)。

      3 如果您使用的是鱼眼镜头,则需要选择“defish”镜头。您可以通过选择正确的投影设置(例如Fisheye Equisolid),输入焦距和传感器尺寸来完成此操作。

      提示:如果您不知道焦距,请将输出模式切换为Undistort并调整焦距,直到图像中的曲线看起来大致笔直。在继续之前,不要忘记切换回Mode(模式)> STMap

      4 设置Distortion模型预设以用于计算。 NukeX提供了几种型号,可与CaraVR3DEqualizer一起使用Classic Model 同样适配于NukeX

      您选择的模型设置适当的失真模型控件并填充Distortion Equation(只读失真方程字段),显示估算中涉及的算法。

      5 LensDistortion节点自动在当前帧上添加关键帧,您可以使用或全部按键添加更多关键帧。

      在必要的时候,添加关键帧可以为长序列影片计算出更好的结果,但计算结果需要更长的时间。

    • #49233

      韩十七
      参与者
      青骑士

      6 单击Detect(检测)以开始计算网格校准。默认情况下,Nuke在棋盘格上寻找Features(特征点),然后在这些要素之间创建Links链接并自动创建失真网格模型。

      提示:对于复杂镜头,您可以在FeaturesLinks之间进行参数调整以改善计算结果的正确度。

      检测步骤完成后,将显示网格覆盖。

    • #49237

      韩十七
      参与者
      青骑士

      7 单击“Solve解算以使用网格计算出棋盘格中的镜头畸变失真值。

      Nuke将会计算失真并显示新的棋盘格叠加和整体解算误差。(如下图所示)

      绿线表示属于Threshold阈值的链接,红线表示超出阈值的红线。您可以将鼠标悬停在链接上以显示其解决错误。

    • #49239

      韩十七
      参与者
      青骑士

      8 在某些情况下,再次单击“Solve解算可以改善结果。您还可以使用“Grid Detection网格检测选项卡上的控件再次求解之前优化检测和链接。有关更多信息,请参阅调整网格检测参数。

      9 如果您对求解感到满意,请将Output <b>Mode</b>输出模式切换为Undistort

      注意:您还可以将失真输出为STMap以用于其他图像。 STMaps包含运动通道中预先计算的扭曲数据,允许您快速轻松地应用扭曲。有关更多信息,请参阅使用STMaps。

      Nuke采用估计的失真并使用结果“拉直”特征链接线。

      您可能会注意到网格扩展超出了素材的边界框,这可能意味着您正在丢失图像数据。

      十七提示:您可以使用裁切或者保留来进行处理,使用哪种方式主要取决于你后续流程,是否需要返回到当前镜头中进行合成。

    • #49241

      韩十七
      参与者
      青骑士

      10 将“Format格式”控件设置为“Reformat重定义格式”,然后选择较大的格式以包含网格。例如,如果原始网格为UHD_4K,则可能会重新格式化为8K_LatLong。
      重新格式化网格会将其扭曲成特有的蝴蝶结形状,现在可用于消除原始模板的变形。

      提示:如果您不想重新格式化图像,或者只丢失少量图像,则可以通过增加边界框来保留过扫描数据。 “Add Pixels 添加像素”控件允许您在图像的所有边上添加相同数量的像素,或者您可以通过启用“Override BBox 覆盖BBox”并使用“Crop裁剪”控件手动编辑边界框。

    • #49244

      韩十七
      参与者
      青骑士

      11 继续从图像中删除镜头失真或调整网格检测参数以微调网格。复制distortion节点并将输入连接到图像素材,我们就得到最终校正后的图像。

      今天的教程流程就到这里啦,后续我们会针对Distortion节点的参数面板模块进行拆解,请关注韩十七小姐姐后续的帖子噢。如有问题欢迎跟帖留言,我会回复您的哦。

      本帖未经允许不得转载,禁止二次转载,转载请注明出处并保留在本站的完整链接,

    • #70577

      迷失的读书人
      参与者
      军士

      希望可以根据国内实际情况介绍一下

正在查看 7 条回复
  • 在下方一键注册,登录后就可以回复啦。
error: 提示:内容受到保护!!