对于一家在线视频服务公司来讲,理解视频的内容其重要性不言而喻。只有深度理解用户观看的内容到底是什么,才能更好地给用户提供个性化的内容推荐、更好的交互体验等产品服务。

Hulu自2016年开始系统性地在视频内容理解方面展开研究,从视频切分、人工合成元素抽取、视频标签生成、精彩片段分析等等课题入手,通过构建AI系统平台来支撑视频数据的生成和处理,在对业务及产品的支持方面也多有探索,从中也积累了一些经验。

Hulu首席研究主管、视频内容理解和创新孵化团队负责人谢晓辉在ArchSummit全球架构师峰会2018北京站上分享了Hulu在视频内容理解领域所作的探索和应用,以下是他演讲的全部内容。

演讲主要分为四个方面。首先会对Hulu上的视频内容的特点做简单介绍;同时讲一下Hulu为什么要去做这件事,以及做这件事所面临的一系列挑战是什么;然后介绍Hulu内部对视频内容理解的支持和与此相关的技术架构调整;在这个基础架构的支持下,我们做了很多研究尝试,今天会给大家详细分享,在最后还会选择其中两个比较典型的例子给大家做介绍。

Hulu是一家全美资的公司。Hulu拥有较多的高质量电影和电视剧,还有电视直播;这种电视直播不是简单的把电视信号搬到网上,Hulu采取了一种创新的方式来处理电视的直播信号,通过把Live流做拆分,使得电视里面的许多内容,用户也可以像VOD一样去进行点播。

Hulu背后的母公司包括COMCAST、迪斯尼、福克斯,还有时代华纳。除了这几家母公司给Hulu提供强大的内容支持之外,有超过五百多家的内容合作伙伴给Hulu提供精彩视频内容,与此同时Hulu还有超过一千家的广告商合作伙伴。有这么多的内容提供商给我们提供内容,如何控制内容信息的质量,是一个潜在的挑战。

对于Hulu来说,希望用户来到这个内容平台,可以一站式消费高质量的影视剧。Hulu目前支持的Live流超过一百多个,拥有的电影电视剧集超过三百万。这些视频的数量是非常丰富的,可能做深度学习的同学们都会非常高兴看到我们有如此多的数据。

为什么要做视频内容理解?

在AI的大潮之下,Hulu除了拥有的这么多的数据之外,还有下面一些做内容理解的原因分享给大家。

\"image\"

上面左边第一幅图是思科做的一个调查,视频作为互联网上的主导因素,每年还都在以一个非常大的速率增长。其次,图二是李飞飞在17年CVPR 上对ImageNet竞赛的一个总结,在深度学习技术的支持下,对图片分类和物体检测方面是有突破性提升的,Top5的分类错误率一直在下降。另外一点,我们当时也观察到,整个业内有很多公司已经把注意力由图片聚焦到了视频,尤其是以Google为领先。在16年的时候, Google发布的Youtube 8M,微软的MSR VTT等,同期还有很多大学也发布了许多视频数据,例如国内复旦大学的FCVID-LSVC数据集等。

以上是外部的一些因素,从Hulu内部来讲,也有非常多实实在在的产品或者业务需求。最为典型的例子,Hulu作为一家在线影视服务公司,最核心的一个问题,就是虽然拥有那么多的视频资源,如何快速准确的在有限的展示空间下推送给用户。Hulu的用户,无论是用手机也好,或者用Web端也好,还是在家里用电视也好,他所能浏览和观看的展示窗口是非常有限的,这主要是因为多媒体资源的展示通常都是通过图文混排的方式,而图文混排在UI上是非常占面积的。一个用户通常在浏览大概几十个这种图文混排的介绍之后,他就不太愿意再往下翻页了。

因此,一套好的推荐系统对Hulu的重要性是不言而喻的,之前的推荐系统算主要是基于对用户观影行为分析的协同过滤方法,并没有利用太多用户所观看的电视剧里面的内容信息。虽然算法有时也会考虑利用一些简单的分类标签,但实际上这距离准确理解用户真实的观影兴趣是远远不够的。我们可以回想一下看电影的整个过程,看之前或许会聆听其他人的推荐意见,但当我们真正看完一部电影,一定是心潮澎湃或是有非常多个人想法的。无论是吐槽也好,感慨也好,你会发现这些感慨和他人推荐给你的理由没有太多关系,这些感慨更多的是来自于丰富的电影信息和元素对我们的视觉和情感上的冲击。如果我们可以准确的提炼这些信息,那么用户的观看行为则可以退居次要的地位。

视频内容理解技术的挑战

如上所述,有多方面的理由支持去做视频内容理解。但这里面同样面临很多挑战,我列了一下四个方面跟大家解释。

\"image\"

一方面,尽管Hulu现在拥有超过两千多万的付费用户、数百万的视频资源,但大多数的数据并没有标注,对于机器学习以及深度学习来说,没有标注的数据,很多算法模型基本上是很难设计和优化的。

其次,与国内很多AI公司做视频分析或视频理解不同,比如视频监控,视频数据都来自于真实的场景。但是对于Hulu来说,除了一部分真实场景的体育或新闻视频,大量视频节目发生的场景是虚拟的,例如卡通片、科幻片,包括一些怪物的形象、化妆或者带面具的人等,整个视频也是要给大家塑造一种非常新奇或者玄幻的感觉,这些影视剧中场景是虚构的,里面的元素是新奇的。这对于擅长目标识别和分类的AI算法来讲是一大挑战,这些场景和新奇元素的数据量通常非常稀少且不易标注,导致非常难准确的处理。

第三,关于技术的难与易。如前面提到的,尽管深度学习给计算机视觉领域带来了翻天覆地的变化,但这种变化很多是发生在图片级别,当我们把这个问题延伸到视频领域的时候,发现问题并没有被很好地解决。例如,检测这个视频里发生了一个什么样的事件,讲了一个什么样的故事,传递了什么样的情感,这个问题到目前为止都没有很好的解决方案,恰恰这些信息对个性化推荐又极为重要。

第四,作为一家在线视频服务公司,每年会花费巨额资金去购买影视剧。如果它少买一部剧,节省下来的钱,有时甚至可以买一个创业公司了。那么Hulu有没有冲动去买技术买数据,放弃自己研发呢?对于这个问题,我们的结论是,Hulu肯定需要在某些数据和技术上实现自研。原因很简单,因为AI的很多技术是深度绑定业务逻辑的,这意味着技术架构的升级和更新。单纯买技术,意味着公司可能会滞后于技术升级换代,而且很难和Hulu的产品深度融合。

为了更好的支持视频内容理解方面的工作,Hulu内部也做了一些技术架构上的调整。有多个开发团队参与来构建AI的基础架构。我们在Hulu内部构建了一个AI平台,大体上可以用三句话来解释:共享的数据和存储,共享的特征和共享的算法模型。

\"image\"

另外,视频的内容理解需要一套自动化的流程,从内容提供商提供的新视频到达Hulu开始,触发AI算法生成数据,到数据接入Hulu视频处理的pipeline,服务于终端用户。如上图最左边,在一个新的视频到达Hulu做转码之前,我们会触发在AirFlow上运行的一个Job,然后通过Nimbus(Hulu内部的 PaaS服务),触发AI的算法调用;最右边的FrameHouse支持把Hulu所有视频做秒级别的帧拆分和存储;通过AI算法引擎生成的数据最终会存储在以内容数据为中心的数据库。

Hulu的视频内容理解工作

在讲完内部架构的支持之后,来到今天我分享的重点,我来介绍一下Hulu在视频内容理解方面的主要工作和尝试。简而概之,我们这两年的研究重点是视频元数据的生成,其中又可以把它分成三大类:

  • 第一类是视频的精细化切分。一个高质量的影视剧视频里面会包含很多人工编辑的元素或者痕迹,例如,镜头拼接的边界、场景的边界,片头、片尾、背景音乐等等,我们首先需要把视频进行拆分,找到视频中人工编辑或添加的视频元素。

  • 第二,在对视频做了精细化切分之后,会对切分出的视频片段进行理解和自动标注,并对部分内容做视频级别的标注。

  • 第三,基于对数据的充分理解和标注,我们在内容生成方面做了部分尝试,包括生成各种Thumbnails,找到视频非常精彩的地方,合成视频摘要,亦或用AI算法生成一些音乐、avatar等内容。

我接下来会详细讲我们在这块做的一些工作,最后还会再举两个例子,具体解释视频内容理解和元数据的提取是怎样提升业务性能,扩展业务能力的。

\"image\"

精细化切分

第一件事情是精细化切分。依照人工编辑的元素或者痕迹把一个高质量的影视剧视频拆开。这些元素或者痕迹包括,电影电视的分级标记,片头片尾、镜头边界、烧录的字幕、背景音乐,文字信息等等。有一些元数据内容提供商会跟踪视频内容一并发送给Hulu,但这不意味着不需要用算法再次处理,如之前提到的,Hulu拥有超过500家的内容提供商提供内容,元数据的缺失、质量不一致的问题是普遍现象。例如下面的片尾检测例子:

  • 片尾自动检测

\"image\"

国内有些公司可能是通过人力来标定片头片尾的数据,但是在美国,人工的成本是非常高的。同时在Hulu的平台上,单靠内容提供商提供的片尾标记的数据的准确率也是非常低的,5秒的误差范围内准确率只有百分之六十多,Hulu需要耗费大量的人力去审核这些元数据。

因此我们首先想到是否可以用机器来自动检测片尾的位置。片尾实际上包含多种情况,最简单的片尾可能只是一个滚动的字幕,背景单一;稍微复杂一点的是由各种各种各样的Logo组合起来的片尾;还有一种情况则是内容和字幕混排一起出现;比较难处理的情况是内容还在播放,字幕是直接覆盖在内容的上面。经过仔细讨论和分析,我们最终设计了一套基于深度神经网络的方法,对每一秒级别的视频帧做检测,最后多帧融合,最终大家可以看到我们提出的Hybrid Deep CNN算法模型取得的片尾检测准确率是非常高的。

  • Logo检测

\"image\"

另一个例子是检测视频里面的logo,如上图所示。Hulu面临的挑战是,如何快速的把数百个logo准确的检测出来。这在Hulu有实际的使用场景,原始的从内容提供商提供的视频文件通常是没有channel logo的,Hulu根据获得授权在不同channel播放时临时插入对应channel logo。但实际产品环境下,我们发现内容提供商提供的视频有大约10%已经把logo烧录进去了,如果此时Hulu再在上面插入logo,给用户带来的观看体验是非常差的。同时审核一个视频是否带有logo的代价也非常高,logo会出现在视频的任何一个位置,需要人工从头到尾把视频快速地过一遍,才能知道这个视频里有没有已经烧录进去的logo。

我们在MobileNet上结合SE模块,并采用反卷积SSD,来检测logo是否出现以及出现的位置,并通过多帧的结果融合最终给出判决。在这个算法框架之下,我们还增加了一个基于传统方法的logo预测模块,用来预警未加标定的新的live channel的logos。当一个算法从来没有见过的Logo出现时,我们会给内容审核员发送提醒。

  • 音乐检测和分类

\"image\"

还有一个比较有意思的例子是检测影视剧中出现的插曲,Hulu的视频内容质量都比较高,这意味着视频的插曲通常也非常好听,很多人在看完视频之后,会频繁地回过头来复听那首插曲。我们的方法是首先把音频做秒级别的切分,将音频片段做频谱分析,通过CNN对是否是音乐做判断,最后在时序上找出完整的插曲片段;我们还会对检测出来的插曲做分类,比如它是爵士乐,还是乡村音乐;同时我们也会评估电影里插曲的质量,有一些视频里虽然有好听的音乐,但是因为演员可能正在大声说话或者有非常嘈杂的其它声音,这些音乐会被检测出来并剔除出去。刚才播放的两首音乐,第一首音乐是清唱的声音,这说明CNN网络学习到了音乐和歌唱的特点而并非只是学习到了乐器的特有音律。

视频标签

讲完视频的精细切分之后,我们做的第二件事情就是对切出来的视频,从镜头或者场景级别给它打标签做分类。如同之前提到的挑战,尽管Hulu内部会做一些标注,同时也会利用第三方的公司帮我们标注,但是这个数据量还是远远不够的。因此我们也会借助一些学术界的公开数据集,通过transfer learning把模型的结果在Hulu的数据集上fine tune,并做进一步的算法加工去做标注。

\"image\"

上图是一个示意图,每个算法可能运行在不同的数据集上,并可能只能处理某一类标签,这些标签结果会将其映射到Hulu自己定义的分类系统上,最终经过算法质量评估、标签融合和算法融合生成一个最终标签结果。

\"image\"

上图是一个更细致的处理流程。首先第0步是公司内部定义了一套Hulu自己的分类标签系统,这个分类系统可以尽量涵括现在及未来可能的产品、开发以及数据分析团队的需求。有了标签系统之后,当我们在某个特定数据集上设计并训练得到一套还不错的算法时,比如说基于Places365,我们首先需要把Places365本身的标签列表映射到Hulu的分类系统上,这样做的目的是避免不同标签列表带来的同义词、语义相关等问题,并对后期的特征融合提供支持。

每一个加入到系统中的新算法,都需要一个算法评估模块,这主要是由于算法迁移到Hulu影视剧的场景下后,算法的整体性能可能会下降,有很多标签的识别效果变差,我们需要知道算法整体的质量,并衡量和评估其每个标签的识别质量到底如何,应该以怎样的方式去融合该算法的识别结果。同时,当系统有多套算法生成结果时,我们还需要去做多算法源、多模态的信息融合。比如来自视觉、音频和对话(字幕)均分别检测出有枪、枪声和枪杀等相关标签,那么如果判断该场景下标签“枪击”的置信度。

目前我们这套系统已经解决了镜头和场景级别的标签生成问题,从镜头级别提升到场景级别,再提升到视频级别,我们还需要另外一套标签和分类系统。通常镜头级别的标签比较偏事实和描述性的标签;视频级别则通常是比较偏重于剧情,或者偏重于情感的标签,这种标签从底层的事实描述性标签提升上来,是一个非常难的问题,因为这里可能存在语义上的鸿沟。

在开始报告的时候也提到过语义鸿沟的技术挑战,Hulu目前也有一些早期的研究工作,如何基于视觉的理解生成视频级别的标签。这里给大家看一些初步的结果。经过大量的后处理工作,可以看到,一些documentary类型的节目,还有比如主题明确的一些节目,例如音乐选秀、饮食的、球赛、新闻等等的结果还是非常不错的。

\"image\"

给大家看几个例子,图片中蓝色的是美国一个比较大的第三方数据公司提供的标签,它的数据主要是人工标注的,用来做参考。下面绿色的标签分成两类,第一种是基于字幕和文字信息,一种是纯粹基于视觉的结果。最左边是一个厨艺比赛的节目,右边是一个动画片,下面是一个美国橄榄球赛的结果,看起来质量生成的标签还说的过去。

内容生成和视频摘要

在对视频做完标签以后,我们第三件重要的工作,就是做内容生成。目前主要集中在如何找到视频精彩的地方。比如,Hulu上非常多的运动类节目(如篮球、足球、冰球等)为例,我们怎样才能快速找到各种精彩瞬间,同时可以在进度条上给用户提示。在运动类节目上,我们主要的方法主要是通过对回放的检测,结合比分牌、欢呼声、特定的动作等等特征的检测,找到真正精彩的地方。

\"image\"

对于影视剧如何找到精彩的瞬间呢?由于每个人对精彩的定义不尽相同,我们会针对视频的内容找到多种类型的精彩瞬间,例如故事要点,视频里紧张的场景或者动作,主角出现的场景,重要的对白等等。这些片段的抽取也使得我们可以去做个性化的推荐。因为不同的用户喜欢看的精彩片段可能不一样,比如女孩喜欢看一些非常感性的场景,男孩可能更喜欢看一些动作比较多的场景。

内容生成还有一些有意思的应用场景,比如我们有一个研究基于AI算法生成avatar的例子,你昨天晚上看了一部电影,你非常喜欢里面的一个主角,电影里他有些非常酷的动作,那么当你第二天登录Hulu的时候,你可以看到一个avatar的形象,同时在模拟主角的某个动作,可以给你带来很多的回味。

内容生成还有一些比较实际的例子,个性化的视频封面。我们有那么多内容提供商,每个内容提供商在提供视频的时候,也会同步提供很多的封面图供Hulu使用,但这些封面图通常已经被加上了文字、片名等信息。由于Hulu有自己的UX风格和布局,整个封面图会有非常多自定义需求,比如什么位置最好不能出现人脸,什么位置可能会放置文字,如何剪裁比例看起来相对协调一些,如何保留图片的用户焦点区域等,还需要考虑到在不同的设备下的UX需求,AI算法是这方面的专家,因此我们内部还设计了一套可以自动生成封面图的方案。

实践案例

讲完前面的三个方面的工作之后,下面我举两个实例具体解释视频内容理解和元数据的提取可以怎样提升业务性能,扩展业务能力的。

\"image\"

第一个例子是Contextual Ads,如上图所示,可以理解为上下文相关的广告。在Hulu对应着三种具体的使用场景:

  • 第一种场景是指,广告商可以target其广告到特定的视频场景,比如防晒霜广告可能喜欢阳光沙滩等相关场景。

  • 第二种场景是指,广告商可以避免target其广告到某些视频场景,比如保险公司可能并不希望在视频里有车祸场景时推送人身保险的广告,以避免负面的用户体验。

  • 第三种场景是指,在某些视频内容中避免推送特定的类型的广告。这主要是部分Hulu的内容提供商在提供内容的同时会附带一些条件,比如ESPN不允许在它的channel推送任何和运动相关的广告。再比如Source Park,这是美国的一部成人卡通片,它要求Hulu不能够在上面插播任何与政治相关的广告。因此我们不仅需要视频内容的场景标签,还需要对广告视频进行标签分析,在满足多方面要求的情况,寻求更好的广告branding效果。

\"image\"

第二个例子,叫Content embedding,这也是我们公司内部一个比较成功的项目之一。前面提及推荐系统对Hulu的重要性,那么内容理解如何服务于推荐系统也是我们一直以来认真思考的问题。我们希望把内容相关的信息有效的利用起来,这些信息可以是各种标签数据,包括演员谁、导演、摘要描述、字幕、以及一些Hulu买入的第三方标签数据,还有从视频内容中提取的部分标签,我们通过Graph embedding的方法把所有元数据揉成一个vector,通过这个vector可以快速判断视频内容的相似性,并与推荐算法进行了深度融合。

在视频理解领域,除了做这些与Hulu业务场景十分相关的应用之外,Hulu也在希望通过公开部分数据和Hulu面临的挑战性研究问题,推进在视频内容理解方面的相关研究工作。我们在2017年的ICIP、2018年的ACM Multimedia上,分别举办了基于内容理解的视频相关性竞赛,公司把研究问题、清洗过的数据公开出来,并期望与各个高校的老师、同学们以及我们的同行们大家一起来攻克这些研究难题。

嘉宾介绍

谢晓辉,Hulu首席研究主管,视频内容理解和创新孵化团队负责人,具有18+年算法研发创新和管理经验。专注于模式识别、图像视频文本等多媒体信息处理,对人工智能、人机交互领域的研究以及成果落地和产品化有丰富经验,拥有100+相关专利申请,学术论文近20篇。本科毕业于西安交通大学实验班,北京邮电大学取得模式识别领域博士学位。曾先后就职于松下电器研发中心、诺基亚北京研究院、联想研究院。主导研发的手写计算器曾作为诺基亚旗舰机N97首发的市场卖点之一,在Lenovo主导研发了Horizon桌面PC的创新手势交互算法,荣获CES数项大奖等等。

\"image\"

视频内容理解在Hulu的应用与实践相关推荐

  1. 短视频内容理解与生成技术在美团的创新实践

    点击上方"LiveVideoStack"关注我们 美团围绕丰富的本地生活服务电商场景,积累了海量视频数据.如何通过计算机视觉技术用相关数据,为用户和商家提供更好的服务,是一项重要的 ...

  2. 视频内容理解在手淘逛逛中的应用与落地

    随着多媒体技术的发展,直播.短视频.AR等多媒体内容表现形式层出不穷,异彩纷呈.视频内容的理解在视频生产感知,理解分发中有哪些应用,为淘宝电商带来哪些影响?本次LiveVideoStackCon 20 ...

  3. 林绪虹:看好QoE、音视频内容理解与AV1

    还记得你在大学时候的梦想吗?职场上打拼多年,你的工作领域与你之前的专业还有多少相关?技术.行业与时代的洪流将一些人推上人生巅峰,又把一些人无情的拍向谷底.LiveVideoStack邮件采访了YY音视 ...

  4. 今日头条新出算法大赛!短视频内容理解与推荐竞赛

    点击我爱计算机视觉标星,更快获取CVML新技术 背景介绍 近年来,机器学习在图像识别.语音识别等领域取得了重大进步,但在视频内容理解领域仍有许多问题需要探索.字节跳动公司旗下的TikTok(抖音海外版 ...

  5. 腾讯招视频内容理解算法研究员/高级研究员30W-60W

    前两天发布了有关腾讯的图像算法实习生招聘(腾讯内容平台部-视频内容理解算法实习生),有朋友问社招有没有职位,虽然寒冬,但企鹅家还是有名额的,欢迎大家投递- 腾讯内容平台部-视频内容理解算法研究员/高级 ...

  6. 2020AI顶会的腾讯论文解读 | 多模态学习、视频内容理解、对抗攻击与对抗防御等「AI核心算法」

    关注:决策智能与机器学习,深耕AI脱水干货 报道 |  腾讯AI实验室 计算机视觉领域三大顶会之一的 ECCV(欧洲计算机视觉会议)今年于 8 月 23-28 日举办.受新冠肺炎疫情影响,今年的 EC ...

  7. 大规模视频内容理解:淘宝视频内容标签的结构化分析和管理

    关注公众号,发现CV技术之美 本文转载自淘系技术. 淘宝视频是如何分类的?又是如何保持不同类别视频样本得到相对均衡?又是如何应用的? 背景介绍 随着5G时代的到来,视频内容形态迸发出勃勃生机,各大短视 ...

  8. 视频内容理解核心技术解密:Partial re-ID 在成片体检中的技术实践

    作者 | 阿里文娱高级算法工程师 朔衣 责编 | 李雪敬 头图 | CSDN下载自视觉中国 引言 人物重拾(Person Re-identification,简称为re-ID)是一项在现实世界非常具有 ...

  9. 腾讯内容平台部-视频内容理解算法实习生

    点击我爱计算机视觉标星,更快获取CVML新技术 工作职责: - 负责挖掘和提取视频相关特征(图像.语音.文本等维度): - 参与视频标签.视频水印识别.视频embedding等算法模型设计及优化: - ...

最新文章

  1. MVC+Ninject+三层架构+代码生成 -- 总结(四、數據層)
  2. Could not apply the stored configuration for monitors 解决办法
  3. springboot util 测试类怎么写_SpringBoot入门建站全系列(九)文件上传功能与下载方式...
  4. vim 编程常用的指令和快捷键
  5. socket初级使用(客户端)
  6. opencv-api erode
  7. 关闭ArcGIS9.3时 .NET Framework出现尝试读取或写入受保护的内存问题
  8. 语义模型及自然语言处理系统基础算法
  9. 获取当前时间---年月日时分秒------iOS
  10. 190611每日一句
  11. TimesTen Classic 18c 卸载 (uninstall)全过程
  12. 聊聊那些知识管理软件
  13. 图像生成质量fid、inception score、KID计算
  14. ffmpeg命令分析-b:v
  15. html谷歌浏览器实现自动播报语音,vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法...
  16. matlab中dcd是什么,dcd是什么意思
  17. PHP图书信息表books,创建一个图书表
  18. 第二次作业:微信实例分析
  19. PID和TID之间的区别
  20. 【No7.】Android 像素转换工具

热门文章

  1. bestcoder Delete
  2. 转 性能分析工具汇总
  3. smokeping部署安装
  4. cross product
  5. 分享:几款代码混淆器(DotFuscator, .NET Reactor, xenocode)
  6. 【原】网页程序学习Linux利器-----jsuix
  7. 未定义的引用_Rust 引用和借阅
  8. python判断对象是否实例化_python中如何判断class当前有哪些实例?
  9. Ubuntu16.04使用的问题和解决方案集锦
  10. 图解TCP数据报结构以及三次握手(非常详细)