曾令安,郑伟诗
(中山大学,广州 510275)
近年来,随着通讯技术和互联网技术的快速发展,更直观和包含内容更丰富的视频已经成为人们记录和分享生活内容的主流媒体形式。这些海量的视频一方面需要巨大的人力进行视频处理与分析,另一方面又提供了宝贵的资源用于探索计算机如何理解人体行为。针对视频行为理解与分析的研究也在近年来成为一大热门领域,并且发展迅速。在该领域中,旨在通过计算机对视频中人体行为进行分数评估的视频动作质量评估任务也受到越来越多的关注。视频动作质量评估可以作为实时监测和评估人体行为质量的自动化技术,因而在实验操作规范监测、康复医疗和体育训练等领域有着重要的应用价值。
视频动作质量评估问题最早由Gordon 在1995年提出[1],而后随着计算机技术的发展和所评估的视频内容的复杂性和多样性,研究者们提出了许多新颖的视频动作评估方法[2-16]。视频动作质量评估方法根据采用的技术可以大致划分成人工设计特征传统算法[1-2,10-11]和深度学习算法[3-9,12-16]两类,如图1 所示。传统方法受限于当时计算机技术局限性,主要通过追踪每个时刻目标(包括人体部位比如手、脚和腰以及相关器材)的位置,从而获目标的位置、速度、方向等信息,而后通过手工设计规则或者通过贝叶斯网络来评估最终分数。传统方法可以归纳为一下三个步骤:追踪位置、特征提取和分数预测。深度学习兴起使得研究者们可以对动作进行更加细致建模和评估,视频动作质量评估的深度学习方法主要通过神经网络对视频帧或者视频段提取特征,而后通过时序信息建模网络和分数预测网络进行融合视频中的时序信息和预测最终分数。根据神经网络所使用的输入数据,视频动作质量评估的深度学习方法可以分为基于人体骨架的方法和基于RGB 视频流的方法。
图 1 视频动作质量评估方法分类
视频动作质量评估是一个需要对动作具有深层次理解的比较具有挑战性的任务。不同于动作识别、动作检测与定位等视频行为分析任务,视频动作质量评估是需要对动作本身具有更深层次的理解,其不仅需要识别动作,更需要理解动作之间的细微差异。比如对于体操中高抬腿这个动作而言,抬腿高度上的小幅度变化并不会影响对于高抬腿这个动作类别的识别,但在动作质量评估任务中,抬腿的高度会直接影响动作的质量。虽然视频行为分析领域近十年来发展迅速,但由于视频动作质量评估任务本身的难度较高,导致该方向发展比较缓慢。
虽然目前已经有了不少关于视频动作质量评估任务的相关文献,但这些论文在都是国外会议、期刊或者杂志上发表的,国内目前还没有介绍视频动作质量评估的文章。因此本文将致力于介绍视频动作质量评估任务的定义和简要地梳理相关的前沿工作,以便于国内学者快速了解这个领域的发展情况。本文已经介绍了视频动作质量评估任务的定义以及相应研究挑战,而后将分别介绍有关该任务的传统的和基于深度学习的前沿视频动作质量评估方法,并分析这些方法的优劣之处,最后本文将介绍视频动作质量评估任务在现实中的应用价值与意义。
传统的视频动作质量评估方法受限于当时计算机技术局限性,无法对视频或者图像提取更具有代表性的特征,更无法分析动作上的细微差异,导致传统方法只能局限于某些动作模式差异明显并且评分方式简单的运动。
Gordon[1]提出了结合轨迹追踪技术来评估跳马动作质量的方法。为了记录可以捕获跳马表演的第一次飞行、支撑、第二次飞行和着陆阶段,相机的视轴被放置在垂直于跳板和马的方向。而后使用运动跟踪算法[17]对图像进行分析,该算法可以有效地计算一系列连续帧中运动对象的中心。所得数据表示体操运动员在每帧中以图像坐标表示的位置,如图2 所示,这些数据可用于计算在跳高表演过程中与体操运动员的位置有关的记分规则中的得分点,比如跳马过程中那些不正确的飞行路径轨迹和不足的高度和不足的距离的扣分。然后,Gordon 根据跳马的官方评分规则构造逻辑规则来评估最终的分数。
图 2 通过分析轨迹来评估跳马动作的质量[1]
Pervse 等[2]则是沿着结合轨迹追踪技术的思路,将视频动作质量评估从单人运动扩展到多人的篮球运动,并对篮球运动中的进攻行为进行质量评估。该方法首先通过视频技术和检测器追踪每个运动员在场上的位置信息,而后将运动员在场上的行为划分成移动(Move)和掩护(Screen,篮球进攻的战术之一)两种基本的行为,并通过相应的规则将事件之间的时间关联信息划分成先后发生(Before)、接连发生(Within)和同时发生(Simultaneously)三种关系。Pervse 等根据上述基本行为和基本行为关系分别分析篮球比赛中每个活动,并使用贝叶斯网络实现有关活动的最终评估推理。其中,贝叶斯网络结构是从篮球专家使用的标准活动模板自动获得的,从活动模板获得的贝叶斯网络可以用于识别所执行的活动。基于建模活动类型和网络类型匹配度的思路,Pervse 等通过贝叶斯网络评估篮球比赛中个人或者团体的活动质量,贝叶斯网络样例图参见图3。
图3 篮球比赛中双人掩护行为的贝叶斯网络[2]
深度学习兴起使得研究者们可以对动作进行更加细致的建模和评估,不再局限只能通过追踪运动员位置来评估动作质量[3-9,12-16]。视频动作质量评估的深度学习方法主要通过神经网络对视频帧或者视频段提取特征,而后通过时序信息建模网络和分数预测网络以融合视频中的时序信息和预测最终分数。根据神经网络所使用的输入数据,视频动作质量评估的深度学习方法可以分为基于人体骨架的方法[3-4]和基于RGB 视频流的方法[5-9,12-16]。
基于人体骨架的视频动作质量评估算法主要是先通过对视频中人体骨架进行检测,而后在时间和空间上建模人体关节点间的关联信息,从而实现对人体运动的建模并对动作进行动作质量评估。这类方法在关节点准确时,可以较好的评估人体的运行信息并具有良好的可解释性。然而在很多运动中(比如跳水、体操、跳马和花样滑冰等),由于运动员的身体很多时候都处于折叠或者弯曲较大的非常见姿态,这导致人体关节点检测模型在这种体育运动的数据上效果有较大的折扣。
3.1.1 基于离散余弦变换提取关节点运动信息的方法
Pirsiavash 等[3]通过传统的人体骨架自动检测器来获取运动员的骨架信息,而后通过离散余弦变换从关节点序列中提取重要特征,再使用支持向量机来预测最终得分。令pj(t)为视频第t帧中人体第j个关节的x分量。为了使关节点的特征信息是平移不变的和与人在图片中的位置无关的,因此将所有关节点按相对于头部位置进行归一化,归一化公式参见式(1)。其中p0(t)代表第t帧中头的位置。因为pj(t)是一个关于时间的函数,所以通过离散余弦变换来表示其在频率上的特征信息,参见式(2)。其中矩阵A是离散余弦变换矩阵。最后使用频率域上的前k个低频信息的绝对值来创建最终特征,参见式(3)。而后为每个关节点的x和y分量分别计算φj,并将它们连接起来以创建最终特征向量Φ。另外对于较长的视频,需要将其细分为多个片段,并连接特征以为整个视频生成一个特征向量。
而后,Pirsiavash 等将视频动作质量评估看作有监督的回归问题,通过采用线性支持向量回归在训练集进行训练,从而预测从特征到分数的映射。
3.1.2 基于图卷积神经网络建模关节点运动信息的方法
Pan 等[4]沿着人体骨架建模的思路,通过运动共性建模的身体部位动力学,以及通过运动差异建模的关节协调性,以进行动作评估。这个方法首先使用基于深度学习的人体关节点检测算法Mask-RCNN[18]来检测关节点。与之前方法不同的是,Pan等专注于通过运动共性建模身体部位的动力学信息,以及通过运动差异建模的关节协调性。因为相邻关节的运动共性表示某个身体部位的总体运动,而这些相邻关节之间的运动差异则反映了动作的协调性。此外,执行良好的动作也需要各个关节之间进行良好的协调。为了对关节运动之间的关系进行建模,Pan 等提出了一个基于图的动作评估网络,其中图的节点与关节相对应。第一个图用于在一个时间步长内建模关节点关系的空间关系图,第二个图用于在相邻两个时间步长内建模关节点关系的时间关系图。这两个图的建模方法参见图4,其中把人体关节点看作节点,在相邻的关节点之间建立边,而后在时间上有关联的节点上通过建立边。这两个图中的边权都是由网络学习自动调整的,最开始的赋值是从区间[0-1]中取的随机数。最后通过图卷积操作在图上聚合节点之间信息,从而实现对人体关节点运动信息的建模。
图4 Pan 等[4]提出的关于人体关节点的时空关系图
基于RGB 视频流的视频动作质量评估算法通过深度学习模型如C3D(3D Con-volution Networks)[19], I3D(Inflated 3D Convolution Network)[20], TSN(Temporal Seg-ment Networks)[21]等直接从视频帧中提取特征,而后利用LSTM(Long Short-Term Memory Networks)[22]、平均池化等方法在时间上提取最终特征,最后通过全连接神经网络进行分数预测。此类方法利用视觉活动信息来评估动作质量,但模型的可解释性比较差。下面将介绍主要的几种RGB视频流的算法。
3.2.1 基础的基于RGB 视频流的方法
Parmar 和Morris 首先提出了使用RGB 视频流的动作质量评估方法[5]。这种方法不是显式地使用人体姿势信息,而是利用视觉活动信息来评估动作质量。由于体育运动的动作质量评估需要关注整体动作的情况,因此第一阶段使用C3D 网络从视频中提取时空特征。C3D 可以从视频段的前几帧中捕获场景信息,从视频段的后续帧中提取其中的运动信息。在特征提取之后,有三种不同的时序信息融合方法:
(1)对特征在时域取平均值,而后使用SVR 预测最终得分。但通过这种在时间维度上取平均值的操作会导致动作的时序信息和运动变化信息大量丢失。
(2)使用LSTM 建模特征之间的时序关系,而后使用全连接神经网络预测最终分数。这种方法利用视频段内容之间的连续性关系,是一种比较自然建模时序信息的方式。
(3)基于上面两种方法的融合,使用LSTM 建模视频段之间的时序关系,最后使用SVR 预测最终得分。这种架构通过LSTM 提供了显式的序列动作建模和时间建模,同时利用了SVR 来面对有限的训练数据进行泛化。
3.2.2 基于动作阶段分割的方法
Li 等[6]采用将跳水运动过程划分成多个阶段的思路,提出了ScoringNet 网络来预测跳水视频的阶段划分,再剔除掉无关的视频帧后再对关键视频段进行特征提取和分数预测。ScoringNet 的网络结构如图5 所示,该网络由关键片段分割模块(Key Fragment Segmentation, KFS)和分数预测模块(Score Prediction, SP)组成,由这两个主要模块实现对跳水运动的动作质量评估。由于体育视频通常是未修剪的,因此从未修剪的视频中提取特征会影响动作质量评估的准确性。而且并非所有修整后的视频片段都对得分有所贡献(例如运动员准备跳水的片段)。ScoringNet 采用关键片段分割模块来对视频内容进行执行语义视频分割,以剔除无关内容。然后使用3D 卷积神经网络从保留的视频内容中提取特征。最后ScoringNet 不是简单只预测最终得分,而是通过分数预测模块生成动作的难度分、执行得分和最终得分,从而更准确地评估运动员的表现。
图5 ScoringNet 的网络结构图[6]
3.2.3 基于空间注意力网络的方法
Li 等[7]将空间注意力机制引入到提取特征的骨架网络中以从视频关注于重要的视频区域。Li 等提出的空间注意力网络考虑了先前帧的累积注意力状态以及有关正在执行任务的高级知识。整个模型网络结构如图6。该方法先将视频切分成N 个片段,并在每个片段中随机采样一帧以形成整个视频的稀疏采样。在每个时间步长处,网络都将RGB图像和相应的堆叠光流图像作为输入,并将从中提取深层运动特征。然后通过结合深层运动特征的低级视觉信息和正在执行任务的高级信息,并且考虑了注意力之间的时间关系,从而将空间注意力子模块用于生成注意力图。根据估计的注意力图,通过加权融合深层特征来生成关注的特征向量。而后将特征向量输入到循环神经网络(Recurrent Neural Network, RNN)中来建模运动在时间的变化。最后使用最终时间步的RNN 网络输出用于产生最终分数。
图6 空间注意力网络[7]
3.2.4 多尺度卷积LSTM网络
Xu 等[8]针对于时间较长的花样滑冰视频动作质量评估和如何从视频中提取具有鉴别力的视频片段问题,提出了一个基于LSTM 的动作质量评估网络。如图7 所示,基于LSTM 的动作质量评估网络可以分为两个互补的子网络:自注意LSTM(Self-Attentive, S-LSTM)和多尺度卷积LSTM(Multi-scale Convolutional Skip LSTM, M-LSTM)。 在 自 注 意LSTM 网络中,通过自我关注的特征嵌入以有选择地学习以压缩特征表示。这样的表示可以有效地对本地信息建模,通过使用简单的自我关注注意力机制来选择重要的片段特征,这些特征代表了局部的信息。在多尺度卷积LSTM 网络中,通过在时间维度上对特征进行多尺度卷积LSTM 来建模局部信息和全局信息。而后,通过将两个子网络的输出特征结合到一起,输入进最终的全局连接神经网络进行分数预测。
图7 多尺度卷积LSTM 网络[8]
3.2.5 基于非对称交互式行为的动作评估方法
Gao 等[9]指出现有的动作评估方法大多局限于单个人的动作,尤其是缺乏对对象主体之间(例如人与物之间)非对称关系建模的方法。因为在许多交互式动作中对象主体之间始终存在从属关系,这种局限性破坏了它们评估包含非对称交互式动作的能力。为解决这个问题,Gao等对主体之间的非对称交互关系进行建模,从而进行动作评估(模型框架如图8)。特别地,Gao等提出了一种非对称交互模块(AIM),显式地模拟一个动作中对象主体之间的非对称交互。在该动作中,将这些对象主体分为主要对象主体(例如人)和次要对象主体(例如物体);然后利用同一个潜在空间中的主要对象和次要对象之间的差异,并利用嵌入该差异的主要对象来学习时域中的交互关系。使用此模块,该方法可以显式地学习交互关系评估的潜在标准。然后构建了一个注意力融合模块,对整个场景特征和AIM特征进行不同程度的关注和融合。
图8 基于非对称交互式行为的动作评估网络[9]
视频动作质量评估问题针对的是评估人体动作或者行为的质量,因为视频动作质量评估算法可以某些特定的情况下充当教练或者裁判的位置,因而在现实生活中有许多应用场景:
(1)在体育运动领域中,视频动作质量评估算法可以用作辅助裁判和辅助教练。通过计算机来进行动作质量评估,将不需要教练在现场陪同训练即可获得实时反馈,这不仅可以节省请教练的费用开支,更有望为运动员设计量身定制训练计划。例如,在2021年8 月的东京奥运会中便采用了如图9所示的自动评分系统对运动员动作进行分数评估[23]。
图9 2020年东京奥运会采用的自动动作评分系统
(2)在实验教学领域中,视频动作质量评估算法可以用于实时监测和指导学生进行实验。通过视频动作评估可以检测出潜在的危险实验操作,并通过及时的提醒以避免意外事故的发生。
(3)在康复医疗领域中,视频动作质量评估算法可监测和协助患者进行康复训练。医生通常需要通过观察病人进行康复训练时的动作质量进行分析和评估康复状态,但这需要花费医生的大量时间。通过视频动作质量评估技术,有望可以通过计算机来替代医生进行自动化的动作质量评估。
本文调研了视频动作质量评估方向近年来的研究和发展情况。本文首先介绍了视频动作质量评估任务的定义和研究挑战,而后系统地梳理了相关的研究工作,介绍了基于传统方法的和基于深度学习的视频动作质量评估方法,并详细分析这两类方法的优缺点,最后本文介绍了视频动作质量评估在现实生活中的应用价值。期望本文的内容可以促进国内对于视频动作质量评估任务的研究和,推动国内视频理解技术的发展。