Yan's Studio.

混合虚拟制片

Word count: 2.4kReading time: 9 min
2022/12/29

原创性声明

本文为作者原创,在个人Blog首次发布,如需转载请注明引用出处。(yanzhang.cg@gmail.comhttps://graphicyan.github.io/)

1 引言

1.1 虚拟制片

1.1.1 混合虚拟制片

混合虚拟制片是一种通过摄像机追踪将绿幕摄影与CG元素合成的技术,可为摄影导
演和摄影助理提供实时预览,并在后期制作阶段中完善;也可直接作为摄像机的最
终画面。这类虚拟制片已在现场直播中使用了一段时间,特别是在体育节目中,不
过越来越多的专题片和连播片也在应用该技术。混合虚拟制片的两种主要模式是实
时制作和后期制作。
绿幕中的实时混合虚拟制片最早出现在广播新闻天气预报中,天气预报员通过色键
技术与天气预报图像融为一体。这类效果通常差强人意,摄像机是固定的,而且质
量不可能达到电影级水准。尽管如此,近年来随着GPU速度的提升和实时引擎的引
入,这类解决方案的质量有了很大提高。例如,Zero Density系统利用虚幻引擎制作
各种新闻和娱乐节目的现场合成效果。将Zero Density用于演播室内实时虚拟制片的
用户包括福克斯体育、Canal +、RTL、TF1和天空新闻。
在拍摄绿幕时,后期制作类型的混合虚拟制片可使用摄像机跟踪数据,从而提供实
时的镜头内合成图像。实时合成通常使用代理分辨率。在绿幕前捕捉/拍摄演员和道
具时,它通常用作勾画镜头的参照。后期制作类型的混合虚拟制片旨在帮助导演、
摄影导演和摄影助理更好地掌握虚拟元素(例如 CG角色的位置)并设置扩展,以便
在后期中更好地集成视觉特效。《奇幻森林》在制作时采用了该方法的高级版本。
这种技术还广泛应用于最近的电视连续剧中,例如《复仇》、《泛美航空》、《童
话镇》以及《美国众神》。
image.png

1.1.2 应用场景

image.pngimage.png
image.png
image.png

1.1.3 工作流特性


assets/post_images/Mixed-Virtual-Production/image_008.assets/post_images/Mixed-Virtual-Production/image_007.assets/post_images/Mixed-Virtual-Production/image_006.assets/post_images/Mixed-Virtual-Production/image_005.#### image.png

1.2 关键词

1.2.1 绿幕(Green Screen)

理论上可以是任何颜色的单色背景,使其在处理后为透明或者从拍摄中除去。通常是亮绿色(bright green),因为其与人体皮肤距离最远。

1.2.2 色键技术(Chroma Key)

基于色调(hue)对图片做分层或合成。

1.2.3 抠图(Keying)

使用视频编辑软件在后处理阶段移除绿幕背景。

1.2.4 溢色(Spill)

来自绿幕反射的有色光达到主物体上而产生,影响抠图阶段,需用各种手段来抑制。

1.3 关键要素

1.3.1 正确的绿

用非反射材质的绿幕(棉优于尼龙),最好是 chorma key green 或者 digi green。偶尔也需要用到蓝幕,取决于想要拍摄的场景:blue screen vs green screen

1.3.2 主体和背景要分开

最好保持主体距离绿幕6英尺以上(1.8m),这能很大程度降低溢色、避免不想要的阴影投射在绿幕上。

1.3.3 输入决定成败(RAW is King)

尽可能使用越高的比特率视频、最少压缩的编解码器。10bit颜色由于8bit,ProRes442/444或者最好RAW格式的输入。

1.3.4 光要打好

前景、背景要分开打光,绿幕背景的打光要尽可能的均匀。

1.3.5 处理动态模糊

使用尽可能高的快门速度来减少动态模糊,有助于创造更加纯净的抠图。但在后处理时,要把动态模糊加回来。

1.3.6 用专业的抠图软件

Ae、Pr、HitFilm各种后期软件,还有开源的专业抠图软件比如DaVinci Resolve

2 系统配置与实现

2.1 整体框架

2.1.1 流程参考

https://www.youtube.com/watch?v=lRQvi5Jc_Js

2.1.2 系统框图

混合虚拟制片图.jpg

2.2 配置绿幕

2.2.1 绿幕整套装备

image.png
Neewer green screen kit(190 dollars)
This massive package boasts a 6×9 screen that includes a white and black backdrop, an 8.5×10 stand support system, six clamps, four light stands, two umbrellas, two softboxes, four daylight bulbs, and bags to carry the kit around.

2.2.2 DIY

New Rules of Greenscreen

  • 绿幕:工艺布料、彩色泡沫板、墙体刷漆(哑光漆)。
  • 灯光:分开打光、柔和、减少反射、LED更佳。
  • 支架:稳定、平整。

image.png
(参考EMART Kit

2.3 硬件配置

2.3.1 硬件需要

  • Vive Tracker

image.png

  • Video I/O Card(专业级)

image.png

2.3.2 场地配置

  • 确定场地尺寸
  • 结合虚拟勘景
  • 推算所需绿幕尺寸
  • 布置现场

image.png

2.3.3 相机配置

  • 低ISO、高快门速度、大光圈、高像素。
  • 相机类型(配合不同的IO及算法接口)。
  • 畸变校准(参数获取)。


2.3.4 灯光布置

  • 布光均匀。
  • 灯光柔和扩散。
  • 主体和绿幕分开打光。

2.4 软件需要

2.4.1 离线后处理合成

  • 抠图,后期软件+人工。
  • 图层叠放。
  • 特效及后处理。
  • 生成动态模糊。

2.4.2 实时合成

  • 去Montion Blur。
  • 自动色键获取。
  • 抠图和去溢色。
  • 实时渲染及图层合并。
  • 光影融合。
  • 加Motion Blur。

3 基于Unreal

3.1 实时合成

3.1.1 Chroma Keying(抠图)

image.png

  • Chroma Mask multiplied by Luma

image.png

  • SmoothStep

image.pngimage.png

3.1.2 Despill(去溢色)

  • RGB to HSV
  • Minus KeyColor Hue
  • Smooth by Hue Range
  • Lerp to Desaturation by Hue Diff

image.pngimage.png

3.1.3 前后景及切片

  • 前景层对象捕获。
  • 媒体流抠图及mask贴片。
  • 背景实时渲染。
  • 各种叠放逻辑进行合图。

image.png
image.png

3.1.4 光影融合

3.2 镜头及输入流

3.2.1 镜头位置绑定

image.png

image.pngimage.png

  • 启动Steam VR,链接Vive Tracker到电脑。
  • 开启LiveLink,创建虚拟Tracker,并实时链接到C Vive。

image.png

3.2.2 镜头畸变校准

image.png
image.pngpattern.png

  • 悬垂线在正常的物理镜头中,一般不会是完全竖直的。
  • 相机拍摄模式、焦距、镜头、分辨率均会决定摄像头的畸变情况,任意调整需触发重新校准
  • 常用棋盘格来进行畸变参数计算采集,连续拍多组位置、角度不同的棋盘格相片,用CV的方法可以计算。
  • 输入流矫正(REtracker Calibrator)

image.png

  • 虚拟相机逆矫正(LiveLinkXR & Calibration)


3.2.3 专业采集卡

  • AJA or BMD

image.png
https://www.aja.com/products/kona-5-oem

  • AJA I/O or BlackMagic I/O software
  • 时间码和集中同步,AJA或BlackMagic有对应的GenLock可以直接用,如果是非采集卡普通摄像头需要自己加。

4 缺陷与方向

4.1 问题分析

完美的软硬件结合配合最高配置将使得整个流程输出的质量误差极小,然而实际过程中不会有那么多完美的状态,其中引入问题的关键点主要如下。

4.1.1 相机误差

  • 相机参数不够好。
  • 相机镜头畸变矫正错误。
  • 相机存在的动态模糊不易消除,模式固定或快门速度不够。
  • 相机与PC的I/O问题而引入的误差。
  • 相机与PC或引擎软件的时间码同步出现问题。

4.1.2 绿幕环境问题

  • 灯光不够柔和。
  • 绿幕表面被打亮的不够均匀。
  • 人与绿幕间的反射、阴影影响。

4.1.3 抠图算法难点

  • 基于色度的抠图,也会削弱主物体。
  • 溢色难题。
  • 参数自适应。
  • 边缘融合。

4.1.4 光影合成问题

  • 虚拟阴影。
  • 虚拟GI效果。

4.1.5 虚实空间对应难

  • 真实环境与虚拟空间尺寸难对应。
  • 非绑Tracker的物体难定位。
  • 物体运动带来的精度误差,同时对实时性也是挑战。

4.2 相关Research

4.2.1 背景分割

image.pnghttps://grail.cs.washington.edu/projects/background-matting/

4.2.2 抠图和去溢色

image.png
http://yaksoy.github.io/keying/

4.2.3 单目相机姿态识别

image.png
https://vcai.mpi-inf.mpg.de/projects/PhysCap/

4.3 整体解决方案

4.3.1 Virtual Stage

image.png
https://www.microsoft.com/en-us/ai/ai-lab-virtual-stage

4.3.2 视频算法抠图

参考钉钉、腾讯会议、FaceTime。

5 引用

CATALOG
  1. 1. 原创性声明
  2. 2. 1 引言
    1. 2.1. 1.1 虚拟制片
      1. 2.1.1. 1.1.1 混合虚拟制片
      2. 2.1.2. 1.1.2 应用场景
      3. 2.1.3. 1.1.3 工作流特性
    2. 2.2. 1.2 关键词
      1. 2.2.1. 1.2.1 绿幕(Green Screen)
      2. 2.2.2. 1.2.2 色键技术(Chroma Key)
      3. 2.2.3. 1.2.3 抠图(Keying)
      4. 2.2.4. 1.2.4 溢色(Spill)
    3. 2.3. 1.3 关键要素
      1. 2.3.1. 1.3.1 正确的绿
      2. 2.3.2. 1.3.2 主体和背景要分开
      3. 2.3.3. 1.3.3 输入决定成败(RAW is King)
      4. 2.3.4. 1.3.4 光要打好
      5. 2.3.5. 1.3.5 处理动态模糊
      6. 2.3.6. 1.3.6 用专业的抠图软件
  3. 3. 2 系统配置与实现
    1. 3.1. 2.1 整体框架
      1. 3.1.1. 2.1.1 流程参考
      2. 3.1.2. 2.1.2 系统框图
    2. 3.2. 2.2 配置绿幕
      1. 3.2.1. 2.2.1 绿幕整套装备
      2. 3.2.2. 2.2.2 DIY
    3. 3.3. 2.3 硬件配置
      1. 3.3.1. 2.3.1 硬件需要
      2. 3.3.2. 2.3.2 场地配置
      3. 3.3.3. 2.3.3 相机配置
      4. 3.3.4. 2.3.4 灯光布置
    4. 3.4. 2.4 软件需要
      1. 3.4.1. 2.4.1 离线后处理合成
      2. 3.4.2. 2.4.2 实时合成
  4. 4. 3 基于Unreal
    1. 4.1. 3.1 实时合成
      1. 4.1.1. 3.1.1 Chroma Keying(抠图)
      2. 4.1.2. 3.1.2 Despill(去溢色)
      3. 4.1.3. 3.1.3 前后景及切片
      4. 4.1.4. 3.1.4 光影融合
    2. 4.2. 3.2 镜头及输入流
      1. 4.2.1. 3.2.1 镜头位置绑定
      2. 4.2.2. 3.2.2 镜头畸变校准
      3. 4.2.3. 3.2.3 专业采集卡
  5. 5. 4 缺陷与方向
    1. 5.1. 4.1 问题分析
      1. 5.1.1. 4.1.1 相机误差
      2. 5.1.2. 4.1.2 绿幕环境问题
      3. 5.1.3. 4.1.3 抠图算法难点
      4. 5.1.4. 4.1.4 光影合成问题
      5. 5.1.5. 4.1.5 虚实空间对应难
    2. 5.2. 4.2 相关Research
      1. 5.2.1. 4.2.1 背景分割
      2. 5.2.2. 4.2.2 抠图和去溢色
      3. 5.2.3. 4.2.3 单目相机姿态识别
    3. 5.3. 4.3 整体解决方案
      1. 5.3.1. 4.3.1 Virtual Stage
      2. 5.3.2. 4.3.2 视频算法抠图
    4. 5.4. 5 引用