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

杨净 萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI

最近,我身边的朋友,突然一个个都变成了圣斗士!

像这种比较炫酷的“飞天”黄金圣斗士,连影子都惟妙惟肖的:

还有这种在办公室偷偷变身双子座圣斗士,想要拯救世界的:

又或者是在自家小花园里变成处女座圣斗士,打破次元壁的:

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

原来,这是一群程序员做出的移动端3D圣衣特效,现在只用一部手机,就能随时随地“变身”圣斗士。

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

如果不想打开摄像头,也可以只用一张照片,就能成功“变装”:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

脚掌不正常的翻转抖动

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

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

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

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

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

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

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

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

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

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

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

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

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

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

设计师也学代码?

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

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

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

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

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

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

首先,目标一致

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

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

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

(疯狂暗示)

其次,就是技术思维

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

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

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

学点代码,很有帮助

确实很技术,很硬核。

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

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

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

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

(PS:想要变身黄金圣斗士的朋友,带上照片戳“阅读原文”即可玩耍~)

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~


标签:
QbitAI
量子位 微信号:QbitAI 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 衣服起球怎么回答顾客专业术语(衣服起球应对回复顾客)

    大家好,小美今天来为大家解答衣服起球怎么回答顾客专业术语以下问题,衣服起球应对回复顾客很多人还不知道,现在让我们一起来看看吧!1、感

  2. 2 申请qq号注册新账号(申请qq号注册新账号下载)

    大家好,小丽今天来为大家解答申请qq号注册新账号以下问题,申请qq号注册新账号下载很多人还不知道,现在让我们一起来看看吧!1、若使用的vi

  3. 3 c盘内存不足怎么清理(电脑c盘又变红教你一键彻底清理)

    大家好,小豪今天来为大家解答c盘内存不足怎么清理以下问题,电脑c盘又变红教你一键彻底清理很多人还不知道,现在让我们一起来看看吧!1、电

  4. 4 嘎嘎昆虫网(嘎嘎昆虫网网址)

    大家好,小娟今天来为大家解答嘎嘎昆虫网以下问题,嘎嘎昆虫网网址很多人还不知道,现在让我们一起来看看吧!1、只需要在首页操作。2、触角皆

  5. 5 退休申请书范文大全(退休申请咋写的请给个样板)

    大家好,小美今天来为大家解答退休申请书范文大全以下问题,退休申请咋写的请给个样板很多人还不知道,现在让我们一起来看看吧!1、退休申请

  6. 6 jj斗地主记牌器(斗地主如何记牌快速记牌)

    大家好,小伟今天来为大家解答jj斗地主记牌器以下问题,斗地主如何记牌快速记牌很多人还不知道,现在让我们一起来看看吧!1、strong>让我为你推

  7. 7 速通物流单号(速通物流单号查询快速)

    大家好,小娟今天来为大家解答速通物流单号以下问题,速通物流单号查询快速很多人还不知道,现在让我们一起来看看吧!1、货物未发货或发货后

  8. 8 辛晴赢擎苍免费阅读(辛勤赢擎苍小说)

    大家好,小豪今天来为大家解答辛晴赢擎苍免费阅读以下问题,辛勤赢擎苍小说很多人还不知道,现在让我们一起来看看吧!1、《蜜意浓情之天价甜

Copyright 2024 优质自媒体,让大家了解更多图文资讯!