人工智能创新启示录:技术前沿
上QQ阅读APP看书,第一时间看更新

1.2 计算机视觉技术前沿

1.2.1 从感知到认知:全面构建“视觉+”智能体系

* 关键词:计算机视觉 感知视觉 认知视觉

* 作 者:苏舟 胡平 蔡东琪 王山东 姚安邦 郭怡文 李建国 侯宇清 陈玉荣

人工智能的发展包含了人们对于未来人工智能太多的渴望和诉求。一直以来,自动捕捉、识别乃至理解人类的情感,都是人工智能领域中一项意义非凡却极具挑战的技术。而如今,情感识别在机器人、动画制作、在线教育、精神疾病诊治等领域有着广阔的应用前景。同时,深度学习技术的崛起更是推动着计算机视觉实现从感知到认知的跨越式发展。

2017年7月26日,在计算机视觉顶级会议CVPR 2017上,ImageNet大规模视觉识别挑战赛正式宣布结束。这标志着一个时代的终结:图像识别的错误率已经降低到2.3%,远低于人类的5.1%。但这同时也意味着一个新时代的开启:计算机视觉的重点将由感知转向认知,更加侧重对视觉内容的学习和理解。

目前,英特尔中国研究院正全面在视觉认知计算领域发力,从二维/三维人脸分析与情感识别合成、深度网络结构设计和压缩、视觉内容解析与多模态分析三个方向,构建一个以视觉为中心的智能体系。

1. 二维/三维人脸分析与情感识别

基于多年研究,英特尔中国研究院开发了一整套领先的二维人脸分析技术,包括人脸检测跟踪、人脸关键点检测跟踪、人脸识别,以及人的表情、性别、年龄识别等。这套技术具有十余项自主知识产权,并被成功地应用到英特尔的硬件(英特尔集成显卡)、软件(英特尔实感技术SDK)、应用(视频实时美颜)以及解决方案(物联网视频分析端到端解决方案)中,帮助提升英特尔架构的用户体验。

2. 自然场景下的聚合监督情感识别算法

Gartner曾预测,情感分析作为一个分裂性的消费市场将在未来5~10年成熟,且市场规模将高达320亿美元。数据、算法和计算能力的繁荣发展与融合点燃了人工智能,催生了深度学习技术的迅速崛起,奠定了深度卷积神经网络在诸多计算机视觉任务中的统治地位。经过多年发展,深度卷积神经网络在情感识别方面已经获得了全面领先的性能。

然而,在情感识别领域,绝大多数的方法依然是将时下主流的深度卷积神经网络直接迁移到情感识别的任务中。神经网络结构的加宽加深,可以有效提高识别的准确率,但由于只引入了输出层的监督信号,因此模型的训练效率受到很大限制。

英特尔中国研究院提出了SSE(Supervised Scoring Ensemble,监督分数集成)深度卷积神经网络,使用了两个独特设计:聚合监督信号的引入和分数连接结构,将识别准确率提高到60.34%,超过了目前所有的公开结果。聚合监督表情识别模型如图1-9所示。

图1-9 聚合监督表情识别模型

首先,在网络的浅层、中间层和深层设计中,英特尔中国研究院设计了监督块(见图1-10),分别命名为SS_Block、IS_Block、DS_Block,将监督信号引入除输出层外的隐藏层。

图1-10 监督块

其次,设计了分数连接层(见图1-11),将不同监督块的预测概率进行概率分数的融合,使监督信号能有效地在不同的块中发挥作用。

至此,SSE深度卷积神经网络——一种高精度的深度卷积神经网络情感识别解决方案诞生了。相关论文发表在2017年度的ACM ICMI国际会议上,与论文相关的源代码也在逐步开源中。

*图1-11 分数连接层

注:本书中带*的图、表详见彩色版。

3. 渐进式网络量化模型

英特尔中国研究院提出了一种名为INQ(Incremental Network Quantization,渐进式网络量化)的神经网络无损低比特量化技术。给定任意结构的全精度浮点神经网络模型(如AlexNet、VGGNet、GoogLeNet和ResNet),INQ技术能高效地将其转换成无损的低比特二进制模型,从而很好地解决现有神经网络量化压缩方法的不足,为深度神经网络在定制化硬件上的部署、加速等开辟新途径。

研究人员此前已经提出了很多神经网络量化压缩方法,但现有方法存在两方面的应用瓶颈:其一,来自量化压缩过程的模型精度损失依然不可忽视,在一定程度上限制了量化后模型的使用接受程度;其二,大多数量化压缩方法仅适用于处理特定的模型结构或者特定类别的层,在一定程度上限制了方法的泛化能力和量化压缩的性能。

英特尔中国研究院提出的INQ技术,极其有效地解决了现有方法泛化能力不足、模型精度损失明显,以及重训练时间长等问题。

INQ技术提出了渐进式神经网络量化的思想,其核心是引入参数分组、量化和重训练这3种操作。首先,将全精度浮点神经网络模型中的每一层参数分为两组,第一组中的参数将被直接量化并固定,而另一组中的参数将通过重训练以补偿量化给模型造成的精度损失。然后,上述3种操作将依次迭代应用到完成重训练后的全精度浮点参数部分,直到模型完全量化为止,如图1-12所示。通过巧妙耦合参数分组、量化和重训练操作,INQ技术降低了模型量化造成的性能损失,从而在实际应用中适用于任意结构的神经网络模型。

*图1-12 INQ技术(绿线代表当前已经被量化的网络连接;蓝线代表需要重新训练的网络连接)

值得一提的是,INQ技术还包含另外两个亮点。其一,在模型量化过程中,所有参数被限制成二进制表示,并包含零值,极限量化的结果即为三值网络或二值网络。这种量化使得最后的模型非常适合在硬件上部署和加速。比如在FPGA(Field Programmable Gate Array,现场可编程门阵列)上,复杂的全精度浮点乘法运算将被直接替换为简单的移位操作。其二,现有神经网络量化压缩方法在处理二值网络或三值网络时,为了让模型精度损失不至于太大,往往将模型的第一层和最后一层参数依然保留为全精度浮点型,在对模型的所有参数进行量化的同时,实现了性能的全面领先。图1-13所示为INQ技术示例。

*图1-13 INQ技术示例

第一行:依次为参数分组、量化与重训练。

第二行:迭代过程(绿色区域代表当前已经被量化的网络参数;浅紫色区域代表需要重训练的网络参数)。

基于业界具有挑战性的ImageNet图像分类任务,英特尔中国研究院的研究人员给出了一系列令人激动的实验应用与结果,具体见表1-4至表1-6。

表1-4 固定比特长度、参数二进制化的神经网络模型性能

表1-5 不同比特长度、参数二进制化的神经网络模型性能

表1-6 二值、三值神经网络模型性能比较

首先,英特尔中国研究院的研究人员将INQ技术应用到了时下所有的主流深度神经网络模型上。以AlexNet、VGGNet、GoogLeNet和ResNet为例,通过5bit量化(其中1bit专用于表示零值,下同),模型分类精度全面超越了原始的全精度浮点模型。以ResNet-18为例,在4bit和3bit条件下,INQ技术能够做到无损量化。尽管在三值量化时,量化后的模型精度有少许损失,但损失程度远低于目前业界已知的结果。

其次,研究人员将INQ技术与之前英特尔中国研究院发表在NIPS2016上的“DNS”(Dynamic Network Surgery,动态外科手术)技术相结合,实现了深度神经网络二进制量化压缩。以AlexNet为例,英特尔中国研究院首次实现了接近无损的、百倍级、二进制的神经网络模型,如表1-7所示。

表1-7 深度参数二进制化的神经网络模型性能(P:剪枝;Q:量化;H:霍夫曼码)

最后,研究人员进一步将INQ技术从只量化模型参数推广到了不但量化模型参数,而且量化模型每一层的输入和输出。以VGGNet为例,首次实现了无损的、低比特、全量化的神经网络模型,如表1-8所示。

表1-8 输入、输出及参数均二进制化的神经网络模型性能

涉及该方法的相关论文发表在ICLR 2017上。ICLR作为深度学习领域的顶级会议,获准发表的论文都会得到业内人士的极大关注,从而对深度学习的发展产生相当大的推动作用。据不完全统计,在ICLR 2017接收的196篇论文中,英特尔中国研究院的INQ技术是唯一一项完全出自我国的研究工作成果。

4. 视觉内容解析与多模态分析

在计算机“能看”“会说”之后,我们就希望它能够打通视觉和语言的边界,“说出所看”。对人而言,用一句话描述一张图片或一段视频是很简单的任务,但对计算机而言,这不仅要求它能够准确检测、识别出图像中的物体,还要深入理解物体之间的关系,提取出最关键的内容,甚至包含图像的抽象概念。

(1)弱监督视频密集描述生成模型

近年来,如何自动生成视频描述引起了研究人员的广泛兴趣。我们希望计算机在看到一段视频的时候,可以根据视频的内容“讲故事”,弱监督视频密集描述生成模型如图1-14所示。但是,视频密集描述生成模型的训练通常需要大量复杂的并且带有一定主观性的人工标注。在目前的数据集构建过程中,标注人员会在看过一段视频之后,用一句话描述视频的内容。但是,一段视频中通常会发生几个不同的事件,而由于标注人员具有一定的主观性,因此既不知道他的描述具体针对哪个事件,也不知道他所描述的事件对应不同帧上的哪一个区域。现有方法的局限在于:或者认为一段视频当中只发生了一件事,只需要生成一句描述;或者需要训练标注人员对视频中的不同事件以及事件对应的不同区域进行详细的标注。这些都给视频的标注工作和结果评估带来了巨大的困难。

图1-14 弱监督视频密集描述生成模型

针对上述问题,英特尔中国研究院联合复旦大学率先提出了弱监督视频密集描述生成的方法,其不需要训练数据对视频中的不同事件和对应区域进行分别标注,而仅仅使用标注人员对视频的一句话描述,就可以自动生成多角度的视频描述,并从中挑选出最具代表性的描述语句。这样,计算机就不用人“手把手教”,而是可以做到“举一反三”,如图1-15所示。

图1-15 FCN单词模型生成视频区域序列到单词的弱映射

这个模型分为以下3个部分。

首先,在提取视频特征时,采用了FCN单词模型,使用MIML(Multi-Instance Multi-Label Learning,弱监督多实例多标签学习)算法,构建一个从视频区域序列到单词的弱映射,从而得到一个包含语义信息的视频特征。

从图1-16可以看出,虽然训练数据并没有提供每个单词对应视频帧的位置,但模型还是可以捕捉到视频在不同帧中对单词响应最大的区域。

图1-16 视频特征语义响应

其次,生成视频区域序列时,采用子模块最大化方案,根据FCN单词模型的输出,在视频中自动生成具有多样性的区域序列。这种方法可以保证区域序列具有一定的信息量,在不同帧的区域选择上具有内容一致性,还能够最大限度地保留区域序列之间的差,如图1-17所示。

图1-17 区域序列生成

最后,根据已生成的视频区域序列,使用双向LSTM(Long Short Term Memory,长短期记忆)模型生成对应的描述语句。在已生成的多个语句中,通过计算语句的信息量得分,可以从中挑选出最具有整体代表性的语句描述。从实验结果可以看出,自动生成的语句具有内容上的多样性,如图1-18所示。即使只衡量视频的单个描述结果,语句质量依然优于其他模型。

图1-18 描述结果语义多样性展示

弱监督视频密集描述生成方法提供了在视频训练数据对区域标注不完整的情况下,计算机自动获取并从多角度生成语义丰富的视频描述的解决方案(见图1-19),也将机器的视觉理解向着更少人工、更全面理解的方向推进了一步。相关论文发表在CVPR 2017上。

图1-19 弱监督视频密集描述生成结果展示

(2)级联优化网络高清实景合成

目前,多数图像生成模型是利用GAN(Generative Adversarial Networks,生成式对抗网络)结构来实现的,但这种方法有其弱点,主要表现在以下3个方面:图像尺寸受限、图像不够逼真、训练困难。针对上述问题,美国斯坦福大学的陈启峰和英特尔中国研究院的科学家弗拉德连·科尔通(Vladlen Koltun)合作,率先提出了级联优化网络模型,端到端地训练从语义分割草图到高清实景的前馈网络(CRN)。CRN结构将语义分割草图看作图像的草稿,通过一连串多尺度的优化模块,还原或描绘出含有丰富细节的真实图像。

优秀的图像生成模型需满足以下3个特点。

第一,全局协调性。图像中物体的结构往往并不是独立存在的,而是可能具有一定的对称性。

第二,高分辨率。为了实现照片级的效果,模型必须有能力生成高分辨率的图像。

第三,记忆能力。人类在通过草图来复现场景的时候,会以记忆中的真实图景作为参考。

同样的,图像生成模型也要有足够大的容量和足够高的记忆能力来恢复草图中缺失的真实场景的细节,如图1-20所示。

图1-20 级联优化网络高清实景合成

为了使模型满足上述3个特点,设计了一个由多分辨率倍增模块组成的级联网络。第一个模块M0只输入一个分辨率缩小到4×8的语义分割草图。接下来的优化模块的输入来自两个部分:上一层的要素图层Fi-1和缩小到相同分辨率大小的语义分割草图。每一次输出的Fi分辨率的长和宽都是这一次输入的Fi-1的两倍,如图1-21和图1-22所示。

图1-21 级联优化网络

图1-22 单个级联优化模块

这样的级联优化结构具有以下3个优势。

第一,在CRN早期的优化模块中,大范围特征是通过相近范围的参数来表示的,在其后分辨率逐渐增加的时候,全局的协调性可以得到保留。

第二,相比于GAN通常只能生成小图像,无法实现端到端训练,CRN通过控制优化模块串接的数量,可以不断得到更高分辨率的生成图像,并且做到端到端的训练。论文中最多实现了200万像素(1024×2048)的图像生成。

第三,CRN可以通过增加优化模块来增加网络容量,进而提高图像质量。

在实验部分,图像生成较好的评价标准就是人工比较。在Cityscapes和NYU两个数据集上,CRN和其他算法分别生成两个图像,由人来判断哪个图像更有可能是真实的。如果两种算法生成的图像质量相同,那么人判断CRN更真实的概率应该是50%。实验结果表明,CRN的生成结果极大地优于其他算法。

从生成的图像来看,CRN的结果更平滑、物体更清晰、细节更丰富。美国康奈尔大学的诺厄·斯内夫利(Noah Snavely)曾评价说,这是他见过的最大、最详细的人工生成场景。而这样逼真的图像结果,所需要的训练样本仅仅分别为3000个(Cityscapes)和1200个(NYU),如表1-9和图1-23所示。

表1-9 各种算法生成图像真实度的人工比较结果

图1-23 图像生成结果展示

这篇论文被国际计算机视觉顶级会议ICCV 2017收录,并被邀请在会议上做口头报告。相应的源代码也在一段时间内登顶了GitHub热门项目Python排行榜。未来这项工作可能被应用于构建虚拟现实场景,比如渲染视频游戏等多个领域。

5. 总结

人类目前在计算机视觉领域所取得的成功,很大程度上得益于大规模的数据、高效的算法和强大的计算能力。为了推动人工智能创新,英特尔进行了战略投资,其中涵盖技术、研发以及与企业、政府、学术界和社会团体的合作。除了主流的人工智能研究之外,英特尔还研究神经形态计算,探索新的架构和学习模式。人工智能解决方案需要各种能力和性能以满足应用需求,英特尔提供的人工智能平台将以优异的性能表现、集成能力、安全性和可靠性来优化人工智能产业的发展路径。

英特尔的产品可以支持广泛的人工智能研发,主要包括以下4个方面。

第一,英特尔®至强®可扩展处理器系列——为不断演进的人工智能应用提供高度可扩展的处理器,并为最密集的深度学习训练提供代号为Lake Crest的专用芯片。

第二,英特尔®Mobileye——用于主动安全和无人驾驶等专门用途的视觉技术。

第三,英特尔FPGA——用于深度学习推理的可编程加速器。

第四,英特尔®Movidius——在边缘提供机器学习的低功耗视觉技术。

人工智能尚处于初级阶段,随着其不断发展,英特尔将继续推进计算领域的颠覆性方案研发,以支持当今和未来的复杂应用需求。然而,我们面临的挑战依然严峻:虽然网络上存在海量的图片和视频,但其中带有标签且可供训练的数据还远远不够;当前能够在限制条件和场景中表现优异的模型,在复杂的自然环境下往往面临鲁棒性、有效性、实时性的挑战;数据规模和模型容量的增长,也对人工智能处理器或嵌入式人工智能提出了新的需求。

现在的人工智能如同蹒跚学步的孩童,等待着科学家的进一步“启蒙”。我们相信,未来将被创造,计算机可以真正看懂这个世界,成为人类得力的队友。