RadSimReal:实现快速模拟各种类型的雷达(Radar)在不同天气下的数据
Abstract
在雷达影像中的物体检测,借助神经网络展现了极大的潜力,能够提升自动驾驶。然而,从真实雷达图像中获取标注数据集以训练这些网络极具挑战性,特别是在长距离检测以及恶劣天气和光照条件下,雷达表现优越。为了应对这一挑战,我们推出了RadSimReal,一种创新的物理雷达模拟技术,能够生成各种雷达类型和环境条件下的合成雷达图像及其标注数据,无需收集真实数据。值得注意的是,我们的研究发现,使用RadSimReal数据训练的物体检测模型在真实数据上的表现与在同一数据集上用真实数据训练和测试的模型表现相当,甚至在跨数据集测试时表现更佳。相比其他物理雷达模拟方法,RadSimReal无需了解雷达设计细节(这些细节通常不公开),且运行速度更快。这一创新工具有望推动雷达为基础的自动驾驶应用中的计算机视觉算法的发展。
代码地址:yuvalhg.github.io/RadSimReal
欢迎加入自动驾驶实战群
Introduction
为减少雷达数据标注的负担,研究者利用生成对抗网络(GAN)生成与真实雷达数据相近的合成数据,用于深度神经网络(DNN)的训练。这种方法虽省去了标注,但仍需大量未标注的真实数据来训练GAN,这在不同雷达类型、安装条件和环境下的数据收集上构成挑战。
物理雷达模拟作为替代方案,无需真实数据,通过模拟雷达与环境的物理交互生成合成雷达图像。这一过程包括构建3D场景、信号射线追踪、雷达反射计算、信号生成及处理等步骤,能适应多种雷达传感器和环境条件。
然而,物理模拟受限于对雷达硬件参数和信号处理流程的详尽理解,以及高计算成本,特别是当生成大规模数据集时。尽管物理模拟的图像质量可与真实图像媲美,但使用这类数据训练的DNN在真实数据上的表现差异尚未充分评估,尤其是考虑到不同雷达类型间的领域迁移问题。
总之,虽然物理雷达模拟提供了一种无需真实数据的解决方案,但其实施复杂性和计算效率仍需进一步优化,且其对DNN性能的影响尚待深入研究。
1、物理仿真方法
图2展示了我们提出的物理仿真方法RadSimReal与传统物理仿真方法的对比框图。该框图包括三个主要组件。RadSimReal包括图2(a)和(c),而传统仿真方法则涉及图2(a)和(b)。图2(a)是环境仿真,这是两种方法中都包含的元素,与具体的雷达传感器无关。在此部分中,通过图形引擎生成一个3D场景;在我们的实现中,通过射频(RF)传播路径的光线追踪,从雷达到环境中的物体再返回雷达,获取场景中物体的密集反射点。接下来,利用物理公式确定这些点的RF反射率,考虑到表面材料、方向和与雷达的距离。在环境仿真之后,下一步是雷达仿真部分,负责将反射点的强度转换为雷达的输出图像。图2(c)展示了RadSimReal的雷达仿真框图,它与传统雷达仿真方法的图2(b)有所不同。
在图2(b)中展示的传统雷达仿真中,从场景中所有反射点获取雷达接收信号,该信号基于雷达的具体硬件设计细节。此外,接收到的信号中还引入了噪声。随后,将雷达信号处理算法应用于接收信号,生成雷达3D张量。该张量封装了雷达在距离、方位角和多普勒单元上的反射强度。值得注意的是,我们考虑的是仅有方位角而没有仰角的雷达,尽管仿真不局限于这种雷达,并且可以扩展到包括仰角。在图2(b)的最后一步,通过选择多普勒维度上的最大值,将3D张量转换为具有距离和方位角维度的图像。值得一提的是,仿真在输出整个雷达张量或使用各种技术将其转换为图像时具有灵活性,这取决于目标检测深度神经网络(DNN)的实现。
传统雷达仿真方法如图2(b)所示,需要深入理解雷达硬件设计及其相关的软件处理,以忠实地模拟特定雷达。这需要全面了解特定细节,如发射信号波形、天线阵列配置、采样率、波束形成算法等。然而,这提出了一个主要挑战,因为这些细节通常是专有的,雷达制造商不会公开。这一限制在图2(c)的RadSimReal中得到了解决,如下所述。
RadSimReal依赖于雷达的点扩散函数(PSF)。每个反射点在雷达张量中通过多维PSF显现,跨越距离、角度和多普勒维度,并以反射点的坐标为中心。图3(a)展示了一个雷达PSF在距离和角度上的二维切片示例,以25米距离和0°方位角为中心。PSF在角度域中表现出较宽的扩展,但在距离和多普勒域中则较窄,尽管图中未显示多普勒方面。这一特性源于雷达的粗糙角度分辨率和高距离与多普勒分辨率。需要注意的是,PSF的形状取决于具体的雷达硬件设计和信号处理算法[37]。幸运的是,可以通过窄物体(如柱子或专用角反射器)雷达张量获取PSF。
在图3(b)中,我们展示了通过图2(b)中的传统仿真生成的雷达图像。此图像显示了具有三个反射点的场景,没有噪声。在图3(c)中,我们展示了相同场景下传统仿真的结果,这次加入了噪声。图中的白点表示这些反射点的位置。值得注意的是,图像显示了以每个点为中心的雷达PSF的叠加。因此,通过反射点与PSF的卷积,可以获得相同的图像。由此,RadSimReal通过反射点与PSF的3D卷积生成雷达张量,然后加入噪声,如图2(c)所示。张量随后与图2(b)中的方法相似地转换为图像。尽管图2(c)和图2(b)中的仿真实现有所不同,但当应用完整PSF时,它们生成相同的雷达图像。关于这种等效性的详细数学解释,请参考补充材料。值得注意的是,PSF的能量在距离和多普勒域从中心点迅速衰减。为了减少仿真的计算复杂性,我们截断PSF以包含其99%的能量。这一截断将PSF的大小减少了超过1000倍,从而显著提高了仿真中卷积操作的运行时间。图3(d)展示了截断的PSF,包含了原始PSF(图3(a))的99%能量。通过与图3(b)中相同的三个反射点进行卷积,生成的雷达图像在图3(e)中展示,没有噪声,而图3(f)展示了加入噪声的情况。PSF截断部分的强度值非常低(约比PSF峰值低80 dB),显著低于噪声水平。因此,传统仿真生成的雷达图像(图3(c))与我们采用截断PSF的仿真(图3(f))之间的差异在实际上是不可察觉的。
虽然RadSimReal(图2(a)+(c))生成的雷达图像与传统仿真(图2(a)+(b))相似,但它相对于传统仿真具有两个显著优点。首先,它通过依赖于雷达PSF和噪声方差的简单雷达测量,消除了对深入雷达设计信息的需求,详细信息请参考补充材料。其次,它具有显著更快的运行时间。
1.1 仿真保真度评估
在本节中,我们评估了RadSimReal生成的合成图像与真实雷达图像之间的相似性。我们的评估首先比较了在相同场景下生成的合成雷达图像和真实雷达图像。创建一个能真实反映实际雷达测量场景的仿真场景是一个巨大的挑战。为了克服这一挑战,我们用高分辨率LIDAR传感器获取的点替代了图2(a)中CARLA仿真引擎生成的反射点。该LIDAR传感器与雷达位置接近,在与实际雷达测量相同的时间点从相同场景中获取了测量值。为了分配LIDAR点的RF反射强度,通过以下三个步骤获取LIDAR点的表面材料和方向:(1)将LIDAR点手动分割为车辆、柱子、标志、道路和建筑等对象类型。(2)根据对象类型分配每个点的表面材料。(3)使用从LIDAR点生成的多边形网格计算表面法向矢量的角度。仿真处理的其余步骤如图2(c)所述。
图4(c)展示了一个真实雷达图像,图4(d)展示了在相同场景下生成的合成雷达图像(如上所述)。图4(c)中使用的原型雷达具有3.9°方位角分辨率和0.28米的距离分辨率,图4(d)中模拟了相同的雷达。场景的相机图像展示在图4(a)中,不同对象类型的LIDAR点分割显示在图4(b)中。可以观察到,合成的和真实的反射强度图像具有高度的相似性,这表明仿真很好地模拟了真实雷达。
1.2. 计算效率
传统仿真与RadSimReal之间的复杂性比率对应于整个雷达张量体积与PSF(点扩散函数)体积之间的比率。我们的仿真截断了PSF,以保留其99%的能量,从而显著减少了其体积。这使得与传统雷达仿真相比,RadSimReal的复杂性降低了大约1000倍。关于计算复杂度的详细计算和运行时间测量的信息,请参见补充材料。
2. 仿真与真实域差距分析
在本节中,我们分析了使用RadSimReal数据训练的模型与使用真实数据训练的模型之间,在真实数据测试时的目标检测性能差距。为此分析,我们使用了三种不同的目标检测方法:“U-Net”、“RADDet”和“Probabilistic”。“U-Net”采用了中提出的U-Net,并额外添加了输入图像的笛卡尔坐标输入通道。我们使用了RADDet 、CARRADA和CRUW 数据集进行性能评估。这些数据集包含了使用TI雷达原型在不同场景中捕获的汽车雷达反射图像,提供了广泛的测试覆盖范围。RADDet和CARRADA数据集提供了物体的二维边界框注释,而CRUW数据集提供了物体中心点的注释,随后我们使用CFAR算法为其添加了边界框扩展。RADDet包含了15个密集的汽车场景图像,这些场景的天气状况较为理想;CARRADA则包括了30个不同物体密度和天气状况的场景图像,涵盖了如雪等挑战性的条件。在这两个数据集中,雷达安装在一个固定平台上。而在CRUW数据集中,雷达安装在车辆上,捕获了自车在运动(高速公路和城市街道)和静止(校园道路和停车场)时的雷达图像。
我们对RADDet数据集进行了数据集划分,确保训练集和测试集包含不同的场景,以避免数据集论文中提出的划分潜在的过拟合。我们的RADDet划分包括了8196张训练图像和1962张测试图像。对于CARRADA,训练集包括2208张图像,测试集包括276张图像。而对于CRUW,训练集包含9623张图像,测试集包含2226张图像。RadSimReal生成的合成数据集包含10000张训练图像,大小与RADDet和CRUW相当。仿真场景涉及一辆在城市街道上行驶的车辆雷达,包括静止和运动阶段。
我们使用三个独立的测试数据集(RADDet、CARRADA和CRUW)对上述三种目标检测模型进行了性能测试。这些模型分别使用四个不同的数据集进行了训练:RADDet训练集、CARRADA训练集、CRUW训练集或RadSimReal数据集。性能评估采用了平均精度(AP),针对类“车”的IOU阈值为0.1、0.3和0.5。AP通过精度-召回曲线下的面积计算得出。表1展示了AP结果,比较了在单个数据集上训练和测试的性能与使用RadSimReal训练并在不同数据集上测试的性能。表中还包括了RADDet和CARRADA之间的跨数据集评估,它们的主要区别在于场景的不同,而非雷达设置的差异。结果揭示了几个重要的见解。使用RadSimReal训练的三种模型在RADDet和CRUW测试集上的表现与使用相应RADDet或CRUW训练集训练时的表现非常接近。
总结:
本文的主要贡献如下:
- 首次分析表明,使用物理雷达仿真数据训练并在真实数据上测试的目标检测DNN,其性能与使用真实数据训练的模型相当(当训练集和测试集来自同一个真实数据集时),并且在训练集和测试集来自不同数据集时,其性能优于后者。这突出了物理仿真的优势,可以有效生成多样雷达配置的带注释训练数据,克服了生成式方法在收集真实数据方面的主要局限性。
- 提出了一种创新的物理雷达仿真技术,相比其他参考物理仿真方法,具有一个重要优势:不需要深入了解具体雷达实现细节(这些细节通常是未公开的),也不需要雷达领域的专业知识,并且运行时间显著更快。
- 提供了一个仿真工具,该工具能够有效生成带有真实信息的训练数据,并方便地支持各种雷达类型。
关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。