摘要:把自动驾驶想像成一个有眼耳和大脑的司机。感知系统就是它的“眼睛”和“耳朵”,负责把诸如前方有一辆车、左侧有个行人过马路、右边车道被施工封闭了、红灯亮了等外界的光、雷达回波、距离、速度这些原始信号变成机器能看懂的“事实”。感知并不是单一模块的工作,而是一整套从硬
把自动驾驶想像成一个有眼耳和大脑的司机。感知系统就是它的“眼睛”和“耳朵”,负责把诸如前方有一辆车、左侧有个行人过马路、右边车道被施工封闭了、红灯亮了等外界的光、雷达回波、距离、速度这些原始信号变成机器能看懂的“事实”。感知并不是单一模块的工作,而是一整套从硬件到软件、从标定到算法、从实时性到冗余设计的组合工程。没有可靠的感知,后面的预测和规划就像盲驾,再聪明的决策也可能撞上现实。
如果将感知拆分,可以分为“传感器”和“算法”两大块,但其中还包含时间同步、标定、数据融合、状态估计,以及在线自检与降级(当某种传感器失效时系统如何优雅退化)等内容。
感知系统由哪些核心部分组成
感知系统最主要的就是传感器,常见的有摄像头、激光雷达(LiDAR)、毫米波雷达、超声波以及惯性测量单元(IMU)与车轮里程计等。摄像头擅长识别如识别交通灯、交通标识和文本信息等颜色和细节,;激光雷达能给出高精度的三维点云,适合检测物体形状和测距;毫米波雷达在雨雪雾等能见度差的情况下仍然能稳定测出物体距离和速度;超声波适合近距离的低速泊车感知;IMU 和里程计则提供车辆自身的运动状态,帮助把传感信息放到一致的时间与空间坐标系里。不同传感器各有长短,在车辆上常常把它们按能力互补地组合起来,形成稳健的感知“传感网”。
虽然不同传感器在采集数据时是同一个交通场景,但想要把相机的像素、雷达的回波、LiDAR 的点云放到同一个“地图”上,必须做精确的时间戳对齐和外参/内参标定。标定包括内参(比如相机的焦距、畸变参数)和外参(不同传感器之间的相对位置与朝向)。这一步看起来枯燥,但它决定了后续融合的基础精度,往往直接影响检测、跟踪偏差以及定位误差。
还有就是感知算法链路,通常分为感知前处理、检测与分割、跟踪与轨迹估计、语义理解与场景解析这几层。前处理包含去噪、点云下采样、图像增强等;检测与分割负责把原始数据变成“我看见了什么”,检测框、实例掩码或语义类别;跟踪模块把一帧帧的检测结果关联起来,给每个目标一个稳定的ID并估计速度、加速度;语义理解则把这些目标放进更复杂的语境里,比如判断某个行人是否有横穿马路的意向、车道哪儿是可通行区域、哪里可能有临时障碍物。
自动驾驶系统涉及到多个传感器,无可避免地就要涉及到传感器融合。融合的层级可以是像素级、特征级或决策级,也可以是把点云先换成鸟瞰视图再与相机特征融合的方式。融合要解决如不同传感器的分辨率差异、视角遮挡、时间延迟、数据频率不一致等问题。合理的融合策略能显著提升远近、静动目标的探测能力,也更容易满足冗余与安全要求。
定位与地图(有时候感知和定位会耦合得很紧)也是感知系统中非常重要的一环。高精地图或局部地图能提供车道线、静态障碍、路缘等先验,使感知在复杂场景下更稳。当地图不可用时,感知需要承担更多的工作,像实时构建占用网格或做视觉里程计(VO)/激光SLAM。这部分对实时性和算力要求都不低。
评估与在线自检在感知系统中也很重要。评估包括离线的指标(mAP、召回率、F1、跟踪精度等)和在线健康检测(传感器是否有异常、模型是否漂移)。在线自检非常关键,当某个传感器被雪覆盖或者相机镜头被污渍遮挡时,系统必须能迅速发现并切换到安全策略,提醒乘客接管或降低功能级别。
感知既有大量信号预处理和几何计算,也有深度学习推理。这要求在车端部署高性能的SoC/GPU/NPU,同时做能耗与实时调度的工程权衡。很多车企选择把复杂的训练放到云端,实时推理留在车端,这样既保证模型不断进步,又能满足低时延要求。
感知的工作到底怎么工作?
想象一辆车正沿城市道路行驶。摄像头拍到的光线先经过镜头畸变校正,再被送进卷积网络做特征提取,网络会给出类别(车、人、骑行者)、边界框和像素级分割。同时,LiDAR发回来的点云会做体素化或投影成鸟瞰图,进入专门的3D检测网络,识别立体目标并估计相对高度与尺寸。毫米波雷达则持续输出距离与径向速度,在深度学习模型难以可靠判断物体速度时提供稳健的速度信息。
各感知流的输出经过时间同步后进入融合模块。融合模块会把相机的类别与LiDAR的距离结合,修正目标的三维位姿;再用雷达的速度信息确认该目标是静止还是移动。接下来是跟踪器,它根据目标的历史轨迹进行关联,用卡尔曼滤波或更复杂的随机滤波器来平滑位置与速度估计。最终,感知把一幅帧的“我看见了什么、它在哪里、它往哪儿去”交给预测模块,用于后续规划与控制。
一个好感知系统不仅要准确地说出“有个行人”,还要给出置信度(这件事有多确定)、近中远距离不确定性以及对异常情况的提示(比如“相机被强光遮挡”)。这种不确定性表达对安全决策非常关键,因为规划模块要根据不同置信度采取不同保守策略。
为何感知是自动驾驶里最难的一环?
环境条件的不确定性是自动驾驶汽车需要面对的首要难题。大雾、强逆光、夜间、雨雪都会让摄像头性能急剧下降。LiDAR 在大雪时会产生大量假点,雷达在复杂金属结构附近可能发生多径干扰。为此需要传感器冗余和多模态融合,用弱传感器补强强传感器的短板,同时在软件层面做感知信号的质量评估与权重调整。
还有一个就是长尾问题,也就是那些极其罕见但可能致命的场景,可能导致安全事故。数据驱动的模型在常见场景上表现很好,但对极端场景(比如街头突然出现推车或非标路障)往往没有足够训练样本。解决办法包括数据增强、模拟器生成稀有场景、主动学习以便把真实稀有样本送回训练链路,以及把规则化的几何检测与学习方法混合使用,形成不易被数据稀缺拖垮的混合感知体系。
实时性和算力限制也是感知系统设计不得不面对的问题。感知算法要在几十毫秒甚至更短时间内完成推理和融合,才能保证规划有足够的反应时间。这就需要高效的模型压缩、量化、算子优化,以及把关键工作放在低延迟的车端硬件上。同时,系统设计要允许在极端算力或传感器受限情况下,感知只保留最关键的功能(比如只检测大型移动目标和车道边界),并将控制权或警示交给驾驶员。
系统可解释性与安全标准也是必须解决的问题。感知模型往往是复杂的深度网络,工程团队要做大量的安全分析,证明在多数可预见的情况下系统会保持安全。行业里常常把功能安全(ISO 26262)与“意外功能安全”(SOTIF, Safety Of The Intended Functionality)放在一起讨论,既要预防硬件故障,也要应对模型在合法输入下的错误行为。实践中会结合冗余传感、规则检测器与护栏式规划策略来降低风险。
人为因素与法规限制也会影响感知设计。不同市场对传感器(比如LiDAR)接受度不同,法规对可用数据(车外摄像头捕捉到行人的面部等隐私信息)有严格约束。设计团队要在技术、成本、合规之间找到平衡点。
如何把感知系统设计好?
一个可落地的感知系统里充斥着大量“细节决定成败”的工作。硬件层面,需要做散热、抗振动、防水防尘、镜头除雾与加热、防雨刷联动等物理工程,任何一个小失误都可能导致夜间或雨天感知失效。标定工作也不是一次性任务;装车以后温度变化、车身微小变形都会引起外参漂移,所以要设计自动标定或定期校验流程。
数据层面的工作量也非常大。标注不仅仅是画框那么简单,复杂场景需要标注速度、遮挡等级、可通行性、行为意图等丰富标签;数据质量管理包括标签一致性检验、异常样本筛查、以及对模型失误的回放分析。这些流程直接决定模型能否在真实世界里长时间稳定运行。
模型上线后,运营团队要持续做A/B测试、在线评估、以及从车辆回传的稀有场景中做样本补充。整个闭环的效率决定了系统迭代的速度和安全性。很多公司把这个闭环称作“感知数据闭环”,即把实际运行中遇到的问题快速转为标注样本、再进入训练、再回到线上验证。
在设计感知系统时,和上游公司(传感器供应商)、下游模块(预测、规划、控制)以及法规审查部门的沟通同样重要。感知不是孤立模块,接口定义、置信度语义、故障报告方式都需要跨团队约定好,才能在整车层面做到协调一致。
最后的话
感知听起来是在做“看图识物”的事情,但真正的难点在于把物理信号、数学模型、系统工程和安全机制结合起来,形成能在各种真实道路条件下稳定运行的能力。它既包含深度学习等前沿算法,也离不开标定、同步、工程级的健壮实现与运营闭环。
来源:阿朔谈汽车