毫米波雷达点云数据处理,汽车毫米波雷达测试

在过去的几年中,图像分析已经从图像中的中心对象的纯粹分类和对象或对象部分的检测转变为语义分割的单一复杂任务。语义实例分割通过区分物理上不同对象的具有相同类标签的像素来增强语义分割。除了按像素分类之外,这还对对象实例进行分组。

语义分割通常由深度卷积神经网络执行,通常作为编码器/解码器结构运行。所有这些架构都依赖于规则的图像结构:具有等距像素的矩形网格。如果使用全卷积网络,网格的尺寸(即图像的宽度和高度)可能会有所不同。矩形网格产生像素之间的距离和邻域关系。这是由空间扩展大于1 像素的卷积核所利用的。因此,如果您使用相机作为传感器,这些方法就可以正常工作。毫米波雷达和激光雷达传感器对摄像头进行了补充,并确保其功能安全。这些附加传感器不仅应该是互补的,而且应该是冗余的。因此,最好也从毫米波雷达和激光雷达获得对周围环境的高水平语义理解。

在本文中,我们对雷达数据进行语义分割。也就是说,我们为每个测量的反射点分配一个类标签。我们专注于动态对象并研究六种不同的类别:汽车、卡车、行人、行人群体、自行车和静态对象。应用恒定虚警率(CFAR)算法后获得的雷达检测结果构成点云。点云P 被定义为一组N N 点pi Rd,i=1,…,N。在这里,点云中点的顺序并不重要。对于每次反射,必须测量两个空间坐标(径向距离r 和方位角)、自运动补偿多普勒速度v^r 和雷达截面(RCS) 。因此,在语义分割任务中需要对4D点云进行处理。雷达回波的空间密度变化很大,使得大规模网格测绘方法在计算上不可行。因此,普通相机图像的网络结构不适用。图1 中可以看出需要一种不需要类似图像输入的算法,该图显示了在200 毫秒的时间内从四个雷达收集的雷达检测数据。在此图像中,您可以看到没有测量的大面积区域和有大量反射的区域。包含大约2000 个单独反射的整个场景的网格图必须覆盖至少150 m x 200 m 的大空间区域,单元尺寸为1 m x 1 m,即使在非常低的分辨率下也最多有一个。网格中6% 的m x 1 m 像素具有非零值。

图1.超过200 毫秒的雷达点云累积。突出显示了三种不同汽车类型的反射。仅显示整个视野的一小部分

因此,我们使用PointNet++ 作为分割算法的基础。 PointNet++ 可以直接处理点云,最初设计用于处理来自激光扫描仪的3D 空间数据。在本文中,我们修改了架构以处理两个空间维度和两个附加特征维度。

在之前的研究中,对从聚类雷达反射中获得的特征向量进行分类。我们的新方法避免了这两个预处理步骤。这意味着您不再需要将雷达目标分组为集群并从这些集群生成预定义的特征向量。这些表明我们的新方法明显优于以前的方法。

本文档的其余部分组织如下。第2 部分回顾了该主题的相关研究和其他方法。然后我们更详细地解释网络结构并讨论训练和测试步骤。第4 节介绍结果并将其与以前的方法进行比较。最后,我想回顾一下我们未来的举措。

2 相关作品

当相机用作传感器并且大多数算法都是针对图像数据定制时,语义分割是一种常见的方法。全卷积网络的引入导致了许多类似的以及后来更先进的神经网络,例如SegNet、U-Net、R-CNN,以及它们的后继者Fast R-CNN、Faster R-CNN和Mask R-CNN受到影响。网络结构。要将这些技术应用于雷达数据,必须执行一些预处理。网格图提供了一种将空间不均匀的雷达回波转换为图像数据的方法。测量的反射随时间进行积分并插入到地图中的相应位置。这种方法允许创建各种地图,包括描述网格占用后验概率的占用网格地图和提供有关每个网格中反映的测量RCS 值的信息的RCS 地图。该方法适用于静态物体,因为只需要考虑其自身的运动(而不是其他物体的速度或轨迹),并且可以将不同时间的雷达回波插入到地图中的正确位置。对于本工作中考虑的动态目标,需要精确的扩展目标跟踪算法。或者动态对象在地图中创建扩展的反射尾部,因为对象动态被视为特征。另一个问题是网格映射对于稀疏数据来说效率不高,因为它需要潜在的大网格来显示相对少量的测量值。

据我们所知,以前从未对移动物体的汽车雷达数据进行语义分割。仅对小数据集或大量模拟数据进行分类。

3种方式

A. 网络结构

Qi 等人提供了PointNet 和PointNet++ 方法来直接处理点云,从而消除了先前的映射步骤。他们对通过室内场景3D 扫描网格中的采样点获得的3D 点云进行语义分割。我们使用该架构作为我们方法的基础。然而,实验中使用的雷达数据与室内3D 数据存在以下差异。首先,虽然每个雷达反射点只包含两个空间坐标而不是三个,但由于多普勒速度和RCS值这两个附加值用于自运动补偿,整个点云的每个点pi将是4维的。其次,数据显示密度和采样率变化很大。斯坦福大学3D 语义分析数据集的3D 扫描提供了密集的点云,使您可以查看办公室内部的细节,而雷达数据仅提供每个物体的少量反射,这使得它们对于较小或更远的物体没有用处。对象。无法正确捕捉物体甚至物体轮廓(见图1)。

PointNet++ 中定义了多尺度分组模块(MSG)和特征传播模块(FP)。 MSG 模块考虑中心点周围多种大小的邻域,并创建在中心点位置连接的特征向量来描述这些邻域。该模块包括三个步骤:选择、分组和特征生成。首先,通过最远点采样选取输入点云的N个样本点,对输入点云进行均匀采样。分组步骤为每个选定的Nsample 点创建一个邻域。在我们的网络中,邻域由位于中心点半径r 内的N 个相邻点组成。在邻域搜索中仅考虑雷达回波的两个空间分量。如果反射点在指定的搜索半径内有N 个或更多邻居,则在后续计算中仅使用找到的前N 个邻居。如果反射点很少,则重复第一个邻域以确保固定大小的数据结构。在每个MSG模块中,创建多个具有不同r和Nneigh值的邻域。在最后一步中,通过将滤波器大小为11 的卷积层应用于形状(Nsample, Nneigh, cin ) 的邻域张量,为每个Nsample 点生成特征。其中cin 是通道数。这会产生一个大小为(Nsample, Nneigh, cout) 的张量,在其上应用最终的最大设置层,仅考虑相应滤波器具有最高激活的邻域的贡献。

经过MSG模块后,输出点云中的点数将小于输入点云中的点数。因此,更深层中的点包含更多抽象特征,这些特征提供有关先前层中的域点的信息。此过程类似于图像处理中使用的卷积网络,其中每一层都会减小图像大小。图2 显示了雷达回波的空间位置和自运动补偿多普勒速度,显示了每个MSG 模块之后输入点云的子采样。图中未示出MSG模块中为每个点生成的高维特征向量。图3为现场摄像机图像。

对于语义分割,来自子采样点云的信息被传播到完整的输入点云。

图2 是雷达点云示例的摘录。

绘制空间坐标和自运动补偿多普勒速度。从左到右:第1、2、3 个MSG 模块之后的输入层点云和子采样点云。数据积累超过500毫秒。该场景的摄像机图像如图3 所示。

图3 与图2相同场景的摄像头图像

该任务由特征传播模块执行。 k 层MSG 模块后面是k 层FP 模块,它将稀疏的点云特征迭代传播到下一个更高层。对于密集点云中的每个点pi ,计算稀疏点云中三个最近邻特征向量的加权平均值,并将该特征向量传递给一系列卷积层后分配给点pi 。跳过来自MSG模块的相应级别的连接改进了功能的转移。

网络结构如图4所示,同时也定义了MSG模块的参数值。

B. 数据集

在本文中,我们仅使用两个不同的实验车辆(即车辆A 和车辆B)收集的真实数据。车辆A配备了四个77GHz传感器,安装在车辆的两个前角和侧面。传感器的短距离模式只能用于检测100 米内的目标。每个传感器的视场为45。

B 车配备了8 个与A 车规格相同的雷达传感器。这八个传感器安装在汽车的四个角,左前、右前、左后、右后、右后。

车辆A (B) 的数据集包含超过4.5 小时(6.5 分钟)的驾驶测量数据。也就是说,收集了超过1 亿(500 万)条雷达反射,其中300 万(100,000)条属于6200(191)条。 )各种移动物体。属于同一对象的所有反射均使用以下类别的标签手动分组和注释:汽车、卡车、行人、行人组、自行车、静态。六类的反射率分布如表1所示。与之前的研究不同,噪声没有作为附加类别进行研究,而是被视为静态的。这是因为本研究的目的是仅从原始对象中检测和分类真实的动态对象。点云。以前的分类器必须处理并非源自真实对象的簇和特征向量,因此需要区分垃圾类和真实对象。这些错误创建的聚类和特征向量是由不完整的预处理步骤引起的,我们在这里尽量避免。

表1 雷达回波六类分布

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]]。

为了进行评估,我们进行了5 倍交叉验证。即数据集分为5个折叠集,每个折叠占数据的20%,每个折叠使用一次进行测试,剩余4个折叠作为训练数据。

仅使用车辆A 的数据进行训练。车辆B的测量数据仅用于检查分类器的泛化能力。该网络使用随机梯度下降、基于交叉熵的损失函数和Adam 优化方案进行训练。我使用了发布于的部分tensorflow源代码。

由于静态和动态数据之间存在较大的不平衡(大约9700万到300万),因此降低了静态类的损失函数的权重,并且优化将几乎所有点都不再分配给静态类。

训练持续30 个epoch,期间进行了数据增强。将随机噪声应用于每个特征维度,从而改变反射的空间位置、测量的RCS 值和自运动补偿多普勒速度。速度特性仅针对动态物体的反射而变化。此外,为每个动态对象生成一个随机数q[0,0.3],并且在该时期以概率q忽略该对象的每次反射,从而改变动态对象的形状和密度。

尽管网络本身没有记录单次反射时间的概念,但我们在训练期间为网络提供了长度为T=500 ms 的时间窗口。这会产生更密集的点云,并能够考虑每个对象的更多反射。在最早的测量中,不同时间段的反射被转换到车辆坐标系中。

点云输入大小固定为3072 个反射。如果在500 ms 的长窗口内测量到的反射超过3072 个,则删除静态类别中的反射,如果测量到的反射少于3072 个,则将反射重新采样到所需的次数。由于网络结构具有最大池化层,因此这种过采样不会改变语义分割结果。

测试期间,接下来的3072 个反射按测量时间顺序通过网络,因此不需要过采样或欠采样。

训练在配备Nvidia GeForce GTX 1070 GPU 的Linux 工作站上进行。

4 个结果

我们的系统基于66 混淆矩阵和宏观平均F1 分数(以下简称F1 分数)进行评估。 F1 分数对应于精度和召回率的调和平均值[24]。宏观平均为每个类别计算单独的F1 分数,并对六个值进行平均,因此无论类别数量多少,每个类别对总分的贡献相同。

A. 最佳性能架构

首先,我们展示使用最佳性能架构获得的结果。仅使用车辆A 数据进行5 倍交叉验证。除了两个空间坐标x 和y(车辆坐标系)之外,我们还使用自运动补偿多普勒速度和RCS 值来丰富输入点云。因此,我们提供4 维点云作为输入。

得到的混淆矩阵如图5所示。

图5 使用图4 中描述的网络结构进行5 倍交叉验证后的相对混淆矩阵。点云输入特征:x、y、v^r、。

毫不奇怪,具有静态标签的大多数类别具有最高的真阳性值。然而,区分属于移动和非移动物体的反射比设置多普勒速度阈值并将速度低于该阈值的所有反射分类为静态反射要困难得多。您需要知道这一点。在现实场景中,许多不属于移动物体的反射表现出非零自运动补偿多普勒速度。这是由里程表误差、传感器偏差、时间同步误差、镜像效应或其他传感器伪影引起的。另外,旋转的汽车车轮的基部或行人身体的一部分(垂直于行走方向移动)可能不表现出径向速度,因此具有零多普勒速度的反射不一定属于静止物体。

汽车类别中的对象被分类为第二好,其次是行人组。卡车类的对象经常与汽车混淆。这种混乱可以用两个原因来解释。首先,在长距离处,每个物体的反射几乎无法测量,因此很难估计物体的空间范围。其次,汽车和卡车实例之间的转换非常平滑,例如很难区分大型SUV 和轻型卡车。

从该图中可以推断出的另一个值得注意的行为是行人和行人群体之间的高度混淆。此行为可能是由您的训练数据引起的。这是因为人类注释者可能能够通过将两个附近行人的反射分配给一个人来创建两个行人实例,但这有时并不容易并且需要时间,因为要求太高了。将所有反射标记为行人组的单个实例。因此,除了任务本身的复杂性之外,网络还必须处理地面实况数据的不一致问题。对于许多驾驶任务来说,知道该区域是否有一两个行人并不重要,因此可以将两个类合并以获得超过91% 的真阳性率。

数据集高度不平衡,因此仅检查归一化为类数的相对混淆矩阵可能会产生误导。因此,图6 还显示了具有绝对值的混淆矩阵。该可视化强调了许多误报动态对象是由网络创建的(图中的最后一行)。这种效应在汽车领域最为明显。只有68% 的预测汽车反射属于动态物体(参见图6 的第一列)。然而,对于汽车应用,动态对象的高误报率可能比高误报率更可取。降低静态类损失函数的权重会增加误报值,因此您可以使用此参数在误报和漏报之间进行调整。

图6 使用图4 中描述的网络结构进行5 倍交叉验证后的绝对混淆矩阵。点云输入特征:x、y、v^r、。

请注意,动态和静态反射之间的混淆比例(图5 中混淆矩阵的最后一列)并不代表被忽略对象的比例。如果只有动态对象的一个反射被正确分类,而同一对象的其他反射被分类为静态,则即使假阴性计数增加,该对象仍将被检测到。

B. 修改输入特征

为了更好地理解哪些信息对网络有用,我们使用三个不同的输入特征集:f1=x, y, v^r, f2=x, y, , f3=x, y 和重复五重交叉验证。比较结果。比较原始特征f0=x, y, v^r, 。表II 显示了每种输入配置的F1 分数。从这个表我们可以看出以下几点:提供给网络的输入特征越多,性能就越好。将每个反射的RCS 值添加到输入要素中会稍微增加F1 分数(从0.7303 到0.7425)。另一方面,添加自运动补偿多普勒速度具有更大的影响,使分数增加了近0.1。尽管多普勒速度作为一个特征具有一定的重要性,但有趣的是,对于输入特征f2和f3,网络的性能仍然比随机猜测高得多。这意味着反射的空间环境对于网络来说是一个非常具有表现力的特征,并构成分类步骤的基础,分类步骤使用速度和RCS 值的附加特征进一步分类。

表二各种输入特征的分类分数

C. 测试车辆B数据

到目前为止,只有车辆A 的数据被用于训练和测试。现在仅使用根据车辆A 的数据训练的网络来预测车辆B 测量的反射类别。此配置有两个不同之处。一方面,车辆B 配备了八个雷达传感器(而不是四个),从而提供了车辆周围的360 视野,这与车辆A 主要的前部和侧面设置不同。同时,车辆A的数据是在德国的城市和乡村道路上收集的,而车辆B仅在美国收集的数据。不同的道路和街道设计以及平均较大的车辆给算法带来了挑战。

当我们将性能最佳的网络应用于这些新数据时,其F1 分数为0.46,明显低于使用5 倍交叉验证获得的值。如果测试车辆前部的四个传感器独立于后部的四个传感器进行评估,F1 分数可能会增加到0.48。

应谨慎解释结果,因为车辆B 数据集比车辆A 数据集小得多。然而,很明显,改变传感器设置对分类器性能有一定的影响。

D. 与之前方法的比较

在我们之前的工作中,我们使用DBSCAN 进行聚类,使用LSTM 网络进行分类,为特征向量序列生成类标签。之前,我们对地面实况集群上生成的特征向量进行了性能测量。在本文中,该方法的评估是通过将特征向量的类标签投影回簇的原始反射来完成的。

我们在同一数据集上训练LSTM 网络和新方法,并在同一测试集上评估这两种方法。为了公平比较,LSTM 在通过将DBSCAN 应用于点云而获得的簇生成的特征向量上进行测试,而不是在地面实况簇的特征向量上进行测试。与当前方法不同的是,如果特征向量来自不属于真实对象的簇,LSTM 还会学习将其分类为垃圾。如果LSTM 拒绝这样的特征向量,则在比较中相关点将被视为静态。

我们的新方法在这个选定的测试集上取得了0.734 的F1 分数,而DBSCAN+LSTM 方法只能取得0.597 的分数。新方法创建的误报动态对象更少,并增加了所有类别的真阳性数量。最吸引人的特点是,被错误地视为静态的反射器减少了三分之一,因此可能被忽略的物体也减少了。来自动态对象的反射和来自静态类的反射之间的混淆不仅是由于LSTM 的分类结果不佳,而且主要是由于无法对反射进行分类而导致的。

E. 可视化

在前向穿过场景期间可视化不同网络层的输出非常有用。图2 显示了输入级和三个MSG 模块之后示例场景的空间位置和多普勒速度。

由于仅进行11卷积,因此很难可视化各个层的卷积核,并且滤波器本身没有任何有意义的图像。但是,您可以通过网络传递不同的场景,并在最终卷积层之前收集网络输出。对于这个输出,我们从每个类中随机选择1000 个点及其128 维特征向量,并将此高维点云传递给t-SNE 降维算法以获得二维点云。这反映在图7 中,我们可以在汽车、卡车、自行车和静态类别中看到四个不同的集群。根据图5 中的混淆矩阵,行人或行人群体的反射没有很好地分离。汽车和自行车类的反射增强了点云的中心并揭示了难以分类的点。最后,图8 显示了与图2 相同的场景,但显示的是预测的类别标签而不是多普勒速度。所有三个类别均被正确识别:行人、卡车和汽车。然而,最右侧行人后面的一些杂乱物体被错误地分类为行人组,而汽车后面的一些反射也被错误地分类为汽车类别。尽管如此,场景的语义信息还是得到了很好的表达。

图7 网络中倒数第二个卷积层的128维特征向量的2D嵌入。使用非线性t-SNE 方法执行嵌入。

图8 示例场景中每个反射的预测类标签。手动添加边界框以将点云与相机图像关联起来。

5 结论与展望

本文介绍了使用PointNet++作为分类算法对雷达数据进行语义分割的结果。我们表明,我们的新方法优于以前的方法,该方法由两个现已过时的预处理步骤组成:聚类和特征生成。我们还证明了通过使用RCS值和自运动补偿多普勒速度可以改善分类结果,其中多普勒速度对分类结果影响最大。

在未来的工作中,我们将重点关注两个不同的方面。一方面,将时间信息集成到网络中似乎是有益的。对象的时间演化是一个解释性特征,它至少改善了静态和动态类实例之间的区别。实现这一目标的一种可能方法是将循环神经网络结构集成到PointNet++ 中。一种更简单的方法是将测量时间戳作为附加功能呈现。另一方面,我们需要语义实例分割的扩展。目前,只为每个反射提供了类别标签,并且没有反射所属的对象实例的概念。因此,我们不知道场景中存在多少个不同的对象,只知道属于一个对象类的反射量。类感知聚类算法是通过反射生成实例的一种可能性,但将实例学习与类关联相结合可以提高整体性能。

本文和图片来自网络,不代表火豚游戏立场,如若侵权请联系我们删除:https://www.huotun.com/game/664252.html

(0)
上一篇 2024年6月3日
下一篇 2024年6月3日

相关推荐

  • 和平精英怎么刚枪? vr眼镜怎么玩和平精英枪瞄准?

    和平精英怎么刚枪? 和平精英刚枪的方法: 1.移动射击 2.掩体利用、左右探头 在掩体后重分利用左右探头的操作和第三人称的视野优势,可以借助于自己藏身的掩体或墙壁观察对手的走位。 3.提前枪。 vr眼镜怎么玩和平精英枪瞄准? 要在VR眼镜中玩和平精英并进行枪瞄准,您可以按照以下步骤进行操作: 1. 确保您已将VR眼镜正确连接到计算机或游戏主机,并已完成VR设…

    游戏快讯 9分钟前
  • 和平精英低端机怎么锁60帧?

    和平精英低端机怎么锁60帧? 首先我们在和平精英首页或者游戏中点击右上角的“设置”按钮,将设置界面打开。之后我们在里面点击右侧的“画面设置”功能选项,里面可以对帧数进行设置。 在里面可以看到帧数设置里面低、中、高三个设置选项,因为手机配置的不同,会限制我们设置的帧数,如果是好手机,后面还会有超高清和极高清两个设置,我们在里面选择最高的一个点击,才有可能达到6…

    游戏快讯 1小时前
  • 和平精英怎么换装在实战中?

    和平精英怎么换装在实战中? 首先,在实战中打开和平精英游戏,然后点击右上角的“换装”按钮,弹出的界面中有各种武器、头盔以及服装可供选择,选择想要更换的装备,点击它即可完成换装。 和平精英快捷换装怎么换头盔背包? 关于这个问题,在和平精英游戏中,快捷换装可以帮助玩家快速更换武器和装备。要换头盔和背包,可以按照以下步骤操作: 1. 打开游戏并进入游戏界面。 2.…

    游戏快讯 3小时前
  • 和平精英单人青铜局全是人机吗?

    和平精英单人青铜局全是人机吗? 是的,和平精英单人青铜局全是人机。因为在和平精英游戏中,单人青铜局是指前往训练营,与计算机人对战。这种模式的目的是为了新手们熟悉游戏操作和玩法。内容延伸:除了单人青铜局,和平精英还有多人联机模式,玩家可以和其他真实玩家组成团队或对抗队伍。这种模式需要玩家在网络上匹配其他玩家,游戏体验更加真实和刺激。 和平精英教学? 游戏和平精…

    游戏快讯 5小时前
  • 和平精英浪客战士的由来?

    和平精英浪客战士的由来? 浪客战士的由来是。根据古代刺客,改造而来的。 和平精英浪客战士最帅搭配? 难以确定最帅搭配,因为每个人的审美观点不同。但是可以给出一些常见的搭配方式供参考。和平精英浪客战士可以搭配黑色或白色的上衣,搭配紧身裤或直筒牛仔裤,配上白色或黑色的运动鞋或皮鞋,整个造型既有运动风又有时尚感。另外,也可以尝试搭配军绿色的上衣,搭配牛仔裤或休闲裤…

    游戏快讯 7小时前