基于深度学习的无察觉式脑卒中患者手部动作识别方法

文档序号:32108703发布日期:2022-11-09 04:59阅读:128来源:国知局
基于深度学习的无察觉式脑卒中患者手部动作识别方法

1.本发明属于健康检测技术领域,具体涉及无察觉式脑卒中患者手部动作识别方法。


背景技术:

2.脑卒中已经成为最常见的神经系统疾病。世界卫生组织进行的一项综合研究表明,全世界每年约有1500万人患有脑卒中,其中约50%的人经历身体一侧行为能力减弱,极大地降低了患者的日常生活活动能力[1]。通过个性化的治疗能够帮助脑卒中患者更快更好地康复。传统治疗方案需要专业医师针对病人情况制定相应的康复方案,然而制定这些方案需要花费大量时间和资源来收集个性化指标,费时费力。脑卒中康复研究的最新方向一直集中在便携式和个性化康复系统的开发上[2],这样的系统可以为患者提供低成本、便捷的有针对性的居家监测,也有利于医师随时了解患者情况并及时调整相应的康复方案。其中,日常行为活动识别是一项重要的监测指标。几十年来,临床上主要由经验丰富且训练有素的康复医生根据标准的运动质量评估方案对患者的运动进行评估[3],判断患者动作类型并给出相应评价。这些基于专业医师监测进行运动评估的方法多依赖于评估者的个人经验,主观人为因素影响较大且耗时较长。而且,临床常用的评估量表或等级跨度较大或评价内容较粗略,无法识别细微的动作功能改善。因此,能够为患者提供的功能改善信息极其有限,在一定程度上会打击患者的康复积极性。
[0003]
近年来,基于可穿戴设备的运动跟踪评估已经被广泛应用[4],但由于偏瘫后患者活动能力下降,脑卒中病人在佩戴这些可穿戴设备上存在一定的困难。此外,这种系统的复杂设置和操作程序对于脑卒中患者来说可能也难以正确使用。可穿戴设备在一定程度上可能会对病人身心造成影响,不利于后续康复治疗。因此非接触式的设备例如视频数据已被广泛研究用于活动识别。这些年,计算能力的进步和传感器技术的发展,引入了各种模态数据,包括rgb数据,深度数据和骨骼数据。机器学习是经典活动识别的方法,并得到了广泛运用。它需要将输入视频编码,然后手工提取特征,最后送到分类器处理以输出动作的类[5]。但机器学习的方法存在手工设计特征十分复杂,且人为因素干预较大的缺点。因此,深度学习近年来得到了更加广泛的关注。
[0004]
在现有的深度学习模型中,三维卷积神经网络(3dcnn)与双流卷积网络(two stream)在动作分类中有良好的表现。他们通常使用现有的大型公开数据集进行训练,例如ucf-101数据集,hmdb-51数据集和kinetics数据集。然而,由于脑卒中患者偏侧肢体肌力下降,能够配合治疗的动作类别少且差异较小,所做的动作幅度也比正常人要小;另外,由于痉挛的发生,脑卒中患者还会表现出异常的动作模式。因此这些公开数据集不能很好的训练出能够识别患者动作的网络。制作相应脑卒中患者行为活动数据集变得十分有必要。


技术实现要素:

[0005]
本发明的目的在于提供一种基于深度学习的无察觉式脑卒中患者手部动作识别
方法。
[0006]
本发明提供的基于深度学习的无察觉式脑卒中患者手部动作识别方法,包括采集视频数据,运用深度学习算法对视频数据进行分类预测,简化脑卒中患者行为活动识别流程,提高识别准确率。
[0007]
本发明提供的基于深度学习的无察觉式脑卒中患者手部动作识别方法,具体步骤如下。
[0008]
(1)数据采集
[0009]
由于上肢和手的精细运动和灵巧性运动对于日常生活极为重要,而当前临床上很少有针对性的准确反映运动变化的评估量表,因此本发明选择脑卒中患者手部动作作为分类任务,特别设计了17种类型的动作,涉及手腕动作、手指动作、握拳摊掌等,旨在全方位测试脑卒中患者上肢肌肉恢复水平;一个手势分为两组,一组做三次,每次动作持续5秒钟,为避免肌肉疲劳,每次动作做完后有5秒钟的休息时间。做完十类动作之后会有休息时间,待患者身心得到完全休息再进行后续动作。旨在全方位测试脑卒中患者上肢肌肉恢复水平。收集到的数据可用于行为活动分析。
[0010]
其中,所述17种手势动具体如下:将手部放松且水平自然放置作为动作起始状态,17种动作具体表现为:(0)手腕朝向胸腔弯曲,(1)手腕远离胸腔弯曲,(2)手腕向上弯曲,(3)手腕向下弯曲,(4)手腕逆时针旋转,(5)手腕顺时针旋转,(6)握拳,(7)五指伸直,(8)大拇指食指对捏,(9)中指无名指小拇指伸直,(10)食指中指无名指伸直,(11)仅食指伸直,(12)伸出大拇指,(13)伸出大拇指食指,(14)伸出食指中指,(15)伸出除大拇指外其他四指,(16)大拇指食指中指三指对捏;具体参见图1所示。其中,第(4)、(5)种,是患者偏瘫为右手,若患者偏瘫侧为左手,则旋转方向相反。
[0011]
本发明中,数据采集使用非接触式kinect传感器;所述kinect传感器搭载有100万像素高级深度摄像头、360
°
麦克风阵列、1200万像素全高清摄像头和方向传感器,可同时采集rgb、深度、声音三个通道的数据;azure kinect dk提供多个开发工具包(sdk),可以通过usb与终端电脑连接,手动设置每个传感器流。根据行为识别任务的特点,并且对除患者动作本身之外的其他场景没有过多要求,因此摄像头分辨率设置为720p,帧率设置为15fps,采集视频数据,采集到的数据通过usb传输储存在外部设备中,以便异地传输,用于行为活动识别任务。
[0012]
本发明共采集到1610个有效视频子集,即本发明最终数据集包含1610个动作。将数据集按照图1动作标签标记后,参与后续训练。
[0013]
(2)数据预处理
[0014]
数据处理过程主要包括数据分割、数据清洗两个过程。
[0015]
数据分割,主要是将采集到的数据按照模型的输入要求进行细分,以便于后续数据清洗后进行打标签以及模型的训练。将采集到的长视频数据先按照动作一次动作为一个视频子集分割,每次动作分为三个状态,起始状态(放松状态)、动作持续状态、结束状态(放松状态)。
[0016]
由于在采集过程中,存在硬件设施或者视频解码过程的问题,有一些数据存在损坏;此外,被试患者在数据采集过程中存在由于患者认知、听力、不能正确理解指令造成的错误、失误的动作。此两类数据在本发明的研究过程中不能参与训练分析,应当及时清洗剔
除;另外,由于患者由于肌力不足或者痉挛等主观不可控因素造成的动作做错,比如动作启动缓慢,动作幅度不足,或者存在主动肌肉以外其他肌肉异常收缩放电等,这种数据是有用数据,应该保留用于后续参与训练。
[0017]
(3)采用三种深度学习模型,并将三种模型进行融合
[0018]
本发明采用当前主流视频理解深度学习算法,选取三种主流视频理解领域模型进行训练与测试,探究脑卒中视频行为活动识别的可行性。三种深度学习模型分别为:
[0019]
(1)tsn(temporal segment networks)[6],采用两种输入流(视频流与光流)来处理时序问题;所谓光流,是由物体或照相机的运动引起的两个连续帧之间图像物体的视运动的模式;它是2d向量场,其中每个向量都是位移向量,表示像素点从第一帧到第二帧的运动;tsn将视频分为多段,分别输入特征提取网络中,例如,将视频分成k段,将视频小段选取一帧做空间卷积,小段中每帧提取光流做时间卷积,然后得到时间和空间维度的语义信息,再经过类别分数融合得到最终的结果;
[0020]
tsn采用rgb+光流的双流输入方式,可以解决处理长视频难以训练的问题;
[0021]
(2)i3d(inflation 3d)[7],采用单一视频输入,3d卷积作为网络基本模块的方式,解决2d卷积预训练权重无法很好地扩展到3d卷积上的问题,并提供kinetics数据集与众多在该大型数据集上预训练的权重;
[0022]
具体地,i3d中,用3d卷积代替图像处理中的2d卷积来处理时空特征,并且将预训练权重引入3d卷积中;单纯的使用3d卷积带来了参数量的增加,训练难度加大;i3d在所有卷积与全连接层之后加入了bn层,且增加池化步长,使用更大的batch对bn更加有利;i3d直接将2d卷积n
×
n的卷积核(kernel)变成n
×n×
n;对于预训练权重,首先把2d卷积核在时间维度上复制n份,然后除以时间维度的维度n,这样做是为了扩展到3d卷积之后,每一层都仍然获取到类似大小的输出相应;对于池化窗口、步长,由特定的视频帧率与输入分辨率来确定如何扩张;
[0023]
(3)slowfast[8],为一种双路径视频识别模型;该模型模仿灵长类视觉中的视网膜神经运作原理,一条路径专注于处理低帧速率下的类别语义(如:颜色、纹理和目标),它以低帧率运行,刷新速度缓慢,旨在捕获图像或几个稀疏帧提供的语义信息;而另一条路径则寻找在以较高帧速率显示的视频中更容易识别的快速变化的运动(如:鼓掌、挥手、摇头、走路或跳跃),它的刷新速度快、时间分辨率高,用于捕获快速变化的动作;由于本发明采集的上肢动作数据属于精细动作,而且脑卒中患者在做动作时的幅度与标准度远不及正常人,因此分类任务属于细粒度分类;采用多种方法比较分析结果,综合各种方法的优点,寻找最适合脑卒中上肢精细视频动作识别的模型。
[0024]
本发明通过比较三种不同深度学习算法在手部精细活动识别的性能,进一步采用软投票法对三种模型进行融合。具体方式为:得到包含属于特定目标类概率值的预测结果,将三个模型结果进行加权平均,概率值最大的类即为预测结果。本发明中,三种模型同等重要,因此加权平均时三个模型权重相等。
[0025]
实验中,通过三个指标top1_accuracy,top_5accuracy,mean_accuracy来衡量模型的分类结果,top1_acc指预测标签将最后输出的概率向量里面最大的那一个作为预测结果,如果预测结果中概率最大的那个分类正确,则预测正确,即正确预测样本/(正确预测样本+错误预测样本)。top5_acc是指预测结果的概率向量最大的前五名中,只要出现了正确
概率即为预测正确,否则预测错误,相比于top1,它的正确预测的评价标准更宽松,值通常比top1要高。mean_acc是指总平均准确率,也就是所有类的预测准确率的平均值。
[0026]
实验表明,单个模型中tsn是最适合脑卒中患者行为识别的最佳分类基础模型。本发明在tsn基础上,应用预训练权重与数据增强方法,并且对tsn的骨架网络替换成公认的轻量级网络resnet50[9],大大减轻模型的参数量,并且保持相当的性能。
[0027]
融合模型的top1准确率比tsn高出约1%,实验证明本发明模型融合的方法,能够提高识别准确率。
[0028]
为了使模型具有更好的泛化能力,而不是单一地拟合训练数据,采用6折交叉验证策略多次训练,最终取测试均值作为判断依据。保证模型在面对“未见过”数据时,具有相当的性能。结果如图3所示,三种方法平均准确率均在90%左右,且本发明修改的tsn模型准确率达到了93%。通过图中结果可以看出,本发明方法具有良好的分类性能,并且在面对未见过的新数据集时,也拥有良好的表现。
[0029]
实验中,所有模型输入采用相同的数据预处理与增强方式,预训练模型采用kinetics400,最终所有动作类别的top1平均准确率分别为92.46%(tsn)、88.10%(i3d)、87.50%(slowfast),对三种模型进行模型融合,采用软投票法,融合之后预测top1准确率高达93.45%。
[0030]
为了验证模型的泛化能力,使用了6折交叉验证法,六折交叉验证准确率如图3所示,平均分类准确率四种方法都超过了90%,模型融合方式达到了94.22%。
[0031]
基于上述基于深度学习的无察觉式脑卒中患者手部动作识别方法,本发明还提供基于深度学习的无察觉式脑卒中患者手部动作识别系统。该系统包括:(1)数据采集设备,具体使用非接触式kinect传感器,用于采集患者17种手部动作,并建立1610个有效视频子集,作为后续深度学习模型使用;(2)数据预处理模块,用于执行识别方法中的数据预处理操作;(3)三种深度学习模型融合模块,用于执行识别方法中三个深度学习模型tsn、i3d、slowfas的训练和融合操作。
[0032]
本发明为脑卒中上肢精细动作活动识别提供了有效的解决方案,不再需要复杂繁琐的可穿戴式设备采集电信号,而是通过基于视觉的方式,更加便捷地识别脑卒中患者上肢活动,便于评估脑卒中患者恢复水平。
附图说明
[0033]
图1为本发明中采集的上肢动作与对应标签图。
[0034]
图2为本发明流程示意图。
[0035]
图3为6折交叉验证准确率图。
[0036]
图4为混淆矩阵。
具体实施方式
[0037]
为了更加清楚地说明本发明的技术方案与研究细节,下面对本发明的实现方式做详细说明,但本发明的保护范围不局限于所述实例。
[0038]
16名不同康复阶段的脑卒中患者参与了本发明的研究,所有受试者都被告知研究目的和实验程序。所有受试者在实验前签署书面知情同意书。受试者按照相同的实验范式
在最少间隔一日接受共两次采集试验。每次试验中,受试者需要依次执行如图1所示的17个手势动作,每个手势分为两组,一组做三次动作,每个动作5秒钟,动作间隔休息5秒钟,做完一个动作后按照图1顺序继续下一个动作。每个动作中首先执行动态任务(从放松状态到所需姿势),再执行维持任务(从受试者放松状态到所需姿势,然后保持这个姿势)。为受试者在每个动作结束后提供5秒的休息时间,用来避免肌肉疲劳与准备下一个动作的姿势。一个可听见的“哔”声将每个任务排入队列。如果受试者错过了特定任务或因理解动作失误执行了错误的任务,则要求他们通知实验助理,并从数据集中删除了错过和错误的任务。同时电极片贴在患者偏瘫侧,左侧偏瘫和右侧偏瘫的电极位置为镜像关系,用来收集患者动作肌电数据,用于后续进一步研究。
[0039]
考虑到基于深度学习的模型依赖于大数据量来训练大量的参数。采用六折交叉验证法。为了使所有手势的在数据集中保持数据平衡,保持数据集所有手势视频数目基本一致,剔除患者动作做错或者漏做的视频,最终以人肉眼短时间内可分辨作为依据,将筛选过后的动作手势作为数据集参与训练。
[0040]
视频可以看作是由一组图像帧按时间顺序排列而成的数据结构,比图像多了一个时间维度。动作识别不仅要分析视频中每帧图像的内容,还需要从视频帧之间的时序信息中挖掘线索。
[0041]
为了使本发明所研究的深度学习算法具有同一评判标准,采用mmaction2库中的设置参数来训练与测试,mmcv使用1.5.0,mmaction2版本为0.23.0。使用tesla v100s-pcie-32gb平台,总共四张gpu,python版本为3.7,cuda版本为10.0,运行cuda为10.2,pytorch版本为1.10.1。
[0042]
下面详细描述本发明实验中使用的深度学习算法及实验中的设置。
[0043]
tsn采用两种输入流(视频流与光流)来处理时序问题。所谓光流,是由物体或照相机的运动引起的两个连续帧之间图像物体的视运动的模式。它是2d向量场,其中每个向量都是位移向量,表示像素点从第一帧到第二帧的运动。tsn将输入视频分成k段,将视频小段选取一帧做空间卷积,小段中每帧提取光流做时间卷积,然后得到时间和空间维度的语义信息,再经过类别分数融合得到最终的结果。在本发明中,数据集提取出图像帧,送入网络之前先进行随机剪裁(crop),然后resize成224
×
224,再执行翻转率为0.5的翻转(flip)归一化后送入骨架网络进行特征提取。骨架网络采用经过预训练的resnet-50来提取特征,resnet能在保持网络参数量小的情况下取得不错的性能,分类头输入通道为2048,dropout设置为0.4。训练过程中,采用随机梯度下降(sgd)优化器,学习率设置为为0.00125,动量(momentum)设置为0.9,权值衰减(weight_decay)系数设置为0.0001。训练中采用单卡训练,总epoch数设置为50,训练批数量(batch_size)设置为4,每50个item输出一次训练结果以便随时观察训练状态,每5个epoch保存一次模型参数,将训练过程中的训练参数如学习率,top1_acc,top5_acc等记录在日志文件中。训练前从官网加载kinetics400预训练模型,能够加速训练收敛,提高模型性能。
[0044]
i3d中,用3d卷积代替图像处理中的2d卷积来处理时空特征,并且将预训练权重引入3d卷积中。单纯的使用3d卷积带来了参数量的增加,训练难度加大。i3d在所有卷积与全连接层之后加入了bn层,且增加池化步长,使用更大的batch对bn更加有利。i3d直接将2d卷积n
×
n的卷积核(kernel)变成n
×n×
n;对于预训练权重,首先把2d卷积核在时间维度上复
制n份,然后除以时间维度的维度n,这样做是为了扩展到3d卷积之后,每一层都仍然获取到类似大小的输出相应。对于池化窗口、步长,由特定的视频帧率与输入分辨率来确定如何扩张。在本发明实验中,为了保持数据评估的可靠性,硬件设置与tsn设置保持一致,同样经过crop-resize-flip后送入骨架网络进行特征提取。骨架网络采用经过预训练的resnet3d-50网络,第一层卷积核大小设置为(5
×5×
7),步长与池化设置为2,分类头输入通道为2048,dropout设置为0.5,同样采用与tsn一致的sgd优化器,学习率为0.00125,动量设置为0.9,权重衰减率为0.0001,单卡训练,总回合数(epoch)设置为50,batch_size设置为4,每50个item输出一次训练结果以便随时观察训练状态,每5个epoch保存一次模型参数,将训练过程中的训练参数如学习率,top1_acc,top5_acc等记录在日志文件中,加载kinetics预训练模型权重进行训练。
[0045]
slowfast是双路径视频识别模型,其中一个路径旨在捕获图像或几个稀疏帧提供的语义信息,它以低帧率运行,刷新速度缓慢。而另一个路径用于捕获快速变化的动作,它的刷新速度快、时间分辨率高,使用的是轻量级网络,它不需要执行任何池化操作。两条路径通过侧连接(lateral connection)进行融合,最后进行分类预测。本发明中,设置超参数α=8,β=1/8,τ=8,α是帧采样倍数,表示快通道帧数是慢通道的α倍,β是通道倍数,τ是时间步幅,表示慢通道只处理τ帧中的一个。慢路径(slowpath)骨干网络为resnet3d-50,conv1卷积核为(1
×7×
7),卷积与池化步长都设置为1,快路径(fastpath)骨干网络为resnet3d-50,conv1卷积核为(5
×7×
7),分类头输入通道为2304,采用sgd优化器,学习率设置为0.0125并使用余弦退火(cosineannealing)的学习率下降方式,动量设置为0.9,权重衰减为0.0001,训练共50个epoch,训练前加载kinetics400预训练模型,可以提高模型性能,加速收敛。
[0046]
融合,我们使用软投票的方法对三种模型进行融合。流程框图如图2中模型训练所示,具体方式为每个模型的预测值都提供一个属于每一个目标类的概率值。最终预测值由分类器的重要性加权和决定,加权和最大的数值对应的类别即为预测类别。在本发明实验中,给三个模型赋予同样的权重。融合结果如表1中fusion一栏所示,top1,top5与mean准确率却均有不同幅度上升,speed一栏中,-表示没有测试该项。最终经过融合后的模型top1准确率达到了93.45%.
[0047]
本发明对不同深度学习方法在脑卒中患者行为活动识别中的性能与影响性能的因素进行了深入探讨,旨在找出最适用于脑卒中行为活动识别的深度学习算法模型。
[0048]
数据集包含1610个视频片段,涵盖了大部分脑卒中患者日常上肢运动,每个片段都且都仅包含一个动作的起始状态、持续状态、结束状态。先用随机选取的方式将数据集划分为训练集与测试集,其比例为7:3,采用上述三种深度学习算法进行模型的训练后,使用测试集测试得出的结果指标如表1所示。从speed一栏可以看出i3d由于3d卷积计算量过大,slowfast由于设置过程的复杂性,两者的运行速度都没有tsn快,tsn达到了平均2.5个/s的视频任务处理速度。且tsn的准确性也在三者中是最高的。本发明的融合模型准确率达到了93.45%,从该数据可以看出,融合模型在脑卒中患者上肢活动识别任务中有用非常优异的表现。
[0049]
表1
pattern recognition(cvpr),2017,pp.4724-4733,doi:10.1109/cvpr.2017.502.
[0061]
[8]c.feichtenhofer,h.fan,j.malik and k.he,"slowfast networks for video recognition,"2019ieee/cvf international conference on computer vision(iccv),2019,pp.6201-6210,doi:10.1109/iccv.2019.00630..
[0062]
[9]k.he,x.zhang,s.ran and j.sun,"deep residual learning for image recognition",ieee conference on computer vision and pattern recognition(cvpr),pp.770-778,2016。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1