AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
本文第一作者为斯坦福大学研究生蔡闻骁,此前,他以绩点第一名的成绩在东南大学取得学士学位。他的研究兴趣为多模态大模型、具身智能。此工作为其在上海交通大学访问和北京智源人工智能研究院实习期间完成,导师为本文通讯作者赵波教授。
此前,李飞飞老师提出了空间智能(SpatialIntelligence)这一概念,作为回应,来自上交、斯坦福、智源、北大、牛津、东大的研究者提出了空间大模型SpatialBot,并提出了训练数据SpatialQA和测试榜单SpatialBench,尝试让多模态大模型在通用场景和具身场景下理解深度、理解空间。
论文标题:SpatialBot:PreciseDepthUnderstandingwithVisionLanguageModels论文链接:https://arxiv.org/abs/2406.13642项目主页:https://github.com/BAAI-DCAI/SpatialBot
在具身智能的pickandplace任务中,需要判断机械爪是否碰到了目标物体。如果碰到,则可以合上爪子抓取。然而,在这个BerkerlyUR5DemonstrationDataset场景中,即使是GPT-4o或人类,都无法从单张RGB图像中判断机械爪是否碰到了目标物体,比如借助深度信息,将深度图直接给GPT-4o看的话,也无法判断,因为它不能理解深度图。
SpatialBot通过对RGB-Depth的理解,可以准确获得机械爪和目标物体的深度值,从而产生对空间概念的理解。
具身场景的SpatialBotDemo:
1.以人(相机)的视角,抓取右侧的茶杯
2.抓取最中间的茶杯
视频链接:https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650929304&idx=4&sn=906cb76e1014596f6aede719086eba5d&chksm=84e43ce6b393b5f05c11dcd7bbd0fc5b0ab428af6e0c2ab8bbd7b212f281be3731895e2529e3&token=1689653070&lang=zh_CN#rd
作为走向具身智能的必要路径,如何让大模型理解空间?
点云比较贵,双目相机在使用中需要经常校准。相比之下,深度相机价格可以接受、使用范围广。在通用场景中,即使没有这样的硬件设备,大规模无监督训练过的深度估计模型已经可以提供较为准确的深度信息。因此,作者提出,使用RGBD作为空间大模型的输入。
目前的技术路线存在什么问题?
现有模型无法直接理解深度图输入。比如,图像编码器CLIP/SigLIP在RGB图像上训练,没有见过深度图。现有大模型数据集,大多仅用RGB就可以分析、回答。因此,如果仅仅简单的将现有数据改为RGBD输入,模型不会主动到深度图中索引知识。需要专门设计任务和QA,引导模型理解深度图、使用深度信息。
三个层次的SpatialQA,逐步引导模型理解深度图、使用深度信息
如何引导模型理解和使用深度信息,理解空间?
作者提出具有三个层次的SpatialQA数据集。
在lowlevel引导模型理解深度图,引导从深度图直接获取信息;在middlelevel让模型将depth与RGB对齐;在highlevel设计多个深度相关任务,标注了50k的数据,让模型在理解深度图的基础上,使用深度信息完成任务。任务包括:空间位置关系,物体大小,物体接触与否,机器人场景理解等。
示例对话
SpatialBot包含什么?
1.借鉴agent中的思想,SpatialBot在需要时,可以通过API获取准确的深度信息。在深度信息获取、远近关系比较的任务上,可以达到99%+的准确率。
2.针对空间理解任务,作者公布了SpatialBench榜单。通过精心设计和标注QA,测试模型深度理解能力。SpatialBot在榜单上展示了和GPT-4o接近的能力。
模型如何理解深度图?
1.输入模型的深度图:为了兼顾室内室外任务,需要统一的深度图编码方式。室内的抓取、导航任务可能需要毫米级的精确度,室外的场景不需要这么精准,却可能需要100米以上的深度值范围。传统视觉任务中会用OrdinalEncoding来编码,但是ordinal的值无法进行加减运算。为了尽可能保留所有深度信息,SpatialBot直接使用以毫米为单位的metricdepth,范围为1mm~131m,使用uint24或三通道的uint8来保留这些值。
2.为了精准的获取深度信息,借鉴agents中的思想,SpatialBot在认为有必要的时候,会以点的形式调用DepthAPI,获取准确的深度值。若想获取物体的深度,SpatialBot会先思考物体的boundingbox是什么,然后用boundingbox的中心点调用API。
3.SpatialBot使用物体的中心点、深度平均、最大和最小四个值来描述深度。
SpatialBot和DepthAPI架构
SpatialBot在通用场景和具身场景效果如何?
1.SpatialBot基于3B到8B的多个baseLLM。通过在SpatialQA中学习空间知识,SpatialBot在常用MLLM数据集(MME、MMBench等)上同样展示了显著的效果提升。
2.在OpenX-Embodiment、作者收集的机器人抓取数据等具身任务上,SpatialBot同样展示了惊人效果。
SpatialBot通用场景对比实验
数据如何标注?
精心设计了关于空间理解的问题,比如深度、远近关系、上下左右前后位置关系、大小关系,并且包含了具身中的重要问题,比如两个物体是否接触。
在测试集SpatialBench中,首先人工思考问题、选项和答案。为了扩大测试集大小,也使用GPT以同样的流程标注。
训练集SpatialQA包含三方面:
直接理解深度图,让模型看深度图,分析深度的分布,猜测其中可能包含的物体;空间关系理解和推理;机器人场景理解:描述OpenX-Embodiment和本文收集的机器人数据中的场景、包含的物体、可能的任务,并人工标注物体、机器人的boundingbox。
空间关系理解
OpenX-Embodiment机器人场景理解
深度图理解。在使用GPT标注这部分数据时,GPT会先看到深度图,描述深度图、推理其中可能包含的场景和物体,然后看到RGB图,筛选出正确的描述和推理。
未经允许不得转载:头条资讯网_今日热点_娱乐才是你关心的时事 » 李飞飞空间智能之后,上交、智源、北大提出空间大模型SpatialBot