故事与情感
我终于在ebay上买到了四年前就想买的书《The Invisible Art》,因为是极其稀缺的书,并且大部分的国外二手书店的物流并不支持直接发往中国,所以我等了很久一直再寻找机会希望能够买到一本比较新的The Invisible Art,最后我找到了ebay上一个商家,通过美国的一家转运中心将书本寄往中国,所有运费以及购买书本的费用加起来是1700RMB。购买这本书的缘由是我想建立自己的一个世界观,不可见的艺术有很多,音乐,计算机,绘画,同样投资也可以称为艺术,这本书虽然主要讲的是电影创作中的Matte Painting技术,但是就如同我们坐在电影院里面看电影一样,我们是感觉不到幕后有这么一群艺术家在为这个电影的故事服务,我们的思绪都是随着故事前行。同样在其他领域,我们使用技术来完成整体之后,我们应该让使用者或者欣赏者感受到的是艺术本身,而不是技巧,技巧是服务于艺术的,通过学习Matte Painting,我们时刻需要记住一点Matte Painting是为故事服务的,当抛开故事通过绚丽的技术去表达你的想法时,没有人可以理解你,因为观赏者已经从作品中看到你了,他已经知道这个是绚丽的特效。做一些思维发散,像演奏音乐,刚开始我们注重的是技巧,最后才是音乐性,我们要让音乐讲故事,这个时候我们要学会其中的Invisible Art技巧,要让听的人被你的音乐吸引进去,而不是做为一个旁观者听你的演奏,优秀的Matte Painting作品就是创造物理真实的场景,同样优秀的音乐家就是让你听懂每一个音符里面的意义。Invisible Art就是把每一个细节做到极致,然后构建出一个宏伟的世界,而在这个宏伟的世界里面,艺术家的每一个雕刻细节都隐藏在其中,这就是我创建invisibleart.pro的原因,学习一个领域,首先要喜欢这个领域,然后就去探索这个领域里的细节。
Disney+宣布在7月27号上线关于关于Lucasfilm的纪录片-‘Light && Magic’,总共6集,主要讲述的是工业光魔目前采用的电影特效拍摄技术,让我们更多的了解电影特效的幕后拍摄是如何完成的,从而促进全世界电影制作人创作艺术的发展。感兴趣的同学不要错过,只有在Disney+才能观看这一系列的纪录片。 最后再向大家推荐一部正在筹备阶段的短片《The Monster》,关于反家庭暴力的电影题材,创作者向社会发起了拍摄资金的筹集计划,总共需要筹集到$18000,看了短片介绍之后,我为这部短片投资了$25,以自己的一点点力量希望这部短片能够顺利的筹集到需要的资金并完成拍摄。
不可见 我建立了一个以invisibleart命名的线上工作室,其灵感来自于一本讲述Matte Painting的书《The Invisible Art: The Legends of Movie Matte Painting》。 因为我对Matte Painting特别感兴趣,并且这本书及其稀缺,在Amazon上价格已经卖到1600RMB,我在五月份的时候通过ebay购买了一本,希望六月份我能正常收到书籍。我主要关注的是其中的invisibleart,电影视效创作就是让你看不出来作品含有人工处理过的痕迹,就像直接用摄影机对着原始场景直接拍摄一样,要做到这一点,我们必须对我们周围的事物特别关注,尤其是细节方面,破旧的楼宇,杂乱的树木丛林,微风吹拂下的花朵,要在数字世界创造这些影像,需要我们训练自己的眼睛,辨别其中的真实细节。从宏伟的角度讲,艺术家每一件艺术品都是以真实性为根基的,从绘画,音乐中我们就可以得知,古人在创作中首先就是向大自然模仿学习,艺术品的特性越接近大自然,就越能让我们感受到艺术的真实感。基于这个理念,我建立了invisibleart.pro网站,网站的目的就是讲述最新的电影技术,包括专业论文和文章的解读,以及作品的发布,invisibleart.pro与blog.cineneural.com的区别在于前者专注于技术领域的细节,而后者主要是集中个人生活和思考的归纳总结。 invisibleart.pro采用wordpress搭建,运行在云端的Raspberry Pi上,后端的数据库使用了TiDB,之后关于技术细节的文章将全部发布到invisibleart.pro,而本博客将继续保持个人生活和思考的更新,因为网站是运行在非IDC机房,所以我也在考虑invisibleart.pro的备份站点,防止因网络原因导致invisibleart.pro无法访问。
记录 Weta workshop Weta Digital 最近我花了一个月的时间看完了weta digital && weta workshop的两本书,其中weta digital主要是从事计算机三维图像创作,而weta workshop主要是从事电影前期概念创作,像是生物以及人物的雕刻,武器道具的设计,场景的实际概念设计,这些都是由weta workshop来完成的,随后weta digital根据workshop的概念设计来制作CG人物和生物,并且让这些CG动起来,关于workshop我比较感兴趣的是他们的特效化妆以及精细的生物雕刻技术,而weta digital我们需要学习他们的全部技术,本文主要关注的就是digital部分,我已经将关注的技术点截图粘贴到本文中,因为每一个关键的技术点在时间以及成本上的突破就会给电影后期制作带来质的飞跃,我所指的突破是指该项技术能够以低成本来实现以前未能达到的高度。 第一部分,如何制作The Hobbit: The Desolation of smaug 主要介绍制作过程中的基本流程,首先是概念图设计,接下来就是建模,贴图,材质,光照,Matte Painting,然后动画制作,为了制作逼真的CG,艺术人员通过拍摄自然界的真实照片做为参考,在CG图像里面不断添加细节,从而达到真实的效果。在我看来这些技术都是非常关键的,没有精细的雕刻,是无法完成这些艺术品的。 第二部分,主要介绍影片中龙的塑造以及表演,也是最基本的影视制作流程,其中龙的表情动画采用了动作捕捉技术,建模,动画,特效,光照,每一步的细节都非常到位。 最后就是weta digital在数字图像方面的创新技术。因为自己也准备学习Houdini,节点式的制作流程,让我对Weta技术中的Massive,CityBot,Facial Animation,Deep Compositing,Mari,Tissue特别感兴趣。 Massive: 全称为Multiple Agent Simulation System in Virtual System,用来生成大场景的生物交互,比如成千上百万的军队士兵奔跑以及相互攻击,每一个士兵都由一个AI Agent进行代理控制行为,从而使得场景看上去是真实的,没有人工伪造的痕迹。 CityBot: 顾名思义就是生成城市三维模型。 Facial Animation: 面部表情捕捉技术。 Deep Compositing: 深度合成技术,在CG渲染输出时保存像素的深度信息,然后在合成阶段,这些深度信息会被用于视觉深度上的合成,可以类似的认为是一个2.5D的合成,像体积雾,直接采用深度合成,看上去将更加真实立体。 ...
小插曲 早一个月以前,我在找寻关于工业光魔的书籍时,发现了一本宝藏书《The Art of Film Magic》,里面主要讲述了Weta Workshop最近20年的电影特效成果,我想通过国内的购买渠道购买这一套书籍,最后发现书中部分内容因为和中国法律有冲突,书中冲突部分的内容被第三方做了撕页处理,于是我找到了Weta Workshop的官方商店,直接从欧洲购买这套书籍,然后经过UPS的转运,昨天顺利到达。 是的,电影工业确实是一门魔术,是一门具有艺术性的魔术,艺术与科技相结合才有了呈现在大银幕上的电影。那么今天我想介绍一款工具OpenEXR,它是工业光魔在1999年开发的数字图片存储格式,存储具有高动态范围场景数据。 设计 OpenEXR的特点: 高动态范围,我们也可以表示为High Dynamic Range,EXR图像中的像素数据以16bit或者32bit的浮点数存储。 相比于8bit数据存储的图像,EXR对于调色更加友好,尤其是进行大幅度的色彩调整,使用EXR的图像不会出现条带化现象。 无损压缩,EXR提供很多的压缩算法,降低存储成本,同时像素数据不会随之流失。 多通道存储,EXR可以存储图像的多通道数据,除了常见的Red Green Blue Alpha,还有场景的深度信息,物体表面法线方向,高光通道等等。 能够更好的与C C++进行交互,EXR提供C C++接口,方便外部应用读写EXR文件。 EXR色彩管理 OpenEXR图像通常是Scene-referred(场景参考),相对于Display-referred,我们做一个简单的介绍,显示参考我们是以某个显示标准为图像的色彩显示,比如使用相机拍摄sRGB图片,那么在100%sRGB的显示器上,我们看到的图像色彩和现实场景中的是一样的,但是拿到Rec709的显示器上,图像会与我们的sRGB显示器有区别,这就是显示参考,我们依据显示的标准来标定图像的正确色彩,场景参考就是不管我们用什么摄影机拍摄,用什么样的显示器显示,最终对于同一个场景,所得到的图像结果都是一致的,场景参考的色彩存储都是和现实世界的光照成线性比例的,在有关ACES色彩管理的文章中我们介绍过这一点。OpenEXR只是一个数据存储的容器,不论你用什么摄影机拍摄,整个场景的信息都能够存储在EXR文件中,为了后期能够方便的显示和处理图像,我们需要对OpenEXR进行色彩管理,不像Jpeg,PNG格式的图像,他们都是内嵌色彩信息,比如图像的色彩空间是sRGB或者Rec709,Gamma是sRGB或者Gamma2.2,这些数据在OpenEXR里面都是不存在的,因为后者都是依赖于显示参考,而EXR是场景参考。以下是我根据2004年工业光魔发表的一篇文章《A Proposal for OpenEXR Color Management》做为参考来理解OpenEXR的色彩管理科学。 将摄影数据存储在OpenEXR之前,我们都要进行场景线性化的转换,数字电影机的RAW就是摄影机所能看到的场景中的所有数据,已经是场景线性参考了,所以存储到OpenEXR不需要进行线性转换,当在OpenEXR中处理完成图像数据之后,我们需要将场景参考转换到显示参考,这样我们就能在各种显示器上正确查看图像的色彩。
reference http://alvyray.com/Pixar/documents/Pixar_ImageComputer.pdf https://ohiostate.pressbooks.pub/app/uploads/sites/45/2017/09/pixar-image-processor.pdf Pixar Image Computer 启发我写这篇文章的原因是上个月也就是三月份我快速的看了一遍《The Renderman Companion A Program’s Guide To Realistic Computer Graphics》,书里面主要描述的是如何利用Renderman C API接口去实现3D图像的渲染,这本书是在1989年出版的,当时的Pixar已经开发了Renderman渲染接口标准,并且实现了目前电影工业广泛使用的PRMan(PhotoRealistic Renderman实现。其中有意思的是在1986年Pixar还开发了类似今天的Nvidia通用显卡的计算机图形学硬件系统—Pixar Image Computer。 在没了解Pixar之前,我以为Nvidia是最早做显卡的,原来还有更早的Pixar Image Computer,它的使用方式类似现在Nvidia显卡,做为一个扩展卡与本地计算机进行通讯,本地CPU发送数据到Pixar Image Computer中进行计算,然后从Pixar Image Computer中取回计算好的数据。具体架构如下: 设计这样的架构优点就在于以下三点: 通用硬件设计的实现 并行执行图像处理操作 支持多个CHAPs系统 架构设计: Pixel data structure: 所有的Pixar Image System组件都被设计成可以容纳"Pixel data structure"这样的数据结构,其中结构体当中包含RGBA(Red Green Blue Alpha)各个通道的存储信息。 Chap:Chap包含四个处理器,分别用来处理RGBA四个通道的数据,CHAP是一个单指令多数据处理的机器,四个核心处理器会分别在四个通道上执行相同的指令,每一个处理器分别处理对应通道的数据。 CHAP数据处理的循环过程: ALU: 由AMD29116A芯片组成,所有的四个ALU在一个像素点的四个通道数据上执行相同的指令。 Multiplier: 数据由MBUS进入,通过乘法处理将结果输出到ABUS。 Pbus buffer: 像素数据在CHAP和image Memory之间的交换。 Yapbus buffer: 在CHAP与CHAP之间进行数据交换。 Scratchpad: 程序执行期间像素数据高速暂存存储器。 Write crossbar: ABUS的目的地,过滤控制哪些数据可以写入到Scratchpad。 Read crossbar: SBUS的源头,对读取到的数据进行分类。 Yapbus: CHAP与CHAP之间的数据交换。 ...
论文 Deep Learned Super Resolution for Feature Film Production 学习 最近我一直在学习三维建模渲染和制作,看到一篇关于Pixar在2020年发布的论文,主要内容是关于Pixar内部的工程师开发人员如何利用深度学习来提升渲染图像的分辨率,精细的渲染一帧4k图像可能会消耗很多资金成本,如果最终渲染2k分辨率的图像然后利用深度神经网络将其提升到4k,图像在细节上更加细腻和丰富,那么在渲染的成本上可以帮助公司降低很多成本。和以前的超图像超分辨率提升模型不一样,电影工业通常使用的图像都包含有光照的高动态范围,和对色彩的真实还原的数据,这就使得目前的主流超分辨率模型根本无法使用在电影领域。这也是我目前感兴趣的领域,因为将深度学习用于工业领域比起理论上更加具有实际意义。 摘要 伸缩技术通常用于创建那些成本高昂甚至无法制作的高分辨率图像。近年来,深度学习方法相比传统的方法而言在改善图像细节,提升图像清晰度方面有所改善。在这里我们讨论将深度学习的超分辨率技术用于皮克斯电影工业的动机和挑战,使用该技术可以降低渲染农场的支付成本,同时实现生成高分辨率的内容。 背景和相关工作 为了提高图像的分辨率,通常使用几种技术,如 nearest-neighbor, bilinear,以及bicubic interpolation。在电影业中,通过Nuke节点TVIScale,total variation inpainting技术已被证明在提高分辨率方面很有成效。近年来,深度卷积神经网络通过从大量数据中学习低分辨率(LR)到高分辨率(HR)的映射,展示了更高的重建质量。随着生成式对抗网络(GANs)和感知损失函数在开创性的SRGAN工作中的引入,伸缩器现在可以产生与真实相比无法分辨的细节和清晰度的图像。我们在皮克斯工作的目的是将GANs投入生产,用于图像的分辨率伸缩。 训练集 训练一个超分辨率模型需要成对的高分辨率和低分辨率帧图像。大多数先前的研究依赖于预先建立的数据集,这些数据集由代表HR(High Resolution)的高分辨率照片和通过采用下采样操作(通常是bicubic)获得的LR(Low Resolution)照片组成。然而,在我们的测试中,在bicubic降采样图像对上训练生成的预训练超级分辨率模型并不能推广到新的数据上(即没有新的细节被生成),因为现实世界的降级操作比Bicubic降采样要复杂得多。在皮克斯,我们有一个渲染器来合成图像对,有高质量的场景(有不同的着色器、几何和光照条件),还有一个经过微调的数据中心来进行大规模的渲染。 为了获得训练数据,我们使用RenderMan渲染了分辨率为1-2K的生产图像对,其中的镜头从《Coco》、《Incredibles 2》、《Toy Story 4》、《Onward》和《Soul》中随机抽取。由于一个给定的镜头中包含多个通道(如实体元素、体积和天空),在生产管道的最后步骤进行合成,我们收集所有的元素,不包括Deep Layer。我们对已知的与分辨率有关的参数进行修正,如微多边形长度和相机射线差倍率。尽管如此,我们仍然偶尔会注意到不相关的对,并将它们从训练集中排除。我们注意到,我们经常不能重新使用以前定稿的2K渲染图,因为即使在定稿后,由于生产的变化,镜头也经常发生变化。我们还从UHD版本中获得预先存在的4K渲染图,并将任何连贯的2K-4K对添加到数据集中(通常每个节目的一小部分是以4K渲染的,其余的是用TVIScale从2K放大的,因为大规模4K渲染的成本很高)。我们最终得到了一个包含3700对的数据集。 训练管线 我们在文献中观察到,最先进的超分辨率深度学习模型是使用具有对抗性训练的深度残差网络[Wang et al. 2018]。架构或损失函数的微小差异使这些模型与众不同。我们从一个开源的训练环境和网络架构开始,然后我们创建了一个PyTorch开发环境,并准备了一个台带有两个24GB NVIDIA Quadro P6000 GPU的Linux实例。 生产线特点 大多数超分辨率的工作没有考虑到高动态范围HDR图像,但这样做在电影行业是至关重要的。HDR数据通常用超过1的浮点数表示,并存储在OpenEXR这样的文件格式中。由于神经网络在处理输入数据时将其归一化为[-1, 1]或[0, 1]时表现最好,我们就应用以下范围压缩函数来适应HDR数据[Bakoetal.2019]:Ty =k*log(1+μy)/log(1+μ)。我们设置k=0.6和μ=5000,提供范围到亮度值接近300。然后,我们将压缩数据集转换成一个高性能的数据结构,即闪电内存映射数据库,比直接读取EXR图像的训练速度加快了约1/3。 我们试验了一种新的数据增强策略,即在(LR,HR)对中引入随机颜色移动,使网络对不同的光照条件更加精准。我们通过添加一个随机颜色(cr, cg, cb )∈ [-0.01, 0.01],给每个颜色通道添加变换:R’=R+cr, G’=G+cg, B’=B+cb。我们发现这提高了模型的泛化能力。 一个关键的挑战是解决生成的图像中不需要的颜色偏移。我们引入了一个额外的损失项,对下采样生成的图像和输入的LR图像之间的l1损失进行惩罚。有了这个额外的损失项,我们在训练的网络输出中没有发现任何颜色的偏移。我们进行了超参数调整实验,以最大限度地提高合成图像的清晰度,同时避免通常伴随着GANs的过度噪音伪影。我们最新训练的网络偶尔会在文本上产生边缘伪影(如片尾字幕),我们预计获得更多带有文本的训练数据将有助于消除这些伪影。纯PSNR网络(无GAN)不会产生边缘或噪音伪影,但会模糊一些高频细节,如胶片颗粒或小亮点。 我们的网络用纯PSNR损失项预训练了215k次,然后用GAN、色移损失和感知(特征)损失项训练了340k次。我们根据强度使用192x192的卷积核进行采样,最小批次为20。损失项的权重是{PSNR, colorShift, feature, GAN}={1, 5, 0.1, 0.0005}。我们的训练时间为:仅PSNR为108小时,GAN为208小时(总训练时间为316小时)。我们在GPU上正向推演从2K到4K图像的转换时间约为15秒,我们强调该模型可以在任何输入分辨率下提升分辨率(受GPU/CPU内存限制)。在开发的后期,我们开始在英伟达的DGX2超级计算机上进行训练,这使训练速度加快了5倍左右,并能同时运行多个实验。 结果 我们已经训练并部署了一个生产质量的超分辨率模型,在大多数情况下,特别是在TVIScale合成的细节不足和需要4K渲染的情况下,能够持续产生高质量、无伪影的高分辨率图像。即使在有景深、运动模糊和/或体积的场景中,质量也是一致的,因为这些现象在训练集中都有体现。Onward UHD光盘的元素用我们的模型进行了升级,并计划在Soul上进行更广泛的使用。我们的工作正在积极测试其他的使用情况,如宣传工作和主题公园的交付产品。此外,我们最新的训练模型显示,我们有希望建立一个可以在1K下渲染并提升为2K的工作管道,如果用于所有的中间渲染,这将为工作室节省50-75%的渲染场占用空间。 未来的工作 我们的超分辨率模型只支持RGB颜色通道的单帧升频,这使得我们的工作只在工作管道的末端有用。对于在中间渲染中的使用,需要对阿尔法通道进行伸缩,鉴于预先训练的判别网络通常只支持RGB,这就不是一件简单的事情。虽然我们目前的模型产生了时间上的一致性结果,但没有像[Bako等人,2017]那样吸收跨帧输入,这样做对我们来说仍有帮助。我们预计考虑到辅助特征缓冲区,如法线和反射率,将进一步提高合成图像的质量。此外,我们预计我们的训练时间和推理速度将随着网络量化和修剪而提高。最后,虽然我们到目前为止一直专注于2倍放大,但4倍放大在之前的工作中已经显示出巨大的前景,并可能有助于高分辨率的宣传片的渲染和为最近进入市场的8K电视提供内容。为此,在我们的测试中,运行2倍网络的多个通道已显示出潜力。 引用 Steve Bako, Mark Meyer, Tony DeRose, and Pradeep Sen. 2019. Offline Deep Importance Sampling for Monte Carlo Path Tracing. In Computer Graphics Forum, Vol. 38. Wiley Online Library, 527–542. ...
我在2017年购买的BMPCC摄影机出现了低通滤镜氧化的问题,其拍摄的影像里面出现了污点,我利用今天下午的闲暇时间为这台BlackMagic Pocket Cinema Camera更换了低通滤镜,毕竟从购买这台摄影机之后,我用它拍摄了很多有趣的作品。 用BMPCC拍摄的作品赏析(创作于2018.12):