Sengupta A, Yoshizawa A, Cao S. Automatic Radar-Camera Dataset Generation for Sensor-Fusion Applications[J]. IEEE Robotics and Automation Letters (二区, IF:3.741), 2022.
Code : github.com/radar-lab/autolabelling_radar
本文提出了一种新的多传感器数据集生成方法,利用基于YOLOv3的高精度目标检测从相机自动标记点云数据从一个共同校准的雷达传感器,以生成标记的雷达图像和雷达数据集。
典型的基于传感器融合的目标识别方案包括4个阶段,即 (i)数据采集和预处理,(ii)传感器之间的协同校准和关联,(iii)传感器融合特征表示(SFFR),然后是(iv)分类网络,如图1所示。
使用张氏标定程序获取摄像机的内参数。使用一个边缘尺寸为22.14 mm的9 × 6棋盘格图案作为校准板,并使用张氏方法的两个软件实现,即MA TLAB的相机校准工具箱和ROS相机校准器,来估计USB-8MP相机模块的内在参数(包括径向和切向失真参数),该模块被放置在一个使用3-D打印框架安装的静态三脚架上,离地面1米高。
数据收集设置:(a)运行Ubuntu 18和ROS Melodic的NVidia Jetson Xavier使用UART通过USB集线器从相机-雷达系统捕获数据;(b)两个雷达安装在3-D打印线性轨道上,使用M3螺栓固定,间隔23厘米;©将两个雷达的数据投影到图象上进行数据关联。YOLO输出的包围盒内的雷达投影决定了共校准精度。
雷达和相机的数据是通过ROS管道获取的,主要有三个包,分别是(i) mmWave_radar;(2) usb_webcam;和(3)darknet_ros。
mmWave_radar包将配置加载到雷达上,缓冲来自雷达的处理过的数据,并将其发布界面显示。
usb_webcam包从相机(30fps)读取原始图像,并使用估计的相机内部参数来纠正和不扭曲的图像,发布为压缩消息,也伴随着时间戳头。
darknet_ros包使用OpenCV桥来订阅修正后的图像,并将其归入YOLO分类网络,该网络通过消息输出图像中物体的边界盒和类别,以及图像采集和预测时间戳。
第一个数据集由给定帧中相同物体的标记雷达图像对组成,覆盖所有N帧。
首先利用参数将雷达点集合起来形成帧级雷达PCL数据。然后,利用第III-A节估计的Radar-to-Camera变换矩阵T M,将星团的三维质心投影到场景对应的相机图像上。然后确定相应的YOLO边界框和类。然后将YOLO质心和投影的雷达簇质心的像素指数进行匈牙利算法帧内雷达-图像关联。
对于每个相关的YOLO聚类对(i),边框内的图像区域被裁剪和重塑为64 × 64 × 3 png文件(CropImg),和(ii)雷达聚类中所有点的X、Y、Z、多普勒和信噪比,以Numpy阵列保存到磁盘,以YOLO类为标签。通过图3中的示例描述了上述中间步骤。生成数据集的步骤在算法1中给出。
第二数据集由雷达数据的标记连续帧组成,以帮助旨在仅使用雷达数据识别目标的类别的应用程序。
如图4所示。就像之前的情况一样,雷达点首先被组合起来以产生帧级3-D雷达PCL数据。在每一帧进行DBSCAN,从不同的目标分离PCL簇。在每一帧(i > 1),使用匈牙利算法进行帧间聚类-聚类关联,几乎以一种伪跟踪的方式,比较和分配来自前一帧的3-D聚类质心。每一个图3。首先使用DBSCAN将每帧中的雷达PCL分离成簇。然后利用匈牙利赋值法将投影的聚类质心与并行获得的YOLO包围盒质心关联起来。图4所示,较差的照明导致相机辅助YOLO在连续10帧中有8帧没有检测到行人,而雷达可以连续检测到目标。当一个质心第一次被检测到时,一个唯一的航迹ID被分配给它,并且在接下来的帧中任何后续的相关集群都被附加到相同的航迹ID。与此同时,另一个匈牙利算法模块检查一个投影的簇质心是否可以与给定帧内任何可用的YOLO预测相关联。如果YOLO分配是可能的,轨迹ID将在该框架中使用相关的YOLO类信息进行标记。请注意,一个航迹ID可以有雷达探测,例如N个连续帧,其中只有M < N帧可以有相关的基于YOLO的标签。这里的想法是,如果一个物体被雷达连续跟踪了几帧,并且在跟踪期间的任何时候都被图像辅助YOLO识别,那么该跟踪中的整个雷达数据都可以被标记为特定的YOLO类。然而,为了使标记更加可靠,我们在所有帧中使用与给定曲目ID相关联的所有YOLO预测的统计模式(),并将最频繁预测的类分配给一个曲目作为最终标签。然后提取3个连续的帧,从1- 3,2 -4,3-5滑动,生成数据集。到(N-2)-N帧,从每个磁道ID标记为模式(YOLO类),并保存到磁盘Numpy阵列。请注意,<3帧的对象/轨迹id和/或在整个过程中只有一个YOLO预测的轨迹id都被排除在这个数据集之外。生成数据集的步骤在算法2中给出。
本研究使用的数据集是使用第三- c节概述的方法生成的。数据集包括10838,2860,13和31雷达图像对V车辆,行人,自行车和摩托车,分别。由于Bicyclists和Motorbikes的类别不平衡,且数据不足,所以我们只使用了V vehicle和Pedestrian数据进行分类任务。此外,为了确保两个类之间的类大小平衡,我们从V车辆类中随机抽样2680个数据点。首先,雷达空间PCL数据,以及多普勒和信噪比的分在一个集群中被用来生成一个12维雷达特征向量,的谎言)在每一个三维的空间差异,b)空间协方差之间的三维双,c) V变异在径向距离,d)多普勒的均值和方差,和e)的意思是,方差和总和的雷达截面(RCS)计算使用信噪比作为RCS = 1 0 l o g R4 +信噪比,在dBsm表示。每个数据点的相关图像大小固定为64 × 64 × 3。神经网络接受两种输入:一张64 × 64 × 3的图像;以及1×12雷达特征向量。经过几个阶段的初始特征转换后,使用i) CNN+Pooling对图像;和ii)雷达特征向量上的全连接密集层,将输出进行级联,形成传感器融合特征表示(SFFR)。然后,该SFFR进行进一步的特征转换,直至分类层,如图5所示。
数据集被打乱并拆分为80%-5%-15%的训练、验证和测试数据。利用Adam优化器对模型进行训练,目标是最小化稀疏分类交叉熵。基于SFFR的方法对车辆类别的测试准确率为95%,对行人类别的测试准确率为99%。我们还探索了SFFR相对于单个传感器数据的优势。我们使用相同的训练和测试数据来评估三个模型,即(i)如上所述基于SFFR的分类网络,(ii)直接使用Global Max-Pool输出进行进一步特征变换(即不连接雷达特征向量变换)的仅图像分类网络,(iii)仅雷达分类网络,直接使用初步变换输出进行进一步的特征变换(即不拼接图像数据变换)。
我们使用基于LSTM的分类网络(图7(a)),在连续3帧上连续提取1 × 12的特征向量,并利用时间特性进行特征变换。同样,由于类别不平衡,我们在本研究中使用了相同数量的V车辆和行人类别的数据点。仅利用雷达数据(3帧连续),LSTM模型对车辆和行人进行分类的测试精度为≈92%。此外,我们还探索了基于1-D CNN的架构(图7(b)),这是时间数据网络中另一种流行的选择,与基于LSTM的方法相比,精度进一步提高了约1.5%。这里需要注意的另一个现象是,使用多个雷达帧似乎比上一节中只使用一帧雷达分类器提供了更高的分类精度。
ROC曲线及AUC评分如图8所示。
们使用了两个样本神经网络来证明数据集的有效性,以及使用传感器融合方法比单一传感器模式的优势(表2)。数据收集期间的一个主要挑战是流量模式的不同性质,这反映在所收集数据的类别不平衡。