3. 环境感知与车位检测

自动泊车系统的第一步,也是最关键的一步,是让车辆“看见”周围环境并准确找到可用的车位。本章将深入剖析环境感知层的两大核心传感器——超声波雷达与视觉传感器(摄像头/鱼眼相机),并详细讲解车位线识别算法与车位类型分类逻辑。理解这一章的内容,是后续路径规划与轨迹跟踪控制的基础,因为所有规划与控制的输入都源于感知层的输出结果。

自动泊车环境感知与车位检测系统架构 传感器层 超声波雷达 12颗 / 盲区检测 测距范围 0.15-4.5m 鱼眼相机 4颗 / 环视 FOV ≥ 190° 信号特征 超声波:40kHz 脉冲 / 飞行时间法 视觉:RGB 图像 / 畸变校正 数据融合与感知层 车位线识别 语义分割 / 边缘检测 / 霍夫变换 障碍物检测 超声波点云 / 视觉深度估计 空间车位检测(超声波) 车位类型分类与输出 垂直车位 角度 90° ± 10° 平行车位 角度 0° ± 10° 斜列车位 角度 30°-60° 车位检测处理流程 ① 原始数据采集 超声波回波 / 图像帧 ② 预处理 滤波 / 畸变校正 / 去噪 ③ 特征提取 角点 / 线段 / 深度点 ④ 车位拟合 矩形拟合 / 空间约束 ⑤ 输出 车位坐标 关键参数与约束: • 超声波检测距离:0.15m ~ 4.5m,精度 ±2cm,更新频率 20Hz • 鱼眼相机分辨率:1280×800 @ 30fps,FOV ≥ 190°,畸变校正后有效区域 ≥ 160° • 车位最小尺寸:垂直车位 2.3m(宽) × 4.8m(长);平行车位 2.0m(宽) × 5.5m(长)

3.1 超声波雷达:近距离感知的基石

核心原理

超声波雷达通过发射40kHz左右的机械波脉冲,并接收经障碍物反射的回波,利用飞行时间法(Time of Flight, ToF)计算传感器到目标的距离。在自动泊车场景中,通常采用12颗超声波传感器,其中前保险杠6颗、后保险杠6颗,形成对车辆前后方及侧方的近距覆盖。其核心优势在于对近距离(0.15m~4.5m)障碍物的测距精度高、响应速度快、成本低廉,且不受光照条件影响,是泊车场景中不可或缺的感知手段。

信号处理与数据输出

超声波雷达的原始输出为模拟回波信号,经过放大、阈值比较和数字化后,得到每个传感器的距离值。在实际工程中,需要重点关注以下处理环节:

  • 温度补偿:声速随温度变化约为0.6m/s/℃,需通过温度传感器进行实时补偿,否则在极端温度下会产生显著误差。
  • 串扰抑制:多颗传感器同时工作时,相邻传感器可能接收到彼此的反射波,需采用编码脉冲或时分复用机制。
  • 近距盲区处理:传感器起振期间无法接收回波,导致存在约0.15m的盲区,需通过多传感器交叉覆盖来弥补。
工程经验:在泊车路径规划中,超声波数据通常以“点云”形式输出,每个点包含距离和角度信息。建议对连续帧数据进行滑动窗口滤波,以消除单帧噪声,同时保留快速变化的障碍物特征。

案例拆解:超声波检测垂直车位

以典型的垂直车位泊入场景为例,车辆以约10km/h的速度沿车位方向行驶。当车辆经过空车位时,侧向超声波传感器会检测到“有障碍物→无障碍物→有障碍物”的距离变化模式。系统通过分析该模式,可以估算出空车位的宽度和深度。具体流程如下:

  1. 车辆行驶过程中,侧向传感器以20Hz频率采集距离数据。
  2. 当检测到距离从小于0.5m跳变到大于1.5m时,标记为车位起始边界。
  3. 持续监测距离值,当距离再次从大于1.5m跳变到小于0.5m时,标记为车位终止边界。
  4. 计算车位宽度 = 终止边界位置 - 起始边界位置,若宽度大于2.3m,则判定为可用垂直车位。
风险提示:超声波对细长物体(如栏杆、立柱)的反射信号较弱,容易漏检。在融合视觉信息时,应优先信任视觉检测到的细长障碍物,超声波数据作为辅助确认。

3.2 鱼眼相机与视觉感知

核心原理

鱼眼相机通过超广角镜头(FOV ≥ 190°)获取车辆周围的全景图像。与普通摄像头相比,鱼眼镜头引入了严重的桶形畸变,因此必须进行畸变校正才能用于车位线识别。典型的自动泊车系统采用4颗鱼眼相机,分别安装在车辆前后保险杠中央和左右后视镜下方,通过图像拼接形成360°环视鸟瞰图(Bird's Eye View, BEV)。

车位线识别算法流程

车位线识别是视觉感知的核心任务,其典型处理流程如下:

步骤 算法/方法 输入 输出 典型耗时
① 畸变校正 相机标定 + 重映射 原始鱼眼图像 校正后图像 2ms
② 透视变换 逆透视映射(IPM) 校正后图像 鸟瞰图 3ms
③ 语义分割 轻量级CNN(如UNet) 鸟瞰图 车位线掩码 15ms
④ 线特征提取 霍夫变换 / LSD 车位线掩码 线段集合 5ms
⑤ 车位拟合 矩形拟合 + 几何约束 线段集合 车位角点坐标 3ms

案例拆解:基于语义分割的车位线检测

在某量产车型的泊车系统中,采用轻量级UNet网络对鸟瞰图进行语义分割,将每个像素分类为“车位线”、“路面”、“车辆”、“行人”等类别。训练数据集包含10万张标注图像,覆盖不同光照、天气和地面材质场景。实际运行中,分割网络的mIoU达到0.82,单帧推理时间约15ms(运行在嵌入式GPU上)。

在分割结果基础上,系统通过以下步骤完成车位拟合:

  1. 对分割掩码进行形态学闭运算,消除断裂和孔洞。
  2. 使用霍夫变换检测直线段,并过滤长度小于0.5m的短线段。
  3. 根据车位线的平行和垂直几何关系,将线段分组为候选车位。
  4. 对每个候选车位进行矩形拟合,计算角点坐标和车位朝向。
关键参数:车位线宽度通常为10cm~15cm,在鸟瞰图中对应约8~12个像素。语义分割网络需保证车位线边缘的像素级精度,否则会导致角点定位误差超过5cm,进而影响后续路径规划的精度。

3.3 车位类型分类与决策逻辑

核心原理

车位类型分类是感知层与规划层之间的桥梁。系统需要根据车位线的几何特征和超声波的空间检测结果,将车位分为垂直车位、平行车位和斜列车位三类,并输出车位的精确坐标、朝向和尺寸。分类的准确性直接影响后续路径规划策略的选择。

分类判断方法

车位类型的判断主要依据车位线与车辆行驶方向的夹角θ:

  • 垂直车位:θ ∈ [80°, 100°],车位宽度通常为2.3m~2.8m,深度为4.8m~5.5m。
  • 平行车位:θ ∈ [-10°, 10°],车位宽度通常为2.0m~2.5m,长度为5.5m~6.5m。
  • 斜列车位:θ ∈ [30°, 60°] 或 [-60°, -30°],车位宽度和深度介于垂直与平行之间。

在实际系统中,分类决策通常采用以下逻辑:

if (车位线检测置信度 > 0.7) {
    // 视觉主导分类
    angle = 计算车位线与车辆航向夹角();
    if (angle > 75° && angle < 105°) 类型 = 垂直车位;
    else if (angle > -15° && angle < 15°) 类型 = 平行车位;
    else if (angle > 30° && angle < 60°) 类型 = 斜列车位;
    else 类型 = 未知;
} else {
    // 超声波空间检测主导
    width = 超声波检测车位宽度();
    depth = 超声波检测车位深度();
    if (width > 2.3m && depth > 4.8m) 类型 = 垂直车位;
    else if (width > 2.0m && depth > 5.5m) 类型 = 平行车位;
    else 类型 = 未知;
}

案例拆解:多传感器融合的车位分类

在某复杂地下车库场景中,车位线因磨损而模糊不清,视觉检测置信度仅为0.45。此时系统自动切换至超声波主导模式。超声波检测到目标车位宽度为2.4m,深度为5.0m,结合车辆航向与车位入口的几何关系,判定为垂直车位。随后,视觉系统在车辆靠近过程中持续尝试重新检测车位线,当置信度提升至0.75时,系统融合视觉角点坐标与超声波距离数据,输出最终车位坐标,定位精度达到±3cm。

常见误区:不要盲目信任单一传感器。视觉在光照不足或车位线模糊时可靠性下降,超声波在检测开放空间(如无侧边障碍物的车位)时可能失效。正确的策略是建立传感器置信度评估机制,动态调整融合权重。

总结复盘

本章内容涵盖了自动泊车环境感知的核心环节。超声波雷达提供了可靠的近距离障碍物信息,鱼眼相机通过语义分割实现了车位线的精确识别,而车位类型分类则综合了视觉与超声波的互补优势。在实际工程中,需要特别注意传感器的标定精度、时间同步和失效处理机制。一个稳健的感知系统,应当能够在任何单一传感器失效的情况下,仍然通过冗余设计完成基本车位检测任务。