具身智能简单概述
在具身智能成为国家新型发展战略的当下,本文尝试完整梳理具身智能的技术路线。
原文链接: https://ys.al/post/17
声明
本文大部分观点出自:https://github.com/HCPLab-SYSU/Embodied_AI_Paper_List
具身机器人
具身机器人作为智能和外界互动的主要部分。
固定底座机器人
- 优点:精确、稳定
- 缺点:灵活性低
- 有精确的传感器,通常和人类和其他机器人一起使用
轮式机器人
- 优点:可以面对更多使用场景、移动效率更加高
- 缺点:在复杂地形移动性不足(不平的地面)、负载能力有限
- 通常会配备感知模块和高精度传感器
履带机器人
- 优点:在复杂地形上可以移动,风险小,在特殊场景应用广
- 缺点:能效低、在平坦路面上较慢
- 常常被用于军事用途
四足机器人
- 优点:稳定、适应性高、适合复杂地形
- 缺点:电池续航时间短、贵
人形机器人
- 优点:模仿人类动作、可以利用手臂执行复杂任务
- 缺点:贵、控制系统复杂、易出错
- 常常用于服务业
仿生机器人
- 优点:能耗低、在动态复杂环境中表现好
- 缺点:设计制造复杂、耐久性低
具身模拟器
仅对部分进行梳理
General Simulator
AI2-THOR
- 使用Unity3D实现,面对居家场景,有高度互动性的物体和物理属性(开、关、冷、热等等)
- 两部分组成:iTHOR和RoboTHOR.
- RoboTHOR对应现实世界的真实场景
Matterport 3D
- 是一个大型的2D-3D数据集,包含90个室内场景,10800全景照,194400RGB-d图像(包含深度信息)。
- 把3D场景变成一个个离散的"viewpoint", 在每个viewpoint都有全景照
- 是最重要的具身导航benchmark
Virtualhome
Habitat
iGibson
TDW
具身感知
因为Agent还需要在环境中移动和交互,所以在识别物体之外,更需要对3D环境和动态环境有更深的理解。
主动视觉感知(Active Visual Perception)
主动视觉感知需要状态估计State Estimation、场景感知Scene perception、环境探索environment exploration能力。主要有视觉同步定位与建图Visual Simultaneous Localization and Mapping(vSLAM)、3D场景理解3D Scene Understanding和主动探索Active Exploration
vSLAM
根据视觉信息,机器人定位自身位置并构建环境地图。
+ 使用距离进行感知的SLAM使用测距仪为环境创造点云表示,但代价较高且环境信息有限
+ 视觉的SLAM使用相机捕捉相片并为当前环境创造出一种表示形式,其硬件成本较低、在小场景准确率较高且能够捕获丰富的环境信息
+ 传统的vSLAM方法通过图像信息和多角度的几何规则来创建一个低层次的点云地图,常见的方法有filter-based(MonoSLAM, MSCKF), keyframe-based基于关键帧、direct tracking直接跟踪。点云地图并不和物体直接对应,因此具身机器人很难利用理解这种地图。
+ 语义的vSLAM方法semantic vSLAM让机器人能够更好理解并在未探索过的环境中导航。对于物体级别的SLAM, 可以对它利用几何物体进行建模,建立物体关系图、考虑物体间的关系(共线共面)来更好地建模环境。对于动态环境,利用语义分割识别动态物体,保证更加精确的定位和建图。
3D环境理解
3D环境理解旨在从3D环境数据中区分物体的语义、识别他们的位置并推断出几何属性。可以分为基于投影projection-based的方法、基于立体像素的方法Voxel-based和基于点的方法point-based.
+ 基于投影的方法通常把3D图像投影到好几个2D平面上并利用2D的CNN方法来进行特征提取
+ 基于立体像素的方法通过把点转换成规则的立体像素放个来使用3D的卷积方法
+ 基于点的方法直接对点云进行操作
主动探索
前文介绍的方法主要是机器人通过被动感知的方法来理解环境。因为机器人可以移动并交互,所以他们也可以主动地做到这一点。
+ Jayaramen的工作提出了一种强化学习的方式,Agent通过不断地获取视觉信息来减少其对未观察部分的未确定性。使用RNN来进行主动的全景图像补全和3D物体建模
+ Hu的工作提出了一个机器人探索的算法。该算法利用状态价值函数预测未来状态的价值,将离线蒙特卡洛训练、在线时序差分自适应以及基于传感器信息覆盖的内在奖励函数相结合。
+ 为了解决在开放世界的意外输入的问题,Fan的工作将主动识别当做一个顺序的收集证据的过程。通过精心设计的奖励函数来刻画开放环境中某一个动作的价值,结合证据提供了可信的预测。
3D 物体标定
简单来说,就是在3D环境下,根据自然语言来找到物体。可以简单分为单阶段和双阶段方法。
双阶段方法
双阶段方法先在场景中给出物体候选,再根据描述进行匹配。
+ 通常研究的着重点在第二阶段。ReferIt3D不仅使用文字Embedding来匹配,而且利用GNN来编码了物品之间的关系。FFL-3DOG
+ 使用Transformer架构: 逐步引入Transformer以提升特征融合和跨模态推理能力,同时通过多视角学习和2D特征辅助,进一步增强模型的鲁棒性和准确性。
+ 已有的方法常常依赖大规模人工标注的数据集并在处理复杂语言提问时有一些不足。可以通过LLM来分解queries并生成计划;甚至直接使用LLM来识别物体,将整个过程变成一个脚本化的程序并生成可执行的python代码来预测位置。
+ 双阶段的不足:对于第一阶段的候选者的粒度有两难处境:粒度较大的物体候选可能会把目标物体忽略、粒度较小的物体候选会带来很多无关的物体,需要在小粒度物体上建立关系才能正确识别。
单阶段方法
将目标检测和特征提取一起做。
+ 3D-SPS和BUTD-DETR.
+ 上述工作只关注句子层面的信息, 会失去word-level的信息。EDA通过将调整后的语言和点云上的物体严格对齐来解决这一点。
+ ReGround3D通过加入多模态大模型和Chain of Grounding来提升标定能力
视觉语言导航
根据语言指令让agent在未知环境中导航。需要机器人能够懂得复杂的视觉信息并从不同粒度来理解指令。通过现在的观察、历史信息和自然语言指令来做出动作。
+ 评估方法: SR(Sucess Rate), TL(Trajectory Length轨迹长度), SPL(Success Weighted by Path Length)是最常用的指标
常用数据集
- R2R, 基于Matterport 3D. R4R扩展了R2R,路径长度更长了。
- VLN-CE拓展了R2R和R4R到连续的环境中(前文提到Matterport 3D是在许多viewpoint上做文章)。
- TOUCHDOWN在谷歌街景的New York上进行导航并找到特定地点。
- SOON数据集中agent需要接受一串复杂且长的指令来找到目标物品
- DDN不具体指出明确的物品,只给出了人类指令
- ALFRED数据集基于AI2-THOR模拟器,聚焦完成家居任务
- OVMM基于Habitat, Behavior-1K 基于人类需要提出了1000个长序列复杂的任务。
- CVDN需要agent基于对话历史找到目标,并可以问问题求助。
- DialFRED拓展了ALFRED数据集,也可以问问题
方法
分为两种:Memory-Understanding Based和Future-Predicition Based. Memory-Understanding更注重对过去的学习和对当前环境的理解,而Future-Prediction based更注重建模和预测未来的状态。Memory-understanding一直是主流.
+ Memory-understanding. 通常把每个信息编码成图上的一个节点。使用图相关的学习方法。LVERG将每个节点的语言信息和视觉信息单独变矮,设计出了一种新的语言和视觉关系图。
+ 虽然导航图会离散环境,但同时理解和编码环境本身的信息也很重要。FILM利用RGB-D观察和语义分割在导航中建立了一个语义地图。VER通过把物理世界分成有结构性的3D单元来提供细粒度的细节和语义。
+ 如何利用之前的历史信息十分重要。可以通过模仿学习、对抗学习等方式来利用之前历史中做的好的动作。
+ Future-Prediction. 同样也会使用图学习。根据已有的导航图节点预测一个可以移动的路径。也可以通过更好地利用未来的环境来建立一个导航路径。当然,也可以使用强化学习。
+ MCR-Agent从过去动作、指令、预测未来三层来进行导航。是二者的结合。
触觉识别
未完待续
具身互动
分为具身问题回答和具身抓取两个部分。
具身问题回答(Embodied Question Answering)EQA
Agent不仅需要知道采取什么动作,还需要知道何时停止探索来回答问题
数据集
- EQA v1在3D合成场景上制作的包括四种问题类型:location, color, color_room, preposition(介词)。有超过5000个问题和750种环境。这些问题是自动构造的。
- MT-EQA拓展了EQA v1的问题,从单一物体到多物体间的关系。
- MP3D-EQA有3种类型: location, color, color_room.
- IQUAD V1有超过75000个多选题目
- VdeoNavQA只包含视觉推理部分。仅需要模型根据现有视频进行推理,有大约101000对视频和问题。
- SQA3D只有问答。
- K-EQA
- OpenEQA支持事件记忆和主动探索两种任务场景。事件记忆EQA任务要求智能体通过自身的事件记忆来理解环境并回答问题,这类似于VideoNavQA。在主动EQA任务中,智能体则需要通过探索性行动收集所需信息来回答问题。
- HM-EQA和S-EQA都是利用GPT4创建的数据集
方法
- 传统方法:Das et al.是EQA任务的提出者。其组合RNN和CNN将视觉、语言、导航、回答四个部分分开训练。后续工作将一些模块合并训练
- 还有一些工作尝试提高任务的复杂性和完备性。尝试将任务提高到多目标或者多个Agent合作,这需要模型能够记忆和整合探索过程中的信息。还有工作允许Agent利用外部知识去获得物体特征。
- LLMs/VLMs的方法。
评估方法
- 通过走过的距离评估或者通过位移评估导航系统,通过Mean Rank来评估回答系统。
不足
- 缺少大规模数据集
- 模型训练结果仍然远远小于人类水平
具身抓取(Embodied Grasping)
抓取
可以通过双指或者五指抓取。双指可以有4或者6个自由度,而五指有多达26个自由度,对模型能否生成有效的抓取指令提出挑战。
数据集
- 常见的数据集会基于点云、图像和3D场景给出抓取数据。然而在MLM和语言模型的出现,急需包含语言信息的数据集。
方法
- 语言指导的抓取: 从明确/不明确的指令中产生语义,明确什么需要抓取,而且需要空间推理和逻辑推理。例如,如何根据物体之间的关系来确定抓取什么物体或者抓取物体的部分。逻辑推理需要根据用户的指令来推理出用户需要什么。
- 端到端方法:CLIPORT是一种基于语言条件的模仿学习智能体,它将视觉-语言预训练模型CLIP与Transporter Net结合,创建了一个用于语义理解和抓取生成的端到端双流架构。(Transporter Net 是一种用于机器人操作的深度学习模型)SemGrasp是一种基于语义的抓取生成方法,它将语义信息融入抓取表示,用于生成灵巧的手部抓取姿态。该方法引入了一种离散表示,将抓取空间与语义空间对齐,使得可以根据语言指令生成相应的抓取姿态。为了促进训练,还提出了一个大规模的抓取-文本对齐数据集CapGrasp。
- 模块化的方法: GaussianGrasper 利用三维高斯场来实现语言引导的抓取任务。其方法首先构建一个三维高斯场,然后进行特征蒸馏。接着,利用提取的特征进行基于语言的定位。最后,基于一个最先进(SOTA)的预训练抓取网络生成抓取姿态。
不足
- 需要更多数据
- 泛化能力不足
Emodied Agent
多模态大模型使得Agent在物理世界成为了可能。 通常需要以下能力:
1. 将复杂抽象的任务分解成特定的子任务, High-level Task Planning.
2. 利用具身感知或者具身交互模块逐步完成这些任务,Low-level Embodied Action Planning.
Task Planning通常发生在虚拟世界,而Action Planning需要现实世界的反馈来调整。
具身多模态基础模型
Agent基础模型需要多种感知模态和自然语言处理功能。Google根据Robotic Transformer(RT) 做出了一系列工作。
+ SayCan是第一个做工作的人。它使用三个不同的模型用于计划、了解可以做什么affordance和low-level policy.
+ Q-Transformer合并了affordance和low-level policy, PaLM-E合并了planning和affordance.
+ RT-2将所有三个功能合并到一起,引入了Vision, language, action(VLA)模型,具备ChainOfThought能力,使其能够进行多步语义推理,例如在不同情境下选择替代工具或饮品。最终,RT-H实现了一个具备动作层级的端到端机器人Transformer模型,能够在细粒度层面对任务规划进行推理。
+ Google牵头创建了Open X-Embodiment数据集并创造了RT-X.
+ 不足: Transformer因为具身模型需要长上下文而表现出不足和记忆确实。RT-2推理速度只有1-3Hz. SARA-RT和RoboMamba分别采用了线性注意力和Mamba架构。
+ 不足:生成模型在high-level的task planning上表现优异但在low-level的action planning上表现不足。生成模型无法精确地给出动作的参数。所以需要有层次的模型架构。
+ 不足:VLA模型只在high-level的planning和affordance的任务中显示出了涌现能力,它们在low-level的物理互动方面不能展现除了数据集之外的新技能。
Task-planning
例子: 任务目标:把桌上的杯子放进柜子里。
任务规划步骤:
1. 移动到桌子旁
2. 识别并定位杯子
3. 抓取杯子
4. 移动到柜子前
5. 打开柜门
6. 将杯子放入柜子
7. 关闭柜门
- 传统工作常常基于显性规则和逻辑推理,泛化能力不足
- 现在主流使用LLM或者将传统方法和LLM结合的方法。
方法
- 在LLM scale-up之前,planners通常使用BERT在具身指令数据集上训练。但这种训练的方法局限于训练集且和物理世界不能很好的对齐。 现在LLM方法通常会把复杂的任务分解成具体的步骤,有些甚至会将基础功能作为API提供给LLM。也可以进行多轮次的推理。
-
不足: 执行时有可能会失败。由于视觉信息的缺失,计划的子任务可能和物理世界相差甚远。
-
一些工作通过物体检测器来查询视野中的物体并把标签信息喂给LLM,另外一些工作通过3维场景图来提供环境信息。
-
这些工作都没有克服复杂的环境和动态变化。例如:当毛巾被锁在厕所柜子中,agent可能一直在厕所里搜索。
- VLM在潜在空间中表示出视觉信息,尤其是无法通过标签表示的一些上下文信息。(比如毛巾有可能存在柜子里)EmbodiedGPT在task-planning中将具身、视觉和文字信息对齐。RT系列、PaLM-E和Matcha等工作同样做到了具身场景下文字和视觉信息的对齐。
Action Planning
通常,智能体可以通过两种方式实现动作规划:
+ 将预训练的具身感知模型和具身交互模型作为工具,通过API逐步完成任务规划指定的各个子任务;
+ 利用VLA模型本身的能力直接推导出动作规划。
此外,action-planning执行的结果会反馈给task-planning,以便调整和优化。
方法
- 通过向LLM提供API:通过代码的形势进行交互;同时为了适应环境的不确定性,也可以在互动过程中赋予LLM不同的角色并在互动过程中使得LLM学会新技能
- 利用VLA模型:减少交流延迟并提升系统响应速度(不需要和LLM交互)。不足:复杂、不能真正的模拟物理世界。
从模拟到现实
从仿真环境中学到的能力用在现实世界中。
Embodied World Model
机器人或智能体在与真实或虚拟环境交互过程中,所学习或内建的一个“世界内部表征模型”,用于理解、预测和推理环境中的物体、关系、变化和自身行为的结果。
+ 和VLA的区别:VLA先在大规模网络数据上训练并出现涌现能力,然后在真实世界上微调。而World Model直接在物理世界数据上训练。
+ 不足:由于训练数据的缺失,只能对物理世界进行low-level的模拟。更适合相对结构性的输入输出,如自动驾驶等。泛化能力不足。
+ 分为Generation-based, Prediction-based, Knowledge-based. 具体方法先略过。
版权声明:
作者:carott
链接:https://blog.hellholestudios.top/archives/1763
来源:Hell Hole Studios Blog
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论