第二部分:感知篇——汽车的“眼睛”与“耳朵”(第5章:环境感知与理解——从“看见”到“看懂”)

传感器让汽车拥有了"视觉",但看到的只是一堆原始数据:摄像头得到的是五彩斑斓的像素点阵列;激光雷达得到的是漫山遍野的3D空间点。这一章,我们要讲解智能驾驶系统如何像我们人脑一样,从这些杂乱的数据中识别出物体、理解其边界、并最终构建出一个有逻辑关系的场景模型。这个过程,就是从"看见"到"看懂"的飞跃。

为了让您更直观地理解这个过程,我们将用一个连贯的场景和配套的示意图来贯穿整个章节:

场景设定: 车辆正行驶在一个城市道路上。

5.1 目标检测与跟踪:从"有什么"到"它在哪里动"

这是环境感知最基础也是最关键的一步。它的任务是回答:"图像或点云里有哪些我们感兴趣的物体(车、人、骑行者等)?它们的位置在哪?以及它们是如何运动的?"

5.1.1 目标检测:静态快照中的"寻宝游戏"

目标检测旨在从单帧数据中找出所有预定义类别的物体,并用一个边界框将其框出来,并给出类别标签和置信度。

  • 在图像中的检测(2D检测):

    • YOLO系列: "你只看一眼"。它的核心思想非常直观:将图像划分成网格,每个网格负责预测落在其中的物体。YOLO速度极快,非常适合对实时性要求极高的自动驾驶任务。从YOLOv1到最新的版本,它在精度和速度上不断平衡,是工业界最受欢迎的算法之一。

    • Transformer: 这位原本在自然语言处理领域的"明星",近年来在视觉领域大放异彩。如DETR模型,它彻底抛弃了YOLO中需要预定义锚点、非极大值抑制等复杂后处理步骤,将目标检测视为一个"集合预测"问题。模型直接输出一个所有物体的集合,简化了流程,并在精度上超越了传统方法。

    • 输出结果: 如示意图第二行左图所示,摄像头图像中的车辆、行人都被用不同颜色的框精确地标注出来。

  • 在点云中的检测(3D检测):

    • 激光雷达点云是3D的,因此检测结果也是3D框。这些框不仅包含了物体在路面上的位置(x, y),还包含了高度(z)、长度、宽度以及朝向(如车头朝向)。这些3D信息对于车辆的路径规划至关重要

    • 输出结果: 如示意图第二行右图所示,点云中的车辆和行人都被3D立方体框住,清晰地显示了它们的立体占据空间。

5.1.2 多目标跟踪:串联时间的"侦探"

检测只能告诉我们某一瞬间 有什么。但要开车,我们必须知道这些物体如何运动。MOT的任务就是为每个检测到的物体分配一个唯一的ID,并在连续的帧中持续地跟踪这个ID,形成一条条运动轨迹。

  • 工作流程(跟踪-by-检测):

    1. 检测: 在每一帧中进行目标检测。

    2. 关联: 这是MOT的核心。如何确定上一帧的"红色卡车#101"就是这一帧的"某个蓝色框"?关联主要依据两大线索:

      • 运动模型: 使用我们第四章讲到的卡尔曼滤波,预测"红色卡车#101"这一帧应该出现在哪里。位置靠近的框,更可能是同一个目标。

      • 外观模型: 提取每个目标框的外观特征(比如卡车的颜色、形状)。看起来越像的框,更可能是同一个目标。

    3. 轨迹管理: 对新出现的物体创建新ID,对消失的物体移除其ID。

  • 输出结果: 如示意图第二行所示,检测框上显示了唯一的ID(如Car#1, Ped#2),并且用轨迹线连接了它们在历史帧中的位置,清晰地显示了它们的运动路径和速度方向。


5.2 语义分割:为每个像素赋予意义

目标检测给出了物体的"概要位置",但有时我们需要更精细的感知。语义分割的任务是对图像中的每一个像素进行分类,将其划分到不同的语义类别中。

  • "像素级分类"

    • 它不像检测那样只画个框,而是要给图片里每一个点都贴上标签。比如,所有属于"道路"的像素被标记为一种颜色,所有"天空"的像素是另一种颜色,"车辆"又是另一种颜色。

    • 如示意图第三行左图所示,原始图像被分割成了不同颜色的区域:灰色的道路、绿色的植被、深蓝色的车辆、红色的行人等。

  • 核心价值:

    1. 可行驶区域判断: 这是分割最重要的任务之一。通过精确分割出"道路"和"非道路"(如人行道、草地),系统能清晰地知道车辆的合法行驶边界。这对于在没有清晰车道线的场景(如园区、停车场)下行驶至关重要。

    2. 精细的物体轮廓: 对于不规则形状的物体(如行人、自行车),分割能提供比矩形框更精确的轮廓,有助于更安全的碰撞风险评估。

    3. 车道线检测: 可以通过分割技术精确地提取出车道线的每一个像素,从而拟合出更平滑、准确的车道线模型。

  • 技术实现: 主流网络是U-Net等编码器-解码器结构。编码器负责理解图像特征("这是什么?"),解码器负责将特征图还原到原图尺寸并进行像素分类("它具体在哪个位置?")。


5.3 场景理解:构建局部动态场景图------最终的"大局观"

检测、跟踪和分割提供了丰富的底层信息,但它们是零散的。智能汽车要做出最优决策,需要一个更高层次的、结构化的场景描述。这就是场景图要完成的任务------构建环境的"大脑思维导图"。

5.3.1 什么是场景图?

场景图是一种图数据结构,它将一个场景表示为:

  • 节点: 代表场景中的实体(如自车、其他车辆、行人、交通灯、车道线)。

  • 边: 代表实体之间的关系属性

5.3.2 如何构建动态场景图?

让我们结合示意图最下面一行,来看系统如何为我们设定的场景构建场景图:

  1. 抽取实体: 从检测、跟踪和分割的结果中,提取出关键实体。

    • 例如: Ego-Car (自车), Car#1Ped#2Traffic Light#3Ego-LaneLeft-Lane
  2. 建立关系: 这是理解场景的关键。

    • 空间关系:

      • Ped#2 is on Sidewalk (行人在人行道上)

      • Car#1 is in Left-Lane (车辆#1在左侧车道)

      • Ego-Car is in Ego-Lane (自车在当前车道)

    • 状态关系:

      • Traffic Light#3 is Green (交通灯是绿色的)

      • Car#1 is Moving (车辆#1正在移动)

      • Ped#2 is Static (行人#2是静止的)

    • 交互关系:

      • Ped#2 is facing Road (行人面向马路) -> 潜在风险:可能闯入

      • Car#1 is faster than Ego-Car (车辆#1比自车快) -> 超车意图分析

5.3.3 场景图的价值

这个结构化的场景图,是连接感知决策规划的桥梁。

  • 决策模块不再需要去理解一堆杂乱的检测框和分割图,它只需要"阅读"这张场景图。

  • 基于这张图,决策可以像人类一样进行逻辑推理:

    • "因为Traffic Light#3Green,且Ego-LaneClear,所以我可以Go。"

    • "因为Ped#2Sidewalk上但facingRoad,所以我需要Prepare to Stop。"

    • "因为Car#1Left-Laneis faster than我,所以我可以考虑Change Lane。"

相关推荐
不知更鸟2 小时前
本地文档问答系统RAG全流程详解
人工智能
边缘计算社区2 小时前
谷歌正式跟进苹果PCC,华为OPPO同步入局:边缘AI隐私战打响
人工智能·华为
IT_陈寒2 小时前
SpringBoot 3.2 性能优化全攻略:7个让你的应用提速50%的关键技巧
前端·人工智能·后端
亚马逊云开发者3 小时前
Amazon OpenSearch 助力高效 RAG 系统落地
人工智能
suke3 小时前
听说前端又死了?
前端·人工智能·程序员
小小小怪兽4 小时前
关于氛围编程(Vibe Coding)的一切
人工智能·全栈
付玉祥4 小时前
从谷歌白皮书看 Prompt 工程
人工智能
松岛雾奈.2304 小时前
机器学习--数据集的标准化和归一化算法;随机森林
人工智能·算法·机器学习
阿明Drift4 小时前
用 RAG 搭建一个 AI 小说问答系统
前端·人工智能