基于多尺度特征提取的交通模式识别算法

2021-07-02 08:54刘世泽秦艳君王晨星高存远罗海勇王宝会
计算机应用 2021年6期
关键词:模式识别残差卷积

刘世泽,秦艳君,王晨星,高存远,罗海勇,赵 方,王宝会

(1.北京航空航天大学软件学院,北京 100191;2.北京邮电大学计算机学院,北京 100876;3.中国科学院计算技术研究所,北京 100190)

(∗通信作者电子邮箱yhluo@ict.ac.cn)

0 引言

在移动互联网时代,智能手机的功能越来越强大,使得智能手机移动设备的传感功能的可编程性得到了广泛的应用,使其拥有很高的市场普及率,再加上第三方应用软件的支持和智能手机快速的发展,就成为了监控人们行为的有效工具。因此基于移动智能终端的场景感知成为场景感知的主要方式。

交通模式识别被认为是一种特殊的场景感知[1-2]。通过智能移动设备捕获个人交通行为,这对许多领域有着非常积极的影响。例如:对个人交通行为的智能监控,可以实现对移动跟踪,也可以利用这些信息改善城市规划、提供合适的道路出行建议,快速为救护车安排最合适的行驶方案,以及追踪用户碳足迹,呼吁人们低碳出行。最后,智能监测可以作为用户行为分析的一部分,进行实时旅程规划或针对性的广告投放。最广泛的电子健康、营销、智能城市、交通管理和安全,其中有关参与者流动性的信息构成了所收集数据上下文的一个重要维度。

目前有研究利用全球定位系统(Global Positioning System,GPS)的数据来检测运输方式[3-4]。然而,基于GPS 的方法存在以下缺点:1)GPS 信号在城市峡谷、隧道或屏蔽区域,会出现信号丢失和错误。2)GPS传感器消耗大量的能量,并可能迅速耗尽移动设备的电池;融合GPS 和地理信号系统(Geographic Information System,GIS)的交通模式识别算法,该方法利用运输网络信息,包括实时总线的位置、空间轨道和巴士站信息,改善了GPS 的数据对交通工具识别判断不准的一些情况,但是现在的GIS 信息系统更新得仍旧不够实时,存在功耗高的问题。

大量研究使用基于机器学习的算法实现交通模式识别,例如AdaBoost 分类器、支持向量机(Support Vector Machine,SVM)[5-6]、决策树、随机森林[7-8]、贝叶斯网络[9-10]、分层的分类器[11-14]等算法识别交通工具模式。但是这些算法需要首先根据人们的先验知识完成特征提取,而实现人工特征提取过程存在复杂、耗时和识别准确率低等问题。目前基于加速度传感器的交通模式识别方法提取帧特征、段特征和峰特征,并使用这些特征进行交通模式识别,但是该方法易受重力的影响,也很容易受到采集设备的噪声干扰,这样就会使收集数据时产生数据不准确,导致最终判断准确率低。

针对上述问题,研究者们提出了基于深度学习的交通模式识别算法,如:常见深度学习算法有基于循环神经网络(Recurrent Neural Network,RNN)、卷积神 经网络(Convolutional Neural Network,CNN)[15]、双向长短期记忆网络(Bidirectional Long Short-Term Memory,BiLSTM)[16]和长短期记忆(Long Short-Term Memory,LSTM)网络[17-18]等算法。但这些算法存在功耗高、训练时间长和精度低等问题。本文提出了一种融合残差网络和带孔卷积的算法,实现交通模式识别,主要工作如下:

1)使用低功耗智能手机低功耗传感器,摒弃GPS、Wi-Fi等功耗高的传感器。使用低功耗的传感器包含加速度传感器、气压传感器、地磁、陀螺仪。将这些传感器得到的原始数据,通过快速傅里叶变换(Fast Fourier Transform,FFT)将时序数据转换为频域数据(频谱图)。将时序数据转换成图片数据的做法,可以有效消除采集原始数据从不同部位和不同的从而获取更稳定特征。

2)使用残差网络(Residual Network,ResNet)学习交通模式短时间的局部特征。由于神经网络的每一层对应提取特征不同层次特征学习,而且网络结构越深,提取的不同层次的特征越多,不同层次的信息组合也越多。由于网络结构越深,会导致网络的梯度消失、梯度爆炸和网络性能退化问题,造成错误率上升。使用残差网络可以解决上述这些问题,更好地提升网络性能,从而达到深度提取各类交通模式的深层局部特征的目的。

3)利用带孔卷积学习长时间的全局特征。对于特征提取不仅仅需要从局部提取特征,更需要从全局提取特征,去获得更好的识别准确率。在不损失数据信息的情况下增大感受野,能有效地提取基于各种交通工具的全局特征;并且可以有效降低信息的复杂度,减少运算复杂度。

1 相关工作

在目前交通模式识别领域,已经有很多的学者在研究该问题,从算法层面主要分为两类:一类是利用传统学习方法,主要依赖手工提取特征,实现交通模式识别;另一类是利用神经网络方法,通过神经网络实现各类交通模式的深度特征提取,实现交通模式识别。

文献[19]提出了一种利用智能手机位置信息和各种可用的地理信息(如公交站点位置、铁路线路和公交位置信息)实时检测用户出行方式的方法。与之前的相关工作不同,用于定位的采样率为30 s。对于接近实时的分类,作者使用了一个1 min的移动记录窗口(相当于两个位置记录),它使用了以下属性:平均速度、平均加速度和的变化。该方法利用的是传统的手工提取特征的方法。

文献[20]提出了一个基于Bi-LSTM 模型的自动轨迹分类框架,以将原始轨迹分类为不同的运输方式。通过嵌入时间间隔作为外部特征进一步提高了性能。该框架不需要耗时的复杂的人工特征提取过程,而是通过Bi-LSTM框架学习特征。

文献[21]利用基于深度神经网络(Deep Neural Network,DNN)的方法,将多层神经元堆叠起来优化权重,从而进行交通模式识别。

文献[22]提出了一种基于树的集成分类器,通过原始数据,手工提取全局特征和局部特征相结合,因此需要一个复杂和费时的特征工程过程。

在文献[23]中基于CNN 的架构,利用原始的GPS 轨迹来预测出行方式,创建了一个四通道输入量,其中每个通道代表一个基本运动学属性序列,包括速度、加速/减速、跳动和承载率,实现对各类交通模式进行区分。

综上所述,人工提取特征存在着一些重要缺陷,主要包括对交通和环境条件的脆弱性,以及在提取高效特征时,对存在手机型号和采用用户不具有普适性。为解决这些问题考虑利用神经网络代替传统方法,从而自动地从原始输入驱动高级特征;但是现在单一的一些模型并不能很好地处理原始的时间序列数据。

2 融合残差网络和带孔卷积框架

本文提出了融合残差网络和带孔卷积的算法,实现交通模式识别。本文算法总体框架如图1 所示,主要包含三个部分,分别是:数据预处理、各类交通工具局部特征提取和各类交通工具全局特征提取。这三个部分具体内容如下:

图1 融合残差网络和带孔卷积交通模式识别算法框架Fig.1 Framework of transportation mode detection algorithm combining residual network and dilated convolution

1)数据预处理。使用手机采集原始数据,采用不同手机采集数据,会产生不同设备之间采集误差。采集者会放置不同的部位,例如:手持、背包、手臂和裤袋等姿态,对数据采集产生不同姿态误差影响。为了避免这些误差的影响,利用手机传感器采集原始数据,通过FFT算法,将时间序列的数据转换成图片数据,可以有效地去除上述误差影响。

2)局部特征。由于ResNet 网络结构,对于图片数据,通过深度的学习图片数据,可以有效地提取交通工具深层局部特征。

3)全局特征提取。带孔卷积可以在不损失图片数据信息的情况下,增大感受野。通过每个增大卷积的卷积核,可以扩大感受野,获得长时间依赖关系,且没有增加参数数量,从而有效地捕获八类交通模式图片数据的全局特征。

最后将全局特征和局部特征通过四层全联接层,最后通过SoftMax得到八类交通模式分类结果。

3 数据采集和数据预处理

3.1 数据采集

利用手机采集与交通模式相关数据,进行交通模式识别,已经是非常普遍的情况[20-21]。

在本文中,数据采集人员把收集的数据和采集人员的日常生活中想要做的事情结合起来,例如:参观博物馆,在一个特定的餐馆吃午饭,或者骑自行车去拜访朋友等。这样数据集可以包含真实的活动和典型位置。

数据收集使用了四款华为Mate 9 手机,放在人们通常携带手机的地方:第一部手机,采集者会拿在手里,或者放在胳膊上戴的臂带中,在数据集中,这个位置称为“手(Hand)”;第二部手机,采集者放在胸袋或胸带上(例如跑步时),在数据集中,此位置称为“躯干(Torso)”;第三部手机,采集者放在臀部的高度,通常放在裤子的前口袋里,在数据集中,此位置称为“裤袋(Hips)”;第四部手机,采集者放在背包或侧包里,在数据集中,这个位置称为“包(Bag)”。这些手机配备了专门采集数据的数据采集器。

3.2 数据预处理

本文采用了由英国萨塞克斯大学(University of Sussex)和华为公司发布的用于移动用户多模态运动分析和交通模式识别数据集(Sussex-Huawei Locomotion dataset,SHL)。

SHL 数据集用途广泛,主要可以用于:用户行为识别、多模态无线网络覆盖范围估计、卫星覆盖范围估计、路况分析、交通状况分析、谷歌公司行为识别应用程序接口(Application Programming Interface,API)、活动发现、传感器融合定位、基于视觉和声音的行为识别等方面。

根据本文对数据集的要求,本文对数据集做了一定处理。其中,每个传感器数据文件中包含196 072 行×500 列,对应于196 072帧,每个帧包含500个样本(采样频率为100 Hz)。

每一个样本通过快速傅里叶变换,将其转化为一张图片。使用滑动窗口大小是400,滑动的步长是1。

如图2 所示,就是将加速度x轴的原始数据,通过快速傅里叶变换方法,将原始时间序列数据转换为图片频域数据。如图3 所示,是在不同位置的数据采集效果呈现,可以看出不同的位置,加速度x轴的数据变化量很大。从图3 可以看出,时间序列的数据比较分布不均匀。在一定程度上不同采集者和位置都会有一定的变化,但是通过FFT 转换成图片(图4所示)数据波动就会很小。

图2 将时域数据转换为频域图片数据过程Fig.2 Process of converting time domain data into frequency domain image data

图3 不同位置不同采集者采集的原始数据Fig.3 Raw data collected by different users in different locations

图4 快速傅里叶变换后的图片数据Fig.4 Image data after FFT

3.3 数据主成分分析

经过FFT 处理后的表示各种交通模式特征图片,存在图片过大的问题。因此会导致出现模型训练复杂度过大问题,故需要对图片进行降采样。如果使用普通的插值算法,可能会导致图片细节过多地丢失,从而降低模型的精度。如算法1 所示,本文使用主成分分析(Principal Component Analysis,PCA)方法是先将图片二维矩阵展开为向量,并进行主成分分析,选取所有位置中特征值最大的50 176个,将这些像素再重新组合为新的图片,大小为224×224。

算法1 数据PCA预处理。

输入 原始图像数据data。

dataD←去中心化(data);

dataF←Flatten(dataD);

dataC←计算协方差矩阵(dataF);

dataS←SVD分解(dataC);

dataK←sort(dataS)[0∶50 176];

dataR←dot(dataD,dataK)

dataE←reshape(dataR)

首先,对数据进行去中心化并展平;接下来,计算整个矩阵的协方差矩阵,对协方差矩阵进行奇异值分解(Singular Value Decomposition,SVD)选取特征值最高的50 176 个特征向量再组成矩阵;最后,将这个矩阵与原来的矩阵相乘,并转换回大小为224×224 的图片的形式。此时保留下来的特征点拥有着较大的方差,根据最大方差理论,这些特征点保留了原始图像中的大部分关键数据。

4 局部特征提取

卷积神经网络(CNN),能够有效地提取浅层/中级/深层特征。一般来说,层数越多,提取到的不同层次的特征就会更丰富、抽象以及富含语义信息。但是要想实现这个目标,往往需要加深CNN 网络层为代价,同时常常带来参数量大、梯度消失、梯度爆炸等问题,导致网络无法学习到准确特征。

ResNet 的主要思想是,假定某部分神经网络的输入为x,期望的输出为H(x)。H(x)是期望的复杂潜在映射,如果要进行学习,则训练难度较大。可以知道的是,当学习到较为饱和的准确率时或下层网络的误差开始增大时,接下来学习的目标就需要转变为恒等映射的学习,即:使输入x近似于输出H(x),以保持后面的网络层中不会造成精度继续下降。ResNet 引入了捷径连接(Shortcut Connections)来试图解决这一问题。如图5所示,直接将输入x传到输出位置作为初始的结果,那么输出则变为H(x)=F(x)+x。当F(x)=0 时,H(x)=x,即恒等映射。因此,ResNet 的学习目标则转变为残差F(x)=H(x)-x。之后的网络层的学习目标全部转变为使残差F(x) →0,这样就使得网络随着层数加深,精确率不会下降。

图5 ResNet单元结构Fig.5 Architecture of ResNet unit

残差网络可以有效地避免上述问题,同时学习准确各类交通模式特征。如图6 所示,输入层是各类交通模式图片数据,数据大小是(m,n,q),其中m、n是像素,q是通道数。本文中的残差单元如式(1)、(2):

其中:xl是残差单元的输入(数据图片);xl+1表示残差单元的输出;f表示激活函数(ReLU 函数);F 是残差函数;h(xl)=xl;yl是第l层网络的输出;Wl是可训练参数矩阵。

图6 的中间模块是残差网络模块,该模块可以有效地提取交通模式的深度特征,W模块中,使用卷积网络实现特征提取过程。所以第i层残差单元,计算式如式(3)~(6):

其中:wi是第i个W 模块的输出,s是S模块的输出是最大池化操作是卷积操作;v是特征矩阵,u是第l层卷积的单元。在本文设计的网络架构中,有三层残差网络模块。

通过每一层的残差单元,都能够提取到一定程度特征。通过加深残差网络的深度,就能够有效地提取八类交通模式的深层特征。由于增加捷径连接,加入S 模块,可以有效避免深度卷积网络带来的梯度消失和梯度爆炸问题。

对于每一层模块的超参数如表1所示。

表1 残差网络详细超参数Tab.1 Detailed hyperparameters in residual network

5 全局特征提取

带孔卷积的作用是在同层计算不增加参数量的同时扩大感受野。感受野的大小决定了卷积过程中,一次获取信息的多少。如图7 所示,对于输入,每一次映射的区域不同,第一层是每两个节点映射一个区域;第二层映射的区域面积变成每隔一个节点映射一次;第三层映射区域最大,变成每隔两个节点映射一次。

图7 空洞卷积表示Fig.7 Representation of dilated convolution

这样设计的好处是,能够在很大程度上减少参数量,且该网络能够有效保证保留内部数据结构(传统下采样方式就会失去数据内部结构,导致特征提取不够完整)。利用池化方法在增加感受野时,会将一些数据信息丢失,但是带孔卷积网络可以在不损失信息特征的情况下,增大感受野,获取更多信息。

最重要的是,带孔卷积网络能够准确获取多尺度信息特征,避免提取冗余特征,可以更好地挖掘各类交通模式数据之间的内部特征。本文利用带孔卷积从大尺度上提取全局特征,这些全局特征能够有效地增加交通模式识别的准确率。

表2 是本文中带孔卷积设计到的超参数的详细描述,带孔卷积的卷积核计算不同于传统卷积计算方式。逐层增加了卷积核单元间隔距离,分别为0、1、2,在增加特征图感受野面积的同时有效控制了参数量的增加。

表2 带孔卷积网络详细超参数Tab.2 Detailed hyperparameters in dilated convolutional network

本文算法的伪代码如算法2 所示,主要分为三个阶段:数据输入、训练阶段和测试阶段。数据输入阶段主要将数据进行了数据标准化、FFT,以及图像主成分分析等数据预处理方法。在训练和测试阶段,通过残差网络实现数据局部特征提取,带孔卷积实现数据的全局特征。然后,通过Adam 优化器目标的训练权重收敛或训练达到预定轮数。最终,通过SoftMax实现八类交通模式识别。

算法2 融合残差网络和带孔卷积网络。

输入 SHL数据集传感器数据data

6 实验与结果分析

本文融合残差神经网络和带孔卷积神经网络,实现了对八类交通模式的局部特征和全局特征提取,并通过多尺度特征提取,进行对交通模式的分类。本章通过对比实验验证了该算法的有效性。数据集区分过程,将使用的数据集,先分为五份,取其中一份作为测试集,剩下的四份作为训练集。

6.1 不同算法的对比实验

为了实现对比实验的公平性,对K最近邻(K-Nearest Neighbor,KNN)、LSTM、Alexnet、DenseNet201、Googlenet、SVM、随机森林、决策树和本文算法验证时,采用了相同的训练集和测试集进行实验。

在表3 中记录了各类算法在八类交通模式的准确率、召回率和F1-分数三个评判标准。从实验结果上看,跑步和走路这两种模式是最容易区分的,这主要与人体的特殊运动方式有关,人们在走路和跑步时,都会有较大的震动和固定的运动频率,所以每一种算法在这两种模式上表现都较好。

从表3~5 中可以看出,骑自行车这一交通模式在KNN 和SVM 上表现得不好,主要是由于这两种算法不能够很好地抓住骑自行车这一交通模式的有效特征;但是其他算法可以有效地抓住有效特征进行识别。从表4 中可以得出,融合残差神经网络和带孔卷积神经网络(ResDilate)算法,在三种评价指标上表现最好,全部达到了95%以上,且准确率平均超过其他算法10个百分点。

表3 不同算法的准确率比较 单位:%Tab.3 Accuracy comparison of different algorithms unit:%

表4 不同算法的召回率比较 单位:%Tab.4 Recall comparison of different algorithms unit:%

从实验结果可以看出,公交车和私家车这两种交通模式,在各类算法中是比较容易混淆的。由于这两种交通模式,在特征上存在一定的相似性,尤其是在交通堵塞以及在高速路上的情况下,公交车和私家车在速度、加速度以及拐弯等,这些特征都会非常相似,所以这两种交通模式识别存在一定的挑战性。Alexnet、DenseNet201 和Googlenet 这三种算法,在识别这两种交通工具的三种评估下均可以达到50%以上。KNN、LSTM、随机森林、SVM 和决策树这五种算法在识别这两种交融模式的准确率在30%~50%。从这个角度上看,深度学习算法的性能在一定程度上可以验证,深度学习提取的特征比人工提取特征更有具有识别性,更有利于识别交通模式。同理,火车和地铁在短时间内的特征也是非常相似的。使用单一的Alexnet、DenseNet201 和Googlenet 算法提取出的同一纬度的特征,不具有较强的识别性。使用人工提取出的特征,利用SVM 等机器学习算法进行分类,也不能达到所需要的准确率。本文所提出的算法,在准确率、召回率和F1-分数评估方法均可以达到80%以上。

表5 不同算法的F1-分数比较 单位:%Tab.5 F1-score comparison of different algorithms unit:%

6.2 本文算法的自对比实验

本文为了验证所提出算法各个部分的有效性,进行了自对比实验,实验结果如表6~8所示。

其中,表6 是单一使用残差神经网络对交通模式进行分类。从残差神经网络的结构上可以看出,该网络结构可以对数据集中的局部特征进行有效提取,也就是说,可以将数据集中的各类交通模式上的短时间内的特征有效提取出来,因此在识别自行车、公交车、静止和火车上可以提取出有效的特征。从实验结果上看,这些短时间的局部特征比长时间的全局特征更加有效,准确率、召回率和F1-分数均优于带孔卷积神经网络。

表6 使用残差网络的实验结果 单位:%Tab.6 Experimental results of utilization of residual network unit:%

表7 是使用带孔卷积神经网络实现交通模式识别实验结果,带孔卷积神经网络可以在较长时间内提取全局特征。从实验结果可以看出,对于火车这一交通模式,获得全局特征更有利于识别该交通模式。因为火车常常运行时间较长,而且加速度或者匀速的时间较长,在短时间内提取的局部特征,往往不具备很多的区分性,所以提取长时间的全局特征更加具有区分效果。

表7 使用带孔卷积神经网络的实验结果 单位:%Tab.7 Experimental results of utilization of dilated convolutional network unit:%

利用残差网络学习特征图像,可以将感受野控制在相对较小的范围内,从而学习局部更细粒度的特征表达;同理,利用带孔卷积的卷积核间隔,在不扩大参数规模的前提下,增加感受野,忽略掉一定的局部特征但是可以学习到全局特征。

综合上面的实验结果可知,本文算法将两种神经网络进行融合,就可以得到表8 中的识别效果。如表8 所示,残差网络和带孔卷积融合后,八类交通模式识别精度均有一定的提高,可以验证本文设计算法的有效性和两种算法融合的必要性。

表8 融合残差网络和带孔卷积神经网络的实验结果 单位:%Tab.8 Experimental results of fusion of residual network and dilated convolutional network unit:%

6.3 调参实验

在本文中,主要调整了模型中的超参数,其中包括学习率、正则化参数值,以及残差神经网络卷积核大小。其中本文使用效果最好的参数已经在表1和表2给出。

本文调整的其他参数如表9 所示。通过控制变量法的原则,每次调整一个参数。从各个交通模式的准确率可以看出,超级参数的调整,对于准确率影响非常大,尤其是对于公交车和私家车、地铁和火车,这些比较难以区分的交通模式有明显准确率变化。

表9 不同参数的准确率比较 单位:%Tab.9 Accuracy comparison of different parameters unit:%

7 结语

本文通过融合残差网络和带孔卷积,对八类交通模式识别进行识别。首先,通过FFT 算法将一维传感器时域数据转换二维频域图像数据;然后,使用PCA 算法有效降低图像数据复杂度;接着,使用残差网络提取交通模式局部特征,使用带孔卷积网络提取全局特征;最后,通过对局部特征和全局特征的深度融合,实现了对交通模式的准确识别,验证了融合残差网络和带孔卷积网络模型的准确性和有效性。后续工作中将着力于继续提升模型精度并进一步降低模型复杂度,从而更好地满足低功耗应用需求。

猜你喜欢
模式识别残差卷积
基于全卷积神经网络的猪背膘厚快速准确测定
多级计分测验中基于残差统计量的被试拟合研究*
基于残差-注意力和LSTM的心律失常心拍分类方法研究
轻身调脂消渴片的指纹图谱建立、化学模式识别及含量测定
I、II类单点故障模式识别与质量管控浅析
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
融合上下文的残差门卷积实体抽取
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①