基于神经网络的室内外场景识别方法
2021-02-24胡贤贤汪云甲齐红霞
胡贤贤, 汪云甲*, 孙 猛, 齐红霞
(1.中国矿业大学自然资源部国土环境与灾害监测重点实验室, 徐州 221116; 2.中国矿业大学环境与测绘学院, 徐州 221116)
在现代社会,全球卫星导航系统(global navigation satellite system, GNSS)可以较好地解决室外环境下的实时定位与导航问题。在室内环境下,由于建筑物等的遮挡,卫星信号强度减弱导致定位精度大大下降,不能满足人们的室内定位的需求。但室内环境中丰富的无线电信号为室内定位提供了充足的信号源,目前利用无线电信号的室内定位技术有WiFi定位[1]、蓝牙定位[2]、超宽带(ultra wide band, UWB)定位[3]、射频识别(radio frequency identification, RFID)定位[4]等。然而,现代社会建筑的室内室外界限模糊,适用于复杂环境下的室内外无缝定位技术仍然是目前难以解决的问题,室内外无缝定位也终将是导航与位置服务未来发展的方向[5]。室内外场景识别是实现室内外无缝定位的关键,可以对GNSS技术和室内定位技术的使用策略,以及人的行为感知等方面提供指导意见。因此,室内外场景识别技术具有很重要的研究价值和实用价值。
中外学者在室内外场景识别领域已经有了较多的研究成果。目前,室内外识别大致可分为两类,第一类是添加专门运用于室内外场景识别的硬件设施,该方法具有较高的识别精度且实现简单,如宿舍的门禁系统、超市的防盗系统。但这类方法的硬件成本投入太高,限制了方法的普适性;第二类是使用环境中已有的特征数据进行室内外场景识别,该类方法需要选择普适性好、室内外相关性强的特征数据构建合适的室内外识别模型[6-7]。文献[8]利用机器学习算法对移动通信蜂窝基站在不同环境下的相邻全局系统信号强度进行分类,虽然取得了较好的实验结果,但实验所用室内外的特征数据较少,且对特征挖掘程度不足。文献[9]使用WiFi传感器和弱分类器设计了一种基于半马尔科夫条件随机域的方法来识别室内外环境,但只使用WiFi传感器会让使用场景受到限制。文献[10]利用手机低功耗组件构建室内外检测模型并结合了GPS信息,可对特定位置的场景进行有效的室内外场景识别,但只能在特定位置使用限制了方法的普适性。文献[11]通过用户行为模式进行室内外识别,提出了基于转弯频率和运动占空比的识别算法,但行为特征和室内外识别的相关性较弱,识别精度较低。文献[12]提出了一种基于支持向量机(support vector machine, SVM)的室内外检测算法,该方法根据时间和气象条件设计了多个分类器,但测试数据较少,普适性较低。文献[13]使用基站模块、光传感器和磁力计3个轻量级模块进行场景识别,算法简单、功耗低是该模型的优势,但该模型采用很多关键阈值凭借经验确定,难以适应复杂的环境。文献[14]利用两个平行工作的分类器,使用不断更新的协同学习方式训练分类器,这种方式有效解决了不同环境所造成的识别准确率下降的问题,但该方法会使用新数据的识别结果直接进行监督训练,模型的精度受最初所建立的分类器影响。文献[15]使用图像识别技术进行室内外场景识别,提出了一种不需要图像分割的基于图像的室内外识别的方法,但图像识别算法复杂度较高。
针对上述的研究方法对室内外数据的特征挖掘程度不足、模型鲁棒性差等问题,现提出利用室内外的GNSS卫星信号个数、卫星高度角、信噪比、地磁场数据以及光照强度数据作为特征数据,输入神经网络进行训练得到室内外场景识别模型,以期利用所提取的室内场景识别特征训练得到具有较高的识别准确率的模型。
1 室内外场景识别模型
1.1 神经网络算法原理
神经网络是一种机器学习算法,具有良好的自学习能力[16]。如图1(a)所示,所用神经网络共有3层,分别为输入层、隐藏层与输出层,相邻两层之间以全连接的形式连接。输入层的神经元个数取决于训练所使用的特征个数;隐藏层神经元个数则可根据实际需要调整,取为10个;输出层两个神经元分别代表室内与室外。
图1 神经网络Fig.1 Neural network
如图1(b)所示,下一级单个神经元的输入均是上级神经元输出的加权和,假设上级神经元的输出O=[o1,o2,…,on],w=[w1,w2,…,wn]为对应的连接权值向量,则对于隐藏层与输出层的单个神经元的输入值NEin的计算公式为
在计算出单个神经元的输入值后,神经网络需要根据一定的规则将神经元的输入映射到输出,从而向下一层神经元输出数据。在神经网络算法中,sigmod函数是最常用的计算函数,其可定义为
sigmod函数可以将输入值信号变换成0~1的数值,然后神经元根据该数值计算向下一层神经元的输出NEout,计算公式为
NEout=sigmod(NEin) (3)
假设下一层神经元的输入信号为向量Y,将向量中的每一项用式(2)计算即可得到下一层神经元的输出信号的向量,即
Y=WO(4)
式(4)中:W为神经元之间的权值向量按行排列组成的矩阵;O为上级神经元的输出。
Ek=T-Ok(5)
式中: ΔWi,k为权值的更新值,使用式(7)计算,即。
ΔWm,i=αEiOk(1-Ok)OiΤ(7)
式(7)中:Ok为输出层的输出向量;Oi为隐藏层的输出向量;α∈(0,1)为学习率,学习率可以调节权值变化的强度,避免权值变化过于剧烈,这里设定为0.01。
在完成了Wi,k的更新后,使用式(8)计算出隐藏层神经元的误差Ei,并同样使用梯度下降法更新隐藏层i和输入层m之间的权值Wm,i,使用式(9)计算Wm,i的更新值ΔWm,i。
式中:Im为输入层的输入向量。
1.2 基于神经网络的室内外识别方法
本文方法利用神经网络作为训练模型,主要包括训练阶段和测试阶段。在训练阶段,首先要提取用于室内外识别的特征数据。根据导航卫星数据,结合地磁、光以及室内外标签数据组成一条训练数据,然后将采集的大量数据输入神经网络进行训练得到模型;在测试阶段,需要将新采集的数据输入已训练好的模型,模型的输出结果就是识别结果,该方法的具体流程如图2所示。
图2 基于神经网络的室内外场景识别方法流程图Fig.2 Flow chart of indoor and outdoor scene recognition method based on neural network
2 室内外特征提取
室内外特征选择的优劣直接影响神经网络模型的识别准确率和鲁棒性。选取3种特征用以区分室内外场景,分别是卫星信号特征、光照强度特征和地磁强度特征,对这3种特征进行实验分析、提取,最终形成用于神经网络算法的训练数据。
2.1 卫星信号特征
由于建筑物等的遮挡,室内外的卫星信号特征具有明显的差异。图3是从室内环境走向室外环境的过程中卫星信号数量的变化,虚线是室内与室外的分界线,可以明显看出室外可接收到的卫星信号数量明显多于室内所接收到的卫星信号数量。实验测试表明,在室内环境中由于建筑物的遮挡,卫星信号个数通常在10个以下;在半开放环境,如窗边、由玻璃材料构成的走廊等环境中,卫星信号通常在20个以下;而在室外环境接收到的卫星信号在20个以上。
图3 不同环境下的卫星信号数量Fig.3 The number of satellites in different environments
卫星高度角与信噪比数据与室内外环境也表现出非常强的相关性。如图4(a)所示,当高度角在0°~50°的范围时,室外的卫星信号数量远远多于室内所接收到的卫星信号。当卫星高度角超过60°,在室内难以接收到这些高角度的卫星信号。因此卫星高度角是一个可以用于识别模型的特征。信噪比(signal noise ratio, SNR)是电子设备中信号与噪声的比例,信号质量越好,信噪比越大。如图4(b)所示,在室内可以接收到大量的10~20 dB的卫星信号,而在室外可以接收到大量30 dB以上的卫星信号。因此卫星信号的信噪比也是一个可以用于识别模型的特征。
图4 不同环境下的卫星高度角与信噪比分布Fig.4 Satellite altitude angles and SNR distribution in different environments
提取的卫星信号特征为卫星信号数量、高度角和信噪比,其中卫星信号数量特征是接收到的卫星信号数量的个数;高度角特征是统计以10°为区间的卫星信号个数;信噪比特征是统计以10 dB为区间的卫星信号个数。假设gi是第i个卫星信号特征的数据组织格式,gi可用式(10)表示为
gi=[n,e1,e2,…,e9,s1,s2,…,s5] (10)
式(10)中:n为卫星信号个数;e1为高度角小于10°的卫星信号个数;e2为高度角大于10°小于20°的卫星信号个数;e9为高度角大于80°的卫星信号个数;s1为信噪比小于10 dB的卫星信号个数;s2为大于10 dB小于20 dB的卫星信号个数;s5为大于40 dB的卫星信号个数。最后,将所有数据使用式(11)进行归一化处理,所有卫星信号特征g组成了卫星信号特征的数据集,记为G。
式(11)中:x*为归一化值;xi为样本值;xi,max为该样本数据的最大值;xi,min为该样本数据的最小值。
2.2 光照强度特征
图5为在白天由室内环境到室外环境的光照强度变化,虚线是室内与室外的分界线,可知,室外环境的光照强度远远大于室内环境的光照强度。实测表明:白天在室内光照强度为0~500 lux,在半开放环境中光照强度为0~8 000 lux,在室外晴天光照强度会超过10 000 lux,阴天光照强度为0~10 000 lux。但是夜晚的光照强度在室内外环境的变化不明显,光照强度受人造光源影响较大,此时光照强度与室内外环境关联度变弱。因此光照强度可以在白天作为一个十分显著的特征。将光照强度数据利用式(11)进行归一化处理并将所有的归一化数据组成光照强度特征数据集,记为L。
图5 不同环境下的光照强度Fig.5 Intensity of illumination in different environments
2.3 地磁场特征
由于现代建筑物采用了钢筋材料,室内地磁容易受建筑物内环境的影响,而室外的地磁更加接近自然地磁,地磁数据相对稳定。假设智能手机内置的三轴磁力计测量的磁场数据为[mx,my,mz],单位为微特斯拉(μT),则该点的地磁强度m可用式(12)计算,即
图6为相同面积下地磁强度的分布,可见,室外地磁分布相较于室内地磁更加平缓。因此,地磁强度可以作为一个特征用于室内外识别。将地磁场强度的归一化值作为地磁场特征,所有的地磁场特征数据构成地磁场特征数据集,记为M。
图6 室内外地磁Fig.6 Indoor and outdoor geomagnetism
3 实验
3.1 数据采集与处理
使用红米K20Pro手机和一加7T手机采集数据,如图7所示,实验地点是中国矿业大学南湖校区,室内实验环境是环境与测绘学院楼,室外环境是南湖校区的随机室外环境。实验过程中,采用随机游走的方式采集室内外的卫星数据、地磁数据以及光照强度数据。采用红米K20Pro手机在白天和晚上分别采集200 000条训练数据,再使用红米K20Pro手机和一加7T手机在白天和晚上分别采集100 000条测试数据。
图7 室内外场景Fig.7 Indoor and outdoor scenes
为更加直观地验证模型的有效性,将三类特征进行组合得到如表1所示的组合方式,然后对不同的组合进行训练,以验证不同组合方式的识别性能,并对结果进行对比和分析。
表1 特征组合及含义
3.2 白天的室内外识别模型性能
首先使用白天采集的数据训练得到室内外场景识别模型,并测试模型的识别准确率,表2为各个模型的识别准确率。
表2 白天的室内外场景识别准确率
如表2所示,4种特征组合的识别准确率均超过了95%。在白天光照强度与室内外场景关联度较高,因此两部手机的实验数据显示,使用[G,L]组合的识别准确率最高,而使用单一卫星数据的识别准确率最低。说明本文方法可以在白天有效地识别室内外场景,而且多特征模型的识别准确率相较于单一特征模型的识别准确率更高。
3.3 夜晚的室内外识别模型性能
使用夜晚的数据训练得到室内外场景识别模型,并采用测试数据得到各模型的识别准确率结果,如表3所示。
表3 夜晚的室内外场景识别准确率
在夜晚,各组合的准确率超过了93%。因为光照强度与室内外场景关联度降低,所以[G,L]组合的识别准确率相较于白天有所降低,而[G,L,M]组合的识别准确率最高。这说明该方法同样可以在夜晚有效地区分室内外场景。
实验数据表明,无论是白天还是夜晚,多特征组合的方式会更加有效地区分室内外场景,并且识别准确率可以达到96%。
4 结论
基于神经网络的室内外场景识别方法利用卫星信号特征、光照强度特征和地磁强度特征组成训练数据,将数据使用神经网络算法进行训练得到室内外场景识别模型。实验结果表明,本文方法在区分室内外场景中有较高的识别准确率。但本文方法的不足在于:模型需要在室内外采集大量的训练数据,工作量较大。在今后的研究中,将从如何减少工作量、细化模型或者使用新的模型等方面展开,以进一步提高识别准确率。