更侧重工业的应用:PRCV2018美图短视频实时分类挑战赛冠军技术方案

2018 年 11 月 30 日 极市平台

极市平台是专业的视觉算法开发和分发平台,加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流点击文末“阅读原文”立刻申请入群~

作者:史磊(知乎号:LShi)


队伍介绍

队名:CASIA-AIRIA。

队员:史磊(博士在读),程科(博士在读)。

指导教师:张一帆副研究员。

单位:中国科学院自动化研究所,中国科学院自动化研究所南京人工智能芯片创新研究院。


竞赛介绍[1]

今年5月,美图公司联合中国模式识别与计算机视觉学术会议(PRCV2018)共同举办的PRCV2018“美图短视频实时分类挑战赛”正式开赛。来自中科院自动化所、中科院自动化所南京人工智能芯片创研院的史磊、程科在张一帆副研究员的指导下获得了PRCV2018「美图短视频实时分类挑战赛」冠军。不同于以往只关注分类精度的比赛,本竞赛综合考察“算法准确率”和“实时分类”两个方面,将运行时间作为重要指标参与评估,将促进视频分类算法在工业界的应用。以下是冠军团队对本次挑战赛的技术分享总结:


数据集介绍

本次竞赛使用的短视频数据集(MTSVRC数据集)一共有100,000个视频,其中训练集有50,000个视频,验证集和测试集分别有25,000个视频。视频主要以短视频为主,长度约为5 - 15s。数据集包含50个分类,视频类别包括舞蹈、唱歌、手工、健身等热门短视频类型,除了包含与人相关的一些行为类别,还有一些风景,宠物等类别。图片 1展示了一些数据样例:

 

图片1 数据样例


由于这些数据的主要来源为手机拍摄的日常视频,视频的大小,形状以及拍摄条件(例如光照,景深)等都不统一,造成了很大的类间差异与类内差异。同时,由于后期处理,视频经常会有一些特效和与类别无关的文字,也增加了视频识别的难度。图片 2展示了一些困难样例,这些样例对模型的设计带来了很大的挑战。

 

图片 2 困难样例


评测方法

由于竞赛同时考虑时间和精度,所以以往的分类误差不足以评测模型性能。图片 3展示了此次竞赛所用的评测方法。

 

图片 3 评测方法


其中橙色的三角形是官方提供的基准时间和误差,只有优于基准方法的成绩才被视为有效成绩,而其他成绩(黑色三角)则被视为无效成绩。时间和误差会根据基准成绩归一化到0-1之间。在有效成绩中,会找出最小误差和最短时间的两个成绩(绿色三角形和红色三角形),然后最小误差和最短时间会组成一个参考点(蓝色圆圈)。最终所有的有效成绩都会和参考点计算距离,距离最短的方法视为优胜。从评测方法分析,时间和精度都是很重要的因素。而时间和精度往往是矛盾的,所以必须进行一定的取舍。


视频解码

因为时间是一个很重要的因素,而视频解码又是一个很费时间的过程,所以如何设计解码模块是本次竞赛中的一个关键。我们采用了多线程软解提取关键帧的方法。


主流的视频编码方式中,每个视频主要包含三种图片帧,分别叫做:Intra-coded frame(I帧),Predictive frame(P帧)和Bi-Predictive frame(B帧)。其中I帧是一张完整的图片。P帧记录了与之前的帧的差别,所以在解码P帧时必须要参考之前的图片帧。而B帧不仅需要参考之前的图片帧,还需要参考之后的图片帧才能完整解码。图片 4阐明了这三个概念[2]。

 

图片 4 I帧,P帧与B帧


显而易见,P帧和B帧的解码是相对较慢的,而直接解码I帧则可以获得更快的速度。同时,由于我们需要解码不止一帧,所以我们采用了多线程的方式,每一个线程负责解码一个关键帧。整个解码过程使用FFmpeg实现。


模型设计

解决了解码问题后,接下来的问题在于如何用所得的多帧来进行分类。


主流方法

目前主流的视频分类的方法有三大类:基于LSTM的方法,基于3D卷积的方法和基于双流的方法。图片 5展示了这三种框架的大体结构[3]。


  • 基于LSTM的方法将视频的每一帧用卷积网络提取出每一帧的特征,然后将每一个特征作为一个时间点,依次输入到LSTM中。由于LSTM并不限制序列的长度,所以这种方法可以处理任意长度的视频。但同时,因为LSTM本身有梯度消失和爆炸的问题,往往难以训练出令人满意的效果。而且,由于LSTM需要一帧一帧得进行输入,所以速度也比不上其他的方法。


  •  基于3D卷积的方法将原始的2D卷积核扩展到3D。类似于2D卷积在空间维度的作用方式,它可以在时间维度自底向上地提取特征。基于3D卷积的方法往往能得到不错的分类精度。但是,由于卷积核由2D扩展到了3D,其参数量也成倍得增加了,所以网络的速度也会相应下降。


  • 基于双流网络的方法会将网络分成两支。其中一支使用2D卷积网络来对稀疏采样的图片帧进行分类,另一支会提取采样点周围帧的光流场信息,然后使用一个光流网络来对其进行分类。两支网络的结果会进行融合从而得到最终的类标。基于双流的方法可以很好地利用已有的2D卷积网络来进行预训练,同时光流又可以建模运动信息,所以精度往往也很高。但是由于光流的提取过程很慢,所以整体上制约了这一方法的速度。

 

图片 5 主流的视频分类的方法


综上所述,主流的方法都不太适用于短视频实时分类的任务,所以我们特别设计了一个适用于短视频实时分类的框架。


我们的方法

图片 4展示了我们的解决方案的整体框架:给定一个视频,我们首先会从中稀疏采样固定数量的图片帧,然后将这些帧组成一个batch,送入到一个BaseNet中。这个BaseNet是在已有的2D卷积网络基础上优化改进得到的,具有较强的特征提取能力。BaseNet输出的高层的特征往往具有很强的语义信息,但是却没有时间上的融合。所以我们特别设计了一个基于帧间注意力机制的融合模型,将BaseNet提取的不同帧的特征作为一个输入送入融合模型中,最终由融合模型得到预测的结果。由于融合模型比较小,推理速度很快,而且参数量较少,也比较容易训练。整个模型在mxnet上进行构建和训练。基于这样的设计,我们的模型可以得到很快的推理速度,同时又不会损失太多精度。

 

图片 6 整体框架


模型压缩

当有了训练好的模型后,为了进一步提高速度,模型压缩是必不可少的。因为计算平台是GPU,所以我们使用了两种比较适用于GPU的方法:剪枝和量化。


模型剪枝

由于需要在GPU上运算,这里我们主要考虑在通道维度的剪枝。假设卷积的参数是具有稀疏性的,我们剪掉其中一些不重要的参数,网络仍然可以达到之前的精度。

 

图片 7 剪枝


剪枝过程分为两步:首先,我们会基于LASSO回归来找到每一层中最具代表性的通道,然后将没用的通道去掉,再使用平方差损失微调剪枝后的网络来最小化重构误差。这样的操作会对每一层分别进行,经过几轮迭代后便可以达到不错的压缩效果,同时还可以保证精度不会损失太多。


模型量化

由于比赛提供的GPU是支持int8计算的,所以我们考虑将原来的基于float32数据类型训练的模型转换为int8的数据形式进行推断,也就是量化操作。这里我们采用的比较简单的线性量化,也是TensorRt中使用的方法[4]。

 

图片 8 线性量化


假设每个张量的数据符合均匀分布,那么其中的每一个元素就可以表示为一个int8数和一个float32的比例因子相乘的结果。比例因子是对于整个数组共享的。这样在张量间进行相乘运算时就可以先进行int8的计算,最后再统一乘上比例因子,从而加快运算。那么接下来的问题在于如何确定比例因子,比例因子的作用是将原始张量的数值范围映射到-127到127(int8的数值范围)。由于大多数情况数据并不是完全的均匀分布,所以直接映射会造成精度损失。

 

图片 9 基于阈值的线性映射


为了解决这个问题,TensorRt中会对每一层的数据分布进行统计,然后根据得到的分布确定一个阈值(如图片 9)。在映射的过程中,阈值之外的数会被统一映射到-127和127之 间,阈值之内的数据会假设为一个均匀分布然后进行映射。这样就可以保证在加快速度的同时也不至于有较大的精度损失。


总结

我们的解决方案可以归纳为三个部分:视频解码部分,我们采用了多线程提取I帧的方式。模型设计部分,我们采用了稀疏采样与帧间注意力融合的方法。模型压缩部分,我们采用了通道剪枝和量化的方法。最终我们的解决方案在测试集上的速度为平均每个视频58.9ms,精度为87.9%。


参考文献

[1]“AI Challenge | Introduction.” [Online]. Available: https://challenge.ai.meitu.com/mtsvrc2018/introduction.html. [Accessed: 21-Nov-2018].

[2]“視訊壓縮圖像類型,” 维基百科,自由的百科全书. 08-Jul-2018.

[3]J. Carreira and A. Zisserman, “Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset,” in The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.

[4]S. Migacz, “8-bit Inference with TensorRT.” [Online]. Available: http://on-demand.gputechconf.com/gtc/2017/presentation/s7310-8-bit-inference-with-tensorrt.pdf.

 




*推荐文章*


每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流点击左下角“阅读原文”立刻申请入群~


登录查看更多
4

相关内容

  中国科学院自动化研究所(以下简称自动化所)成立于195610月,是我国最早成立的国立自动化研究机构和最早开展类脑智能研究的国立研究机构。自动化所同时是中国科学院率先布局成立的“人工智能创新研究院”的总体牵头单位,“脑科学与智能技术卓越创新中心”的依托单位之一,也是国内外首个“人工智能学院”牵头承办单位,具有从智能机理、智能芯片、智能算法到智能系统完整的学科分布和优势领域。    

  六十多年来,自动化所为我国国民经济建设、社会进步、科技发展和国家安全做出了重要的贡献。建国发展初期,自动化所开拓了我国的控制科学,为“两弹一星”做出了历史性的贡献;改革开放年代,自动化所开创了我国模式识别智能信息处理的新领域;1990年代,自动化所以控制科学为基础,率先布局了人工智能研究;2010年起,自动化所率先布局类脑智能研究;2018年,自动化所开启自主进化智能研究的新格局。 

  自动化所现设科研开发部门14个,包括模式识别国家重点实验室、复杂系统管理与控制国家重点实验室、国家专用集成电路设计工程技术研究中心、中国科学院分子影像重点实验室、脑网络组研究中心等科研部门。还有若干与国际和社会其他创新单元共建的各类联合实验室和工程中心。 

  2018年底,自动化所共有在职职工898人。其中科技人员696人,包括中国科学院院士2人、发展中国家科学院院士1人、研究员及正高级工程技术人员103人、副研究员及高级工程技术人员221人;共有国家海外高层次人才引进计划(“千人计划”)入选者1人,青年千人计划入选者1人;中国科学院“百人计划”入选者23人(新增2人);IEEE Fellow9人(新增3人);国家杰出青年科学基金获得者14人,“万人计划”入选者11人(新增5人);百千万人才工程入选者10人,科技部中青年科技领军人才5人(新增3人),国家优秀青年基金获得者5人。 

  自动化研究所是1981年国务院学位委员会批准的博士、硕士学位授予权单位之一,现设有控制科学与工程等1个一级学科博士研究生培养点,计算机应用技术等1个二级学科博士研究生培养点,并设有控制科学与工程等1个一级学科博士后流动站,共有在学研究生722人(其中硕士生273人、博士生449人)。在站博士后81人。 

  自动化所长期坚持“智能科学与技术”研究,在生物特征识别、机器学习、视觉计算、自然语言处理、智能机器人和智能芯片等领域形成了系统的理论方法和体系,并取得丰富的研究成果;已形成从原始创新、核心关键技术研发到技术转移转化的智能技术生态,正在迈入国际上智能科学与技术领域具有重要影响的战略高技术研究机构。

   近年来,自动化所共获得省部级以上奖励30余项。发表论文数量逐年增加,质量不断提高;专利申请和授权量连年攀升,多年位居北京市科研系统前十名。绘制的“脑网络组图谱”第一次建立了宏观尺度上的活体全脑连接图谱,获得国际同行的广泛关注和好评;量化神经处理器(QNPU)通过自主创新的架构设计和神经网络优化技术,首次在资源受限的芯片上实现了大规模深度神经网络的独立计算,处于业界领先水平。生物特征识别技术实现了从中距离到远距离的可识别生物特征信息(虹膜-人脸-步态)全覆盖,研制成功一系列自主知识产权的远距离虹膜人脸多模态身份识别产品,在国家重要安全领域推广应用,相关技术入选2018年度“十大技术突破”;音智能处理整体解决方案已经受过大规模实际应用检验,系统接口已成为行业标准;基于自动化所语音识别技术的“紫冬语音云”在淘宝、来往等阿里巴巴旗下移动客户端产品中得到推广;“分子影像手术导航系统”通过国家药监局医疗器械安全性及有效性检测认证并进入临床应用;“仿生机器鱼高效与高机动控制的理论与方法”获得2017年度国家自然科学奖二等奖,研制的机器海豚实现了1.5倍体长的最高直线游速,并在国际上首次实现了机器海豚完全跃出水面;“智能视频监控技术”和“人脸识别技术”分别成功应用于2008年北京奥运会、2010年上海世博会的安保工作中,为社会安全贡献自己的力量;研制的AI程序“CASIA-先知1.0”采用知识和数据混合驱动的体系架构,在2017首届全国兵棋推演大赛总决赛中71的悬殊比分战胜人类顶级选手,展示了人工智能技术在博弈对抗领域的强大实力;与中国日报社合作构建“全球媒体云”综合平台,受到广泛好评;研制的电子光学玻璃印刷全自动AOI智能检测设备,可全面监控丝印关键制程品质情况,实现整个丝印工艺的全自动化生产,该技术一举填补了电子玻璃行业空白;“基于ACP方法的石化企业智能管理系统及应用”先后应用于茂名石化、齐鲁石化,为实现企业生产管理的精细化提供了有效的工具,并荣获“中国石油与化工自动化行业科技进步一等奖”……  

  新的征程上,中国科学院自动化研究所努力创建规范高效、民主和谐、环境优美、具有强大科技创新和可持续发展能力的国际知名的国家研究所,为我国科技事业的发展、为全面建设小康社会做出新的更大的贡献! 

【CVPR2020】时序分组注意力视频超分
专知会员服务
30+阅读 · 2020年7月1日
少标签数据学习,54页ppt
专知会员服务
198+阅读 · 2020年5月22日
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
73+阅读 · 2019年10月19日
竞赛方案|VideoNet视频内容识别挑战赛
极市平台
14+阅读 · 2019年9月8日
【紫冬分享】自动化所团队获PRCV2018 美图短视频实时分类挑战赛冠军
中国科学院自动化研究所
10+阅读 · 2018年11月30日
西电智能学子斩获ECCV2018无人机视频分析挑战赛单赛道冠军
中国人工智能学会
3+阅读 · 2018年8月6日
Advances and Open Problems in Federated Learning
Arxiv
18+阅读 · 2019年12月10日
Arxiv
4+阅读 · 2018年1月19日
VIP会员
相关VIP内容
【CVPR2020】时序分组注意力视频超分
专知会员服务
30+阅读 · 2020年7月1日
少标签数据学习,54页ppt
专知会员服务
198+阅读 · 2020年5月22日
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
73+阅读 · 2019年10月19日
Top
微信扫码咨询专知VIP会员