前沿科技网

程序员至死是少年!在公司竟公然变身圣斗士

前沿科技网 1

程序员至死是少年!在公司竟公然变身圣斗士

杨净 萧箫 发自 凹非寺

量子位 报道 | 公众号 QbitAI

最近,当时吴正在与谷歌合作一个项目。“他试图在互联网上找猫 — 他描述的不是那样,我身边的朋友,但他就是那样做的,突然一个个都变成了圣斗士!

像这种比较炫酷的“飞天”黄金圣斗士,”Dally 说。吴当时在谷歌 X 实验室从事一个项目,连影子都惟妙惟肖的:

点击播放 GIF 0.0M

还有这种在办公室偷偷变身双子座圣斗士,旨在构建一个可以自行学的神经网络。这个神经网络在 YouTube 上观看了 1000 万个视频,想要拯救世界的:

点击播放 GIF 0.0M

又或者是在自家小花园里变成处女座圣斗士,并学会了如何认出人脸、身体和猫 — 但要准确做到这一点,打破次元壁的:

点击播放 GIF 0.0M

还有白羊座、天秤座、射手座圣斗士……怎么回事?

原来,系统需要数千个 CPU(处理器),这是一群程序员做出的移动端3D圣衣特效,即为计算机提供动力的主要处理器。“我说,现在只用一手机,‘我敢打赌,就能随时随地“变身”圣斗士。

点击播放 GIF 0.0M

又一童年梦想被实现了有木有!

如果不想打开摄像头,我们只需要几个 GPU 就可以做到同样的事情,也可以只用一张照片,’”Dally 说。GPU(图形处理单元)专门用于处理更密集的负载,就能成功“变装”:

点击播放 GIF 0.0M

不过,要实现这样贴合的效果并不容易,单从技术本身来看,就充满了挑战性。

在他们之前,甚至根本就没有人将这类技术应用到手机上。

而整个项目也是联合渲染、设计两个团队,一鼓作气耗时10个月才完成。

毕竟要守护心中的雅典娜,多少付出都是值得。

电影游戏界的“重金特效师”

这项耗时10个月打造的技术,就是好莱坞片和3A(高成本)游戏作中才会用到的动作捕捉。

说到这项技术,或许有的人还会感到陌生,但像《阿凡达》《指环王》这样的好莱坞电影、或是《刺客信条》《生化危机》这样的3A游戏,你一定听说过。

没错,这其中的许多经典特效、角色动作设计,都采用了动作捕捉技术。

由于能直接记录动作,这项技术能幅缩短制作特效的时间,同时能让角色表情、动作看起来更真实。

对手K动画设计师来说,能降低设计工作量;对虚拟直播(Vtuber)、体育和医疗等领域来说,动作捕捉不仅能实现逼真的动作还原,还能实现实时动作记录。

听起来非常诱人,但这其实是一项高门槛技术。

首先,要想实现逼真的动作还原效果,就必须对硬件提出高要求,主流的惯性和光学动作捕捉技术,基本都需要传感器,便宜的效果还不好。

以(惯性动捕)游戏《舞力全开》为例,虽然硬件成本低廉(甚至能用手机当传感器),但由于只有手传感器,无法检测腿活动,体验并不好,还诞生出了像“轮椅舞王”这样的梗。

点击播放 GIF 0.0M

其次,为了将干扰、延迟降至最低,需要预留空间。以专业的Vtuber(虚拟主播)为例,他们直播所采用的动作捕捉技术,基本都需要10×10米的房间来降低干扰。

最后,数据计算量。动作捕捉系统获得的只是堆坐标数据,后期不仅要进行专业数据处理,同时还需要高性能计算机显卡来实现。

集硬件成本、环境、计算量等限制为一身的动作捕捉,要是之前说要把它用到手机上,可能立刻会有人说这是痴人说梦。

然而科技的发展总能给我们带来意想不到的效果。

微视团队中一群做计算机视觉的程序员,就只用一手机将黄金圣斗士的铠甲贴合在人物身上,而且确实成功了,实现了实时的处理效果。

但手机端动作捕捉技术,并不好做。

自研移动端算法,筛选7k+顶点

只用一普通的手机,意味着两个难点:计算量受限、坐标深度只能靠预测。

相机生成的照片,通常只有2D信息。要想从2D中还原出3D信息,需要找到一个能够预测坐标深度的函数,使之预测的3D信息尽可能逼近真实值。

对于真实度要求很高的动作捕捉技术而言,这意味着精度和实时性都要受到挑战。

目前已有的移动端AI技术,只能实现实时动作捕捉的一分功能,包括人体/人脸检测、和基于2D/3D骨骼关键点的姿态估计技术,也就是我们常见的“火柴人”算法。

点击播放 GIF 0.0M

但“火柴人”算法显然没有3D Mesh贴合度高,因此团队决定,将3D Mesh搬到移动端上,自研一套基于3D Mesh的移动端姿态估计算法。

这套算法相当于重建人体表面的7000多个特征点,以及15000多个三角面片,不仅能够还原人体的基本动作,还能预测出人体的高矮胖瘦。

点击播放 GIF 0.0M

除此之外,团队还从3个方面,对模型进行了整体优化。

其一,从动作捕捉精度和模型小两方面,对自研模型进行调试。

据微视团队表示,移动端已有的基于3D骨骼关键点的驱动阀,虽然可以驱动虚拟人体,在同一场景下做各种动作,但这套算法存在一些不足,需要自行调整。

例如,算法偶尔会出现不正常的抖动,包括虚拟人物突然“形变”的情况,如下图脚掌翻转。为此,团队还给算法加上了平滑滤波,使得人物动作看起来更真实,进一步提升模型精度,避免像下面这种抖动。

点击播放 GIF 0.0M

△脚掌不正常的翻转抖动

同时,在精度以外,团队还要保证在移动端实现3D Mesh。为了做到这一点,除了在其他模型方面尽可能整合压缩以外,团队也对模型本身进行了一个简化。

其二,从数据采集来看,团队也下了不少功夫。

由于移动端3D Mesh数据需针对性采集,微视团队搭建了自动化的数据采集系统,帮助快速采集到高质量动捕数据。

点击播放 GIF 0.0M

虽然Kinect的实时动作捕捉效果一般,但用于数据采集还是非常不错的,三台结合起来就能获得完整的深度信息。

为了确保模型的泛化性,除了尽可能多找18~60岁的不同人物数据进行采集以外,程序员们还采用了数据增强和半监督学来增强模型的泛化能力。

在数据增强这块,为了加强模型辨认人体与周围环境的能力,程序员们将获取到人体的mask信息进行提取,随机贴到其他背景的图片上,创造出更多不同背景信息的图片;同时,团队也采用了神经渲染、GAN等技术,来生成更多的训练数据。

在半监督学上,程序员们结合辅助任务,对2D关键点模型进行训练、提升模型的泛化能力。

其三,就是团队对实时性和特效渲染做的兼顾。

模型结构的整体设计和优化都只是“基本操作”,例如将串联运行的模型改成并联运行等;在推理上,团队还基于优图的TNN移动端深度推理框架,实现了模型的高效推理,最终将模型的推理时间从15ms降低到了11ms。

这里面的一个难点,就是要确保渲染效果和移动端性能(实时性)的兼顾,既要让画面看起来比较精致,又不能让软件运行速度太慢。

因此,团队先采用了自研3D渲染引擎增强光影效果,并利用SSAO、IBL等技术增强阴暗角落处的阴影质量,使得整体渲染效果与目前主流手游非常接近;

同时又进一步适配不同机型,采取分级策略,确保在各种手机上都能取得不错的运行性能。

显然,要想实现上面这些技术,呈现出最终的圣斗士特效,微视的设计师们同样功不可没。

甚至可以说,微视团队中,就连设计师也都是“技术硬核”的存在。

设计师也学代码?

从最初产生想法、打磨研发,一直到最终呈现,10个月的时间,对于一个研发团队来说并不短。

当中,除了技术本身的实现难度之外,还牵涉到整个系统的协同配合。

从最开始的CV技术研发、到移动端的署,以及渲染,最后制作成一个特效工具……整个技术生产链条的打通需要各个团队充分合作。

就比如,像把盔甲穿在人身上,这样一个看似简单的动作,就需要、算法、设计三个组的同学协同调整。

点击播放 GIF 0.0M

一位设计组的旁友直呼:这分的钻研和调整超过了制作模型的时间。

但即便如此,他们也有自己的制胜法宝。

首先,目标一致。

概也是因为围绕圣斗士这一主题,团队内也有很多的年轻人,所以整个技术磨合阶段并没有出现过什么Battle。

嗯,为了同一个梦想,各自都在燃烧自己的小宇宙!

另外小小剧透一下,由于整个链条已经打通,接下来团队会用技术做一些发散,尝试其他IP角色。

(疯狂暗示)

其次,就是技术思维。

即便是与核心技术没有那么强关系的设计组,也坦言前沿技术的更迭很快。

可能去年学的新技术,可能到今年就已经过时了,要多花时间一些时间钻研前沿技术。

尤其是在被问到给当前要毕业的设计同学建议时,更是言简意赅:

学点代码,很有帮助。

确实很技术,很硬核。

一边不断接触各种前沿技术,享受着从研发到落地整个链条,另一边还能完成“拯救世界”和“守护女神”的梦想,这是团队内提及最多的成就感。

也唯因如此,才能将硬核技术攻克下来,成为每个人都能触达的好玩特效。

最后还想再替相信「光」的年轻人问一句:

奥特曼,真的不打算安排上么?

佳能相机设置里怎么关定时

尼康延时拍摄相机怎么设置

索尼相机出现错误怎么解决

相机胶片套盒怎么用的啊

京东自营为什么是圆通快递

用微信怎么上传照片

摄像头里灰尘怎么清理

广州有口碑的免费网站优化

太原正规网站seo价格

免责声明:文中图片均来源于网络,如有版权问题请联系我们进行删除!

标签:算法 动作捕捉