在元宇宙里克隆真人?Unity元宇宙的背后竟是游戏宅
编辑:好困 袁榭【新智元导读】在大批企业抢位元宇宙、苦思如何将真实世界VR化又如何变现的当下,从服务游戏宅做起的Unity公司,技术力与商业经验已经足以在游戏引擎中,支撑一个人、物都高拟真的实景世界克隆版了。
玩家一动,就把「据说买不起机器假肢只好坐轮椅」的NPC吓到冲刺速度赛苏炳添。
在一个有巫师存在的宇宙中,猎魔人的坐骑闲来俯卧撑一下,好像也讲得通哦。
「身边枪林弹雨,NPC八风不动」的哏,已经让「加拿大邓超」贱贱老师拍成热卖电影了。
三十多年来,游戏的NPC似乎从视觉效果到互动智能都有进步,但有无质变,实在不好说。
毕竟它们和那些只会复读「英雄要不要光临我的小店」、运动轨迹诡异的古早NPC实无不同。
曾有人开玩笑:互联网时代的技术进步,三分之二是宅圈需求刺激推动的。
仔细想想,这话还真不假。在晚近的过去,在线看片的需求让数据传输技术获得革命性的突破。在不远的未来,游戏宅对五毛钱视效和低智NPC的鄙视,说不定也将同等地改变元宇宙呢。
对此,Unity微微一笑,公布了5年前公司已开始用于游戏建模和制作NPC的AI。
是不是有「大家在山上慢慢爬,我在山顶恭候」的贱贱感?在大佬抓紧砸钱、企业拼命抢位的元宇宙急流中,Unity已经有足够实力在自家的游戏引擎里搭建一个足够真实的虚拟现实世界。
而且更欠的是,Unity似乎不担心「元宇宙如何变现」的天问。
元宇宙里大搞NPC
还记得复仇者联盟4最终大战那个恢弘的场面吗?
这背后强大的渲染技术正是来自曾6次获得奥斯卡最佳视觉效果奖,由著名导演Peter Jackson创建的Weta Digital(维塔数字)。
2021年11月9日,Unity出资16.25亿美元收购了Weta Digital。
由此,Unity也开始了在「元宇宙」这条路上的大步流星。
不过,Unity公司的高管们是逐渐开窍的:
一开始他们只求让游戏里的NPC看起来更真实,行为脱离智障。
不过公司高管慢慢发现,力求真实细腻的游戏建模与NPC互动的AI引擎,可以反用于真实世界中,让各种企业和单位使用这些引擎完成各种需求。
而这些企业输入的数据,又能用于完善Unity的AI引擎,让Unity的虚拟建模逐渐成为真实世界的数码克隆版。在当下就能搭上元宇宙的顺风船了。
说到元宇宙,也就不得不提Unity在技术开放日上揭秘到数字人制作流程。
而下面这位「真人」小姐姐便是其中之一。
她会嘟嘴卖萌,也会紧皱眉头生气,甚至让你不禁怀疑,如果有了她还需要再捏造二次元老婆么。
不过,对于量产的NPC来说,还需要点儿别的东西。
NPC如何「变人」?
想要把现实中的人给「元」了,显然需要非常大量且富有多样性的数据和标注,例如人物建模、姿势等等。
然而,使用现成的数据集是不行的。不仅因为数据量太少,而且其中存在的隐私和偏见问题也饱受非议。
既然真实世界的数据不好用,那我们自己合成总行了吧。
于是,一个新兴的替代方案诞生了——合成数据。
然而,这个想法从一开始就遇到了阻碍:合成数据的生成器很难搞。
为此,Unity推出了一个全新的解决方案「PeopleSansPeople」。包含高了度参数化且直接可以应用于仿真的3D人体数据、参数化照明和拍摄系统、参数化环境生成器,以及完全可操纵和可扩展的领域随机生成器。
顾名思义,这个项目是从将采样自实景生活中真人外观的数据随机化开始,进而基于这些数据打造合成数据模型,将真人虚拟NPC化,也让NPC更加有真实感。
https://arxiv.org/pdf/2112.09290.pdf
通过PeopleSansPeople,用户可以在JSON注释文件中生成带有完美匹配亚像素的2D/3D边界框的RGB图像、符合COCO标准的人体关键点以及语义/实例分割掩码。
此外,PeopleSansPeople还利用了Detectron2 Key.point R-CNN变体进行了基准合成数据的训练。
结果显示,利用合成数据对网络进行预训练,并在目标真实世界的数据上进行微调之后,可以让关键点的AP评分达到60.37±0.48(COCO test-dev2017)。优于单独使用相同真实数据训练的模型(AP为55.80)和使用ImageNet预训练的模型(AP为57.50)。
「PeopleSansPeople」包含了一个针对macOS和Linux的大规模(1M以上)数据集:
[*]28个不同年龄和种族的3D人体模型,不同的服装(21,952个独特的服装纹理);
[*]39个动画短片,具有完全随机的人体姿态、体型等;
[*]完全参数化的照明(位置、颜色、角度和强度)和拍摄(位置、视场、焦距)设置;
[*]一组物体基元,作为分散注意力的物体和具有不同质地的遮挡物;
[*]一组来自COCO未标记的1600张自然图像,作为物体的背景和纹理。
此外,PeopleSansPeople还有一个Unity的模板。
用户可以将他们自己的3D数据导入这个环境,并通过修改或定义新的领域随机生成器来进一步提高其能力。除了具有之前那个数据集的全部功能,还包括:
[*]4个具有不同服装颜色的三维人体模型示例;
[*]8个动画剪辑的例子,具有完全随机化的人体姿态等等;
[*]一组来自Unity Perception软件包的529张自然的杂货物品图片,作为物体的背景和纹理。
为了让模型能够推广到真实的领域之中,Unity通过额外的领域随机化来改变模拟的环境,进而在合成数据中引入更多的变化。
也就是对三维物体的位置和姿势、场景中三维物体的纹理和颜色、灯光的配置和颜色、拍摄参数以及一些后期处理效果等方面进行随机化。
其中,随机生成器在模拟过程中通过使用正态分布、均匀分布和二项分布从可能范围中取样来改变这些组件的参数。
而且在合成数据的训练中不并需要进行数据增强,从而也就加快了训练的速度。
于是,有了这样一个工具,我们就可以在即将成为NPC的模型上「整活」了。
比如,利用Unity Shader Graph在衣服上生成千奇百怪的图案。
模拟各种人体能够完成的动作和姿势也不在话下。
如此一来,应该能避免类似这种NPC的脑袋调转180度的情况吧。
现在,重新回到PeopleSansPeople这个模型上。
利用领域随机化,Unity生成了由500,000张图像和标签组成的合成数据集,并使用其中的490,000张图片进行训练,10,000张图片进行验证。
和COCO人物数据集相比,PeopleSansPeople在未标注的以及带有关键点的实例上,都多一个数量级。
数据集
对于COCO数据集,由于有许多纵向和横向的图像,从而观察到了长方形的边界框分布随着图像的高度和宽度而下降。其中绝大多数图像的边界框都集中在中心附近,而很少向边缘扩散。
对于PeopleSansPeople的合成数据,这些边界框更倾向于占据整个图像框架,从而强迫模型去利用整个接受域。
边界框占位热图
从统计数据中可以看到,COCO的每个图像大多只有1或2个边界框,而PeopleSansPeople数据集中图像的边界框普遍更多。
PeopleSansPeople数据集有更均匀的边界框大小分布,而COCO的边界框大多很小。此外,PeopleSansPeople数据集中的大多数边框都有关键点注释,而COCO则不然。
a) 每幅图像的边界框数量;b) 相对于图像大小的边界框大小;c) 每个边界框的注释关键点;d) 每个边界框的关键点比例
最后,为了量化PeopleSansPeople的人体模型在生成的图像中的姿势多样性,Unity对人物四肢的五个代表性关键点生成了姿势热图:
[*]PeopleSansPeople的姿势分布包含了COCO中的姿势分布;
[*]PeopleSansPeople的合成姿势分布比COCO更广泛;
[*]在COCO中,大多数人是正面朝向的,导致了点的密度与「手性」的不对称,而这在PeopleSansPeople的合成数据中是没有的。
五个有代表性的关键点位置热图。上面:COCO;下面:PeopleSansPeople
为了获得一套从模拟到真实的迁移学习的基准结果,Unity使用平均精度(AP)作为模型性能的主要指标,在COCO人物验证(person val2017)和测试集(test-dev2017)上进行了平局。
Unity通过随机初始化的权重和ImageNet预训练的权重来训练模型,并采用默认的参数范围来生成数据集,完全没有超参数的应用。
结果显示,PeopleSansPeople模型比那些只在真实数据上训练的模型或用ImageNet预训练然后在真实数据上微调的模型更好。
在真实数据有限的情况下,这种效果在few-shot迁移学习中更为突出。
COCO人体验证集上的边界框检测结果
对COCO人体验证集的关键点检测结果
COCO测试集上的关键点检测结果
此外,由于合成数据带有丰富的高质量标签,它可以与很少甚至没有注释的真实数据结合起来,实现弱监督训练。
Unity的AI项目负责人称,PeopleSansPeople项目里,虚拟NPC模型的最终姿势互动、视觉效果不是实景截取的复制,实景数据只是模板基底,最终模型是合成的。
这样既避免了当下关于隐私的各种法律与道德麻烦,也能避免AI的数据偏见,实在是建模的不二良选。
而Unity不会缺乏真实基底数据合理合法的来源,因为很多服务于海量人流的企业与单位与Unity紧密合作,为之提供持续的数据。Unity只消在其中采用不涉及隐私的一小点,就能很大完善游戏化项目中的NPC们。
当然,想要让NPC真正告别「智障」,还有很长的一段路要走。
参考资料:
https://blog.unity.com/technology/human-centric-computer-vision-with-unity-synthetic-data
https://www.wired.com/story/gaming-giant-unity-wants-to-digitally-clone-the-world/
页:
[1]