OV-STAD

Open-Vocabulary Saptio-Temporal Action Detection[1]

作者是来自南大,南航和上海AI Lab的Tao Wu, Shuqiu Ge等人,论文引用[1]:Wu, Tao et al. “Open-Vocabulary Spatio-Temporal Action Detection.” ArXiv abs/2405.10832 (2024): n. pag.

Time

  • 2024.May

Key Words

  • video-language model

总结

  1. 时空行为检测是一个fine-grained 视频理解任务,当前的方法需要所有box和label的监督信息。然而,在真实世界中,很可能出现在训练集中没有出现过的行为类别,因为行为类别空间是大的,很难枚举。对于新的类别,模型训练和数据标注的成本很高,需要仔细的box标注,和从头训练网络。在本文中,通过进行开集STAD,提出了一个新的挑战性的设定,来更好的模拟开放世界中的行为检测。开集时空行为检测需要在有限行为类别和box 监督中训练模型,期望在新的类别上产生良好的泛化表现。对于开集时空行为检测,基于已有的STAD数据集,建立了两个benchmarks,提出了一个基于VLM的简单有效的方法,为了更好的将VLM适配fine-grained 行为检测任务,将其仔细地在localized video region-text pairs上进行微调。这定制化的fine-tuning使得VLM有更好的模型理解,导致video regions和texts有更精确地的对齐。在对齐之前的局部特征和全局视频特征融合is adopted ,通过提供全局上下文,来进一步提高行为检测能力。
  1. 时空行为检测旨在定位视频帧中的行为实例的boxes和识别它们的类别。它有广泛的应用,当前主流的STAD模型包含两阶段的方法,将human detection和行为分类进行解耦,还有query-based 一阶段的方法。尽管有很大的进步,当前的方法要求所有行为类别的bboxes和行为标签,用于监督训练,训练的模型在训练期间只能处理seen action labels。一些视觉语言模型VLMs例如CLIP,ALIGN,通过在大规模的图像文本对上的对比预训练,有zero-shot的视觉识别能力。最近,一些目标检测方法利用了VLMs用于开集目标检测,用了预训练VLMs提供的视觉和文本表征,在有限的base classes上进行训练,用于目标检测任务。训练的模型期望在新的目标类别上实现很好的泛化性能,新的目标类别是在训练过程中没有见过的。至于video domain,视频文本数据预训练模型例如VideoCLIP和ViCLIP使得开发用于视频识别和检测的开集方法成为可能。有很多其它的方法聚焦于开集行为识别或者时序行为检测,但是据作者所知,more fine-grained 时空行为检测任务在开集情况下还没有被研究。

    然而,作者相信,开集时空行为检测有很大的研究价值,行为的类别是巨大的,当构建一个时空行为检测数据集的时候,很难枚举所有的行为类别,时空行为检测的数据的标注的成本也很高,因为它要求细粒度的标注,就是,用bboxes来精确地标记每一帧的所有存在的行为实例,同时标上类别标签。在真实的应用中,很可能遇到数据集里没有的行为类别,每次遇到新的行为类别的时候,需要消耗很多的资源来搜集和标注新类别的数据和重新训练模型,在开集设定下,时空行为检测模型在有限的行为类别上进行训练,用提供的boxes和标签作为监督信息,训练的模型期望在没有见过的行为类别上有很好的泛化性,能够有效地减少数据标注的成本,提高模型训练的效率

    OV-STAD在至少3个方面具有挑战性:首先,对于模型训练和评估,这里没有现有的benchmark;第二,在上游预训练和目标行为检测任务上有gap;上游预训练将文本和全局视频特征进行对齐;然而目标任务需要行为类别和local video patches进行对齐;在预训练的时候,很大比例的文本仅参与了scene,object,和外观描述,但是这和行为和活动无关。因此,预训练模型在理解运动概念上存在不足。当前时空行为检测数据集比较小。在训练期间,模型会倾向于过拟合。

    在本文中,基于UCF101-24和JHMDB21和AVA,通过适当地将行为类别划分为novel和base classes,来构建两个benchmarks。在两个benchmarks测试一些video-language models。直接将这些模型用在OV-STAD任务上表现不好,虽然它们在zero-shot行为识别上能够得到比较好的结果。将这个归因于上游预训练和目标任务之间的gap。为了缩小这个gap,提出从时空groundign datasets中选择video region-text 对。这些事human-centered,文本包含高密度的人类行为和活动描述。这个模型能够学习丰富的运动信息的概念;除此之外,提出了在对齐action prompts之前,融合全局video-level feature和local patch-level feature,保留从大规模video-text预训练的知识,来减小过拟合,为行为识别提供全局上下文。在两个benchmarks上进行了大量实验,展示了作者方法的有效性。作者的方法在novel action classes上实现了很好的效果。总的来说,作者的贡献有三块:对于STAD任务,提出了新的开集设定,建立了讲个模型训练和评估的benchmarks;提出了一个基于视觉语言模型的简单有效的方法,利用了video region-text 对齐和global-local fusion 来缩小上游预训练和目标行为检测任务的gap;在两个benchmarks上做了大量实验,展示了设计的有效性,作者的方法在novel classes上取得了很好的效果。

  2. 开集目标检测:开集目标检测旨在检测训练过程中没有标注的新的类别的目标。F-VLM用冻结的预训练的VLM encoders用于特征提取,训练一个额外的检测头,一些工作将regional embeddings和CLIP的表征空间通过知识蒸馏进行对齐,其它的用VLMs为image regions,产生伪目标标签或者文本描述。产生的数据用于训练检测器,来学习多种目标类别的概念,GLIP和Grounding DINO识别目标检测和visual grounding tasks之间的关联,利用visual grounding datasets for visual concept learning。

    • 开集行为识别:早期的OVAR方法,通过增加额外的可学习的adapters和时序建模Layers,将图像文本对预训练的VLMs用于行为识别。也有方法利用大语言模型来为视频制作多样的自然语言描述。也有方法通过替换captions中的动词,构建hard negatives,来识别行为。VideoCLIP利用instructional video datasets,InternVid利用LLMs来构建大规模的video-text datasets,预训练一个类似CLIP的模型,用于video field,来弥合视频和图像之间的差距。
    • 时空行为检测:时空行为检测器可以被划分为两阶段和单阶段。两阶段的方法将STAD任务结构成定位和分类两步;一些工作利用额外的检测器来检测视频key frames中的bboxes。通过RoI操作,提取每个box的特征用于行为识别,其它的工作将proposal generation network和分类network联合起来训练,实现端到端的检测过程。一阶段的方法同时执行定位和分类。MOC在特征图上的每个点,回归bboxes和预测行为类别。受DETR启发,TubeR采用了一系列的tubelet queries,来直接产生action tubes,STMixer构建了多尺度的时空特征,从中灵活地采样和解码特征。
  3. 方法:采用在大规模的的video-text数据集上预训练的VLM用于visual and textual feature extraction,利用它理解多样visual concepts的能力。采用两阶段的检测pipeline,首先检测bboxes,然后提取每个box的特征,和action prompt embeddings进行对齐,用于行为分类。然而,局部视觉特征在运动表征上是不足的,和文本描述没有很好地对齐。提出通过全局和局部video feature fusion,来增强video region features,还有video region-text alignment

    • Revisiting Video-text contrastive Pretraining:用在InternVid-10M-FLT上预训练的ViCLIP模型用于视频和文本的特征提取。InternVid-1j0M-FLT包含10M个video-text 对。ViCLIP通过video-text对齐,来学习video-text representations。特别地,ViCLIP采用一个视频encoder和一个text encoder,来得到全局视频特征和文本特征。为了提高video feature \(\mathcal{f}_G\) 和对应的text feature \(\mathcal{f}_T\) 之间的相似度,同时减小和不匹配的text features的相似度,ViCLIP计算和最小化基于 \(\mathcal{f}_T\) \(\mathcal{f}_G\) 的InfoNCE loss:

    \[\mathcal{L}=-\sum_{i=1}^N\log\frac{\exp\left(\sin\left(f_i^\mathbf{G},f_i^\mathbf{T}\right)/\tau\right)}{\sum_{j=1}^N\exp\left(\sin\left(f_i^\mathbf{G},f_j^\mathbf{T}\right)/\tau\right)},\]

    N表示batch中的video-text对,sim(')计算两个特征之间的余弦相似度,\(\tau\) 是learnable temperature。

    • 两阶段OV-STAd pipeline:首先用离线的action-agnostic 检测器来产生keyframes上的proposals,然后识别每个proposal上的类别。通过对齐proposals和行为类别prompts,在base classes上微调模型。特别地,video clips centered at the keyframes将作为video encoder的输入,提取全局视频特征 \(\mathcal{f_G}\) 和视频特征图 \(\mathcal{f}^V\)。局部region features \(\mathcal{f}^R\) 通过对 \(\mathcal{f}^V\) with box proposals \(B\) detected on the keyframe RoIAlign得到。文本encoder用来提取prompt embeddings \(\mathcal{f}^P\)。通过对海量的video-text 数据进行预训练,保持video-text 对齐,也为local features提供 global context。提出了通过简单地elelment-wise addition,将global video features \(\mathcal{f}^G\) 和 局部region features \(\mathcal{f}^R\) 进行融合。

    \[f^{\mathbf R'}=\beta\cdot f^{\mathbf R}+(1-\beta)\cdot f^{\mathbf G},\]

    \(\beta\) 是预设的超参数,用来控制local 和global 信息的比例。计算融合video features \(\mathcal{f}^{R'}\) 和action prompt embedding \(\mathcal{f}^P\) 之间的余弦相似度 作为行为分类的分数 \(S\),given by:

    \[S_{ij}=\operatorname{sigmoid}(\operatorname{sim}(f_i^{\mathbf{R}'},f_j^{\mathbf{P}})/\tau),\]

    \(Sij\) 是第i个human box在第j个行为类别上的分数。对于训练,提供了base action classes的prompts,基于output scores S和ground truth Y,计算 focal loss:

    \[\mathcal{L} = - \sum_{i=1}^{N} \sum_{j=1}^{C_b} \left\{ \begin{array}{ll} (1 - S_{ij})^{\gamma} \log S_{ij} & \text{if } j = Y_i \\ S_{ij}^{\gamma} \log (1 - S_{ij}) & \text{otherwise} \end{array} \right. \]

    N表示batch中的proposals的数量,\(C_b\) 表示base classes的数量。对于推理,action prompts 应该用action prompts of interest进行替代,这包括base classes 和novel classes.

  4. Video Region-Text Alignment尽管VLM在大量的video-text数据上进行contrastive pretraining之后,有能力将视频和它们对应的文本描述对应起来。argue that 在上游预训练和target action detection task上仍然有gap:首先,在预训练的时候,全局视频features和text features 是对齐的,然而,target action detection任务需要对齐的local video patches (bboxes) with action category prompts。第二点,很大比例的视频或者文本描述只涉及scenes, objects, appearances,和actions没有关系。研究表明这些预训练模型对于理解多样的运动概念不够。

    为了更好地将VLM适配fine-grained actin detection任务,提出进一步在video region-text数据上训练模型,为了更好地video region和对应的文本描述的对齐。从时空video grounding datasets 包括HC-STVG等中收集video region-text pairs。STVG任务需要通过给定的text with a spatio-temporal tube(sequence of bboxes)描述的target objects进行定位。HC-STVG2.0中的文本描述是关于人类行为和活动的,但是描述通常包含多个描述一系列连续行为的句子。可能引入了一些噪声来对齐box。为了减少region-text对齐中的噪声,将长句子弄成短句子,每个仅包含一个行为。同时将tubes分割成sub-tubes,将它们和短句子按照时间顺序进行一对一的匹配。

    在将video regions和文本描述对齐的过程中,模型exposed to various action descriptions,能够学习区分多样的运动概念。

    video-text预训练的VLM用于video and text feature extraction。文本encoder被冻结,只训练video encoder in this stage,旨在获得更好的video region representations。给定video feature maps \(\mathcal{f}^V\) 和bboxes \(B\),region \(B\) 的features \(\mathcal{f}^R\) 通过RoIAlign在 \(\mathcal{f}^V\) 操作得到。全局和局部的video feature fusion进行融合,融合的特征 \(\mathcal{f}^{R'}\) 用于和text embeddins进行对齐。用Focal loss来增强hard samples的学习: \[P_{ij} = \text{sigmoid}\big(\text{sim}(f_i \mathbf{R}', f_j^\mathbf{T}) / \tau\big)\] \[\mathcal{L} = - \sum_{i=1}^N \sum_{j=1}^N \begin{cases} (1 - P_{ij})^\gamma \log P_{ij}, & \text{if } i = j \\ P_{ij}^\gamma \log (1 - P_{ij}), & \text{otherwise} \end{cases}\]

    N表示batch中的video region-text对的数量,sim(') 计算两个特征之间的余弦相似度,\(\tau\) 是可学习的temperature parameter。\(\gamma\) 是focal loss的超参数。

  5. 数据集:

    • UCF-JHMDB:这是基于UCF101-24和JHMDB21的,UCF101-24作为base classes,模型在这个数据上进行训练。JHMDB21作为novel classes,在两个数据上都会进行评估。
    • OV-AVA。将60个action classes分为45 base和 15 novel classes.这个划分是基于三个原则:首先:base classes的数量和novel classes数量的比例是3:1;第二,base classes和novel classes实例的分布应该类似,follow长尾分布;第三,在监督设定下的方法应该在base classes和novel classes上实现类似的性能。

Overview \(Fig.1^{[1]}\) 用一个在大量数据上预训练的video-language model作为video和text encoders。模型进一步在video region-text pairs上进行训练,然后在base classes上进行微调。训练的模型期望在novel action classes上有很好的泛化性能。

Pipeline \(Fig.2^{[1]}\) OV-STAD的pipeline,一个在 大规模video-text数据集上预训练的video-language model用于image和text feautre的提取,利用它的zero-shot的视觉识别能力。进一步在video region-text pairs上训练模型,来得到video region和text之间更好地对齐。OV-STAD用了两阶段的pipeline,首先用一个检测器,产生proposals,然后通过将region features和action prompt embeddings进行对齐,识别行为类别。