前言

目前这些文章的研究领域是属于具身智能领域,所谓具身智能,在我看来,就是让智能体脱离抽象分析的层面,将其寄托于一个“身体”上,机器人通过这个身体,就像人类一样,自主感知、理解世界,并且能够对于不同任务要求,能够自主导航、自主识别、自主生成与物体交互的动作序列,与现实世界进行直接的接触。

这些论文分为三个研究方向:分别是智能体3D场景感知、智能体自主导航策略、手-物交互与动作生成,下面将分别阐述这三个方向的具体内容

一、智能体3D场景感知

智能体对于3D场景的感知是非常重要的,场景识别的精准与否直接影响到后面智能体的自主导航和物体识别,这一方向的主要难点在于,一是视角受限,智能体一次只能看到场景的一小部分,并且还受观测视角差异带来的影响;二是现实中很多场景为动态场景,随着时间推移,场景中物体的状态会发生变化;三是智能体的计算资源是有限的,无法存储所有原始数据。

1.1、基于VideoAgent的第一人称观测

这个方法来自与文献《Embodied VideoAgent:Persistent Memory from Egocentric Videos and Embodied Sensors Enables Dynamic Scene Understanding》,首先,先要理解VideoAgent,VideoAgent是一个融合了大语言模型与视觉-语言模型的记忆增强的多模态智能体,其包括了两个模块,分为时序记忆和物体记忆,时序记忆用来记录文本描述,物体记忆用于存储视频中的物体信息。整个框架分为三个步骤,第一步是借助多模态输入来构建持久化物体记忆,Embodied VideoAgent融合了第一人称RGB视频、深度图和相机6D位姿,通过投影转换,为3D 场景中每个物体构建了记忆表,这样智能体能够记住3D场景中物体的位置、特征;第二步是借助视觉-语言模型来动态更新记忆 ,主要解决的是3D场景的变化和视觉遮挡带来的信息缺失,研究人员用LaviLa工具两秒标注第一人称视频中的动作,然后用大语言模型提取目标物体,从之前的持久化记忆中筛选出同类别候选物体,之后利用VLM的视觉提示,判断候选物体是否为动作实施目标,再之后,修改状态变化后的物体的记忆条目,打个比方,当我们从桌子上拿起一个水杯后,水杯的记忆条目中有个状态字段,从“在桌上”修改为“在手上”,这样智能体就能感知物体以及环境的变化,而非停留在死记硬背的层面上;第三步,研究人员给Embodied VideoAgent提供了4种感知工具,主要用于查询持久化记忆,还提供了7种动作原语,主要用于与现实世界交互。因此,当智能体执行完这3个步骤后,它不仅能够理解3D环境,并且能够对环境的改变做出反应,还能够借助这几个感知和动作工具,与环境进行交互

1.2、基于视角的主动接地以及基于记忆的保留接地

该方法来自于文献《MAG-Nav: Language-Driven Object Navigation Leveraging Memory-Reserved Active Grounding》,该文献不仅研究了智能体3D场景识别,还研究了智能体自主导航策略,导航策略方面,将在后文提到。与上篇文献相似,该文献也用到了记忆储存模块,该模块分为视觉记忆单元和物体记忆单元,视觉记忆单元记录物体的空间位置和边界框,然后用大语言模型检测边界框,边界框是唯一的,然后生成标注图像,作为视觉提示;而物体记忆单元主要储存每个物体完整的3D特征,之后可转化为语义特征向量,在更新方法上,研究人员借助视觉记忆单元,每当加入一个新物体,则调取记忆中的信息进行相似度对比,若相似度高于某个阈值,则将其纳入一个物体类中,否则将其判定为一个新物体加入到视觉记忆和物体记忆中去。此外,研究人员考虑到智能体每次观测的目标物体可能不是最佳的,因此,研究人员用一个多目标离散化问题的损失函数,来动态调整机器人的观测位置,从而找到最佳的观测位置。考虑的因素有:可见性、视野、距离、可行性。有时候,主动接地依旧会有识别不精准的情况,这个时候智能体会启用基于记忆的保留接地,主要是从视觉记忆中提取与目标物体相似的图像,然后获取其空间坐标,最后导航到该坐标,通俗来说,智能体模拟的是人类的回想功能,当我们寻找一个物体找遍了所有地方都没有找到,我们就会回想到最后一次见到它是什么时候,放在哪里,然后通过记忆找到该物体。

1.3、CAPEAM框架

该框架由《Context-Aware Planning and Environment-Aware Memory for Instruction Following Embodied Agents》提出,分为两个模块,分别为CAP(上下文感知规划)模块和EAM(环境感知记忆)。CAP解决的是智能体容易规划出与任务无关的动作的问题,智能体拿到用户的任务指令后,会将指令拆分成三个核心信息——被操作物品、载体、目标位置,比如指令为“把苹果放到盘子里再放到柜子里去”,那么被操作物品为苹果、载体为盘子、目标位置为柜子,这样的三个核心信息会被填入子目标框架,框架为“拿起<某物>”“放到<某物>上再放到<某处>”智能体只需要把三个核心信息填入括号中,这样智能体不会被无关信息所影响,完成以上工作后,每个任务还会有一个细节规划器,该细节规划器是自带注意力的LSTM模型训练的模块,它会将目标转化为智能体能够实施的动作;而EAM则是能够让智能体记住物体的位置和状态变化,EAM创建了一个语义地图和一个记忆库,语义地图由2D RGB图、深度图,通过投影转变成3D世界坐标变化而来的,里面会标注障碍物位置、各个物体的类别和位置;研究人员还将智能体看到的每个物体都赋予一个分割掩码,这样智能体不会因为物体的状态发生转变而识别不出来。此外,研究人员为了解决重复移动同一物体的问题,设计了物体移动跟踪模块,主要是把已经移动过的物体的最新位置存进记忆库,并且标记为“已处理”,后续导航会跳过这些位置,只找没被处理过的物体,具体体现在如果我们要移动两个苹果,移动完第一个后,记忆库会打上“已处理”的标签,之后就会去移动那个未被处理的苹果,而不是一直反复移动一个苹果

1.4、3D高斯泼溅构建地图

该方法来自于文献《GaussNav: Gaussian Splatting for Visual Navigation》,该文献虽然也研究了导航策略,但前面很大篇幅都在解释高斯泼溅构建地图,地图构建分为2个阶段,第1个阶段是前沿探索,主要是让智能体走遍未知环境,收集信息,本阶段智能体会维护两张地图,一张是探索地图,标记着自己走过的区域,另外一张是障碍物地图,标记着探索路上的一些障碍物;第2阶段是语义高斯构建,即将第1阶段获取的信息整合成3D立体地图,研究者用的是3D高斯泼溅,主要分2个循环步骤,第1步是将整个场景用3D高斯点表示,每个点包含颜色、3D位置、大小、透明程度、物体类别标签这几个参数,这样计算更快、占用内存更少,适合智能体实时处理;第2步是高斯增密和语义高斯更新,高斯增密是用之前的高斯点渲染出画面和深度,然后与智能体看到的实时画面进行对比,哪里渲染的不清楚就在哪里添加新的高斯点,补全场景信息,而语义高斯更新则是用MaskRCNN给智能体看到的物体分配类别,然后将类别挂载到高斯点上,再通过可微渲染计算误差,用梯度下降优化高斯点的参数,让其与真实画面的误差越来越小,此外还会把根据3D位置,将不同位置的相同类别区分开,比如客厅的椅子和卧室的椅子,是两个不同的实例,但它们是相同的类别,这样为后面的导航打下了基础

1.5、构建栅格边界地图

该方法来源于《OAM:Object-Aware Memory and Vision-Language Models for Zero-Shot Object Navigation》和《ApexNAV: An Adaptive Exploration Strategy for Zero-Shot Object Navigation With Target-Centric Semantic Fusion》,研究人员以RGB图、深度图作为输入,构建边界地图,将每个栅格分为自由、占用、未知状态,将前沿点定义为至少与一个未知栅格相邻的自由栅格,然后分析前沿点,并给每个前沿点聚类进行语义分数的打分

1.6、小结

通过这5篇文章,每篇文章都提到了记忆模块,可以看出,记忆模块对智能体理解整个3D场景具有不可或缺的地位,原因是记忆模块模拟的是人类的记忆机制,它储存了之前智能体见过的场景信息,当智能体没有找到目标物体或者智能体需要之前得到的信息,记忆模块都可以提供给智能体,这样智能体不需要重复探索场景,极大地提高了智能体的识别效率。一般来说记忆模块由文本记忆和物体记忆组成,本文记忆负责记录文本描述,而物体记忆负责记录物体的3D信息。对于记忆的动态更新,VideoAgent方法侧重于对利用视频进行更新,而CAPEAM侧重于语义地图来进行更新

对于地图构建,目前的方法是将地图划分为一个一个栅格或者高斯点,每个栅格包含其各自的信息,这样对于智能体的处理就简单很多,不用耗费大量的资源进行全图考虑,信息的维护也简单很多,3D高斯泼溅构建的地图更适合高质量渲染和连续导航,而栅格地图更加轻量、效率高,适合快速探索

此外,研究还经常使用大语言模型(LLM)和视觉-语言模型(VLM),LLM和VLM是2个不可分割的基础模型,它俩相辅相成,共同解决语义指令和视觉环境的联系。LLM一般是基于海量文本信息训练的纯语言模型,它擅长的是逻辑推理、工具调度和语言理解,但它对视觉图像的处理能力还有缺陷,因此,在LLM基础上,VLM孕育而生,VLM是融合了语言和视觉两个模态的模型,主要处理视觉环境,帮助连接视觉环境和语义指令,通俗来说,LLM是大脑,是核心,VLM是桥梁,同样不可或缺,两者结合才造就了智能体强大的语言视觉理解能力

目前来看,没有一个统一且万能的场景感知方法,研究者往往要根据任务要求和硬件条件选择合适的方法

二、智能体自主导航策略

当对3D世界理解清楚、找到目标物体后,智能体需要导航到物体附近,所以导航策略也是智能体完成任务的关键,好的导航策略能够避免更多风险、节省更多行进时间,目前导航策略的核心挑战就是智能体能否摆脱预先训练的方式,面对不同的未知环境,能够自主导航到目标物体旁

2.1、零样本导航策略

方法来自于《OAM:Object-Aware Memory and Vision-Language Models for Zero-Shot Object Navigation》,栅格地图的构建前面已经提到,不再赘述,探索方面,研究者通过观测,获取一个候选边界框集,再通过斑块匹配器将当前导航目标与从历史观测中提取语义斑块进行比较,研究者用视觉语言模型BLIP-2估算每个边界点与目标之间的相似度分数,选择一个语义分数最高的边界点作为探索目标;探索模块采用快速行进法规划智能体到目标边界点的无碰撞路径,若找到目标,则停止导航,若没有找到目标,则系统重新评估分数

2.2、自适应探索导航策略

来自于《ApexNAV: An Adaptive Exploration Strategy for Zero-Shot Object Navigation With Target-Centric Semantic Fusion》,大方面是属于零样本,但ApexNav通过分析环境的语义分布,当语义线索较强的时候,智能体利用语义线索前往目标可能存在的区域,当语义信息有限的时候,智能体则切换到基于几何特征的探索模式,快速探索未知区域。为了进一步提高效率,研究人员将语义模式下的前沿点选择问题转化为旅行商问题,优化高分数的前沿点探索顺序,避免贪心策略的弊端,ApexNav保留目标物体和相似物体的长期记忆,用思维链提示方法,充分发挥大语言模型的推理能力,识别易于目标物体混淆的相似物体,大预言模型设置了一个置信阈值,当置信度超过该阈值时,才将物体视为可靠物体;此外研究人员还设计了安全航点导航,一般的最短路径导航可能会发生障碍物碰撞问题,所以研究人员在此基础上还考虑了安全性,并提前对智能体将要执行的导航动作进行考量来寻找效率成本和安全成本的平衡点。

2.3、高斯导航

来自于《GaussNav: Gaussian Splatting for Visual Navigation》,将之前构建的高斯地图作为基础,根据一张目标物体的照片,找到它的位置再规划路线过去,首先,先对照片中的物体进行分类,在ImageNet上进行预训练、再用数据集微调的ResNet50给照片进行分类,这样我们只需要找地图上相应类别的高斯点就行;其次,因为角度差异,照片有时候跟智能体看到的角度是不一样的,所以3D高斯地图会渲染不同角度的物体图片,这样智能体无论从哪个角度看到物体,都可以识别出来,用DISK提取两者的关键点和特征,再用LightGlue快速匹配,看哪个候选物体的渲染图和目标照片匹配的关键点最多,哪个就是我们要找到的目标;最后,根据我们得到的3D位置,采用快速行进法计算智能体到目标点的最短路径,即可导航到目标物体旁边

2.4、小结

目前的智能体导航策略一般都为零样本导航,所谓零样本导航,即没有预先训练智能体的情况下,在未知的环境中,仅通过自然语言,自主导航到目标物体旁边,换句话说,模型不需要提前训练目标环境,极大地提高了模型的泛化能力,模型自己探索、自己导航,现在社会对于智能体的要求日益提高,因此智能体能够很好地处理不同复杂环境的能力是十分重要的

路径规划具体的算法一般为快速行进法(FFM),优点是计算快速、效率高且能够规避障碍。
快速行进法会计算每个点到起点的最短的距离和时间,它就像一个水波一样,从起点向外扩散,碰到障碍物,波会绕开障碍物,但前提要求是地图必须是连续地图,不能是离散地图,走格子的算法是A*。

此外,对于多个候选点的路径规划,采用的是旅行商问题模型(TSP),主要作用是规划每个候选点访问的先后顺序,打个简单的比方,比如我要求扫地智能体打扫4间卧室,这样智能体需要去到4个卧室打扫,旅行商问题处理的就是这类问题,它会给智能体一个访问顺序,比如打扫卧室3再打扫卧室2,这样智能体会花费最少的时间完成任务,具体怎么走依旧是采取快速行进法

三、手-物交互与动作生成

到达目标物体旁边,智能体需要真正操作物体,这一环节的核心挑战是如何生成既能满足任务需求、符合物理规律且流畅自然的手-物交互动作

3.1、通过开放词汇引导智能体生成与未知物体的手-物交互序列

方法来源于《OpenHOI: Open-World Hand-Object Interaction Synthesis with Multimodal Large Language Model》,研究人员提出了3D多模态大语言模型(3D MLLM),该模块会定位与未知物体的关键交互区域,生成空间可用性图,然后将用户的指令进行分解,拆分为原子子任务序列,比如用户输入“我渴了,找瓶水来喝”,智能体会分解为“双手抓住杯盖,逆时针拧开,然后右手举杯到嘴边”,此外研究人员还将语义信息和3D信息进行绑定,预防纯LLM缺乏空间认知的缺陷,然后利用可用性驱动的扩散模型,该模型负责将3D MLLM模块给出的交互区域和原子子任务序列,变成一段可实现的手-物交互动作序列,采用1000步余弦噪声调度,给运动序列加噪再去噪,同时注入帧级和主体级的正弦未知编码,主要是让模型能理解手和物体的逻辑位置关系,保证动作是连续的、有逻辑的,此外,研究人员故意随机遮掉10%的条件输入,可以增强模型的泛化能力,防止它过度依赖某些条件,借用的是无分类器的思想。同时训练有条件和无条件两个版本的模型,让生成的动作更加贴合用户输入,交互区域更加准确,在训练损失上,研究者通过控制去噪损失来控制生成的运动序列不出现畸形动作;通过控制距离图损失来让手的关节尽量靠近交互区域;通过控制相对方向损失来控制手和物体的姿态关系,确保动作的正确,在完成交互动作实现后,用无物理精修模块,该模块主要是优化之前扩散模型生成的运动序列,让序列符合物理规则,引入球高斯约束,混合确定性梯度下降和随机采样方向,这样既修正了物理问题,又不会过多影响原本输出的运动序列

3.2、基于第一视角RGB图像、文本信息和初始手部姿态,生成合理的手部交互建模

方法来源于《MEgoHand: Multimodal Egocentric Hand-Object Interaction Motion Generation》,研究人员采用MANO模型表示手部,该模型由手部参数和手腕姿态参数构成,通过给定任务描述、视觉观测图和手部参数,框架可预测未来N帧的手部运动姿态,并且MEgoHand采用双层架构,分为高层模块和低层模块,高层模块利用视觉语言模型从图像和文本上理解运动,然后推断智能体该怎么运动,这样无需训练特定物体,泛化能力强;低层模块通过DiT的流匹配策略生成手部运动轨迹,确保运动连续性,同时采用时间正交滤波解码策略减轻第一视角下相机运动引发的噪声干扰。此外,研究人员用逆MANO重定向和虚拟RGB-D渲染构建多模态数据集,因为早期的数据集,都是通过可穿戴传感器捕获的三维手部关节位置,而非MANO参数,且手部关节位置的世界坐标无法直接用于MEgoHand的输入,所以研究人员采用逆MANO重定向网络,从关节位置反推MANO参数

3.3、基于AR教程上的虚拟场景和现实场景的融合

此方法来源于《InstruMentAR: Auto-Generation of Augmented Reality Tutorials for Operating Digital Instruments Through Recording Embodied Demonstration》,主要是:让非专业用户能够轻松制作高质量的AR教程,更深层次上,是探索虚拟场景和现实场景融合的办法,对于手部姿态的采集,研究人员采用可穿戴设备捕捉手部姿态,并且测量手部动作的临界压力,比如我要按下一个按钮,只有超过某个阈值,模型才会判定成按压操作,然后将制作者的操作转换为AR视觉元素,原本的一些AR教程的制作方法,采用的是编程环境和操作环境分离的方法,该文献采用了两者融合的方法,主要是让制作者不用频繁地在虚拟环境和现实环境来回切换。此外,研究人员采用了预防性反馈的方法,主要是对于一些错误操作,比如应该向左边旋转的按钮却向右边旋转,通过可穿戴设备对手指的捕捉,能够提前知道接下来的操作,这样系统会进行提醒,告诉操作者这是不正确的,对于一些已经操作错误的步骤,该系统也提供复原操作,引导操作者回到上一步还没有发生错误的时候

3.4、小结

目前对于手部姿态的捕捉,基本都是采用先对手部进行建模或者采用可穿戴设备进行采集,这样智能体能够很好捕捉到手部姿态的细节,对于生成的动作,有几个比较关键的问题,第1个是智能体能否捕捉到与物体交互的区域,2是生成的动作是否流畅连续,3是生成的动作序列是否符合物理规律,OpenHOI的手部动作生成是通过拆解用户的输入指令为一段段原子子任务进而将每个子任务生成的动作串联起来,而MEgoHand则是在VLM从图像和文本的理解上,借助DIT的流匹配策略生成手部运动轨迹。

四、实验

对于实验,所有文献都是在一些经典的数据集上与基线方法进行比较,验证其优越性,之后一般进行消融实验,所谓消融实验,就是将大框架中的某个模块去除,对比没有去除的样本,观察性能下降多少以验证其必要性,也可分析各个模块的单独贡献是什么。此外有些文献是采用现实部署的方法如《MAG-Nav: Language-Driven Object Navigation Leveraging Memory-Reserved Active Grounding》和《ApexNAV: An Adaptive Exploration Strategy for Zero-Shot Object Navigation With Target-Centric Semantic Fusion》都将研究的框架部署到智能体中,用现实环境检测其性能,而《InstruMentAR: Auto-Generation of Augmented Reality Tutorials for Operating Digital Instruments Through Recording Embodied Demonstration》则是招募两批志愿者,在这个研究框架下,一批用来制作AR教程,一批用来学习AR教程,并收集两批志愿者的评价以验证其性能好坏

展望

总结完这几个方向,我个人有两个想法,首先,智能体从感知到导航再到物体交互,这其实就是一个完整的任务处理流程,但这些文献在彼此方向上的交融比较割裂,这让我想起机器学习中推荐系统的协同过滤算法,它利用不同用户的行为数据来互相补充,从而推荐出更准确的物品,这三个环节能否像协同过滤算法一样,信息互相反馈,协同优化整体;其次,是数据迁移的问题,每次实验都需要重新部署框架,能否借助迁移学习,将一个智能体学习到的经验迁移到另一个智能体上,这样可以极大节省智能体的学习成本。

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐