• 工作总结
  • 工作计划
  • 读后感
  • 发言稿
  • 心得体会
  • 思想汇报
  • 述职报告
  • 作文大全
  • 教学设计
  • 不忘初心
  • 打黑除恶
  • 党课下载
  • 主题教育
  • 谈话记录
  • 申请书
  • 对照材料
  • 自查报告
  • 整改报告
  • 脱贫攻坚
  • 党建材料
  • 观后感
  • 评语
  • 口号
  • 规章制度
  • 事迹材料
  • 策划方案
  • 工作汇报
  • 讲话稿
  • 公文范文
  • 致辞稿
  • 调查报告
  • 学习强国
  • 疫情防控
  • 振兴乡镇
  • 工作要点
  • 治国理政
  • 十九届五中全会
  • 教育整顿
  • 党史学习
  • 建党100周
  • 当前位置: 蜗牛文摘网 > 实用文档 > 公文范文 > 一种基于骨架序列的老年人摔倒动作识别方法研究

    一种基于骨架序列的老年人摔倒动作识别方法研究

    时间:2023-02-13 10:05:09 来源:千叶帆 本文已影响

    宋 垚,陈庆奎

    (上海理工大学 光电信息与计算机工程学院,上海 200093)

    E-mail:chenqingkui@usst.edu.cn

    如今我国已步入老龄化社会,随着人口老龄化问题的加剧,独居“空巢老人”的养老照护问题得到了社会的密切关注,其中老年人因跌倒而受到意外伤害的情况越来越受到重视.老年人独自生活或无人看管的情况下发生摔倒却无法及时得到救援就成了老年人的健康和安全隐患,利用AI视频传感器采集视频,对摔倒动作进行检测并及时通知很有必要.

    目前,人体摔倒检测主要有基于可穿戴设备检测、基于外部环境传感器检测和基于计算机视觉检测3种.基于可穿戴设备检测法通常将传感器嵌入手环、腰带等可随身携带的物品,采集人体运动数据,进而通过阈值法、SVM等完成摔倒检测[1-4].可穿戴设备需要老人时刻佩戴,对于一些高龄特别是记忆力衰退的老人,可能会忘记;
    另外一些老人还会因身体舒适性而抵触该类设备,不喜欢佩戴.基于外部环境传感器检测法,通常是利用人体运动对环境中一些物理量如压力、振动、红外热源的变化来识别摔倒行为,这种方法需要在环境中部署传感器,受周围环境噪音影响,系统较为复杂且成本高[5].基于计算机视觉检测法,可利用低成本边缘设备采集视频,获取图像信息,使用图像处理、机器学习和深度学习等方法进行特征提取和摔倒行为检测,便于部署,覆盖范围广,且准确率和实时性都有所保障.文献[6]从边界框和轮廓中提取少量特征,配合有限状态机的转换进行摔倒识别.文献[7]首先在不同视频序列中提取视频帧作为训练集训练PCANet模型,根据训练好的模型对连续帧进行预测,并将结果与SVM结合从而识别摔倒行为.文献[8]利用Alphapose检测连续多帧人体骨骼关键点,将骨骼关键点坐标序列分为x坐标序列和y坐标序列分别输入到两个LSTM提取时序特征,隐层输出接入全连接层得到摔倒检测结果.文献[9]提出卷积时空注意力网络RSTAN对RNN每一步长预测结果做全局自适应调整,从而识别出关键特征,并设计注意力驱动的时空LSTM融合策略对最终框架进行端到端训练.

    Openpose[10]人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以caffe为框架开发的开源库,是世界上首个基于深度学习的实时多人二维姿态估计应用.本文将利用Openpose提取摔倒视频中人体的25个骨架关节点,进行后续识别任务.

    本文主要贡献有:1)针对骨架类型数据提出几种数据预处理方法,包括关节点坐标归一化、关节点缺失情况处理、时序特征选择,解决不同目标位移、尺度大小变化以及部分被遮挡问题;
    2)多方面具体分析骨架数据,从时空维度上提取多种特征对某一时刻姿态进行描述,多个连续时刻形成骨架序列特征;
    3)提出一种结合门控循环单元和时空注意力机制(STM-GRU)的摔倒识别模型,在人体骨架数据上进行训练,进而利用训练好的模型识别摔倒动作.本文提出的摔倒动作识别方法主要针对于老年人摔倒时的行为特点用于养老照护,同样适用于年轻人,但主要动作的时间等参数不同,对年轻人的摔倒动作识别情况在本文中不予以讨论.

    本文总体设计方案如图1所示:首先采用留出法将视频提取骨架数据集划分为两个互斥集合分别作为训练集和测试集,划分比例为4∶1.不同的划分伴有一定随机性,单次采用留出法最终得到的估计结果往往不够稳定可靠,因此本文采用多次随机划分,重复试验之后取平均值作为评估结果.然后通过数据清理进行数据预处理,就数据清理而言,主要任务就是排除姿态估计算法提取错误或骨架数据集本身存在冗余数据带来的噪声干扰,只保存有效关节点数据,从而处理缺失值和离群点来解决数据不一致的问题,得到标准、干净的关节点数据集.接下来对摔倒过程进行分析,分别提取骨架空间特征与时序特征.在网络模型加载训练数据前,需要对骨架时空特征集进行shuffle操作,从而保证打乱后的样本排列具有一定随机性,随机化权值更新方向,从而防止训练过程模型抖动和过拟合.最后分别加载训练数据与测试数据,在训练集上训练出模型后,在测试集上评估其测试误差,作为对泛化误差的近似,训练好的模型可以有效识别摔倒动作.

    图1 整体设计流程图Fig.1 Overall design flow chart

    2.1 数据预处理

    视频采集骨架数据数量庞大且来自于不同目标的动作,一些数据会出现异常.鉴于高质量数据直接决定了模型的预测和泛化能力好坏,数据预处理很有必要.考虑到真实场景中并非所有时刻都有目标完整地出现在摄像范围内,骨架提取算法采集到的骨架关节点数量缺失,不足以代表某一动作甚至完整个体;
    另外算法本身也会出现将单目标识别为多目标,结果中保存了多目标数据的异常情况,对骨架数据集进行数据预处理很有必要.预处理阶段将对骨架数据进行数据清理,对于未检测到人体而缺失目标骨架数据或有效关节点数量低于一定阈值的无效样本,只需丢掉这一帧数据,因为一个视频对应的骨架数据量足够多,无效样本覆盖率和重要性都很低,删除处理对我们的研究目标影响不大;
    对于个别关节点被遮挡,如脚部或头部,以周围关节点或周围关节点的几何中心代替;
    对于单目标误检测为多目标的冗余噪声样本,可根据样本中关节点置信度对每一骨架单独进行有效关节点计数,置信度大于一定阈值为有效关节点,选择有效关节点个数较多的骨架数据作为该样本真实目标.数据预处理将为下一阶段准备“清理”过后的骨架关节点数据集.

    2.2 空间特征提取

    图2为Openpose提取人体骨架关节点分布图,本节将从骨架关节点分布关系出发,具体分析不同情况下,能有效描述摔倒动作的特征.t时刻空间特征Ftspatial应包含关节点间相对位置特征F1、高宽比特征F2、与肢体间角度特征F3,即Ftspatial=concatenate(F1,F2,F3)∈1×KS,其中F1∈1×K1,F2∈1×K2,F3∈1×K3,KS=K1+K2+K3.接下来对不同特征的提取方法做具体分析.

    图2 骨架关节点示意图Fig.2 Schematic diagram of skeleton joints

    视频中的每一帧对应着人体摔倒动作的每一静止姿态,可看作由一系列关节点坐标构成的骨架点集,考虑到人体骨架是一个整体框架,不同关节点间有顺序、位置分布关系,其中也包含着隐含信息,不可忽略这些结构信息.关节点间的相对位置关系可区分不同个体摔倒的类内差异,相比毫无联系的原始关节点坐标,包含了人体静止姿态各关节点的空间分布特征,在物理意义上表现为关节点坐标间欧式距离.考虑到远近尺度、不同目标情况下同一动作识别出骨架大小存在缩放问题,且目标在视频画面中出现的位置不定,空间位置特征直接由关节点坐标计算欧氏距离会存在很大差异,因此需要提前将每组K个关节点坐标做归一化处理,公式如下:

    Xstd=(X-X.axis_min)(X.axis_max-X.axis_min)

    (1)

    Xscaled=Xstd·(max-min)+min

    (2)

    采用离差标准化方法,对原始关节点坐标数据进行线性变换,公式(1)中X是形状为(K,D)的numpy数组,K表示关节点个数,D表示坐标维度,X.axis_min、X.axis_max表示各维度下坐标最小值与最大值;
    公式(2)中的min,max是给定缩放范围的最小值和最大值,此处取0和1,目的是将关节点坐标按维度分别归一化到0-1范围内.

    将25个归一化关节点记为p={p0,p2,…,p24},设第i个关节点pi坐标记为(xi,yi),为提取t时刻静止姿态骨架关节点相对位置作为空间特征F1,本文选取p8作为中心点,计算p3、p4、p6、p7、p11、p14到p8欧氏距离E,因为摔倒过程中这6个关节点相对p8的位置变化最为明显,最有代表性.平面两点(x1,y1)与(x2,y2)欧氏距离公式计算如下:

    E=(x2-x1)2+(y2-y1)2

    (3)

    则F1可表示为这6对关节点之间欧氏距离E的集合如公式(4)所示,其中i表示骨架关节点序号,对应图2中0-24个关节点,Epi-p8表示关节点pi到关节点p8的欧式距离.

    F1={Epi-p8|i=3,4,6,7,11,14}

    (4)

    真实场景中人体摔倒的方向无法确定,但大致有3种情况:沿视频画面水平两个方向上的摔倒、正对摄像头或背对摄像头方向的摔倒和剩余任意方向的摔倒,不同摔倒方向上人体姿态变化有所不同.对于第一种情况,摔倒过程中,腿部弯曲会使大腿与小腿间角度Ang1先变大后变小,变化较为明显;
    人体处于直立状态时,背部与腿部基本在一条线上,而发生摔倒时,背部与大腿间角度Ang2逐渐增大后减小;
    另外背部向量与水平方向向量之间的角度Ang3,由直立接近90°到最终“躺姿”的过程中逐渐增大,提取上述空间特征较为重要.记背部向量为Cback、左右大腿向量Clbleg、Crbleg,左右小腿向量分别为Clsleg、Crsleg,水平方向向量为Chorizon,垂直方向向量为Cvertical,表示如下:

    Cback=(p1,p8)
    Chorizon=(1,0)
    Cvertical=(0,1)
    Clbleg=(p12,p13)
    Crbleg=(p9,p10)
    Clsleg=(p13,p14)
    Crsleg=(p10,p11)

    两向量a→与b→夹角A计算公式如下:

    A=arccosa→·b→|a→|·|b→|∈[0,π]

    (5)

    第1种情况下腿部运动方向基本一致,选择未被遮挡肢体参与计算.此处左右腿不做区分,仅以左腿向量举例,角度计算公式如下:

    Ang1=arccosClbleg·Clsleg|Clbleg|·|Clsleg|

    (6)

    Ang2=arccosCback·Clbleg|Cback|·|Clbleg|

    (7)

    Ang3=arccosCback·Chorizon|Cback|·|Chorizon|

    (8)

    对于第2种情况,背对摄像头摔倒过程中Ang3变化不大;
    正对摄像头摔倒时,Ang1、Ang2、Ang3基本不变且小腿向量会被大腿向量遮挡,而人在摔倒时会下意识使用胳膊撑地保护身体,胳膊由直立行走时基本下垂的状态变得弯曲,该情况下,左右肘部弯曲的角度Ang4、Ang5较为明显.由于两只胳膊支撑动作各异,需分别计算,记Ctlarm表示左肘至左肩部分,Cblarm表示左肘至左腕部分,Ctrarm表示右肘至右肩部分,Cbrarm表示右肘至右腕部分,即:

    Ctlarm=(p6,p5)
    Cblarm=(p6,p7)
    Ctrarm=(p3,p2)
    Cbrarm=(p3,p4)

    则Ang4、Ang5计算公式如下:

    Ang4=arccosCtlarm·Cblarm|Ctlarm|·|Cblarm|

    (9)

    Ang5=arccosCtrarm·Cbrarm|Ctrarm|·|Cbrarm|

    (10)

    另外,该方向上骨架高宽比对于摔倒动作的识别很有意义,身体由直立到摔倒的过程,骨架高宽比值随着摔倒动作的进行,会发生明显变化.考虑摄像头高度问题,采集视频中骨架高宽比变化过程不尽相同.摄像头较高时,骨架高宽比由接近于1或稍大于1的值逐渐增大到远大于1;
    摄像头较低时,骨架高宽比由远大于1的值逐渐减小到接近于1或小于1.计算骨架高宽比为Phw作为空间特征F2,如公式(11)所示,其中Jy_Max、Jy_Min分别代表关节点中y坐标最大、最小值,Jx_Max、Jx_Min分别代表关节点中x坐标最大、最小值.

    F2=Phw=Jy_Max-Jy_MinJx_Max-Jx_Min

    (11)

    最后一种情况,摔倒过程中Ang1、Ang3变化仍明显,Ang4、Ang5只在接近“躺”姿状态下有所变化,Ang2变化不明显.该情况下小腿向量、背部向量与垂直方向向量Cvertical之间夹角逐渐增大,因此将计算该情况下Cback、Clsleg与Cvertical间夹角Ang6、Ang7作为空间特征描述,同样左右小腿运动方向基本一致,不做区分,选择未被遮挡肢体参与计算.此处仅以左小腿向量举例,角度计算公式如下:

    Ang6=arccosCback·Cvertical|Cback|·|Cvertical|

    (12)

    Ang7=arccosClsleg·Cvertical|Clsleg|·|Cvertical|

    (13)

    F3={Angi|i=1,2,3,…,7}

    (14)

    公式(14)为空间特征F3表示,其中7个角度与描述对应关系如表1所示.

    表1 角度说明Table 1 Angles description

    对于t个连续时刻构成序列长度为T的骨架序列,空间特征Fspatial可表示为:

    Fspatial={Ftspatial|t=1,2,…,T}

    (15)

    2.3 时序特征提取

    视频中连续多帧对应骨架关节点数据构成了骨架动作序列,如何选择一种特征来描述随时间动态变化的骨架序列数据也是本文要解决的问题.随着时间变化,同一关节点在空间上的位置变化信息,构成了该关节点的运动轨迹,相邻时刻关节点的位移变化就近似代表了该关节点的运动特征,但考虑到同一动作被拍摄目标距离摄像头远近不同,计算相邻时刻关节点位移距离特征存在较多噪声,同一动作计算出来的时序特征可能相差较大.另外,老年人普遍行动缓慢,摔倒过程相比于青年人会持续更长的时间,相邻帧动作间隔会更长,为体现摔倒过程前后帧姿态差异性,本文选取前后帧肢体夹角变化F4及高宽比变化率F5作为t时刻时序特征,即Fttiming=concatenate(F4,F5)∈1×KT,其中F4∈1×K4,F5∈1×K5,KT=K4+K5.

    经上文分析,整个摔倒过程中Ang1-7变化较为明显,通过计算t-1与t时刻Ang1-7对应角度差值来有效描述摔倒过程中t时刻姿态的动态变化特征.角度差计算公式如下:

    ΔAng=Angt-Angt-1

    (16)

    ΔAng值的大小能够表明某一动作指定肢体运动幅度的大小,不同动作涉及不同身体部位,而不同身体部位运动情况也是不一样的.相邻时刻ΔAng值越大表明肢体间相对运动越快,反之则相对缓慢.ΔAng值的正负包含着前后时刻肢体运动方向信息,随着动作的进行,ΔAng值为正表明该肢体朝着夹角越来越大的方向运动;
    ΔAng接近于零表明该肢体相对其他肢体的夹角基本不变;
    ΔAng为负表明该肢体朝着夹角缩小的方向运动.t时刻角度变化特征F4可表示为:

    F4={ΔAngi|i=1,2,3,…,7}

    (17)

    人体由直立状态逐渐摔倒,当前帧高宽比与前一帧高宽比的比值Qt作为时序特征F5,可体现人体姿态帧间变化率.t时刻,Qt计算公式如下:

    F5=Qt=PthwPt-1hw

    (18)

    当人保持同一个姿态时,Q接近1;
    当人正常的坐下或者躺下时,Q缓慢增大;
    当人摔倒时,Q迅速增大.因而人的高宽比变化率可作为识别摔倒动作的依据.

    对于t个连续时刻构成序列长度为T的骨架序列,时序特征Ftiming可表示为:

    Ftiming={Fttiming|t=1,2,…,T}

    (19)

    与近年来基于深度学习的特征提取方法相比,本文特征提取方法简单直观,相比于深度学习黑盒模型复杂的设计,更容易理解;
    对于骨架类型数据,深度学习对输入数据进行组合、变换获取高级特征并非高效,利用先验知识构造的特征也有比较好的效果.

    本文的目的是根据未知视频中提取的骨架序列数据正确识别出摔倒动作,一个完整的动作由一系列静止姿态构成.姿态序列是一串相互依赖的数据流,在时序上,随着动作的进行,前中后阶段对应静止姿态所含有的信息量并非始终如一,基于骨架序列数据的动作识别是一个序列预测问题,传统循环神经网络RNN(Recurrent Neural Network)及其变体适用于处理序列数据.1997年提出的长短时记忆神经网络LSTM(Long Short Term Memory)虽然解决了传统RNN梯度爆炸或消失问题,但由于模型本身结构较为复杂,使得模型训练缓慢;
    2014年提出的门控循环单元GRU(Gate Recurrent Unit)改进了LSTM,单元内部使用更新门代替输入门和遗忘门来控制细胞状态,参数量较LSTM少,这种方式的优势是计算量得以减小,训练速度会更快,且模型表达能力不弱于LSTM.本文网络模型如图3所示,该网络模型分为空间注意力模块、时间注意力模块和分类模块.

    图3 STM-GRU网络模型Fig.3 STM-GRU network model

    3.1 GRU

    RNN能够将输入序列(x1,…,xt)映射为隐结点序列(h1,…,ht),因此可以从输入序列中递归学习复杂的时间动态特征.然而,当时序信息经多个时间步传递后,RNN会遇到梯度弥散或梯度爆炸问题,网络参数更新受阻,从而很难学到长时动态信息.GRU是RNN的一种,也可视为LSTM的变体,其门控机制能够解决上述问题.单个门控循环单元结构如图4所示,包含更新门zt和重置门rt,更新门决定多少隐藏状态信息保留到当前状态,重置门决定过去的信息需要被遗忘的程度.

    GRU的门结构通过非线性激活函数控制.设σ(x)=(1+e-x)-1表示非线性函数sigmoid,φ(x)=ex-e-xex+e-x表示双曲正切非线性函数tanh.GRU门控结构中的参数可由以下公式表示:

    zt=σ(Wz·[ht-1,xt])
    rt=σ(Wr·[ht-1,xt])
    t=φ(W·[rt*ht-1,xt])
    ht=(1-zt)*ht-1+zt*t

    (20)

    其中xt为t时刻输入向量,即输入序列X的第t个分量,ht-1保存的是前一时刻隐藏层输出信息,t为当前记忆内容,ht为最终输出,WZ、Wr、W为权重矩阵,通过训练习得.

    图4 GRU内部结构图Fig.4 GRU internal structure

    3.2 空间注意力模块

    人的动作可由关节点骨架表示的一系列静止姿态演变来描述.在空间维度上,不同部位关节点运动情况相互影响,具有动态性特点,且不同身体部位对某一动作重要性程度明显不同.对于“摔倒”动作来说,相对于髋关节点,踝关节点、肘关节点、腕关节点运动较为明显,体现在摔倒过程中与髋节点间相对距离发生较为明显的大小变化,而其余关节点如肩关节点、膝关节点、臀关节点等与髋关节点之间的相对运动幅度小一点.另外人体摔倒的方向无法确定,不同方向下哪些关节间角度变化较为明显,哪些关节间角度变化不明显;
    哪种情况下通过角度无法区分摔倒、直立与坐下动作,需提取别的特征,都需要考虑在内.然而为所有特征都赋予相同权重的做法是不合理的,一些情况下某一特征不能提供足够的区分度,反而会对摔倒的识别带来干扰,因此本文提出空间注意力模块为每种特征自动分配不同权重,聚焦于高信息量的摔倒特征,使得模型获取更多所需要关注部位的细节信息,而不单纯依赖简单的内容向量,重视关键部位,降低对其他部位的关注度,抑制无用信息.空间注意力模块包含GRU层、空间注意力层、全连接层和tanh激活单元,如图3所示.

    图5 空间注意力计算图Fig.5 Spatial attention calculation graph

    空间注意力计算过程如图5所示,t时刻,2.2节所述空间特征Ftspatial=(ft,1,ft,2,…,ft,KS)t对应分数st=(st,1,st,2,…,st,KS)t由以下加性模型计算:

    st=Us·tanh(Ws·[hst-1,Ftspatial]+bs)+bus

    (21)

    其中,hst-1为上一时刻GRU输出,Us、Ws为可学习权重参数,bs、bus为偏置项.则t时刻空间特征注意力分布计算公式为:

    αt,k=exp(st,k)∑KSi=1exp(st,i)

    (22)

    相当于对分数进行了SoftMax正则化处理.对于某一特征而言,计算αt,k所得分数越高表明该特征对识别该动作提供的价值越大.经空间注意力模块处理后,空间特征为F′spatial={Ft′spatial|t=1,2,…,T},其中Ft′spatial=(f′t,1,f′t,2,…,f′t,KS)t,f′t,k=αt,k·ft,k.

    3.3 时间注意力模块

    完整的动作大致可分为开始、中间和结束3个阶段,在时间维度上体现在视频帧的重要性不同.如“坐下”动作,开始阶段接近“站立”的姿态并不能为识别“坐下”动作提供足够有价值的信息,而中间阶段“弯腰”姿态和结束阶段坐在椅子上的姿态对于“坐下”动作的识别来说就非常重要;
    再如“摔倒”动作会经历一个由慢到快的过程,开始动作幅度较小,接近于“站立”或“弯腰”,随着时间进行,中间和结束阶段,腿部及肘部弯曲逐渐明显,身体姿态倾斜趋于“躺”姿.摔倒前身体较为直立的姿态与摔倒动作关联性不大,反而可能对该动作的识别过程带来干扰,可见身体姿态在不同阶段所蕴含的信息量并不是对等的,不同的人摔倒过程也不一样.因此,本文提出时间注意力模块使得模型选择性地关注帧序列不同阶段中的关键帧,由帧选择门计算时间注意力权重θ,为不同帧分配不同权重以选择该摔倒动作对应的关键帧.时间注意力模块包含GRU层、时间注意力层、全连接层和Relu激活单元,如图3所示.

    图6 时间注意力计算图Fig.6 Temporal attention calculation graph

    时间注意力计算过程如图6所示,t时刻,2.3节所述时间特征Fttiming=(ft,1,ft,2,…,ft,KT)t对应帧选择门激活函数计算公式为:

    θt=ReLU(WT·[hTt-1,Fttiming]+bT)

    (23)

    其中,hTt-1为上一时刻GRU输出,WT为学习权重参数,bT为偏置项,帧选择门控制着不同帧对之后动作识别的重要程度.t时刻视频帧注意力值由以下点积模型计算:

    vt=θt·Fttiming

    (24)

    对于步长为T的帧序列,t时刻视频帧权重由SoftMax对注意力值进行数制转换,公式如下:

    βT,t=exp(vt)∑Ti=1exp(vi)

    (25)

    经时间注意力模块处理后,时序特征F′timing={Ft′timing|t=1,2,…,T},其中Ft′timing=(f′t,1,f′t,2,…,f′t,KT)t,f′t,k=βT,t·ft,k.

    3.4 融合

    对时空注意力模块的输出张量进行信息融合能全面描述动作骨架序列的时间特征和空间特征,为此需要对时空特征进行特征融合操作.常见的融合方式有Max、Mean和Concat,其中Max方式会逐元素比较取较大值,丢弃较小值,空间特征与时间特征量纲不同,舍弃较小值不合理且会丢失部分信息;
    Mean方式会逐元素计算时空张量的均值,相当于对时空张量各加0.5的权重系数相乘后相加,要求时空张量形状必须相同,而本模型时空张量形状并非严格相同,不适用于该方式;
    Concat方式将时空张量进行拼接,增加了描述动作的张量维数,将时空注意力模块输出信息结合互补,为后续分类模块提供多方位细节信息.本文在实验部分将对比上述几种融合方式对摔倒动作识别率影响.Concat融合后:

    Ffusion=[Fout_s,Fout_t]

    (26)

    其中Fout_s、Fout_t分别代表时空注意力模块输出张量,Fout_s、Fout_t∈1×D,D为时空注意力模块输出张量维度.Ffusion∈1×2D,表示连续T帧骨架序列融合层特征张量输出.

    3.5 分类模块

    分类模块加入Dropout层使得模型在训练过程中以一定概率随机暂时丢弃一些神经元,避免模型过拟合.使用Adam 优化器训练最优模型,适合求解带有大规模数据或参数的问题,有很高的计算效率和较低的内存需求.损失函数为二分类交叉熵损失函数配合输出层激活函数Sigmoid,公式如下:

    L=-1N∑Ni[ilogyi+(1-i)log(1-yi)]

    (27)

    其中,N为样本数,i为样本i的标签,正类为1,负类为0,yi为预测为正的概率.

    4.1 实验环境及数据集

    本实验的硬件环境为GeForce GTX970*2显卡、8G DDR3*4内存的PC,软件平台为64位Ubuntu16.04.采用Python 3.7进行编程,使用Openpose 1.4提取骨架关节点数据,利用Keras 2.3.1深度学习框架进行网络搭建、训练和测试,后端引擎为TensorFlow 2.1.0.

    自建摔倒数据集包含行走、跑步、拍手及摔倒动作组成,其中的摔倒视频由4个不同受试者模拟老人摔倒在米字型8个方向上录制提供,分辨率为800×600,分别在1.8m和2m两种摄像头高度条件下各采集100个视频共200条视频流,其余3种动作视频取自KTH数据集,该数据集视频场景中的背景、摄像机位置相对固定,远近、视角、动作方向不同,有一定挑战性.除摔倒外其余3种动作作为非摔倒样本,所有样本的80%作为训练集,20%作为测试集.

    4.2 模型评价指标及参数

    本文选用准确率(Accuracy)和漏警率(MA)作为摔倒模型评价标准,具体计算公式如下:

    Accuracy=TP+TNP+N

    (28)

    MA=FNTP+FN

    (29)

    实验选取摔倒动作为正样本,其余动作为负样本.公式中真正例TP(True Positive)表示被模型预测为摔倒的摔倒样本;
    真负例TN(True Negative)表示被模型预测为非摔倒的非摔倒样本;
    P、N分别表示正、负样本;
    假负例FN(False Negative)表示被模型预测为非摔倒的摔倒样本.在摔倒识别应用场合下,模型Accuracy要尽可能高,MA要尽可能小,因为摔倒发生时未检测出来可能有很严重的后果.

    在本文模型中,GRU隐藏单元数为128,时空注意力模块全连接层神经元数均为64,分类模块第1个全连接层神经元数为32,第2个全连接层神经元数为动作类别个数4.其余参数配置如表2所示.

    表2 模型参数Table 2 Model parameters

    4.3 实验结果分析

    图7为其中一位受试者在米字8个方向上摔倒视频中的某一帧画面Openpose识别骨架效果.

    图7 骨架识别效果Fig.7 Skeleton recognition result

    实验首先对比了时序特征F4选择距离与角度、提取空间特征F1前关节点坐标归一化与否及Mean、Max、Concat这3种融合方式对“摔倒”动作识别准确率的影响,如表3所示.显然F4提取角度而非距离特征有效规避了尺度问题,在3种融合方式下识别准确率分别提高了4.22%、8.13%、5.27%;
    提取空间特征F1前,对关节点各坐标做归一化处理,使得F1不受画面中目标位置变化的干扰,Concat方式下提高了1.49%;
    Concat方式将时空注意力模块输出特征张量进行拼接,不会损失信息且融合后的信息更加丰富,有助于模型习得更好的参数,相较于Mean、Max准确率高出了1.44、3.77个百分点.

    表3 特征及融合方式对摔倒动作识别率影响Table 3 Influence of feature and fusion method on fall action recognition rate

    实验测试了不同帧序列长度length对模型识别准确率的影响.图8表明,length从20至46逐渐增大的过程模型识别准确率上升较明显,准确率最高时对应帧序列长度为46,达到了97.32%.本文摔倒视频采集帧率为25帧/秒,说明1.84s为描述老年人摔倒动作的最佳时长,老年人行动缓慢,1.4s以下不足以包含完整摔倒过程.length大于50即2s以上模型准确率缓慢降低,是因为摔倒后躺在地上的序列会对摔倒识别带来一定干扰.

    图8 准确率随骨架序列长度变化曲线Fig.8 Accuracy curve with different sequence length

    表4 不同方向模型识别结果Table 4 Model recognition results in different directions

    实验分别计算图7所示8个方向上模型摔倒识别准确率和漏警率,结果如表4所示.水平向左、向右摔倒识别率最高,漏警率最低,因为该方向下Openpose骨架数据提取完整,姿态时空特征变化明显;
    而正对、背对摄像头识别准确率最低、漏警率最高,因为模型偶尔会将摔倒姿态与站立姿态混淆,未检测出摔倒动作.

    不同摔倒情况下,空间注意力模块计算各空间特征的注意力值,从而为不同的空间特征分配不同权重;
    时间注意力模块计算每一帧注意力值,为摔倒阶段关键帧赋予更多权重.图9表明,时间注意力模块和空间注意力模块相比于未使用注意力机制识别准确率分别提升了2.66和3.93个百分点,同时使用时空注意力模块使得模型对摔倒动作识别准确率提升了9.04个百分点,结果表明本文时空注意力模块有助于后续分类模块进行动作识别.

    图9 时空注意力模块有效性Fig.9 Effectiveness of spatial-temporal module

    损失函数值与准确率随训练迭代轮数的变化曲线如图10所示.

    图10 损失和准确率变化曲线Fig.10 Loss & accuracy curve

    使用训练集的所有数据对模型进行一次完整的训练,称为一个epoch.本实验将数据集3665个样本中的2932个用作训练集,733个用作测试集,训练集中再划分出586个样本作为验证集.图10显示当模型迭代训练到第27轮时,训练与验证曲线损失值都不再有明显下降,之间相差较小,且训练损失值接近于0,达到了理想的拟合.开始时模型在训练集上的表现稍差于验证集,是因为训练accuracy是在每轮epoch上测量,而验证accuracy是在经过一轮epoch后测量而得;
    前15轮模型优化速度较快,之后准确率曲线趋于收敛,验证曲线接近稍低于训练曲线,值基本保持不变,表明模型无过拟合问题,各项参数经训练达到最优.

    本文基于人体摔倒过程分析,提出适用于骨架序列的人体动作特征表示,从时空两个维度上提取特征同时做了归一化处理,解决了尺度、位移变化问题;
    另外STM-GRU模型结合门控循环单元与注意力机制,对时空特征分别加权处理,使得模型关注于动作序列关键特征和关键帧,提高了动作识别准确率.在自建数据集上的对比和相容实验结果表明本文提出的摔倒识别方法在不同场景、方向和不同个体情况下都有较高的识别准确率.

    猜你喜欢 骨架注意力模块 浅谈管状骨架喷涂方法电子乐园·上旬刊(2022年5期)2022-04-09汽车用减震件过盈配合骨架装配模具及装配技术电子乐园·上旬刊(2022年5期)2022-04-09让注意力“飞”回来小雪花·成长指南(2022年1期)2022-04-09Module 2 Highlights of My Senior Year时代英语·高二(2021年4期)2021-07-29Module 4 Music Born in America时代英语·高二(2021年4期)2021-07-29“超级大陆”发现新物种完整骨架发明与创新·大科技(2020年6期)2020-06-22周博士考察拾零(六十六)日光温室前屋面开机具作业门处骨架的处理方法农业工程技术·温室园艺(2017年3期)2017-07-13A Beautiful Way Of Looking At Things第二课堂(课外活动版)(2016年2期)2016-10-21必修模块相关知识过关训练中学生数理化·高一版(2016年6期)2016-05-14阅读理解两则中学英语之友·高一版(2008年10期)2008-12-11
    相关热词搜索:骨架摔倒序列

    • 名人名言
    • 伤感文章
    • 短文摘抄
    • 散文
    • 亲情
    • 感悟
    • 心灵鸡汤