本节摘要:SLAM 给出了环境的几何地图(哪里有障碍),但机器人要执行任务,还得理解环境的语义——这个物体是什么、什么属性、它们什么关系。本节讲场景图(Scene Graph)这种结构化的语义表征,怎么从原始感知构建场景图,以及它怎么连接感知和决策。核心认知:几何地图告诉机器人“能去哪”,语义地图告诉机器人“该怎么行动”。
阅读完本节,你应当能够:
假设机器人接到任务“把桌上的红色杯子拿给我”。它得在环境里找到那个杯子。如果只有 SLAM 给的几何地图(一堆点云,标注了障碍位置),它没法找——因为几何地图只知道“这里有个物体”,不知道这个物体是杯子还是书、是红色还是蓝色。
这就是几何地图的局限:它只有空间信息(什么形状、在哪),没有语义信息(是什么、什么属性、什么关系)。要让机器人执行有人类语义的任务,得在几何之上加一层语义理解——识别物体类别、判断属性(易碎、可抓)、理解关系(杯子在桌子上)。
场景图就是这层语义的载体。它把环境表示成一个图:节点是物体(带类别和属性),边是物体间的关系(在上面、靠近、属于)。机器人基于场景图,就能理解“红色杯子在桌子上”,从而规划“走到桌边、拿起红色杯子”。场景图是连接感知(看到什么)和决策(该怎么做)的桥梁。
先把两种地图的区别讲清。
几何地图:只含空间信息。栅格地图标注每个格子是不是障碍;点云地图是一堆三维点。它回答“哪里能走、哪里有东西”,但不回答“那个东西是什么”。适合做导航避障。
语义地图:在几何之上加了语义标注。不仅知道哪里有物体,还知道每个物体是什么类别、什么属性、和别的物体什么关系。它回答“那是什么、能怎么操作”,适合做任务执行。
导航任务(从 A 到 B)有几何地图够用;但操作任务(拿杯子、收拾桌子)必须有语义地图,否则机器人不知道该操作什么。
场景图(Scene Graph)是语义地图的一种结构化形式,它用图来表示场景。
节点:代表物体,带类别(杯子、桌子)和属性(红色、易碎、满的)。
边:代表物体间的关系。空间关系(在...上面、靠近、在...左边)、支撑关系(桌子支撑杯子)、功能关系(杯子装水)。
一个简单的场景图:节点“杯子(红、满)”和节点“桌子(木、大)”,边“杯子 放在 桌子 上”。这个图把“一个红色满杯子放在大木桌上”这个场景,表示成了机器可处理的结构化数据。
场景图的价值在于它是结构化的——机器可以查询(“哪个杯子在桌上”)、推理(“杯子满的要小心拿”)、规划(“先到桌子那再拿杯子”)。这比直接处理原始图像或点云,更适合喂给决策模块。
场景图怎么从原始感知构建?大致流程是:先用目标检测识别图像里的物体(得到节点类别),再用属性识别判断物体属性(节点属性),再用关系识别判断物体间关系(边)。这三步可以级联,也可以用端到端模型一次输出。
目标检测:用目标检测模型(如 YOLO、Faster R-CNN)识别图像里的物体位置和类别。这是构建场景图的基础,知道“有什么”。
属性识别:对检测到的物体,进一步判断属性。颜色(红)、材质(玻璃)、状态(满、空)。属性让场景图更丰富,支持细粒度任务(“拿那个满的”)。
关系识别:判断物体间关系。空间关系可从位置和深度推断(A 在 B 上面,因为 A 的位置高且深度近);支撑关系可从物理推断(桌子支撑杯子)。关系让场景图结构化,支持复杂任务(“把杯子从桌上拿下来”)。
传统目标检测只能识别预定义的类别(训练时定义的那几十类物体),这限制了机器人能理解的物体范围。近年来的开放词汇检测(Open-Vocabulary Detection)突破了这个限制——结合视觉和语言模型(如 CLIP),能识别训练时没见过的物体类别,只要用语言描述就行(“找出那个用来浇花的东西”)。
这个进展对具身智能意义重大。以前机器人只能操作训练过的物体;开放词汇检测后,它能理解任意语言描述的物体,大大扩展了能执行的任务范围。这也是大模型能力向具身智能迁移的一个体现。
语义理解做到什么粒度,要匹配任务需求。导航任务只要知道“障碍物”这一类就够,不必细分;抓取任务要知道具体物体类别(杯子、书);精细操作还要知道属性(满的、易碎的)。别为了“全面”而把语义做得过细——识别太多属性和关系,计算开销大、误差累积多,对任务未必有用。
语义识别(目标检测、属性识别)不是百分百准,会有误识别。机器人决策时要容忍这种不确定性——把识别结果当概率性的(“80% 概率是杯子”),而不是确定性的。关键操作前可以做二次确认(走近看清楚、用触觉确认)。
⚠️ 常见坑:把语义识别结果当成确定的,直接用于决策,结果误识别导致机器人抓错东西或撞上没识别出的障碍。语义感知要带置信度,低置信度的要多源验证或人工确认。
环境是动态的——杯子被拿走了、椅子被推动了、门被打开了。场景图不能建一次就用到底,要随环境变化动态更新。机器人通过持续感知,检测场景图里哪些节点变了(物体消失、移动、属性变化),及时更新。一个过时的场景图比没有更危险(机器人按旧信息规划,撞上已经移动的物体)。
💡 关键直觉:语义理解的价值在于把“看到什么”转化为“知道这意味着什么、该怎么做”。几何感知给机器人一双看到环境的眼睛,语义理解给机器人一个理解环境的大脑。两者结合,机器人才真正“看懂”了环境,能基于环境做有意义的决策。
下一章我们进入闭环的处理核心——认知与决策,讲机器人怎么理解任务、规划动作。