美容院网站模板,网站推广营销服务,网站建设与推广话术,公司网站设计与制前言
本文介绍使用4D毫米波雷达#xff0c;基于原始雷达数据#xff0c;实现目标检测与可行驶区域分割#xff0c;它是来自2023-12的论文。
会讲解论文整体思路、输入分析、模型框架、设计理念、损失函数等#xff0c;还有结合代码进行分析。
论文地址#xff1a;ADCNe…前言
本文介绍使用4D毫米波雷达基于原始雷达数据实现目标检测与可行驶区域分割它是来自2023-12的论文。
会讲解论文整体思路、输入分析、模型框架、设计理念、损失函数等还有结合代码进行分析。
论文地址ADCNet: Learning from Raw Radar Data via Distillation 1、模型框架 ADCNet只使用雷达信息实现车辆检测和可行驶区域分割。
输入原始雷达数据即ADC数据由4D毫米波雷达生成。信号处理模块用一个可学习的信号处理层来处理原始ADC数据。RD特征信号处理层将ADC数据转为RD特征范围-多普勒信息包含距离和速度信息。主干网络进一步编码RD特征隐式地估算目标的方位角。任务头首先进行RAD张量预训练。在预训练完后进行微调检测任务头和分割任务头。输出目标检测和可行驶区域分割结果。 参考FFTRadNet转为RD立方体然后隐式地使用来自检测和分割头的监督信号来估算目标的方位角。区别是 ADCNet使用了学习的信号处理层来处理原始ADC数据。
ADCNet 框架的创新之处
与传统方法不同新框架是将整个信号处理链整合进一个神经网络从原始ADC数据开始。设计了一个能够使用原始ADC数据的框架并预训练了一个主干网络这个主干网络可以用于各种下游任务。预训练模型会重构完整的距离-方位角-多普勒RAD张量。采用传统信号处理链将会产生的结果作为标签真值。将完整的信号处理模块包括DFT、阈值处理和AOA估计蒸馏到可学习的信号处理模块和主干网络中。
预训练主干网络首先通过预训练来学习重构RAD张量这相当于模拟传统的信号处理步骤。
微调一旦“信号处理模块”和“主干网络”预训练完成它就可以为特定的下游任务如目标检测和分割进行微调。 2、雷达信号处理过程
背景
毫米波雷达相比激光雷达(LiDAR)成本较低并且在恶劣天气条件下更加稳健。但是雷达生成的点云数据通常比激光雷达的要嘈杂且稀疏。为了克服这些挑战最近的研究开始关注使用原始雷达数据而不是处理后的雷达点云数据。 为了提高雷达数据的质量提出将“一些信号处理的步骤”直接集成到一个深度学习网络中。即模型参与雷达数据早期阶段的转换处理。 传统雷达信号处理链
在传统的雷达信号处理中原始ADC数据首先通过两个维度上的离散傅里叶变换DFT操作转换成距离-多普勒RD立方体。这个RD立方体接着会经过阈值处理并通过到达角AOA估计层来估算目标的方位角。方位角寻找步骤在计算上非常密集是信号处理链中最消耗计算资源的步骤。
FMCW雷达的工作原理
车载的4D毫米波雷达通常都是FMCW类型的雷达。FMCW雷达通过发射一系列频率逐渐增加的短波chirp来工作。这些波在遇到物体时反射回来被雷达的接收天线捕获。这种频率随时间增加的特性使FMCW雷达能够同时获取物体的距离和速度信息。
信号数字化
天线捕获的反射信号通过模拟-数字转换器ADC被采样和数字化。ADC的作用是将模拟信号实际反射波转换成数字形式使其能够被计算机处理。这个数字化的信号随后传输给雷达传感器中的其他软件模块进行进一步处理。
雷达信号处理链
ADC数据通常被组织成数组每个数组代表一个接收天线的数据。这些数组根据每个chirp波的样本数和数量来确定维度。对这些数组进行信号处理操作主要是离散傅里叶变换DFT这样就将数据转换成所谓的距离-多普勒RD数组提供了探测物体的距离范围和速度多普勒信息。 看一下完整的雷达信号处理链如下图所示 进一步的处理步骤
通常会对RD立方体进行阈值处理以减少需要处理的距离-多普勒格点。这一步有助于过滤掉不那么重要的数据。然后进行到达角AOA估算算法。AOA估算对于确定反射信号的来向非常重要。AOA全称是Angle of Arrival用来确定反射波的具体到达方向。通过了解波从哪个方向来雷达可以更准确地定位物体在空间中的位置。
基本的AOA估算方法
一种基础的AOA估算方法是在雷达数据的最后一个轴上应用另一个离散傅里叶变换DFT。这可以提供一个大致的到达角估算。例如如果雷达系统有多个接收天线通过比较不同天线接收到的信号之间的相位差异可以估算出信号的到达角度。
高级AOA估算技术
对于更精确的AOA估算可以使用更高级的算法如迭代自适应方法IAA、多重信号分类MUSIC和信号参数的旋转不变性估计ESPRIT。这些算法通常更复杂能提供更精确的到达角估算。它们通过对雷达信号进行更深入的分析能更精确地区分和定位多个物体。 3、输入数据
本文的4D毫米波雷达是高清的也称为成像雷达。
成像雷达在更高的频率上运行约77GHz并且有更宽的可用带宽约4GHz这使得它们比传统的汽车雷达能提供更高的分辨率。成像雷达还配备有多个发送和接收天线利用多输入多输出MIMO技术这种新型雷达能够大幅提升距离和角度分辨率。
低级雷达数据是指未经过信号处理链的峰值检测和阈值处理步骤的雷达数据比如
距离多普勒RD距离-方位角-多普勒RAD它们已经历了信号处理阶段如信号放大、滤波等但未经过峰值检测和阈值设定
本文采用 ADC原始雷达数据作为模型的输入。看一下ADC原始雷达数据、RD数据的维度表示 补充一下
峰值检测和阈值设定是雷达信号处理的步骤
峰值检测这一步骤涉及到识别信号中的显著特征也就是反射信号中最强的部分。这些“峰值”通常代表了物体的位置。阈值设定为了过滤掉背景噪声或不重要的信号会设置一个阈值只有超过这个阈值的信号才会被认为是有效的。 4、信号处理模块 下面看一下“信号处理模块”的详细设计思路如下图所示 可学习的窗口操作作用主要是减少不连续性
在处理实际信号时我们通常只能获取信号的一个有限的时间段。在这个时间段的两端信号从有值突变到无值这种不连续可以在频域中产生不必要的影响比如频谱泄露。为了减少这种不连续性带来的影响可以通过乘以一个窗口函数。窗口函数通常在中间最大两端逐渐减小至零这样可以“柔化”信号的起始和结束部分使其平滑过渡至零。
窗口操作对离散傅里叶DFT的影响
频率分辨率加窗可以改善DFT的频率分辨率这是因为它减少了信号两端的突变对频谱的影响。没有加窗的信号在DFT后可能会在频谱中展现出多余的频率成分这些成分实际上并不是信号本身的一部分而是由于两端不连续性产生的。频谱泄露频谱泄露是指信号的能量从其真实的频率分布泄露到其他频率。窗口函数通过减少两端的不连续性有助于减少这种泄露使得频谱更加集中于信号的真实成分。信号的真实成分加窗口操作的目的是确保DFT分析更加集中于信号的真实成分而不是由于采样窗口造成的人为效应。
实现可学习信号处理模块的一个困难是 DFT 运算是在复杂域中。
为了避免在神经网络中使用复杂的运算将复杂的张量ADC 数组和 DFT 矩阵分成实部和虚部并分别执行乘法如下图所示。这些是标准运算可以很容易地 在 Pytorch 等典型深度学习框架中实现。 可学习窗口模块仅涉及一个参数向量并且将其与前向传递中的输入相乘。 这里的离散傅里叶DFT是使用带有扰动的DFT。这种方法涉及到对传统的离散傅里叶变换DFT矩阵的参数进行微小的随机扰动。 DFT矩阵的初始化在神经网络中如果一个线性层或全连接层代表一个DFT操作它的权重可以被初始化为DFT矩阵的值。这样做的直接目的是让网络能够在开始训练之前就拥有执行DFT的能力。引入扰动扰动指的是在这些初始权重上加入微小的随机变化。这可以通过将DFT矩阵与一个小的随机高斯噪声矩阵相加来实现噪声矩阵的每个元素都有一个非常小的方差γ。避免局部最小神经网络在训练过程中可能会陷入局部最小值尤其是当权重初始化过于接近一个有效解时。扰动可以帮助网络在训练过程中探索参数空间避免局部最优解。增强学习能力通过扰动网络能够在训练过程中自主学习到数据的特点并找到更适合数据的DFT表示而不是仅仅依赖于预设的、固定的DFT操作。 5、预训练
核心目的
为了构建一个神经网络它能从最基本的雷达信号ADC数据开始学习整个雷达信号处理的任务最终能够预测出RAD张量。这里的RAD张量包含了物体的距离、速度和角度信息这些信息是进行物体检测和场景理解的关键。
第一步生成RAD标签
利用离线的信号处理算法从ADC数据生成距离-方位角-多普勒RAD立方体。这一步骤实质上是在模拟传统的信号处理流程为后续的学习提供数据标签。在第一步中使用离线的信号处理算法处理ADC数据这个过程本质上是用来模拟雷达硬件通常会执行的任务但在一个离线环境中进行。 第二步监督学习
第二步是监督学习其中(ADC, RAD)对被用作输入和标签来训练一个可学习的信号处理模块和主干网络。这个过程是监督学习的核心其中网络被训练来预测与离线算法生成的RAD张量尽可能接近的输出。
预训练过程中的RAD预测
使用ADC作为输入可学习的信号处理模块和主干网络预测RAD张量。这些预测通过以下的损失函数进行监督其中Y_RAD代表生成的RAD张量而Ŷ_RAD代表神经网络的预测。 为了便于训练将RAD张量的形状从原始的512 × 751 × 256下采样到128 × 248 × 256。
预训练优势
方位估计的直接改进通过这种方式预训练网络网络学会了如何估算方位角。这种能力直接转化为改善了检测和分割任务的性能。网络不仅能识别物体还能更精确地定位物体在空间中的位置。数据标注的省略由于原始雷达数据通常对人类来说不可解释所以人工标注这类数据需要借助传感器融合技术来提供准确的3D标签。这个预训练过程省略了这一繁琐步骤因为它使用从雷达数据自动生成的标签。 6、微调多任务
在预训练ADCNet的信号处理模块和主干网络后继续进行多任务设置的微调。
多任务学习设置用于微调ADCNet骨干网络以同时执行目标检测和自由空间分割任务。这一过程涉及了特定的损失函数构建和超参数的设定。
目标检测和自由空间分割
ADCNet通过添加目标检测和分割头被微调以同时进行目标检测和自由空间分割。这意味着网络将学习从输入数据中提取用于两个不同任务的特征。 7、损失函数
目标检测分类损失
分类标签ycls表示在特征图上的真实分类标签其中1表示对象存在0表示不存在。ycls的形状为Nrange-bins × Nazimuth-bins。分类损失使用了focal()函数这是一种专门设计用来解决类别不平衡问题的损失函数。 目标检测回归损失
回归目标yreg代表了距离和方位的回归目标。网络预测一个距离值和一个方位值回归目标是距离和方位的余数与距离和方位格大小相关。回归损失使用平滑的L1损失也称为Huber损失这是一种旨在减少离群点影响的损失函数。
可行驶区域分割损失
分割标签yseg(r, a)表示在位置(r, a)的真实标签1代表对象存在0代表不存在。分割损失使用二元交叉熵损失BCE这是评估二元分类任务性能的常用损失函数。 整体损失函数
训练的总损失是目标检测损失和自由空间分割损失的组合其中β是一个超参数用于控制自由空间分割任务的权重。α和β是超参数用于平衡目标检测和自由空间分割两部分的权重。在实际训练过程中需要通过实验来调整这些参数以达到最佳的模型性能。 8、实验与效果
车辆检测任务作者在RADIal数据集进行测试其中
AP平均精度AR平均召回率RE检测到的物体的距离误差AE检测到的物体的方位角误差 测试集分为简单和困难子集以进行详细比较 可行驶区域任务在RADIal数据集进行测试。性能以mIOU来衡量值越高越好。 替换不同组件和训练方式实验比较
NPT无预训练表示的模型是不通过蒸馏使用预训练的模型ADC UNet是指主干网络由ResnetFPN替换为UNetConvert3d是指用它替换“信号处理模块” 效率比较对于吞吐量和内存测量批量大小为 20。 *所有测量均在 RTX 3090 上进行。 RAD 预测示例每个样本的相对绝对误差 (RAE) 的平均值和最大值。
从这些例子中可以看出经过预训练后网络能够以非常高的精度预测 RAD 张量。 看一下实际的检测效果 本文先介绍到这里后面会分享4D毫米波雷达的其它数据集、算法、代码、具体应用示例。 对于4D毫米波雷达的原理、对比、优势、行业现状可以参考我这篇博客。
对于4D毫米波雷达——RADIal数据集、格式、可视化 CVPR2022可以参考我这篇博客。
对于4D毫米波雷达——FFT-RadNet 目标检测与可行驶区域分割 CVPR2022可以参考博客。
分享完成本文只供大家参考与学习谢谢~