基于计算机视觉的居家康复训练评估算法

来源:优秀文章 发布时间:2023-01-19 点击:

郑 奇,郭立泉,陈 静,杨 朝,王晓军,熊大曦

1(中国科学技术大学 生物医学工程学院(苏州)生命科学与医学部,合肥 230026)2(中国科学院 苏州生物医学工程技术研究所,江苏 苏州 215163)3(南京医科大学附属苏州科技城医院 呼吸内科,江苏 苏州 215153)4(苏州市相城人民医院 神经外科,江苏 苏州 215131)

随着社会发展,人口老龄化问题越来越突出,老年人口比重迅速增加.老年人由于器官受损或身体机能衰退,面临肌肉力量、平衡和活动能力等问题[1].这些问题使老年人难以保持日常生活的独立性,进而导致他们的焦虑、自卑和生活质量下降[2,3],同时也给全球医疗保健系统带来巨大压力[4].因此世界各国越来越提倡居家的康复训练.对于老人的居家康复训练,目前常用的方法是医生开具运动处方并电话随访,老人定期前往医院进行功能评估.然而很多老人在家庭康复中,对锻炼方案坚持程度较低,导致治疗时间延长和医疗费用增加[5,6].Miller KK等人[7]指出,有许多不同的因素导致了老人的依从率低,其中主要的两个原因是康复训练的高成本,以及缺乏医疗专业人员对患者锻炼的评估和反馈.因此如何降低训练成本并为患者提供及时准确的评估反馈,成为老年人居家康复训练亟待解决的关键问题和研究热点.

随着电子信息和人工智能技术的发展,研究人员开发了多种用于居家的身体康复的工具和设备.Lin等人[8]开发了一个基于Kinect的康复算法,将太极的每种形式分解成4种姿态,并计算标准姿态的骨骼与用户实际姿态的关节角度之差,由Kinect传感器跟踪.尽管Kinect提取人体姿态信息很方便,但价格昂贵,大部分家庭还需额外购买高性能电脑和Kinect.文献[9]通过可穿戴设备获得上肢康复训练的常见动作样本,提出改进的SVM 分类器,实现对康复动作的评分.这些设备在训练中需要正确的佩戴,佩戴位置或方向出现偏差,均会导致评估不准确,甚至完全错误.而老年人因认知能力不高,通常他们无法独立佩戴,或佩戴不正确容易脱落,导致评估失败.T.T.Um[10]等人采用了类似的方法来评估帕金森患者的运动表现.他们从传感器数据中提取了多种数据特征,通过对比这些特征来评估患者的运动.这种算法由于简化了连续运动,只从中提取了几个离散特征而易于实现,但运动质量却不能得到全面的评价.这是因为简单化的特征导致了一些信息的丢失,如运动的连续性.

针对上述问题,提出一种基于计算机视觉的居家康复训练评估算法.采用普通RGB摄像头获取老人运动信息,并通过优化后的姿态估计和运动评分算法为老人评分,无需穿戴,使用方便且成本低廉.提出了特殊的特征提取方法,解决了人体体型差异带来的影响.针对老人动作的迟滞性,采用了动态时间规整算法计算老人运动与标准动作之间的相似性.动态时间规整算法可以最大限度地减少因速度变化而导致的时间延迟或失真的影响[11,12],提高了动作评分的科学性与准确性.

动作评估算法主要包括人体姿态估计、数据滤波、特征提取、分类模型4个部分,具体算法流程如图1所示.视频流信息经姿态估计算法和数据滤波后,得到人体的骨架关键点信息.初步特征提取,计算肘关节和膝关节的角度实时变换序列.进一步地,深度特征提取会将数据经创新性的归一化方法后,计算老人运动数据序列与标准动作序列之间的动态时间规整相似度,以及关键点的最大最小值、标准差、中位数等统计学特征.最后根据浅层特征和深层特征,通过支持向量机分类算法,建立与临床康复评估之间的映射模型.

图1 动作评估算法框架

3.1 人体姿态估计算法

3.1.1 姿态估计算法OpenPose

人体姿态估计算法在基梅隆大学发布的开源项目OpenPose[13]卷积神经网络基础上进行改进和优化.该网络具有良好的准确性和鲁棒性,在COCO 2016关键点挑战赛中获得了冠军,其网络结构主要包含4个部分.首先是Backbone部分,该部分采用VGG-19[14]卷积网络对输入图像进行特征提取.特征提取后,进入初始阶段部分,该部分包含两个并行的分支,分支一预测表示身体关键点位置的置信图,分支二预测表示身体关键点之间关联度的部分亲和域,两个分支结构相同,均由3个3×3和2个1×1的卷积组成.初始化阶段后是强化阶段,该部分与初始阶段类似由两个结构相同的分支组成.但为了获取较大的感受野,该部分使用了3个7×7的卷积核.强化阶段可以重复多次,以提高两个分支预测的置信图与部分亲和域的准确度.最后是数据处理部分,该部分主要负责从强化阶段预测的置信图和部分亲和域中解算出人体的关节点,并将其分组后连接.

3.1.2 姿态估计算法改进

OpenPose卷积神经网络建立的2D人体姿态模型,包含了人眼、耳、鼻子、肩膀、手肘、髋关节、膝关节、踝关节等共18个关节点的x,y坐标信息[15],且准确度约为60%.但其庞大的网络和数据量,在普通电脑上(如NVIDIA GTX 1650平台)的推理速度缓慢,视频帧数约为1~3FPS,无法在居家康复中正常使用.为此,本文对OpenPose进行了进一步的改进和优化.

首先将轻量级OpenPose的Backbone部分的VGG-19网络卷积层改为MobileNetV3[16]结构.MobileNetV3网络在继承了MobileNetV1的深度可分离卷积和MobileNetV2的具有线性瓶颈的倒残差结构[17]的基础上,重新设计了耗时的层,引入轻量级注意力模型SENet[18]增加了通道的拟合能力,使用新的激活函数h-swish(x)提高了模型的运行速度.MobileNetV3在图像分类数据集ImageNet上实现了75.2%的准确度,比VGG-19准确率提高了2.9%,同时参数数量从140M减少到了5.4M,减少了96%的存储空间,运行速度也大大提高,MobileNetV3的网络结构如图2所示.

图2 MobileNetV3的模块结构

对于初始阶段和强化阶段,本文参考了Intel公司提出的轻量级Openpose[19]中的方法.在初始阶段,共享了除最后两层之外的所有层,大大减少了模型的参数数量,具体方法如图3(a)所示.在强化阶段,用一个具有相同感受野的卷积块代替每个具有7×7内核大小的卷积,其具体结构如图3(b)所示.卷积块包含1×1、3×3和3×3卷积,最后一个卷积层使用空洞卷积,膨胀参数等于2,以保持原始的感受野.因为网络变得更深,还为每个这样的块增加了残差连接.

图3 初始层和强化层的改进

3.2 数据滤波处理

改进后的姿态估计模型大大提高了运行速度,但其平均准确度从60%下降到了39%左右,因此检测到的关键点信息存在一定的噪声信号.另外,当用户弯腰时,身体的部分关键点可能会因遮挡而丢失,此时OpenPose中关键点的位置用(-1,-1)表示,这会导致关键点数据出现抖动或畸形突变.为了降低噪声信号以及关节点遮挡对最终评估的影响,需要对关键点数据进行了限幅滤波和中值滤波.

限幅滤波的基本原理是比较相邻n和n-1时刻的两个采样值y(n)和y(n-1),根据经验确定两次采样允许的最大偏差.如果两次采样值的差值超过最大偏差范围,认为发生了随机干扰,并认为后一次采样值y(n)为非法值,应删除,删除y(n)后,可用y(n-1)代替y(n).若未超过所允许的最大偏差范围,则认为本次采样值有效.限幅滤波方法可以简单且高效的去除掉因关节点遮挡造成的影响.

中值滤波是在“最小绝对误差”准则下的最优滤波.中值滤波对噪声有良好的滤除作用,特别是在滤除噪声的同时,能够保护信号的边缘,使之不被模糊.这些优良特性是线性滤波方法所不具有的.而且,中值滤波的算法易于实现,若窗口尺寸选择适当,其计算速度也十分快,利于系统实时处理数据.

经实验验证,限幅滤波的阈值设为30,中值滤波的窗口尺寸选为5时效果最佳.如图4所示,左侧图为关键点左手腕的x,y坐标滤波前的实时变换曲线,右侧为滤波后的曲线.可以看出滤波算法只删除了数据中所有异常点,并对数据做了较少的平滑处理,数据并未因滤波而产生滞后或过度平滑,最大程度的保留了数据的真实性.

图4 数据滤波前后对比

3.3 特征提取

连续的时间序列曲线因数据点众多且数量不一,无法直接输入分类模型做预测,因此需要提取出能够代表整个时间序列的关键特征,这一过程就叫做特征提取.特征提取算法的科学性很大程度上决定了整个动作评分算法的可信度和准确性,因此如何进行特征提取,是动作评估算法的核心问题.

3.3.1 初步特征提取

数据滤波后,如果直接用姿态估计模型捕捉到的人体骨骼的18个关键点的坐标序列进行动作相似度评估,则评估方法是不科学的,最终的评估结果也是不可靠的.因为动作评分的一个重要问题是人体的外观形态如身高、胖瘦存在很大差异,不同人做同一个动作,即便很相似,但因体型差异过大,很有可能读取到关键点位置差别很大.如抬手动作,不同身高的人,将手抬至头顶处时,手部的关键点坐标位置一定不同.且即便是同一个人如果距离摄像头的远近不同,采集到的位置信息也不相同.

为了解决此问题,将肩膀,手肘,手腕,腰,膝,踝关节关键点通过公式(1)分别计算左右肘关节和左右膝关节角度的实时变换曲线.

(1)

对于上肢来说,其中A表示肩膀到手肘的距离,B表示手腕到手肘的距离,C表示肩膀到手腕的距离,结果αangle表示肘关节角度.其中距离可用两点间的距离公式求出.同理对于下肢用对应关键点替换,即可计算膝关节角度.

另外本文在实际测试中发现,因背景光线或人的发型、装饰不同,比如强背景光、佩戴口罩或帽子时,系统经常无法准确检测到人眼,耳朵的位置信息.因此系统删除了左眼、右眼、左耳和右耳的坐标信息,仅保留了鼻子的信息用于代表头部的位置信息.这几个关键点的运动趋势几乎是完全相同的,删除后并不影响系统对人体运动信息的描述,还可以减少参数数量,增加运行速度.

3.3.2 深层特征提取

3.3.2.1 特殊归一化

人体肘关节和膝关节角度的变化曲线,不会因人体的外观形态以及距离摄像头远近的不同而不同,因此很适合作为动作评分的有效特征.不过,只有角度信息是不够的,如抬手动作,若将手臂伸直但并未放在头顶,而只是放在身体一侧,则肘关节角度也是180°,但动作并不标准.此时仍要用手部的关键点位置进行判断,这表明关键点的位置信息并不是完全无用的.

为了充分表明人体的运动轨迹,但又不能受人体体型大小的影响,本文提出了一种特殊的归一化方法,公式如下:

(2)

对于上肢来说,其中P1代表手腕初始位置,P2代表肩膀初始位置,则‖P1-P2‖表示人的臂长,x1,t代表手腕在t时刻的x轴的位置,x2,t代表肩膀在t时刻的x轴位置.同理对y轴坐标信息做同样归一化处理.归一化后的曲线,可以很好地表现手腕的运动轨迹,而不再包含具体的位置信息,去除了因人的体型差异而引起的误差.类似的,对于脚踝关键点,可以用髋关节作为P2来进行归一化,以表示脚踝的运动轨迹.对于鼻子关键点,可以用颈部作为P2,以表示头部的抬起或旋转.注意,角度曲线并未归一化,因为角度信息并不存在体型差异.

3.3.2.2 动态时间规整相似度

老人因运动功能的衰退,通常无法很快地跟随标准视频运动,所以总是存在着滞后性问题.在这种情况下,使用传统的欧几里得距离无法有效地求解的两个时间序列之间的距离,即相似性.

为了弥补老人与标准动作间的迟滞性,使用动态时间规整(简称DTW)算法计算老人运动曲线与标准动作曲线间的相似度.DTW可以输出两个时间序列之间的最佳对齐值,即最小匹配成本或累积距离,输出值越小,两个时间序列越接近,匹配性能越好.它可以自动扭曲时间序列,在时间轴上进行局部的缩放,使得两个序列的形态尽可能的一致,得到最大可能的相似度.

动态时间规整算法的具体计算过程为:假设标准动作中手腕坐标的变化序列为S=(s1,s2,…,sn),老人训练动作中手腕坐标的变化序列为T=(t1,t2,…,tm),其s和t都表示某时刻手腕的2D坐标信息.为了比较序列S和T相似性,DTW需要首先构造一n行m列的成本矩阵Cp(S,T),其定义见公式(3).其中C(sik,tjk)表示第i时刻的序列S与第j时刻序列T之间的距离.在成本矩阵中可能有多个扭曲路径p.

(3)

DTW的目标是从所有路径中找到累计距离最小的扭曲路径D(S,T).具体方法由递归方程公式(4)给出:

D(i,j)=min{D(i-1,j-1),D(i-1,j),

D(i,j-1)}+C(si,tj)

(4)

其中1

另外从鼻子坐标、左右肘关节角度和膝关节角度的实时变换曲线中提取最大最小值、均值、标准差、中位数等统计学特征,用以更全面地表示运动信息.

3.4 分类模型

对于提取到的特征,通过机器学习分类算法建立与临床康复专家评分之间的映射模型.为了寻求最优的分类算法,分别采用了决策树、随机森林、朴素贝叶斯、K近邻和支持向量机算法等进行处理,并对准确度进行对比,最终选择了支持向量机算法,具体过程和结果见4.3节动作评估模型训练.

4.1 姿态估计模型训练

使用COCO2017关键点挑战数据[20]训练改进后的Openpose模型参数.训练在Intel(R)Core(TM)i7-8700K CPU@3.70GHz,NVIDIA GTX 1080Ti电脑上进行,使用标准Pytorch Adam优化器训练模型,动量为0.9,初始学习率为4e-4并逐渐降低到0,批量大小为64,L2正则权重衰减为1e-5.每幅图像都经过一系列的数据增强操作,包括裁剪、翻转、旋转和缩放,旋转范围是-40°~+40°,缩放范围为0.7~1.35.输入图像的大小为368×368.

在迭代了38000次后,强化阶段的部分亲和域损失约为68,关键点热图损失稳定在18左右,验证集的平均准确率为39%.准确率略有降低的主要原因是删除了原模型强化阶段的后两层,且模型训练迭代次数不够多.

经测试,改进后的OpenPose在Intel(R)Core(TM)i5-9400 CPU @ 2.90GHz,NVIDIA GTX 1650平台上实现了约30FPS的实时2D姿态估计.表1展示了OpenPose,轻量级OpenPose以及用本文的方法改进后的OpenPose的平均准确率和速度的对比.

表1 姿态估计模型的性能对比

图5显示了实际应用中,姿态估计的效果.可以看出虽然改进后的姿态估计算法准确度有所下降,但在实际使用中仍是比较稳定的.主要是因为COCO数据集中很多图片包含多个人、背景复杂且存在很多身体遮挡的情况.而在居家康复训练系统的使用中,通常是在单人站在摄像头前,且人的身体占据了整个图像的大部分空间,并不存在多人或遮挡的情况.因此实际使用效果足以满足居家康复训练系统的使用.

图5 姿态估计示例

4.2 实验参与者

为了验证算法的性能,经过伦理委员会的审批和患者的知情同意,苏州科技城医院和医联体管理的48名居家老年慢性病患者,参加了临床应用研究.每名受试者在康复医生帮助和指导下,根据标准训练视频进行康复训练.每名受试者都进行了八段锦训练.八段锦是一种缓慢而温和的运动,共8个动作,动作简单,可以改善老年人身体的灵活度、耐力和运动功能.随机将其中30人的数据作为训练集,18人的数据作为测试集.根据康复专家意见与国际功能、残疾和健康分类ICF[21],将八段锦的每个动作评估结果分为0~2分,其中,0分表示动作完成度较低,1分表示动作完成度一般,2分表示动作完成度良好.

4.3 动作评估模型训练

用训练集视频经姿态估计,数据滤波以及特征提取后,将提取到的特征分别输入决策树、随机森林、朴素贝叶斯、K近邻和支持向量机SVM算法对比各种分类算法的准确度,选择准确度最高的分类模型作为动作评估算法的分类器.表2对比了每种算法在训练集使用五折交叉验证后得到的平均准确度,单位为%,加粗部分表示相应动作对应的最高准确度.可以看出,用支持向量机算法作为分类模型时,动作评估算法的平均准确度最高.

表2 分类算法准确度对比

4.4 结果与分析

图5显示了康复训练过程中,姿态估计的效果.可以看出因光线或遮挡问题,身体的个别关键点存在检测丢失的情况,这表明了数据滤波的必要性.另外,在Intel(R)Core(TM)i5-9400 CPU @ 2.90GHz,NVIDIA GTX 1650平台上,人体姿态估计并绘制人体关键点的平均速度在30FPS左右,保证了老人康复训练时动作画面的流畅性和交互反馈的实时性.

选定支持向量机算法作为分类模型后,用测试集验证整个动作评估算法的准确性.表3展示了只使用最大最小值、均值、标准差、中位数等统计学特征和增加动态时间规整动作相似度特征后的模型准确度.可以看出,在增加了动态时间规整的动作相似度特征后,算法评分的准确度大约提高了5%,表明用动态时间规整算法评估老人康复训练运动的有效性.

表3 动作评分算法准确度

评估算法对测试集18位老人评分和专家平均分的对比结果如图6所示.横坐标表示康复训练评估算法的分数,纵坐标表示康复专家评分.每个动作0~2分,共8个动作,最多16分.皮尔逊相关系数(r)为0.967(P<0.001),表明两种评估方法具有显著的相关性.这表示所设计的算法可以有效地应用于老年人居家康复训练和自动评估.

图6 算法评分与专家评分相关性

针对老年人肌肉力量、平衡和活动能力等运动功能受损等问题的居家康复,提出一种基于计算机视觉的老年人居家康复训练评估算法.用改进的MobileNetV3结构优化加速OpenPose姿态估计算法,实现了在普通家庭电脑上的实时动态反馈训练.用关节角度和创新性的归一化方法,解决了人体体型差异的问题.用动态时间规整DTW算法提取连续变化的人体关键点的序列相似度,并融合最大值、最小值、标准差等多种统计学特征,解决了老年人动作滞后的问题.用支持向量机算法建立了与临床康复评分相对应的动作评估模型.为验证算法性能,开展了48名老年人参与的八段锦康复训练试验,结果表明,算法在Intel(R)Core(TM)i5-9400 CPU@2.90GHz,NVIDIA GTX 1650平台上实现了约30FPS的姿态估计,且评分的准确度为93.8%,皮尔逊相关系数(r)为0.967,P<0.01,表明两种评估方法没有统计学差异.未来将采集更多老年病患者的训练数据,并进一步优化姿态估计和机器学习算法,提高老年人居家康复训练评估算法的运行速度和准确性.

猜你喜欢 准确度关键点特征提取 影响重力式自动装料衡器准确度的因素分析科海故事博览·下旬刊(2022年4期)2022-05-07论建筑工程管理关键点建材发展导向(2022年3期)2022-04-19肉兔育肥抓好七个关键点今日农业(2021年8期)2021-11-28建筑设计中的防火技术关键点建材发展导向(2021年11期)2021-07-28空间目标的ISAR成像及轮廓特征提取北京航空航天大学学报(2019年9期)2019-10-26基于Gazebo仿真环境的ORB特征提取与比对的研究电子制作(2019年15期)2019-08-27基于特征提取的绘本阅读机器人设计方案电子制作(2019年15期)2019-08-27微动目标雷达特征提取、成像与识别研究进展雷达学报(2018年5期)2018-12-05论提高装备故障预测准确度的方法途径价值工程(2016年32期)2016-12-20Word中“邮件合并”功能及应用考试周刊(2016年34期)2016-05-28推荐访问:算法 居家 评估
上一篇:一种适用于分布式存储集群的纠删码数据更新方法
下一篇:基于混沌工程的自动化故障实验系统

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有