My Web Content Platform

这是我目前使用的内容管理平台的架构,前端的两台google comput engine 用于连接全球互联网以及托管静态站点,后端的集群全部运行在自己托管的ARM64系统平台上,集群内部运行着Cloudflared隧道,当用户请求invisibleart时,请求会通过cloudflare edge network发送到隧道中,cloudflared会将请求发往目标地址wordpress engine,后端的数据库采用的是vitess mysql集群,前期使用过tidb,发现与wordpress存在兼容性问题,最后决定使用vitess,在备份,扩容,和灾难恢复中,vitess还是非常可靠的。

July 29, 2022

The Invisible Art the Legends of Movie Matte Painting Book

我终于在ebay上买到了四年前就想买的书《The Invisible Art》,因为是极其稀缺的书,并且大部分的国外二手书店的物流并不支持直接发往中国,所以我等了很久一直再寻找机会希望能够买到一本比较新的The Invisible Art,最后我找到了ebay上一个商家,通过美国的一家转运中心将书本寄往中国,所有运费以及购买书本的费用加起来是1700RMB。购买这本书的缘由是我想建立自己的一个世界观,不可见的艺术有很多,音乐,计算机,绘画,同样投资也可以称为艺术,这本书虽然主要讲的是电影创作中的Matte Painting技术,但是就如同我们坐在电影院里面看电影一样,我们是感觉不到幕后有这么一群艺术家在为这个电影的故事服务,我们的思绪都是随着故事前行。同样在其他领域,我们使用技术来完成整体之后,我们应该让使用者或者欣赏者感受到的是艺术本身,而不是技巧,技巧是服务于艺术的,通过学习Matte Painting,我们时刻需要记住一点Matte Painting是为故事服务的,当抛开故事通过绚丽的技术去表达你的想法时,没有人可以理解你,因为观赏者已经从作品中看到你了,他已经知道这个是绚丽的特效。做一些思维发散,像演奏音乐,刚开始我们注重的是技巧,最后才是音乐性,我们要让音乐讲故事,这个时候我们要学会其中的Invisible Art技巧,要让听的人被你的音乐吸引进去,而不是做为一个旁观者听你的演奏,优秀的Matte Painting作品就是创造物理真实的场景,同样优秀的音乐家就是让你听懂每一个音符里面的意义。Invisible Art就是把每一个细节做到极致,然后构建出一个宏伟的世界,而在这个宏伟的世界里面,艺术家的每一个雕刻细节都隐藏在其中,这就是我创建invisibleart.pro的原因,学习一个领域,首先要喜欢这个领域,然后就去探索这个领域里的细节。

July 11, 2022

DisneyPlus Light and Magic Lucasfilm

Disney+宣布在7月27号上线关于关于Lucasfilm的纪录片-‘Light && Magic’,总共6集,主要讲述的是工业光魔目前采用的电影特效拍摄技术,让我们更多的了解电影特效的幕后拍摄是如何完成的,从而促进全世界电影制作人创作艺术的发展。感兴趣的同学不要错过,只有在Disney+才能观看这一系列的纪录片。 最后再向大家推荐一部正在筹备阶段的短片《The Monster》,关于反家庭暴力的电影题材,创作者向社会发起了拍摄资金的筹集计划,总共需要筹集到$18000,看了短片介绍之后,我为这部短片投资了$25,以自己的一点点力量希望这部短片能够顺利的筹集到需要的资金并完成拍摄。

July 8, 2022

Invisibleart Workshop 上线

不可见 我建立了一个以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无法访问。

June 3, 2022

维塔数码的技术

记录 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的合成,像体积雾,直接采用深度合成,看上去将更加真实立体。 ...

May 23, 2022

记录sparkpool的时光

2018年我以Devops的职位加入了sparkpool团队之后,扩宽了我对数字加密货币的认知,在这接近四年的工作中,我在sparkpool学习了数字金融与传统金融体系的相关知识,什么是健全的货币体系,加密货币与传统货币的区别,可以这么说,在sparkpool我学到了大量的金融知识,同时也在工作之余自学了前沿科技的相关技术,比如深度学习和量化交易,虽然自己还没有做出一套完整的相关产品,但我一直在朝着这个方向努力。非常庆幸自己能够加入sparkpool大家庭,在此感谢sparkpool的两位创始人。最后的最后,聚是一团火,散是满天星。

May 11, 2022

聊聊OpenEXR

小插曲 早一个月以前,我在找寻关于工业光魔的书籍时,发现了一本宝藏书《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中处理完成图像数据之后,我们需要将场景参考转换到显示参考,这样我们就能在各种显示器上正确查看图像的色彩。

April 15, 2022

Run renderman compatible render engine aqsis on armv6

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之间的数据交换。 ...

April 5, 2022

讨论风险分配

最近看了Eric Xu发表的博客文章风险分配框架,也让我思考了关于自身的风险抵抗能力,尤其是面对不确定的事件发生时。 在2021年的时候,我主要关注点在量化金融上,虽然量化领域对于外行而言听起来有高级感,但是一般能够直接在市场上盈利的算法,大部分商业公司是不会透露的,公开的算法获利还是需要一定的巧合和机遇。在量化金融的算法中有一块就是风险计算,在我看来不管你的收益有多少倍,你永远要考虑的一件事是如何承受风险,如果你投资了一支股票,刚开始是有很多收益,最后因为市场的波动因素导致你的收益全部归零,并且成本也跌去九成,这个时候你如何去谈盈利。在投资领域你能生存多久,就说明你的抵抗风险能力有多高,不要让自己轻易出局,一旦出局,你就再也没有入场盈利的机会。 回到风险的分配,不管做什么事情,首先要考虑的是风险而不是收益,提前预知风险,然后想办法去对冲这些风险。在Eric Xu的文章中提到了现代性带来的风险是遍历的,比如我们使用现代交通工具,交通工具提供了便利,但是它同样存在安全隐患,医院给病人看病动手术,提供了延长生命的技术,但是同样也存在副作用的隐患,我们无法逃避社会上存在的风险,那么如何应付呢,我们通过购买汽车保险,出行安全险,医疗保险,来抵抗这些风险,当这些风险来临的时候不会使得我们一夜之间倾家荡产。像现在上海的Covid-19事件,我们每个人在任何时候,任何地点,都有可能碰到类似的事件,所有人都无法逃避现代性的风险。然而文章中也提到了铁拳,他将其定义为无法申诉的风险分配,对于一个已经存在发生在对方身上的风险,我们可以提早预防,但是似乎存在一种风险我们无法规避那就是铁拳,在铁拳的作用下,我们没有对冲风险的能力,因为它将风险分配给每一个人,每一个人都必须服从这个分配,不可以将风险转接出去,我们可以这么理解,风险是由铁拳来产生和分配的,但它自身不会承担任何责任,需要由每一个被分配者来承受这种风险,这种做法也就违背了塔勒布一直提倡的"风险共担",那么如何抵御铁拳,我们所能做的就以下几点: 屏蔽噪音,尽量少花时间在社交网络上,多花时间学习。 学习各项生存技能,比如了解医学知识或者学会在没有任何网络的情况下向外界发送无线电求救信号。 购买能够在未来带给你回报的物品或者工具。 为自己储备一部分的BTC,ETH,加密货币的意义就在于他是足够去中心化的,具有反脆弱性。 工作和业余兴趣爱好同时进行,这样在出现失业潮的时候,你可以将两者反过来,兴趣变专业,专业变兴趣。

April 3, 2022