Action Sets: Weakly Supervised Action Segmentation without Ordering Constraints

摘要

视频中的动作检测和时间分割是人们越来越感兴趣的话题。虽然全监督系统最近得到了很多关注,但是视频中对每个动作的完整注释对于大量视频数据来说是昂贵且不切实际的。因此,弱监督动作检测和时间分割方法具有重要的意义。虽然这方面的大多数工作都假定给定的动作是有序的,但是我们的方法只使用一个动作集和。这样的动作集合提供的监督要少得多,因为既不知道动作的顺序,也不知道动作发生的次数。作为交换,可以很容易地从meta-标签中获得动作集合,而有序序列仍然需要人工注释。我们介绍了一个系统,它可以自动学习视频中动作的时间分段和标签,其使用的监督只有动作集。通过对三个数据集的评价,我们的方法虽然监测量明显小于其他相关方法,但仍然取得了较好的效果。

1.简介

由于大量的公开视频数据,人们对这些数据的分析方法越来越感兴趣。在人类动作识别领域,近年来取得了相当大的进展。许多关于动作识别的研究已经发表,即对预先分割的视频片段进行动作分类[35, 30, 11]。虽然目前的方法已经在UCF-101[32]和HMDB-51[14]等大型数据集上实现了较高的准确性,但是对于大多数实际任务来说,预先分割动作片段的假设并不适用。因此,人们对在未剪辑的视频中寻找动作的有效方法越来越感兴趣。随着诸如Thumos[9]、Activity Net[5]或Breakfast[12]等大型数据集的可用性,出现了许多在未裁剪视频中临时定位和分类动作的新方法[27,21,39,29,24,18]。然而,这些方法通常依赖于完全监督的数据,即训练视频中发生的每个动作的确切时间位置是已知的。这种训练数据的创建需要在视频帧级别上进行手工标注,这对于大型数据集来说是非常昂贵且不切实际的。因此,需要一种能够在较少监督的情况下学习时间动作分割和标记的方法。一种常见的假设是,没有完全的监督,只提供视频中发生的动作的有序序列[2,15,6,25]。虽然这种监督不力的情况已经很容易得到了,例如从电影剧本或字幕中,但是对于大量的现实世界任务来说,这样的信息仍然不能假定是可用的。相反,弱标签通常以meta标签或文档索引中的无序列表的形式出现。
为了解决这个问题,我们提出了一种弱监督的方法,它可以从无序的动作标签中学习时间动作分割和标签,我们称之为动作集。与上面提到的方法(参照Figure 1a)相比,我们假设在训练过程中既没有提供动作的顺序,也没有提供动作发生的次数。相反,只给出视频中发生的一组动作(参见Figure1b)。这个任务比给定有序操作脚本的情况要困难得多。例如,考虑一个包含 T T T帧和有序动作 C C C标签(transcript)的视频。那么,有 ( C + T ) ! C ! T ! \frac{(C+T)!}{C!T!} CT(C+T)种可能的视频标签。如果动作不是有序的,已经有 C T C^T CT种可能的标签。对于T=100帧C=5的视频,这意味着使用无序动作集作为监督比提供有序动作标签(ttranscripts)时多 1 0 60 10^{60} 1060倍。Action Sets: Weakly Supervised Action Segmentation without Ordering Constraints_第1张图片
为了处理如此巨大的搜索空间,我们提出了三个模型组件,目的是在三个不同的粒度级别上分解搜索空间。最粗粒度的层次由限制可能的操作序列空间的上下文模型处理。在较细粒度的层次上,长度模型将动作的持续时间限制在合理的长度。在最细粒度的层次上,帧模型为每个视频帧提供类概率。
注意,以前使用过上下文模型[15,25]和长度模型[24]。然而,在这些论文中,要么提供了上下文模型的有序操作脚本,要么提供了长度模型的框架注释。据我们所知,我们是第一个使用这种模型的人,没有提供任何训练数据来允许直接从视频注释中推断出这种模型。
在评估中,我们探讨系统中每个组件的影响。此外,时间分割和动作标记质量仅对未见视频进行评估,对在推理时给出动作集作为额外监督的视频进行评估。

2.相关工作

经典动作识别中开发的强特征提取器也推动了未裁剪动作分割的发展,如改进密集轨迹的Fisher向量[35]或各种复杂的CNN方法[30,8,11,4]。
在处理未裁剪的视频时,动作可以定位在时间域[2,24,39,29,25,15,17,26],也可以定位在时空域[33,7,20,38]。对于后者,视频通常只包含很少的动作实例。虽然这一领域的大多数方法都是完全监督的,但[38]提出了一种基于多任务排序模型的弱监督actor-action分割方法。
在这项工作中,我们只关注在时间域内的动作位置。在这种设置下,视频要么包含几个类的多个动作密集地出现在整个视频中[12,27];要么是稀疏的[9]即大部分视频为背景,需要在视频中检测到单个类或一小组类的所有实例。经典的动作识别方法被广泛应用于帧特征提取[21,27,39,24]。虽然CNN特征在一些动作检测方法上是成功的[39,29],但通常需要在完全监督下进行训练。相反,改进的密集轨迹则是在无监督的情况下提取的,这使得它们成为大多数弱监督方法的选择特征[2,15,6,25]。
在全监督动作检测的背景下,大多数方法使用滑动窗口有效地分割视频[21,27],依赖于CNNs或循环网络[39,31,29],如果只有弱监督是无法使用的。[24]也是如此,为上下文和长度信息建模,这也是我们的方法中所做的。研究表明,使用泊松分布建模动作长度,使用语言模型合并动作上下文信息,长度和上下文信息显著改善了动作分割系统。在[22,34,13]中已经提出了其他由语法指导的完全监督方法。注意,与我们的任务相比,它们的长度和上下文模型可以很容易地从帧级训练注释中估计出来。然而,我们的问题面临的挑战是,没有提供允许直接估计上下文或长度模型的注释。
在使用弱监督时,现有方法使用有序的动作序列作为注释。早期的作品建议从电影脚本中获取动作序列[16,3]。Alayrac等人[1]提出根据叙述定位在视频中的具体动作。在[19]中,提出了一种使用语音自动识别和文本描述对齐的语音序列识别方法。Bojanowski等人[2]解决了将动作对齐到帧的任务。在他们的工作中,假设在训练和测试期间提供了有序的动作序列,并且只学习帧和动作序列之间的对齐。Kuehne等人[15]将方法从[13]扩展到弱监督,从有序的动作序列中推断出一个线性分割,并在迭代细化的分割上训练一个经典GMM+HMM语音识别系统。Richard等人[25]进一步扩展了这一想法,用循环神经网络代替GMM。最近,Huang等人[6]提出使用联结主义时间分类(CTC)从弱监督视频中学习时间动作分割。为了避免退化视频帧和提供的动作脚本之间的对齐,他们建议使用视觉相似性度量作为传统CTC方法的扩展。与[15,2,6,25]的方法相比,我们的方法只使用了动作集,即更弱的监督。因此,我们学习模型的方式也不同于上述方法。
Wang[36]等人最近发表的另一种相关方法解决了在具有稀疏动作发生的视频中检测动作的任务。更准确地说,对于给定的动作类,它们生成动作建议,并训练神经网络将该动作的实例与视频中的背景区分开来。他们的方法被设计用来区分视频中的动作和背景,他们的方法不适用于标签密集的视频,这些视频包含许多不同的动作,正如本文所述。

3.时间动作标记

任务定义: ( x 1 , … , x T ) (x_1,\dots,x_T) (x1,,xT)为具有T帧的视频, x t x_t xt为帧是一个特征向量。任务是从预定义的一组可能的标签 C C C中给视频的每一帧分配一个动作标签 c c c。根据[24]的符号,相同标签的连接帧可以解释为类 c c c和长度 l l l的动作段。用这种表示法,目标是将视频分割成未知数目的N个动作片段,即定义N个长度为 ( l 1 , … , l N ) (l_1,\dots,l_N) (l1,,lN)和动作标签 ( c 1 , … , c N ) (c_1,\dots,c_N) (c1,,cN)。为了简化符号,我们将视频帧、长度和类的序列缩写为 x 1 T x^T_1 x1T l 1 N l^N_1 l1N c 1 N c^N_1 c1N,其中下标是序列的起始索引,上标是结束索引。
模型定义: 为了解决这个问题,我们提出了一个概率模型,旨在找到给定视频的最可能分段和分割标记,
( l ^ 1 N , c ^ 1 N ) = a r g N m a x l 1 N , c 1 N { p ( c 1 N , l 1 N ∣ x 1 T ) } , ( 1 ) (\hat l_1^N,\hat c_1^N)=\underset{N}{arg} \underset{l_1^N,c_1^N}{max}\{p(c_1^N,l_1^N|x_1^T)\},\qquad(1) (l^1N,c^1N)=Nargl1N,c1Nmax{p(c1N,l1Nx1T)},(1)
其中 l n l_n ln是第n段的长度, c n c_n cn是对应的动作标签。对于视频中没有动作(或没有感兴趣的动作)发生的所有部分,我们都使用一背景类。所以,所有的视频帧都属于一个特定的动作类和分段。因此, I 1 N I_1^N I1N c 1 N c_1^N c1N定义了完整视频的分割和标签。为了建立概率模型,我们首先利用贝叶斯规则分解方程(1),
( l ^ 1 N , c ^ 1 N ) = a r g N m a x l 1 N , c 1 N { p ( c 1 N ) p ( l 1 N ∣ c 1 N ) p ( x 1 T ∣ c 1 N , l 1 N ) } , ( 2 ) (\hat l_1^N,\hat c_1^N)=\underset{N}{arg} \underset{l_1^N,c_1^N}{max}\{p(c_1^N)p(l_1^N|c_1^N)p(x_1^T|c_1^N,l_1^N)\},\qquad(2) (l^1N,c^1N)=Nargl1N,c1Nmax{p(c1N)p(l1Nc1N)p(x1Tc1N,l1N)},(2)
第一个因子, p ( c 1 N ) p(c^N_1) p(c1N)是最粗的模型,控制动作序列的可能性。在较细的层次上,第二个因子是控制动作持续时间的长度模型。第三个因素在特定的分割和标签下提供了一个视频帧的可能性。同样的因子分解也在[24]中被提出用于全监督动作检测。我们想强调的是,我们的模型只与[24]的工作共享因数分解。由于弱监督,我们使用的实际模型和训练的方式有很大的不同。

3.1弱监督

在弱监督的时间动作分割中,大部分工作都是使用有序的动作序列作为监督[6,15,2],而在我们的任务中,只提供视频中出现的无序的动作集,参见Figure1b。值得注意的是,动作的顺序和每个动作出现的次数都是未知的。假设训练集由 I I I个视频组成,然后用于第 i i i个视频的监督是发生在视频中动作集合 A i ⊆ C A_i\subseteq C AiC
在推断过程中,不为视频提供动作集,模型只能从视频帧中推断动作标签。作为一项额外的任务,我们还将讨论为推断提供操作集的情况,请参见第4.6节。
下面,对这三个因素进行模型分析 p ( c 1 N ) p(c_1^N) p(c1N) p ( l 1 N ∣ c 1 N ) p(l_1^N|c_1^N) p(l1Nc1N) p ( x 1 T ∣ c 1 N , l 1 N ) p(x_1^T|c_1^N,l_1^N) p(x1Tc1N,l1N)

3.2使用上下文无关语法进行上下文建模

我们处理巨大搜索空间的第一步是使用上下文无关语法 G G G限制可能的动作顺序,以便对 p ( c 1 N ) p(c_1^N) p(c1N)之前的上下文建模。生成语法后,定义
p ( c 1 N ) = { c o n s t , i f c 1 N ∈ G , 0 , o t h e r w i s e ( 3 ) p(c_1^N)=\left\{\begin{matrix}const,\qquad if \quad c_1^N\in G, \\ 0,\qquad otherwise \end{matrix}\right.\qquad(3) p(c1N)={const,ifc1NG,0,otherwise(3)
对于式(2)中的最大化,这意味着 G G G生成的每个动作序列的概率是相同的,其他所有序列的概率都是零。我们提出以下策略来获得语法:
naive语法: 所有可以使用训练数据中每个动作集的元素创建的动作序列都是可能的。形式上,这意味着
G n a i v e = ⋃ i = 1 I A i ∗ ( 4 ) G_{naive}=\bigcup_{i=1}^{I}A_i^*\qquad(4) Gnaive=i=1IAi(4)
其中 i i i表示第 i i i个训练样本, A i ∗ A_i^* Ai A i A_i Ai的克林闭包(Kleene closure)
蒙特卡罗语法: 我们随机生成大量的k个动作序列。每个序列是由随机选择训练样本 i ∈ { 1 , … , I } i \in\{1,\dots,I\} i{1,,I}。然后,动作统一从相应的动作集 A i A_i Ai之前积累的估计长度 T i T_i Ti超过了所有绘制动作视频的平均 λ c \lambda_c λc。动作类的平均长度 λ c \lambda_c λc估计持续时间,见3.3节。
**基于文本的语法:**通常,可以从外部文本来源获得语法,例如从web菜谱或书籍。在给定一些自然语言文本的情况下,我们通过挖掘与动作类相关的频繁单词组合来增强蒙特卡罗语法。考虑两个动作类 v v v w w w,例如butter_pan和crack_egg。如果单词butter或pan在文本来源中位于crack或egg之前,则将计数 N ( v , w ) N(v, w) N(v,w)增加1。这样的话,这样,如果 v v v w w w之前出现的频率很高,那么单词的条件概率就会很高,反之则会很低。
p ( w ∣ v ) = N ( v , w ) ∑ w ~ N ( v , w ~ ) ( 5 ) p(w|v)=\frac{N(v,w)}{\sum_{\widetilde{w}}N(v,\widetilde{w})}\qquad(5) p(wv)=w N(v,w )N(v,w)(5)
语法的实际构造遵循与蒙特卡洛语法相同的协议,唯一的区别是动作不是从动作集中均匀地绘制出来的,而是根据分布 p ( w ∣ v ) p(w|v) p(wv),其中 v v v是之前绘制的动作类。

3.3动作集的长度模型

虽然语法已经引入了一些排序约束,但考虑到动作可能是任意的,甚至实际上是不合理的持续时间,搜索空间仍然非常大。因此,作为第二步,我们从训练数据中得到的稀缺信息中估计出一个长度模型。为了建立长度因子 p ( l 1 N ∣ c 1 N ) p(l^N_1 |c^N_1) p(l1Nc1N)的模型,我们假设每个段长度都是条件独立的,并且进一步去掉除了当前段以外的所有类标签的依赖关系,也就是
p ( l 1 N ∣ c 1 N ) = ∏ n = 1 N p ( l n ∣ c n ) . ( 6 ) p(l_1^N|c_1^N)=\prod^{N}_{n=1}p(l_n|c_n).\qquad(6) p(l1Nc1N)=n=1Np(lncn).(6)
每个类条件 p ( l ∣ c ) p(l|c) p(lc)都用类c的泊松分布建模。
对于class-wise泊松分布的估计,只能使用训练数据中提供的动作集 A i A_i Ai。理想情况下,免费的泊松分布的参数 λ c \lambda_c λc应该设置为动作c类的平均长度。因为这无法估计的动作集,我们提出两种策略来近似每个动作类的平均持续时间。
简单方法 在简单方法中,假设每个训练视频的帧在各自的动作集中均匀分布。每个类的平均长度可以计算为
λ c = 1 ∣ L c ∣ ∑ i ∈ L c T i ∣ A i ∣ , ( 7 ) \lambda_c=\frac{1}{\left | L_c\right |}\sum_{i\in L_c}\frac{T_i}{|A_i|},\qquad(7) λc=Lc1iLcAiTi(7)
L c = { i : c ∈ A i } L_c =\{i:c\in A_i\} Lc={i:cAi} T i T_i Ti是第i个视频的长度。
Loss-based 这种简单方法的缺点是,如果视频很长,那么通常较短的动作就被假定为较长。相反,我们建议估计所有类的平均值。这可以通过最小化二次损失函数来实现,
∑ i = 1 I ∑ c ∈ A i ( λ c − T i ) 2 s u b j e c t t o λ c > l m i n , ( 8 ) \sum_{i=1}^{I}\sum_{c\in A_i}(\lambda_c-T_i)^2\qquad subject\quad to\quad \lambda_c>l_{min},\qquad(8) i=1IcAi(λcTi)2subjecttoλc>lmin,(8)
其中 l m i n l_{min} lmin是最小动作长度。为了最小化,我们使用线性逼近(COBYLA)[23]进行约束优化。
注意,动作c的真实平均长度可能小于 λ c \lambda_c λc,因为动作可能在一个视频发生多次。但是,这不能包含在长度模型中,因为动作集不提供此类信息。

3.4动作帧的多任务学习

给定已经严格限制搜索空间的语法和长度模型,最后一个缺失的因素是实际的框架模型,它提供了每个类在给定帧中出现的可能性。
为了从式(2)中模拟最后一个因子,我们用| C C C|训练了一个网络,该网络有多个二进制softmax输出层。如果对于给定的帧 x t x_t xt标签 c c c则每个层预测都存在。也就是,如果 c ∈ A i c\in A_i cAi。由于一个动作 c c c通常发生在不同的上下文中,属于 c c c类的所有帧总是被标记为它的真正的 c c c类标签和一些变化的其他类标签。因此,分类器可以学习对正确类存在的强烈响应和对其他错误分配的类存在的较弱响应。因此,作为网络的损失,我们使用每个二元分类任务的累积交叉熵损失。
为了在推理过程中利用多任务网络的输出概率,需要将其转化为对式(2)中最后一个因子的建模, p ( x 1 T ∣ c 1 N , l 1 N ) p(x_1^T|c_1^N,l_1^N) p(x1Tc1N,l1N)。因此我们定义了类后验概率
p ( c ∣ x t ) : = p ( c p r e s e n t ∣ x t ) ∑ c ~ p ( c ~ p r e s e n t ∣ x t ) ( 9 ) p(c|x_t):=\frac{p(c\quad present|x_t)}{\sum_{\widetilde{c}}p(\widetilde{c}\quad present|x_t)}\qquad(9) p(cxt):=c p(c presentxt)p(cpresentxt)(9)
并将其转化为类条件概率
p ( x t ∣ c ) ∝ p ( c ∣ x t ) p ( c ) ( 10 ) p(x_t|c)\propto \frac{p(c|x_t)}{p(c)}\qquad(10) p(xtc)p(c)p(cxt)(10)
因为网络是一个框架模型, p ( c ) p(c) p(c)也是帧(framewise)的先验。更具体地说,如果 c o u n t ( c ) count(c) count(c)是当前标记为c的帧的总数。那么 p ( c ) p(c) p(c)是相对频率 c o u n t ( c ) / ∑ c ~ c o u n t ( c ~ ) count(c)/\sum_{\widetilde{c}}count(\widetilde{c}) count(c)/c count(c )
假设视频帧具有条件独立性,则从帧 t s t_s ts到帧 t e t_e te的动作段概率可以建模为
p ( x t s t e ∣ c ) = ∏ t = t s t e p ( x t ∣ c ) ( 11 ) p(x_{t_s}^{t_e}|c)=\prod_{t=t_s}^{t_e}p(x_t|c)\qquad(11) p(xtstec)=t=tstep(xtc)(11)
帧的条件独立是多行为检测和时间分割方法中常见的假设[24,15,13]。注意, t s t_s ts t e t_e te是由片段长度 l l l含蓄给出的。对于视频中的第n个分段, t s ( n ) = 1 + ∑ i < n l i t_s^{(n)}=1+\sum_{i<n}l_i ts(n)=1+i<nli t e ( n ) = ∑ i ≤ n l i t_e^{(n)}=\sum_{i\leq n}l_i te(n)=inli
方程(2)的第三个因子现在使用之前定义的分段概率建模,
p ( x 1 T ∣ c 1 N , l 1 N ) : = ∏ n = 1 N p ( x t s ( n ) t e ( n ) ∣ c n ) ( 12 ) p(x_1^T|c_1^N,l_1^N):=\prod_{n=1}^Np(x_{t_s^{(n)}}^{t_e^{(n)}}|c_n)\qquad(12) p(x1Tc1N,l1N):=n=1Np(xts(n)te(n)cn)(12)

3.5推理

( l ^ 1 N , c ^ 1 N ) = a r g N , l 1 N m a x c 1 N ∈ G { ∏ n = 1 N p ( l n ∣ c n ) ⋅ p ( x t s ( n ) t e ( n ) ∣ c n ) } ( 13 ) (\hat{l}_1^N,\hat{c}_1^N)=\underset{N,l_1^N}{arg}\underset{c_1^N\in G}{max}\{\prod_{n=1}^{N}p(l_n|c_n)\cdot p(x_{t_s^{(n)}}^{t_e^{(n)}}|c_n)\}\qquad(13) (l^1N,c^1N)=N,l1Nargc1NGmax{n=1Np(lncn)p(xts(n)te(n)cn)}(13)

你可能感兴趣的:(论文学习)