利用CNN实现室内人行/车行定位方法切换下的行为状态识别 | ![]() |
2. 地球空间信息技术协同创新中心,湖北 武汉,430079;
3. 国网思极神往位置服务(北京)有限公司,北京 102200
2. Collaborative Innovation Center of Geospatial Technology, Wuhan 430079, China;
3. National Network SiJiShenWang Location Service (Beijing) Co., Ltd., Beijing 102200, China
定位技术本质上依赖用户及设备所处的环境[1]。随着导航定位系统的发展,基于当前环境背景的考虑也越来越重要,一些定位技术只能应用在特定的背景环境中。例如全球卫星导航定位系统GNSS能实现高精度的室外定位,却在室内环境中信号极弱而无法定位[2];行人航迹推算定位利用行人步行时生理学特征探测行走时步长进而实现行人位置的确定,而不能对车行或其他状态进行定位[3]。当前技术并不能满足所有状态环境而获得精确可靠的定位结果。因此,将所处背景环境与定位技术联合分析处理,根据不同情况自适应匹配并切换到恰当的定位技术,对提高定位结果的精确性,保证定位技术的连续性和实现定位系统的智能化具有重要意义。
室内环境中,用户运动自由度很大,其运动状态对定位结果差别也很大,需要定位系统能够根据当前运动状态选择最佳匹配的定位算法。这种方法不仅能快速确定用户位置[4],也解决了同一定位算法对不同状态下位置确定产生定位错误的问题[5-8]。现阶段关于室内定位研究工作主要集中在定位技术和行为状态识别领域。下一阶段需要结合环境特征匹配和上下文检测方法将已经开发出的新定位方法结合成一个可靠,具有成本效益的集成系统[3]。Zwirello等[9]详细介绍了一种基于UWB的高精度室内定位系统;Elhoushi等[10]采用承载微机电系统(MEMS)运动传感器的便携式设备,利用模式识别的方法来检测室内步行、静止、上下楼梯等运动状态;Pei等[11]将物理运动识别与无线定位相结合,提出了室内导航解决方案。
本文提出一种基于CNN(convolutional neural network)的室内定位下的行为状态识别方法[12],获取当前用户所处的语义信息(静止、步行、车行和其他状态),最终基于识别结果来辅助完成室内定位算法切换。利用智能手机中内置传感器(加速度计、陀螺仪)获得与当前室内环境运动状态(人行、车行)相关联的数据,挖掘分析其状态特征[13],并结合上层室内蓝牙定位技术,自动选择最匹配的定位算法,从而达到最优的定位效果。该方法能充分利用手机设备中已有硬件,减少开发和生产成本,同时尽可能降低设备功耗,增强用户体验。
1 基于CNN室内定位的行为状态识别方法为了更加准确地区分当前运动状态,实现人行和车行的定位算法自动切换,本文选取静止、步行、车行和其他四类常见的基本行为状态进行相关行为的识别和切换研究[14]。
静止状态包括手机静止放置、手机放置在匀速行驶的车内。当用户手持手机且不产生大幅度动作的情况下也认为处于静止状态,例如手持手机打电话、用户手持手机进行点击阅读等。车行状态则包括车辆加速、减速、转弯、上下坡等状态。步行状态为用户正常走路的场景。而其他类别的行为状态表征为手机设备除静止、走路、车行外任意无规律的状态,主要涵盖设备被用户放置于背包中产生的随机状态、摇一摇或者是手持设备随机晃动等行为。同时,本文认为用户在产生一系列行为动作时,不考虑多重状态同时发生,即用户在当前时间只存在单一的状态[15]。
基于这4种状态,基本的行为状态变换包括:静止到步行、静止到车行、静止到其他、步行到静止、步行到其他、车行到静止、车行到其他、其他到静止、其他到步行、其他到车行。
基本行为状态切换可以组合成现实室内环境下用户的运动场景。例如,用户步行来到停车场寻找车辆,然后将手机设备放置于车内,开始启动车辆进行加速,最后匀速平稳前进。在此场景下,用户的行为状态为步行状态→静止状态→车行状态→静止状态。在静止状态下,不产生位移,无需使用室内定位算法切换。而当检测到步行或车行状态时,需要基于相应的定位算法进行位置确定。本文通过深度卷积神经网络进行数据训练从而得到行为状态结果[16],最后基于识别结果自动切换到相应的室内定位算法。
1.1 传感器数据采集处理技术基于手机内置加速度计、陀螺仪传感器获取设备X、Y、Z三轴数据,两者能够很好地表示当前行为特征。加速度传感器感受用户的加速度,并转换成可用的输出信号;陀螺仪传感器测量偏转和倾斜时转动的角速度,可以感受到偏转的动作,从而精确分析用户的实际动作。
本文采集4类基本日常行为的加速度和陀螺仪传感器数据。使用智能手机采集运动状态数据时,手机放置的具体位置是不固定的,即加速度传感器在人体的位置不固定,因此相同动作所采集的数据有所差异。为了能够让后期训练的数据拥有更多的分布状态,尽可能多地覆盖到用户的不同行为状态,也需要对处于不同位置的传感器数据进行采集。数据采集类型如表 1所示。
表 1 数据采集类型 Tab.1 Types of Data Collections |
![]() |
本文研发了基于Android平台的应用程序来采集传感器数据。该程序能够在既定采样频率20 Hz下同时获取加速度计和陀螺仪传感器的X、Y、Z轴数据,并以特定的数据格式进行存储。应用程序设计框架如图 1所示。
![]() |
图 1 传感器数据采集应用程序 Fig.1 Application of Sensor Data Collection |
由于志愿者在采集传感器数据时每类行为状态的采集时间各不相同,导致数据长度差异较大,从这些海量数据中直接提取状态特征值是不现实的,更不能代表当前行为状态的真实特征。因此,需要使用“滑动窗口”技术[14],通过固定的窗口将数据分割成长度一致的数据段,每个窗口有50%的重叠。
1.2 基于CNN的模型训练技术由于原始数据的海量性,处理起来复杂费时,而且也并不是所有的数据都能为挖掘分析工作提供有用信息。因此,对传感器数据提取出能代表当前行为状态的特征值是很有必要的。这也是用户行为识别中最重要的环节[15, 16]。
本文采用的CNN模型包括输入层、两层卷积、两个最大池化层、一个全连接层和一个输出层。输入传感器X、Y、Z三轴数据,相当于图像中的RGB三个通道,尺寸在20 Hz采样率下为(1×120×3),分别代表长、宽和深度。第一层卷积核的尺寸为(1×3),分别表示长、宽、深度,第二层卷积核的尺寸为(1×5)。为了保证卷积后的尺寸和输入尺寸相同,模型使用了padding操作。两个最大池化层用到的池化核都是(1×2),长宽上的步长都为1,深度上的步长为1。全连接层有128个隐藏节点,用softmax作四类动作输出。
1.3 基于状态识别的切换技术室内定位算法自动切换方法实质就是用户位置重新选择的过程。在切换过程中用户行为状态的改变会对位置确定的可用性和精度造成一定程度的影响。传感器数据采集中存在误差以及状态识别过程中数据的间断性使得切换方法在行为识别模块中产生不稳定性。因此本文提出的室内定位算法自动切换方法还需引入上层蓝牙定位等信息辅助识别行为状态,同时实时对当前的状态情况进行准确度检验。
其次,用户行为识别过程中需要实时采集传感器数据,并进行复杂的解算过程才能获得最终状态结果,同时传感器监听器也处于长时间开启状态,这些问题大大地增加了手机设备的电量损耗。因此,为了减少甚至避免上述问题所带来的影响,需要一个完善的室内定位算法的自动切换技术。本文提出的切换技术主要涉及行为状态识别模块调用、行为识别模块周期设计和行为识别结果的判定3个方面。
手机设备定位程序运行过程中,内置传感器需保持开启状态,所以程序的运行状态可作为行为识别程序是否需要开启的调用依据。在连续定位过程中,传感器相关信息和蓝牙定位信息是持续获取的。因此可从中提取作为调用状态识别模块的有效信息。在4大基本行为类型中,静止和其他状态下用户不产生位置移动,此阶段无需使用室内定位算法进行位置确定,而步行和车行中发生了位置变化,需要通过算法进行定位。对于没有产生位移的用户,位置确定只需要获取前一位置移动状态(步行或车行)下的最后一次位置即可。因此,整个室内定位算法自动切换的核心就是对步行和车行状态的准确切换。在切换过程中,步行和车行的加速度以及速度的变动有很明显的差异,表现为加速度计传感器获取的数据上存在短暂持续性及周期性,所以从加速度计传感器信息中获取相关特征值可作为行为状态识别模块的调用依据。用户运动过程中,手机设备能够间歇获取高精度蓝牙定位信息,通过获取一定时间间隔的高精度蓝牙点,可较准确地解算运动过程中的速度,并依据速度与当前运动状态进行比较,进一步确定是否需要重新进行状态识别。
调用行为状态识别模块期间,会受到传感器采集数据精度和稳定性等因素以及识别模型准确度等的影响,不能保证所有状态识别结果都精确可靠。为了解决这种问题,本文采用一种行为状态周期性识别策略。每个周期获取6次识别结果,当某个状态达到5次及其以上时则判定该次识别是有效的,否则移除前半周期,再进行识别,直到得到准确识别的状态。
行为识别结果的判定分为单次识别结果的区分和周期结果的定期性检验。单次识别结果的区分主要表现在静止状态和匀速车行状态在行为识别模块中难以区分,需要附加相关标志性信息进行区分。而行为状态的定期性检验主要是为了避免行为识别过程中的判断失误问题,主要通过高精度蓝牙传感器的记录来实现。通过记录指定时间间隔内的高精度蓝牙传感器定位点,将解算出的当前速度与单次识别结果进行比对,进而区分当前是运动状态还是静止状态。在对比过程中,如果当前的运动状态与通过蓝牙点所得到的前进趋势基本一致,则表明定期性检验是有效的,否则认为当前识别存在问题,需要重新进行状态的识别判定。
2 切换算法与实验结果分析根据上述对基本行为状态识别的室内定位算法自动切换方法主要过程的论述,本文提出了相关切换算法。整体的切换过程如下:
1) 开启室内定位程序获取当前运行状态。如果在后台运行直接使用蓝牙进行定位,结束退出。如果在前台运行,进行步骤2)后台切换判定。
2) 如果需要由后台进行前台切换,则执行步骤3);否则,需要通过惯性传感器获取当前状态切换。如果状态产生变动,直接启动状态识别模块,进行步骤4)如果状态未产生变动,执行步骤5)。
3) 启动状态识别。
4) 调用状态识别模块。
5) 通过蓝牙定位方式进行当前运动速度的解算。
6) 基于步骤5)得到的蓝牙定位解算速度并结合行为状态识别模块的识别结果进行具体运动状态的确定,进行周期性检验。如果一个周期的判断中识别结果有效,则输出状态,执行步骤7);否则,移除前半个周期状态,执行步骤4)。
7) 通过步骤6)中输出的状态结果和蓝牙定位解算速度结合判断状态是否准确,如果准确继续执行下面步骤,否则返回执行步骤3)。
8) 关闭状态识别,切换到对应融合定位模式,输出相应的定位信息,结束程序运行。
2.1 实验区域选取武汉大学校内某一地下停车场作为实验场地。停车场中已部署好蓝牙设备,并采用蓝牙与手机设备内置传感器结合的方式进行室内定位算法的自动切换。图 2为室内场景图,图中圆点标注为部署的蓝牙设备。
![]() |
图 2 室内实验场景图 Fig.2 Indoor Environment |
本实验在真实场景下模拟用户各种行为模式,记录不同时刻对应的运动状态,并与实际运动状态进行比对,从而对基于行为状态识别的室内定位算法自动切换方法进行评估与分析。同时,由于行为状态识别的准确度也在很大程度上影响到室内定位算法自动切换的灵敏度和精确性。因此,本文还需对行为状态数据的识别精度进行分析。
2.2 实验结果与分析本文基于手机传感器加速度计和陀螺仪采集人行、静止、其他和车行4大类数据,实时进行当前运动状态的识别,并联合手机大幅度检测和蓝牙定位模块进行最终状态结果的判定。测试者在停车场中模拟一系列行为运动,通过开发简易的Android程序采集实验结果数据并进行分析。
从表 2可以看出,基于CNN方法的识别结果总体优于SVM方法识别效果。正确率显著提高,对后续实现室内定位算法切换的方法起到重要的作用。
表 2 各状态识别结果对比/% Tab.2 Comparison of Each States Using CNN Method and SVM Method/% |
![]() |
图 3为室内定位算法自动切换方法下行为状态识别模块状态识别结果图。
![]() |
图 3 室内定位算法自动切换方法下行为状态识别模块状态识别结果图 Fig.3 Result of Behavior Recognition |
3 结束语
本文提出基于CNN进行用户行为状态识别的方法,能够依据当前用户的实际行为状态匹配最合适的定位算法,也为后期进一步实现基于行为状态识别的室内定位算法切换方法提供了重要依据。
[1] |
梁韵基, 周兴杜, 於志文, 等. 普适环境室内定位系统研究[J]. 计算机科学, 2010, 37(3): 112-116. |
[2] |
Xu R, Chen W, Xu Y, et al. Improved GNSS-Based Indoor Positioning Algorithm for Mobile Devices[J]. GPS Solutions, 2017, 21(4): 1721-1733. |
[3] |
Gao H, Groves P D.Context Determination for Adaptive Navigation Using Multiple Sensors on a Smartphone[C].Proceedings of the 29th International Technical Meeting of the ION Stallite Division, ION GNSS 2016, Portland, Oregon, 2016
|
[4] |
李清泉, 周宝定. 基于智能手机的个体室内时空行为分析[J]. 地理科学进展, 2015, 34(4): 457-465. |
[5] |
Deng J S, Wang K, Deng Y H, et al. PCA-Based Land-Use Change Detection and Analysis Using Multitemporal and Multisensor Satellite Data[J]. International Journal of Remote Sensing, 2008, 29(16): 4823-4838. |
[6] |
周宝定, 李清泉, 毛庆洲, 等. 用户行为感知辅助的室内行人定位[J]. 武汉大学学报·信息科学版, 2014, 39(6): 719-723. |
[7] |
徐元坤. 基于MENS-INS的智能手机室内定位系统[J]. 测绘地理信息, 2015, 40(3): 63-65. |
[8] |
张鹏, 赵齐乐, 李由, 等. 基于PDR、WiFi指纹识别、磁场匹配组合的室内行人导航定位[J]. 测绘地理信息, 2016, 41(3): 29-32. |
[9] |
Zwirello L, Schipper T, Harter M, et al. UWB Localization System for Indoor Applications: Concept, Realization and Analysis[J]. Journal of Electrical and Computer Engineering, 2012(5). DOI:10.1155/2012/849638 |
[10] |
Elhoushi M, Georgy J, Noureldin A, et al. Motion Mode Recognition for Indoor Pedestrian Navigation Using Portable Devices[J]. IEEE Transactions on Instrumentation and Measurement, 2016, 65(1): 208-221. |
[11] |
Pei L, Liu J, Guinness R, et al. Using LS-SVM Based Motion Recognition for Smartphone Indoor Wireless Positioning[J]. Sensors, 2012, 12(12): 6155-6175. |
[12] |
Abdulmajid M, Jae-Young P. Deep Recurrent Neural Networks for Human Activity Recognition[J]. Sensors, 2017, 17(11): 2556. |
[13] |
Ravi D, Wong C, Lo B, et al. Deep Learning for Human Activity Recognition: A Resource Efficient Implementation on Low-Power Devices[C].IEEE International Conference on Wearable & Implantable Body Sensor Networks, San Francisco, CA, USA, 2016
|
[14] |
Lee S M, Yoon S M, Cho H. Human Activity Recognition from Accelerometer Data Using Convolutional Neural Network[C].2017 IEEE International Conference on Big Data and Smart Computing (BigComp), Jeju, South Korea, 2017
|
[15] |
贾博轩.基于手机传感器的人类复杂行为识别方法的研究[D].哈尔滨: 黑龙江大学, 2015 http://cdmd.cnki.com.cn/Article/CDMD-10212-1015379459.htm
|
[16] |
朱响斌, 邱慧玲. 基于智能手机传感器数据的人类行为识别研究[J]. 计算机工程与应用, 2016, 52(23): 1-49. |