第二部分:感知篇——汽车的“眼睛”与“耳朵”(第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。"

相关推荐
AngelPP1 天前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年1 天前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼1 天前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS1 天前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区1 天前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈1 天前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang1 天前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx
shengjk11 天前
NanoClaw 深度剖析:一个"AI 原生"架构的个人助手是如何运转的?
人工智能
西门老铁1 天前
🦞OpenClaw 让 MacMini 脱销了,而我拿出了6年陈的安卓机
人工智能