本发明属于安全预警领域,具体涉及一种hmm-svm跌倒模型的构建方法和基于该模型的跌倒及跌倒方向检测方法。
背景技术:
根据世界卫生组织统计,每年约有35%的65岁及以上老人发生过跌倒,跌倒不但会造成骨折致残等严重的生理伤害,而且对老年人产生较大的心理影响。因此研发跌倒预警的相应算法和检测设备,有利于及时采取相应的保护措施,尽量减少人体因跌倒造成的伤害。
目前关于跌倒检测的研究主要有事后跌倒检测和事前跌倒检测。事后跌倒检测以跌倒后及时通知亲属或监护中心,缩短等待救援时间为目的;而事前跌倒检测在老年人发生跌倒但未碰撞地面前完成判断,提供充分的预警时间供启动安全气囊等保护装置。相比事后跌倒检测,不但即时发出警报,而且能最大程度减少人体所受伤害。
目前跌倒检测的技术主要有3种:①基于2020欧洲杯投注官网 的室内跌倒分析,这种技术不足在于无法保证用户隐私,无法实现在户外监测,且受光线影响大;②基于周围环境的跌倒检测,即通过监测老年人周围红外、压力等物理量来判别跌倒,这种技术与基于2020欧洲杯投注官网 技术一样,也无法实现在户外监测;③基于穿戴式的跌倒检测既保证用户隐私,又对应用范围限制小,是一种比较理想的跌倒检测技术。
综上所述,考虑到穿戴式跌倒检测技术和事前检测策略的优势,国内外学者在该领域进行了尝试,其中最著名的是由日本prop公司发布的一种基于加速计和陀螺仪的安全气囊系统,该系统在短时间内可对放置于头部和臀部的2个气囊完成快速充气过程。国内研究方面,香港中文大学shi团队将气囊等模块放置在骻部,设计了针对骻骨保护的事前检测气囊保护系统。
与目前绝大多数事前检测研究类似,以上研究仅考虑了碰撞前检测出跌倒趋势的二值分类情况,没有进行跌倒方向的判别的功能,因此无法针对性的开启安全气囊以更好的起到保护作用。
技术实现要素:
本发明的目的在于提供一种hmm-svm跌倒模型的构建方法及基于该模型的跌倒检测方法,以解决现有技术无法预测跌倒方向造成的无法针对性的开启安全气囊,造成保护力度弱的问题。
为了实现上述目的,本发明提供了一种hmm-svm跌倒模型的构建方法,包括:
对训练集中的至少两个方向跌倒的数据集进行特征组合提取并串接成观察值序列;所述训练集由至少两个方向跌倒及至少两类日常活动的数据组成;
利用所述观察值序列,训练出所有所述方向跌倒的hmm模型;
对训练集中的日常活动的数据集进行特征组合提取,串接成观测值序列,并结合所述观察值序列,共同放入所述hmm模型,获得训练集的输出概率向量;
对训练集的输出概率向量作归一化处理,训练出svm模型。
优选的,所述训练集由至少两个方向跌倒及至少两类日常活动的加速度和姿态角数据组成。
优选的,所述训练集由前、后、左、右四个方向跌倒及十类日常活动的数据组成。
优选的,所述构建方法还包括:
对训练集中的至少两个方向跌倒的数据集进行特征组合提取并串接成观察值序列包括:
采用时域分析法对训练集中的数据集进行特征提取;
罗列不同的特征,采用wrapper方法进行特征选择,确定特征组合;
根据确定的特征组合,将训练集中的每一个训练样本都划为一个特征向量集,向量集记为f={amean、amin、attitude、roll、pitch};其中amean为合加速度均值、amin为合加速度最小值、attitude为角度变化和、roll为滚转角变化、pitch为俯仰角变化;
将向量集合的值域执行分段符号化处理,把符号取值作为所述观察值序列中的元素取值。
优选的,利用所述观察值序列,训练出所有所述方向跌倒的hmm模型包括:
定义模型初始参数,确定初始的hmm模型λ0=(m,n,π,a,b)的各参数的初始值;隐状态数m、观测值数量n、初始状态概率矩阵π、初始隐状态转移概率矩阵a和初始观测状态转移概率矩阵b;
根据b-w算法,利用所述观测值序列进行训练,利用重估公式优化参数,确定最终的hmm模型λ=(m,n,π,a,b)。
优选的,所述对训练集的输出概率向量作归一化处理,训练出svm模型包括:
准备样本集
通过计算各hmm模型和训练集内的样本的匹配度,形成输出概率;
对所述输出概率进行缩放操作,得到归一化处理后的训练集;
选择核函数;
对所述核函数进行参数寻优,得到最优参数组合;
根据所述最优参数组合确定所述svm模型。
优选的,所述训练集中的数据通过佩戴在用户腰部的传感器采集得到。
本发明另一方面还提供了一种基于上述的hmm-svm跌倒检测模型的跌倒检测方法,包括:
采集用户的加速度和姿态角数据;
对所述加速度和姿态角数据进行特征提取,产生观察值序列;
将所述观察值序列输入预存的至少两个方向的所述hmm模型,获得输出概率向量并进行归一化;
将所述归一化后的数据输入预存的所述svm模型,判断是否跌倒以及跌倒方向。
优选的,采集用户的加速度和姿态角数据通过佩戴在所述用户腰部的传感器进行。
优选的,所述hmm模型为前跌、后跌、左跌以及右跌四个方向模型。
优选的,特征提取为提取合加速度均值amean、合加速度最小值amin、角度变化和attitude、滚转角变化roll以及俯仰角变化pitch。
优选的,所述跌倒检测方法还包括:在判断到所述用户具有一个方向的跌倒趋势时,发出警报。
优选的,所述跌倒检测方法还包括:在判断到所述用户具有一个方向的跌倒趋势时,打开对应位置的安全气囊。
与现有技术相比,本发明具有如下有益效果:
判别出跌倒方向,利于开启指定位置气囊提供针对性保护。测试训练出的hmm-svm混合模型的检测率,发现前跌、后跌、左跌、右跌和日常活动的检测率分别为96%、98%、93%、92%和97.5%。通过对比发现,各类跌倒检测率均高于目前跌倒方向判别研究的检测结果,验证了本发明提出的hmm-svm模型的有效性。
统计本混合算法的预留时间,可知其具有245ms左右的预警时间用于启动防护装置,证明了本发明提出的方法具备足够的预留时间。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明系统的安装示意图;
图2示出了本发明的方法流程图;
图3示出了本发明与现有技术检测率对比图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明旨在基于惯性导航模块和隐马尔科夫-支持向量机模型(hiddenmarkovmodel-supportvectormachine,hmm-svm)进行事前跌倒检测和方向判别,采用如下技术方案,具体包括以下步骤:
1.1在腰前佩戴好数据采集模块,在多次的模型构建过程中,这一步骤只需操作一次即可,并非每次必须。
本发明用到的硬件可包括两部分:①数据采集模块,包括传感器模块、通信模块和电源模块,该部分由用户佩戴在腰前;②计算报警模块,手机端利用蓝牙通讯技术作为无线通信方案,接收穿戴端人体的行为信息,并负责执行跌倒预警算法,以及跌倒后的发送警报等操作。
当然,计算报警模块与数据采集模块集成在一起,用于执行跌倒判别及预警。
头部、腰前、大腿、手腕是最常见的穿戴位置。而腰部接近人体重心位置,腰部的节点能反映人体的平衡状态,代表身体的运动,所以腰部是理想的检测位置。从用户体验角度出发,腰部穿戴装置更具备便利性,本发明从检测准确率,用户体验角度考虑,优选腰前作为本发明跌倒预警系统中传感器的佩戴位置。
1.2采集4种类型跌倒(前跌、后跌、左跌和右跌,代表了不同方向的跌倒)和10种最常见日常行为的加速度和姿态角数据,此后随机挑选出数据样本,作为训练组和测试组,训练组用于训练出hmm-svm混合模型,测试组用于检测混合模型的检测率。
本发明结合老年人的动作特点,定义了10种类型的老年人每天必须进行的、最基本的、最有共性的和需反复执行的日常活动,用于后面的数据采集及分类讨论,其中包括了几类剧烈的日常活动,分别为站立转身、坐下起立、蹲下起立、弯腰起身、躺下坐起、躺下翻身、行走、慢跑、上楼梯和下楼梯。当然其他种类或数量的日常行为也在本发明保护范围内,以上10种日常活动仅为其中较常见实施例。本发明可限制为至少两种日常活动。
由于前趴下跌倒、后躺下跌倒、左侧身跌倒和右侧身跌倒这4类是极易引起髋骨骨折的跌倒,本发明主要区分以上跌倒行为,以下简称为前跌、后跌、左跌和右跌。当然其他数量或种类的方向划分也在本发明保护范围内,其原理是一样的。本发明可限制为至少两个方向。
为了采集数据训练出混合模型,本发明选取了10位实验对象,年龄24±1.4、身高174.1±4cm和体重64.5±5.2kg。根据之前定义的4种人体跌倒,10种日常活动,每位实验对象,合计需要完成14个动作,本发明共采集了600组跌倒和600组日常活动,选取前跌、后跌、左跌和右跌各50组合计200组,各类日常行为各20组合计200组,用于训练出hmm-svm模型,其余跌倒及日常活动样本用于验证模型的有效性。
1.3提取4类跌倒过程的加速度和姿态角观察值序列,构建训练数据集。
1.4训练出代表4种类型跌倒的隐马尔科夫模型λfront、λback、λleft及λright。
1.5对日常活动的重要数据段提取特征,串接成可见观测值序列,结合以上可见观察值序列,共同放入上一步训练出的4个hmm模型,获得训练集合的输出概率向量。
1.6对训练集合的输出概率向量作归一化处理,训练出支持向量机模型。
所述步骤1.3具体如下:
(1)采用时域分析法对采集得到的行为数据进行特征提取;罗列不同的特征,采用wrapper方法进行特征选择,确定最优特征组合(共5个),以构成特征向量。
(2)参照上步确定的最优特征组合,将每一个训练样本都划为一个特征向量集,向量集记为f={amean,amin,attitude,roll,pitch}。
为简化算法,将向量集合的值域执行分段符号化处理,把符号取值作为可见观察序列中的元素取值。首先定义特征amean符号的有限集合:
s={s1,s2,…,sk},k≥1(1)
记amean的值域为θ,可用如下集合表述:
将θ分段,集合s中的符号与每段存在对应关系,即s1与[θ1-1,θ1)对应,其中1≤1≤k。
在跌倒的失重阶段,由于躯干的倾斜,地面对人体的支撑力减小,故该阶段合加速度逐渐减小,此窗口内的均值一般小于0.8g,所以将0.8g前后进行分段,故针对合加速度的均值,本发明划分为2段。同理,对其余4个特征符号化,最终定义符号集合r={1,2,3,4,5,6,7,8,9,10,11,12}来标识特征集合中的元素。
所述步骤1.4具体如下:
1.4.1定义模型初始参数:确定基于hmm的人体跌倒预警模型λ0=(m,n,π,a,b)的各参数的初始值。即分别为跌倒预警模型的隐状态数m、可见观测值数量n、初始状态概率矩阵π、初始隐状态转移概率矩阵a和初始可见观测状态转移概率矩阵b赋值。
(1)跌倒预警模型的隐状态数m:m通常根据经验估计,跌倒预警模型常选择m为3~8,本发明首先统一选取3状态markov链,发现随着隐状态数的增加跌倒检测率趋于稳定无显著提高,故各模型的隐状态数为3,即最终选取m=3。
(2)可见观测值数量n:根据特征序列元素的符号化规则,得到的符号集合r={1,2,3,4,5,6,7,8,9,10,11,12},故观测值数量n=12。
(3)初始状态概率矩阵π:相对传统的全连接的hmm,无跨越左右型的hmm进行人体跌倒预警与方向判别,可降低计算复杂度,且提高跌倒的检测率。本发明基于无跨越左右型hmm的结构特点,为初始状态概率矩阵赋予初值,π1=1,πi=0,i∈{2,3}。
(4)初始隐状态转移概率矩阵a:根据左右型的特点,初始隐状态转移矩阵设置为
(5)初始可见观测状态转移概率矩阵b:初始观测状态转移概率矩阵为均匀分布,bij=1/n,i∈{1,2,3},j∈{1,2,3,…,12}。
1.4.2根据b-w算法,对给定的用于训练的可见观测值序列,进行训练,利用重估公式来优化参数,确定最终的基于hmm的人体跌倒预警模型λ=(m,n,π,a,b)。
定义λ0后,根据b-w算法对o进行训练,得到跌倒预警模型。本发明要实现跌倒方向判别,这属于多值分类问题,故建立模型阶段需建立4类hmm模型,分别代表前跌、后跌、左跌和右跌4个跌倒方向的预测模型,依次标记为λfront、λback、λleft和λright。本发明在matlab环境下利用hmm工具箱进行训练。hmm工具箱中,loglik为对数似然值,表示可见观测值序列与hmm的吻合程度,和p(o|λ)等价。loglik为一个负值,当其越接近0,表征可见观测值序列与hmm的匹配程度越高。
本发明采用每个方向的跌倒各50组,即50组前跌、50组后跌、50组左跌和50组右跌,用于训练出λfront、λback、λleft及λright这4个模型。最大迭代步数设置为100,算法的收敛误差设置为1×10-5。分别计算50组前跌、50组后跌、50组左跌、50组右跌和200组日常行为与4个模型的匹配度。
所述步骤1.6具体如下:
(1)准备样本集
通过计算各hmm模型和用于训练的待测行为的匹配度,形成了特征值,提供给svm进行识别,以获得最终判别模型。本发明采用了libsvm软件开发包训练出最终判别模型。
本发明需要判别前跌、后跌、左跌、右跌和日常活动这5类行为,故需要设置5个代表样本类别的标志,即需设置
(2)缩放操作
训练样本集内的特征数据,当某个特征值范围过大或者过小时,训练中各个特征起的作用将不平衡;并且在数据不平衡的情况下计算核函数内积时,易造成计算困难。为了避免这2种现象,需对数据进行缩放操作,通常将数据缩放至[0,1]或[-1,1]区间内。缩放前首先确定某类特征数据的最大值和最小值,分别标记为xmax和xmin,选择缩放区间[a,b],对于区间[a,b]中的任意x,采用如下缩放公式:
x*=(x-xmin)/(xmax-xmin)×(b-a)+a(3)
x*即为缩放后结果,本发明选取区间[-1,1],利用libsvm软件包提供的windows环境下的可执行文件,经过缩放操作,归一化处理后的训练集被保存为scale文件,同时缩放规则被保存在range文件中,用于电脑端对测试集的缩放操作和手机端对实时数据处理时的缩放操作。
(3)核函数选择
核函数中径向基函数,针对高维或者低维,小样本或者大样本情况均适用。考虑到径向基函数具备适用性,且在研究中应用较广,本发明选取径向基函数作为核函数。
(4)参数寻优
选择径向基核函数后,需对惩罚系数c和核函数参数g进行参数寻优。libsvm软件包内提供了一个用python语言编写的名为grid.py工具来完成参数寻优。该工具首先对惩罚系数c和核函数参数g指定一个范围,然后通过网格搜索和k折交叉验证以确定最优的c和g组合。其中网格搜索是指遍历各种不同的c与g组合值,k折交叉验证就是将样本集分为大小相等的k部分,k部分间彼此互斥,当第1组训练样本用于测试分类模型检测率时,其它k-1组用于训练模型,重复k次后,再将k次的正确率求平均得到此模型最后的正确率。通过网格搜索和交叉验证最终寻得c和g的最优值组合。
(5)得到模型
设置上步中获得的最优参数c和g,调用函数训练样本集后,得到分类模型model文件。
上述6个步骤用于构建hmm-svm跌倒检测模型,其方法可总结为:
对训练集中的至少两个方向跌倒的数据集进行特征组合提取并串接成观察值序列;所述训练集由至少两个方向跌倒及至少两类日常活动的数据组成;
利用所述观察值序列,训练出所有所述方向跌倒的hmm模型;
对训练集中的日常活动的数据集进行特征组合提取,串接成观测值序列,并结合所述观察值序列,共同放入所述hmm模型,获得训练集的输出概率向量;
对训练集的输出概率向量作归一化处理,训练出svm模型。
本发明中,进一步的可以使用上述方法训练出的hmm-svm模型,在人体跌倒碰撞地面前,检测出人体跌倒倾向及跌倒方向。即:
采集用户的加速度和姿态角数据;
对所述加速度和姿态角数据进行特征提取,产生观察值序列;
将所述观察值序列输入预存的至少两个方向的所述hmm模型,获得输出概率向量并进行归一化;
将所述归一化后的数据输入预存的所述svm模型,判断是否跌倒以及跌倒方向。
为了更清楚地描述本发明的内容,下面结合具体实例来进行进一步的描述。
参照图1,为本发明的硬件结构组成。传感器模块使用了惯性传感器jy901,该模块包括一个3轴陀螺仪、一个3轴加速计和一个3轴磁力计,可实时输出模块的加速度、姿态角等运动状态。
参照表1,为穿戴模块的部分参数列表,发现满足人体运动测量范围,且符合穿戴设备简洁轻便的要求。本发明数据采集速率设置为100hz,通信模块采用hc-06蓝牙串口模块,它的任务是将传感器的数据实时无线发送到移动终端。
表1穿戴端传感器部分参数列表
参照表2,为采用wrapper方法进行特征选择,使用不同的特征组合,生成分类模型,然后利用该分类模型对测试集进行检测,统计检测率,比较结果最终确定了最优特征组合。
表2最优特征组合
参照表3,为合加速度均值的划分。在跌倒的失重阶段,由于躯干的倾斜,地面对人体的支撑力减小,故该阶段合加速度逐渐减小,此窗口内的均值一般小于0.8g,所以将0.8g作为值域的分界点,进行前后值域分段,故针对合加速度的均值,本发明划分为2段。
表3amean的分段方法
参照图2为基于混合模型的跌倒预警与方向判别算法的流程图,模型建立及应用的主要步骤如下:
(1)从4类跌倒及10类日常活动组成的样本集中,随机抽取训练集,剩余样本组成测试集。
(2)选取训练集中的前跌、后跌、左跌和右跌数据集,提取重要数据段即失重阶段的合加速度和姿态角特征后,将特征串接成一可见观察值序列,最终组成可反映跌倒失重阶段重要特征的可见观察值序列。
(3)利用训练集中的可见观察值序列,训练出4类跌倒的hmm模型。
(4)对训练集中的日常活动的重要数据段提取特征,串接成可见观测值序列,结合以上可见观察值序列,共同放入4个hmm模型,获得训练集合的输出概率向量。
(5)对训练集合的输出概率向量作归一化处理,训练出svm模型。
(6)对测试集采用滑动窗口,依次遍历每个测试样本的所有数据,进行特征提取,产生可见观察值序列,放入4个hmm模型,对获取的输出概率向量归一化操作后,放入上一步训练得的svm模型,获得最终的分类结果。
参照表4,为1.6步骤中,最终用于训练样本集的标签。
表4.libsvm数据样本标签
参照表5和图3,为该算法对前跌、后跌、左跌、右跌和日常活动的检测率统计。在跌倒检测研究方面,绝大多实现了在人体碰撞地面前检测出跌倒趋势,无法进一步判别出跌倒方向。据调研与整理,目前仅发现萨省大学yang实现了跌倒方向判别,他对比了svm、oner、决策树、神经网络和朴素贝叶斯模型,发现朴素贝叶斯模型检测率最高,对前跌、后跌、左跌、右跌和日常活动的检测率分别为92%、82%、95%、82%和99%。根据本发明与其检测率对比图3,可以发现,除日常活动的检测率略低于yang的模型(yang仅定义站立和行走这2类日常活动,本发明定义了10类日常活动,包括慢跑等剧烈adl),各类跌倒检测率均高于该文结果,验证了本发明提出的hmm-svm模型的有效性,说明了具备更高的检测率。
表5混合模型对跌倒和日常活动的检测率
表6为本混合算法的预留时间统计,跌倒过程中,检测出跌倒倾向的时刻与碰撞地面后合加速度最大时刻相减,得到预留时间。显然预留时间越长对跌倒保护越有利,选取400组跌倒样本中hmm-svm混合模型成功检测出的379组,统计它们的预警时间,看出该模型下,具有245ms左右的预警时间用于启动防护装置。
表6hmm-svm混合模型检测的预留时间
为检测hmm-svm混合模型的有效性,引入以下2种性能指标来判断跌倒预警实验结果的好坏:
se=tp/(tp+fn)×100%(4)
sp=tn/(tn+fp)×100%(5)
其中,tp是跌倒如前跌检测为前跌的样本数,tn是日常活动检测为adl的样本数,fn为跌倒如前跌检测为日常活动和其他方向跌倒的样本数,fp是日常活动检测为跌倒的样本数。灵敏度(se,sensitivity),反映了跌倒的检测率;特异度(sp,specificity),反映了日常活动的检测率。
测试训练出的hmm-svm混合模型的检测率,发现前跌、后跌、左跌、右跌和日常活动的检测率分别为96%、98%、93%、92%和97.5%。通过和其他研究对比发现,各类跌倒检测率均高于目前跌倒方向判别研究的检测结果,验证了本发明提出的hmm-svm模型的有效性,说明了具备更高的检测率。
统计本混合算法的预留时间(即算法检测出跌倒倾向时刻与人体碰撞地面时刻的间隔),看出该模型下,具有245ms左右的预警时间用于启动防护装置,证明了本发明提出的方法具备足够的预留时间。
需要注意的是,具体实施方式仅仅是对本发明技术方案的解释说明,不应将其理解为对本发明技术方案的限定,任何采用本发明实质发明内容而仅作局部改变的,仍应落入本发明的保护范围内。