李德康,汤 进,王福田,涂子健
(1.安徽医科大学生物医学工程学院,安徽 合肥 230032;2.合肥综合性国家科学中心人工智能研究院,安徽 合肥 230088;3.安徽大学,安徽 合肥 230039)
世界卫生组织将10 月15 日定为“世界洗手日”,呼吁全世界人民掌握良好的洗手习惯和正确的洗手方法,并且强调勤洗手对防控疾病感染的重要性。据统计,我国每年因医院感染而死亡的人数达到数十万人,且需额外支出100~150 亿元医疗费用[1]。现有的感染防控手段可以预防55%~70%的医院感染风险,其中手卫生是预防医院感染最直接、最经济、最有效的方法[2]。
手卫生为洗手、卫生手消毒和外科手消毒的总称。其中,六步洗手法是完成手卫生不可或缺的一个行为,它包含了6 个步骤,如图1 所示。研究表明,六步洗手法对于预防细菌和病毒感染至关重要,完整且规范地完成六步洗手法能够有效地将细菌感染率从58%下降到10%[3]。因此,通过对手卫生行为进行干预能够减少病毒感染的风险。
图1 六步洗手法步骤图
在干预手卫生行为的研究中,手卫生动作质量评估任务尤为关键。这项研究主要是针对手卫生行为进行评估并提供反馈,以帮助人们掌握正确的洗手方法和技巧,并养成良好的手卫生习惯。传统的手卫生动作质量评估方法主要依赖于人工观察和评估,这种方法需要投入大量的人力和资源。因此,基于智能技术的手卫生动作质量评估方法的研究变得尤为重要,通过利用智能算法和计算机视觉技术,能够更高效地评估手卫生动作的质量,从而节约资源的同时提供准确的评估结果,能够及时提供有效的反馈。
在基于智能方法的手卫生动作质量的研究中,基于深度学习的方法已经得到了广泛应用。Llorca 等人[4]利用皮肤颜色和手部运动相结合来分析洗手过程中的手部动作,通过测量用户在每个姿态中花费的时间来衡量洗手质量。Zhong等人[5]应用迭代工程过程设计了手卫生行为检测系统,其使用了动作识别的方式来完成手卫生评估任务。然而上述方法未能直观地通过分数来反馈出手卫生动作质量。为了解决上述问题,Li等人[6]在真实场景下采集了一批高质量的手卫生视频,通过细粒度标注,创建了名为HHA300(https://github. com/mmic-lcl/Datasets-andbenchmark-code)的手卫生数据集。同时他们提出了一个能够直接输出预测得分的算法模型,该模型结合了动作分割算法,用于提取手卫生视频中的每个步骤的I3D[7]特征片段。此外,他们为每个步骤设计了一个专门的打分器,用于评估步骤的质量和规范程度。其研究中还引入了2 个评价指标,用以衡量手卫生动作质量评估得分的准确性。这一综合方法在实现动作质量评估准确性的同时,也为手卫生行为质量提供了客观可量化的评估方法,为深入的手卫生干预提供了有力支持。尽管他们设计的方法可评估分析手卫生视频的动作信息,然而从视频中提取的融合了RGB 和光流信息的I3D 特征并不敏感于捕获视频中的手部运动信息。手卫生评估涉及细微动作信息,如手部姿势、手指移动等,这些动作可能不仅仅通过运动模式来表达。为了更准确地评估手卫生动作的质量,本文提出一种基于多源动作信息的手卫生动作质量评估算法,该算法综合利用视频数据和差分图像数据,着重关注手卫生动作的微妙细节,从而实现更为精确的评估。
该算法在分割模块中,将获取特征中的每个步骤片段,从而为后续的评估模块提供有效的特征信息。在评估模块中,将差分图像特征步骤所在片段与视频的I3D 特征步骤所在片段使用包含交叉注意力机制的手卫生信息解码器结合起来,这种综合的特征表示能够更好地捕捉到细微的手部运动信息,可以提供更丰富和全面的信息,使评估模型能够更准确地理解和评价手卫生动作的质量。
综上所述,本文对手卫生动作质量评估任务做出的工作有以下3点:
1)设计一个动作分割模块,通过精确地对手卫生视频进行分割,为后续的评估模块提供准确的定位信息。
2)设计一个多源动作信息作为输入的手卫生评估模块。通过引入差分图像数据作为补充,更好地对手卫生动作的细微运动进行建模,提高手卫生评估的准确性。
3)以端到端的方式对手卫生动作质量进行评估,有效地提高评估的准确性和效率。同时在公开数据集HHA300上取得了最好的结果。
近年来,视频动作分割任务取得了显著的进展。其中,时域卷积网络[8](Temporal Convolutional Network,TCN)在该领域发挥了重要作用。TCN 结构由扩张卷积[9]和因果卷积[10]组成,能够有效建模复杂的时间结构,实现时间序列的预测。Lea 等人[11]首次提出了基于视频动作分割的TCN,采用编码器-解码器架构,利用TCN 捕捉长期依赖关系。然而,这种方法可能缺乏动作识别所需的细粒度信息。Lei 等人[12]在Lea 等人的基础上将可变形卷积代替普通卷积,同时添加了残差流,使得性能得到了提升。为了克服细粒度缺失问题,Farha 等人[13]通过多层堆叠TCN,在全时域分辨率下运行模型。Ishikawa 等人[14]使用TCN 网络为主干网络,通过将动作分割网络进行解耦为动作分类和动作边界回归3 大模块更好地完成动作分割任务。Wang 等人[15]也采用了TCN 作为主干结构,通过级联网络方式提高动作识别的准确性,并关注边界信息以缓解过度分割问题。
除了TCN,Transformer[16]是另一种在顺序性数据中具有出色关系建模能力的模型。Yi等人[17]首次提出了一种有效的分层注意力机制,用于捕获几分钟长的视频序列中的依赖关系,并设计了解码器来优化输出结果。
近年来大多数研究都是将动作质量评估任务转换为回归问题。Pirsiavash 等人[18]将质量评估视为监督回归问题,使用离散余弦变换对关节轨迹编码作为输入特征,通过线性支持向量回归映射出最终分数。基于视觉的方法,对视频中动作评估时,人类的注意力会集中到重要的视频区域,Li 等人[19]提出一种基于递归神经网络的空间注意力模型。Parmar 等人[20]收集体育领域的数据集,且提出了直接利用C3D[21]提取的视频特征信息,能够提升动作质量评估算法的性能。Zeng 等人[22]通过利用上下文感知注意力模块来结合动态信息和静态信息实现动作质量评估任务。Yu 等人[23]提出了一个对比回归框架,通过视频之间的差异,引导模型进行学习评估。Xu 等人[24]提出了一个大规模的花样滑冰运动视频数据集,并设计了基于注意力机制的花样滑冰动作质量评估方法。Xu 等人[25]通过Likert量表[26]设计了一种新的评分范式,提出不同等级对评估分数的影响。
本文提出的算法模型是以端到端的方式完成手卫生动作质量评估,算法流程如图2 所示,该算法主要分为动作分割模块、差分图像特征提取以及评估模块3个部分。算法的执行起始点为动作分割模块。
图2 手卫生动作质量评估算法流程图
在手卫生视频中,在步骤切换、视频开始和视频结束等时间片段中存在着无关的动作,如图3 所示。这些动作对手卫生动作质量评估结果有着一定的负面影响。
图3 六步洗手法非步骤动作图
为了准确地评估手卫生动作,本文设计一个动作分割模块提取手卫生动作中每个步骤的位置索引,通过这些位置索引可以定位并截取出步骤所在片段。通过这种方法,能够单独针对步骤中的动作进行手卫生评估,有效避免了无关动作对评估结果的噪声影响。
在本文中,动作分割模块是基于BCN[15]模型为基本框架进行设计的。BCN 模型的贡献主要包括引入级联结构思想以及语义边界信息来提高动作分割的准确性和稳定性。通过引入级联结构,以时间动态建模的方式对动作进行精细的建模,从而获得更可信的结果,并提高帧级别的识别精度。同时通过将引入的边界信息与帧预测进行结合,使得模型能够识别和关注动作的边界位置,从而缓解过度分割的问题。
本文在级联结构之前引入ASFormer[17]模型的编码器部分作为前置模块,来处理视频特征。基于自注意力机制的编码器能够自适应地捕捉特征序列中的关键特征和上下文依赖关系,为后续的级联结构提供更具有丰富性和准确性的特征表示。
在级联结构和融合阶段的结构中,本文将其中的TCN 替换为ASFormer 中的解码器部分。相较于TCN,ASFormer的解码器包含了交叉注意力层,能够在时间维度上进行更精确的建模,捕捉到不同时间步之间的依赖关系,并将语义信息进行更有效的传递和整合,这使得它能够输出更准确和具有语义信息的特征表示。
级联结构和融合阶段的目的是为了处理较难识别的模糊帧。在每个级联阶段的输出中,获取到每一帧的预测概率,将其记作为置信度分数,同时级联阶段会通过判断置信度分数的值来为每一帧分配权重。公式如下:
在式(1)中,θ是参数,是第i级联阶段第t帧的置信度分数。通过置信度分数与参数相比较,来判断如何通过因子exp()调整下一阶段的权重。通过这种方式能够增加模糊帧的置信度分数,从而使得模糊帧能够有精准的预测。在所有阶段中,只要存在一个阶段的置信度分数大于参数,则停止使用因子进行调整权重。
融合阶段的目的是为了降低对单个阶段的过度依赖,从而减少可能由于某个阶段的误差或不准确而引起的帧识别错误。在融合阶段,将自适应组合每个级联阶段中所有帧的置信度分数,以这种方式利用到所有阶段的预测结果。公式如下:
式(2)中,n为级联结构中的阶段次数,是融合阶段中置信度分数,为所有级联阶段的权重聚合的结果。
另外,在BCN 模型中,屏障生成模块通过利用视频特征信息以及细粒度注释,帮助模型更好地捕捉到动作的边界信息,用于指导局部屏障池的权重计算。局部屏障池利用这些信息来调整帧的权重,以改善分割结果的平滑性,缓解过度分割的问题。在本文模型中保留了这些组件,以缓解分割手卫生视频时过度分割的问题。
帧间差分法是一种常用的计算机视觉技术,通过对连续帧之间的像素值进行差分运算生成差分图像,从差分图像中能够捕捉到细微的手部运动信息。例如第t帧的图像Rt的像素值减去第t-1 帧的图像Rt-1的像素值得到第t帧的差分图像Tt,公式如下:
在完成手卫生的过程中,手部运动信息能够提供手部姿态的精确度和准确性,从而在评估过程中能够判断手部动作是否符合规范。本文算法采用了帧间差分法来获取手卫生视频的差分图像数据,捕捉手卫生中更为精细的手部运动信息。随后,使用预训练的ResNet50[27]特征提取器对差分图像数据进行特征提取,从而获取更具表征性的差分图像特征ftd。
在处理第一帧图像时,由于无法与前一帧图像进行差分处理,无法获取手部的运动变化信息。为了解决这个问题,在提取的差分图像特征中的时间维度的第1 列上添加1 个2048 维的张量,其中所有元素均设置为0,在保持数据的一致性的同时,也表示缺失的手部运动信息。
手卫生动作质量评估任务旨在获得一个与真实分数接近的预测分数。本文采用回归方法来完成动作质量评估,利用差分图像特征和视频特征之间的相互依赖性来得出最终的预测结果。
本文模型在进行评估之前需要对分割结果进行预筛选。设定每个步骤的最短时长为10 帧,如果某一步骤的帧数低于10 帧,则可以判断发生了错误的分割,该步骤将不进行下一步的评估任务,从而减少错误的分割结果对后续分析和评估的影响。
经过预筛选得到每个步骤的特征片段索引,通过这些索引可以查询和截取差分图像特征步骤所在片段和视频特征步骤所在片段fi。为避免过拟合现象的出现,对和fi进行最大池化处理得到较少参数量的差分图像特征步骤所在片段和视频特征步骤所在片段f͂i。
然后,将f͂tdi输入到双向长短期记忆网络(Bidirectional Long Short-Term Memory,BiLSTM),通过正向和反向的传递来捕捉上下文关系,从而提取出步骤i更丰富的动作特征,为手部运动信息提供更全面的特征表示。
将差分图像特征以及视频特征进行一系列处理后,需要对和f͂i这2 个特征片段的信息进行相关性建模。通过引入基于交叉注意力机制的手卫生信息解码器,将和f͂i作为输入,输出结果是汇聚了2 个特征片段信息的综合特征。之后将输入全连接层完成降维处理。为更灵活地将最终的结果映射到0~1 之间,引入可学习的Sigmoid 激活函数进行处理。最后将输出结果取平均值,可以得到步骤评估分数。最终将所有分割出来的步骤评估分数进行求和,得到最终的手卫生动作质量评估结果。公式如下:
式(4)~式(8)中,MAX 代表最大池化处理,BL 代表BiLSTM,HID 代表手卫生信息解码器,FC 代表全连接层,LS代表可学习的Sigmoid激活函数,MEAN代表求平均值,S代表该算法对手卫生视频的评估分数。
手卫生信息解码器是基于交叉注意力机制设计的,可以在不同特征之间建立相关性并将它们进行融合。在本文中,将f̂tdi和f͂i作为输入,该解码器通过交叉注意力机制对2 个特征片段的信息进行关联建模和融合,生成一个包含更丰富和具有表征能力的综合特征,这种综合特征不仅包含了2 个特征片段的信息,还考虑了它们之间的相关性,从而更好地捕捉到手卫生动作的更细微的动态变化和重要特征。
在手卫生信息解码器中,查询Q为经过全连接层处理之后的,键K和值V为经过全连接层处理之后的f͂i。在计算查询与键之间的注意力权重时引入增强内积的可学习参数,更好地捕捉它们之间的相关性。之后将注意力权重应用于值,根据注意力权重对值进行加权平均,以获取综合特征。公式如下:
式(9)~式(10)中,dk代表张量维度,τ为增强内积的可学习参数,softmax为激活函数,A代表注意力图。
普通的Sigmoid 激活函数可以将输入值映射到0和1 之间,但它的形状是固定的,无法根据数据的特点和任务的需求进行调整。因此本文引入更具灵活性的可学习的Sigmoid激活函数,公式如下:
其中,ε是可学习参数,x为输入值。
在训练过程中,可学习的Sigmoid 激活函数通过反向传播算法能够修改激活函数的形状和位置,自适应地学习到最优的参数值,从而能够适应数据的特征和任务的需求,将输入值映射到适合的评估分数范围。这种自适应性能够让模型更好地适应实际情况。
手卫生动作质量评估任务可以被视为多任务学习问题,其中包括动作分割和动作质量评估这2 个任务。通过端到端的方式同时进行这2 个任务的学习,可以更好地利用它们之间的相关性和互补性。本文模型的损失函数也为2 个部分,包括动作分割损失函数和评估损失函数。
2.6.1 动作分割损失函数
对于动作分割损失函数,需要考虑动作的准确性和平滑性,这样能够有效地指导模型在手卫生视频中准确地划分动作步骤,并生成具有连贯性的分割结果。该损失函数通常由分类损失和平滑损失2 个部分组成。
1)分类损失。
该损失用于确保每个视频帧被正确分类到对应的动作步骤。在动作分割任务中,视频序列中每一帧都需要被准确地分类到相应的动作步骤,以实现准确的动作分割。帧级分类损失通过比较预测的动作步骤类别和真实标签之间的差异来度量分类的准确性。其计算公式如下:
式(12)中,T代表视频长度,yt,c代表类别c在t时刻的概率值。
2)平滑损失。
该损失是为了提高动作分割结果的平滑性和连续性而引入的。平滑损失通常基于相邻帧之间的分割结果的差异进行计算,以鼓励模型生成连续且平滑的分割边界。通过最小化平滑损失,模型被引导去学习生成连贯的分割结果,使得分割边界更加平滑且符合实际动作的连续性。其计算公式如下:
式(13)~式(15)中,C代表类别数量,τ为截断损失函数的阈值。
对于平滑损失,融合阶段和级联结构的平滑损失函数与式(13)相同。对于分类损失,融合阶段的分类损失函数LCLS与式(12)相同,级联结构中的分类损失函数LSC则是根据每一阶段的权重进行调整,公式如下:
2.6.2 评估损失
对于评估损失,它使用了均方误差损失,该损失用于衡量预测值与真实值之间的差异程度。通过计算预测值与真实值之间的均方误差,可以量化它们之间的差异,通过最小化均方误差损失,模型可以学习到使预测值尽可能接近真实值的参数,从而提高手卫生动作质量评估的准确性。其计算公式如下:
最终的损失函数为以上提到的动作分割损失和评估损失的组合:
式(18)中λ与μ为不同损失贡献的参数。
为了验证算法模型的有效性,本文采用公开数据集HHA300 进行训练和测试。HHA300 是一个包含真人洗手视频以及细粒度标注的手卫生数据集,总共包含301 条视频,其中226 条用于训练,75 条用于测试。该数据集的视频特征是融合了RGB 和光流信息的I3D 特征,标签则是结合了逐帧标注的动作类别以及专业人员提供的评估分数。
对于动作分割任务,使用常见的逐帧精度(acc)、编辑距离(edit)和重叠阈值为10%、25%和50%的分段F1 分数(F1@{10,25,50})来反映每一帧动作识别的准确性以及步骤分割的效果。acc、edit、F1@{10,25,50}的值越大越好。
对于评估任务,本文使用斯皮尔曼等级相关系数(ρ)和相对L2 距离[23](R-ℓ2)作为评价指标,通过这2个评价指标来反映手卫生动作质量评估中的评估性能。ρ的值越大越好,R-ℓ2的值越小越好。公式如下:
式(19)中,pi、qi分别为第i条数据的预测排名分数与真实排名分数,pˉ、qˉ分别为预测排名分数与真实排名分数2 组数据的平均值。式(20)中,N为数据集中视频样本数量,sn、ŝn分别表示第n个视频样本的真实分数和预测分数,smax、smin分别代表视频样本的最高分和最低分。
在对比实验中,采用组合模型来验证不同模块的性能优势。这些模型主要分成2个部分。
一部分为结合先进的动作分割算法和本文设计的评估模块,形成一个组合模型,如BCN+评估模块。通过对比实验结果,表1 显示本文模型在动作分割任务的评价指标上表现优于其他先进的动作分割算法。
表1 手卫生动作质量评估算法对比实验
另一部分类似于Xu 等人[24]给出的对比实验方法,采用本文方法中的动作分割模块与其他评估方法的组合,包括多层感知机(Multilayer Perceptron,MLP)和长短期记忆网络(Long Short-Term Memory,LSTM)。在本文的对比实验中,使用了2 层的多层感知机MLP,用于直接映射数据特征以生成预测分数。另外,本文还利用了长短期记忆网络LSTM,它可以捕捉特征之间的长期依赖关系,并将其用于更好地描述特征。在对比实验中,本文将LSTM 与一个用于回归任务的全连接层相连接,以生成预测分数。通过表1 的结果分析可知,本文提出的模型在与其他评估方法的对比中,在动作分割任务方面的编辑距离edit评价指标虽然稍低,但acc 和F1@{10,25,50}仍然是最优的,这表明模型在捕捉帧级预测和分割性能方面依然表现出色。此外,在动作质量评估任务中,模型的评价指标表现出最优的结果。
3.4.1 动作分割对评估结果的影响
在手卫生动作质量评估算法中,通过对步骤进行评估可以更精确地衡量每个步骤的质量,排除无关动作的噪声影响。相比之下,直接评估完整视频特征可能受到无关动作的干扰,导致评估结果的准确性下降。与直接评估完整视频特征进行对比实验后,实验结果如表2 所示,表明本文的方法在动作质量评估的评价指标上表现最佳。
表2 手卫生动作质量评估中评估任务消融实验
3.4.2 BiLSTM 对评估结果的影响
在本文算法中,使用预训练的ResNet50 特征提取器提取的差分图像特征经过BiLSTM 网络处理,是为了充分捕捉时间和空间信息的关联性,并更好地反映手部运动的特征信息。这种处理方式可以更全面地考虑手部运动的动态变化和时序关系。为验证思路,与直接使用差分图像特征进行对比实验,实验结果如表2 所示,本文的方法在动作质量评估的评价指标上取得了更好的性能。
3.4.3 差分图像对评估结果的影响
除了使用视频特征信息外,评估模块引入了差分图像特征作为输入来表达手部运动信息,目的是为了更准确地捕捉和表达手部运动的动态信息,从而提高手卫生动作质量的评估性能。为验证这一思路,与仅使用视频特征信息进行对比实验后,实验结果如表2所示,表明本文的方法在动作质量评估的评价指标上表现最佳。
3.4.4 可学习的Sigmoid函数对评估结果的影响
引入可学习的Sigmoid函数是为了增加模型对输出结果的灵活性和适应性。这种可学习的Sigmoid函数具有可调节的参数,通过训练过程进行优化,可以灵活地调整函数的非线性程度和敏感性,从而更好地适应手卫生动作质量评估任务的复杂性。为验证引入可学习的Sigmoid 函数的有效性,与使用普通的Sigmoid 函数进行对比实验。实验结果如表2 所示,表明本文方法在动作质量评估的评价指标上表现最佳。
本文提出了一种基于多源动作信息的手卫生动作质量评估算法。该算法引入了差分图像数据,以更精确地关注手部微妙的运动信息。它通过分析差分图像特征和视频特征片段之间的相关依赖性,来评估手卫生动作的质量。这一方法可以更全面地捕捉动作的细节,提高了质量评估的准确性。在实验中,本文使用了公开数据集HHA300 进行验证。实验结果表明,本文提出的算法在各项评价指标上都取得了优越的性能。这些结果验证了该方法的有效性,并表明本文的工作对于手卫生评估具有显著的使用价值。