万字分析汽车毫米波雷达点云技术( 三 )


 
车辆B 配备了八个雷达传感器 , 其规格与车辆A 的传感器相同 。这八个传感器安装在汽车的四个角上以及汽车的左前 , 右前 , 后左和右后侧 。
 
车辆A(B)的数据集包含了超过4.5小时(6.5分钟)的驾驶测量 , 也就是说 , 收集了超过1亿(500万)的雷达反射 , 其中300万(100 000)属于6200(191)个不同的移动物体 。所有属于同一物体的反射都被手动分组 , 并使用以下类别中的标签进行注释:汽车、卡车、行人、行人组、自行车和静态 。表格 I 中显示了六个类别的反射分布 与我们以前的工作不同的是 , 杂点没有被作为一个额外的类别来研究 , 而是被视为静态 , 因为在这项工作中 , 我们的目标是仅从原始点云中检测和分类真实的动态物体 。我们以前的分类器不得不处理并非来自真实物体的聚类和特征向量 , 因此有必要对垃圾类和真实物体进行区分 。这些错误创建的聚类和特征向量是由不完善的预处理步骤造成的 , 我们在此尝试避免这些步骤 。
表 I 六个类别的雷达反射分布
 

万字分析汽车毫米波雷达点云技术

文章插图
 
C.     训练和测试在我们进行实际训练之前 , 必须修复超参数 。必须确定MSG模块的数量、样本点Nsample的数量、每个MSG模块中的邻域数量及其各自的半径r , 每个样本点的邻域点Nneigh数量 , 以及每个模块中卷积层的数量和大小 。通过检查随机选择的验证集上的合理配置并更改这些配置以进一步优化网络性能来完成 。由于参数空间的巨大规模和相应的计算成本 , 对参数空间进行完整的采样是不可行的 。
 
图4描述了最终选择的、性能最好的架构 。
 
万字分析汽车毫米波雷达点云技术

文章插图
 
图4 我们网络的结构 。红色箭头表示跳过的连接 , 通过这些连接 , 从MSG模块中提取的特征被传递到相应层的FP模块中 。三个MSG模块的内核大小 为[[32, 32, 64], [64, 64, 128]], [[32, 32, 64], [64, 64, 128]]和[[64, 64, 128], [64, 64, 128]]。
 
为了评估 , 我们进行了五重交叉验证 。也就是说 , 数据集被分成五个集合折叠 , 每个折叠占20%的数据 , 每折叠用于测试一次 , 其余四个折叠作为训练数据使用 。
 
只有车辆A的数据被用于训练 。来自车辆B的测量数据仅用于检查我们分类器的泛化能力 。该网络使用随机梯度下降法和基于交叉熵的损失函数以及Adam优化方案进行训练 。我们使用了中公布的张量流源代码的一部分 。
 
由于静态和动态数据之间的巨大不平衡(大约9700万到300万) , 静态类的损失函数的权重被降低 , 这样优化就不再把几乎所有的点分配给静态类 。
 
训练历时30个周期 , 在此期间进行了数据增强:随机噪声被应用于每个特征维度 , 从而改变了反射的空间位置以及测量的RCS 值和自我运动补偿的多普勒速度 。速度特征仅针对动态对象的反射进行了修改 。此外 , 为每个动态对象生成一个随机数q∈[0,0.3] , 并且在该时期中以概率q 省略该对象的每个反射 , 从而改变动态对象的形状和密度 。
 
网络本身对单个反射的记录时间没有概念 , 但在训练过程中 , 我们为网络提供了长度为T=500毫秒的时间窗口 , 使得点云变得更加密集并且可以考虑每个对象更多的反射 。在最早的测量时 , 不同时间段的反射被转换成车辆坐标系 。
 
点云的输入大小固定为3072次反射 。如果在500毫秒长时间窗口内测量到超过3072次反射 , 则去除静态类别的反射 , 如果测量的反射少于3072次 , 则对一个反射重新取样到所需的次数 。由于网络结构中的最大汇集层 , 这种过采样并不会改变语义分割的结果 。
 
在测试过程中 , 接下来的3072次反射通过网络传递 , 按测量时间排序 , 因此不需要过采样或欠采样 。
 
训练是在配备了Nvidia GeForce GTX 1070 GPU的linux工作站上完成的 。
4 结果基于6×6混淆矩阵和宏观平均F1分数(下文仅称为F1分数)对我们的系统进行了评估 。F1分数对应于精度和召回率的谐波平均值[24] 。在宏观平均中 , 在宏观平均中 , 每个类别对总分的贡献是相等的——与类别的计数无关——因为每个类别都计算一个单独的F1分数 , 然后对这六个值进行平均 。


推荐阅读