2.3 场景图与语义空间理解


2.3 场景图与语义空间理解

本节摘要:SLAM 给出了环境的几何地图(哪里有障碍),但机器人要执行任务,还得理解环境的语义——这个物体是什么、什么属性、它们什么关系。本节讲场景图(Scene Graph)这种结构化的语义表征,怎么从原始感知构建场景图,以及它怎么连接感知和决策。核心认知:几何地图告诉机器人“能去哪”,语义地图告诉机器人“该怎么行动”。

本节地图

阅读完本节,你应当能够:

  1. 区分几何地图和语义地图
  2. 说清场景图的结构(节点加边)
  3. 理解从感知到场景图的构建流程
  4. 解释语义理解怎么指导任务规划
  5. 说清开放词汇检测等新进展的价值

一、问题与直觉

假设机器人接到任务“把桌上的红色杯子拿给我”。它得在环境里找到那个杯子。如果只有 SLAM 给的几何地图(一堆点云,标注了障碍位置),它没法找——因为几何地图只知道“这里有个物体”,不知道这个物体是杯子还是书、是红色还是蓝色。

这就是几何地图的局限:它只有空间信息(什么形状、在哪),没有语义信息(是什么、什么属性、什么关系)。要让机器人执行有人类语义的任务,得在几何之上加一层语义理解——识别物体类别、判断属性(易碎、可抓)、理解关系(杯子在桌子上)。

场景图就是这层语义的载体。它把环境表示成一个图:节点是物体(带类别和属性),边是物体间的关系(在上面、靠近、属于)。机器人基于场景图,就能理解“红色杯子在桌子上”,从而规划“走到桌边、拿起红色杯子”。场景图是连接感知(看到什么)和决策(该怎么做)的桥梁。

二、核心原理

2.1 几何地图 vs 语义地图

先把两种地图的区别讲清。

几何地图:只含空间信息。栅格地图标注每个格子是不是障碍;点云地图是一堆三维点。它回答“哪里能走、哪里有东西”,但不回答“那个东西是什么”。适合做导航避障。

语义地图:在几何之上加了语义标注。不仅知道哪里有物体,还知道每个物体是什么类别、什么属性、和别的物体什么关系。它回答“那是什么、能怎么操作”,适合做任务执行。

导航任务(从 A 到 B)有几何地图够用;但操作任务(拿杯子、收拾桌子)必须有语义地图,否则机器人不知道该操作什么。

2.2 场景图的结构

场景图(Scene Graph)是语义地图的一种结构化形式,它用图来表示场景。

节点:代表物体,带类别(杯子、桌子)和属性(红色、易碎、满的)。

:代表物体间的关系。空间关系(在...上面、靠近、在...左边)、支撑关系(桌子支撑杯子)、功能关系(杯子装水)。

一个简单的场景图:节点“杯子(红、满)”和节点“桌子(木、大)”,边“杯子 放在 桌子 上”。这个图把“一个红色满杯子放在大木桌上”这个场景,表示成了机器可处理的结构化数据。

场景图的价值在于它是结构化的——机器可以查询(“哪个杯子在桌上”)、推理(“杯子满的要小心拿”)、规划(“先到桌子那再拿杯子”)。这比直接处理原始图像或点云,更适合喂给决策模块。

2.3 场景图的构建

场景图怎么从原始感知构建?大致流程是:先用目标检测识别图像里的物体(得到节点类别),再用属性识别判断物体属性(节点属性),再用关系识别判断物体间关系(边)。这三步可以级联,也可以用端到端模型一次输出。

目标检测:用目标检测模型(如 YOLO、Faster R-CNN)识别图像里的物体位置和类别。这是构建场景图的基础,知道“有什么”。

属性识别:对检测到的物体,进一步判断属性。颜色(红)、材质(玻璃)、状态(满、空)。属性让场景图更丰富,支持细粒度任务(“拿那个满的”)。

关系识别:判断物体间关系。空间关系可从位置和深度推断(A 在 B 上面,因为 A 的位置高且深度近);支撑关系可从物理推断(桌子支撑杯子)。关系让场景图结构化,支持复杂任务(“把杯子从桌上拿下来”)。

2.4 开放词汇检测

传统目标检测只能识别预定义的类别(训练时定义的那几十类物体),这限制了机器人能理解的物体范围。近年来的开放词汇检测(Open-Vocabulary Detection)突破了这个限制——结合视觉和语言模型(如 CLIP),能识别训练时没见过的物体类别,只要用语言描述就行(“找出那个用来浇花的东西”)。

这个进展对具身智能意义重大。以前机器人只能操作训练过的物体;开放词汇检测后,它能理解任意语言描述的物体,大大扩展了能执行的任务范围。这也是大模型能力向具身智能迁移的一个体现。

三、工程实践要点

3.1 语义理解要匹配任务粒度

语义理解做到什么粒度,要匹配任务需求。导航任务只要知道“障碍物”这一类就够,不必细分;抓取任务要知道具体物体类别(杯子、书);精细操作还要知道属性(满的、易碎的)。别为了“全面”而把语义做得过细——识别太多属性和关系,计算开销大、误差累积多,对任务未必有用。

3.2 语义识别有误,要容忍

语义识别(目标检测、属性识别)不是百分百准,会有误识别。机器人决策时要容忍这种不确定性——把识别结果当概率性的(“80% 概率是杯子”),而不是确定性的。关键操作前可以做二次确认(走近看清楚、用触觉确认)。

⚠️ 常见坑:把语义识别结果当成确定的,直接用于决策,结果误识别导致机器人抓错东西或撞上没识别出的障碍。语义感知要带置信度,低置信度的要多源验证或人工确认。

3.3 场景图要动态更新

环境是动态的——杯子被拿走了、椅子被推动了、门被打开了。场景图不能建一次就用到底,要随环境变化动态更新。机器人通过持续感知,检测场景图里哪些节点变了(物体消失、移动、属性变化),及时更新。一个过时的场景图比没有更危险(机器人按旧信息规划,撞上已经移动的物体)。

💡 关键直觉:语义理解的价值在于把“看到什么”转化为“知道这意味着什么、该怎么做”。几何感知给机器人一双看到环境的眼睛,语义理解给机器人一个理解环境的大脑。两者结合,机器人才真正“看懂”了环境,能基于环境做有意义的决策。

要点串联

  • 几何vs语义地图:几何只有空间信息(导航用),语义加了类别属性关系(任务用)。
  • 场景图结构:节点(物体带属性)加边(关系),是结构化的语义表征。
  • 构建流程:目标检测(节点类别)→属性识别(节点属性)→关系识别(边)。
  • 开放词汇检测:结合视觉语言模型,识别训练外物体,扩展任务范围。
  • 粒度匹配任务:别过度细化语义,按任务需求做到够用粒度。
  • 容忍误识别:语义识别带置信度,低置信多源验证,别当确定用。
  • 动态更新:环境变化场景图要同步更新,过时地图比没有更危险。

下一章我们进入闭环的处理核心——认知与决策,讲机器人怎么理解任务、规划动作。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U