来源:AI科技大本营

论文作者:Ranjay Krishna, Kenji Hata,Frederic Ren, Li Fei-Fei, Juan Carlos Niebles  StanfordUniversity

本文长度为3094字,建议阅读6分钟

本文第一部分为你介绍论文的摘要及引言翻译,第二部分为解读(不代表本文观点)。

前几日李飞飞发了一条推文:

推文内容:

大意为:我的学生最近的论文被TechCrunch网站选为“计算机视觉最前沿的十篇论文”之一,我真是为它们感到骄傲。继Imagenet后,计算机视觉仍然在不断突破我们的想象力。

既然是大神李飞飞的得意门生,必是值得一读的大作。其实这篇论文早在今年5月就已公布,不少知乎网友也纷纷给出了自己的解读。在这篇文章中,第一部分为论文的摘要及引言翻译,第二部分为解读(不代表本文观点),希望对你有所帮助。

若需参看原文,请查阅文末链接。


摘要

大多数视频都包含着大量事件。举例来说,在一段钢琴演奏视频中,可能不仅仅包含钢琴演奏者,还可能包含着跳舞的人,或者鼓掌的观众。本论文提出了密集事件描述任务——检测和描述视频中的事件。作者提出了一个新模型,它可以识别出视频某一通道中的所有事件,同时还能用自然语言描述检测出的事件。

我们的模型介绍了一个与已有方法不同的描述模块,它可以捕捉到发生时间为几分钟到几十分钟的事件。为了捕捉视频中不同事件间的关系,该模型引入了一种新的描述模块(captioning module),该模块可以结合从过去和未来事件中得出的上下文信息,用它们来描述所有事件。作者还提出了ActivityNet Captions,这是一个用于密集事件描述任务的大型基准测试数据集。这个数据集包含了2万个视频(共长达849小时)以及10万条带有开始和结束时间的描述信息。最后,作者报告了该模型在密集事件描述、视频检索和定位任务中的性能。

图1:密集事件描述任务要求模型检测和使用自然语言描述视频中发生的每个事件。这些事件有各自的开始时间和结束时间,因此事件可能同时发生,在时间上发生重叠。

引言

利用大型的活动数据集,模型可以将视频中的事件分类为一系列互不关联的行为类别。例如,在图1中,此类模型会输出“弹钢琴”或“跳舞”这样的标签。尽管这些方法取了很好的结果,但是它们有一个重要的局限:细节。

为了解决现有行为检测模型的细节缺失问题,论文作者通过试验探讨了如何使用语句描述解释视频含义。例如,在图1中,模型可能会集中注意在人群前弹奏钢琴的老人。虽然模型可以通过描述告诉我们是谁在谈钢琴以及现场有一群观众在观看表演,但是它未能识别并描述出视频中的所有其他事件。例如,在视频中的某一点,一位女士开始跟着演奏者一起唱起歌来,之后一名男士开始伴着音乐跳起舞来。为了让模型能识别并以自然语言描述视频中的所有事件,作者提出了密集事件描述任务,这种任务要求模型根据视频中发生的多个事件生成一系列描述,并在视频中对这些事件进行时间上的定位。

密集事件描述任务类似于密集图像描述任务。不同之处在于:前者要求模型对视频中的事件进行描述和时间上的定位,而后者则要求模型对图像区块(regions)进行描述和空间上的定位;处理这两种任务时需要解决的问题不同。视频中的事件可能发生于多个时域内,不同的事件可能会重叠在一起。

在视频中,钢琴演奏这个事件可能从头到尾都在发生,但是观众鼓掌这个事件只发生了十几秒。为了捕捉到所有事件,我们需要对长视频序列和短视频序列进行编码,来对事件进行描述。以往的方法使用均值池化法或循环神经网络(RNN)对整个视频序列进行编码,从而绕过了这个问题。在处理短视频时此类方法很好用,但是如果对长达几分钟或几十分钟的长视频序列进行编码,就会出现梯度消失的问题,从而导致无法成功地训练模型。为了克服这个局限,作者将 action proposals生成上的近期研究成果应用到了多时域事件检测任务中。另外,作者引入的模块在前向通道中处理每个视频,这样模型就可以在事件发生的同时对其进行检测。

该论文还发现:视频中的各事件之间往往存在联系。在图1中,观众鼓掌的原因是因为演奏者表演了钢琴弹奏。因此。模型必须能够利用从前后事件中得出的上下文信息,来捕捉每个时间。最近发表的一份论文试图通过多个语句来描述视频中的事件;但是论文中使用的是“烹饪”教学视频,视频中的事件和物体之间存在很高的关联性,而且事件有一定的发生顺序。

作者证明了他们的模型并不能适用于“开放”时域(“open” domain)视频,这此类视频中,事件的发生是由行为主导的,而且不同事件可能会重叠在一起。作者提出了一种描述模块,该模块可以使用action proposal模块中所有事件的上下文信息,为每个事件生成描述语句。另外,作者还给出了一个描述模块(captioning module)的变体,这个变体可以只根据前面发生的事件,对流视频(streaming video)中的事件生成描述。本论文中的模型参考前面和后面发生的事件,证明了使用上下文信息的重要性。

为了评估模型在密集事件描述任务中的性能以及基准的提高程度,我们引入了ActivityNet Captions数据集。ActivityNet Captions包含20000个采集自ActivityNet的视频,每个视频包含一系列时序定位的描述语句。为了验证模型对长视频序列的检测,数据集中包含有长达10分钟的视频,每个视频平均标记有3.65个语句。这些语句描述的是可能同时发生并导致视频片段重叠的事件。虽然本论文使用的是关于人类活动的视频,但是描述可能会涉及非人为事件,例如:两个小时后,材料一块美味的蛋糕。作者使用众筹(crowdsourcing)的方式收集描述,在这个过程中发现时序事件视频片段之间存在高度的一致性。这一发现验证了一些研究的结论:大脑活动会被本能地转化为在语义上有意义的事件。

借助ActivityNet Captions,我们率先在密集事件描述任务中得出结果。我们结合使用了proposal模块和在线描述模块,证明了我们可以检测和描述长视频或流视频中的事件。而且,我们证明了我们能够检测出长视频序列和短视频序列中的事件。另外,我们还证明了使用从其他事件中得出的上下文信息可以提升模型在密集事件描述任务中的性能。最后,我们证明了ActivityNet Captions可以被用于研究视频检索和事件定位。

论文地址:

http://openaccess.thecvf.com/content_ICCV_2017/papers/Krishna_Dense-Captioning_Events_in_ICCV_2017_paper.pdf

关于这篇论文,营长就不做过多解析了,以下是知乎上两位同学的分析,供参考。


原文地址:

https://www.zhihu.com/question/59639334/answer/167555411

知乎答主:米特兰

整个框架主要分成两部分:proposal module和captioning module。

模型如下:

1.给定视频,生成特征序列。实验中以16帧为单位,输入C3D提取特征。

2.proposal module。proposal module是在DAPs的基础上做了一点修改,即在每一个time step输出K个proposals。采用LSTM结构,输入上述C3D特征序列,用不同的strides提取特征序列,strides={1,2,4,8}。生成的proposal在时间上会有重叠。每检测出一个event,就将当前的隐藏层状态作为视频描述。

3.captioning module。利用相邻事件的context来生成event caption。采用LSTM结构。

将所有的事件相对于当前事件分成两个桶:past events和future events。并发事件则依据结束时间分成past events和future events。计算公式如原文,不在此列出。

4.损失函数由两部分组成:

都采用cross-entropy。

5.实验:baseline:LSTM-YT、S2VT、H-RNN、full model和online model。其中full model是本文中模型,online model是在full model中只采用past events,而不采用future events。

6.评估:分别对proposal module和captioning module进行评估。

proposal model:recall,依赖两个条件:

  1. the number of proposals and

  2. the IoU with ground truth events。同时也测试不同的strides在event localization中的效果。

captioning module:采用video retrieval。即给定视频不同部分的描述,在测试集中检测出正确的视频。

本文模型解决的问题:

  • 视频长短不一致。

  • 事件之间的相互联系。

我认为本文的主要贡献有以下几点:

  • 提出proposals module+captioning module,只处理一次视频就能同时生成short和long event。

  • 利用neighboring events的context生成current event caption。

  • 提出ActivityNet Captioning数据集

知乎答主:杨科

framework大致是:action segmentation proposal + video caption,首先做行为片段(或者说segmentation of interest吧)proposal,然后在proposal上做video caption;其中action segmentation proposal用的是eccv16的DAPs【1】。

【1】2016-eccv-DAPs Deep Action Proposals for Action Understanding

关于video caption,诸位可以去看知友@林天威最近的专栏文章(天威的专栏干货满满,做video相关的研究可以关注一下)

Video Analysis 相关领域介绍之Video Captioning(视频to文字描述)

https://zhuanlan.zhihu.com/p/26730181

我感觉最大的贡献是提出了这个dense video caption 的数据集(或者说task)吧,算法只是做一个baseline而已,(数据集在ActivityNet上加上了caption 的标注,ActivityNet是当前最火的行为识别/检测challenge的视频数据集)。

ActivityNet今年的比赛作为CVPR2017的workshop,FeiFei Li组这篇论文提出的这个dense caption的任务时今年ActivityNet比赛的五个比赛这一,大家伙有兴趣可以去参与一下:

http://activity-net.org/challenges/2017/index.html

编辑:王璇

李飞飞力赞论文:描述视频密集事件新模型 !(附论文)相关推荐

  1. 超越ImageNet?李飞飞力赞高徒的视频描述研究入选计算机视觉最前沿的十大论文

    论文作者:Ranjay Krishna, Kenji Hata,Frederic Ren, Li Fei-Fei, Juan Carlos Niebles  StanfordUniversity 编译 ...

  2. 周傲英、熊辉、李飞飞邀您共享大数据技术嘉年华!(附大会终版日程)

    周傲英.熊辉.李飞飞邀您共享大数据技术嘉年华!(附大会终版日程) 全球数字化趋势当前,大数据可谓向阳而生蓬勃发展.为了直击大数据学习发展中的痛点与瓶颈,深入解析热门技术在行业中的实践和落地,2018 ...

  3. 李飞飞点赞「ARM」:一种让模型快速适应数据变化的元学习方法 | 开源

    鱼羊 编译整理 量子位 报道 | 公众号 QbitAI 训练好的模型,遇到新的一组数据就懵了,这是机器学习中常见的问题. 举一个简单的例子,比如对一个手写笔迹识别模型来说,它的训练数据长这样: 那么当 ...

  4. 从学术界到产业界,阿里云李飞飞谈数据库为何要开源? | 《新程序员》

    在大数据.人工智能.5G.物联网等新兴产业的日益成熟发展下,业界对数据库的稳定性.冗余度.扩展性.独立性提出了越来越高的要求,对此,阿里云.TiDB等国产数据库厂商们不断加快前进与创新的步伐,探寻跨越 ...

  5. 谷歌云开大会,李飞飞等高管公布多款AI新产品

    关注网易智能,聚焦AI大事件,读懂下一个大时代! [网易智能讯 7月25日消息]Google Cloud年度大会Google Cloud Next 2018于7月24日到7月26日在旧金山Moscon ...

  6. 计算机的新应用论文,计算机教学应用的新创新模式论文原稿

    <计算机教学应用的新创新模式论文原稿.doc>由会员分享,可免费在线阅读全文,更多与<计算机教学应用的新创新模式论文原稿>相关文档资源请在帮帮文库(www.woc88.com) ...

  7. 前谷歌大脑员工创业公司获4000万美元融资,Hinton、李飞飞等支持

    来源:新智元 [导读]NLP模型提供商Cohere宣布获得4000万美元A轮融资.该公司由谷歌大脑前员工创立,核心模型源自Transformer,并获得了Geoffrey Hinton,李飞飞等AI界 ...

  8. 特写李飞飞:她激励了人工智能的发展,更要给人工智能赋予人的价值

    文 | MrBear  编辑 | 杨晓凡 来源:雷锋网 摘要:李飞飞无疑是人工智能界最响亮的名字之一.她既对机器学习领域的发展做出了杰出的贡献,也是普通大众眼中温和的人工智能技术宣扬者,还是谷歌这一科 ...

  9. 李飞飞为什么会离职 Google?

    今年 9 月,谷歌云 CEO Diane Greene 在其官方博客上公布了一则重磅消息,来自卡内基梅隆大学的计算机科学院院长 Andrew Moore 教授将在 2018 年底接任李飞飞的谷歌云 A ...

最新文章

  1. java9.0.1教学,零基础Java基础教程【9天入门】
  2. oracle转mysql总结经验,oracle转mysql总结(转)
  3. 现代程序设计 作业 2
  4. 不得不说--自动化测试元素定位与用例设计
  5. 用Entlib的配置程序块遇到的问题
  6. C# 操作iis6、iis7 301
  7. 51汇编与c语言混合编程,C51与汇编混合编程详解
  8. css 的块级元素和行内元素
  9. linux 文件压缩与解压
  10. foobar2000 for mac(经典音乐播放器)
  11. 8.总线设备驱动模型
  12. mysql 存储微信表情
  13. 计算软件介绍siesta、vasp、wien2k、PWSCF、Materials Studio
  14. 加密软件pgp 使用教程
  15. python mq_解析Python实现MQ消息队列以及消息队列的优点
  16. android密码输入框6,Android 6位支付密码 密码输入框 极简单的代码实现 看这篇就够了...
  17. nginx 自建证书https 报错 no “ssl_certificate“ is defined in server listening on SSL port while SSL handsha
  18. Markdown Katex 集合相关符号
  19. ccc-sklearn-11-线性回归(1)
  20. 概率论与数理统计 4 Continuous Random Variables and Probability Distributions(连续随机变量与概率分布)(上篇)

热门文章

  1. 交换机的VACL测试
  2. 2016年SDN通往成功路的5大步
  3. 加速OA系统实施的四大要素
  4. 给Java新手的一些建议——Java知识点归纳(Java基础部分)
  5. Metadata Lock原理2
  6. android脚步---设置layout隐藏属性
  7. Mysql AB复制
  8. Magento — B2C与B2B平台
  9. python tkinter 下拉框_python中tkinter入门之Menu创建顶级菜单、下拉菜单和弹出菜单。...
  10. matlab振动频谱分析是不是要,VB和Matlab混编实现振动信号的频谱分析