一、前言
此示例展示了如何使用深度学习网络和时频分析根据行人和骑自行车者的特征对行人和骑自行车的人进行分类。
放置在雷达前的物体不同部分的运动会产生微多普勒特征,可用于识别物体。此示例使用卷积神经网络 (CNN) 根据行人和骑自行车的人的签名来识别他们。
此示例使用模拟数据训练深度学习网络,然后检查网络在对两种重叠签名情况进行分类时的表现。
二、通过模拟生成合成数据
用于训练网络的数据是使用雷达工具箱™中的反向散射行人和反向散射自行车手生成的。这些功能分别模拟行人和骑自行车者反射信号的雷达反向散射。帮助程序函数 helperBackScatterSignals 生成指定数量的行人、骑自行车者和汽车雷达返回。由于该示例的目的是对行人和骑自行车的人进行分类,因此此示例仅将汽车签名视为噪声源。要了解要解决的分类问题,请检查行人、骑自行车者和汽车的微多普勒特征的一个实现。(对于每个实现,返回信号都有尺寸N 几乎 -由-N 慢 哪里N 几乎 是快速样本的数量和N 慢 是慢时间样本的数量。
辅助函数辅助多普勒特征计算雷达回波的短时傅里叶变换(STFT)以生成微多普勒特征。要获取微多普勒特征,请使用辅助函数将 STFT 和预处理方法应用于每个信号。
绘制行人、骑自行车者和汽车实现的时间频率图。
归一化频谱图(STFT绝对值)表明这三个物体具有非常不同的特征。具体来说,行人和骑自行车者的频谱图分别由胳膊和腿的摆动以及车轮的旋转引起丰富的微多普勒特征。相比之下,在这个例子中,汽车被建模为具有刚体的点目标,因此汽车的频谱图显示短期多普勒频移变化不大,表明微多普勒效应很小。
2.1 组合对象
将单个实现分类为行人或骑自行车的人相对简单,因为行人和骑自行车的人微多普勒特征不同。然而,对多个重叠的行人或骑自行车的人进行分类,加上高斯噪声或汽车噪声,要困难得多。
如果雷达的探测区域内同时存在多个物体,则接收到的雷达信号是来自所有物体的检测信号的总和。例如,为具有高斯背景噪声的行人和骑自行车的人生成接收到的雷达信号。
然后利用STFT获取接收信号的微多普勒特征。
由于行人和骑自行车的人签名在时间和频率上重叠,因此很难区分这两个对象。
三、生成训练数据
在此示例中,您将使用由具有不同属性的对象的模拟实现组成的数据来训练 CNN,例如,骑自行车的人以不同的速度踩踏板,不同身高的行人以不同的速度行走。假设雷达固定在原点,在一个实现中,一个或多个物体分别沿X轴和Y轴均匀分布在[5, 45]和[–10, 10]米的矩形区域中。
随机优化的三个对象的其他属性如下所示:
1) 行人
- 高度 — 以 [1.5, 2] 米的间隔均匀分布
- 航向 — 以 [–180, 180] 度的间隔均匀分布
- 速度 — 以 [0, 1.4 h] 米/秒的间隔均匀分布,其中h是高度值
2) 骑自行车的人
- 航向 — 以 [–180, 180] 度的间隔均匀分布
- 速度 — 以 [1, 10] 米/秒的间隔均匀分布
- 齿轮传动比 — 均匀分布在 [0.5, 6] 的区间内
- 踩踏板或滑行 — 50% 的踩踏概率(滑行意味着骑自行车的人在没有踩踏的情况下移动)
3) 汽车
- 速度 — 沿 X 和 Y 方向以 [0, 10] 米/秒的间隔均匀分布
卷积网络的输入是微多普勒特征,由以分贝表示并归一化为 [0, 1] 的频谱图组成,如下图所示:
雷达回波来自不同的物体和物体的不同部分。根据配置的不同,某些回报比其他回报强得多。较强的回报往往会掩盖较弱的回报。对数缩放通过使返回强度具有可比性来增强特征。振幅归一化有助于CNN更快地收敛。
数据集包含以下场景的实现:
- 场景中的一位行人
- 现场有一名骑自行车的人
- 现场有一名行人和一名骑自行车的人
- 场景中的两个行人
- 现场有两名骑自行车的人
四、下载数据
此示例的数据包括使用 helper 函数生成的 20,000 名行人、20,000 名骑自行车者和 12,500 个汽车信号。信号分为两个数据集:一个没有汽车噪声样本,另一个有汽车噪声样本。helperBackScatterSignalshelperDopplerSignatures
对于第一个数据集(没有汽车噪声),将行人和骑自行车者的信号组合在一起,添加高斯噪声,并计算微多普勒特征,为要分类的五个场景中的每一个生成5000个特征。
在每个类别中,80% 的签名(即 4000 个签名)保留给训练数据集,而 20% 的签名(即 1000 个签名)保留给测试数据集。
为了生成第二个数据集(带有汽车噪声),遵循第一个数据集的过程,除了将汽车噪声添加到50%的签名中。在训练和测试数据集中,有和没有汽车噪声的特征码比例是相同的。
下载并解压缩临时目录中的数据,其位置由 MATLAB® 的命令指定。数据的大小为 21 GB,下载过程可能需要一些时间。如果文件夹中的数据与 不同,请在后续说明中更改目录名称。
数据文件如下:
- trainDataNoCar.mat包含训练数据集及其标签集。trainDataNoCartrainLabelNoCar
- testDataNoCar.mat包含测试数据集及其标签集。testDataNoCartestLabelNoCar
- trainDataCarNoise.mat包含训练数据集及其标签集。trainDataCarNoisetrainLabelCarNoise
- testDataCarNoise.mat包含测试数据集及其标签集。testDataCarNoisetestLabelCarNoise
- TF.mat包含微多普勒特征码的时间和频率信息。
五、网络架构
创建一个具有五个卷积层和一个全连接层的 CNN。前四个卷积层之后是批量归一化层、整流线性单元 (ReLU) 激活层和最大池化层。在最后一个卷积层中,最大池化层被平均池化层取代。输出层是 softmax 激活后的分类层。
指定优化求解器和超参数以使用 训练 CNN。此示例使用 ADAM 优化器和小批量大小 128。使用 CPU 或 GPU 训练网络。使用 GPU 需要并行计算工具箱™。
六、在没有汽车噪音的情况下对特征进行分类
加载没有汽车噪音的数据集,并使用辅助函数helperPlotTrainData绘制训练数据集中五个类别中每个类别的一个示例。
训练您创建的 CNN。您可以在训练过程中查看准确性和损失。在 30 个 epoch 中,训练过程的准确率几乎达到了 95%。
使用经过训练的网络和函数获取测试数据集的预测标签。该变量包含网络预测。该网络在没有汽车噪声的情况下实现了约95%的测试数据集的准确率。
使用混淆矩阵可以查看有关每个类别的预测性能的详细信息。经过训练的网络的混淆矩阵表明,在每个类别中,网络都以很高的准确性预测测试数据集中信号的标签。
七、使用汽车噪声对特征进行分类
为了分析汽车噪声的影响,请使用网络对包含汽车噪声的数据进行分类,该网络在没有汽车噪声的情况下进行训练。trainedNetNoCar
加载汽车噪声损坏的测试数据集。testDataCarNoise.mat
将汽车噪声损坏的测试数据集输入网络。包含汽车噪声的测试数据集的预测准确率显着下降到70%左右,因为网络从未看到包含汽车噪声的训练样本。
混淆矩阵显示,当网络从“行人”、“行人+行人”或“行人+骑自行车者”类中获取场景并将其分类为“骑自行车者”时,会发生大多数预测错误。
汽车噪音会显著阻碍分级器的性能。为了解决这个问题,请使用包含汽车噪声的数据训练CNN。
八、通过将汽车噪声添加到训练数据集来重新训练 CNN
加载汽车噪声损坏的训练数据集。trainDataCarNoise.mat
使用汽车噪声损坏的训练数据集重新训练网络。在 30 个时期内,训练过程的准确率几乎达到了 90%。
将汽车噪声损坏的测试数据集输入网络。预测准确率约为 87%,比没有汽车噪声样本训练的网络性能高出约 15%。
混淆矩阵表明,网络在预测一个行人的场景和两个行人的场景方面表现得更好。
九、个案研究
为了更好地了解网络的性能,请检查其在对重叠签名进行分类方面的性能。本节仅用于说明。由于 GPU 训练的非确定性行为,当您重新运行此示例时,您可能不会在本节中获得相同的分类结果。
例如,没有汽车噪声的汽车噪声损坏测试数据的签名 #4 具有两个具有重叠微多普勒签名的骑自行车的人。网络正确预测场景有两个骑自行车的人。
从图中看,签名似乎只来自一名骑自行车的人。加载场景中两个对象的数据。数据包含沿快速时间求和的返回信号。将 STFT 应用于每个信号。
自行车手 2 签名的振幅比骑自行车者 1 的振幅弱得多,并且两个骑自行车的人签名重叠。当它们重叠时,无法在视觉上区分两个签名。但是,神经网络可以正确分类场景。
另一个有趣的情况是当网络将汽车噪音与骑自行车的人混淆时,如汽车噪音损坏测试数据的签名 #267:
与汽车相比,骑自行车的人的签名较弱,并且签名因汽车噪音而尖峰。由于汽车的签名与骑自行车的人踩踏板或行人低速行走的签名非常相似,并且几乎没有微多普勒效应,因此网络很有可能对场景进行错误分类。
十、参考文献
[1] Chen, V. C.The Micro-Doppler Effect in Radar. London: Artech House, 2011.
[2] Gurbuz, S. Z., and Amin, M. G. "Radar-Based Human-Motion Recognition with Deep Learning: Promising Applications for Indoor Monitoring."IEEE Signal Processing Magazine. Vol. 36, Issue 4, 2019, pp. 16–28.
[3] Belgiovane, D., and C. C. Chen. "Micro-Doppler Characteristics of Pedestrians and Bicycles for Automotive Radar Sensors at 77 GHz." In11th European Conference on Antennas and Propagation (EuCAP),2912–2916. Paris: European Association on Antennas and Propagation, 2017.
[4] Angelov, A., A. Robertson, R. Murray-Smith, and F. Fioranelli. "Practical Classification of Different Moving Targets Using Automotive Radar and Deep Neural Networks."IET Radar, Sonar & Navigation. Vol. 12, Number 10, 2017, pp. 1082–1089.
[5] Parashar, K. N., M. C. Oveneke, M. Rykunov, H. Sahli, and A. Bourdoux. "Micro-Doppler Feature Extraction Using Convolutional Auto-Encoders for Low Latency Target Classification." In2017 IEEE Radar Conference (RadarConf), 1739–1744. Seattle: IEEE, 2017.
十一、程序
程序获取:【程序】基于matlab使用深度学习将行人和骑自行车者分类
程序大全:Matlab和Simulink仿真程序汇总(2022年汇总,持续更新中)