社区
教程
Wiki
注册
登录
创作新主题
社区所有版块导航
Python
python开源
Django
Python
DjangoApp
pycharm
DATA
docker
Elasticsearch
分享
问与答
闲聊
招聘
翻译
创业
分享发现
分享创造
求职
区块链
支付之战
aigc
aigc
chatgpt
WEB开发
linux
MongoDB
Redis
DATABASE
NGINX
其他Web框架
web工具
zookeeper
tornado
NoSql
Bootstrap
js
peewee
Git
bottle
IE
MQ
Jquery
机器学习
机器学习算法
Python88.com
反馈
公告
社区推广
产品
短视频
印度
印度
一周十大热门主题
机器学习学术速递[3.23]
机器学习学术速递[3.25]
字节版龙虾架构火爆GitHub!开源获35k+ Star,内置Skill全家桶,原生适配飞书
OpenAI要求谷歌将ChatGPT列为默认搜索引擎之一
ChatGPT 5,无需魔法,国内直接使用!
7 个 Python 库让你的网络编程脱胎换骨
DeepSeek与ChatGPT-5.2等大语言模型深度赋能科应用与论文写作、课题申报、数据分析及A...
致命分身 | FakeGit 伪造开源生态投毒活动追踪
DeepSeek与ChatGPT-5.2等大语言模型深度赋能科应用与论文写作、课题申报、数据分析及A...
机器学习学术速递[3.26] na
关注
Py学习
»
机器学习算法
基于深度学习构建4D Radar的环境感知算法解决智驾Corner Case
焉知汽车
• 1 年前 • 185 次点击
作者 | Jessie
出品 | 焉知
随着最近的发展,汽车雷达的性能已显着提高。下一代4D雷达可以实现高分辨率点云形式的成像能力。在此背景下,雷达感知深度学习时代已经到来。然而,雷达深度学习的研究分散在不同的任务中,缺乏整体的认知。试图提供深度雷达感知堆栈的全貌,包括信号处理、数据集、标签、数据增强以及深度和速度估计、物体检测和传感器融合等下游任务。对于这些任务,本文重点解释网络结构如何适应雷达领域知识。其中,特别总结了深度雷达感知中三个被忽视的挑战,包括多径效应、不确定性问题和恶劣天气影响,并提出了一些解决这些问题的尝试。
图1 深度雷达感知处理框架
随着4D雷达逐渐推向市场,雷达点云密度大幅增加。4D 雷达的一个主要优点是可以根据海拔测量对静态物体进行分类,而无需构建占用网格地图。因此,可以为静态和动态物体训练单个检测器。比如PointPillars算法针对4D雷达点云,以对多类别道路使用者进行3D检测,可以通过时间积分和引入附加功能(例如仰角、多普勒速度和 RCS)来提高性能,多普勒速度对于检测行人和骑行者至关重要。然而,4D 雷达探测器 (mAP 47.0) 的性能仍然远远不如在 64 束 LiDAR 上的探测器 (mAP 62.1)。这种性能差距源于雷达分辨物体精确 3D 位置的能力较差。
雷达深度和速度估计
雷达可以测量距离和多普勒速度,但这两者都不能直接用于下游任务。距离测量很稀疏,因此很难将其与视觉对应关联起来。多普勒速度是在径向轴上测量的,因此不能直接用于跟踪。在本节中,我们总结使用雷达点云的完成深度估计和速度估计方法。
深度估计
与Lidar相比,Radar具有价格低、射程远、对恶劣天气的鲁棒性等优点。同时,它还面临着检测噪声、无高度测量和稀疏性等问题。最近,基于伪激光雷达的视觉目标检测已成为热门研究课题。其核心思想是将像素投影到伪点云中,以避免逆投影映射(IPM)引起的扭曲。伪激光雷达检测是建立在深度估计的基础上。由于尺度模糊,视觉深度估计是一个不适定问题。然而,基于学习的方法,无论是否有监督过程,都可以仅使用相机成功预测密集深度图。粗略地说,这些方法从数据中学习对象大小的先验知识,因此容易受到一些与数据相关的问题影响,例如对输入图像质量的敏感性和学习非因果相关性,例如对象和阴影相关性。借助激光雷达和雷达等距离传感器可以缓解这些限制。深度补全是深度估计的子问题,其目的是使用距离传感器测量的稀疏深度来恢复图像的密集深度图。如下图所示,由于多路径传播,雷达可以看到非视距高反射物体,例如轮圈和被遮挡的车辆,这种现象称为透视效应。在3D坐标中很有用,但会带来将雷达检测与图像视图中的视觉对象关联起来的困难。
图2 雷达距离测量
现成的雷达在 2D 雷达平面上返回检测结果。由于镜面反射,检测结果稀疏地分布在物体上。由于多路径传播,雷达可以穿透遮挡物,同时这会导致检测到一些噪声。
两级架构广泛应用于图像引导雷达深度完成任务。在第一阶段,通过编码器-解码器网络估计粗略的雷达深度。雷达和图像由两个编码器独立处理,并在特征级别融合在一起。然后,解码器在图像视图中输出粗密深度图,并根据范围相关的阈值过滤掉误差较大的预测深度。接下来,原始传感器输入和过滤后的深度图被发送到第二个编码器-解码器,以输出细粒度的密集图。在第一阶段,可以通过扩大雷达检测范围以更好地匹配视觉对象来提高关联质量。如图 3b 所示,将高度扩展应用于雷达检测以补偿丢失的高度信息。每次检测都假定固定高度,并根据范围投影到图像视图上。然后,扩展的检测被发送到两级架构以输出去噪的雷达深度图,可以通过一种概率关联方法来模拟雷达检测的不确定性。
如图 3c 所示,雷达点转换为多通道增强雷达 (MER) 图像,每个通道代表特定关联置信水平下的扩展雷达深度。通过这种方式,边界处被遮挡的检测和不精确的检测保留,但置信度较低。另一种方式是使用雷达作为监督来训练单目深度估计模型。其中,应用了严格的过滤,只保留高置信度的检测结果。在预处理中,去除了边界框内超出范围阈值的杂波,并丢弃了框上部 50% 和外部 20% 的点以及重叠区域,以避免透视效果,所有背景检测也被丢弃。对于关联,首先应用双边过滤,即边缘保留过滤,以将扩展限制在对象边界内。同时进一步将关联图剪裁到靠近边缘的位置,以消除不精确的边界估计。为了补偿高度信息,直接使用边界框的高度作为参考。考虑到车辆形状的复杂性,将检测范围扩展到其边界框的下三分之一,以捕获车辆的平坦前表面。
图3 (a)雷达探测扩展技术。(b) 扩大雷达探测高度。(c) 构建概率图,其中深/浅蓝色表示具有高/低置信度阈值的通道。(d) 根据边界框应用严格的过滤,其中仅保留与正面相对应的检测。
作为真值系统的LiDAR而言,一直存在一些固有的缺陷,例如稀疏性、范围有限以及无反射的孔洞等。因此,对LiDAR点进行预处理可以更好地进行监督。通过积累多帧激光雷达点云可以提高密度,而没有 LiDAR 到达的像素被分配零值。由于LiDAR和相机不共享相同的FoV,投影到图像视图上的LiDAR点也存在遮挡问题。因此,可以通过两个标准过滤掉遮挡点:一是视觉光流和LiDAR场景流之间的差异,二是分割掩模和边界框之间的差异。使用视觉语义掩模和激光雷达作为监督信号。视觉语义分割可以检测远处较小的物体,从而补偿激光雷达的有限范围。为了提取更好的表示,利用共享解码器同时学习深度估计和语义分割。LiDAR 测量和视觉语义掩模注释都用作监督。因此,损失函数由三部分组成:以激光雷达点为地面实况的深度损失、视觉语义分割损失和用于平滑度的语义引导正则化项。
速度估计
对于自动驾驶来说,速度估计有助于轨迹预测和路径规划。雷达可以精确测量多普勒速度,即极坐标中的径向速度。如果车辆在一定距离处平行于自车移动,则其实际速度可以通过测量的多普勒速度来近似。不过,这仅适用于高速公路场景。在城市道路上,物体在过马路时有可能发生切向运动,那么其多普勒速度将接近于零。因此,多普勒速度不能代替全速度。从多普勒速度恢复全速度需要两个步骤:首先补偿自车运动,然后估计切向速度。第一步,可以通过视觉惯性里程计 (VIO) 和 GPS 来估计自车运动。雷达惯性里程计也可用于视觉退化或无法使用 GPS 的环境。然后,通过减去自车速度来补偿多普勒速度。第二步,根据几何约束估计全速度。假设雷达多次检测到一个物体,并且该物体处于线性运动。
如下图 a 所示,预测线速度(vx,vy)与测量多普勒速度vr,i之间的关系为:
图4 雷达运动模型。(a)线性运动模型需要对物体进行多次检测。(b)曲线运动模型需要两个雷达观测相同的物体或确定车辆边界和后轴。
其中,下标i表示第i次检测,θi是测量的方位角。通过观察每个物体的 N 次检测,我们可以使用最小二乘法求解线速度。然而,L2 损失对于异常值(例如杂波和车轮的微多普勒运动)并不稳健。应用RANSAC去除异常值,然后使用正交距离回归(ODR)来找到最佳速度。
尽管线性运动模型因其简单性而被广泛使用,但对于高曲率的运动会产生较大的位置误差。或者,如图 9b 所示,曲线运动模型由下式给出:
其中,ω是角速度,θ是检测点的角度,(xc,yc)表示瞬时旋转中心(ICR)的位置,(xS,yS)表示已知的雷达位置。
为了将角速度和 ICR 的位置解耦,需要至少两个雷达传感器来观察同一物体。然后,我们可以将上式转化为线性形式:
其中下标j表示第j个雷达。类似地,RANSAC 和 ODR 可用于找到 ICR 角速度和位置的无偏解。对于单个雷达设置,如果我们能够正确估计车辆形状,也可以导出上式的唯一解。根据阿克曼转向几何,ICR的位置应位于从后轴延伸的线上。通过将此约束添加到上式,可以以封闭形式确定全速度。
上述方法在刚性运动的假设下预测物体级别的速度。然而,物体部分的微运动,例如行人摆动手臂,对于分类也很有用,捕获这些非刚性运动需要点级别的速度估计。这可以通过与其他模式融合或使用相邻雷达帧之间的时间一致性来实现。通过雷达和摄像机的融合估计逐点速度。首先通过神经网络模型估计了密集的全局光流以及雷达点与图像像素之间的关联。接下来,根据光流和多普勒速度之间的几何关系推导了封闭式全速度。在自监督学习框架中估计了 4D 雷达点云的场景流。场景流是一个3D运动场,可以粗略地认为是线性速度场。模型由两个步骤组成:流量估计和静态流量细化。在流量估计步骤中,采用了与PointPWCNet 类似的结构。为了补偿帧之间检测的位置随机性,使用成本-体积层来实现补丁到补丁的相关性。然后,将特征和相关图发送到解码器网络进行流回归。在静态流细化步骤中,假设大多数雷达检测是静态的,可以使用 Kabsch 算法来稳健地估计自车运动。然后,根据粗略的自车运动过滤掉移动物体,并再次将卡布什算法应用于所有静态点,以进行细粒度的自车运动估计。
自监督损失由三部分组成:
1)
径向位移损失:
用于惩罚沿径向轴投影的估计速度与测量的多普勒速度之间的误差;
2)
软切角距离损失:
用于鼓励两个连续点云之间的时间一致性;
3)
软空间平滑度损失:
用于促进估计速度与其领域空间的一致性。
以上损失的计算可用于对雷达点云的空间稀疏性和时间随机性进行建模。
Radar目标检测
由于分辨率较低,经典雷达检测算法的分类能力有限。近年来,汽车雷达的性能有了很大的提高。在硬件层面,下一代成像雷达可以输出高分辨率点云。在算法层面,神经网络显示出了从数据集中学习更好特征的潜力。
在本节中,考虑雷达检测的更广泛定义,包括逐点检测、2D/3D 边界框检测和实例分割。首先,介绍经典的检测管道以及最近在聚类和特征选择方面的改进。如图 10 所示,神经网络可以应用于经典流程中的不同阶段。根据输入数据结构,将深度雷达检测分为基于点云和基于预CFAR。雷达点云和预CFAR(Constant False Alarm Rate)数据分别与激光雷达点云和视觉图像类似。因此,激光雷达和视觉任务的架构可以适用于雷达检测。重点关注如何将雷达领域的知识整合到这些网络中以解决低信噪比问题。
图5 雷达检测框架概述:蓝色框表示经典雷达检测模块。橙色框代表基于人工智能的替代。
1. 经典检测流程
如上图5所示,传统的雷达检测流程由四个步骤组成:CFAR检测、聚类、特征提取和分类。首先,应用 CFAR 检测器来检测 RD 热图中的峰值作为目标列表。然后,将运动目标投影到笛卡尔坐标并通过 DBSCAN 进行聚类。静态目标通常在聚类之前被过滤掉,因为它们与环境杂波无法区分。在每个集群中,提取手工制作的特征,例如测量统计数据和形状描述符,并将其发送到机器学习分类器。当然,可以对这四个步骤中的每一个进行改进。CFAR通常在片上DSP中执行,因此方法的选择受到硬件支持的限制。单元平均(CA)CFAR 因其效率而被广泛使用。它将噪声估计为 CFAR 窗口内被测小区 (CUT) 周围相邻小区的平均功率,通过设置阈值以实现瑞利分布噪声的恒定误报率。
下一代高分辨率雷达芯片还支持阶次统计(OS)CFAR。根据接收功率对CUT周围的相邻小区进行排序,并选择第k个小区来表示噪声值。OS-CFAR在区分近距离目标方面具有优势,但引入了略微增加的误报率和额外的计算成本。深度学习方法可用于改进 CFAR 中的噪声估计和峰值分类。聚类是雷达检测流程中最重要的阶段,特别是对于下一代高分辨率雷达。DBSCAN受到青睐有几个原因:不需要预先指定的簇数量;适合任意形状;运行得很快。一些工作通过明确考虑雷达点云的特征来改进 DBSCAN。基于网格的 DBSCAN建议在 RA网格图中对雷达点进行聚类,以避免笛卡尔坐标中与距离相关的分辨率变化。多阶段聚类提出了从粗到细的两阶段框架来减轻杂波的负面影响。它基于第一阶段估计的簇的速度和空间轨迹应用第二次簇合并。
随着汽车雷达分辨率的提高,雷达目标分类已成为研究热点。对于移动物体,轮子和手臂等移动部件的微多普勒速度可用于分类。为了更好地观察这些微运动,应用短时傅里叶变换(STFT)来提取多普勒频谱图。不同类型的 VRU 可以根据其微多普勒特征进行分类 。对于静态物体,建议使用统计RCS和时域RCS作为车辆和行人分类的有用特征。一些研究人员致力于利用大量特征来实现更好的分类。也有综合考虑了 98 个特征的大集合,并使用启发式引导向后消除进行特征选择。发现距离和多普勒特征对于分类最重要,而角度和形状特征通常被丢弃,可能是因为角度分辨率低。
2. 点云检测器
端到端物体检测器有望取代基于传统手动制作特征的Pipeline管道。然而,卷积神经网络对于稀疏数据结构的设计并不好。为了获得更好的性能,有必要增加雷达点云的输入密度。通过将雷达点累积到占用网格映射(OGM)中,然后应用 YOLOv3进行对象检测。利用点云分割网络,例如 PointNet和 PointNet++,然后是用于 2D 雷达检测的边界框回归模块。原始 3D 点云输入被 4D 雷达点云取代,该点云具有 x-y 平面中的两个空间坐标、多普勒速度和 RCS。另外,通过比较两阶段聚类方法、基于 OGM 的方法和基于 PointNet 的方法在 2D 检测方面的性能。基于 OGM 的方法性能最好,而可能是由于稀疏性,基于 PointNet 的方法性能比其他方法差得多。另外,合并全局信息可以帮助解决雷达点云的稀疏问题。因此,在 PointNet++ 中的每个集合抽象层中添加了一个 gMLP块。gMLP 模块有望以可承受的计算成本提取全局特征。
大多数雷达检测方法仅适用于移动目标,因为静态物体由于角分辨率低而难以分类。基于一种场景理解框架可以同时检测静态和动态对象。对于静态对象,首先通过多帧的时间整合构建RCS直方图网格图,并将其发送到全卷积网络(FCN)进行语义分割。对于动态物体,采用了两分支循环架构:一是点特征生成模块,它使用PointNet ++从输入点云中提取特征。另一个是记忆抽象模块,它从记忆点云中的时间领域学习时间特征。得到的特征被连接在一起并发送到实例分割头。此外,通过一个内存更新模块来将目标集成到存储的点云中。最后,静态和动态点被组合成单个语义点云。所提出的框架可以成功检测汽车和行人等移动目标,以及停放的汽车、基础设施、电线杆和植被等静态目标。
另一种被称之为RPFA-Net的方法是通过引入雷达支柱特征注意力(PFA)模块来改进 PointPillars,它是利用自注意力从支柱中提取全局上下文特征。然后,全局特征与原始特征图做残差连接,并发送到基于CNN 的检测网络。其背后的想法是探索对象之间的全局关系,以更好地估计航向角。事实上,自注意力基本上是一个集合算子,非常适合稀疏点云。Radar transformer是一个完全由自注意力模块构建的分类网络。4D 雷达点云首先发送到 MLP 网络进行输入嵌入。以下特征提取网络由局部特征分支和全局特征分支两个分支组成。在局部特征分支中,它使用三个堆叠集抽象模块和向量注意模块来提取分层局部特征。在全局特征分支中,每个层次提取的局部特征与前一个层次的全局特征图连接起来,并输入到向量注意模块中进行特征提取。在最后一个层次中,标量注意力,即传统的自注意力,可用于特征集成后,特征图被发送到分类头。
3. 预CFAR(Constant False Alarm Rate)探测器
人们尝试探索预 CFAR 数据用于检测的潜力。雷达预 CFAR 数据编码了目标和背景的丰富信息,神经网络有望更好地利用这些信息。一种选择是使用神经网络来代替 CFAR 或 DOA 估计。或者,也有一些努力通过神经网络执行端到端检测。深度雷达探测器联合训练两个级联网络,分别用于CFAR和DOA估计。使用堆叠的复杂 RD 图作为 FCN 的输入进行 3D 检测。为了消除同相直流分量,使用第一个接收器中的 RD 单元作为标准化器来执行相位标准化,阶段标准化对于成功的训练至关重要。在 DDM 配置中,如下图 6 所示设计了一个DDM-MIMO编码器,以复杂的RD图作为输入。所有 Tx 天线同时发射信号,没有执行波形分离,而是直接对 Rx 天线接收到的 ADC 信号应用距离 FFT 和多普勒 FFT。这样,从不同的 Tx 天线检测到的目标应该在 RA 图中以固定的多普勒频移分别定位。为了提取这些特征,设计了一个两层 MIMO 编码器,其中包括一个用于分离 Tx 通道的扩张卷积层,以及一个用于混合信息的卷积层。该 MIMO 编码器与以下 RA 编码器、检测头和分段头联合训练。
图6 雷达数据增强技术
如上图所示,雷达测量的多普勒速度是标量,因此雷达探测的局部旋转会导致多普勒速度与真实速度之间的偏差,而全局平移和旋转不会出现这种错位。在增强雷达RA图时,需要对背景区域进行插值并补偿探测强度。
在需要大带宽和高分辨率的近场应用中,RD 地图不适合,因为扩展的多普勒轮廓可能导致误报,而RA 地图则没有遇到同样的问题。对于RA图上的每个检测点,可以利用慢时间的微多普勒信息来更好地分类。RODNet使用复杂的 RA 地图作为对象检测的输入。分别执行距离 FFT和角度 FFT,以获得每个采样的线性调频脉冲的复杂 RA 图。在没有多普勒维度的情况下,仅使用 RA 图很难区分静态杂波和运动物体。为了利用运动信息,需要对帧内的一些线性调频信号进行采样。然后,与这些线性调频脉冲相对应的RA图序列被发送到时间卷积层。使用沿线性调频维度的 1 × 1 卷积来聚合时间信息。然后,使用 3D 卷积层提取时间特征。最后,通过最大池化沿线性调频维度合并特征。
当然,训练神经网络利用复杂 RA 或 RD 图中的相位信息是一项艰巨的任务。一些人尝试使用实值 RAD 张量作为输入。使用 3D RAD 张量作为输入的一个关键问题是维数灾难。因此,人们提出了许多技术来降低 3D 张量处理的计算成本。比如RADDet将 RAD 张量标准化并重塑为类似图像的数据结构,多普勒维度被视为 2D RA 地图的通道。然后,将YOLO应用于RA图上进行物体检测。或者,3D 卷积可用于从 3D 张量中的所有三个维度提取特征,但需要巨大的计算和内存开销。
雷达预 CFAR 数据在极坐标中捕获。对于目标检测,需要进行极坐标到笛卡尔变换才能获得正确的边界框。这可以通过比较坐标变换的三种配置:预处理输入变换、神经网络学习以及中间层特征图上的变换。对最后一层特征图应用显式极坐标到笛卡尔变换可以获得最佳性能,基于隐式学习的变换稍差,预处理变换远不如其他两种。这种糟糕的性能主要是由于输入中方位角旁瓣的扭曲。事实上,传统的二维卷积并不是雷达预 CFAR 数据的最佳选择,因为距离、多普勒和方位角维度的动态范围和分辨率各不相同。PolarNet使用两个 1D 卷积的级联,而不是2D 卷积,包括一个列向卷积来提取范围相关的特征,然后是一个行向卷积来混合来自空间领域的信息。谷歌的 RadarNet使用了类似的想法来进行手势识别,通过首先提取范围特征,然后在后期将它们汇总在一起。
另一方面,结合时间信息是提高预 CFAR 检测器性能的有效方法,有多种方法可以将时间信息添加到网络中,比如使用卷积 LSTM 层来处理来自编码器网络的一系列特征图。时间层可以实现更准确的检测和更好的速度估计。通过比较具有累积输入的静态模型和具有堆叠输入的时间模型之间的性能。对于静态模型,三帧内的 RAD 张量被累积成一个张量,并馈送到多视图编码器-解码器进行分割。对于时间模型,将五帧内的 RAD 张量堆叠起来形成 4D 张量,然后发送到多视图编码器-解码器。在每个分支中,使用多个 3D 卷积层来利用时空信息,因此,时间维度的引入可以显着提高检测性能。RODNet研究在特征级别堆叠多个帧,它将提取的每帧特征连接起来并将其发送到 3D CNN 层。对于运动补偿,在前几层的线性调频维度上应用了可变形卷积。此外,在后面的层中使用了具有不同时间长度的初始模块。尽管引入了额外的计算成本,但这两个时间模块显着提高了平均精度。
此外,也有使用注意力模块从两个连续帧中提取的特征之间显式地建模其时间关系。首先,以两种顺序堆叠 RA 地图,即当前帧在顶部,前一帧在顶部。然后,使用两个编码器从这两个输入中提取特征并将这些特征连接在一起,进一步添加位置编码以补偿位置不精确。接下来,这些特征被发送到屏蔽注意力模块,该掩模用于禁用同一帧中的跨对象注意。最后,时间增强的特征被发送到编码器以进行对象检测。这种基于注意力的方法在语义上更具可解释性,并且避免了卷积引起的局部性约束。
总结
雷达检测是本文的主要关注点。总结了深度雷达感知的三个挑战:首先,在目标检测中需要明确考虑多径效应;其次,我们需要缓解雷达分类中的过度自信问题并估计边界框回归的不确定性;第三,融合雷达架构应具有自适应机制,以充分利用雷达的全天候能力。
通过将深度雷达检测器分为基于点云的和基于预CFAR的PointNet变体网络。通过增加空间密度和利用时间信息,并利用一些新的算子,如深度卷积、注意力和图卷积,将多视图编码器解码器对雷达点云和雷达张量的进行选择,其可以实现显着的性能提升,并可用于更大的感受野。
Python社区是高质量的Python/Django开发社区
本文地址:
http://www.python88.com/topic/173380
登录后回复