宋 艺 张 波 唐芳月 刘师桥 刘语涵 王丰林
(天津师范大学计算机与信息工程学院,天津 300387)
在信息技术高速发展的时代背景下,由于可穿戴式检测装置具有体积小、方便携带、低耗能等特点[9],因此越来越受人们的喜爱。
虽然可穿戴设备的外观在人们的选择考虑因素方面占有一定比例,但在更大程度上是对设备检测准确性的选择。因此从算法角度分析,如何提高对人体运动姿态检测的准确性就显得尤其重要。
如今市面上的手环大多数是无法精确检测人的运动姿态,只能是通过“三轴加速度传感器”来采集运动数据,简单地记录人是静止的还是运动的。然后再通过算法对采集的数据进行处理分析,对比事先建立好的模型来判断佩戴者的运动状态。因此算法的好坏直接影响到检测佩戴者状态的准确性,所以在手环设计时选择一个较为恰当的算法至关重要。
该方法在硬件方面采用的是三轴加速度传感器,该传感器可以获得三维立体空间的三个分量上的加速度信号,且该传感器功耗低、体积小,对大多数手环均适用。
假设空间中有两个向量 a(x11,x12,...,x1n)和 b(x21,x22,...,x2n),夹角余弦的具体计算公式如(1)所示。
余弦测度主要是用于判断两种姿态的相似度,通过计算空间中两个向量的夹角余弦来判断两个姿态的相似程度,当计算的数值小于某一临界值时,可以认为是同一种姿态[1]。同时,可以通过满足阈值时间点前后加速度矢量的过程来判定是否跌倒[7]。
通过这种方法,可以对确定临界值的大小进而对姿态判断的精确度进行提高,但临界值不能定得过低,这样就会导致很少甚至没有同一种相同的姿态产生,导致了大量的冗余计算。
该算法所选用的姿态模块硬件是三轴加速度传感器和三轴陀螺仪。
四元数算法将陀螺仪获得的角度信息融合到加速度传感器中,进而得到精确的姿态判断。
四元数 q可以用q0,q1,q2,q3来表示成一个复数,其中q0为四元数的实部,q1,q2,q3为四元数的虚部,四元数可表示为公式(2),其中四元数q求模要满足公式(3)。
四元数微分方程为公式(4),其中ω为[0 ω1ω2ω3],而ω1,ω2,ω3为陀螺仪输出的角速度。通过计算四元数微分方程,可以对四元数进行更新,使姿态判断的准确性提高[2]。而针对于旋转运动的旋转四元数算法仅适用于低速旋转状态的判定[10]。
在运动加速度、磁场干扰等的影响下,短时间内精确度较低,这时可使用互补滤波方法对传感器信息进行融合[5]。即与下述的WHPDS相结合而成的姿态检测算法。
惯性 EMES(Micro Electro Mechanical systems,即微电子机械系统)传感器具有高质量、高灵敏度、重量轻、价格低廉等特点[2],因此被广泛运用到重力加速度的测量方面,而该算法针对于MEMS传感器姿态检测和运动状态的变化有较强的适应性。
该方法是一种将波峰检测计步算法和自相关分析计步算法相结合的判断姿态的方法,通过单轴加速度和固定阈值对不同的运动状态进行判断。
该算法利用波峰检测计步算法中不同姿态的幅值和步频不同,再利用相应的阈值区间判断运动姿态,图1为自适应波峰检测算法流程图[3]。
图1 自适应波峰检测算法流程图
该检测系统所选用的硬件部分是六轴惯性传感器,其集成一个三轴加速度传感器和一个三轴陀螺仪。加速度计模块可以识别静止或平缓运动状态下的角度信息,陀螺仪模块对各种运动状态下角度信息的变化均比较敏感[4]。
WHPDS通过加速度计和陀螺仪获得相应的姿态数据,利用互补滤波原理在短时间内对陀螺仪的角度进行最优化,然后得出佩戴者相应的姿态[6]。由于在短时间内陀螺仪所测量出的数据比较准确,而在长时间的检测中加速度计所测量的数据比较准确,通过互补滤波使信号更加精确,进而使姿态判断更加精确。
以上的四种计算佩戴者姿态的方法均是对检测数据增加精确度的姿态判断方法,可以从上面的分析中看出,在硬件方面都用到了加速度传感器,除了余弦测度以外都使用到了陀螺仪。可见大部分主流手环还是以加速度传感器和陀螺仪为基本元件进行姿态检测的。
余弦测度只用了一个三轴加速度传感器进行姿态判断,利用数学上简单的余弦定理进行姿态种类是否相同的判断。该方法计算简便且硬件方面消耗较小,但在临界值确定时要把握好度,同时,该方法需要前期大量的数据支持。
四元数算法是将加速度传感器与陀螺仪进行联系,通过对比重力向量的数值得出相应的姿态判断。四元数算法虽然在硬件上增加了陀螺仪,但通过两个部件得出的姿态判断将更加准确,四元数算法是一种比较综合的姿态检测方法。
自适应波峰检测是由波峰检测计步算法和自相关分析计步算法相结合的姿态判断算法,它和其他三种算法都不太相同,通过不同运动状态的幅值和步频不同进而判断出不同的运动姿态。自适应波峰检测的优点在于计算量小,可以方便地进行实时检测[10],适用于行走或跑步之类的计步的姿态判断,但并不适用于具体姿态的判断。
WHPDS也是运用加速度传感器和陀螺仪进行姿态检测的,与四元数算法不同的是它利用互补滤波进行姿态判断,得出的判断较为精确,但它需要多个传感器在人体不同位置记录数据,对那些需要精确记录行动状态的病人是有很大帮助的。
通过上述对四种姿态判断方法的分析与比较,可以看出不同的方法各有特点,如何选用不同的方法需要根据情况而定。
设计儿童手环并不需要过于精确的运动姿态判断,而且根据儿童相对比较多动,因此不适用于在身体不同位置安置多个传感器,所以在设计儿童手环时WHPDS可以略去,不予采用。
因此,在设计儿童手环时应采用以四元数算法为主体,余弦测度和自适应波峰检测为辅的综合算法对姿态进行判断,硬件方面采用三轴加速器和陀螺仪相结合的传感器。自适应波峰检测先对运动姿态进行较快的判断,主要用于实时数据的更新,然后使用四元数算法对自适应波峰检测出的结果进行检测,得出精确的姿态判断。
[1]王壮.可穿戴设备中的人体姿态识别方法[D].南京:南京邮电大学,2016.
[2]李炳炳.基于M EM S惯性传感器的人体姿态检测系统的研究[D].南京:南京理工大学,2017.
[3]陈国良,李飞,张言哲.一种基于自适应波峰检测的M EM S计步算法[J].中国惯性技术学报,2015,23(03):315-321.
[4]胡小华,李向攀,祁洋阳,等.可穿戴式人体姿态检测系统设计[J].电子技术应用,2017,43(09):13-16.
[5]李景辉,杨立才.基于多传感器信息融合的人体姿态解算算法[J].山东大学学报(工学版),2013,43(05):49-54.
[6]郭晓鸿,杨忠,陈喆,等.EK F和互补滤波器在飞行姿态确定中的应用[J].传感器与微系统,2011,30(11):149-152.
[7]孙新香.基于三轴加速度传感器的跌倒检测技术的研究与应用[D].上海:上海交通大学,2008.
[8]陈国良,张言哲,杨洲.一种基于手机传感器自相关分析的计步器实现方法[J].中国惯性技术学报,2014,22(06):794-798.
[9]陈功.基于三轴加速度传感器的跌倒检测技术的研究与应用[D].南京:南京邮电大学,2013.
[10]王彤,马建仓,秦涛,等.基于旋转四元数的姿态解算算法[J].弹箭与制导学报,2014,34(03):15-16.