在RTC 2018 实时互联网大会上,美图云视觉技术总监赵丽丽分享了美图在短视频领域的AI技术应用,内容主要包括三部分:美图短视频的业务场景,基于此业务场景所作的短视频内容分析和检索技术,以及遇到的问题与相应的解决方案。最后是平台构建过程当中的一些思考。如下是演讲内容整理。算法
欢迎访问 RTC 开发者社区,与更多实时音视频开发者交流经验。
数据库
美图在短视频领域的表明产品就是2014 年发布的短视频应用“美拍”。近几年也出现了一些竞品,好比抖音、快手。近期美拍也在内容上作了从新的调整和定位,主要是美和教程,但愿用户在娱乐的过程当中,也能吸收一些有养分的信息和知识。微信
一个视频所涉及的技术网络
一个视频在它的生命周期内可能涉及到许多处理技术。从2D 和3D 捕获开始,而后是编解码,这个阶段还涉及到传输、存储,而后是编辑与处理,好比剪辑、滤镜美化、风格转化、背景分割。随后是信息提取,包括物体识别、场景检测、人物分析、行为识别、主题提取、事件检测。以上步骤完成后,咱们拿到了海量视频,还要作视频的检索。它有两部分做用,一是经过给定的视频,来检索其中是否有咱们想要的内容;另外一个是经过给定的视频在海量的数据库中检索出类似视频。架构
AI 技术在美图短视频业务中的应用主要两个层面,一是工具层面,二是内容层面。工具
工具层面是用AI 技术对视频进行处理,好比对视频人物的美化,背景的替换,还有视频中人物的瘦身功能。内容层面就是标签化,好比识别视频中的物体,检测视频中的场景,还有对用户行为的一些检测。另外,最重要的是,咱们拿到一个视频以后,能够利用AI 对画质、视频内容是否违规进行检测。咱们提取视频特征以后进行一些视频检索的工做,以这些工做去支撑围绕短视频的业务,包括用户画像、运营、推荐、搜索。性能
基于以上业务需求咱们构建了一个多媒体内容分析和检索的平台,这个平台在基于内容分析算法组建基础之上分为两部分,一是多媒体内容分析平台,它负责分析视频内容特征,并进行标签化。另外一个是多媒体数据检索平台。学习
图:美图短视频内容分析与检索平台应用架构优化
短视频内容分析与检索的技术挑战3d
在拿到一个视频后,如何了解它的内容,这实际上是一个多层面多维度的问题。首先最简单的,咱们看到一个视频后,第一反应是它的色调、纹理、风格、画质如何。再更进一步,咱们须要了解这个视频包含了哪些物体,发生的场景在哪里,有哪些人物特征,包括性别、年龄、特征、服饰,同时这个内容是否违规。另外,还有更深层次的对视频内容的识别、检测,好比学术界较为前沿的研究就是行为识别。这也是美图分析一个视频内容时候会涉及的几个维度。
基于以上业务需求,咱们经过对视频、音频、图象、文本,进行处理,将其传输给多媒体内容分析平台,而后解析出如下四类信息:
基础特征:色调、纹理、风格、画质;
人物解析:性别、年龄、颜值、发型、服饰风格;
商品解析:商品识别、品牌识别;
通用内容解析:视频分类、特征提取、场景分类、角度检测、物体检测、水印检测、封面选取。
基于此,多媒体内容分析平台会提供出标签、特征、索引,以支持业务需求。
短视频数据有几个特色:
视频来源:手机拍摄;
视频形态:竖屏、人物中心化、特效和滤镜化;
视频结构:同个视频内场景固定;
信息维度:多模态信息、画面和背景音频不一致;
数据量大;
内容未知 ;
时效性;
在构建这个平台的过程当中,咱们遇到了一系列问题。总结起来有两个比较关键的问题:
一方面是如何有效定义标签体系。前面提到,标签是这个平台的一种输出形式。咱们须要先肯定输出哪些标签会对业务有所帮助,因此标签的定义很是重要。基于深度学习的算法训练须要有一些训练数据,训练数据中这个标签是怎么制定的,也很是重要。
另外一方面是如何提升模型迭代效率。短视频数据有很强的时效性,好比说两个月前训练的模型,可能两个月后效果已然没那么好了,因此咱们须要有一种机制能快速进行数据标注,替换到线上,稳定支撑业务。
如何有效定义标签体系
咱们有一个热门视频池,运营和产品会手动为一些视频打上标签。你可能会说,咱们能够拿这部分标签作模型训练。若是咱们将业务标签应用于算法会存在哪些问题呢?
一是业务的标签比较抽象,好比可能会制定像搞笑和幽默这样的一些标签。但一个视频是否算搞笑、幽默,没法仅从视觉或声音、语音等一些信息进行准确断定。
举个例子,一个3岁的小孩在哭,父母上传的可能会是一个搞笑的视频,若是是20多岁或者50多岁的人在哭,那就是一个悲伤的视频。
二是训练数据不均衡,上图是咱们拿到的一部分业务标签对应的数据量,由于业务人员在定标签的时候不会考虑每一个类别是什么样的,因此就会出现训练数据不均衡的问题,这个也会影响算法模型的训练。
另外一个问题是类别区分度低。以上图为例,手指舞和自拍,从视觉角度来看没有任何区别,若是训练中强行将其分红两类,也会在训练过程当中影响网络模型的学习,会引发一些噪声。
还有一个问题是标签的维度比较单一。一般一个视频,最多给四到五个维度的标签,再多的话,想全面衡量这个视频会变得很是复杂。
咱们的解决方法是,以业务标签做为指引,拿咱们的视频数据和文本数据(伴随视频的标题、评论相关信息)去提取视频特征、音频特征进行聚类,而后对聚类进行抽象定义,得出相应的视觉标签元素。这个标签元素就是咱们用来训练的标签。最后训练标签输出的结果会反过来映射到业务标签,用这种方法定义的标签是多层级多维度的。
以下图所示,视频中是一个女生,视频中的姿态显示为全身,动做是在摇摆,检测到的音乐风格为摇滚,那么能够判断这个视频是一个美女在自拍,并且在跳舞,属于才艺展现,因而生成的标签就是“美女自拍”、“舞蹈”、“才艺”。这就完成一个算法标签到业务标签的映射。
如何提升线上算法模型的迭代更新效率
这里有三个核心问题:快速的数据标注、有效稳定的模型评估机制、算法运行的性能要有保障。
为了进行快速标注,咱们也用了一个自动的算法标注,这个算法在无监督和半监督的深度学习的论文中被提到过。咱们会预先拿一个通用的数据训练模型,对业务数据进行少许的标注,基于少许的标注数据再训练一个分类器。这个分类器会给其它未标注的进行标注。伴随标签输出会有一些置信度,会把高置信度的数据再拿去进行训练,低置信度的会继续下一次的迭代更新,这个过程会重复屡次。这个过程也会根据任务的难度,加入人工的核验和标注。
美图有一套智能标签化服务模型,这个服务模型分两部分,以下图所示,上面是离线过程,下面是线上过程。线上拿到视频,输入相应的标签或者特征。离线过程当中的自动标注就是上面提到算法标注,会用到自动标注输出的数据和标签进行一个模型的训练。咱们会拿到这个数据进行模型训练,进行模型的评估,评估的时候用的数据也是咱们标注好的一部分验证数据。当评估的准确率达到咱们的域值以后,咱们就认为模型可用了,就会更新到线上。
算法的运行性能,智能视觉分析平台其实包括不少,除了视频以外还有不少其它图象的算法,但相比较而言,视频算法的复杂度较高。这里以视频分类的技术为例,介绍一下咱们是怎么作的。
视频分类大部分分这几种形式。第一种是咱们简单的对视频进行抽帧,使用CNN网络提取一些特征,进行融合,再对最后的结果进行分类。这种方法没有考虑到视频的时域信息。还有一些其余的算法,如上图所示左下方及右侧两种算法。他们都会考虑到视频的时域信息,但缺点是复杂度过高,很难被应用于实际场景中。
通过对短视频的应用场景的测评,第一种方法已经能够作到很好的准确率,相比较其它方案而言,它的时间复杂度也很是低。
在视频分类方面,美图也有一些前沿的研究成果,咱们跟中科院合做提出一个基于类脑智能的无监督的视频特征学习和行为识别的方法。
业界、学术界,有不少种模型,但在实际业务场景中,看似庞大的网络,其效果却不必定那么理想。更重要的是,对于咱们来讲,怎么能从海量的业务数据中抽取最关键、最重要的数据,用来训练出一个适用于业务场景的模型。咱们也在多媒体内容分析平台的构建中总结了几点,咱们认为有三个信息很是重要:
推理服务:一方面对得到的数据进行推理分析,另外一方面对完成训练的模型更新上线;
数据服务:提供用于模型训练的标注数据,其核心模块是算法自动标注;
训练服务:它包含训练触发模块,会按期更新模型训练。
前面提到的都是咱们进行一个内容分析,大部分以标签输出为主。其实用标签描述事情是存在一些问题的,一个是时效性,上图是咱们分别在3月和8月总结出的一部分标签体系中的标签变化,其实差异仍是挺大的。第二个问题是不完备。想用标签去描述一个视频或一张图片的话,须要很是多的维度。若是咱们在进行视频的检索,在搜索的时候想比较两个视频的类似度怎么办?若是用标签的话就很是难。
上图是视频检索的流程,是将2003年谷歌提出的文本检索的过程应用到视频的检索方案。它包括两部分,一是构建目标检索库,二是检索。获取到一些视频后,从视频中抽取帧,对这些帧图象提取特征,进行聚类,而后去构建视觉词表。
特征对比有有类,二进制特征和浮点特征,有各自的优缺点。二进制特征一个比较大的优势是存储高效、距离计算高效,缺点是可表征的范围比较小。浮点特征欧式距离、抗极值干扰,距离表征值比较大,理论上讲是从零到无穷的。
上图咱们一个简单的思路。咱们会基于前面构建的多层次的变向体系,用多级的标签指引这个网络进行学习。另外会用 triplet loss,对同一个视频,咱们会抽取5帧,而后在不一样的时间段再抽取5帧,这样造成一个正样本对。从一个视频和其它视频组成负样本对,让他学习到什么样的信息才是视频特拥有的特征。
上图是一个短视频类似检索服务的架构,左边是离线模块,右边是在线模块。离线是批量训练,生成哈希值。
总结
在这个平台建设过程当中咱们也遇到一些问题,也有一些思考。主要是这几点:
AI让多媒体技术有了更大的应用空间,视频领域仍有大量业务场景须要AI助力;
数据还是当前阶段AI算法有效落地的核心元素,越接近业务场景,领域数据的重要性越明显;
通用算法技术的做用在弱化,须要结合具体业务场景深刻优化;
技术领域须要进行持续探索,算法性能问题、细粒度语义理解、互联网多媒体内容智能交互等。
扫码观看演讲视频回顾
想获取更多演讲资料,了解更多 RTC 技术干货,欢迎关注「声网Agora」微信公众号