基于卷积神经网络的人体探测与活动分类研究

2020-04-27 10:10刘义晨徐朝阳
舰船电子对抗 2020年1期
关键词:多普勒卷积观测

刘义晨,徐朝阳

(中国船舶重工集团公司第七二三研究所,江苏 扬州 225101)

0 引 言

由于多普勒雷达可以用于检测运动目标并抑制静止目标所产生的杂波,利用雷达的微多普勒进行目标分类和识别在公共安全及国防等领域内应用广泛。对于特定的目标识别问题,可以从微动引起的微多普勒信号中提取相应的特征作为判定的依据。近年来,随着微多普勒研究的兴起与发展,其在生物运动的探测与分类识别领域也得到了广泛的研究。利用时频分析工具,可以在联合时频域清楚地观察到微多普勒的时变特性[1]。

在早期,基于微多普勒的目标识别研究不依赖于时间信息,它仅利用具有不同特性的微多普勒频偏作为识别依据,这种方法具有明显的缺陷且性能较差。然后,是利用谱图人工提取微多普勒的时变特性,它是一种最为主流的方法。此外,经验模态分解方法、主成分分析和线性判别分析等方法在目标识别和特征提取上也有一些成功案例[2]。虽然上述方法在特定的问题上获得了较高的精度,但是它们的思想仍然停留在传统的监督式学习上,需要对原始微多普勒信号进行预处理并设计分类算法所需要的有效特征,而且提取的特征受限于识别问题本身难以扩展至通用[3]。因此,可以考虑选取深度学习方法来克服这种限制。

由于深度卷积神经网络(DCNN)能够直接在原始数据中学习和获取有效特征并合理地确定分类边界,DCNN在语音识别、图像分类等问题中获得了很好的结果。根据目前的研究状况,深度学习用于雷达目标识别的应用尚且不多[4]。因此,本文通过使用CNN来识别谱图中的微多普勒,并用于人体目标的探测与分类问题,具体内容如下:

(1) 通过多普勒雷达对人、狗、马和车等地面目标进行观测,以谱图作为CNN的信号输入进行模型的训练和分类。

(2) 通过多普勒雷达观测到的7种不同人体活动,以谱图作为CNN的信号输入进行模型的训练和分类。

1 卷积神经网络的基础理论

深度学习是机器学习的一个分支[5],近年来逐渐引起了人们的关注。深度学习通过堆叠了多层简单的神经网络模型实现不同层次的抽象特征提取,优化特定的损失函数来寻找分类边界。其中,深度卷积神经网络(DCNN)是一个最为成功的监督式学习算法,它在图像和语音识别等方面获得了很好的识别结果[5]。受到人类大脑视觉皮层的启发,DCNN具有典型的多层次结构。首先介绍它的基本组成:卷积神经网络(CNN),可以将它视作输入层、隐含层和输出层的简单组合。

首先考虑前向传播的过程。在本文中,CNN的输入层是不同目标和运动的谱图集合。隐含层主要由卷积层、非线性激活函数和池化层等构成,通常也会进行批量的归一化处理。输出层通常具有多层感知机(MLP)的形式,对于多分类任务,需要将隐含层的全部输出节点连接到输出层的输入节点,这种操作也被称作全连接。然后,加入Softmax函数得到每个类别的后验概率作为输出结果。接下来,将分别对隐含层和输出层的组成进行简要的介绍。在隐含层中,卷积和池化操作的示意如图1所示。隐藏层中第1个组成成分是卷积层,它的实质是1组可以并行工作的滤波器,通过滑动窗口的方式对输入数据进行局部处理。通常情况下,卷积层尺寸的选取是固定的,且远小于输入数据的尺寸。为了检测特定的特征,一个卷积层中的卷积核个数通常为多个。第2个组成成分为非线性激活函数,它通常连接在卷积层之后并对数据空间进行非线性变换,可以使类之间的区分变得更加容易。最为常见的非线性激活函数有Sigmoid函数、tanh函数和ReLU函数等。第3个组成成分是池化层,它的实质是对数据进行下采样操作来减小数据尺寸的滤波器。其中,以平均池化和最大值池化的使用最为常见。池化使用了特定位置的相邻输出的总体统计特征代替网络在该位置的输出,具有局部平移不变性,而不会明显改变我们所关心的特征形式。图2所示是一个简单的DCNN,它采用了2个卷积层、1个池化层和1个全连接层进行神经网络的描述。

图1 卷积和池化的示意图

图2 含2层卷积层的简单DCNN的示意图

在监督式学习的分类任务中,我们拥有输入数据样本所对应的标签。最后考虑反向传播的过程,它与输出层所选定的代价函数有关。由于代价函数的构建取决于Softmax函数所输出的后验概率,它需要体现输出结果与样本标签的关联程度。通常,代价函数是以交叉熵的形式进行定义的,其收敛过程的求解可以视作是凸优化问题,可以采取梯度下降算法对权值进行更新。在梯度下降算法中,最为经典的是随机梯度下降法(SGD),引入了动量因子的随机动量梯度下降法(MSGD)和Adam方法可以明显加快优化过程,它们是比较常用的方法。此外,正则化的Dropout得到了广泛应用,它能有效加快模型的训练过程并防止过拟合现象。

更多的且更为详细的知识可以在参考文献[5]中得到了解,本文不进行赘述。

2 人体探测与活动分类任务的实验与结果分析

对于特定的运动目标,若给定雷达的工作参数,多普勒频移的大小仅与方位角有关。因此,本文为了获得更为明显的观测结果,雷达场景设定的观测方向选取为雷达径向且目标朝向雷达运动,雷达选取了工作波长为0.4 cm的多普勒雷达,如图3所示。

图3 多普勒雷达的示意图和实物照片

在获取了运动目标的雷达回波后,将CNN用于以下任务:

(1) 人体探测的分类任务

对于人体探测问题选取了地面上的数种经典目标:一个人,一只狗,一匹马和一辆车,雷达场景设定于空旷的室外环境,如图4所示。

图4 人体探测分类任务中的运动目标示意

(2) 人体活动的分类任务

选取了7种人类活动,包括:跑步、正常行走、持枪行走、匍匐前进、行走拳击、原地拳击、坐立,雷达场景设定于室内环境,如图5所示。

图5 人体活动分类任务中的运动目标示意

(3) 人体探测的分类任务的实验与分析

在实验中,每种目标都观测了10次,设定短时傅里叶变换(STFT)选取256 ms的hamming窗,重叠时间16 ms,对回波进行STFT后可以得到谱图样本。为了确保微动周期性的获取,每张谱图的观测时间至少为2 s,每种目标都随机选取了其中的4张谱图。为了便于统一处理,将获得的谱图样本的尺寸整形为100×100。这样,我们可以获取共计4×10×4=160张谱图作为数据的样本集,并将它们的80%作为训练集,20%作为验证集。各运动目标的谱图分别如图6所示。

图6 人体探测分类任务中的运动目标谱图

由于数据集比较小,通过构建浅层的神经网络可以有效地避免过拟合并获得良好的泛化效果。在实验中,简单采用了2个3×3的卷积层,其数目设定为8和16,步长设定为1,2个2×2的最大池化层,其步长设定为2,以及1个全连接层作为CNN的构建,选取ReLU函数作为非线性激活函数,最后用Softmax函数输出特征向量作为判定依据并采取交叉熵构建代价函数。具体的CNN模型示意如图7所示。

图7 人体探测分类任务中的CNN构建示意

由于数据集及谱图的尺寸较小,在Intel i5 2.27 GHz CPU和4 GB 内存的环境下使用MatlabR2018b就可以进行模型的训练。设定了epochs数目为100,而其他参数设定为默认值。它所需的训练时间为127 s。各种目标的分类准确率分别如表1所示。

表1 人体探测分类任务的分类准确率

(4) 人体活动的分类任务的实验与分析

由于不同人体活动的微多普勒较为独特,为了确保微动周期性的获取,延长雷达观测时间的设定至3 s,保持其他参数设定不变。在实验中,一共对12位模特进行了观测,且每位模特的每种活动都测量了4次,每次测量都选取了3张谱图作为样本且每张谱图的尺寸为150×150。这样,我们可以获取共计7×12×4×3=1 008张谱图作为数据的样本集,并将它们的75%作为训练集,25%作为验证集,各目标的谱图分别如图8所示。

图8 人体活动分类任务中的谱图,依次为

与(1)中CNN模型的构建相比,(2)中的谱图样本尺寸和数据集要更大,在相同环境下的训练时间会相应地增加。本文中,受限于硬件条件,仍在(1)中的环境下进行模型的训练。经过多次调试,(2)的CNN模型构建在3层卷积层时的性能比较好。此时,第一个卷积层含有20个特征图,其尺寸大小为5×5,步长为1。其他卷积层的尺寸和步长设定都不变,特征图数目设定分别为30和40。其中,第一个卷积层的可视化特征如图9所示。

图9 人体活动分类任务中构建DCCN的第一个卷积层提取特征的可视化结果

所有的池化层都采用了步长设定为2×2的最大池化层,且步长设定为1。具体的CNN模型示意如图10所示。与图7中CNN的构建不同的是,它在全连接层fc_1的后面加入了Dropout层,概率参数设定为0.5。

由图9可以发现,卷积层的输出特征比较抽象,它蕴含着难以人工提取的特征。为了进一步了解其他变量对性能的影响,通过对改变观测时间或修改谱图的Epochs数可以进行相应的验证。分别选取观测时间为0.6 s、1.1 s、1.5 s、2.1 s、2.6和3.0 s,分别设定Epochs数为100、200、300和400,并单独取出图8(b),即人体行走时的谱图进行验证,分类性能的关系分别如图11所示。

图10 人体活动分类任务中的CNN构建示意

图11 人体活动分类任务的观测时间、Epochs数和性能的关系

可以发现,在更长的观测时间下,通常可以获得更好的分类性能。然而,在观测时间设定为2.6 s时,其性能要略优于3.0 s时的结果。在Epochs数为100左右时,观测时间为2.6 s的结果要明显高于其他情况,这种状况一直保持到Epochs数为200左右。这种现象产生的原因可能是设定观测时间为2.6 s时,数据集的样本数量较少而数据样本间的差异性又较大所引起的。随着训练过程的继续,这种样本间差异性的影响将逐渐减小。当Epochs数为300左右时,各曲线开始出现了收敛现象,而Epochs数到达400时,各曲线已经明显收敛。此时,设定观测时间为3.0 s的性能将最好。

本实验中,设定mini-batch的大小为84,学习率为0.001,采用了动量参数设定为0.9的随机动量梯度下降法进行训练,设定epochs数目为400。最终所需的训练时间为1 680 s,具体的分类准确率如表2所示。

表2 人体活动分类任务的分类准确率

3 结束语

本文基于能够表现微多普勒特征的谱图,将CNN用于实现人体探测和人类活动分类任务。通过CNN的使用,可以进一步地在谱图的基础上提取目标的微多普勒特征。在人体探测任务中,在包含了狗、车和马等地面目标中可以获得97.6%的准确率。在包含了7种人类活动的分类任务中,可以获得90.0%的平均分类准确率。虽然,将不同的谱图作为CNN的数据样本输入,可以无需人工的依据微动形式进行特征提取;但是多层CNN的计算复杂度要高于常规机器学习算法的数据驱动模型,在考虑任务实时性的情况下应综合使用。

猜你喜欢
多普勒卷积观测
基于全卷积神经网络的猪背膘厚快速准确测定
国外智能化对地观测卫星发展研究
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
多路径效应对GPS多普勒测速的影响
一种并行不对称空洞卷积模块①
基于“地理实践力”的天文观测活动的探索与思考
2018年18个值得观测的营销趋势
《多普勒效应》的教学设计