顶刊TPAMI 2023!王利民团队提出Temporal Perceiver:通用时序边界检测方法

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【视觉和Transformer】微信交流群

扫码加入CVer学术星球可以获得最新顶会/顶刊上的论文idea和CV从入门到精通资料,以及最前沿项目和应用!发论文搞科研,强烈推荐!

f659d1af61ef224e04439efa4f1251b1.jpeg

转载自:极市平台 | 作者:王利民@知乎(已授权)

来源丨https://zhuanlan.zhihu.com/p/661765304

导读

 

本文提出Temporal Perceiver,一个通用的自然时序边界检测模型来解决长时视频中的自然时序边界检测问题,提供了一种基于Transformer的任意边界检测通用模型。 

本文介绍一下今年我们组被T-PAMI 2023收录的时序边界检测工作 Temporal Perceiver: A General Architecture for Arbitrary Boundary Detection。

论文链接:

https://ieeexplore.ieee.org/abstract/document/10144649

代码地址:

https://github.com/MCG-NJU/TemporalPerceiver

TL;DR 我们提出一种对视频中一类因为语义不连贯而自然产生的时序边界 (Generic Boundary) 的通用检测方法,基于Transformer Decoder建立了一个编码器-解码器结构。在编码阶段,我们利用一组可学习的隐查询量 (Latent Queries) 来压缩冗余的输入时序特征为边界特征 (Boundary Queries) 和上下文特征 (Context Queries),在线性复杂度内有效完成特征压缩;在解码阶段,我们采用另一组可学习查询量 (Proposal Queries) 从压缩特征中解码时序边界的位置和置信度。我们在镜头级别、事件级别和电影场景级别的自然时序边界数据集上进行测试,均取得了领先前沿的性能。为了进一步推进通用时序检测,我们联合不同语义粒度的时序边界数据集训练了语义层级无关的Temporal Perceiver模型,并取得了和单语义级别TP相比更强的泛化检测能力和接近的检测精度。

关键词 长视频理解、自然时序边界检测、基于查询量的检测框架、特征压缩、时序建模、通用感知模型、隐特征查询量

任务背景

主流的视频理解任务,包括视频动作识别、动作检测、视频检测等等,通常关注对于较短视频的理解。长时视频,包括监控录像、电影、体育比赛录像等等,在其长达数小时的内容中包含着丰富的语义信息,具有很大的研究价值。然而,由于GPU内存的限制和有效的多层次语义分割方法的缺失,这些长时视频还未在过往视频理解工作中得到彻底的研究与挖掘。因此,我们希望能够提出一种将长视频分割为一系列更短的有意义的视频片段的方法,作为长视频理解的基础预处理模块。

我们着手研究对视频中不同层次的自然时序边界检测(Generic Boundary Detection, GBD),旨在定位长视频中自然产生的时序边界。该任务的核心概念是自然时序边界,该概念描述了一类因为视频语义不连贯而自然形成的时序边界。和过去研究较多的动作检测边界不同,自然时序边界没有任何预先定义的语义类别,可以不受语义/类别偏向影响的体现视频的时序结构。这个generic boundary的概念首先在Mike Shou老师组的GEBD工作[1]中被探索。我们将generic boundary的概念扩展到了多种不同的语义层次,如下图,包括足球比赛中的镜头切换边界和电影中的场景切换边界。对于这样语义层次差异较大的几种边界的检测,需要结合不同语义层次的信息来捕捉视频的时序结构和上下文。

7e2b756a479360dca19e395e20c2aafc.jpeg
图1. 不同语义层次下的自然时序边界,包括镜头级别边界、事件级别边界和场景级别边界。

目前自然时序边界检测仍然是局限于在不同语义层次各自的任务中进行研究。镜头边界检测方法通过局部RGB变化来检测镜头边界;事件边界检测基于局部窗口的CNN捕捉动作语义进行看事件边界检测;场景边界检测利用LSTM建模长时序上下文,依赖于整体场景理解定位场景切换边界。此外,这些方法也常常采用复杂的后处理去重。这几种方法的模型设计和后处理方法和具体的边界类型紧密相关,难以在不同类型的自然时序边界检测中获得较好的泛化能力。

研究动机

我们认为,不同语义层次的自然时序边界检测任务有着类似的视频语义结构和相似的需求。那么自然而然,我们会有这样的问题:我们能否在一个通用的检测框架中解决不同语义层次的自然时序边界检测? 因此,我们提出Temporal Perceiver (TP),一个基于Transformer Decoder结构的通用模型,希望解决对任意自然时序边界的检测问题。自注意力模块是一种较为灵活的基础模块,但其复杂度是输入长度的平方。我们观察到输入视频存在时序冗余性,直接对输入视频特征做自注意力会带来很多不必要的计算,因此提出了在自注意力模块前压缩输入视频特征的编码器结构。我们的核心贡献在于提出了一组可学习的 latent queries自适应地学习特征、压缩较长的视频到一个固定的时序长度,以降低复杂度到线性。为了更好的利用视频语义结构的先验,我们进一步将latent queries分为两类:boundary queries 和context queries。边界查询量的目标是在视频中提取边界及其邻域的特征,上下文查询量将视频中语义连续的片段聚合为一系列语义中心来抑制视频冗余。除此之外,我们还提出一个新的对齐损失函数在编码器交叉注意力图上,鼓励边界查询量一对一的学习边界特征,提高了模型的收敛速度和检测性能。我们的贡献如下:

  1. 我们提出Temporal Perceiver,一个通用的自然时序边界检测模型来解决长时视频中的自然时序边界检测问题,提供了一种基于Transformer的任意边界检测通用模型;

  2. 为解决长视频中的时序冗余问题、降低模型复杂度,我们提出latent query集合来通过交叉注意力模块进行特征压缩;为提高隐藏查询量的压缩效率,我们根据视频语义结构进行具体模型结构和训练策略设计,划分了边界-上下文查询量并提出基于编码交叉注意力的对齐损失函数;

  3. 实验展示了我们的方法只用RGB特征在镜头级别、事件级别和场景级别自然时序边界基准数据集上超越了过往前沿方法,并体现了模型在自然时序边界检测问题里对不同语义层次的边界检测的泛化性。

方法

形式化的来说, 对于给定的视频X, Temporal Perceiver 预测一个自然边界集合 来定位视频中的边界真值 , 其中 为预测边界的数量, 为视频中gt边界的数量。

041711374e5a5d4f4b889b1cf0956a25.jpeg
图2. Temporal Perceiver 模型结构图。

图 2 展示了TP的模型结构。我们采用backbone网络从原始视频中抽取逐帧的RGB特征 和连贯性打分(coherence scores) , N为视频帧数量、C为通道数量。连贯性打分是一个度量当前时序位置是否为边界的分数, 我们基于每帧的连贯性打分对当前视频帧特征 进行分数从大到小的重排序。连贯性分数越高的帧越大概率为时序边界, 排列在序列的前部。此外,我们也为每个时序位置构造了基于 函数的位置编码,和RGB特征一起被重新排序后送入网络。

网络主体由一个基于Transformer交叉注意力模块的编码器 和一个Transformer解码器 组成。编码器 通过可学习的特征查询量 / 隐藏单元 (feature queries / latent units) 将输入序列压缩到隐特征空间 。这里 是隐藏单元的数量, 远小于输入序列长度 。每个隐藏单元都可以看作是一个 anchor 来从全局聚合时序信息。得到压缩特征 后, 解码器 采用可学习的proposal queries 来直接解码边界的位置, 得到 个边界位置特征。最后采用线性层 FFN 作为定位头和分类头来从边界位置特征中解码出预测边界的位置和置信度。我们的 TP 采用了简单的端到端时序检测框架, 无须后处理、不对边界的类别作假设, 可以完成对任意 generic boundary 的泛化检测。

特征编码与连贯性打分

19721b38e8554fbea342f16768c6f30d.jpeg
图3. backbone网络可视化。backbone网络在数据集上用密集边界监督训练。视频特征在每个snippet的max-pooling层后提取,连贯性打分为最终线性层的结果。

Backbone网络的结构由图3可见。我们通常采用在ImageNet上预训练的ResNet50网络来抽取RGB 特征 和连贯性打分 。我们首先密集地在视频上采样snippets, 每个 snippet包括 帧视频帧, 采样步长为 。对每个snippet, 我们用backbone抽取得到 个特征, 在特征拼合之后进入下一个由时序卷积-最大池化-线性投影组成的时序建模模块, 得到 个分类分数 。网络在每个数据集上都用二分类的密集边界 groundtruth 训练, 因此 代表着中心帧 是一个generic boundary的概率。将当前视频每帧的分类分数 组合成序列就是TP的连贯性打分。此外, 我们从时序建模模块的最大池化层后抽取每帧的特征 , 组合后就是TP的输入视频特征

Temporal Perceiver

TP是采用基于Transformer模块的编码器-解码器结构。编码器实际是一个 层的Transformer 解码器, 用来编码输入特征到隐空间。解码器就是原本的Transformer解码器, 包含 层。在编码过程中, 长度为 的输入特征通过交叉注意力模块被压缩到固定长度 。目前和原本的 Transformer编码器相比, 可以将复杂度从 降低到 。

编码器:通过隐藏单元进行时序压缩

我们可以将视频从时序的角度划分为两类不同的片段,分别是边界片段和上下文片段。边界片段是指一些包含着逐渐发生的时序转换的视频片段,具体来说就是在generic boundary时序前后的视频片段;上下文片段则指在边界划分出的语义连续的视频片段中更加中心的片段。为了达到更好的定位效果,我们主要关注边界片段,而上下文片段因为表达的是一个连贯的语义片段,因此直觉地可以被压缩成更短的语义单元来去除冗余。因此,我们设计了两种类别的feature queries,分别是boundary queries 和context queries,来分别处理语义不连续的边界片段和语义连续的上下文片段。

那么如何在一个具体的视频片段中区分边界片段和上下文片段呢?还记得backbone网络逐帧的预测了一个连贯性打分,该打分是对于当前时序位置是否为边界的置信度分数,因此我们利用连贯性打分来进行片段类型的划分。我们将输入特征按照对应的连贯性打分进行降序排序,得到一个permutation 。连贯性打分在前K高的时序位置被标记为边界片段,有:

其余部分则为上下文片段 。为了分别处理边界片段和上下文片段, 我们将 个 feature queries分为 个boundary queries 和 个 context queries , 。feature queries由随机初始化, 和其他网络权重一起在训练中进行优化。在编码器做特征压缩的过程中, 每一层的自注意力模块都对 feature queries 之间做 pair-wise 依赖建模; 交叉注意力模块中, 个boundary queries对边界区域的特征进行一对一的提取处理, 个context queries灵活地将上下文区域的特征聚类为一些语义中心。整个编码过程可以表达为如下公式, 其中, 是压缩后的特征, 之后送入解码器。

Encoder Cross_attention , Self_attention ,

交叉注意力的对齐约束 为了引导 boundary query 准确的对齐边界区域特征,我们在编码器的交叉注意力模块上引入了一个对齐约束。由于我们已经将输入特征根据连贯性打分重新排序,在输入序列中边界特征的位置都在前部,因此我们可以简单的引入一个基于单位矩阵的对齐损失函数,加在最后一层编码交叉注意权重图上。这样一来,通过控制单位矩阵的大小,我们可以保证每个boundary query都被约束到只能和一个时序位置进行交互,且该时序位置对应的连贯性分数属于视频序列中前K高。对齐损失函数的公式如下:

其中, 为编码器最后一层的交叉注意权重图。边界特征的数量和 boundary query 的数量都为 ,并在对齐损失函数的约束下一一对应地由每个边界查询量结合对应边界特征。

解码器:基于提案查询量的稀疏检测

我们follow DETR[2]和RTD[3]工作的直接出框范式,利用Transformer解码器和一个可学习的 proposal queries 集合来生成边界预测。在解码器堆叠的自注意力和交叉注意力模块中,自注意力模块建模每个边界预测的pair-wise关系以达到去重;交叉注意力模块处理压缩后的特征进行边界预测。整个解码器的稀疏检测范式可以表达如下:

Decoder Cross_attention ,

其中, 为解码后边界预测的特征。最终结果由两分支的头结构进行解码。定位头结构采用三层感知机来预测边界的位置, 分类头结构采用一个全连接层和sigmoid激活来预测边界置信度。

与Perceiver和Perceiver IO的比较

我们的TP在思想上和Perceiver[4]及Perceiver IO[5]类似,都采用了latent queries进行输入压缩,但我们的方法在以下几个方面区别于Perceiver的方法。

  • 基本的处理策略和管线不同。Perceiver和Perceiver IO采用的都是“read-process-write”策略,解耦了压缩结构和处理结构,采用的是一个单独的交叉注意力模块做压缩、多个自注意力模块做特征处理的不对称结构。而我们的TP采用的是一个耦合渐进的“compress-process”策略进行编码,每个编码层都包括堆叠的自注意力模块和交叉注意力模块。TP目标在将原始的视频特征序列逐步渐进压缩到隐特征空间。因此,我们的自注意力和交叉注意力模块数量是相同的。我们认为这种耦合渐进的压缩-处理策略可以提高压缩效率,同时允许在更深网络层加入监督来引导压缩过程。

  • 训练策略和损失函数不同。Perceiver与Perceiver IO均不能采用显式的损失函数直接引导 latent units 的训练,仅依赖于最终结果的分类/预测损失函数。这样的训练过程可能会导致对latent unit的利用不充分、得到较差的性能。相比之下,我们仔细考虑了视频数据的特殊性质,结合GBD任务的特点,提出了定制的latent queries(边界、上下文)来处理输入视频数据的时序冗余。同时,我们还提出了一个新的对齐损失函数,在交叉注意力权重图上约束boundary queries的训练,而Perceiver和Perceiver IO没有采用额外的监督。消融实验也表明该对齐损失函数可以加快模型收敛,同时提高模型性能。

  • 目标问题和领域不同。Perceiver和Perceiver IO 解决的都是经典分类问题和空间上的密集预测。这些任务常常需要一个分类头结构来生成分类标签,或者利用一个密集预测头结构来生成像素级标签。与之不同,我们的TP解决的是视频中的时序检测问题。我们需要将TP和稀疏检测头结合来直接回归得到generic boundary的位置。总体来说,由于检测目标之间存在很大的差异性,因此相对来说检测任务要比分类和密集预测任务难一点。因此,直接将Perceiver结构运用在解决检测问题上是无法得到很好的效果的,而我们TP针对视频数据和模型结构的创新模型都能在GBD任务上提高模型性能。

实验

我们分别在镜头级别 (shot-level)、事件级别 (event-level)和场景级别 (scene-level)的generic boundary benchmark上进行了测试,并与过往工作进行性能对比。

镜头级别

对于镜头切换检测,我们选择了基于足球赛事的 SoccerNet-v2[6]数据集上的 camera segmentation benchmark 进行测试。表1 展示了镜头级别比较结果,过往工作往往侧重于对某一类镜头转换的检测,可以看到TP在所有transition类别上综合性能优于过往工作。同时,我们也可以看到TP的性能并非依赖于coherence score的粗检测结果,相比coherence score检测结果有着很大的提高。实验结果也显示,光流信息(*)的引入并不能对性能有进一步的提升,这可能是因为RGB信息已经足以在当前任务获得很高的检测性能。

89f1d8826c2f058fe9f1cb3a88594d50.jpeg
表1. 在SoccerNet-v2上与camera segmentation的过往工作进行mAP(%)性能对比,最好结果加粗表示,次好结果下划线表示。

事件级别

对于事件转换检测,我们在基于日常行为视频的Kinetics-GEBD[1]数据集和基于奥林匹克体育赛事的TAPOS[7]数据集上进行测试。表2给出了我们方法在两个数据集上和过往工作的对比。

3ee16408d2579c96e386949645d2eb0b.jpeg
表2. 在Kinetics-GEBD和TAPOS数据集上与之前工作的F1 score@relative distance (f1@rel.dis.)性能对比,其中预测边界与边界真值之间的距离在relative distance规定的范围内算为正确预测。

可以看出,TP在两个数据集上都能取得state-of-the-art的结果,尤其在rel.dis.较小的情况下我们的结果与之前工作的差距更大,体现出TP边界定位的准确性。除了ResNet50网络之外,我们也采用了IG-65M[8]预训练的CSN网络[9]作为backbone,其结果也接近 CVPR‘22 该任务的challenge winner结果。

场景级别

对于场景切换检测,我们选择了MovieNet[10]数据集的 scene boundary detection 任务进行测试,其指标为AP和Miou,其中Miou是边界预测划分的场景和场景真值的IoU加权和。表 3 展示了场景切换检测结果。可以看出,我们的方法在AP和Miou上都取得了超越过往有监督工作的性能,同时也展现出TP在不同语义粒度的自然边界检测问题上的泛化性。

e3eca3126bb2c8c721380deface8fc94.jpeg
表3. 在MovieScenes和MovieNet上与之前工作基于AP和Miou的场景切换性能对比,其中MovieScenes是MovieNet的子集,也属于场景切换经典benchmark。

类别无关Perceiver (Class-agnostic Perceiver)

此外,我们联合多个时序边界数据集训练了一个语义层级无关的Temporal Perceiver模型,尝试进一步推进通用时序检测模型。我们对不同任务和数据集采用了同一个共享的模型:编码器和解码器均为任务共享;只有数据预处理步骤、编码器和解码器所使用的查询量(latent queries 和 proposal queries)因为不同数据集的数据分布、压缩度和解码先验不同而分别设计。我们没有在MovieNet上做泛化训练,是因为其视频帧并不连续(每个镜头只提供三帧关键帧图片),难以和其他时序连续的数据集一同训练,因此我们只在MovieNet上测试模型的unseen泛化性能。Unseen测试时,我们遵循locked tuning protocol[11],冻住编码器和解码器层,只finetune latent queries和feature queries来得到泛化性能。该实验的结果在表8中汇报,我们在所有的数据集上都取得了和单语义级别TP检测器相比更强的泛化检测能力和接近的检测精度。

5cae4a9426a3787162ba7c47caced7fb.jpeg

类别无关TP和类别相关TP在Kinetics-GEBD, TAPOS和SoccerNet-v2上的比较,及其在MovieNet上的泛化性能。

由于篇幅限制,更多的消融实验、efficiency比较和结果可视化在此略过,欢迎查阅论文!

总结

在这篇工作中,我们为不同语义粒度的自然边界检测提出了一个通用检测框架 Temporal Perceiver (TP)。TP 基于 Transformer Decoder 结构提出了一个有效的边界检测管线,为任意自然边界的检测提供了统一的网络结构。我们的核心贡献在于使用交叉注意力模块和一个 latent query 集合来将冗余的视频输入压缩到一个固定大小的隐空间里,以降低复杂度到线性。除此之外,我们还利用了视频的时序结构,将latent query分为 boundary query 和 context query 来分别压缩视频的边界特征和其余语义连贯的上下文特征。为了帮助收敛,我们在编码器交叉注意力层上提出了一个对齐约束,将边界特征和边界查询量对齐提取特征。得到压缩特征后,我们采用 Transformer Decoder 作为解码器完成对边界的稀疏检测。实验表明,TP可以在不同语义层级的数据集上取得SOTA,体现了模型的检测性能和对不同粒度边界的泛化性能。我们在不同语义层次数据集的联合训练后也发现了对 unseen 粒度边界的更强泛化性能。如何进一步提高不同粒度边界的联合训练性能,以实现更强大的通用检测框架,也是我们未来探索的方向。

CVPR / ICCV 2023论文和代码下载

 
 

后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集

后台回复:ICCV2023,即可下载ICCV 2023论文和代码开源的论文合集
计算机视觉和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer444,即可添加CVer小助手微信,便可申请加入CVer-计算机视觉或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

 
 
▲扫码或加微信号: CVer444,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉(知识星球),已汇集近万人!

▲扫码加入星球学习
 
 
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看f9889d186b5f4b353ef5a6d67e3c867d.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值