AI 是怎么帮你捏造“在场”证明的

这是一篇谷歌 2021 年发表的论文,它在国内的互联网上甚至没有同年发布的 Pixel 6 关注度高。 但它提出了一项非常创新的技术,可以帮你把照片换个背景,等等先别着急走。 这个技术是不需要绿幕、不需要打光的,只需要一张照片,就可以让你出现在任何时间、任何地方,甚至捏造一个逼真的“在场证明”。 在互联网上,P 图已经没什么新鲜的了,不光是我们的朋友圈,在微博、小红书、知乎,人人都想“人在巴黎,刚下飞机”。 但是把这件事做得最专业的行业是电影,剧组里的每个人都在想方设法地骗你,让你相信蜘蛛侠可以在纽约飞来飞去,金刚爬上了摩天大楼。 为了做得更完美,他们发明了一套专业的拍摄设备,光场。可以精确地控制打光,在 CG 拍摄、动作捕捉、三维建模的时候,让演员身上的光影跟背景保持一致,这样观众才不会说:“你这背景是假的吧?” 所以谷歌这篇论文的厉害之处,就是它不需要任何专业的采集技术,就可以实现跟光场同样的效果。 过去一两年里,我每次跟厂家工程师交流的时候,大家都会不约而同地提到这篇论文,我们就去认真地研究了一下,发现它的核心也是“深度学习模块”,靠训练模型来实现逼真的人像重打光和背景替换。但具体是怎么训练的呢?敬请期待。 当这个论文就像一部预告片一样躺在我们的电脑里慢慢被遗忘的时候,我们突然接到了一个邀请,说他们有一个大项目,要在手机上实现一个很牛的效果。 噢噢,原来就是谷歌那个 AI 捏造在场证明的功能。所以我们今天要带大家去的,就是知名手机厂商 vivo 在重庆的 3D 人像实验室。 这里有一套 vivo 自己搭建的光场系统,它要研究的就是怎么把谷歌的“懂的都懂”,变成我们手机上能用到的新功能。 光场系统 这个 3D 人像实验室在重庆的南岸区,重庆太大了,我也不知道南岸区具体在哪,只知道最近的火锅店都在五公里以外。 但是这里有 vivo 最大的生产基地之一,除了重要机型的产线,还有很多类似这个的,保密级别的很高的内部实验室。 我们一开始想象的是,用手机拍张照,然后用 vivo 的服务器算一下,就可以输出新照片了。 但谷歌的论文并没有这么简单,它把捏造在场证明分成了三步,跟把大象关进冰箱一样。 第一步是抠图,第二步是根据抠出来的人像,计算反射场信息,包括这张法线图和反照率图。 这个红绿蓝的照片看起来很魔性,其实是用红绿蓝三种颜色分别对应这个像素反射光的方向 XYZ。 有了这些信息,就可以根据新的背景给人像重打光。第三步就是合成。 执行这三个步骤,就不需要专业的摄影师、灯光师和后期老师了,只需要三个深度学习的模型。 而训练这三个模型的数据,还是来自光场。没错,根据谷歌的论文,省掉一个光场系统的前提,是你得先搭建一个光场系统来训练模型。我们就在 3D 人像实验室里见到了 vivo 搭建的光场。 而训练这三个模型的数据,还是来自光场。没错,根据谷歌的论文,省掉一个光场系统的前提,是你得先搭建一个光场系统来训练模型。我们就在 3D 人像实验室里见到了 vivo 搭建的光场。 以前我们只能在好莱坞的纪录片里看到,导演把演员关进这个笼子里,现在我们终于有机会自己走进去看一看了。 这可能是我们见过最科幻的摄影棚,圆形的铁笼上挂满了相机和 LED 灯。我们环视一圈,从顶部到底部,接近 360 度的空间都被覆盖了。 系统启动以后,只能看见密密麻麻的,相机屏幕发出的光,而这两个巨大的星芒,竟然是两台激光投影仪发出的。 这里面一共有 175 台单反相机、96 个可编程的 LED 灯、6 台激光投影仪,光是硬件的成本就是百万级的。 其实所有设备的控制、传输、存储等等,业内也有一些方案,但是应用场景并不完全一样,所以这整个光场系统的每个环节、每个功能,都是 vivo 从零开始自己做的。 光场有很多不同的版本,vivo 这个房间里其实有两套系统,分别是重打光和 3D 重建系统,它们场地和设备的要求类似,所以 vivo 把两套系统组建在了一起。 重打光 为了让大家看得更清楚,我们也尝试用全景相机拍摄了一下,但还是不够清楚,为了更直观一点,我们把 vivo 的整个光场系统建了个模型。 第一套重打光系统,由96 个可编程的 LED 灯,一个环形的柔光灯和一台工业相机组成。LED 灯布置在人像的正面,可以覆盖 180 度的空间。 环形的柔光灯可以照亮人像的全身,但又不打亮背景。工业相机可以高速连拍。因为采集数据的过程非常快,只有三秒钟,97 个灯会按顺序亮一百多次,每一次工业相机都会拍照记录,把所有的打光情况都记录下来。 一百多张照片几乎是一模一样的,唯一不同的就是人脸上的光,可以细分到额头、眼睛、脸颊、正脸、侧脸,等等每一个部位、每一个方向。 我不管你,会在什么地方,但是我把你可能出现的观影变化完全记录下。这有一本拥有你各种光影的相册,重打光就是从这本相册里找出一张你想要的新照片。 素材有了,vivo 是怎么训练模型的呢?工程师会的非常专业:懂得都懂。其实工程师也给我们讲解了很多细节,作为能参观的条件,我们也不能说太细。 我们只能比较一下 vivo 和谷歌的每一个步骤,第一步抠像,vivo 和谷歌的前景遮罩都是发丝级别,谷歌在论文里也统计了,用深度学习模型抠像效率和准确性都提升了很多。 第二步生成的法线图都是像素级别的,对比 Ps 生成的法线图,精度的差距很明显。最终合成的结果,vivo 也实现了让人像的光影随着环境的变化而自动变化。 这只是初步的结果,未来这个光场系统收集越多的模特,不同性别、身高、脸型的数据,训练出来的模型效果就会越好。但这只是复刻了谷歌的论文,有什么意义呢? 有,因为这一套模型,目前还是跑在 vivo 的算力平台上的,但他们接下来的目标是让它跑在手机上。 具体的功能,vivo 在影像盛典上已经公布了四季人像、光照编辑等功能,但是想象力可以更丰富一点,各种照片换背景,视频会议换背景,线上打卡网红店都可以做起来了。 3D 重建 不知道大家有没有注意到,光场里最多的还是相机,这个 3D 人像实验室跟名字一样,还有 3D 建模,生成数字人的能力。 这套系统有 175 个相同型号的单反相机,6 个激光投影仪和 4 个摄影灯。 这一次相机的布局是 360 度的,天花板和地板上都有,摄影灯保证房间里的亮度均匀,6 个激光投影分成三组,每一组覆盖 120 度,保证可以完整覆盖模特全身。大家能猜到投影仪是用来干嘛的吗? 我们打开投影,现场画面真的很科幻,这样的马赛克图案可以给模特的身上增加特征点,跟相机配合就是一套结构光系统。 软件可以根据图案的形变来计算深度信息,更精准地建模。实际拍摄比重打光更快,175 台相机是由树莓派控制的,同时拍摄、最大的延迟只有 20ms。拍摄的素材也是统一管理的,直接传输到服务器上,软件生成模型。 大家看看这个模型跟我本人像不像,官方说是毛孔级别的,超越了我见过的所有 3D 数字人。 如果更精细地划分,可以给头部建模,做一个写实版的 Memoji,或者给手部建模,识别手势的操作。是不是很熟悉,这就是 vision pro 发布的时候自带的新功能。 其实所有的元宇宙应用,或者 XR 设备都会需要一个这样的数字人模型,不论你需要极度写实还是自定义的外貌,vivo 这套 3D 重建系统已经打下了一个很好的基础。 当把模型放到具体的场景里去的时候,就可以把重打光也结合起来了。反射场信息跟 3D 深度信息可以彼此做验证辅助,让这个模型更真实。 在现实世界里,你可以用到这样的 AR 特效。在手机相册里,你可以编辑人像的年龄、发型和表情。 以后还可以看到自己试穿新衣服的样子,甚至可以把操控的英雄模型换成自己,如果这样的话,你会不会比较愿意给自己买个新皮肤呢? 总结 我们提了 AI、深度学习、算法这么久,它们确实可以改变我们的生活,但是使用它们的门槛也很高。真正能让所有人体验到的 AI 肯定是手机上的 AI,而不是 4090 和服务器上的 AI。 所以这也是为什么,像 vivo 这样的手机厂商看待 AI 的时候跟我们看待新技术的理念和视角会不一样。 那这个秘密武器,离到我们真正用上到底有多久呢?我想就是这个 3D 影像实验室,跟旁边手机产线的距离吧。
AI