编者按

生命在于运“动”,场景在于“动”态,摄影在于相机移“动”。“动”是常态,也是图形生成、理解与呈现的核心研究对象。

人体动作是否有最精简的表达?不同动作风格是否能够独立于动作的内容而描述,由此同一个动作能够被赋予不同的风格?磁流体的千姿百态能否通过物理建模来模拟呈现?移动相机的轨迹规划是一个专业性很强的操作,这一经验能否从已有专业视频中学习得到?李沛卓(图灵班17级)、翁伊嘉(图灵班17级)、倪星宇(图灵班16级)、蒋鸿达(博士19级)四位同学与国内外学者合作,分别针对这些问题进行研究,相关成果将发表在7月份的 SIGGRAPH 会议。

因为疫情,今年的 SIGGRAPH 会议改为在线,第一次“出道”的四位同学遗憾不能现场享受传统的视觉盛宴。基于 SIGGRAPH 的创意基因,这次虚拟会议更值得期待。

——陈宝权

于静园

声明:本文首发于知乎,经作者授权标注“原创”发表于此。转载需标注首发出处。

知乎原文:https://zhuanlan.zhihu.com/p/141861866

项目主页:https://jianghd1996.github.io/publication/sig_2020/

(点击“阅读原文”跳转)

01

背景介绍

真实电影的拍摄往往依赖于导演和摄影师的丰富经验,好的镜头能更好地表达电影的内容和情感。在虚拟摄影中,相机不再受场景的限制,可以自由地进行控制,这赋予了虚拟相机更加丰富的表达能力。

但从观众的角度来说,对于虚拟影视作品和真实电影作品的要求是一样的,即相机的运动需要遵循一定的规律性,并符合电影拍摄审美的固定要求。

在著名导演、电影剪辑师 Daniel Arijon 的著作[1]中,他对电影摄影在各种场景下的放置、运动进行了归纳总结。然而,要将这些规则全部转换为可真正运行的虚拟相机控制器,并不是一件容易的事情。

一方面,需要对场景进行理解,对被拍摄人物的相对位置、朝向进行分析,然后找到对应需要运用的规则;

另一方面,当场景中的人物发生变换、运用的规则发生改变时,需要控制相机进行平滑的切换。

此外,对于同一场景,基于不同的剧情,相机可能有多种不同的拍摄方案,导演在拍摄时更多地是通过临场发挥,而不是对规则死记硬背。因此,通过这种参数化的预定义方法来实现虚拟摄影中的相机控制是很难行得通的。

        图1. 我们从给定的样例视频(右)中提取出相机行为与演员行为之间的关系,将该关系用于新场景(左)的拍摄,使得新场景拍摄的效果与样例视频相似。

由于镜头语言具有很强的语义性,且很难进行归纳总结,因此,我们提出通过样例视频来对期望的拍摄方法进行控制。

如图1所示,对于一个新场景,用户指定期望的拍摄效果对应的样例视频,我们的算法从该样例视频中分析出相机行为与场景中演员行为之间的关系,并将该关系用于新场景的相机控制中,最终实现新场景的拍摄效果与样例视频相同。

02

本文算法

为了实现这个目标,本文算法框架分为三个部分,具体如图2所示:

1.样例视频演员与相机信息估计(Estimation)

2.样例视频相机行为分析(Gating)

3.新场景相机轨迹预测(Prediction)

         图2. 算法框架分为三个部分,(左)样例视频演员与相机信息估计,(中)样例视频相机行为分析,(右)新场景相机轨迹预测

样例视频演员与相机信息估计(Estimation)

演员的信息和相机坐标都在三维空间下,而三维相机位姿估计和演员的三维骨架估计目前已有方法的精度在我们的场景下都不够。

因此,我们采用的是复曲面空间(Toric Space)上的相机坐标估计。Toric Space 是基于两个目标构建的局部坐标系,SIGGRAPH 2015年的文章[2]论证了 Toric Space 在相机轨迹规划、设计、插值上的优越性。

Toric space 将相机的 6DOF 坐标转换为了更直观的 toric 坐标 (p1, p2, θ, φ),其中 p1, p2 表示人物在屏幕上的位置,θ,φ 分别表示偏航角和俯仰角。通过 toric 坐标,可以更容易地表示拍摄得到的视觉效果。对于演员信息,我们只估计人物之间朝向的夹角和距离,太多的演员细节会导致模型泛化能力不够。

首先,通过 LCR-Net[3]的方法先将屏幕中人物的 2D 骨架提取出来,经过人物匹配,只保留两位“主角”的信息(因为 toric space 有且仅有两个目标),然后将人物骨架的 2D 屏幕坐标输入网络,估计相机坐标和演员信息。

         图3. 通过LCR-Net提取骨架,经过处理后输入神经网络进行估计

相机行为提取和相机轨迹预测(Gating+Prediction)

由于相机的行为是无 label 的,且需要网络有能力自动识别当前的相机行为,我们借鉴了 MANN[4]中学习四足动物的运动的方法,通过一个 Gating 网络,输入参考相机行为,输出若干个 expert 值,然后以 expert 值为系数,线性组合 Prediction 网络的权重,这样每组 expert 就对应一种相机行为。

         图4. Gating+Prediction网络,Gating输入一长段拍摄序列,输出一组expert值,prediction采用自回归的方式,从过去1s的拍摄和expert推断出下一帧的相机toric坐标

如图4所示,在实践中,我们 Gating 采用 LSTM,输入较长的序列(>400帧,因为太短的网络很难辨别出其中包含的相机行为),Prediction 则采用多层全连接,采用自回归的方式,输入过去 1s 的相机坐标和前后 1s 演员的行为特征,预测下一帧相机的坐标。

03

实验结果

我们采用生成数据来训练 estimation 网络,同时采用生成数据和真实数据来训练 gating+prediction 网络,然后在两个虚拟场景中测试了我们的算法。

我们在分别在“对话场景”和“打斗场景”中测试了我们的算法。“对话场景”中,人物运动较慢,“打斗场景”中,人物运动较快,而且有很多障碍物。通过选取不同的参考视频,并运用到视频的不同时间段,我们最终得到了不同的拍摄结果(在打斗场景中,我们在全局中可视化了两条相机轨迹)。

对话场景拍摄结果

打斗场景拍摄结果

完整的结果和细节请观看以下视频:

欢迎访问项目主页,数据和代码都将开源,敬请期待。

参考

[1] Grammar of film language

[2] Intuitive and Efficient Camera Control with the Toric Space

https://dl.acm.org/doi/abs/10.1145/2766965

[3] LCR-Net: Real-time multi-person 2D and 3D human pose estimation

http://lear.inrialpes.fr/src/LCR-Net/

[4] Mode-Adaptive Neural Networks for Quadruped Motion Control

https://dl.acm.org/doi/10.1145/3197517.3201366

SIGGRAPH

SIGGRAPH (Special Interest Group on Computer GRAPHics and Interactive Techniques) 是计算机领域规模最大的顶级会议、CCF A类会议,参加人数达2万余人,每年收录百余篇图形学相关的优秀论文,是计算机图形领域集技术、艺术与展览于一体的盛会。因新冠疫情影响,SIGGRAPH 2020将首次以在线方式举行。

图文 | 蒋鸿达

Visual Computing and Learning (VCL)

END

备注:如目标检测

细分方向交流群

2D、3D目标检测,人脸,目标识别,GAN,超分辨率,OCR等最新资讯,若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

SIGGRAPH 2020 | 基于样例的虚拟摄影和相机控制相关推荐

  1. 基于样例的迁移学习——Covariate Shift——原始文章解读

    Covariate Shift 是迁移学习下面的一个子研究领域, 对它的研究最早起源于统计学领域的一篇文章 "Improving predictive inference under cov ...

  2. 网络驱动开发样例snull详解(基于3.10.0)

    网络驱动开发样例snull详解(基于3.10.0) 本章素材为ldd3书中的网络驱动snull部分.由于现在内核的更新,导致其在最新的内核中无法编译该网络驱动,需要针对修改,顾为此文(内核3.10.0 ...

  3. Linux 网卡驱动学习(一)(分析一个虚拟硬件的网络驱动样例)

    在Linux,网络分为两个层,各自是网络堆栈协议支持层,以及接收和发送网络协议的设备驱动程序层. 网络堆栈是硬件中独立出来的部分.主要用来支持TCP/IP等多种协议,网络设备驱动层是连接网络堆栈协议层 ...

  4. 最简单的基于FFmpeg的移动端样例:IOS 视频转码器

    ===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:A ...

  5. 基于linux的MsQUIC编译及样例运行

    参考链接: https://github.com/microsoft/msquic/blob/main/docs/BUILD.md 软件相关版本 Ubuntu 20.04 编译/构建 1. 下载源代码 ...

  6. 7 Papers Radios | SIGGRAPH 2020最佳博士论文;南开等提出新型自校准卷积

    本周的重要论文包括 SIGGRAPH 2020 最佳博士论文,以及南开大学等提出的自校准卷积和相应网络. 目录: LightGCN: Simplifying and Powering Graph Co ...

  7. 【OSATE学习笔记】AADL 样例 ARP4761 介绍

    ARP4761介绍 本示例再现了ARP4761和AIR6110标准中描述的车轮制动系统.它最初是由卡耐基梅隆大学(CMU)的软件工程研究所(SEI)设计的,旨在展示OSATE的以下能力: Fault ...

  8. SIGGRAPH 2020大会上的Unity:在线汇集创作者社区

    Unity is proud to be a Champion Sponsor of the SIGGRAPH 2020 Virtual Conference, enabling creators e ...

  9. 【推荐算法】从零开始做推荐(二)——TopK推荐的评价指标,计算原理与样例

    前言   推荐系统的评价指标在不同类型的推荐场景下,选用的不同.有些推荐的评价指标并非完全出自推荐系统,而是从搜索算法,信息检索,机器学习等相关领域沿用过来,因此网上有些对评价指标的解释并非完全以推荐 ...

最新文章

  1. xsemaphoretake返回_FreeRTOS 计数信号量
  2. STM32开发 -- cannot open source input file absacc.h 解决方法
  3. 计算机控制课程设计体会,计算机控制技术课程设计报告
  4. 甲骨文提供免费HR工具,助力客户保障员工安全
  5. 单链表操作实现getelem_c语言实现--带头结点单链表操作
  6. 支付牌照再获成功续展!支付宝:感谢央行的信任和认可
  7. 2018上半年广东省中小学教师资格认定流程
  8. vue2.0项目部署到服务器_阿里云服务器搭建及项目部署过程---小白篇
  9. 《Android MVPArms 使用butterknife遇到的坑》
  10. 关于简单的factorymode
  11. 资源池以及资源池化是什么意思?
  12. 顾客价值理论(转载)
  13. Matlab2017a中帮助文档无法设置为中文的一种解决办法
  14. 滚动(scroll)操作的应用
  15. python ln()怎么实现_python循序渐进_python简介
  16. 出版一本书可以赚多少钱_出版商精选:2015年29本书
  17. Tri Mode Ethernet MAC的配置及使用
  18. 细粒度 文档图像版面分析
  19. sql server出生年月减去退休年月 计算年龄
  20. 项目策划 文件管理系统

热门文章

  1. Docker学习三:Docker 数据管理
  2. 基于深度学习的文本分类1
  3. IntelliJ IDEA常用快捷键——基于Eclipse
  4. 依图芯片服务器,AI 芯片行业再添硬核新玩家:依图推出云端 AI 芯片 questcore™...
  5. .net winform panel 不刷新_【扫盲篇】visual studio2019(C#/.NET)安装教程
  6. Setup linux 网卡故障,linux网络配置、测试及故障诊断方法和工具二
  7. java dom 获得子元素_在JavaScript中删除DOM节点的所有子元素
  8. npm 更换插件版本_Node CLI 工具的插件方案探索
  9. php 输出mysql查询结果_php如何输出mysql查询结果
  10. print(程序结束)_Python入门丨print()函数