• 数据驱动概念的复杂事件检测


    这是boss14年1月份就叫我看的论文,希望能够实现起来,但是发现里面的牵涉的东西太多,而且重要的是论文几乎没给数据参数,网上也找不到代码来熟悉,没gpu,没大内存,没师兄师姐可以帮助,单干的确挺累人。还是翻译下,加深印象吧,总觉得在做无用功。最重要的是,boss完全不管,自己也非大神(吐槽过多。。。。)                                                      
                                          Complex Events Detection  Using Data-Driven Concepts

    摘要:在一个大范围的无约束视频中进行自动事件检测是一个具有挑战和重要的任务。关键的问题是用高等级语义描述子去描述长且复杂的视频,这需要找到同类别中的事件规律作为依据来区分不同的类别。本论文采用了一个新颖的无监督方法从多模态信号(音频,场景,动作)中找到数据驱动概念去描述视频的高等级语义。我们的方法包含三个主要的部分:首先学习从三个模态中分别提取低等级特征。第二,将低等级特征用DBN映射到一个低纬度空间,并在统计的基础上找到数据驱动概念。最终,用具有紧凑和鲁棒特性的稀疏表征去对来自三个模态的概念进行联合建模。在大in-the-wild数据集上的大量实验结果表明我们提出的方法明显优于state-of-the-art的方法。

    1引言

            近些年来,越来越多的用户将视频上传到互联网上。视频中的自动事件监测不但是一个有趣和重要的任务,也有着许多潜在的应用,比如:在线视频搜索和检索,用户内容管理,等等。然而,当语料库中的视频是有着巨大内容变量(就是什么都拍)和无约束拍摄条件的特点的时候,处理起来将会很困难,也很有挑战性。

            事件识别中的通常的方法都是依赖于手动设计的低等级特征,例如SIFT,STIP,MFCC和人为定义的高等级概念。高等级语义概念的使用已经被证实为在表示复杂事件的时候是高效的。然而,如何找到一个具有强力的语义概念集仍然是不清楚和前人未去研究过的问题。人为定义概念的缺陷包括:(1)它很难扩展这些概念到更大的范围,(2)他们不能处理多模态,(3)这些概念不能很好的去泛化新的数据集。

         本文中,我们提出了一个新颖的无监督方法去从三模态(音频,图像帧,视频)的训练数据中直接寻找事件概念。


    图1.从我们的数据集中随机选择的样例视频。每一行是来自两类的四个视频中的视频帧

          我们首先使用拓扑独立成分分析(TICA)从每个模态中学习低等级特征,这在文献【6】中显示比流行的那些手动设计的特征有着更好的效果。然后我们通过使用深度置信网(DBN)将我们的低等级特征映射成更紧凑的表征(相当于降维)。之后,通过对这个低维度空间中的训练数据使用向量量化(VQ)的方法来进行聚类获得我们的数据驱动概念。其中维度约间这一步是关键的,关系到生产合理的聚类结果。最终,我们通过学习紧凑的稀疏表征将来自三个不同模态的概念进行融合。整个的框架在图2中表明。

          我们认为概念的无监督学习是合适的,下面给出两个原因。首先,在受限的语言单词和复杂的真实世界事件中的非关联性使得人类定义一个可视化的概念的想法变得几乎不可能。我们稍后会说明大量的学习到的概念明显有助于改善识别的准确度。其次,大部分时间上,那些没有足够的注释的数据让我们很难用有监督的方式去学习概念。我们会对我们的方法广泛的评估。(这句译的不好)。结果显示我们提出的方法明显优于流行的baselines。

             文章剩下的部分组织如下。我们首先在章节2中回顾相关的文献。在章节3-5中医下面的顺序来解释我们提出的方法:低等级特征学习,数据驱动概念的发现,和事件表征的学习。在章节6中是大量的实验结果,对比和分析。最后在章节7中进行总结。

    2相关的工作

          现存的工作大部分都是基于不同的手动设计的特征,例如:SIFT,STIP,Dollar和MFCC。近年来,人们对使用生物-激励网络来学习可视化特征的兴趣在不断的增长,例如独立成分分析(ICA)和独立子空间分析。在文献【13】中,Le显示他们使用通过ISA方法得到的3D(时空)过滤器,动作识别的效果可以与其他手动设计的特征相媲美。在文献【6】中,被用于统计图像的TICA(另一个ICA的延伸)在对象识别上获得了state-of-the-art的效果。


    图2.提出方法的框架。每个视频被切分成短的片段。我们首先通过TICA在每个模态上学习低等级特征。然后通过DBN将低等级特征映射成更紧凑的表征。之后,我们用向量量化(VQ)的方法将低维度空间中的训练数据进行聚类得到数据驱动概念。最后,我们通过学习紧凑的稀疏表征来融合三个不同模态中得到的概念。


        概念检测器提供有着复杂内容的视频的高等级语义表征,这对用户媒体去建立强有力的检索或过滤系统是非常有用的。许多工作已经完成【4 14】去建立为了训练概念检测器的巨大数据集。然而他们的大多数数据集都以很好的受限条件进行记录,以至于它们却不适合去作为复杂事件的动作检测。文献【4】提供了一个标杆式的数据集,其中有着25个选择的概念,而且有着超过1338个用户视频的数据集。但是它的概念收集是只基于静态图像的。音频或动作概念没有被用到。因为这个数据的大多样性和训练样本的不足够,概念检测的效果远远低于预期。在本文中,我们提出一个无监督方法去从使用过DBN的三模态中发掘概念,DBN已经被提出去解决数字识别并且获得了预期的结果。另外,他在文献【17】中的表现显示DBN比PCA和LLE(局部线性嵌入)在维度约间上要好。

        多数据源可以使用早期风格或者后期风格策略来进行结合【18 4 5 8】.传统的风格方法是将每个源独立的看待【5】.我们认为可以利用多源之间的相关性去达到鲁棒性的分类。在本文中,我们提出了稀疏编码【19】的方法去执行后期风格并且经验显示这对这样的方法很有好处。

    3学习低等级特征

        我们使用TICA特征学习网络【6】从1D音频信号,2D图像片段和3D视频立体块中去学习不变性音频,场景和动作特征。为了让本文有着自圆其说的特点,我们简短的在事件识别的上下文中介绍下TICA。更详细的可以看【6】和【20】.

        我们将视为个从视频片段中的一个模态上提取的白化局部原始信号。对于2D图像片段和3D视频立体块,我们将他们平铺成1D向量。学习特征可以被认为是学习一系列的过滤器,这些过滤器能够通过计算过滤器的响应将原始信号映射到特征空间中。TICA是一个两层网络。第一层通过最小化公式3从输入中学习m个过滤器。这些过滤器的响应是第一层隐藏层单元H的激活值。第二层的过滤器V是手动固定的去与第一层单元H相邻的一个小邻居上池化的,H表示第一层的神经元的子空间结构。更具体的说,在2D拓扑中,这hk个单元位于2D网格上,网格上第二层ri的每个激活值在一个将H单元连接到V的3×3块上进行池化。(此句不好)。

         更详细的说,第一层的单元k的激活值是:

                            (公式1)

    其中Sk是S的第k行。

        这里第二层的单元i的激活值是:

                                       (公式2)

         这里是一个固定的矩阵,用来对隐藏单元H的拓扑进行编码,m是第一层的隐藏单元的数量。

          在过滤器学习过程中,最优值S是通过对下面的函数进行最小化得到的:

                                      (公式3)

              这里T是训练样本的总数。正交约束SST = I提供了竞争力和确保学到的特征是多样的。在特征提取过程中,给定S*和新的白化局部原始信号x,第二层R的激活值可以被视为x的特征。

              考虑到我们拥有的数据是相当多样和数量庞大的,我们认为直接从数据中学习好的特征是高效的。我们选择TICA作为我们的低等级建筑块是因为他的两个优点:特征的鲁棒性和更少的计算复杂度。TICA的池化结构确保学到的特征是对轻微的位置和方向的转移,和对频率,旋转和动作速率的选择具有不变性,这个过滤器的学习比其他方法例如GRBM【21】更快,因为这个等式3的目标函数的梯度是容易处理的。特征的提取在与稀疏编码相比是同样很快速的,当这个特征是通过简单的矩阵向量积计算的时候。

    4数据驱动概念的发掘

                   之前的工作【15 16】使用人为定义的概念作为动作识别。然而,这对事件识别是不合适的,因为两个原因:首先,用具有限制的语言单词去描述人类动作的巨大的多样性的概念定义是不可行的。第二,当前的事件数据库【22】没有对每个视频片段的动作概念的详细注释,这使得训练概念检测器是很困难的。这 两个问题直接激励我们提出数据驱动概念的发掘。

              我们假设在一个单一的短片段中出现的三个模态的每一个都只有一个类型的概念(每个视频完全独立)。这个想法就是我们需要去找的一个表征,这可以将不同模态的的每个片段从原始信号空间映射到一个语义空间,在语义空间中有着相似概念的片段相互靠近。考虑到我们数据的高度多样性,不使用对有时空特性低等级TICA进行池化,而是使用词袋(BoW)直方图的方法,通过使用K-mean软指定【23】的方法来自适应向量量化(VQ)技术。

          一个问题是,为了获取数据的变化,BoW直方图通常是很长的(对应于巨大的编码本)。众所周知,K-means在高位空间中是噪音敏感的,特别是当我们使用欧式距离作为相似性测量时。为了解决这个问题,我们提出了使用DBN去对每个模态的片段学习一个更低维度的表征。一个DBN是一个两层网络,是一个RBM的堆叠。低层RBM的激活值用作高层RBM的输入。在每个RBM中,隐藏层抓取下一层中单元激活值的强相关性。对于我们的高度复杂事件数据,堆叠几个RBM是一个高效的方法去渐进的揭露低维度,非线性结构。我们通过以实值作为输入的情况下对RBM的描述作为开始,剩下的描述在文献【17】和【24】中,然后我们展示如何使用学到的片段表征去发掘每个模态的数据驱动概念。

          DBN Learning:我们以底层中的可视单元Q来开始,这实质上是每个片段的BoW表征。一系列的隐藏单元l通过构建对称连接权重,以权矩阵W来表示。我们将RBM视为一个无指向图模型,每个状态的能量通过下面的函数给定:

                        (公式4)

         这里,sigma是高斯密度的标准差,lj是隐藏单元变量,qi是可视单元变量,wij是连接qi和lj的权重,ci和bj是可视单元和隐藏单元的偏置。这个学习的过程就是估算wij,ci和bj的过程,是通过对数据q分布中的状态能量的最小化得到的,在给定数据的情况下提出状态能量是可行的。我们使用文献【24】中的方法是使用CD学习,这是一个对能量函数的梯度的高效的逼近。更进一步,在每次迭代中,我们采用CD更新规则,并使用正则化项的梯度作为每一步的梯度下降。

           一旦完成训练网络的一层,我们馈送这层的输出值作为下一个更高层的输入,在完成对每一层的训练后,我们将最后一层的输出作为片段表征,即,通过这样的操作,我们将原始特征映射到更低维度的空间,因为D《d。

         构建概念:   从相似性片段中的低维度表征Y随后被以一个语义进行归类成概念。在我们的框架中,概念是从三个模态中获得的,每个事件视频是表示成从三个模态中的每个概念的发生的频率,即 Z 。                 

    5事件表征学习

        一个普通的现象是不同模态的概念是高度互相相关的。例如,在一个生日会事件中,动作概念‘人们跳舞’,是几乎总是与概念‘欢快的音乐’或场景概念‘拥挤的人们’相互交叉发生的,而不是‘恐怖的音乐’或‘交通场景’相发生。通过对交互上下文环境和概念的内部模态的发生率进行建模,我们能移除噪音概念并进一步的提升事件表征。这个想法是我们想要去学习一系列的基,这个基能够抓取概念的互相发生的信息,使得事件能够被作为基的线性组合。通过进一步的对系数进行稀疏化,不相关概念的噪音情形能够被移除。

        更准确的说,给定N个事件,他们以从三个模态中获取的连锁状的概念进行表示,。我们通过将他视为一个稀疏编码【19】问题来进行建模从而获得基:

                          (公式5)

    这里Phi(j)是基向量,是与第j个基联合的第i个事件的系数。公式5中的第一项是重构误差,然而第二项是系数的强制稀疏。beta是为了平衡两项的相关的权重。我们在【19】中使用稀疏编码算法去解决最小值问题。

             在学习到一组集合基Phi后,我们可以对输入事件Z(t)进行编码成基的稀疏线性组合。这个组合系数a(t)扮演者事件最后的表征,可以通过解决公式(6)获得:

                                                   (公式6)

    有着X^2核的SVM被用来做分类【25】.

    6实验

         在这一章中,我们会介绍数据集和讨论几个我们拥有的有趣的观测值。

    6.1数据集和实验环境

         我们在TRECVID2011事件集合上测试我们的方法,其中有着15个类别:‘Boarding trick’,‘Flash mob’, 'Feeding animal', 'Landing fish', 'Wedding', 'Woodworking project', 'Birthday party', 'Changing tire', 'Vehicle unstuck', 'Grooming animal' ,' Making sandwich', 'Parade', 'Parkour', " repairing appliace", 'Sewing project'.正如图1中的那样,它是一个新的视频集,有着在内容,风格,产品质量,收集设备,语言等方面高度多样化的特点。它的帧速范围是12-30fps,分辨率范围从320×640到1280×2000,时间从30秒到5分钟不等。

            我们在基于TRECVID事件集合上手动定义和注释一个动作概念数据集,其中有62个动作概念(例如。开箱,person cheering,接近动物,方向盘转向等)有大约9000个视频。在我们的知识范围内,这是在相关文献中找到的最大动作概念数据集。

         在这个实验中,我们首先将所有的视频尺寸限定在480×640,然后将它们切分成4和10秒的片段,其中有2秒是相互重叠的,这是基于我们所观测的动作概念观测值的持续时间都是2到10秒的考虑。总共大概有3000000个片段。在这15个事件上的估计方法是平均准确度(MAP)。

        同样,我们在UCF YouTube动作数据集上将我们的低等级特征和其他的手动设计的特征进行相比,这个数据集上有11个动作类别。25-fold的交叉验证方法来进行验证。尽管这个YouTube数据集是视觉社区中当前最广泛的真实动作数据集之一,但是在内部类别多样性上,它仍然比TRECVID数据缺少更多的噪音而且更简单。

    6.2 低等级特征提取

         我们使用TICA去从三个模态中学习特征表征:音频,图像和视频。对于每个模态来说,大约2000000个采样的信号/碎片/视频块被用来训练这个过滤器,每个模态中600个过滤器最后被选中用来作为特征构造的基。这个音频信号以16KHZ的采样率进行提取。可视层的输入(三模态)是800,20×20,20×20×10。图3 4 5 显示在1D,2D和3D训练样本上随机选择的学好的过滤器结果。

        为了验证我们的特征由于其他经典的手动设计的特征。我们使用和【26】中一样的BoW框架,这里的编码本是通过K-means生成的,而且这个直方图是使用有着X^2核的SVM进行分类的。编码本的尺寸是4000.。

                 

        图3 从TRECVID事件集中学到的600个音频过滤器中的24个。


    图4 从TRECVID事件集学到的600图像(2D)过滤器中的48个。因为训练碎片有3个通道(RGB),这个学到的过滤器也有3个通道。这个过滤器的颜色信息主要的抓取场景概念,例如室内,室外。

         我们在手动注释的这62个动作概念上进行我们的结果比对,EC和UCF 11数据集,使用MFCC,MBH,SIFT和STIP。

         表1总结这个结果。在EC和62概念数据集上,我们学到的特征在识别精度上比所有的其他手动设计的特征有着10%的提升;在62动作概念数据集上,我们的3D TICA特征的结果比STIP(30.9%)有着20%的提升。这个结果同样显示从不同模态中结合的特征可以提升总体的精度。这说明从不同模态中得到的特征可以抓取足够的信息,并且从不同源中使用特征是必须的。

         有趣的是,我们注意到我们的特征在UCF-11数据集上没有比动作边缘直方图(MBH)要好。一个猜测的原因是MBH倾向于在简单的数据集例如UCF-11上会过拟合,这个UCF-11包含着完好定义的动作和相对简单和干净的背景。然而他的结果在困难的数据集TRECVID上直接斩断到44%,而在这个数据集上我们所提的方法的最高精度是63.2%。这验证了学到的局部特征的鲁棒性并说明在无约束in-the-wild条件下特征发觉是重要而且必须的(就是说的自动特征提取)。

     

     图5 从TRECVID事件集中学到的600时空(3D)过滤器中的12个,过滤尺寸是20×20×10,每一行有两个3D过滤器。

                          表1.使用不同的特征和模态结合的结果的比对。在困难的TRECVID数据集上,我们的特征优于其他所有的手动设计特征;从不同模态中得到的特征的结合提升了总体的精度。


    6.3 数据驱动概念发掘

        我们使用RBM作为每一层来训练一个5层结构的DBN。RBM是以很小的随机权值和0偏置进行初始化,在以minibatches等于100的情况下训练60个epochs.对于这个线性-二值RBM,我们的学习率是0.001。在学习的开始,当梯度很大的时候我们会降低我们的学习率,同样在学习的末尾(降低学习率)可以最小化最终权值的波动。我们同样适用动量为0.8来加速学习。

         图6显示这个检测结果,评估每一层的片段表征的结果:在每一层训练后,片段被基于新的表征来归类成概念。然后,SVM被用来做分类。我们首先藏式使用K-means直接在没有任何数据维度约间的初始片段表征上实验,。然后我们使用RBM递归的去降低数据的维度,从4000降低到100维。

        

    图6.以RBM,PCA,LIE和EigenMaps的隐藏单元(维度)作为变量的函数来作为事件检测结果的对比。没有任何维度约间的在4000维度上使用K-means的直接的精度是39%。我们对比不同的维度约间的技术。RBM得到当隐藏单元是1000个的时候有着最好的66%的结果。对于所有的技术上,当我们在片段表征的维度约间的时候精度是通常上升的,这说明了在概念学习上维度约间的必要性。

        图6显示当片段表征的维度从4000到1000时,这个事件检测MAP从39%增长到66%,并在1000维度的时候达到最高点。这支持我们的假设:在高维度空间中片段的初始表征的欧式距离不能测量真实的相似性,这个DBN可以正确的学到片段之间的规律。如果我们保持对片段表征的维度 进行约间,这个准确度就会下降。这说明高维度数据被压缩到一个过小的空间,许多有用的信息就会丢失。进一步说,我们在其他主流的方法上重复这个实验,例如PCA,EighenMap和LLE。图5显示这个检测的结果。并清楚的表明DBN的效果明显更好。

         图7显示基于来自三模态和他们的结合的不同数量的概念的分类结果。结果显示动作概念在事件检测问题上占据一个重要的角色。大量的概念有助于识别主要是因为更大的概念的池化抓取更好等级的动作变量,例如从不同观点上的奔跑动作。然而,当概念的数量增长的时候,这个准确度下降有可能是因为训练视频样本的不足够和SVM的过拟合造成的。

        我们观察到,音频信号(TICA 1D)的曲线的在500概念上达到峰值,然而场景(TICA 2D)和动作(TICA 3D)在之后才达到他们的峰值。这说明音频信号的潜在的变量少于动作和2D场景信号,这是符合常识的。结合的概念(TICA 1D+2D+3D)达到了最好的结果,因为音频,场景和动作概念抓取了视频中足够的信息。我们同样适用STIP特征去运行同样的实验。


    图7 一个事件检测效果的比对,通过在音频,图像和视频特征上应用所提出的方法并将发觉的概念数量作为变量的函数来作为评判标准。我们同样显示使用标准的STIP特征的结果。最终,我们显示发觉的概念和手动标注的62个动作概念对比的重要性。这个结果显示更大数量的数据驱动概念可以提升检测率并且比人为表征的概念要好。


       图8 (a)使用在三个模态上联合或者分离的不同数量的概念下的事件检测的对比。前者将来自三模态的低等级特征作为初始片段表征,然后联合的学习概念。后者分别发掘音频,场景和动作概念。这个结果显示在模态上分别是哟娜概念优于早期的联合的。(b)事件检测的对比,通过使用稀疏表征和概念表征袋。稀疏表征一直比概念表征袋要好。

        这个结果显然比使用TICA特征的结果要差。这说明低等级特征在发觉有意义的数据驱动概念上是很重要的。

        有趣的是,这个模型使用在62个人为定义的概念上有监督的训练,优于在使用相同概念数量但是无监督方式的结果。这说明更多的有监督有助于当概念的数量很小的时候的结果。然而,当随着概念的数量的增加,数据驱动的概念明显更好。这说明大量的概念可以提升事件的检测。

        我们同样将使用三模态的早期特征风格发掘的概念的结果和分离三模态中学到的概念进行比对。图8显示分离找到的概念总是更好的。


    图9 我们提出的方法和MFCC,SIFT和STIP特征的比对结果,他们都在每一个事件类的检测准确度上比较。我们的MAP是68.2.这个联合方法的MAP是51.1%。

    6.4 稀疏视频表征

        在概念被找到后,每个长事件视频可以被以概念的形式表示。图8b显示在检测率上稀疏表征和概念表征袋的对比。另外,在最好的结果上每个类别检测率与baseline(SIFT+MFCC+STIP)的对比在图9中显示。我们方法的MAP在15个事件上是68.2%。另外这个SIFT+STIP+MFCC的MAP是51.1%;

    7 总结和未来的工作

        本文中,我们提出了一个三步的方法:以无监督的方法从三模态中以数据驱动概念去学习稀疏视频表征,通过学习低等级特征和片段表征,高等级语义概念可以被找到。大量的实验表明在复杂的in-the-wild事件识别数据库上,我们的方法明显优于使用人为设计特征的baselines。


    我觉得我是不能独立完成这个了。。。






  • 相关阅读:
    Spring Boot Sample 033之swagger3.0
    Spring Boot Sample 025之spring-boot-security-oauth2
    Spring Boot Sample 024之spring-boot-data-influxdb
    docker 安装redis /mysql/rabbitmq
    发布视频文件,并配置vtt格式的字幕文件
    Windows控制台用copy命令合并二进制文件
    Solaris修改IP地址
    为java程序配置网络访问代理
    apache2 httpd.conf 反向代理设置实例
    Apache配置正向代理与反向代理
  • 原文地址:https://www.cnblogs.com/shouhuxianjian/p/4529218.html
Copyright © 2020-2023  润新知