在这里和大家分享一下我们被录用为CVPR 2022 Oral的工作:FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessment
竞技体育视频理解已成为计算机视觉领域的热门研究课题。作为理解体育动作的关键技术之一,动作质量评估(AQA)近年来受到越来越多的关注。在2020年东京奥运会的体操比赛项目中,AI 评分系统不仅能对运动员的表现进行打分,以减少在跳水、体操等诸多主观评分项目得分的争议,还能通过反馈动作质量来提高运动员的竞技水平。
AQA通过分析视频中动作的表现来评估动作的执行质量。与传统的动作识别不同,AQA更具有挑战性:动作识别可以从一张或几张图像中识别一个动作,AQA则需要遍历整个动作序列来评估动作的质量。现有的大多数AQA方法都是通过视频的深度特征来回归不同的动作质量得分,然而,在相似背景下评估差异很小的不同动作之间的质量是很困难的。例如,跳水比赛通常都是在水上运动中心拍摄的,并且视频中所有运动员都执行相同的动作程式:起跳、空中动作、入水。这些动作程式的细微差别主要体现在执行空中动作时,运动员翻腾转体的周数、空中姿势以及入水情况(e.g., 水花大小)。捕捉这些细微的差异需要AQA方法不仅能够解析跳水动作的各个步骤,还要明确量化这些步骤的动作执行质量。如果我们仅通过整个视频的深度特征来回归动作得分,考虑到现有的AQA数据集缺少对动作过程的细粒度注释,我们无法分析各个动作步骤的执行情况、解释最终得分,那么这种评估方式是不清晰不透明的。因此,我们构建一个细粒度的竞技体育视频数据集,助力设计一种更可靠、更透明的评分方式,迈向可解释的AQA。
我们构建的数据集“FineDiving”(Fine-grained Diving的缩写)专注于各种跳水赛事,这是第一个用于AQA的细粒度视频数据集。FineDiving包含如下特性:(1)两层语义结构。所有视频都在两个level上进行语义标注,即动作类型(action Type)和子动作类型(sub-action Type),其中,不同的action types由不同的sub-action types组合生成;(2)两层时序结构。每个视频中的动作实例都标注了时间边界,并且根据定义好的字典将其分解为连续的步骤(steps);(3)来自国际泳联的官方跳水得分(dive score)、裁判分数、难度系数。如图(1)所示。基于FineDiving,我们进一步提出一种基于过程感知(procedure-aware)的AQA方法来评估动作质量。所提出的框架通过构建新的时间分割注意模块(Temporal Segmentation Attention,TSA)学习过程感知嵌入,以实现具有更好可解释性的可靠评分。
(1)An overview of the FineDiving dataset and procedure-aware action quality assessment approach.
我们收集了奥运会、世界杯、世锦赛以及欧锦赛的跳水项目比赛视频。每个比赛视频都提供了丰富的内容,包括所有运动员的跳水记录、不同视角的慢速回放等。
我们构建了一个两层语义结构(如图(2)),作为字典来标注动作级标签和步骤级标签。动作级标签(action-level labels)描述了运动员的动作类型(action types),步骤级标签(step-level labels)刻画了动作过程中连续步骤的子动作类型(sub-action types),其中,每个动作过程中的相邻步骤(steps)属于不同的sub-action types。例如,action type“5255B”,由sub-action types分别为“Back”、“2.5 Somersaults Pike”以及“2.5 Twists”的steps按顺序执行。此外,我们构建了一个两层时间结构(如图(3)),action-level labels标注了每个运动员执行一个完整动作实例的时间边界(在此注释过程中,丢弃所有不完整的动作实例并过滤掉慢速播放)。Step-level labels标注了动作过程中连续步骤的起始帧。例如,action type为“5152B”的动作实例,它的连续步骤的起始帧分别为18930、18943、18957、18967和18978。
(2)Two-level semantic structure.
(3)Two-level temporal structure.
给定一个原始的跳水视频,annotator利用我们定义好的lexicon来标注每个动作实例及其过程。我们完成了从粗粒度到细粒度的两个注释阶段:粗粒度阶段标注每个动作实例的action type及其时间边界和得分,细粒度阶段标注动作过程中每个step的sub-action type以及它的起始帧。
FineDiving数据集包含3000个样本,涵盖52种action types、29种sub-action types以及23种难度难度系数,如图(4)所示。
(4)Statistics of FineDiving.
根据表(5)可知,FineDiving在注释类型和数据规模上不同于现有的AQA数据集:MIT-Dive、UNLV以及AQA-7-Dive数据集仅提供动作分数,MTL-AQA提供粗粒度注释(即动作类型和时间边界),而FineDiving提供了细粒度注释(包括动作类型、子动作类型、粗粒度和细粒度时间边界以及动作分数)。此外,由于缺乏动作得分,其他细粒度的运动数据集不能用于评估动作质量。不难发现,FineDiving作为第一个用于AQA任务的细粒度运动视频数据集,填补了AQA中细粒度注释的空白。
(5)Comparison of existing sports video datasets and Fine-Diving. Score表示动作得分; Step表示细粒度的类别和时间边界; Action表示粗粒度的类别和时间边界; Tube包含细粒度的类别、时间边界以及空间定位。
我们进一步提出一种过程感知方法来评估动作质量,通过构建一个新的时间分割注意模块(Temporal Segmentation Attention,TSA),以可解释的方式评估动作得分。TSA包含三个部分:动作过程分割(procedure segmentation),过程感知交叉注意(procedure-aware cross-attention)以及细粒度对比回归(fine-grained contrastive regression)。首先,动作过程分割将成对的查询动作实例和参考动作实例解析为语义和时间对齐的连续步骤。其次,过程感知交叉注意通过学习发现成对query step和exemplar step之间的时空对应关系,并在这两个步骤中生成新特征。成对的步骤相互补充,以引导模型关注exemplar step和query step中的一致区域,其中,exemplar step保留了特征图的空间信息。最后,细粒度对比回归通过学习成对步骤的相对分数来量化查询动作实例和示例动作实例之间的一些列步骤偏差,以指导模型来评估动作质量。
(6)The architecture of the proposed procedure-aware action quality assessment.
关于TSA中exemplar的选择策略。根据action type从训练集中选择exemplar。在训练阶段,对于每个训练样本(query),从具有相同action type的其他训练样本中随机选择一个作为exemplar。在推理阶段,采用多样本投票策略:从具有相同action type的训练样本中随机选择M个样本作为M个exemplars。
我们通过以下三个指标来评估我们的方法:
(7)Comparisons of performance with existing AQA methods on FineDiving.
(8)Ablation studies on FineDiving.
(9)Effects of the number of exemplars for voting.
(10)The visualization of procedure-aware cross attention between pairwise query and exemplar procedures.
我们的方法可以专注于与查询步骤一致的参考区域,这使得逐步骤的动作质量相对差异的量化更加可靠,其中,呈现的成对查询和参考具有相同的action type和sub-action type。
FineDiving是第一个用于AQA任务的细粒度体育视频数据集。在FineDiving基础上,我们通过构建一个新的TSA模块提出了一种过程感知动作质量评估方法,该模块在查询和参考的成对步骤中学习语义、时空一致区域,使得动作质量评价得推理过程更具可解释性,并对现有的AQA方法实现了实质性改进。