作为现阶段最成功的VR内容生态之一,Quest商店吸引了越来越多开发者发布VR内容,但这对于Meta来讲似乎还不够,其也在探索某种UGC VR生态,比如在Horizon Worlds中提供可视化开发工具,让普通人也能创造VR应用。而近期,Meta公布的一项新研究表明,未来制作AR/VR内容可能就像拍短视频那么简单。
据了解,Meta为了简化AR/VR内容开发方式,研发了一种RGB-D图像生成3D模型方案:MCC。MMC全称是多视图压缩编码,它是一种基于Transformer的编码器-解码器模型,可根据一帧RGB-D图像合成/重建3D模型,潜在应用场景包括AR/VR、3D视觉重建、机器人导航、数字孪生/虚拟仿真等等。与普通彩色2D图像不同,RGB-D是具有深度的彩色图像,相当于普通RGB三通道彩色图像加上深度图(Depth Map),二者是配准的,像素一一对应。
(资料图片)
实际上,Meta在2018年的F8大会上,就曾公布3D照片研究,可通过双摄手机拍摄出具有3D效果的照片,其中包含一定的深度信息。其甚至还研发了将2D图像转3D的CNN模型,特点是支持单摄手机。这意味着,它如果结合MCC方案,或许可以将单摄手机捕捉的2D图像合成为3D模型。
而Transformer是一种采用自注意力机制的深度学习模型,谷歌曾使用它来增强搜索引擎,而近期比较火的ChatGPT模型也是基于Transformer。起初,Transformer更常用与自然语言处理领域,而随着它与大规模、通用类别的学习模型结合,便也开始被用于语言处理之外的领域,比如图像合成、图像分析。
利用MCC方案,3D开发/合成将有望实现规模化。随着深度传感器、深度捕捉AI模型在手机上普及,具有深度信息的图像越来越容易获得,因此MCC可使用的数据规模足够大。
研究背景
Meta科研人员指出,视觉识别的一个核心目标根据单个图像来理解物体和场景。在大规模学习和通用表示推动下,2D图像识别技术得到大幅提升,但现阶段识别3D场景/物体还存在挑战,因为2D图像源中存在图形遮挡,所以很难从单张图像合成完整的3D模型。
为了解决这一问题,一些3D合成模型依赖于多张不同角度的源图像。而如果用CAD模型来训练,市面可用的数据集规模不够多,因此限制了3D合成和理解技术的发展。
而MCC只需要RGB-D图像就能训练,图像中不可见的部分也能在3D模型中完整预测/合成。监督所使用的数据则基于含有深度信息、相机姿态的视频帧。
方案原理
MCC采用简单的解码器-编码器架构,将RGB-D图像输入到MCC中会产生输入编码,然后解码器将在输入编码中访问3D点数据,以预测该点的占用率和RGB色彩(将3D重建定义为二元分类问题)。简单来讲,MCC只需要处理3D点云数据,而3D点可以捕捉任何对象或场景,通用性比网格和立体像素更好,因此用大规模RGB-D图像数据就能训练模型。另外,RGB-D图像可通过手机的LiDAR传感器来捕捉,或是由深度模型来计算(比如MiDas、COLMAP)。
科研人员利用来自不同数据集的深度图像/视频来训练MCC,这些数据部分未包含3D场景、3D对象的全部角度,而这将需要AI重新构建。此外,MCC也可以将AI合成的图像转化为3D模型。
因此,MCC最大的特点是可预测RGB-D图像中看不见、被遮挡的3D几何形状。科研人员表示:MCC模型与基于图像的自监督学习、掩码自动编码器(MAE)的最新进展有直接关系,MAE也是通过预测图像中看不见的形状来学习图像表示。此外,MCC无需具有注释的3D数据,成本更低、数据更容易收集。
科研人员表示:研究结果表明,将基于点云的3D合成模型与通用类别的大规模训练结合,是有效的。未来,希望将这种成果扩展为通用的3D分析视觉系统,让3D重建/合成效果更接近人脑的想象力。
对比其他方案
谷歌、NVIDIA等科技公司也曾研发2D图转3D技术,分别依赖于NeRF、逆向渲染(3D MoMa),缺点是需要多张图像,而且NeRF很那从单个图像生成新的场景。其他一些方案需要使用3D CAD模型等规模有限的数据来训练,而MCC只需要通过RGB-D图像就能训练3D重建。
此外,MCC普适性好,对于未曾见过的新对象类别,也能实现“开箱即用”(支持零样本学习),直接处理成3D模型。
为了展示MCC与不同数据来源的兼容性,科研人员将其与多个图像源结合,比如:
iPhone 14 Pro(LiDAR传感器) 图像生成AI DALL-E 2 Facebook的开源3D重建数据集CO3D(Common Objects in 3D) 大型视觉数据库ImageNet 3D仿真数据集Hypersim 室内场景数据集Taskonomy这些数据集包含了50多种常见对象类型,以及大规模场景,比如仓库、礼堂、阁楼、餐厅等等,利用它们重建的3D模型还不能一比一还原,而是看起来比原来更圆润、更卡通化,但应用在3D开发中质量足够好。未来,随着用更多数据、更多样化对象进行训练,MCC的性能还可以显著提升。
参考:Meta
责任编辑:Rex_06