抛弃传统方法,只采用Transformer来解码真实场景!
近日,来自Meta的研究人员推出了SceneScript,只需要70M参数,仅采用编码器解码器架构,就能将真实世界的场景转化为几何表示。
SceneScript是一种用于表示和推断场景几何图形的方法,使用自回归结构化语言模型和端到端学习。
SceneScript可以助力AR和AI设备理解物理空间的几何形状,比如下面这个演示,利用Aria眼镜拍摄的素材,SceneScript可以获取视觉输入并估计场景元素(墙壁、门窗等)。
是不是感觉一下子走到了虚拟和现实的交界?
用这个技术来帮助开发AR或者MR游戏应该是妥妥的,小编表示期待地搓搓手。
再看下面这个,将SceneScript技术叠加到Meta Quest的显示画面上,现实世界瞬间变得方方正正,还挺萌的。
同时我们也可以发现,SceneScript预测的场景元素可以任意扩展,不断包含进来新的建筑特征、对象,甚至还可以将对象进行分解。
SceneScript是Meta RealityLabs Research的一个研究项目,整个模型分为编码器和解码器两个部分。
其中,点云编码器由一系列3D稀疏卷积块组成,这些卷积块将大点云汇集到少量特征中。
随后,Transformer解码器利用编码器的特征作为交叉注意力的上下文,自回归生成token。
编码器和解码器都只有大约35M参数,整个模型训练了3天,大约200k次迭代。
模型在实际应用中的推理速度也很不错,即使直接使用PyTorch中原始的Transformer(未经优化),解码256个token(相当于一个包含墙壁、门、窗和对象边界框的中等大小的场景),也只需要大约2-3秒。
SceneScript是完全在模拟器中训练的,使用Project Aria眼镜上捕获的内容序列,而没有使用真实世界的数据。训练完成之后,模型又在真实场景中进行了验证。
另外,在适应其他设备时,也可以针对不同类型镜头的不同相机型号对模型进行微调。
不过作者也表示,SceneScript仅在室内场景中进行了训练,因此对室外场景的推断可能会导致不可预测的输出。
目前,SceneScript仅供Meta的内部研究团队使用。
区别于传统的将场景描述为网格(meshes),体素网格(voxel grids),点云(point clouds)或辐射场(radiance fields)的传统方法,
SceneScript使用场景语言编码器-解码器架构,直接从编码的视觉数据中推断出结构化语言命令集。
如上图所示,给定一个以自我为中心的环境视频,SceneScript直接预测由结构化场景语言命令组成的3D场景表示。
第一行表示整个工作流程,放大一下就是下面这样子:
SceneScript先从VR眼镜等设备中,拿到图像或点云表示的视觉信息,
然后将视觉信息编码为描述物理空间的潜在表示形式,
再将潜在表示解码为简洁、参数化且可解释的语言(类似CAD),
最后,3D解释器将上面的语言转换为物理空间的几何表示。
SceneScript以纯文本形式自回归地预测手工设计的结构化语言命令,这种形式有几个明显的优点:
首先,作为纯文本,占用空间很小,将大型场景的内存要求降低到只需要几个字节。
其次,这种命令旨在产生清晰且定义明确的几何图形,并且,模型所使用的make_door(*door_parameters)等高级参数命令,在设计上是可解释、可编辑和语义丰富的。
另外,可以通过简单地向语言中添加新的结构化命令,来无缝集成新的几何实体。
最后,这种解决方式也为未来一些潜在的新应用提供了参考,例如编辑场景、查询场景或者聊天交互。
另外,由于语言模型需要大量数据来训练响应的结构化语言命令,而对于当前应用没有合适的数据集。
为了训练SceneScript,研究人员于是自己造了一个名为Aria Synthetic Environments的大规模合成数据集,该数据集由100k个高质量的室内场景组成,包括以自我为中心的逼真场景演练和对应的标签。
对于每个场景,使用来自Project Aria的一整套传感器数据来模拟以自我为中心的轨迹,还包括深度和实例分割,而架构布局的基本事实采用上面提到的自定义的结构化语言命令给出。
上图展示了Aria生成场景的随机样本,显示了布局、灯光和物体放置的多样性,以及俯视图、模拟轨迹(蓝色路径)、深度、RGB和对象实例的渲染,最后是场景点云。
SceneScript可以轻松扩展到新任务,同时保持视觉输入和网络架构的固定性。
SceneScript 的管道是一个简单的编码器-解码器体系结构,它使用视频序列并以标记化格式返回SceneScript语言。
作者研究了三种编码器变体:点云编码器、摆姿势图像集编码器和组合编码器,结果表明,解码器在所有情况下都保持不变。
编码器从场景的视频演练中以1D序列的形式计算潜在场景代码。解码器设计为将这些1D序列用作输入。这样就可以在一个统一的框架内整合各种输入模式。
上图展示了SceneScript的核心管线。原始图像和点云数据被编码为潜在代码,然后自回归解码为描述场景的一系列命令。使用自定义构建的解释器显示可视化效果。
值得注意的是,对于本文中的结果,点云是使用Aria MPS从图像中计算出来的,没有使用专用的RGB-D / 激光雷达传感器。
上图为在Aria Synthetic Environments测试集上,SceneScript模型和SOTA方法之间的定性比较。
像SceneCAD这样的分层方法会受到错误级联的影响,这会导致边缘预测模块中缺少元素。而RoomFormer(一种拉伸为3D的2D方法)主要受到轻微捕获的场景区域的影响,这些区域在密度图中留下了不明显的信号。
表中数据给出了Aria合成环境的布局估计,SceneScript方法与近期相关工作之间的定量比较。
本文来自微信公众号“新智元”
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner