基于随机森林算法和摩擦起电传感器的人体运动识别研究
2022-07-13冷寒松张丰铎任立杰杨大伟王志华
冷寒松,张丰铎,任立杰,杨大伟,王志华
(1.河北工业大学电气工程学院,天津市北辰区西平道5340号 300401;2.河北工业大学省部共建电工装备可靠性与智能化国家重点实验室,天津市北辰区西平道5340号 300401;3.国网山东省电力公司济南市历城区供电公司,山东省济南市历下区华龙路31号 250000;4.渤海石油装备承德石油机械有限公司,河北省承德市双桥区开发区西区四号 067000)
检测运动状态、姿态的传感器在物联网,无人飞行器,航空航天,智能医疗等诸多领域发挥着不可替代的作用[1]。现有的运动传感器由陀螺仪和加速度计等元件组成,需要微电源和微处理电路的供能,虽然精度很高,但是其制作工艺复杂,价格昂贵,维护相对困难,无法满足物联网对运动传感器的庞大需求。同时由于传感器的结构复杂,因此在小型化和集成化上难以有更加深入的推进。随着物联网技术的发展,大量采集运动状态的传感器需要被安装在各种仪器[2]、户外设备[3]、交通工具,甚至是鞋子、服装上[4]。这就对传感器的功能、成本和供能方式提出了新的要求。
摩擦起电不需要电磁发电那样固定、复杂的设备。基于聚合物摩擦起电原理制造的设备已经被广泛应用于风能[5-6]、波浪能[7-8]以及其它机械能量[9-10]的采集。摩擦起电式运动状态传感器易于制造,维护成本低,功能多样,符合物联网的发展对运动传感器的需求。通过研究摩擦起电原理,聚合物材料的摩擦起电性能,从而制造出功能多样,结构合理的多功能传感器对于推动物联网的发展具有十分重要的意义。
研究人员对不同聚合物材料的摩擦起电水平进行了实验分析[11]。根据力传感器和惯性式加速度传感器在结构和原理上的相似性,陈玉良等[12]提出了一种高弹性梁结构摩擦起电传感器,实现了对力、加速度和振动的有效传感。研究人员通过将球形或圆柱型旋转体与惯性式直线传感器相结合,开发了能够同时传感直线和旋转运动的多功能传感器。Chengkuo Lee等[13]以商用陀螺仪为结构基础,提出了一种基于摩擦起电的三轴陀螺仪球,用作三轴加速度和旋转传感器。这是首个能够同时传感直线和旋转运动的摩擦起电传感器。此外,一种应用磁控辅助技术的多功能运动传感器[14],能够感知直线和旋转运动的方向、速度和加速度。一种平移旋转式多功能传感器[15],通过惯性旋转轴结构将直线运动转换为旋转运动,有效地减小了直线加速度传感器的体积,同时实现了对旋转运动的有效感知。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度等多门学科。机器学习算法能够高效的利用信息来解决传感器问题[16]。张铁壁[17]通过采用神经网络算法,有效的消除了传感器之间的交叉干扰,提高了传感器的测量精度和稳定性。
文中对聚合物多功能运动传感器的结构和工作原理进行分析,将传感器固定在人体上进行测试,并采用森林随机算法对传感器输出电压进行分析,实现对人体运动状态的识别。
1 基于摩擦起电效应的多功能运动传感器
1.1 传感器结构分析
基于摩擦起电原理设计的运动传感器易于制造且成本较低,同时无需外部电源供电,维护方便,满足了物联网对于传感器的需求。文中提出的自供电多功能运动传感器和实体结构如图1(a)(b)所示。传感器的主体由透明树脂材料制成,尺寸为5cm×5cm×3.3cm,结构为空心圆柱,外壳分为尺寸为5cm×5cm×3cm的容器部分和尺寸为5cm×5cm×0.6cm的顶盖部分,顶盖可以拆卸。在顶盖和底座包围的空腔中,共设置有七个厚度为0.1mm的铜箔电极:顶部电极设置在顶盖的下表面,主要用于传感被测对象垂直方向上的振动;4个方向电极设置在圆柱体的内侧壁上,中间留有缝隙,主要用于传感被测对象线性运动的方向,以及发生旋转运动时的转速;在空腔的底部正中央位置,设置了圆片型的中心电极,环绕着中心电极还有环形电极,这两种电极与方向电极相互配合,共同传感线性运动的速度以及加速度。所有电极的表面均覆盖了10μm厚的聚四氟乙烯薄膜。在外壳的空腔中内置了一颗直径10mm的聚氨酯球。
(a)结构与材料 (b)传感器实物图(a)Structure and material (b)Photo of the sensor图1 多功能运动传感器Fig.1 Multifunctional motion sensor
1.2 传感器工作原理分析
多功能运动传感器检测物体沿水平方向运动时的工作原理如图2(a)所示。当聚氨酯球沿水平方向滑离中心电极时,电极附近空间瞬间得到大量电子且无法立即得到补偿,因此电势瞬间降低,输出电压上出现负的波峰。在这之后,由于电荷泄漏等外界因素的影响,电极与公共端之间的电势差迫使电子从中心电极流向公共端,输出电压逐渐归零,从而建立了新的静电平衡。当聚氨酯球滑回中心电极时,电极附近的空间瞬间失去大量电子且无法立即被消纳,电势则瞬间升高,输出电压出现正的波峰。之后,电子在电势差的驱动下,从公共端流向电极,再次建立新的静电平衡。
(a)水平方向运动(a)Horizontal movement
(b)垂直方向运动(b)Vertical movement图2 传感器工作原理Fig.2 The principle of sensor
垂直方向的单电极模型是聚氨酯球沿垂直方向振动时的工作模式,如图2(b)所示,聚氨酯球与底部的聚四氟乙烯膜接触时带正电荷。当传感器垂直振动时,聚氨酯球靠近顶部电极,顶部电极附近的电势瞬间升高,输出电压波形出现正的波峰,静电平衡被打破。电势差驱动电子从公共端流向电极。值得注意的是,聚氨酯球在接触顶部电极的瞬间,撞击改变了聚氨酯球的运动方向,使得聚氨酯球迅速远离顶部电极。在顶部电极附近的电场尚未达到静电平衡时,聚氨酯球的远离又加速了电极附近的电势降低。因此输出的电压波形在出现正的波峰后,没有静电平衡就再次转向负波峰。
2 随机森林算法在人体运动状态识别上的应用
2.1 传感器测试
多功能运动传感器具有7个电极,除了能够传感机器设备的规律性机械运动外,多功能运动传感器还可以被安装在衣服或鞋子中,传感人体的运动状态。多功能运动传感器被固定在实验人员的脚腕处,分别采集了实验人员在走路和跑步过程中的输出电压,如图3所示。
图3 多功能运动传感器在传感走路和跑步时的输出电压Fig.3 The output voltage of multi-functional motion sensor in walking and running
通过图3可以看出,输出波形具有周期性。另外,运动状态不同,输出电压的频率、峰值也不相同。在走路时,波形频率较低,周期较长,波形的峰值电压相比跑步时也较小。此外,不同位置的电极,在同一个运动过程中的输出波形也不相同。前方向电极和后方向电极上,输出电压峰值较高,波形频率相对稳定;在环形电极和顶部电极上,输出电压峰值较低,波形没有明显的周期性。
2.2 随机森林算法识别人体运动
随机森林算法(Random Forest,RF)作为一种新兴起的、高灵活度的机器学习算法,在智能医疗、金融分析等领域具展现出了良好的效果。随机森林算法将多棵决策树合并在一起,每棵树的建立依赖于一个独立抽取的样品的过程。相比于其它算法,随机森林算法在解决分类问题时,具有计算速度快,分类准确率高的优点。
随机森林算法属于Bagging方法的一种。图4展示了Bagging方法的训练过程。Bagging方法是自举汇聚法,其基本思想是在原始数据集中通过有放回的抽样方式,选取样本进行数据训练,因此,通过Bagging方法所训练的模型存在重复的数据。当经过Bagging方法训练出的模型在预测新样本分类时,会使用多数投票和求均值的方法来统计最终的分类结果。
图4 Bagging法基本训练过程Fig.4 Basic training process of Bagging method
随机森林算法可以解决分类和回归两类问题,运用随机森林算法进行人体运动状态的识别就是依据每组数据的特征值将数据分为走路和跑步两种类型,属于典型的分类问题。首先,在样本集中有放回地选择N个样本,从所有属性中随机选择K个属性,将得到的最佳分割属性作为节点创建决策树。重复上述步骤M次,即建立了M棵决策树,通过M棵决策树形成的随机森林,通过投票表决分类结果。正是因为随机地选择了K个属性,保证了决策树的多样性,形成多样化的局部最优解,最终的分类结果才具备可靠性。
在所建立的随机森林算法模型中,选择了数据的极差以及标准差作为特征值。在走路状态下,传感器中的聚氨酯球随着脚腕前后运动,前方向电极与后方向电极输出电压峰值较小,波形频率较低,左电极和右电极输出平缓;在跑步状态下,前、后电极输出电压峰值明显提高,波形频率周期性变化,左右电极输出电压提高。传感器顶部电极用于检测垂直方向的振动,中心电极和环形电极用于检测线性运动的速度与加速度,在走路与跑步运动识别中,输出电压峰值较低,波形没有明显的周期性。所以选用前、后电极输出来识别走路与跑步状态,左、右电极作为辅助识别。这样用于训练决策树模型的特征值共有8个,分别是前、后、左、右电极电压极差X1,X2,X3,X4,前、后、左、右电极电压标准差X5,X6,X7,X8。目标值为运动状态Y,Y的取值在走路时设为0,跑步时设为1。为了提高分类的准确性,应用卡方系数对8个特征值进行相关性分析。分析结果显示左方向电极电压标准差(X7)与结果之间相关性较弱。去除与结果相关性较弱的特征值后,剩余7个特征,连同目标值组成了向量(X1,X2,X3,X4,X5,X6,X8,Y)。确定特征值后,利用Python编写了随机森林模型,模型参数如表1所示。
表1 随机森林模型参数及数值Tab.1 Parameter types and numerical simulation of Stochastic Forest Model
根据模型的复杂程度,将决策树的最大深度设置为3,这样包含根节点在内,决策树的层数为4层。考虑训练样本的数量,确定决策树的数量为100,度量指标为默认值,即基尼系数。通过240个训练样本对随机森林中的100棵决策树进行训练,从中随机选择一颗决策树,通过代码可视化的方法展示其训练流程如图5所示。
图5 随机森林模型中的决策树训练流程可视化Fig.5 Visualization of decision tree training process in random forest model
从图5可以看出,决策树随机选取到的特征量为X1,X4,X8,即前方向电极电压极差、右方向电极电压极差、右方向电极电压标准差。因为每棵决策树都随机地从7个特征量中选择其中的3个,保证了随机森林中决策树的多样性。通过将样本反复代入决策树进行训练,每棵决策树都形成了独有的区分走和跑的判断标准。由于树与树之间在特征量以及训练样本上存在或多或少的差异,所以它们在进行运动状态分类时得出的结果也不完全相同。最终的分类结果通过所有决策树共同投票产生。
利用多功能运动传感器采集60组运动数据,其中包含30组的走路数据和30组的跑步数据,代入到训练完成的随机森林模型中,对得到的分类结果Y1和真实值Y进行比较。结果显示,随机森林模型的分类正确样本数为58个,分类错误样本数为2个,分类准确率为98.3%,满足日常监测需求。
传统的二分类算法如逻辑回归也能够实现对走路和跑步的识别。逻辑回归算法属于概率型非线性回归,将走路和跑步数据引入进行训练,应用值域为(0,1)的sigmoid函数进行分类,函数输出值大于0.5的输出为1,小于0.5的输出为0,通过损失函数来度量预测错误程度,最后利用梯度下降法优化参数。将数据代入训练后准确度达到93.5%。对比传统的逻辑回归算法,随机森林模型的分类准确率能够达到98.3%,对走路和跑步的识别更加精准。
3 结论
文中对多功能运动传感器的结构和电荷转移特性进行了分析。所提出的传感器通过7个电极采集人体水平和垂直运动信号。基于随机森林算法对传感器的输出电压信号进行分类,识别人体的运动状态。将传感器安装在测试人员脚踝处可测得多个电压信号,随机选出前电极电压极差X1、右电极电压极差X4和右电极电压标准差X8为特征量,利用Python编制随机森林算法程序。通过分析跑步和走路时的输出电压各30组,采用随机森林算法对走路和跑步状态的分类准确率可达98.3%,具有良好的识别效果。