tag 标签: 跌倒检测

相关博文
  • 热度 13
    2015-12-29 17:51
    1671 次阅读|
    0 个评论
    随着人类生活水平的不断提高,人口老龄化成为一个全球性的发展趋势。目前,我国已经进入了老龄化社会 ,老年人的身心健康问题得到人们更多的关注。老年人因生理结构衰老和身体机能减退,发生意外跌倒的概率和频率非常高 。跌倒可以导致老年人身体组织挫伤、骨折甚至危及生命,并从心理上给老年人造成了压力和恐惧感。实际上很多伤亡并不是由于意外跌倒本身造成的,而是由于跌倒发生后,老年人没有得到及时的救治造成的 。尤其现在社会上存在很多讹诈现象,导致人们不敢轻易伸出援助之手。因此,在老年人发生跌倒后,如何尽早被发现,并发出求救信号进行及时救治变得格外重要。为了老年人更健康地生活,研究设计一个老年人的跌倒检测与报警系统具有十分重要的研究价值和实际意义。 目前,研究开发人体跌倒检测系统方面的技术有很多种,最常见的是图像分析和加速度分析法。文献 都是基于视频图像分析的室内跌倒自动检测系统,这种技术准确性高,人体动作清晰可见,但需要多部摄像机同时工作,且暴露了用户的个人隐私,监测范围有限,受环境的影响也很大。另一种加速度分析方法,主要基于微机电系统(Micro-Electromechanical System,MEMS)传感器。MEMS技术近几年得到了快速发展,广泛应用在跌倒检测、状态检测、运动检测等方面。文献 都是利用MEMS技术进行人体跌倒检测的,目前国内一些基于MEMS技术的跌到检测虽可较好实现跌倒检测,但大多计算量较大、设计复杂、价格昂贵,难以得到广泛的应用。 设计一种基于Arduino和三轴加速度传感器的跌倒检测报警系统,实时采集人体加速度参数和地理位置信息,应用于老年人意外跌倒后及时报警,兼具了性价比高、设计简单、实时性高、低功耗、可扩展的特点,实验证明了该系统的可行性和准确性。 1 系统总体设计 跌倒检测报警系统由Arduino最小系统、加速度参数采集模块、GPS定位模块、GSM通信模块组成,其系统框图如图1所示。 图1 跌倒检测报警系统框图 Arduino实时接收加速度参数采集模块传来的人体加速度参数值,单片机通过接收来的加速度值,经过跌倒检测算法来判断穿戴者的体态,如果检测出跌倒的发生,便触发跌倒报警机制。当跌倒发生时,通过GPS定位模块能捕获到穿戴者的具体地理位置,然后发出包含跌倒位置的报警求救信息,通知佩戴者的监护人或医疗机构,进行后续的救治。本系统在考虑这些功能需求的前提下,采用Arduino为控制核心,外围连接加速度参数采集模块、GPS定位模块、GSM通信模块,来完成整个系统的功能。 【分页导航】 第1页: 系统总体设计 第2页: 硬件设计 第3页: 算法设计与实验 本文来源于《单片机与嵌入式系统》 2 硬件设计 硬件部分主要包括微控制器最小系统的选取、加速度参数采集模块、GPS定位模块、GSM通信模块,以及各个模块之间的连接。 2.1 Arduino平台 Arduino是一款基于开源的电子原型设计平台。Arduino包含两个主要的部分:硬件部分是可以用来做电路设计的电路板,基于AVR系列单片机和ARM微控制器,有丰富的外设接口和硬件资源;软件部分则是Arduino IDE,是在计算机中的程序开发环境 。Arduino的模块化设计,大大简化了电子系统的设计过程。 其中,微控制器最小系统选用Arduino Uno,它是基于ATMEL公司的ATmega328P单片机的硬件平台,具有32KB Flash、1KB EEPROM、14路数字输入输出口(其中6路可用于PWM输出)、6路模拟输入接口。同时,Uno预置了Bootloader程序,不需要其他外部烧写器,可以直接通过USB下载程序。 2.2 加速度传感器ADXL345 ADXL345是ADI公司最近推出的基于iMEMS技术的3轴、数字输出加速度传感器。ADXL345具有多种可变的测量范围,高分辨率,高灵敏度,超小的封装,超低的功耗,标准的I2C或SPI数字接口,32级FIFO存储,以及内部多种运动状态检测和灵活的中断方式等特性 。所有这些特性,使得 ADXL345有助于大大简化跌倒检测算法,使其成为一款非常适合用于跌倒检测器应用的加速度传感器。图2为ADXL345功能框图。 图2 ADXL345功能框图 ADXL345标准的I2C数字接口可以和Arduino Uno的I2C接口方便通信,将ADXL345采集到的人体三轴加速度数据传给单片机进行跌倒检测算法处理,图3给出了ADXL345和单片机之间的I2C总线典型连接图。ADXL345的(CS) ?管脚接高电平,表示ADXL345工作在I2C模式。SDA和SCL是I2C总线的数据线和时钟线,分别连接到Arduino Uno相应的I2C总线接口(A4和A5)。ADXL345的INT1管脚连接到Arduino Uno的INT0(Pin 2),用来产生中断信号。 图3 ADXL345和单片机之间的I2C典型连接图 2.3 GPS定位和GSM通信模块SIM908 SIM908是一款集成了高性能GSM/GPRS引擎和GPS引擎的芯片。其中的GSM/GPRS引擎可以工作在GSM 850MHz,EGSM 900MHz,DCS 1800MHz和PCS 1900MHz四个频段;GPS引擎具有一流的采集和跟踪灵敏度、TTFF(Time-To-First-Fix)和准确度 ,这些特性可以很好地完成跌倒位置定位和发送报警信号的任务。在SIM908芯片上可以同时完成GPS定位和GSM通信功能,可以大大减少系统芯片的数量和功耗。图4为SIM908的功能框图。SIM908通过UART口与Arduino Uno进行通信,RXD和TXD分别与Uno的TXD和RXD相连,完成跌倒位置的GPS数据的捕获和发送GSM报警短信功能。 图4 SIM908功能框图 【分页导航】 第1页: 系统总体设计 第2页: 硬件设计 第3页: 算法设计与实验 本文来源于《单片机与嵌入式系统》 3算法设计与实验 3.1 跌倒检测算法 对跌倒检测原理的研究主要是找到人体在跌倒过程中的加速度变化特征。图5给出的是加速度在不同运动过程中的变化曲线,包括(a)步行上楼、(b)步行下楼、(c)坐下、 (d)起立。其中红色的曲线是Y轴(垂直方向)的加速度曲线,其正常静止状态下应该为-1g;黑色和黄色的曲线分别是X轴(前后方向)和Z轴(左右方向)的加速度曲线,其正常静止状态下应该为0g;绿色的曲线是三轴加速度的矢量和,其正常静止状态下应该为+1g。 图5 不同运动过程中的加速度变化曲线 由于老年人的运动相对比较慢,所以在普通的步行过程中,加速度变化不会很大。最明显的加速度变化就是在坐下动作中Y轴加速度(和加速度矢量和)上有一个超过3g的尖峰,这个尖峰是由于身体与椅子接触而产生的。而跌倒过程中的加速度变化则完全不同。图6给出的是意外跌倒过程中的加速度变化曲线。通过图6和图5的比较,可以发现跌倒过程中的加速度变化有4个主要特征,这可以作为跌倒检测的准则。这4个特征在图6中以红色的方框标注,下面将对其逐一进行详细介绍。 图6 意外跌倒过程中的加速度变化曲线 失重:在跌倒的开始都会发生一定的失重现象。在自由落体的下降过程,这个现象会更加明显,加速度的矢量和会降低到接近0g。对于一般的跌倒,也会发生合加速度小于1g的情况。因此,这可以作为跌倒状态的第一个判断依据。可以由ADXL345的Free_Fall中断来检测。 撞击:失重之后,人体发生跌倒的时候会与地面或其他物体发生撞击,在加速度曲线中会产生一个很大的冲击。这个冲击可以通过ADXL345的Activity中断来检测。因此,Free_Fall中断之后,紧接着产生Activity中断是跌倒状态的第二个判断依据。 静止:人体在跌倒后,也就是撞击发生之后,不可能马上起来,会有短暂的静止状态(如果人因为跌倒而导致昏迷,甚至可能是较长时间的静止)。表现在加速度曲线上就是会有一段时间的平稳。这可以通过ADXL345的Inactivity中断来检测。因此,Activity中断之后的Inactivity中断是跌倒状态的第三个判断依据。 与初始状态比较:跌倒之后,人体会发生翻转,因此人体的方向会与原先静止站立的姿态不同。这使得跌倒之后的静止状态下的三轴加速度数值与初始状态下的不同,如图5所示。因此,跌倒检测的第四个依据就是跌倒后的静止状态下加速度值与初始状态发生变化,且矢量变化超过一定的门限值。 这四个判断依据综合在一起,构成了整个的跌倒检测算法,可以对跌倒状态给出报警。 另外,如果跌倒造成了严重的后果,比如,导致了人的昏迷。那么人体会在更常的一段时间内都保持静止。这个状态仍然可以通过Inactivity中断来检测。也就是说,如果发现在跌倒之后的很长时间内都保持Inactivity状态,可以再次给出一个严重报警。算法的流程图如图7所示。 图7 算法流程图 3.2 实验结果 本文设计了一个实验方案对算法进行验证。实验对向前跌倒,向后跌倒,向左、右两侧跌倒等不同跌倒姿势以及跌倒后是否有长时间静止状态的情况分别进行了10次测试,表1中给出的是相关测试结果。 表1 实验结果 本设计将加速度传感器ADXL345、GPS和GSM模块SIM908与Arduino Uno平台结合在一起,通过加速度传感器采集人体三轴加速度值,实时检测人体体态,完成对人体跌倒的检测和报警。整体设计成本低、可靠性高、算法复杂度低、检测准确度高和可扩展的优点,具有很高的实用性,可以满足对人体跌倒检测报警的需要。 【分页导航】 第1页: 系统总体设计 第2页: 硬件设计 第3页: 算法设计与实验 本文来源于《单片机与嵌入式系统》
  • 热度 11
    2015-9-13 00:09
    1090 次阅读|
    0 个评论
    随着人类生活水平的不断提高,人口老龄化成为一个全球性的发展趋势。目前,我国已经进入了老龄化社会 ,老年人的身心健康问题得到人们更多的关注。老年人因生理结构衰老和身体机能减退,发生意外跌倒的概率和频率非常高 。跌倒可以导致老年人身体组织挫伤、骨折甚至危及生命,并从心理上给老年人造成了压力和恐惧感。实际上很多伤亡并不是由于意外跌倒本身造成的,而是由于跌倒发生后,老年人没有得到及时的救治造成的 。尤其现在社会上存在很多讹诈现象,导致人们不敢轻易伸出援助之手。因此,在老年人发生跌倒后,如何尽早被发现,并发出求救信号进行及时救治变得格外重要。为了老年人更健康地生活,研究设计一个老年人的跌倒检测与报警系统具有十分重要的研究价值和实际意义。 目前,研究开发人体跌倒检测系统方面的技术有很多种,最常见的是图像分析和加速度分析法。文献 都是基于视频图像分析的室内跌倒自动检测系统,这种技术准确性高,人体动作清晰可见,但需要多部摄像机同时工作,且暴露了用户的个人隐私,监测范围有限,受环境的影响也很大。另一种加速度分析方法,主要基于微机电系统(Micro-Electromechanical System,MEMS)传感器。MEMS技术近几年得到了快速发展,广泛应用在跌倒检测、状态检测、运动检测等方面。文献 都是利用MEMS技术进行人体跌倒检测的,目前国内一些基于MEMS技术的跌到检测虽可较好实现跌倒检测,但大多计算量较大、设计复杂、价格昂贵,难以得到广泛的应用。 设计一种基于Arduino和三轴加速度传感器的跌倒检测报警系统,实时采集人体加速度参数和地理位置信息,应用于老年人意外跌倒后及时报警,兼具了性价比高、设计简单、实时性高、低功耗、可扩展的特点,实验证明了该系统的可行性和准确性。 1 系统总体设计 跌倒检测报警系统由Arduino最小系统、加速度参数采集模块、GPS定位模块、GSM通信模块组成,其系统框图如图1所示。 图1 跌倒检测报警系统框图 Arduino实时接收加速度参数采集模块传来的人体加速度参数值,单片机通过接收来的加速度值,经过跌倒检测算法来判断穿戴者的体态,如果检测出跌倒的发生,便触发跌倒报警机制。当跌倒发生时,通过GPS定位模块能捕获到穿戴者的具体地理位置,然后发出包含跌倒位置的报警求救信息,通知佩戴者的监护人或医疗机构,进行后续的救治。本系统在考虑这些功能需求的前提下,采用Arduino为控制核心,外围连接加速度参数采集模块、GPS定位模块、GSM通信模块,来完成整个系统的功能。 【分页导航】 第1页: 系统总体设计 第2页: 硬件设计 第3页: 算法设计与实验 本文来源于《单片机与嵌入式系统》 2 硬件设计 硬件部分主要包括微控制器最小系统的选取、加速度参数采集模块、GPS定位模块、GSM通信模块,以及各个模块之间的连接。 2.1 Arduino平台 Arduino是一款基于开源的电子原型设计平台。Arduino包含两个主要的部分:硬件部分是可以用来做电路设计的电路板,基于AVR系列单片机和ARM微控制器,有丰富的外设接口和硬件资源;软件部分则是Arduino IDE,是在计算机中的程序开发环境 。Arduino的模块化设计,大大简化了电子系统的设计过程。 其中,微控制器最小系统选用Arduino Uno,它是基于ATMEL公司的ATmega328P单片机的硬件平台,具有32KB Flash、1KB EEPROM、14路数字输入输出口(其中6路可用于PWM输出)、6路模拟输入接口。同时,Uno预置了Bootloader程序,不需要其他外部烧写器,可以直接通过USB下载程序。 2.2 加速度传感器ADXL345 ADXL345是ADI公司最近推出的基于iMEMS技术的3轴、数字输出加速度传感器。ADXL345具有多种可变的测量范围,高分辨率,高灵敏度,超小的封装,超低的功耗,标准的I2C或SPI数字接口,32级FIFO存储,以及内部多种运动状态检测和灵活的中断方式等特性 。所有这些特性,使得 ADXL345有助于大大简化跌倒检测算法,使其成为一款非常适合用于跌倒检测器应用的加速度传感器。图2为ADXL345功能框图。 图2 ADXL345功能框图 ADXL345标准的I2C数字接口可以和Arduino Uno的I2C接口方便通信,将ADXL345采集到的人体三轴加速度数据传给单片机进行跌倒检测算法处理,图3给出了ADXL345和单片机之间的I2C总线典型连接图。ADXL345的(CS) ?管脚接高电平,表示ADXL345工作在I2C模式。SDA和SCL是I2C总线的数据线和时钟线,分别连接到Arduino Uno相应的I2C总线接口(A4和A5)。ADXL345的INT1管脚连接到Arduino Uno的INT0(Pin 2),用来产生中断信号。 图3 ADXL345和单片机之间的I2C典型连接图 2.3 GPS定位和GSM通信模块SIM908 SIM908是一款集成了高性能GSM/GPRS引擎和GPS引擎的芯片。其中的GSM/GPRS引擎可以工作在GSM 850MHz,EGSM 900MHz,DCS 1800MHz和PCS 1900MHz四个频段;GPS引擎具有一流的采集和跟踪灵敏度、TTFF(Time-To-First-Fix)和准确度 ,这些特性可以很好地完成跌倒位置定位和发送报警信号的任务。在SIM908芯片上可以同时完成GPS定位和GSM通信功能,可以大大减少系统芯片的数量和功耗。图4为SIM908的功能框图。SIM908通过UART口与Arduino Uno进行通信,RXD和TXD分别与Uno的TXD和RXD相连,完成跌倒位置的GPS数据的捕获和发送GSM报警短信功能。 图4 SIM908功能框图 【分页导航】 第1页: 系统总体设计 第2页: 硬件设计 第3页: 算法设计与实验 本文来源于《单片机与嵌入式系统》 3算法设计与实验 3.1 跌倒检测算法 对跌倒检测原理的研究主要是找到人体在跌倒过程中的加速度变化特征。图5给出的是加速度在不同运动过程中的变化曲线,包括(a)步行上楼、(b)步行下楼、(c)坐下、 (d)起立。其中红色的曲线是Y轴(垂直方向)的加速度曲线,其正常静止状态下应该为-1g;黑色和黄色的曲线分别是X轴(前后方向)和Z轴(左右方向)的加速度曲线,其正常静止状态下应该为0g;绿色的曲线是三轴加速度的矢量和,其正常静止状态下应该为+1g。 图5 不同运动过程中的加速度变化曲线 由于老年人的运动相对比较慢,所以在普通的步行过程中,加速度变化不会很大。最明显的加速度变化就是在坐下动作中Y轴加速度(和加速度矢量和)上有一个超过3g的尖峰,这个尖峰是由于身体与椅子接触而产生的。而跌倒过程中的加速度变化则完全不同。图6给出的是意外跌倒过程中的加速度变化曲线。通过图6和图5的比较,可以发现跌倒过程中的加速度变化有4个主要特征,这可以作为跌倒检测的准则。这4个特征在图6中以红色的方框标注,下面将对其逐一进行详细介绍。 图6 意外跌倒过程中的加速度变化曲线 失重:在跌倒的开始都会发生一定的失重现象。在自由落体的下降过程,这个现象会更加明显,加速度的矢量和会降低到接近0g。对于一般的跌倒,也会发生合加速度小于1g的情况。因此,这可以作为跌倒状态的第一个判断依据。可以由ADXL345的Free_Fall中断来检测。 撞击:失重之后,人体发生跌倒的时候会与地面或其他物体发生撞击,在加速度曲线中会产生一个很大的冲击。这个冲击可以通过ADXL345的Activity中断来检测。因此,Free_Fall中断之后,紧接着产生Activity中断是跌倒状态的第二个判断依据。 静止:人体在跌倒后,也就是撞击发生之后,不可能马上起来,会有短暂的静止状态(如果人因为跌倒而导致昏迷,甚至可能是较长时间的静止)。表现在加速度曲线上就是会有一段时间的平稳。这可以通过ADXL345的Inactivity中断来检测。因此,Activity中断之后的Inactivity中断是跌倒状态的第三个判断依据。 与初始状态比较:跌倒之后,人体会发生翻转,因此人体的方向会与原先静止站立的姿态不同。这使得跌倒之后的静止状态下的三轴加速度数值与初始状态下的不同,如图5所示。因此,跌倒检测的第四个依据就是跌倒后的静止状态下加速度值与初始状态发生变化,且矢量变化超过一定的门限值。 这四个判断依据综合在一起,构成了整个的跌倒检测算法,可以对跌倒状态给出报警。 另外,如果跌倒造成了严重的后果,比如,导致了人的昏迷。那么人体会在更常的一段时间内都保持静止。这个状态仍然可以通过Inactivity中断来检测。也就是说,如果发现在跌倒之后的很长时间内都保持Inactivity状态,可以再次给出一个严重报警。算法的流程图如图7所示。 图7 算法流程图 3.2 实验结果 本文设计了一个实验方案对算法进行验证。实验对向前跌倒,向后跌倒,向左、右两侧跌倒等不同跌倒姿势以及跌倒后是否有长时间静止状态的情况分别进行了10次测试,表1中给出的是相关测试结果。 表1 实验结果 本设计将加速度传感器ADXL345、GPS和GSM模块SIM908与Arduino Uno平台结合在一起,通过加速度传感器采集人体三轴加速度值,实时检测人体体态,完成对人体跌倒的检测和报警。整体设计成本低、可靠性高、算法复杂度低、检测准确度高和可扩展的优点,具有很高的实用性,可以满足对人体跌倒检测报警的需要。 【分页导航】 第1页: 系统总体设计 第2页: 硬件设计 第3页: 算法设计与实验 本文来源于《单片机与嵌入式系统》
  • 热度 29
    2015-3-6 15:15
    2417 次阅读|
    0 个评论
    目前,跌倒检测方法最常见的是视频图像分析法和穿戴式装置检测法。前者使用视频摄像头,不能保证用户隐私安全;后者是传感器装置,需要基站来服务,外出时易忘记佩戴。使用智能手机进行跌倒检测是一个可行的且有很大发展潜力的技术,智能手机同时结合了跌倒检测系统的两个重要组件:跌倒检测和救助通信,不仅可以降低系统成本,实时监测人体活动,还可以结合GPS确定用户的跌倒位置。现在,国内外已有利用手机进行跌倒检测的相关理论研究,都是使用移动手机内置的加速度传感器和基于人体运动加速度特征的不同算法来检测跌倒的。然而一些较高强度日常活动如慢跑、快速坐下等也会产生一个类似跌倒的大加速度值特征。因此,单独使用加速度传感器进行跌倒检测,采集的数据比较单一,不足以完全反应人体姿态变化,会给跌倒检测带来许多假警报。针对以上问题,本文提出了基于信号向量模和特征量W 相结合的跌倒检测算法。该检测算法同时利用加速度传感器和陀螺仪监测人体姿态变化,有效减少了跌倒检测结果的假阳性和假阴性。 1 跌倒检测方法设计 加速度传感器和陀螺仪分别能够测量三轴方向运动加速度和角速度大小信息,本文利用智能手机内置的这两种传感器来采集反映人体主要运动姿态变化的信号数据。通过使用信号向量模(magnitude of signal vector,SVM)阈值法来识别区分低强度日常生活活动(activities of daily living,ADL)与跌倒,对于阈值法不能识别的较高强度ADL,则通过对角速度信号向量模数据进一步处理得到的新特征量来判别。 1.1 信号数据 人体活动主要分为以下几种:躺下、步行、坐下—起立、上楼梯、下楼梯、慢跑、蹲下—起立以及跌倒等。人体携带的智能手机,其内置的加速度传感器和陀螺仪输出的信号数据可以反映出人体日常运动姿态变化。图1为智能手机在x、y和z三轴的加速度方向及角速度方向。 图1 三轴方向上加速度测量和角速度测量 传感器输出信号中掺杂了大量的脉冲噪声,中值滤波是传统的消除脉冲噪声的方法。中值滤波器是一个非线性信号处理技术,它使用一个给定长度的窗依次滑过原始信号序列,然后将窗内居中的样本值用该窗所包含信号序列的中值替代,这里滤波器窗口大小n设为3。图2为加速度传感器输出信号数据经中值滤波后曲线图。 【分页导航】 第1页: 跌倒检测方法设计:信号数据 第2页: 跌倒检测方法设计:信号向量模(SVM) 第3页: 跌倒检测方法设计:SVMW数据曲线处理 第4页: 人体跌倒检测系统实现 第5页: 人体跌倒检测系统实验与结果分析 1.2 信号向量模(SVM) 跌倒发生时的加速度及角速度变化主要体现在某空间方向,因为跌倒事件中无法预知跌倒的方向,所以不宜用某一轴的加速度或角速度数据去判断跌倒的发生,采用信号向量模SVM 特征量可以将空间的加速度或角速度变化集合为一矢量。加速度信号向量模(SVM A )及角速度信号向量模(SVM W )其定义分别如式(1)和式(2) 其中,a x ,a y ,a z 分别为加速度传感器x、y、z三轴方向输出经中值滤波后信号;w x ,w y ,w z 分别为陀螺仪x、y、z三轴方向输出经中值滤波后的信号。 图3 和图4 为人体处于不同运动状态时SVM A 及SVM W 变化曲线。 图3 不同人体运动SVM A 变化曲线 图4 不同人体运动SVM W 变化曲线 如图3、图4所示,跌倒具有大加速度和角速度峰值特征,这是因为摔倒过程中由于和低势物体碰撞产生的SVM峰值比日常活动中步行、上楼梯等大多数一般过程要大。然而人体运动行为过程具有复杂性和随机性,使用单一的加速度相关信息判断人体摔倒行为的发生会带来很大的误判。本文使用SVM A 及SVM W 相结合的信息阈值法可以区分跌倒与产生SVM 峰值较小的低强度运动。通过对人体摔倒过程及其它日常生活行为过程中实验结果数据SVM A 和SVM W 进行分析,本文识别跌倒的加速度信号向量模阈值取SVM AT =20m/s 2 和角速度信号向量模阈值取SVM WT =4rad/s。 但是慢跑等动作也具有大加速度和角速度峰值的特征,单独的SVM 特征量并不能区分摔倒过程与慢跑或手机日用等较高强度运动过程。 【分页导航】 第1页: 跌倒检测方法设计:信号数据 第2页: 跌倒检测方法设计:信号向量模(SVM) 第3页: 跌倒检测方法设计:SVMW数据曲线处理 第4页: 人体跌倒检测系统实现 第5页: 人体跌倒检测系统实验与结果分析 1.3 SVM W 数据曲线处理 根据人体运动学特征,跌倒过程与慢跑等运动过程的人体俯仰角或者侧翻角变化有很大不同,然而采集人体运动姿态变化信号数据的智能手机在口袋中的放置方位具有随意性,因此无法直接使用陀螺仪单轴方向输出得到的角度变化信息作为跌倒判断的一个特征量。本文对角速度信号向量模数据作进一步处理,来寻找新的特征量。 这里定义一个人体跌倒时躯干倾斜的合角度θ,它是通过对角速度信号向量模数据进行积分得到的,如下式 式中:SVM W ———人体运动角速度信号向量模。下面以慢跑为例,分析跌倒与慢跑等较高强度运动的合角度曲线变化的不同,图5为跌倒和慢跑两种运动过程合角度变化曲线,从图5中可以看出:跌倒曲线有明显的拐点(图中圆圈所示),而慢跑曲线变化比较均匀平缓。这是因为跌倒过程中人体会和低势物体产生碰撞,短时间内会产生较大的SVM 数据值,体现在数据曲线上则有突变的增量点;而慢跑每次动作基本一致,随时间产生的数据曲线点增量也基本一样,数据曲线近似一条直线。 图5 跌倒和慢跑时合角度变化曲线 应用智能手机作为跌倒检测系统,易于对数据进行公式化处理,本文中采用数据拟合的方法对合角度曲线数据公式化处理。前面分析中得知,两种运动过程合角度曲线变化趋势有很大不同,且慢跑运动合角度变化曲线近似一条直线,因此使用直线拟合模型可以突出两种曲线与各自拟合曲线相似度的不同。这里使用计算简单的最小二乘法线性拟合,拟合直线表达式为 y=ax+b (4) 式中:a,b———拟合直线的斜率和截距。图6和图7分别为跌倒和慢跑两种运动的合角度变化曲线及使用Matlab线性拟合变化曲线。 图6 跌倒时合角度曲线和拟合曲线 图7 慢跑时合角度曲线和拟合曲线 为了反映出两种曲线与各自线性拟合曲线的相似度,这里我们定义一个无量纲量W,也是本文算法的跌倒判断特征量,其计算过程如下式 其中,i=1,2,3,…,500,(处理10s内数据样本点),Ci为合角度数据样本点,Ni为合角度线性拟合数据样本点。特征量W 反映的是合角度曲线与其拟合曲线之间的相似度,W 值越小相似度越高。 由前面的分析得知,跌倒合角度曲线有拐点,慢跑合角度曲线变化平缓,而使用的拟合曲线为一条直线,故跌倒时得到的W 值较大,而慢跑时得到的W 值会较小。表1所示为一组实验结果的特征值,观察特征值数据可知容易通过设置一个阈值W T 来区分这两种运动过程,本文通过对跌倒过程和慢跑等较高强度运动过程中W 值的分析取W T =25。 表1 跌倒和慢跑时的特征值数据 【分页导航】 第1页: 跌倒检测方法设计:信号数据 第2页: 跌倒检测方法设计:信号向量模(SVM) 第3页: 跌倒检测方法设计:SVMW数据曲线处理 第4页: 人体跌倒检测系统实现 第5页: 人体跌倒检测系统实验与结果分析 2 系统实现 2.1 系统应用程序 Android是一个开源移动操作系统,它有一个强大的基于java框架的软件开发工具包(SDK),还有SQLite数据库管理系统,本文在Android智能手机平台开发实现了跌倒检测应用程序。跌倒应用程序由4大部分组成: (1)FallDetectionService:Android后台服务应用进程,它长时间运行在手机应用程序进程的主线程内,不会干扰其他组件或用户界面。 (2)FallAlertActivity:与用户交互的Activity组件,该Activity可以被创建、启动、恢复、暂停和销毁,它是应用程序的可见部分。 (3)SensorManager:”SensorManager”允许应用程序使用手机传感器,使用它来读取手机加速度传感器和陀螺仪的读数。 (4)UserLocationManager:使用UserLocationManager可以允许应用程序使用GPS获取定位数据,紧急情况下可以确定用户地理位置。 2.2 系统检测流程 本系统跌倒检测算法是基于人体运动加速度和角速度信号设计的,通过分析人体主要运动过程与跌倒过程的SVM A 和SVM W 数据,以及对SVM W 数据的进一步处理来区分日常生活活动与跌倒。图8为跌倒检测算法流程图:①后台服务监测SVM A 数值的变化,如果SVM A 大于SVM AT ,进入下一步;②等待SVM A 数值恢复到正常范围内,再设置延时10s,等待用户稳定,进入下一步;③角速度数据分析,如果SVM W 大于SVM WT ,进入下一步;④对SVM W 数据公式化处理得到特征值W,如果W 大于W T ,确认发生跌倒,触发报警处理。 图8 跌倒检测流程 2.3 系统主要内容 系统集成了智能手机的传感功能和信号处理技术,它的主要功能是检测意外情况下跌倒,然后与用户的紧急联系人通过电话和SMS信息进行联系。该应用程序还可以获得用户的地理位置,此外它有一个一键紧急救助按钮和紧急警报取消机制,可防止假警报。 当系统检测到一个跌倒,会弹出通知窗口并且有声音警报,用户可以在一个可设置的特定时间范围内取消警报请求。如果没有发生真正的跌倒,用户可以在报警等待时间范围内简单取消请求。如果是一个真正的跌倒,则用户的救助联系人将会立即收到SMS报警信息。 图9为应用程序屏幕截图,主界面有7个主要按钮,“ON/OFF”滑动开关按钮,来控制开始后台跌倒检测服务和停止服务;“紧急联系电话”按钮,可以添加3个紧急救助联系人号码;“紧急联系信息”按钮,用来编辑发送的紧急信息内容;“报警等待时间”按钮,用来设置检测到跌倒发生与发送报警信息之间的等待时间;“一键快速求救”按钮,直接触发跌倒报警事件,当用户发生跌倒而手机未检测到时的手动求救按钮; “设置”按钮用来设置开启GPS服务、设置传感器工作模式以及报警方式、声音选择等;“退出”按钮,则是完全退出应用程序。 图9 应用程序屏幕 【分页导航】 第1页: 跌倒检测方法设计:信号数据 第2页: 跌倒检测方法设计:信号向量模(SVM) 第3页: 跌倒检测方法设计:SVMW数据曲线处理 第4页: 人体跌倒检测系统实现 第5页: 人体跌倒检测系统实验与结果分析 3 实验与结果分析 3.1 实验装置及设计 跌倒检测算法测试手机为LGP970,其配置有Android2.3操作系统、德州仪器1GHz的CPU、主屏尺寸4.0英寸。日常生活主要活动动作频率都低于20HZ,设置手机内置加速度传感器和陀螺仪的信号采样频率皆为50HZ,以满足实验的需求。本系统为使实验结果符合人们日常携带手机的方式,选择胸部口袋作为实验过程中手机在人体的佩戴位置。检测算法是对传感器输出数据的信号向量模进行处理,故实验中对手机在口袋中的放置方位没有要求。 实验者为20名青年学生:10男10女,年龄在22-30岁,身高155-185CM,体重40-80KG。出于安全考虑未请老年人参与,实验者模拟老年人日常生活中步行、上下楼梯、慢跑、快速坐下、快速躺下、坐下起立、躺下起立和跌倒等活动动作。实验在不同时间段完成,实验过程中地上放置有厚海绵垫,每个实验者被要求重复实验动作2次,且每个动作要求在10s内完成。实验者的动作描述见表2。 表2 实验者的动作描述 3.2 结果分析 为评估检测算法的性能,通常定义以下评估方式:跌倒检测中可能出现的4种情况:真阳性(TP):跌倒发生,设备检测到。假阳性(FP):设备检测到跌倒,但实际并未发生。真阴性(TN):正常活动,设备并未检测到跌倒发生。假阴性(FN):跌倒发生,但设备并未检测到。敏感性体现了算法识别跌倒的能力,测量真实的摔倒被检测到的概率 特异性是日常生活活动被检测到的概率 图10 (a)显示了本文系统算法检测结果敏感性的表现,算法能精确地检测到后向跌倒、左侧跌倒和右侧跌倒,前向跌倒假阴性较高是因为向前跌倒时人们下意识弯曲膝盖,两手掌去支地缓冲,所以产生的SVM 峰值较小,但这种情况一般损伤不严重,跌倒者大多数保持清醒,如需救助仍可通过应用程序的“一键救助按钮”。靠墙缓慢跌倒过程动作缓慢且比较随意复杂,算法检测结果假阴性较高,然而这种跌倒给跌倒者带来的伤害是有限的。从100例记录中得到算法的敏感性是88%。图10 (b)显示了本文算法检测结果特异性的表现,算法可以区分出大多数日常活动,然而快速坐下时带有后仰动作、以较快速度躺下和手机日用有时候会触发假阳性,从180例记录中得到算法特异性为92%。 图10 跌倒检测算法性能 4 结束语 本文设计了一种基于智能手机的人体跌倒检测系统,利用手机内置加速度传感器和陀螺仪监测人体运动时的加速度和角速度信号,对采集到的信号数据进行处理和分析,提出了基于信号向量模和特征量W 相结合的检测算法,同时对该算法的有效性进行了评估。实验结果表明,该系统能够有效区分跌倒与其它日常生活行为动作,且检测结果的假阳性和假阴性较低。本系统方案具有使用简单方便、成本低、使用范围广、实时响应快的优点,此外,系统还能够定位用户跌倒位置及使用报警机制来减少假警报。后续工作中,将会考虑对加速度传感器和陀螺仪信号数据进行数据融合,使算法对人体姿态描述更加准确。 【分页导航】 第1页: 跌倒检测方法设计:信号数据 第2页: 跌倒检测方法设计:信号向量模(SVM) 第3页: 跌倒检测方法设计:SVMW数据曲线处理 第4页: 人体跌倒检测系统实现 第5页: 人体跌倒检测系统实验与结果分析
相关资源