基于步态检测算法的辅助行走系统设计
2020-08-11熊毅超李晓欧周志勇
熊毅超 ,李晓欧 ,周志勇
(1.上海健康医学院医疗器械学院,上海,201318;2.上海理工大学医疗器械与食品学院,上海,200093;3.上海电机学院设计与艺术学院,上海,200240)
引 言
盲人和视障患者作为社会的一个特殊群体,给个人、家庭、社会及医疗带来了很大的影响。为了安全出行,可通过城市设置盲道或者使用导盲犬来避免盲人和视障患者跌倒,但通常存在盲道被杂物和社会车辆占据和需要大量的精力来训练和喂养导盲犬等难以解决的问题。目前,国内外市场上的辅助行走系统主要包括穿戴式电子行进辅具、移动式机器人以及导盲杖等[1-2]。它们凭借各自的特点优势,均可以有效地辅助测障。但是实际上当盲人和视障患者处于对地迈步、静止、抖脚或者因外部因素造成振动等状态时,系统不需要启动测障。目前大部分辅助行走系统不能有效减少误报警,同时也存在跌倒后得不到及时救助等问题。
步态,即人行走时的姿态,是人体运动和神经系统结构和功能的外在体现。生活中人体的步态模式可以分为日常生活活动(Activity of daily livings,ADL)和跌倒两大类。ADL 包括行走、跑步和上下楼梯等步态模式[3]。步态检测目的是通过分析被试者的步态信息,识别出被试者的步态模式,方法主要有基于加速度传感器、基于压力传感器和基于多传感器融合等[4-7]。石欣等[8]通过在鞋垫内放置多个压力传感器,利用支持向量机(Support vector machine, SVM)算法实现对日常步态模式的识别。Young 和Omid 等[9-10]分别利用机器学习处理加速度传感器所体现的步态信息来进行步态识别,均获得了较理想的分类结果。在基于多传感器融合方面,席旭刚等[11]设计了一种基于表面肌电信号与足底压力信号融合的步态检测系统,获取更多的步态信息,对跌倒和ADL 的平均识别率可达到91.7%,优于单一信号源识别结果。此外,赵晓东等[12]为克服单信息源的片面性和偶然性,通过将表面肌电信号、三轴加速度信号与足底压力信号特征融合,利用粒子群优化SVM 算法将跑动等步态模式平均识别率提高至92.78%。目前步态检测技术主要聚焦在体育训练、健康检测、医学研究和行人导航等领域[13-14]。随着步态检测技术的发展,可将其与避障相结合,通过识别出被试者的步态模式,来判断是否需要测障,有效减少误报警。
为了盲人和视障患者安全方便出行,以及针对存在的误报警和跌倒得不到及时救助等问题,本文设计一种基于步态检测算法的辅助行走系统。利用放置在鞋垫内的薄膜压力传感器采集被试者足底压力信号,利用三轴加速度传感器采集被试者加速度信号。本方法将三轴加速度信号与足底压力信号特征融合后组成多维特征输入到遗传算法优化SVM 分类器,获得被试者的步态模式识别结果。行走、上楼梯、下楼梯时启动超声波测障,静止模式不启动超声波测障。如果检测到跌倒,则通过安卓手机APP 进行发送定位信息到紧急联系人,并自动拨号。
1 总体设计
整个系统工作流程主要包括加速度信号和压力信号采集、信号处理及步态识别和手机APP 输出步态信息、自动拨号。本系统通过置于鞋底的足底压力传感器和置于脚踝部位的三轴加速度传感器采集步态信息,MSP430 微控制器模块负责读取和处理步态信息。超声波测距模块负责探测障碍物,蜂鸣器和振动马达负责报警,提醒避障。如果检测到跌倒,蓝牙通信模块负责将跌倒信息传输到手机应用端,手机APP 接收跌倒信息后负责发送定位及自动拨号。系统工作流程如图1 所示。
1.1 信号采集硬件设计
系统硬件部分主要具有加速度信号和压力信号的采集与处理、测障两部分功能。硬件部分包括MSP430微控制器模块、超声波测障模块、压阻式压力传感器、三轴加速度计、蓝牙通信模块和电源管理模块等。
(1)数据处理模块:选用美国TI 公司开发的MSP430 系列超低功耗单片机作为核心控制模块。
(2)加速度模块和压力信号模块:加速度模块选用美国ADI 公司研发的ADXL335 加速度传感器采集三轴加速度信号;压力信号模块使用的是RX-D2027 压阻式柔性压力传感器。
(3)通讯模块和电源模块等:系统采用HC-05 无线蓝牙传输模块,最高可以支持1 Mb/s 的数据传输速度,可以保证数据传输有足够带宽,而且是低功耗;考虑到盲人和视障患者可能较长时间行走,系统采用带充电功能的锂电池,报警方式采用蜂鸣器和振动双重报警。
图1 系统总体工作流程图Fig.1 Flow chart of overall system
(4)测障模块:选用HC-SR04 带温度补偿的超声波测距模块作为障碍物检测模块,该模块具有精度高、测量范围比较广和抗干扰性强等优势。
1.2 软件设计
系统软件分为下位机软件和安卓手机APP 设计。下位机软件主要包括初始化、信号读取和处理、测障等部分。当开启该装置的电源按钮后,系统软件完成初始化。然后该系统软件启动信号采集程序,通过置于鞋底的薄膜压力传感器和置于脚踝部的三轴加速度传感器进行信号采集。采集结束后,自动进行嵌入经过训练的分类算法的单片机步态检测程序中。系统如果判定被试者为行走、上楼梯、下楼梯模式则进行超声波测障,并根据是否有障碍物进行报警和提醒避障,如果判定被试者为静止模式则不启动超声波测障。如果系统判定被试者为跌倒,则根据被试者是否有损伤或者影响出行,来决定是否要立即进行自动拨号功能。若检测到被试者取消报警消息发送,则自动进行下一次判定。本系统下位机软件程序流程图如图2 所示。
图2 系统软件程序流程图Fig.2 Flow chart of system software program
本系统的自动拨号及定位功能主要以安卓智能手机为载体,利用智能手机内置的GPS 定位和百度地图API 实现。首先本系统通过安卓智能手机搜索HC-05 蓝牙并连接,然后结合MSP430 微控制器模块对被试者步态信息进行处理和识别。当被试者加速度大于实验设定的阈值,并且结合前脚掌、后脚跟的压力差信息,检测到被试者处于跌倒状态,MSP430 微控制器模块立即执行无线通信任务,向安卓智能手机发送AT 指令信息,最后手机APP 完成对预留的紧急联系人发送位置信息并自动拨号。与大部分盲人和视障患者跌倒后,可能需要得到及时的救助不同,如果跌倒行为并没有产生较大的损伤或影响出行,患者可以一键取消自动拨号功能。
2 基于遗传算法优化支持向量机步态检测算法
2.1 数据采集
考虑到大部分人体活动的频率都低于20 Hz,为了尽可能多地采集到步态信息,将三轴加速度传感器置于脚踝部,其中Z轴朝着人运动正前方,Y轴与地面垂直指向正上方,且X轴与Y轴旋转方向符合右手定则,信号的采样频率为100 Hz[15]。根据成年人的足底压力分布规律选取前脚掌和脚跟为受力点,分别安装一个薄膜压力传感器,采用500 Hz 采样频率采集足底压力信号。考虑到某些剧烈的运动如原地跳起、快跑等,盲人和视障患者在现实中发生的概率比较小。当然在实际生活中静止模式可以是静坐、站立或平躺等行为,跌倒也可以是向前跌倒、向后跌倒、左侧跌倒或右侧跌倒,本文统一归类为静止模式和跌倒。本文主要采集正常行走、静止状态、上楼梯、下楼梯以及跌倒的步态信息。
2.2 数据预处理
采集到的原始信号存在许多噪音,对特征提取带来干扰,所以信号去噪在信号预处理中很重要。小波包变换是建立在小波变换的基础上,但对高频部分也进行了小波分解,比小波分析更加精细。小波包去噪具有低熵性、多分辨率和去相关性等特点,通过对信号多层次分解和重构,提取信号的时频特性,能够有效实现去噪。为了避免部分运动信息边缘局部特征失真的问题以及减少固定偏差,本实验采集的信号采用软硬阈值结合小波包去噪[16]。首先确定全局阈值然后选择软硬件阈值结合去噪函数,即
式中:β为噪声的标准方差,N为小波包变换系数的个数,D(i,j)为处理后的小波包系数,d(i,j)为处理前小波包系数,i为小波包分解层数,j是第i层的第j频带,p为阈值函数调节因子。
2.3 多维特征提取
式中:N表示传感器采集样本数表示加速度信号均值,Fi表示薄膜压力传感器采集到的前脚掌压力值,fi表示薄膜压力传感器采集到的后脚跟压力值。
时频域分析既可以描述频率在信号内的强度,也能体现信号的时域信息。小波能量谱是基于小波包分解提取多尺度空间能量特征,原理是把不同分解尺度上的能量求解出来,将这些能量值按尺度顺序排列成特征向量供识别使用特征。小波包能量计算公式为
式中:d(i,j)为小波包变换系数,j为低频子空间的序号。本文对加速度信号处理选择db5 小波基函数进行3 层小波包分解,选择8 个低频子空间加速度信号,提取小波包能量[17-18]。
2.4 遗传算法优化SVM
相比较于朴素贝叶斯、K 近邻和决策树等基于统计模式识别的分类方法,SVM 在解决小样本、非线性以及高维识别问题方面优势明显,也具有泛化能力强、易于推广和人为设置参数少等优点[19]。
SVM 原理是寻找一个满足分类要求的最优分类超平面,它以结构风险最小化原则为理论基础,其学习策略是间隔最大化,最终转化为一个二次规划问题的求解。对于线性不可分的数据时,需要先确定核函数,然后通过非线性映射算法将低维输入空间特征不可分的样本转化为高维特征使其线性可分。设存在线性不可分的步态数据集(Xi,Yi),X∈ Rd,Y∈ {-1,1},i=1,2,…,n,其中Xi为训练样本数据集的特征向量,Yi为样本的正负标签,该线性判别函数的一般表达式为:f(x)=ωx+b。其中ω为超平面法线,b为偏置向量,此时分类面为ωx+b=0。选择合适的核函数K(xi,x)和参数C,通过构造拉格朗日对偶函数可描述非线性支持向量机,即
式中:C为惩罚因子,α 为拉格朗日乘子;得到各系数最优解,确定核函数之后,则最优分类函数为
SVM 非线性变化依靠核函数完成,所以核函数选择十分重要。本文选择径向基函数(Radial basis function, RBF)作为SVM 核函数,即。
遗传算法(Genetic algorithm, GA)是基于达尔文进化论的启发搜索模式,是一种具有自适应能力的,全局性的概率搜索算法。原理是模拟自然界适者生存的进化现象,将问题解决的空间映射到遗传空间,不断向最优解进化[20]。基于遗传算法优化支持向量机需要对惩罚因子C和RBF 参数γ进行寻找优化,通过遗传机制的选择、交叉、变异等保留适应度好的种群,并且不断迭代进化,最终获得最优种群,获得最佳解决方案。遗传算法优化支持向量机核函数参数流程如图3 所示。
图3 基于遗传算法的SVM 流程图Fig.3 Flow chart of GA-SVM
3 结果与分析
3.1 实验方案
考虑到个体的差异性,本实验选取4 名身体健康状况良好的同学作为数据采集对象(包括2 名男生,2 名女生,年龄均在23 岁)。本文对每种步态模式重复进行采集12 组数据,最后选取共计210 组样本数据集,在小波包去噪等预处理后用于对比实验。图4 为被试者行走、静止、上楼梯、下楼梯和跌倒5 种步态模式的竖直方向加速度信号,图5 为被试者行走、静止、上楼梯、下楼梯和跌倒5 种步态的后脚跟压力信号。其中168 组作为训练集,其余42 组则分别输入经过训练后的SVM 模型和基于遗传算法优化SVM 模型进行对比。遗传算法设定参数为:初始种群个数NIND=50、最大遗传代数MAXGEN=50、代沟GGAP=0.95。采用单点交叉变异,交叉概率px=0.8、变异概率pm=0.01。本实验结果将与基于单一加速度信号和基于单一足底的压力信号步态检测结果进行对比。
3.2 结果分析
遗传算法优化训练过程中选择5 折交叉验证方式获得最优适应度,经过50 次迭代后,计算出最优参数组合惩罚因子C=5.098 1、核函数参数γ=1.019 7,具体最优参数寻优如图6 所示。在获得最优参数组合后,对测试集用最优SVM 模型进行测试训练,5 种步态平均准确率为90.48%,而不对支持向量机参数寻优时,选择惩罚因子C=10、核函数参数γ=10 时,5 种步态平均识别率仅为78.57%。图7 所示为未参数优化SVM 模型的测试集混淆矩阵,图8 所示为基于遗传算法优化的SVM 模型的测试集混淆矩阵。
在对支持向量机优化参数后,本文将利用单一加速度信号的步态识别率和与利用单一足底压力信号的步态识别率作对比,结果如图9 所示。基于单一加速度信号的步态平均识别率为80.42%,基于足底压力信号的步态平均识别率只有69.28%,可以看到在融合加速度信号与足底压力信号后,5 种步态的平均识别率为90.48%,均明显大于基于单一信号。
图4 5 种步态模式的竖直方向加速度信号对比Fig.4 Comparison of acceleration signals in the vertical direction of five gait patterns
图5 5 种步态的后脚跟压力信号对比Fig.5 Comparison of heel pressure signals of five gait patterns
图6 最优参数选择结果Fig.6 Optimal parameter selection result
图7 基于SVM 模型的识别结果Fig.7 Recognition results based on SVM model
图8 基于GA-SVM 模型的识别结果Fig.8 Recognition results based on GA-SVM model
为了验证本系统测障功能,本文在室内环境进行障碍物检测实验,该室内环境具有各种不同体积大小的障碍物,包括办公桌、石头、水杯和直线等。以上4 名健康状况良好的同学穿着鞋底带有2 个薄膜压力传感器和脚踝部位带有三轴加速度计的特制压力鞋,其中超声波传感器距离水平地面约5 cm。考虑到HC-SR04 超声波传感器在外接电阻为392 Ω 或者 432 Ω 时,探测距离为 2~450 cm,同时留给被试者避障时反应距离约为50 cm。设置安全距离d,该安全距离表示报警时该系统前沿和障碍物边缘的距离差值。如果满足条件安全距离50 cm ≪d≪450 cm,即可以判定为测障成功,否则判定为误报警或者漏报警。测障结果如表1 所示,对于常见的障碍物,本系统选用的超声波测障传感器均可以探测到。当然,对于悬空细绳等,虽然报警距离较短,但是只要范围内,本系统均可以探测到。
图9 5 种步态模式识别结果对比Fig.9 Comparison of five gait pattern recognition results
表1 不同障碍物检测结果Table 1 Detection results of different obstacles
如果检测到被试者跌倒,蜂鸣器和振动马达首先会报警,其次该系统会向智能手机发送AT 指令(Attention)信息,最后手机APP 完成对预留紧急联系人发送位置信息及自动拨号。同时本系统设置20 s 的等待时间,如果跌倒没有产生较大的损伤或影响出行,被试者可以选择一键取消发送。整个安卓手机APP 包括被试者和紧急联系人信息存储,其中紧急联系人姓名和联系方式是强制填写、基于GPS 定位、跌倒检测和求助等功能。跌倒求助短信界面和自动拨号界面分别如图10 和图11 所示。
图10 跌倒求助界面Fig.10 Interface of fall help
图11 自动拨号界面Fig.11 Interface of automatic dialing
4 结束语
本文研究并实现利用融合三轴加速度信号与足底压力信号对步态进行检测,同时实现超声波测障功能。系统通过对行走、静止、上楼梯、下楼梯和跌倒5 种步态的三轴加速度信号和足底压力信号的采集及小波包去噪处理,选取时域特征加速度信号均值、标准差、方差,以及前脚掌与后脚跟压力信号差的均值,时频特征选取加速度信号小波包能量谱作为特征值。选取SVM 作为分类器,选择RBF,通过遗传算法优化和未参数寻优对比,遗传算法优化SVM 的步态检测效果最佳,5 种步态平均识别率达到90.48%。同时通过融合加速度信号与足底压力信号步态识别和基于单一加速度信号、单一足底压力信号对比结果表明,多源融合信号对5 种步态的识别率均明显高于单一信号。实验结果表明,该系统基于多传感器融合的步态检测技术,步态平均识别率达到90.48%,可以在450 cm 范围内准确测障,误报警较少。该系统便携性好、功耗低,操作方便,在盲人和视障患者辅助行走领域具有一定的研究意义和实用价值。