Semantic Mapping
了解语义映射如何结合语义分割、深度、定位和传感器融合,为使用 Ultralytics YOLO26 的机器人提供更智能的导航。
语义建图是构建环境空间表示,并将有意义的类别标签(例如道路、墙壁、门口、人员、货架或植被)附加到其中各个位置的过程。在 AI 和机器人领域,语义地图同时回答“某个物体在哪里?”和“它是什么?”它不只是将场景表示为占用空间和空闲空间,还提供支持导航、规划、交互和场景理解的上下文信息。
语义建图的工作原理#
语义建图系统通常结合感知、几何、定位和时间融合。首先,语义分割模型会对每个图像像素进行分类。例如,所有标记为“道路”的像素会构成道路区域,而标记为“汽车”的像素则会识别出车辆区域。NVIDIA 关于机器人图像分割的介绍展示了这些逐像素标签如何支持机器人感知。
仅靠像素标签仍然局限于二维相机图像。系统需要借助几何信息(通常来自 LiDAR、立体相机或深度估计)将像素与物理位置关联起来。Open3D RGB-D 图像工作流演示了如何利用配准的彩色图像和深度图像生成 3D 点云。
准确的投影还取决于相机内参和外参。OpenCV 相机标定文档说明了用于将图像像素与 3D 点关联起来的参数,而 ROS CameraInfo 消息定义则在机器人系统中对这些标定信息进行了标准化。
最后,传感器融合会将一段时间内的观测结果结合起来。机器人位姿和坐标变换会将每个带标签的观测结果置于共享的地图坐标系中。ROS tf2 坐标变换提供了一种维护这些关系的通用机制。
相关概念与关键区别#
语义建图与多个计算机视觉和机器人概念存在交集,但它们解决的问题不同:
- 视觉 SLAM 会在构建几何地图的同时估计相机或机器人的位置。语义建图则为这些几何信息添加类别含义。因此,系统可以使用 SLAM 进行位姿估计,并使用语义感知进行标注。
- 占用栅格地图描述单元格是空闲、已占用还是未知。Nav2 建图与定位指南解释了占用栅格如何支持路径规划。语义地图还可以进一步区分墙壁与人员,或可行驶道路与人行道。
- 实例分割 会区分单个物体,例如两辆不同的汽车。语义分割则会将两辆汽车归为同一个像素类别。语义地图可以根据是否需要保留物体身份,采用其中任一种表示方式。
- 语义搜索 按概念相似性组织信息,而机器人领域的语义建图则将含义与物理位置关联起来。
实际应用#
自主导航: 配送机器人可以将地面标记为可通行区域,将墙壁和路缘标记为障碍物,并将人员标记为动态危险源。随后,这些标签可以转换为导航代价,使规划器优先选择安全表面,而不是将所有可见区域一视同仁。Nav2 语义分割导航教程展示了类别掩码和配准点云如何更新机器人的代价地图。
城市驾驶: 自动驾驶车辆可以将道路、人行道、建筑物、植被、行人和车辆的预测结果投影到持久化世界地图中。这有助于系统理解车道边界、识别不可行驶区域,并推断易受伤害道路使用者可能出现的位置。官方 Cityscapes 城市场景数据集提供了密集标注的街景图像,可用于开发这类场景理解能力。
使用 Ultralytics YOLO 进行语义感知#
下面的 Ultralytics 语义分割工作流使用 YOLO26生成密集类别地图。之后,建图流程可以将该输出投影到二维栅格或三维世界坐标系中。
from ultralytics import YOLO
# Load a pretrained semantic segmentation model
model = YOLO("yolo26n-sem.pt")
# Predict a per-pixel class map
results = model("https://ultralytics.com/images/bus.jpg")
# Select the first result and inspect its map dimensions
result = results[0]
class_map = result.semantic_mask.data
print(class_map.shape)
result.save(filename="semantic_scene.jpg")semantic_mask 为每个图像像素包含一个类别 ID。它提供语义感知层,但要构建持久化空间地图,仍需要深度、标定、定位和时间融合。自定义像素级数据集可以使用 Ultralytics Platform 标注工具进行标注和管理。
实际设计注意事项#
可靠的语义地图需要一致的类别定义、准确的传感器标定、同步的时间戳以及具有代表性的训练数据。位姿漂移可能会将正确的标签放置在错误的位置,而分割错误则可能将障碍物标记为空闲空间。动态物体还需要设置过期或跟踪规则,以免停放的车辆或行人永久嵌入地图。
团队应同时验证感知准确性和空间一致性,测试复杂边界与小型结构,尽可能保留预测置信度,并定义如何更新相互冲突的观测结果。对于安全关键型导航,语义信息应作为几何障碍物感知和碰撞检查的补充,而不应自动取代它们。









