nextvlad:一个用于大规模视频分类的聚集帧级特征的有效神经网络

NeXtVLAD: An Efficient Neural Network toAggregate Frame-level Features for Large-scaleVideo Classification

摘要

  本文介绍了一种快速有效的网络体系结构——NextVlad,将帧级特征聚合成一个紧凑的特征向量,用于大规模视频分类。简单来说,基本思想是在随时间推移应用NetVLAD聚合之前,将一个高维特征分解成一组相对低维的关注向量。这种NeXtVLAD方法在聚集时间信息方面既有效又有参数效率。在第二次Youtube-8M视频理解挑战中,一个参数小于80M的NeXtVLAD模型在私人排行榜上的GAP分数为0.87846。3个NeXtVLAD模型的混合结果是0.88722,在394个团队中排名第三。该代码可在https://github.com/linrongc/youtube-8m公开获得

关键字:神经网络 vlad 视频分类 youtube8m

1.简介

  数码相机和智能手机的普及成倍增加了视频的数量,然后通过互联网上传、观看和共享。视频内容自动分类已经成为许多现实应用中的一个关键和具有挑战性的问题,包括基于视频的搜索、推荐和智能机器人等。为了加快视频内容分析的研究步伐,谷歌人工智能推出了第二个Youtube-8M视频理解挑战,旨在在有限的预算限制下学习更紧凑的视频表示。由于Youtube8M数据集的空前规模和多样性[1],它们还提供了通过预先训练的卷积神经网络(CNNs)提取的帧级视觉和听觉特征。主要的挑战是如何有效地将这些预先提取的特征集合成紧凑的视频级表示。NetVLAD是为位置识别任务聚集空间表示而开发的[2],对于视觉和听觉特征的时间聚集任务,它比常见的时间模型(如LSTM[3]和GRU[4])更有效、更快[5]。NetVLAD的主要缺点之一是编码的特征是高维的。基于这些特征的非平凡分类模型需要数亿个参数。例如,一个有128个集群的NetVLAD网络将把一个2048维的特征编码为一个262,144维的向量。具有2048维输出的后续全连接层将产生大约537M的参数。参数低效率会使模型更难优化,更容易过度拟合。为了解决参数低效问题,受ResNeXt[6]工作的启发,我们开发了一种新的神经网络体系结构NeXtVLAD。与NetVLAD不同,输入特征在被编码和随时间聚集之前,被分解成一组相对低维的关注向量。基本假设是一个视频帧可能包含多个对象,在编码之前分解帧级特征将有利于模型产生更简洁的视频表示。在Youtube-8M数据集上的实验结果表明,该模型在参数上比原NetVLAD模型更有效。此外,下一个VLAD模型可以收敛得更快,更能抵抗过度拟合。

2 相关工作

  在这一部分,我们简要回顾了最相关的研究特征聚合和视频分类。

2.1紧凑视频表示的特征聚合

  在深度神经网络时代之前,研究人员已经提出了很多编码方法,包括BoW(视觉词包)[7]、FV (Fisher Vector)[8]和VLAD(局部聚合描述符向量)[9]等。,将局部图像描述符聚合成一个全局紧凑向量,旨在实现更紧凑的图像表示,提高大规模视觉识别的性能。这种聚集方法在一些早期的工作中也应用于大规模视频分类的研究[10][11]。最近,[2]提出了一个可微的模块,NetVLAD,以将VLAD集成到当前的神经网络中,并在位置识别任务方面取得了显著的改进。然后,该架构被证明在为紧凑的视频表示聚集空间和时间信息方面非常有效[5][12]。

2.2用于大规模视频分类的深度神经网络

  最近,随着大规模视频数据集[13][14][1]的可用性和GPU的海量计算能力,深度神经网络在大规模视频分类领域取得了显著进展[15][16][17][18]。这些方法可以大致分为四类:(1)时空卷积网络[13][17][18],它主要依靠卷积和汇集来聚集时间信息和空间信息。两个流网络[16][19][20][21],它们利用叠加光流来识别除背景帧图像之外的人体运动。递归空间网络[15][22],它应用递归神经网络(包括LSTM或GRU)对视频中的时间信息进行建模。其他方法[23][24][25][26],这些方法使用其他解决方案生成用于视频表示和分类的紧凑特征。

3 nextvlad的网络架构

我们将首先回顾一下NetVLAD聚合模型,然后深入研究我们提出的用于特征聚合和视频分类的NeXtVLAD模型的细节。


考虑具有M帧的视频,N维帧级描述符x由预先训练的CNN递归提取。在K个簇的NetVLAD聚合中,每个帧级描述符首先使用以下等式被编码为N × K维的特征向量:vijk =αK(Xi)(xij-ckj)I∈{ 1,…,M},j∑{ 1,…,N},k∑{ 1,…,K} (1)其中CKI是聚类K的N维锚点,αk(xi)是xito聚类K的软赋值函数,它度量了xiand聚类K的邻近性。该邻近性函数使用具有软最大激活的单个全连通层来建模,


其次,可以通过聚集所有帧级特征来获得视频级描述符y,

并且应用帧内归一化来抑制突发[27]。最后,构建的视频级描述符y在被输入到最终的视频级分类器之前,通过全连通层被简化为一个H维隐藏向量。如图1所示,视频级分类前的NetVLAD模型参数个数约为N × K × (H + 2),(4),其中降维层(第二全连通层)占总参数的大部分。例如,一个N = 1024,K = 128,H = 2048的网络模型包含超过268个参数。


在我们的下一个VLAD聚合网络中,输入向量Xi首先通过线性全连接层扩展为λN维的Xi,其中λ是宽度乘数,并且在我们的所有实验中它被设置为2。然后应用整形操作将形状为(M,λN)的\u x变换为形状为(M,G,λN/G)的\u x,其中G是群的大小。过程相当于把\u Xi拆分成G个低维特征向量n \u XG I??g∑{ 1,…其中每一个随后被表示为来自相同的低维空间中的聚类锚点CKI的残差的混合:


其中σ(。)是一个sigmoid函数,输出范围从0到1。第一部分αGK(ᵟXi)度量了∈XG对簇k的软赋值,而第二部分αg(ᵟXi)可以看作是对群的注意函数。然后,通过在时间和组上聚集编码向量来实现视频级描述符:

之后,我们应用了一个内部规范化操作、一个降维全连接层和一个视频级分类器,与NetVLAD聚合网络的分类器相同。如图2所示,因为与NetVLAD相比,视频级描述符yjkis的维数减少了G倍,所以参数的数量减少了。具体来说,参数的总数是:
λN(N + G + K(G +H + 1 G))。

由于G比H和N小很多,粗略来说,NeXtVLAD的参数个数比NetVLAD小Gλ倍左右。例如,λ = 2,G = 8,N = 1024,K = 128,H = 2048的NeXtVLAD网络只包含71M+参数,比NetVlad 268M+大约小4倍。

3.3 NeXtVLAD模型和SE上下文门控

我们用于第二次Youtube-8M挑战的基本模型与第一次Youtube-8M挑战的获胜者解决方案[5]具有类似的架构。视频和音频功能通过双流架构分别进行编码和聚合。阿瑟上下文选通模块增强了聚合表示,旨在对标签之间的依赖性进行建模。最后,采用sigmoid激活的logistic分类器进行视频级多标签分类。


受挤压和激励网络[28]工作的启发,如图4所示,SE上下文门控由两个完全连接的层组成,其参数比[5]中介绍的原始上下文门控少。参数总数为:2F2 r (10),其中r表示在我们的实验中设定为8或16的减速比。在比赛中,我们发现逆转美白过程,

该方法是在对帧级特征进行主成分分析降维后应用的,有利于下一层模型的泛化性能。可能的原因是,主成分分析后的白化将通过消除特征尺寸之间关于距离测量的不同贡献来扭曲特征空间,这对于编码器为每个输入特征找到更好的锚点和软分配可能是至关重要的。因为特征值?ej?j∑{ 1,…,N}?在Google团队发布的PCA变换中,我们可以通过:ˇXJ = XJ√√EJ(11)来反转白化过程,其中x和ˇx分别是输入向量和反转向量。

3.4基于即时朴素集成的知识提炼

知识提炼[29][30][31]旨在通过在培训期间使用来自教师模型的预测作为额外的“软目标”,将繁琐的教师模型的泛化能力转移到相对简单的学生网络。在竞赛中,我们尝试了[32]中介绍的网络架构,从动态混合预测中提取知识,并将其应用到每个子模型中。


如图5所示,混合预测的逻辑是逻辑的加权和?zm?m∑{ 1,2,3}?从3个相应的子模型中:


混合预测的知识通过最小化KL散度被提取到每个子模型,写成:

其中C是类标签的总数,p(。)表示等级软预测:


其中T是一个温度,可以调整逻辑的相对重要性。正如[29]中所建议的,较大的T将增加具有较小值的逻辑的重要性,并鼓励模型共享更多关于任务空间的已学习相似性度量的知识。模型的最终损失是:


其中Lm bce(Le bce)表示地面真实标签和来自模型m(混合预测)的预测之间的二元交叉熵。

4 实验结果

本节提供了实现细节,并展示了我们在Youtube-8M数据集上的实验结果[1]。
Youtube-8M数据集(2018年)由大约610万个来自Youtube.com的视频组成,每个视频至少有1000次观看,视频时间从120秒到300秒不等,并标有来自3862个视觉实体的一个或多个标签。这些视频进一步分为3个部分:培训(70%)、验证(20%)和测试(10%)。除了视频id和标签之外,每秒钟还会提供视频和音频特征,这些特征被称为帧级特征。视觉特征由《盗梦空间》中分类层之前的隐藏表示组成[33],该分类层在Imagenet上预先训练[34]。音频特征是从CNN[35]的音频分类中提取的。然后应用主成分分析和白化将视觉和听觉特征的维数分别降低到1024和128。在第二次Youtube-8M视频理解挑战中,提交的内容使用全球平均精度(GAP)进行评估,得分为20。对于每个视频,预测按置信度排序,GAP分数计算如下:


其中p(i)是精度,r(i)是给出前I个预测的召回率。

4.2 实施细节

我们的实现基于张量流[36]起始代码1。所有模型都是使用亚当优化器[37]在两个Nvidia 1080 TI GPUs上以0.0002的初始学习率进行训练的。批量大小设置为160(每个GPU 80)。我们将l2(1e-5)正则化器应用于视频级分类器的参数,并使用0.5的丢失率来避免过拟合。在训练下一个VLAD模型时不使用数据增强,在聚合过程中通过以下方式屏蔽填充帧:


在所有的局部实验中,仅使用训练分区对模型进行5个时期(约120k步)的训练,并且每2M样本的学习率以指数方式降低0.8倍。然后,仅使用大约1/10的评估分区来评估模型,这始终比相同模型在公共排行榜2上的分数小大约0.002。对于最终提交模型,使用训练和验证分区对其进行15个时期(约460k个步骤)的训练,并且学习率每2.5M个样本以0.9的因子呈指数下降。更多细节可以在https://github.com/linrongc/youtube-8m.找到

5 结论

本文提出了一种新的NeXtVLAD模型来支持预算约束下的大规模视频分类。我们的NeXtVLAD模型提供了一个快速有效的网络架构,将帧级特征聚合成一个紧凑的特征向量,用于视频分类。在Youtube-8M数据集上的实验结果表明,我们提出的NeXtVLAD模型在参数上比第一次Youtube-8M视频理解挑战的获胜者NetVLAD模型更有效和高效。

nextvlad:一个用于大规模视频分类的聚集帧级特征的有效神经网络 NeXtVLAD: An Efficient Neural Network toAggregate Frame-level Fea相关推荐

  1. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](1)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

  2. 用于吸烟行为检测的可解释特征学习框架(附论文下载)

    关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 论文获取|回复"IAYOLO"获取paper 源代码:ht ...

  3. GPS-Uber:一个用于预测一般和e3特异性赖氨酸泛素化位点的混合学习框架

    文章链接:https://academic.oup.com/bib/advance-article-abstract/doi/10.1093/bib/bbab574/6509047 DOI:10.10 ...

  4. 【论文翻译】SHINE 一个用于特定领域实体与异构信息网络链接的通用框架

    SHINE 一个用于特定领域实体与异构信息网络链接的通用框架 摘要 由多种类型的互联对象组成的异构信息网络正变得越来越流行,例如社交媒体网络和书目网络.在异构信息网络中,将从非结构化文本中检测到的命名 ...

  5. (AAAI-2019)STA:用于大规模基于视频的行人重识别的时空注意力

    STA:用于大规模基于视频的行人重识别的时空注意力 paper题目:STA: Spatial-Temporal Attention for Large-Scale Video-Based Person ...

  6. Maplab:一个用于视觉惯性建图和定位研究的开源框架

    摘要 鲁棒且精确的视觉惯性估计是当今机器人领域的重要挑战.能够用先验地图(prior map)进行定位(localize)并获得准确且无漂移的姿态估计,可以推动该系统的适应性.然而,目前大多数可用的解 ...

  7. Google用更少标签生成图像,还提出一个用于训练评估GAN的库

    参加 2019 Python开发者日,请扫码咨询 ↑↑↑ 译者 | 刘畅 责编 | 琥珀 出品 | AI科技大本营(ID:rgznai100) 生成对抗网络(GAN)是属于一种强有力的深度生成模型.G ...

  8. Druid:一个用于大数据实时处理的开源分布式系统——大数据实时查询和分析的高容错、高性能开源分布式系统...

    转自:http://www.36dsj.com/archives/28590 Druid 是一个用于大数据实时查询和分析的高容错.高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分 ...

  9. 双向卷积神经网络_一个用于精细动作检测的多路双向递归神经网络

    文章标题:A Multi-Stream Bi-Directional Recurrent Neural Network for Fine-Grained Action Detection引用:Sing ...

最新文章

  1. 分享一波 RabbitMQ 面试题有答案
  2. linux内核分析期末,Linux内核分析作业
  3. 【Linux网络编程】原始套接字编程
  4. 删除已弃用的CMS垃圾收集器的JEP草案
  5. Mahmoud and a Dictionary CodeForces - 766D 种类并查集
  6. 群晖 mysql 自动备份_宝塔定时备份网站及数据库至群晖FTP存储空间
  7. 走美团特色的无人配送道路,王慧文:久久为功才能做成
  8. atitit 高并发之道 attilax著.docx 1. 概念 2 2. 并发一般涉及如下几个方面: 4 2.1. 多线程编程(已过时,不介绍) 4 2.2. 异步编程 4 2.3. 并行编程
  9. PHP实现常用的数据结构之链表
  10. lodop打印控件——前端学习笔记
  11. C++ 冰河木马的实现
  12. 一文读懂ssh,tomcat,LANP,LNMP,ftp,dns等常见的环境配置(运维工程师必看)
  13. Docker bridge 模式 容器如何访问外部世界?
  14. JS中的window对象和document对象是什么?有什么区别?
  15. Unity3D资源包中没有Bouncy材质怎么办
  16. 完美替代photoshop 和 coreldraw的两个软件:krita 和 inkscape
  17. 制作ubuntu引导盘,到安装Ubuntu系统流程
  18. HTTP方法的安全性和幂等性
  19. 基金申请-13:如何查论文的影响因子和SCI分区?
  20. 数字经济新基建巨头:VMware公司研究

热门文章

  1. 干翻华为才有年终奖,“性感”小米发布MIX3,滑盖全面屏只要3299元
  2. 计算机硬件检测与维修理论试题,计算机硬件检测与维修试题10.doc
  3. 美团外卖【成都】技术团队,招人啦!
  4. 谁先量子计算机谁就,G、IBM、中科院,比一比谁先实现量子计算霸权?
  5. 小程序云原生数据库的设计与应用,想要知道的都在这里!
  6. 实验四——DPCM编码(1bit、2bit、4bit、8bit量化)
  7. Excel函数 - 提取月份,转换月份格式
  8. 哪些行业是离散制造?哪些是流程制造?他们有什么区别?
  9. monkey测试中防止关闭WIFI的方法
  10. 2018年12月最新win101809教育版激永久激活密钥和方法