RadarScenes数据集:毫米波雷达感知算法研究的专业起点

发布时间:2026/8/2 12:55:53

RadarScenes数据集:毫米波雷达感知算法研究的专业起点 1. 引言为什么我们需要RadarScenes这样的雷达数据集在自动驾驶和机器人感知领域激光雷达LiDAR和摄像头Camera的数据集比如大名鼎鼎的KITTI、nuScenes、Waymo Open Dataset几乎占据了所有研究者的视野。这些数据集提供了丰富的点云和图像信息推动了基于视觉和激光雷达的感知算法飞速发展。然而作为一名在自动驾驶感知模块摸爬滚打多年的工程师我越来越深刻地感受到一个“偏科”的问题我们过于依赖光学传感器了。激光雷达在恶劣天气如大雾、暴雨、大雪下性能会急剧下降摄像头在夜间或强光逆光条件下基本“失明”。而毫米波雷达Radar这个在汽车上已经量产装车几十年的传感器却长期处于感知算法的“二等公民”地位。究其原因除了雷达点云本身稀疏、噪声大、高度信息模糊等技术挑战外一个核心的瓶颈就是缺乏高质量、大规模、精细标注的公开雷达数据集。没有好的“教材”算法模型自然学不好。这就是RadarScenes数据集出现的背景和它的核心价值。它不是一个简单的雷达点云采集记录而是一个专门为基于雷达的机器学习研究设计的数据集。它首次系统性地提供了密集城区场景下的高质量4D雷达具备距离、方位角、俯仰角和多普勒速度信息点云并对动态和静态物体进行了精细的语义和实例级标注。简单来说如果你想研究“如何让雷达像激光雷达一样识别物体”、“如何用雷达做稳健的跟踪和预测”或者“如何做雷达与相机/激光雷达的融合”RadarScenes是你目前能公开找到的、最接近工业级需求的研究起点。2. RadarScenes数据集核心档案与获取指南在深入技术细节前我们先把这个数据集的“户口本”搞清楚这能帮你快速判断它是否适合你的项目。2.1 数据集基本信息概览RadarScenes数据集由瑞典的哥德堡查尔姆斯理工大学Chalmers University of Technology的研究团队于2021年发布。它旨在填补雷达感知领域公开数据集的空白。传感器配置数据采集车顶部安装了一颗大陆集团Continental的ARS408-21毫米波雷达。这是一款标准的车规级前向远程雷达但数据集作者对其进行了改造使其能够以更高的分辨率特别是方位角分辨率进行数据采集。它提供的是4D雷达点云每个点包含x, y, z笛卡尔坐标系下的位置以雷达为原点。v_comp径向速度沿雷达波束方向的速度分量。rcs雷达散射截面积可以粗略理解为目标的“反射强度”或“大小”。timestamp时间戳。数据规模时长约4小时的真实道路驾驶数据。序列被划分为158个独立的序列sequence每个序列长度从几秒到几分钟不等。雷达帧总共包含超过4万个雷达帧。标注实例包含了超过48万个标注的物体实例涵盖了车辆、行人、自行车等关键交通参与者。场景特点数据采集于瑞典哥德堡的城区包含了丰富的驾驶场景居民区街道、城市道路、环岛、停车场等。涵盖了白天、夜晚、干燥和潮湿路面等多种条件但不包含极端恶劣天气如暴雨、暴雪。标注信息这是RadarScenes的精华所在。每一帧雷达数据都提供了语义标签每个雷达点都被标注为17个类别之一例如car,pedestrian,bicyclist,group_of_pedestrians,static_object等。实例标签不仅知道这个点是“车”还能知道它是“哪一辆车”。同一物体的所有点共享一个唯一的instance_id。这对于目标跟踪、实例分割等任务至关重要。动态属性标注了物体是动态moving还是静态stationary。2.2 如何下载与初步探索数据集官方页面在GitHub上搜索RadarScenes即可找到。下载需要同意一份数据使用协议。数据集以序列为单位打包你可以选择下载全部或部分序列。下载解压后目录结构通常如下RadarScenes/ ├── seq1/ │ ├── radar_data/ # 存放每一帧的雷达点云文件.npy或.csv格式 │ ├── labels/ # 存放对应帧的标注文件 │ └── calibration.json # 传感器标定参数这个数据集没有相机所以主要是雷达自身参数 ├── seq2/ ├── ... └── documentation.pdf # 详细的数据格式说明文档第一步实操建议用Python快速可视化一帧数据。拿到数据后最直观的方式就是把它画出来。这里给出一个最简化的示例代码使用matplotlibimport numpy as np import matplotlib.pyplot as plt # 1. 加载一帧雷达数据 (假设是.npy格式) radar_data np.load(seq1/radar_data/0000.npy) # 假设第一帧 # 数据列通常为[x, y, z, v_comp, rcs, time, id, label_id, ...] # 2. 加载对应标注 labels np.load(seq1/labels/0000.npy) # 包含 label_id, instance_id, moving 等信息 # 3. 简单绘图在鸟瞰图BEV下查看 plt.figure(figsize(10, 10)) # 绘制所有点用颜色表示语义类别这里用label_id粗略表示 scatter plt.scatter(radar_data[x], radar_data[y], clabels[label_id], s1, cmaptab20c) plt.xlabel(X (m)) plt.ylabel(Y (m)) plt.title(RadarScenes Sample Frame - BEV View) plt.axis(equal) # 保证x和y轴比例相同 plt.grid(True) plt.colorbar(scatter, labelLabel ID) plt.show()运行这段代码你就能看到一幅稀疏的、彩色的点云图。你会发现相比激光雷达数万甚至数十万的稠密点云雷达点云要稀疏得多一帧可能只有几百到几千个点而且点主要集中在物体的边缘和强反射部位。这就是雷达数据的“原生样貌”也是所有算法需要面对的挑战。注意官方提供了更完善的Python开发工具包radar_scenesSDK里面包含了数据读取、解析、可视化的类强烈建议使用这个SDK而不是从头解析原始文件它能帮你正确处理时间戳、坐标系转换等繁琐问题。3. 深入解析RadarScenes数据集的独特性与挑战RadarScenes之所以重要是因为它不仅仅提供了数据更揭示了基于雷达的感知研究的核心挑战和可能性。我们可以从以下几个维度来理解它。3.1 4D信息超越位置的感知维度传统的雷达或早期的雷达数据集可能只提供距离和方位角2D。RadarScenes提供的4D信息是质的飞跃距离与方位角x, y定位基础。俯仰角z虽然毫米波雷达的俯仰角分辨率通常很差ARS408-21的俯仰角波束宽度很大导致z坐标非常不准确但RadarScenes通过多帧积累和地面滤波提供了经过高度修正的z值。这对于区分地面杂波如井盖、减速带和真实物体如车辆至关重要。在算法中我们通常不会完全信任单点的z值但会利用“大部分点的高度分布”来滤除地面。多普勒速度v_comp这是雷达的“杀手锏”信息。每个点都带有其沿雷达径向的速度。这意味着算法可以直接“看到”物体的运动状态而无需像视觉或激光雷达那样通过多帧关联来估计速度。这对于快速区分静止和运动物体、预测轨迹有巨大优势。例如一个静止的栏杆和一辆静止的汽车在点云形态上可能难以区分但栏杆的多普勒速度理论上应为0相对于雷达而汽车如果内部有发动机振动等微动可能会产生非零的微多普勒特征虽然在这个数据集的v_comp中不一定能直接体现。3.2 精细标注为监督学习铺平道路数据标注的质量决定了监督学习的天花板。RadarScenes的标注有两大亮点实例级标注这是进行目标检测、跟踪、实例分割等任务的基础。标注不是按框进行的而是点级别的。这意味着同一个instance_id下的所有点属于同一个物理实体。这比提供3D边界框标注更适合雷达点云因为雷达点云太稀疏一个物体可能只有寥寥数个点拟合一个准确的3D框非常困难且噪声大。点级别的实例标签让模型可以直接学习点与点之间的归属关系。语义与动态属性结合label_id告诉你它是什么moving标签告诉你它动不动。这为研究行为预测、场景理解提供了便利。例如你可以很容易地构建一个分类任务不仅识别物体类别还判断其运动状态。然而挑战也随之而来标注一致性雷达点云闪烁、时有时无。一个物体在不同帧的点数可能变化很大如何保证instance_id在时间上的连续性即跟踪的一致性是个难题。数据集的标注在大部分情况下做得很好但在物体被遮挡或点云非常稀疏时仍可能出现ID跳变这在算法评估时需要小心处理。静态物体标注像电线杆、交通标志、建筑物角落等静态物体也被标注了。这些物体对建图、定位很有用但对于以动态障碍物感知为核心的自动驾驶任务它们有时会成为干扰项。算法需要有能力区分“需要避让的动态物体”和“作为环境背景的静态物体”。3.3 与主流数据集的对比找准RadarScenes的定位为了更清晰地看到RadarScenes的价值我们将其与几个主流数据集进行对比特性RadarScenesKITTI (雷达部分)nuScenesWaymo Open Dataset主要传感器高分辨率4D雷达低分辨率雷达LiDARCam雷达LiDARCam雷达LiDARCam雷达数据质量高专门采集低附带产物质量差中5帧雷达但未充分标注中多雷达标注较好标注重点雷达点云语义/实例激光雷达3D框激光雷达3D框激光雷达/相机2D3D框核心用途纯雷达感知算法研究激光雷达/视觉感知多传感器融合感知大规模自动驾驶系统数据规模中等4小时小大330小时非常大570小时独特优势雷达专属、实例标注、4D信息经典、基准完善多模态、时序连贯规模极大、场景丰富从这个对比可以看出RadarScenes是“雷达感知”领域的专业数据集。如果你主要研究激光雷达或相机nuScenes和Waymo是更好的选择。但如果你想深入挖掘雷达本身的潜力比如设计一个仅用雷达就能实现可靠目标检测和跟踪的模型RadarScenes几乎是唯一的选择。它剥离了其他传感器的“辅助”迫使算法直面雷达数据的所有特性和缺陷。4. 基于RadarScenes的典型研究任务与算法思路有了数据我们能用它来做什么以下是几个最主流的研究方向以及对应的算法设计思路和实操中会遇到的问题。4.1 任务一雷达点云语义分割与实例分割这是最直接的应用为每一个雷达点打上“是什么”以及“属于哪个物体”的标签。算法思路基于点的网络直接处理点云如PointNet。但由于雷达点云极度稀疏且无序直接套用为稠密激光雷达设计的模型可能效果不佳。基于体素Voxel的网络将点云空间划分为规则的3D网格体素然后使用3D卷积神经网络CNN处理如VoxelNet。挑战在于雷达点云在垂直方向z轴上分布非常薄大部分信息集中在近地面平面3D体素会非常稀疏计算效率低。基于鸟瞰图BEV投影的网络这是目前最主流且有效的方法。将3D点云投影到2D的鸟瞰图平面上形成一张“特征图”。每个像素位置可能包含多个点的特征如高度、强度、速度等可以通过PointPillar等方法进行特征编码。然后使用成熟的2D CNN如U-Net, ResNet进行分割。这种方法充分利用了雷达点云在平面分布的特性计算效率高。实操心得与坑点高度编码在BEV投影时不要简单丢弃z坐标。可以将一个BEV网格pillar内所有点的高度值统计起来如最大、最小、均值、标准差作为通道特征输入网络这对区分车辆、行人和地面杂波非常有效。速度特征的使用多普勒速度v_comp是极强的运动线索。可以将速度值作为BEV图像的一个独立通道。但要注意速度有正负朝向/背离雷达且对于静止物体其速度应是0但测量噪声可能导致非零。一种技巧是对速度取绝对值或平方来突出运动物体但会丢失方向信息。更精细的做法是保留原始速度值让网络自己去学习。类别不平衡数据中car的点数远多于pedestrian或bicyclist。需要使用加权交叉熵损失Focal Loss等或对少数类别进行数据增强如对行人点云进行随机平移复制。实例分割的后处理网络通常输出每个点的语义标签和实例嵌入向量embedding。需要通过聚类算法如DBSCAN将具有相似嵌入向量的点聚合成实例。这里最大的坑是聚类参数的选择。雷达点云密度变化大车辆点密集行人点稀疏。固定参数的DBSCAN可能对行人失效聚成一类或拆成多个。需要设计自适应的聚类策略或者使用学习型的聚类头。4.2 任务二基于雷达的目标检测与跟踪这是自动驾驶感知的核心任务输出每一帧中动态物体的位置、大小、朝向、速度和类别3D框并在时间上关联它们。算法思路检测同样BEV投影2D目标检测网络如YOLO, Faster R-CNN, CenterPoint是主流。在BEV图上目标检测变成了2D检测问题。网络需要预测物体的中心、长宽、朝向yaw。由于雷达点云稀疏预测3D高度非常不准通常使用数据集统计的先验高度如轿车1.5米行人1.7米或作为一个回归目标。跟踪多目标跟踪MOT通常采用“检测-跟踪”范式。使用卡尔曼滤波KF或更先进的基于运动模型的方法来预测下一帧目标的位置然后使用匈牙利算法等将当前帧的检测与已有的轨迹进行关联。雷达的独特优势在于检测框可以直接提供径向速度观测值这极大地简化了运动模型和状态更新。实操心得与坑点框的拟合从稀疏的实例点云拟合一个3D框非常不稳定。几个点位置的微小变化可能导致框的朝向剧烈变化。实践中很多工作只预测2D框BEV下的矩形和朝向高度另算。或者不预测框转而预测物体的“关键点”或“中心点”结合类别先验尺寸。跟踪关联的度量关联时除了使用位置距离如IoU中心点距离一定要加入速度信息计算两个目标在速度空间上的相似度可以极大地提高关联准确性尤其是在交叉路口、目标密集的场景下。一个向东行驶的车和一个向北行驶的车即使位置接近速度方向也截然不同。静止目标的跟踪对于moving标签为False的静止车辆如停靠路边的车它们的多普勒速度接近0与背景静态物体如栏杆在运动特征上没有区别。跟踪器需要依靠外观特征点云分布、RCS或地图先验来维持对这些目标的跟踪防止其丢失或误删。新生目标的确认雷达存在大量虚警噪声点聚集成类似物体的形状。直接对每一帧的检测结果进行跟踪会导致轨迹频繁“闪烁”。需要一个“新生目标确认”机制例如要求一个潜在目标在连续N帧如3帧内都被检测到才初始化为一条新轨迹。4.3 任务三跨模态学习与传感器融合虽然RadarScenes本身没有相机图像但它的高质量雷达标注为“雷达引导的视觉学习”或“仿真雷达数据生成”提供了可能。雷达引导的视觉学习在拥有雷达和相机的系统中可以用RadarScenes上训练的雷达感知模型为图像数据生成“伪标签”。例如用雷达检测和跟踪结果投影到图像上作为视觉检测器的弱监督信号。这在标注成本高昂的图像数据上非常有用。仿真雷达数据生成利用CARLA、AirSim等仿真引擎可以生成逼真的相机和激光雷达数据。但仿真雷达一直是个难点。RadarScenes提供了真实雷达数据与场景物体类别、位置、运动的对应关系可以用来校准和验证雷达仿真模型。通过比较仿真生成的雷达点云与RadarScenes中类似场景的真实点云可以不断优化仿真器的雷达物理模型使其更接近现实。实操中的挑战跨模态的核心是标定和对齐。虽然RadarScenes没有相机但如果你有自己的多传感器数据想借鉴其雷达处理思路那么传感器之间的时空同步、坐标系标定就是第一步也是最容易出错的一步。雷达数据频率通常10-20Hz与相机通常30Hz不同需要进行时间插值。雷达坐标系到相机坐标系的变换必须极其精确否则融合就是空中楼阁。5. 实战指南从零开始构建一个RadarScenes基线模型理论说了这么多我们来点实际的。假设你要用RadarScenes做一个雷达点云的车辆检测任务一个最简化的技术路线是怎样的这里我分享一个基于BEV投影和CNN的基线方案并附上关键代码片段和避坑指南。5.1 步骤一数据预处理与BEV图像生成这是最重要的一步决定了模型能看到什么样的“画面”。定义BEV网格确定感知范围。例如我们关心雷达前方80米左右各40米的范围。将这个区域划分为0.1米x0.1米的网格。那么BEV图像的大小就是800x800像素80/0.1800 80/0.1800。点云过滤移除高度过高可能是飞鸟、信号噪声或过低的点地面反射。通常保留z在[-2, 2]米范围内的点。特征编码对于落入同一个网格的所有雷达点我们计算一组统计特征作为该网格像素的通道值。一个经典的5通道编码可以是Channel 0: 该网格内点的最大高度max_z。Channel 1: 该网格内点的平均高度mean_z。Channel 2: 该网格内点的密度点数 / 最大可能点数这里用log(1点数)近似。Channel 3: 该网格内点的平均雷达散射截面积mean_rcs。Channel 4: 该网格内点的平均径向速度绝对值mean_abs_v_comp。使用绝对值可以突出运动物体无论朝向。import numpy as np def point_cloud_to_bev(points, bev_range, voxel_size): 将雷达点云转换为BEV图像。 points: N x 6数组列序为 [x, y, z, v_comp, rcs, label] bev_range: [x_min, x_max, y_min, y_max, z_min, z_max] voxel_size: 网格大小如0.1 x_min, x_max, y_min, y_max, z_min, z_max bev_range # 1. 过滤点云范围 mask (points[:, 0] x_min) (points[:, 0] x_max) \ (points[:, 1] y_min) (points[:, 1] y_max) \ (points[:, 2] z_min) (points[:, 2] z_max) filtered_points points[mask] # 2. 计算每个点所在的网格索引 x_idx ((filtered_points[:, 0] - x_min) / voxel_size).astype(np.int32) y_idx ((filtered_points[:, 1] - y_min) / voxel_size).astype(np.int32) # 确保索引在图像范围内 H int((y_max - y_min) / voxel_size) W int((x_max - x_min) / voxel_size) x_idx np.clip(x_idx, 0, W-1) y_idx np.clip(y_idx, 0, H-1) # 3. 初始化BEV图像 (5个通道) bev_image np.zeros((H, W, 5), dtypenp.float32) # 4. 为每个网格计算特征这里使用循环实际应用可用向量化加速 # 创建一个字典来存储每个网格内的点索引列表 from collections import defaultdict voxel_map defaultdict(list) for i, (x, y) in enumerate(zip(x_idx, y_idx)): voxel_map[(y, x)].append(i) # 注意图像坐标是(y, x) for (y, x), indices in voxel_map.items(): pts_in_voxel filtered_points[indices] if len(pts_in_voxel) 0: # 通道0: 最大高度 bev_image[y, x, 0] np.max(pts_in_voxel[:, 2]) # 通道1: 平均高度 bev_image[y, x, 1] np.mean(pts_in_voxel[:, 2]) # 通道2: 对数密度 bev_image[y, x, 2] np.log(1 len(pts_in_voxel)) # 通道3: 平均RCS bev_image[y, x, 3] np.mean(pts_in_voxel[:, 4]) # 通道4: 平均速度绝对值 bev_image[y, x, 4] np.mean(np.abs(pts_in_voxel[:, 3])) return bev_image注意上述循环方法在点数多时较慢。生产环境应使用NumPy的bincount或scipy.ndimage的labeled_comprehension进行向量化操作这里为了清晰展示逻辑使用了循环。5.2 步骤二构建检测模型与训练标签生成我们使用一个简单的2D CNN检测头比如在ResNet骨干网络后接一个检测头。模型选择可以使用轻量化的U-Net进行语义分割每个像素预测是否有目标或者使用更标准的单阶段检测器如RetinaNet、FCOS。为了简单我们可以先做“中心点检测”即让网络预测一个热力图heatmap峰值处就是目标的中心。标签生成对于每一帧根据标注的instance_id计算每个动态车辆实例的点云中心取所有点的x, y平均值。将这个中心点投影到我们定义的BEV网格上。以该网格为中心创建一个2D高斯核“涂抹”在热力图标签上。这就是监督信号。def generate_heatmap_label(instance_centers, bev_shape, sigma2): 根据目标中心点生成热力图标签。 instance_centers: list of (x, y) 目标中心坐标在BEV坐标系下。 bev_shape: (H, W) sigma: 高斯核标准差 H, W bev_shape heatmap np.zeros((H, W), dtypenp.float32) for center in instance_centers: x, y center # 将连续坐标转换为网格索引 x_idx int((x - x_min) / voxel_size) y_idx int((y - y_min) / voxel_size) if 0 x_idx W and 0 y_idx H: # 创建一个以(y_idx, x_idx)为中心的高斯分布 # 这里简化处理实际应在局部网格应用高斯核 # 可以使用cv2或scipy的gaussian_filter来高效生成 heatmap[y_idx, x_idx] 1.0 # 简化版先置为1 # 实际应用中需要对heatmap进行高斯模糊 # from scipy.ndimage import gaussian_filter # heatmap gaussian_filter(heatmap, sigmasigma) # 并确保重叠区域取最大值 return heatmap5.3 步骤三训练、评估与可视化训练使用均方误差MSE或Focal Loss用于处理正负样本不平衡作为损失函数优化网络参数。输入是5通道BEV图像输出是单通道热力图。后处理推理时对网络输出的热力图应用阈值如0.5和非极大值抑制NMS得到最终的目标中心点预测。评估使用目标检测的标准指标如平均精度AP。需要将预测的中心点与真实中心点进行匹配例如距离在1米以内视为正确匹配。可视化这是调试的关键。将BEV图像、预测的热力图、预测的中心点、真实标注的中心点画在同一张图上直观地看模型学到了什么在哪里出错。def visualize_detection(bev_image, pred_heatmap, pred_centers, gt_centers): fig, axes plt.subplots(1, 3, figsize(15,5)) # 子图1: BEV图像例如显示高度通道 axes[0].imshow(bev_image[:, :, 0], cmaphot, originlower) # max height axes[0].set_title(BEV - Max Height) # 子图2: 预测热力图 axes[1].imshow(pred_heatmap, cmaphot, originlower) axes[1].set_title(Predicted Heatmap) # 子图3: 叠加结果 axes[2].imshow(bev_image[:, :, 2], cmapgray, originlower) # density axes[2].scatter([c[0] for c in pred_centers], [c[1] for c in pred_centers], cred, s20, markerx, labelPred) axes[2].scatter([c[0] for c in gt_centers], [c[1] for c in gt_centers], cgreen, s30, markero, facecolorsnone, labelGT) axes[2].legend() axes[2].set_title(Detections on BEV) plt.show()避坑指南数据泄露务必按序列划分训练集、验证集和测试集。不能随机打乱所有帧因为相邻帧高度相关随机打乱会导致信息泄露使评估结果虚高。通常按序列ID划分例如前70%的序列用于训练中间15%用于验证最后15%用于测试。类别不平衡行人、自行车等小目标数量远少于车辆。如果你的任务包含多类别必须处理类别不平衡问题否则模型会完全偏向车辆。速度特征的归一化v_comp的范围可能从负到正例如-30 m/s 到 30 m/s。在输入网络前需要对其进行归一化比如缩放到[-1, 1]区间。真实场景的泛化性在RadarScenes上训练好的模型直接用到其他雷达如不同型号、不同安装位置上性能可能会显著下降。这是因为不同雷达的噪声特性、分辨率、探测模式可能不同。工业应用中需要进行领域适配Domain Adaptation。6. 总结与展望RadarScenes的局限性与未来方向经过上面的深入探讨我们可以看到RadarScenes是一个里程碑式的数据集它极大地推动了纯雷达感知的研究。但它也并非完美了解其局限性有助于我们更好地使用它并看清未来的方向。主要局限性单一传感器只有雷达没有同步的相机或激光雷达真值。这使得我们无法进行严格的跨模态融合算法评估也无法获得像素级或稠密点云级的真值来验证雷达感知的几何精度。单一雷达型号所有数据来自同一款 albeit 改造过的雷达。算法在不同型号、不同配置如角雷达、前向雷达、4D成像雷达雷达上的泛化能力无法评估。标注噪声尽管标注质量很高但雷达点云的固有噪声虚警、漏检、闪烁会导致标注边界模糊。例如一个物体边缘的点可能时而被标注为物体时而被标注为背景。场景多样性有限虽然包含城区多种路况但缺乏高速公路、乡村道路、以及真正的极端天气浓雾、暴雨、大雪数据。而后者正是雷达发挥优势的关键场景。未来的方向与建议多雷达数据集业界迫切需要包含多种类型雷达传统雷达、4D成像雷达、角雷达且与相机、激光雷达同步标注的数据集。这样的数据集才能支撑起下一代真正鲁棒的多传感器融合系统。时序与预测任务RadarScenes提供了连续帧数据非常适合用于时序建模和轨迹预测研究。可以设计递归神经网络RNN、Transformer等模型利用历史多帧雷达BEV图或点云序列来预测未来时刻目标的轨迹。无监督/自监督学习雷达数据标注成本高。利用点云的自相似性、时序一致性、多普勒速度一致性等特性设计无监督或自监督的预训练任务从海量无标注雷达数据中学习表征再迁移到RadarScenes上进行微调是一个很有潜力的方向。仿真到真实Sim2Real利用RadarScenes验证和提升雷达仿真器的真实性。一旦仿真器足够逼真就可以生成无限多样化的、带完美标注的雷达数据用于训练更强大的模型。从我个人的使用经验来看RadarScenes是进入雷达感知领域的一张绝佳“门票”。它迫使你放下对稠密点云和清晰图像的依赖去思考如何从稀疏、嘈杂、但蕴含独特运动信息的信号中提取可靠的环境认知。处理它的过程就是一个不断与传感器物理特性、信号处理本质和现实世界不确定性对话的过程。当你用一个模型在RadarScenes上取得了不错的性能时那种成就感与在图像数据集上刷高几个点是完全不同的因为你真正在攻克一个自动驾驶量产落地中的硬核难题。

相关新闻