深度学习在电影特效制作上有哪些应用？
回答之前我要表达一下确实被评论区有些朋友给气到了，所以先把丑话说在最前头：首先，这个题目问的是 深度学习在电影特效制作上有什么用途， 注意限定了电影里使用的讨论，你聊着聊着给我来了“我们游戏里巴拉巴拉”  “我去GDC巴拉巴拉”  “手机app巴拉巴拉” 这个杠有点偏！ GDC这些我不是不看、和图形学相关的除了cv那些的我全都追，我也知道他们做到个什么效果达到个什么程度。此处说的是影视中的应用，底下的哥们儿你们杠的角度正一点咱都可以接着杠的。 还有我发现很多人误把“siggraph 论文”等同于影视业、sigraph发出来的论文等同于影视业就会用的技术、siggraph的研究热点等同于影视技术研究的方向……这些完全不成立！。只有很少一部分会最后使用到实际制作中去。siggraph毕竟是一个通用的科学性会议，更任重道远一些。 关于一个技术实用与否、好用与否、会有为期几个月甚至数年的试错和debate在里头，siggraph论文不一定代表了影视业发展的方向、也并不一定暴露影视制作中的问题。 正确的做法是去听siggraph的production session. 听Disney 梦工厂、听光魔、weta的人都在说他们在制作流程中最后都选用了什么技术、开发了怎样的代码和工具。 我和国内很多科研工作者都这么说，必须深入到产业中去了解问题。也可以看Disney发表的，与他们的流程相关的siggraph论文，那个基本是经过基本验证的。DL在这些paper 里是都有用到、是不是决定性的、革命性的需要你们自己思考。 英伟达是卖显卡的、epic是卖引擎的、更是千万别把他们的东西和影视划等号……大家还是得透过论文看商业目的啊…… 不要总举这两年一些DL+smoke的例子…大家可以有机会多去和weta的特效总监沟通一下他们的看法…这几个算法有一些台面下的debate。Nils和我私交很好, 我们也是有很多讨论的。我只能说实用不实用、不是你们以为的，有全天下一群最挑剔的眼睛在看着。 现在我开始回答一下原问题, 答案很简单: 目前来讲除了光线追踪去燥外. 很少有. 而且光线追踪去燥现在几乎是标配级别的使用, 所有的工作室都用到去燥技术在或者做结果的预览, 或者做look-dev流程, 至于是否做final, 也许最后工期紧的时候也会用到...... adobe不是影视公司, 它的产品更多是民用.....影视级别应用需要的计算结果的稳健性和精确度也就比军工低. 分几个方向来说一下： 一. 市场并不大. 影视市场, 从整体来看是一个百亿~千亿级的市场,  好莱坞的纯影视市场, 算上全球发行, 规模是40 Billion dollar, 相当于数千亿RMB, 目前中国纯影视市场的规模是百亿量级, 可以参考这个千亿上限. 数据可能细节有偏差, 但大尺度上不会差太多. 当然一个市场的规模和一个企业的市值是两码事, 迪士尼业务诸多, 不能以純影视市场这个观点来看. 二. 深度学习在影视这种对画面质量要求极高的应用中, 很难找到合适的适用点 比如说有人首先就提到了"脸". 或者表情. 在这一块, 无可否认机器学习有一些不错的尝试和结果, 但是任何个人或机构, 凭什么能够证明:  机器学习现有的算法能做到比传统的表情捕捉系统(用优化算法求出来的结果)做到的更好? 毕竟, 在演员的脸上画一些标记点又不是什么难事, 而且头盔前头的这个摄影设备, 经过了精密的镜头矫正, 整个流程, 通过复杂算法的叠加和混合来保证结果可信度, 尽最大可能避免艺术家的后期调整工作, 你有什么理由能保证深度学习的解决方案就能比这个算得更快, 结果更准? 你一帧出现了跳脱, 所有前后帧都受到牵连, 艺术家是为了你这几帧来手修, 还是你让演员为了这几帧来重新拍摄??? 那既然讲到脸了， 我就再讲一个深度学习在影视级别特效中成功使用的例子， 但这个例子中深度学习的使用方法和使用目的， 恐怕和大多数人想象得很不一样。 影视制作级表情捕捉， 用得比较多的有这么一个专业的系统： DI4D PRO system 大结构上讲， 它包括了几个标准的模块： 参考来源：Production-Level Facial Performance Capture Using Deep Convolutional Neural Networks， 章节1.2 其中， 要对一个人的表情进行表演捕捉， 会先用一套离线的系统（一套相机矩阵系统和软件PhotoScan）对演员的面部进行数字扫描， 然后离线地从数字扫描的脸数据中建出好的mesh， 什么叫好的mesh呢？ 就是比如如下这种： 然后， 这个传统的流程实时拍下演员的面部动画， 并基于深度检测等混合硬件构造出噪声很大的， 逐帧的运动脸。 可想而知， 这样的脸是没法拿来用的， 所以这个系统实际上最重要的一步是： 将之前手工制得的好网格， 与这个动画网格的第一帧 match起来， 然后运用光流等混合技术手段来驱动手工网格的动画： 这个“好mesh”的每一个顶点坐标， 就是DI4D系统的输出了， 到此为止， 没有任何的深度学习在里面。 那么在这个工作中， 深度学习到底是被怎么用的呢？？？？？？ 原来， 在处理网格驱动这一步的过程中， 由于光照/相机噪声等因素的存在， 通常需要人手工来大量清理驱动数据， 不然的话会对结果带来十分糟糕的扰动。。。。文中指出： “我们先挑选出待处理数据中的一部分做人工清理， 然后训练一个深度网络......用来取代人力劳动，处理余下的数据.” 所以在这里, 这个论文的思路实际上是: 对于特定一个人的拍摄, 我们先挑出一部分数据, 做人工清理, 然后用清理后的数据求出动画, 然后训练一个"深度神经网络"来做一个映射, 目的是把一个unstructured mesh 映射到一个好的mesh. 他们的网络结构如下 在这里, 我觉得特别有必要强调的一点是, 这个应用中 深度神经元网络的用法与大众意识中所想的用法有本质的不同!!!!! 比如文中指出， overfit我们无所谓， 只要针对一个特定的演员管用就行， 至少比我们手动清理要快了。 基于这几个哲学, 这个算法确实是可以得到极其优秀的实时表情捕捉表现(专人专用).  再一个能想到的是抠图 目前最好的自动抠图 (连头发丝和动态模糊都能抠好) 是迪士尼在siggraph 2017提出的算法, 而那不是基于深度学习技术的. 我们先来看一下影视级自动抠图算法目前最好的结果, 然后大家自己心里掂量一下深度学习算法能不能做. 算法做不到这样的效果，根本不可能实用， 因为抠图最难的是抠细节， 让一个艺术家抠一个原图， 和抠一个经过算法粗抠的图， 所要花费的时间没啥区别， 所以算法必须做到这样才能实用。迪士尼的这套系统带来的抠图效率提升是使得整个抠图流程所要花费的时间降低到了原来的10% 然后是场景建模 场景建模方面没啥好说的， 基于规则的程序化建模高效准确而且已经在影视业和游戏业用了很多年了。 被人们成为procedure modeling 以上都是基于规则的程序化建模自动建出来的城市， 你凭什么觉得AI能做得更好？ 写到这里， 我发现很多人喜欢把 自动化=AI， 其实， 自动化不等同于AI， 自动化可以是基于规则的， 甚至在规则已知的情况下， 基于规则的算法给出的结果很好， 为啥一定要去强调AI？就因为它看起来更能骗到钱？ 接下来谈特效 计算特效领域。。。。 从科研的角度讲， AI也在不断地尝试， 但主要集中在辅助作用， 而触碰不到核心的计算理论和算法甚至程序， 因为在这个计算领域， 核心的诉求不是快或慢， 而是“大” 比如上头这个序列， 仿真时每帧消耗掉的用来存储每一个水粒子压强、速度、位置等物理信息的内存量就能高达200GB ，注意这是每帧数据量， 数秒钟的仿真序列就能产生几十TB的序列。 你说你AI行你上来你演试试？ 至于说解PDE方程用DL来解的朋友。。。。。 我不完全说死， 就说视情况而定吧。 现实是， 但凡是能解出来的PDE方程， 现有的数学解法一定都比DL的算法快准稳， 但凡是解不出来的方程。。。你哪来的数据做训练？ 但DL+PDE这一块倒是有很多的工作在做, 这些工作就很有科学素养: 它不是着重于用DL来解方程.....而是用DL来搜寻和探索馄饨系统或者宏-微观尺度的数学模型.  角色动画这一块 强化学习很有前途....不过你看迪士尼的态度就很明显: 我迪士尼研究院也做强化学习方面的研究, 但我得应用点是儿童玩具制作. 而不是动画中的工具.